Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

"Curly quotes" can prevent users from easily leaving group #2479

Open
dotmacro opened this issue Dec 23, 2024 · 2 comments
Open

"Curly quotes" can prevent users from easily leaving group #2479

dotmacro opened this issue Dec 23, 2024 · 2 comments

Comments

@dotmacro
Copy link
Member

dotmacro commented Dec 23, 2024

Problem

The UI displays quotation marks as "smart quotes" aka "curly quotes". This itself is good and not a problem.

When the user tries to leave a group whose name includes quotation marks, the user cannot easily leave because the groupName will use curly quotes but the user's input will not yet be converted to curly quotes.

image

The user can get around this by copy-pasting the quote from the UI, but that's poor UX
image

NOTE: This is not an issue with non-standard characters as a whole because a user can leave an emoji-named group with no trouble
image

Solution

For the "Leave Group" modal, revert any curly quotes to neutral aka typewriter aka ASCII quotes.
If there is any other similar auto-processing of the characters in groupName, revert it for the "Leave Group" modal.

@corrideat
Copy link
Member

I'd say that technically the ' shouldn't be converted to in that case, since U+0027 ' APOSTROPHE is the right Unicode character for an apostrophe and U+2019 ’ RIGHT SINGLE QUOTATION MARK is a quotation mark, but in practice they're used interchangeably.

@corrideat
Copy link
Member

corrideat commented Dec 26, 2024

However, if the code isn't already doing this, string comparison should (also) use String.prototype.normalize() to compare, because equivalent Unicode sequences can have different representations. For example, 'Amélie' !== 'Amélie'

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants