Browse Source

Remove trailing variation selector code for legacy emojis (#37320)

pull/1371/head
Echo 3 months ago committed by Misty De Meo
parent
commit
5860f9f4b3
No known key found for this signature in database
GPG Key ID: 76CF846A2F674B2C
  1. 1
      app/javascript/mastodon/features/emoji/normalize.test.ts
  2. 6
      app/javascript/mastodon/features/emoji/normalize.ts

1
app/javascript/mastodon/features/emoji/normalize.test.ts

@ -33,6 +33,7 @@ describe('emojiToUnicodeHex', () => {
['⚫', '26AB'],
['🖤', '1F5A4'],
['💀', '1F480'],
['❤', '2764'], // Checks for trailing variation selector removal.
['💂', '1F482-200D-2642-FE0F'],
] as const)(
'emojiToUnicodeHex converts %s to %s',

6
app/javascript/mastodon/features/emoji/normalize.ts

@ -30,6 +30,12 @@ export function emojiToUnicodeHex(emoji: string): string {
codes.push(code);
}
}
// Handles how Emojibase removes the variation selector for single code emojis.
// See: https://emojibase.dev/docs/spec/#merged-variation-selectors
if (codes.at(1) === VARIATION_SELECTOR_CODE && codes.length === 2) {
codes.pop();
}
return hexNumbersToString(codes);
}

Loading…
Cancel
Save