You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
When using certain emojis (e.g. 😂 via Windows + . ) in a note, the note can no longer be changed and always reverts back to the moment the emoji was written.
Steps to reproduce:
Write Text "This is a beautiful day"
Add Emoji (tested via Windows + . ) "😂"
Text now Reads "This is a beautiful day 😂". Try to write something new (e.g. "No! This day is awful.")
Text gets reverted to "This is a beautiful day 😂"
Try to delete the message
Text gets reverted to "This is a beautiful day 😂"
Note: ☠️ works fine, and 🦖 behaves differently, by deleting more parts of the text and does not break the notes.
The text was updated successfully, but these errors were encountered:
We also encountered this bug during testing and it should already be fixed on version 2024.40. Could you please check if you are using the latest version or an older version. Please let us know if the bug persists for some emojis on the latest version.
The problem is that JavaScript (used in frontend) and Python (used in backend) handle unicode characters in strings differently. JS handles strings internally as UTF-16 while Python uses UTF-32. The impact of the discrepancy is that strings containing unicode characters have different string lengths in frontend and backend. This breaks string indexing and slicing for collaborative editing, since text change positions are transmitted as string indices. We tried to solve the problem by calculating string positions in the backend like JS does.
When using certain emojis (e.g. 😂 via Windows + . ) in a note, the note can no longer be changed and always reverts back to the moment the emoji was written.
Steps to reproduce:
Note: ☠️ works fine, and 🦖 behaves differently, by deleting more parts of the text and does not break the notes.
The text was updated successfully, but these errors were encountered: