summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorかっこかり <67428053+kakkokari-gtyih@users.noreply.github.com>2025-09-16 11:53:20 +0900
committerGitHub <noreply@github.com>2025-09-16 11:53:20 +0900
commite504560477db3faec94ee0ecceb10fd3b8b7816c (patch)
treee6ea9069f8a2a935de3e0be9781787beec0ba4d8
parentenhance(backend): 初期設定をスキップした場合の初期状態ポ... (diff)
downloadmisskey-e504560477db3faec94ee0ecceb10fd3b8b7816c.tar.gz
misskey-e504560477db3faec94ee0ecceb10fd3b8b7816c.tar.bz2
misskey-e504560477db3faec94ee0ecceb10fd3b8b7816c.zip
fix: サーバー設定によりコンテンツの閲覧が制限されている場合のメッセージを区別するように (#16527)
-rw-r--r--packages/backend/src/server/api/endpoints/notes/show.ts20
-rw-r--r--packages/frontend/src/pages/note.vue4
2 files changed, 15 insertions, 9 deletions
diff --git a/packages/backend/src/server/api/endpoints/notes/show.ts b/packages/backend/src/server/api/endpoints/notes/show.ts
index cae0e752da..a41de25ddf 100644
--- a/packages/backend/src/server/api/endpoints/notes/show.ts
+++ b/packages/backend/src/server/api/endpoints/notes/show.ts
@@ -29,10 +29,16 @@ export const meta = {
id: '24fcbfc6-2e37-42b6-8388-c29b3861a08d',
},
- signinRequired: {
- message: 'Signin required.',
- code: 'SIGNIN_REQUIRED',
- id: '8e75455b-738c-471d-9f80-62693f33372e',
+ contentRestrictedByUser: {
+ message: 'Content restricted by user. Please sign in to view.',
+ code: 'CONTENT_RESTRICTED_BY_USER',
+ id: 'fbcc002d-37d9-4944-a6b0-d9e29f2d33ab',
+ },
+
+ contentRestrictedByServer: {
+ message: 'Content restricted by server settings. Please sign in to view.',
+ code: 'CONTENT_RESTRICTED_BY_SERVER',
+ id: '145f88d2-b03d-4087-8143-a78928883c4b',
},
},
} as const;
@@ -61,15 +67,15 @@ export default class extends Endpoint<typeof meta, typeof paramDef> { // eslint-
});
if (note.user!.requireSigninToViewContents && me == null) {
- throw new ApiError(meta.errors.signinRequired);
+ throw new ApiError(meta.errors.contentRestrictedByUser);
}
if (this.serverSettings.ugcVisibilityForVisitor === 'none' && me == null) {
- throw new ApiError(meta.errors.signinRequired);
+ throw new ApiError(meta.errors.contentRestrictedByServer);
}
if (this.serverSettings.ugcVisibilityForVisitor === 'local' && note.userHost != null && me == null) {
- throw new ApiError(meta.errors.signinRequired);
+ throw new ApiError(meta.errors.contentRestrictedByServer);
}
return await this.noteEntityService.pack(note, me, {
diff --git a/packages/frontend/src/pages/note.vue b/packages/frontend/src/pages/note.vue
index abd2a5d8a1..c93ec4272a 100644
--- a/packages/frontend/src/pages/note.vue
+++ b/packages/frontend/src/pages/note.vue
@@ -136,10 +136,10 @@ function fetchNote() {
});
}
}).catch(err => {
- if (err.id === '8e75455b-738c-471d-9f80-62693f33372e') {
+ if (['fbcc002d-37d9-4944-a6b0-d9e29f2d33ab', '145f88d2-b03d-4087-8143-a78928883c4b'].includes(err.id)) {
pleaseLogin({
path: '/',
- message: i18n.ts.thisContentsAreMarkedAsSigninRequiredByAuthor,
+ message: err.id === 'fbcc002d-37d9-4944-a6b0-d9e29f2d33ab' ? i18n.ts.thisContentsAreMarkedAsSigninRequiredByAuthor : i18n.ts.signinOrContinueOnRemote,
openOnRemote: {
type: 'lookup',
url: `https://${host}/notes/${props.noteId}`,