Fix #5984
This commit is contained in:
		
							parent
							
								
									883fc5dde0
								
							
						
					
					
						commit
						b23b3e4d21
					
				
					 2 changed files with 24 additions and 2 deletions
				
			
		|  | @ -20,6 +20,28 @@ export async function getFallbackReaction(): Promise<string> { | |||
| 	return meta.useStarForReactionFallback ? '⭐' : '👍'; | ||||
| } | ||||
| 
 | ||||
| export function convertLegacyReactions(reactions: Record<string, number>) { | ||||
| 	const _reactions = {} as Record<string, number>; | ||||
| 
 | ||||
| 	for (const reaction of Object.keys(reactions)) { | ||||
| 		if (Object.keys(legacy10).includes(reaction)) { | ||||
| 			if (_reactions[legacy10[reaction]]) { | ||||
| 				_reactions[legacy10[reaction]] += reactions[reaction]; | ||||
| 			} else { | ||||
| 				_reactions[legacy10[reaction]] = reactions[reaction]; | ||||
| 			} | ||||
| 		} else { | ||||
| 			if (_reactions[reaction]) { | ||||
| 				_reactions[reaction] += reactions[reaction]; | ||||
| 			} else { | ||||
| 				_reactions[reaction] = reactions[reaction]; | ||||
| 			} | ||||
| 		} | ||||
| 	} | ||||
| 
 | ||||
| 	return _reactions; | ||||
| } | ||||
| 
 | ||||
| export async function toDbReaction(reaction?: string | null): Promise<string> { | ||||
| 	if (reaction == null) return await getFallbackReaction(); | ||||
| 
 | ||||
|  |  | |||
|  | @ -6,7 +6,7 @@ import { Emojis, Users, PollVotes, DriveFiles, NoteReactions, Followings, Polls | |||
| import { ensure } from '../../prelude/ensure'; | ||||
| import { SchemaType } from '../../misc/schema'; | ||||
| import { awaitAll } from '../../prelude/await-all'; | ||||
| import { convertLegacyReaction } from '../../misc/reaction-lib'; | ||||
| import { convertLegacyReaction, convertLegacyReactions } from '../../misc/reaction-lib'; | ||||
| 
 | ||||
| export type PackedNote = SchemaType<typeof packedNoteSchema>; | ||||
| 
 | ||||
|  | @ -187,7 +187,7 @@ export class NoteRepository extends Repository<Note> { | |||
| 			viaMobile: note.viaMobile || undefined, | ||||
| 			renoteCount: note.renoteCount, | ||||
| 			repliesCount: note.repliesCount, | ||||
| 			reactions: note.reactions, // v12 TODO: convert legacy reaction
 | ||||
| 			reactions: convertLegacyReactions(note.reactions), | ||||
| 			tags: note.tags.length > 0 ? note.tags : undefined, | ||||
| 			emojis: populateEmojis(note.emojis, host, Object.keys(note.reactions)), | ||||
| 			fileIds: note.fileIds, | ||||
|  |  | |||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue