mirror of
https://git.joinsharkey.org/Sharkey/Sharkey.git
synced 2024-11-08 23:33:09 +02:00
fix(backend): 非公開の投稿に対して返信できないように (#12333)
* fix(backend): 非公開の投稿に対して返信できないように * Update CHANGELOG.md * fix: test
This commit is contained in:
parent
3939360e55
commit
aa6d0d4359
3 changed files with 10 additions and 0 deletions
|
@ -34,6 +34,7 @@
|
||||||
- Fix: 投稿通知がオンでもダイレクト投稿はユーザーに通知されないようにされました
|
- Fix: 投稿通知がオンでもダイレクト投稿はユーザーに通知されないようにされました
|
||||||
- Fix: ユーザタイムラインの「ノート」選択時にリノートが混ざり込んでしまうことがある問題の修正 #12306
|
- Fix: ユーザタイムラインの「ノート」選択時にリノートが混ざり込んでしまうことがある問題の修正 #12306
|
||||||
- Fix: ActivityPubに関するセキュリティの向上
|
- Fix: ActivityPubに関するセキュリティの向上
|
||||||
|
- Fix: 非公開の投稿に対して返信できないように
|
||||||
|
|
||||||
## 2023.11.0
|
## 2023.11.0
|
||||||
|
|
||||||
|
|
|
@ -70,6 +70,12 @@ export const meta = {
|
||||||
id: '749ee0f6-d3da-459a-bf02-282e2da4292c',
|
id: '749ee0f6-d3da-459a-bf02-282e2da4292c',
|
||||||
},
|
},
|
||||||
|
|
||||||
|
cannotReplyToInvisibleNote: {
|
||||||
|
message: 'You cannot reply to an invisible Note.',
|
||||||
|
code: 'CANNOT_REPLY_TO_AN_INVISIBLE_NOTE',
|
||||||
|
id: 'b98980fa-3780-406c-a935-b6d0eeee10d1',
|
||||||
|
},
|
||||||
|
|
||||||
cannotReplyToPureRenote: {
|
cannotReplyToPureRenote: {
|
||||||
message: 'You can not reply to a pure Renote.',
|
message: 'You can not reply to a pure Renote.',
|
||||||
code: 'CANNOT_REPLY_TO_A_PURE_RENOTE',
|
code: 'CANNOT_REPLY_TO_A_PURE_RENOTE',
|
||||||
|
@ -276,6 +282,8 @@ export default class extends Endpoint<typeof meta, typeof paramDef> { // eslint-
|
||||||
throw new ApiError(meta.errors.noSuchReplyTarget);
|
throw new ApiError(meta.errors.noSuchReplyTarget);
|
||||||
} else if (isPureRenote(reply)) {
|
} else if (isPureRenote(reply)) {
|
||||||
throw new ApiError(meta.errors.cannotReplyToPureRenote);
|
throw new ApiError(meta.errors.cannotReplyToPureRenote);
|
||||||
|
} else if (!await this.noteEntityService.isVisibleForMe(reply, me.id)) {
|
||||||
|
throw new ApiError(meta.errors.cannotReplyToInvisibleNote);
|
||||||
}
|
}
|
||||||
|
|
||||||
// Check blocking
|
// Check blocking
|
||||||
|
|
|
@ -152,6 +152,7 @@ describe('Timelines', () => {
|
||||||
|
|
||||||
await api('/following/create', { userId: bob.id }, alice);
|
await api('/following/create', { userId: bob.id }, alice);
|
||||||
await api('/following/create', { userId: carol.id }, alice);
|
await api('/following/create', { userId: carol.id }, alice);
|
||||||
|
await api('/following/create', { userId: carol.id }, bob);
|
||||||
await api('/following/update', { userId: bob.id, withReplies: true }, alice);
|
await api('/following/update', { userId: bob.id, withReplies: true }, alice);
|
||||||
await sleep(1000);
|
await sleep(1000);
|
||||||
const carolNote = await post(carol, { text: 'hi', visibility: 'followers' });
|
const carolNote = await post(carol, { text: 'hi', visibility: 'followers' });
|
||||||
|
|
Loading…
Reference in a new issue