JavaScript strings are encoded as UTF-16. When a Unicode character outside of the BMP is part of a string, it is encoded as a surrogate pair. For instance, '🎨' is encoded as '\uD83C\uDFA8', but a for-of loop will treat that as a single character with length 2. In getByteToCharMap, this was not handled, resulting in an incorrect value of charIndex and links being placed at the wrong location in messages.
+1
-1
src/components/UniversalPostRenderer.tsx
+1
-1
src/components/UniversalPostRenderer.tsx