From 41e3a9a004b53fb81f8250d6d0fc369445e69037 Mon Sep 17 00:00:00 2001 From: MeiMei <30769358+mei23@users.noreply.github.com> Date: Wed, 2 Jan 2019 18:07:32 +0900 Subject: Tune AP URL negotiating with Accept (#3824) --- src/server/activitypub.ts | 6 ++++-- src/server/web/index.ts | 28 +++++++++++++++++++++++++++- 2 files changed, 31 insertions(+), 3 deletions(-) (limited to 'src/server') diff --git a/src/server/activitypub.ts b/src/server/activitypub.ts index 42d90ab91f..9adc3dd943 100644 --- a/src/server/activitypub.ts +++ b/src/server/activitypub.ts @@ -83,7 +83,7 @@ router.get('/notes/:note', async (ctx, next) => { } ctx.body = pack(await renderNote(note, false)); - ctx.set('Cache-Control', 'private, max-age=0, must-revalidate'); + ctx.set('Cache-Control', 'public, max-age=180'); setResponseType(ctx); }); @@ -162,7 +162,9 @@ async function userInfo(ctx: Router.IRouterContext, user: IUser) { setResponseType(ctx); } -router.get('/users/:user', async ctx => { +router.get('/users/:user', async (ctx, next) => { + if (!isActivityPubReq(ctx)) return await next(); + if (!ObjectID.isValid(ctx.params.user)) { ctx.status = 404; return; diff --git a/src/server/web/index.ts b/src/server/web/index.ts index 998fd2adf2..59b8390ab5 100644 --- a/src/server/web/index.ts +++ b/src/server/web/index.ts @@ -148,6 +148,27 @@ router.get('/@:user', async (ctx, next) => { } }); +router.get('/users/:user', async ctx => { + if (!ObjectID.isValid(ctx.params.user)) { + ctx.status = 404; + return; + } + + const userId = new ObjectID(ctx.params.user); + + const user = await User.findOne({ + _id: userId, + host: null + }); + + if (user === null) { + ctx.status = 404; + return; + } + + ctx.redirect(`/@${user.username}${ user.host == null ? '' : '@' + user.host}`); +}); + // Note router.get('/notes/:note', async ctx => { if (ObjectID.isValid(ctx.params.note)) { @@ -159,7 +180,12 @@ router.get('/notes/:note', async ctx => { note: _note, summary: getNoteSummary(_note) }); - ctx.set('Cache-Control', 'private, max-age=0, must-revalidate'); + + if (['public', 'home'].includes(note.visibility)) { + ctx.set('Cache-Control', 'public, max-age=180'); + } else { + ctx.set('Cache-Control', 'private, max-age=0, must-revalidate'); + } return; } -- cgit v1.3.1-freya From ebf9cd18c85a8d601941fae5af5a53b6d834346c Mon Sep 17 00:00:00 2001 From: ibrokemypie Date: Fri, 4 Jan 2019 05:02:40 +1100 Subject: Make instance logo customisable (#3829) --- locales/en-US.yml | 1 + src/client/app/admin/views/instance.vue | 4 ++++ src/client/app/desktop/views/pages/welcome.vue | 2 +- src/misc/fetch-meta.ts | 1 + src/models/meta.ts | 1 + src/server/api/endpoints/admin/update-meta.ts | 11 +++++++++++ src/server/api/endpoints/meta.ts | 1 + 7 files changed, 20 insertions(+), 1 deletion(-) (limited to 'src/server') diff --git a/locales/en-US.yml b/locales/en-US.yml index 89f8236c7d..31741af150 100644 --- a/locales/en-US.yml +++ b/locales/en-US.yml @@ -992,6 +992,7 @@ admin/views/instance.vue: instance-name: "Instance name" instance-description: "Instance description" host: "Host" + logo-url: "Logo image URL" banner-url: "Banner image URL" error-image-url: "Error image URL" languages: "Language of this instance" diff --git a/src/client/app/admin/views/instance.vue b/src/client/app/admin/views/instance.vue index 5a29da0345..4e7d59b8eb 100644 --- a/src/client/app/admin/views/instance.vue +++ b/src/client/app/admin/views/instance.vue @@ -6,6 +6,7 @@ {{ $t('host') }} {{ $t('instance-name') }} {{ $t('instance-description') }} + {{ $t('logo-url') }} {{ $t('banner-url') }} {{ $t('error-image-url') }} {{ $t('languages') }}{{ $t('languages-desc') }} @@ -149,6 +150,7 @@ export default Vue.extend({ maintainerEmail: null, disableRegistration: false, disableLocalTimeline: false, + logoUrl: null, bannerUrl: null, errorImageUrl: null, name: null, @@ -196,6 +198,7 @@ export default Vue.extend({ this.maintainerEmail = meta.maintainer.email; this.disableRegistration = meta.disableRegistration; this.disableLocalTimeline = meta.disableLocalTimeline; + this.logoUrl = meta.logoUrl; this.bannerUrl = meta.bannerUrl; this.errorImageUrl = meta.errorImageUrl; this.name = meta.name; @@ -253,6 +256,7 @@ export default Vue.extend({ maintainerEmail: this.maintainerEmail, disableRegistration: this.disableRegistration, disableLocalTimeline: this.disableLocalTimeline, + logoUrl: this.logoUrl, bannerUrl: this.bannerUrl, errorImageUrl: this.errorImageUrl, name: this.name, diff --git a/src/client/app/desktop/views/pages/welcome.vue b/src/client/app/desktop/views/pages/welcome.vue index 8abadf2c69..0aa864546f 100644 --- a/src/client/app/desktop/views/pages/welcome.vue +++ b/src/client/app/desktop/views/pages/welcome.vue @@ -35,7 +35,7 @@ {{ $t('signin') }}

- + diff --git a/src/misc/fetch-meta.ts b/src/misc/fetch-meta.ts index a49e4dbe78..138646e881 100644 --- a/src/misc/fetch-meta.ts +++ b/src/misc/fetch-meta.ts @@ -19,6 +19,7 @@ const defaultMeta: any = { enableExternalUserRecommendation: false, externalUserRecommendationEngine: 'https://vinayaka.distsn.org/cgi-bin/vinayaka-user-match-misskey-api.cgi?{{host}}+{{user}}+{{limit}}+{{offset}}', externalUserRecommendationTimeout: 300000, + logoUrl: '/assets/ai.png', errorImageUrl: 'https://ai.misskey.xyz/aiart/yubitun.png', enableServiceWorker: false }; diff --git a/src/models/meta.ts b/src/models/meta.ts index fd07438a81..b68ec43f15 100644 --- a/src/models/meta.ts +++ b/src/models/meta.ts @@ -185,6 +185,7 @@ export type IMeta = { disableRegistration?: boolean; disableLocalTimeline?: boolean; hidedTags?: string[]; + logoUrl?: string; bannerUrl?: string; errorImageUrl?: string; diff --git a/src/server/api/endpoints/admin/update-meta.ts b/src/server/api/endpoints/admin/update-meta.ts index 6ceb2a98dc..f841927922 100644 --- a/src/server/api/endpoints/admin/update-meta.ts +++ b/src/server/api/endpoints/admin/update-meta.ts @@ -39,6 +39,13 @@ export const meta = { } }, + logoUrl: { + validator: $.str.optional.nullable, + desc: { + 'ja-JP': 'インスタンスロゴ画像のURL' + } + }, + bannerUrl: { validator: $.str.optional.nullable, desc: { @@ -328,6 +335,10 @@ export default define(meta, (ps) => new Promise(async (res, rej) => { set.hidedTags = ps.hidedTags; } + if (ps.logoUrl !== undefined) { + set.logoUrl = ps.logoUrl; + } + if (ps.bannerUrl !== undefined) { set.bannerUrl = ps.bannerUrl; } diff --git a/src/server/api/endpoints/meta.ts b/src/server/api/endpoints/meta.ts index d406f59dc9..641c7728ff 100644 --- a/src/server/api/endpoints/meta.ts +++ b/src/server/api/endpoints/meta.ts @@ -65,6 +65,7 @@ export default define(meta, (ps, me) => new Promise(async (res, rej) => { enableRecaptcha: instance.enableRecaptcha, recaptchaSiteKey: instance.recaptchaSiteKey, swPublickey: instance.swPublicKey, + logoUrl: instance.logoUrl, bannerUrl: instance.bannerUrl, errorImageUrl: instance.errorImageUrl, maxNoteTextLength: instance.maxNoteTextLength, -- cgit v1.3.1-freya From b4b6e9548d05a0313e9ed722a27edb54c9dda8e1 Mon Sep 17 00:00:00 2001 From: syuilo Date: Fri, 4 Jan 2019 03:52:50 +0900 Subject: Rename --- src/client/app/admin/views/instance.vue | 8 ++++---- src/client/app/desktop/views/pages/welcome.vue | 2 +- src/misc/fetch-meta.ts | 2 +- src/models/meta.ts | 2 +- src/server/api/endpoints/admin/update-meta.ts | 8 ++++---- src/server/api/endpoints/meta.ts | 2 +- 6 files changed, 12 insertions(+), 12 deletions(-) (limited to 'src/server') diff --git a/src/client/app/admin/views/instance.vue b/src/client/app/admin/views/instance.vue index 4e7d59b8eb..6fd92a779f 100644 --- a/src/client/app/admin/views/instance.vue +++ b/src/client/app/admin/views/instance.vue @@ -6,7 +6,7 @@ {{ $t('host') }} {{ $t('instance-name') }} {{ $t('instance-description') }} - {{ $t('logo-url') }} + {{ $t('logo-url') }} {{ $t('banner-url') }} {{ $t('error-image-url') }} {{ $t('languages') }}{{ $t('languages-desc') }} @@ -150,7 +150,7 @@ export default Vue.extend({ maintainerEmail: null, disableRegistration: false, disableLocalTimeline: false, - logoUrl: null, + mascotImageUrl: null, bannerUrl: null, errorImageUrl: null, name: null, @@ -198,7 +198,7 @@ export default Vue.extend({ this.maintainerEmail = meta.maintainer.email; this.disableRegistration = meta.disableRegistration; this.disableLocalTimeline = meta.disableLocalTimeline; - this.logoUrl = meta.logoUrl; + this.mascotImageUrl = meta.mascotImageUrl; this.bannerUrl = meta.bannerUrl; this.errorImageUrl = meta.errorImageUrl; this.name = meta.name; @@ -256,7 +256,7 @@ export default Vue.extend({ maintainerEmail: this.maintainerEmail, disableRegistration: this.disableRegistration, disableLocalTimeline: this.disableLocalTimeline, - logoUrl: this.logoUrl, + mascotImageUrl: this.mascotImageUrl, bannerUrl: this.bannerUrl, errorImageUrl: this.errorImageUrl, name: this.name, diff --git a/src/client/app/desktop/views/pages/welcome.vue b/src/client/app/desktop/views/pages/welcome.vue index 0aa864546f..88a11eafa6 100644 --- a/src/client/app/desktop/views/pages/welcome.vue +++ b/src/client/app/desktop/views/pages/welcome.vue @@ -35,7 +35,7 @@

- + diff --git a/src/misc/fetch-meta.ts b/src/misc/fetch-meta.ts index 138646e881..e6488da395 100644 --- a/src/misc/fetch-meta.ts +++ b/src/misc/fetch-meta.ts @@ -19,7 +19,7 @@ const defaultMeta: any = { enableExternalUserRecommendation: false, externalUserRecommendationEngine: 'https://vinayaka.distsn.org/cgi-bin/vinayaka-user-match-misskey-api.cgi?{{host}}+{{user}}+{{limit}}+{{offset}}', externalUserRecommendationTimeout: 300000, - logoUrl: '/assets/ai.png', + mascotImageUrl: '/assets/ai.png', errorImageUrl: 'https://ai.misskey.xyz/aiart/yubitun.png', enableServiceWorker: false }; diff --git a/src/models/meta.ts b/src/models/meta.ts index b68ec43f15..daa7964d6f 100644 --- a/src/models/meta.ts +++ b/src/models/meta.ts @@ -185,7 +185,7 @@ export type IMeta = { disableRegistration?: boolean; disableLocalTimeline?: boolean; hidedTags?: string[]; - logoUrl?: string; + mascotImageUrl?: string; bannerUrl?: string; errorImageUrl?: string; diff --git a/src/server/api/endpoints/admin/update-meta.ts b/src/server/api/endpoints/admin/update-meta.ts index f841927922..cf117ebd71 100644 --- a/src/server/api/endpoints/admin/update-meta.ts +++ b/src/server/api/endpoints/admin/update-meta.ts @@ -39,10 +39,10 @@ export const meta = { } }, - logoUrl: { + mascotImageUrl: { validator: $.str.optional.nullable, desc: { - 'ja-JP': 'インスタンスロゴ画像のURL' + 'ja-JP': 'インスタンスキャラクター画像のURL' } }, @@ -335,8 +335,8 @@ export default define(meta, (ps) => new Promise(async (res, rej) => { set.hidedTags = ps.hidedTags; } - if (ps.logoUrl !== undefined) { - set.logoUrl = ps.logoUrl; + if (ps.mascotImageUrl !== undefined) { + set.mascotImageUrl = ps.mascotImageUrl; } if (ps.bannerUrl !== undefined) { diff --git a/src/server/api/endpoints/meta.ts b/src/server/api/endpoints/meta.ts index 641c7728ff..fa933513b7 100644 --- a/src/server/api/endpoints/meta.ts +++ b/src/server/api/endpoints/meta.ts @@ -65,7 +65,7 @@ export default define(meta, (ps, me) => new Promise(async (res, rej) => { enableRecaptcha: instance.enableRecaptcha, recaptchaSiteKey: instance.recaptchaSiteKey, swPublickey: instance.swPublicKey, - logoUrl: instance.logoUrl, + mascotImageUrl: instance.mascotImageUrl, bannerUrl: instance.bannerUrl, errorImageUrl: instance.errorImageUrl, maxNoteTextLength: instance.maxNoteTextLength, -- cgit v1.3.1-freya From 84ea1fbd4d9087c5c0d0be7e257b33a0df2ee040 Mon Sep 17 00:00:00 2001 From: Aya Morisawa Date: Sat, 5 Jan 2019 10:29:46 +0900 Subject: Fix typo: not -> note https://github.com/syuilo/misskey/commit/1344ffa67dbe74505bd922ac7185a4d41dfdddd7#commitcomment-31817792 --- src/server/api/endpoints/notes/reactions/create.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'src/server') diff --git a/src/server/api/endpoints/notes/reactions/create.ts b/src/server/api/endpoints/notes/reactions/create.ts index c9f70d9658..6c90898250 100644 --- a/src/server/api/endpoints/notes/reactions/create.ts +++ b/src/server/api/endpoints/notes/reactions/create.ts @@ -45,7 +45,7 @@ export default define(meta, (ps, user) => new Promise(async (res, rej) => { } if (note.deletedAt != null) { - return rej('this not is already deleted'); + return rej('this note is already deleted'); } try { -- cgit v1.3.1-freya