summaryrefslogtreecommitdiff
path: root/src/services
diff options
context:
space:
mode:
authorMeiMei <30769358+mei23@users.noreply.github.com>2020-04-13 23:58:38 +0900
committerGitHub <noreply@github.com>2020-04-13 23:58:38 +0900
commit916512fd4713a0a0cf5c46131cb4b41f174228a5 (patch)
tree27467c2f99df09f263b4b53678de1b324b074ae1 /src/services
parentsensitiveではないメディアも非表示にできるように (#6248) (diff)
downloadmisskey-916512fd4713a0a0cf5c46131cb4b41f174228a5.tar.gz
misskey-916512fd4713a0a0cf5c46131cb4b41f174228a5.tar.bz2
misskey-916512fd4713a0a0cf5c46131cb4b41f174228a5.zip
同じリアクション削除を同時に行うとリアクションカウントがおかしくなることがあるのを修正 (#6253)
* Fix #6252 * quote * Use IdentifiableError
Diffstat (limited to 'src/services')
-rw-r--r--src/services/note/reaction/delete.ts6
1 files changed, 5 insertions, 1 deletions
diff --git a/src/services/note/reaction/delete.ts b/src/services/note/reaction/delete.ts
index 620856c2d5..09566e07ba 100644
--- a/src/services/note/reaction/delete.ts
+++ b/src/services/note/reaction/delete.ts
@@ -20,7 +20,11 @@ export default async (user: User, note: Note) => {
}
// Delete reaction
- await NoteReactions.delete(exist.id);
+ const result = await NoteReactions.delete(exist.id);
+
+ if (result.affected !== 1) {
+ throw new IdentifiableError('60527ec9-b4cb-4a88-a6bd-32d3ad26817d', 'not reacted');
+ }
// Decrement reactions count
const sql = `jsonb_set("reactions", '{${exist.reaction}}', (COALESCE("reactions"->>'${exist.reaction}', '0')::int - 1)::text::jsonb)`;