同じリアクション削除を同時に行うとリアクションカウントがおかしくなることがあるのを修正 (#6253)
* Fix #6252 * quote * Use IdentifiableError
This commit is contained in:
		
							parent
							
								
									58d3a37908
								
							
						
					
					
						commit
						916512fd47
					
				
					 1 changed files with 5 additions and 1 deletions
				
			
		| 
						 | 
					@ -20,7 +20,11 @@ export default async (user: User, note: Note) => {
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	// Delete reaction
 | 
						// 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
 | 
						// Decrement reactions count
 | 
				
			||||||
	const sql = `jsonb_set("reactions", '{${exist.reaction}}', (COALESCE("reactions"->>'${exist.reaction}', '0')::int - 1)::text::jsonb)`;
 | 
						const sql = `jsonb_set("reactions", '{${exist.reaction}}', (COALESCE("reactions"->>'${exist.reaction}', '0')::int - 1)::text::jsonb)`;
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue