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

Flag emojis for England, Scotland, and Wales get turned into black flags #22196

Closed
duxovni opened this issue May 14, 2022 · 16 comments · Fixed by matrix-org/matrix-react-sdk#10976
Assignees
Labels
A-Composer A-Emoji A-Timeline O-Occasional Affects or can be seen by some users regularly or most users rarely S-Minor Impairs non-critical functionality or suitable workarounds exist T-Defect

Comments

@duxovni
Copy link
Contributor

duxovni commented May 14, 2022

Steps to reproduce

  1. Start composing a message
  2. Open the emoji picker
  3. Go to the very end of the flags section, where 🏴󠁧󠁢󠁥󠁮󠁧󠁿 🏴󠁧󠁢󠁳󠁣󠁴󠁿 🏴󠁧󠁢󠁷󠁬󠁳󠁿 are
  4. Click one of those emojis

Alternatively:

  1. Start composing a message
  2. Paste in a 🏴󠁧󠁢󠁥󠁮󠁧󠁿, 🏴󠁧󠁢󠁳󠁣󠁴󠁿, or 🏴󠁧󠁢󠁷󠁬󠁳󠁿 emoji from the clipboard

Outcome

What did you expect?

The emoji are displayed properly in the message composer and in the timeline.

What happened instead?

All three of these emoji appear as black flags in the message composer and in the timeline after sending.

It still takes 7 backspace keystrokes to delete them in the composer, which suggests that all of the unicode codepoints are still present, but for some reason only the initial U+1F3F4 Black Flag is displayed, and the remaining codepoints are hidden rather than being combined into the flag properly. The emoji also display properly in "View Source".

I've reproduced this behavior on

  • develop.element.io in Firefox
  • Element Desktop 1.10.11 on NixOS Unstable
  • Element Desktop 1.10.12 on Arch Linux

My guess is this is an unrelated issue from #16884:

  • This is reproducible across platforms and between browser/desktop, while the trans flag is only broken in Arch Linux's Element Desktop package
  • The 🏴󠁧󠁢󠁥󠁮󠁧󠁿 🏴󠁧󠁢󠁳󠁣󠁴󠁿 🏴󠁧󠁢󠁷󠁬󠁳󠁿 emojis display properly in the emoji picker and in View Source, whereas the trans flag in Arch Desktop is broken into its constituent glyphs everywhere.
  • As mentioned, these emoji take 7 backspace keystrokes to delete because the joiner characters aren't being combined properly. The broken trans flag still only takes one keystroke to delete, which suggests it's more an issue around fonts/display.

Operating system

No response

Browser information

No response

URL for webapp

No response

Application version

No response

Homeserver

No response

Will you send logs?

No

@duxovni duxovni added T-Defect S-Minor Impairs non-critical functionality or suitable workarounds exist A-Emoji O-Uncommon Most users are unlikely to come across this or unexpected workflow labels May 14, 2022
@robintown robintown added A-Timeline A-Composer O-Occasional Affects or can be seen by some users regularly or most users rarely and removed O-Uncommon Most users are unlikely to come across this or unexpected workflow labels May 16, 2022
@simpleAndrew
Copy link

Hey there!

Any plans to get this fixed somehow? :)

@Lamby777
Copy link

Hey, I don't know what this project is, so this probably isn't very helpful, but it's worth mentioning since nobody so far has brought up Windows. I found this thread from a Google search when I noticed Flagpedia was showing all the emojis as 2-letter character codes except for England, Scotland, and Wales, which showed up as a black flag. Pretty sure this is a Windows thing, since they refuse to add flag emojis.

image

@Half-Shot
Copy link
Member

I suspect this is due to us splitting emoji's in messages into mx_emoji span tags, and doing a very poor job of complex emoji. https://github.com/matrix-org/matrix-react-sdk/blob/7d0c68aa2922ba6e2d0134ab0999698323bb1f27/src/HtmlUtils.tsx#LL54C1-L57C74 seems to find emoji by regex, and in practice it seems to break things like 🏴󠁧󠁢󠁷󠁬󠁳󠁿. Room previews and the emoji picker actually do render this fine, so the flag isn't broken entirely, it's just the way we process it.

@t3chguy
Copy link
Member

t3chguy commented May 18, 2023

We can probably use lodash's split which has proper grapheme splitting

@Johennes
Copy link
Contributor

Looks like we are already doing that (https://github.com/matrix-org/matrix-react-sdk/blob/7d0c68aa2922ba6e2d0134ab0999698323bb1f27/src/HtmlUtils.tsx#L474) but lodash itself can't properly handle that emoji.

for (const char of split("🏴󠁧󠁢󠁷󠁬󠁳󠁿", "")) {
    console.log(`char: ${char}`)
    console.log(`codepoint: ${char.codePointAt(0).toString(16)}`);
}

...

char: 🏴 
codepoint: 1f3f4 
char: 󠁧 
codepoint: e0067 
char: 󠁢 
codepoint: e0062 
char: 󠁷 
codepoint: e0077 
char: 󠁬 
codepoint: e006c 
char: 󠁳 
codepoint: e0073 
char: 󠁿 
codepoint: e007f

Those are all the the code points in "🏴󠁧󠁢󠁷󠁬󠁳󠁿", just not split correctly.

@justjanne
Copy link
Contributor

Lodash just defers to the JS engine's own String#split method. This in turn has two ways of splitting, into surrogate pairs (bad) or into codepoints (which causes this specific issue).

@t3chguy
Copy link
Member

t3chguy commented May 24, 2023

@justjanne that isn't right, string split breaks all compound emoji - Lodash uses https://github.com/lodash/lodash/blob/master/.internal/unicodeToArray.js#L39

@t3chguy
Copy link
Member

t3chguy commented May 24, 2023

See

image

@justjanne
Copy link
Contributor

Not really, String.split handles compound emoji just fine if you use /(?:)/u as separator. lodash only uses its own unicodeToArray in rare cases.

@t3chguy
Copy link
Member

t3chguy commented May 24, 2023

in rare cases.

Like our case, given we don't pass /(?:)/u as the separator. We fall into the https://github.com/lodash/lodash/blob/master/split.js#L35-L37 unicodeToArray bracket in this emoji handling

@t3chguy
Copy link
Member

t3chguy commented May 24, 2023

/(?:)/u also does the wrong thing, it splits 🇩🇪 to regional D, E marks separately.

image

@Johennes
Copy link
Contributor

Looks like https://github.com/beaugunderson/emoji-aware can split 🏴󠁧󠁢󠁷󠁬󠁳󠁿 properly.

Screenshot 2023-05-24 at 11 51 08

Ironically, their README claims that lodash itself should also do this.

Note: Lodash's toArray (as of 4.0.0) and split (as of 4.9.0) functions now correctly split strings that contain emoji; so if that's all you need to do then Lodash is a great fit.

@justjanne
Copy link
Contributor

Well, it doesn't split 🇩🇪 in my browser, but I can understand why we use lodash's split now (though it's not ideal that we rely on the specific behavior for a specific separator in lodash's split, never been a fan of that)

@t3chguy
Copy link
Member

t3chguy commented May 24, 2023

@justjanne we do document the call sites saying that we're relying on lodash's grapheme handling

@t3chguy
Copy link
Member

t3chguy commented May 24, 2023

Went for grapheme-splitter instead as its already a transitive dependency

image
yarn why v1.22.19
[1/4] 🤔  Why do we have the module "grapheme-splitter"...?
[2/4] 🚚  Initialising dependency graph...
[3/4] 🔍  Finding dependency...
[4/4] 🚡  Calculating file sizes...
=> Found "grapheme-splitter@1.0.4"
info Reasons this module exists
   - "@typescript-eslint#eslint-plugin" depends on it
   - Hoisted from "@typescript-eslint#eslint-plugin#grapheme-splitter"
   - Hoisted from "eslint#grapheme-splitter"
info Disk size without dependencies: "252KB"
info Disk size with unique dependencies: "252KB"
info Disk size with transitive dependencies: "252KB"
info Number of shared dependencies: 0
✨  Done in 0.44s.

@Johennes
Copy link
Contributor

Ah, great! 👍

su-ex added a commit to SchildiChat/element-desktop that referenced this issue Dec 13, 2023
* Redirect to the SSO page if `sso_redirect_options.on_welcome_page` is enabled and the URL hash is empty ([\#25495](element-hq/element-web#25495)). Contributed by @dhenneke.
* vector/index.html: Allow fetching blob urls ([\#25336](element-hq/element-web#25336)). Contributed by @SuperKenVery.
* When joining room in sub-space join the parents too ([\#11011](matrix-org/matrix-react-sdk#11011)).
* Include thread replies in message previews ([\#10631](matrix-org/matrix-react-sdk#10631)). Fixes element-hq/element-web#23920.
* Use semantic headings in space preferences ([\#11021](matrix-org/matrix-react-sdk#11021)). Contributed by @kerryarchibald.
* Use semantic headings in user settings - Ignored users ([\#11006](matrix-org/matrix-react-sdk#11006)). Contributed by @kerryarchibald.
* Use semantic headings in user settings - profile ([\#10973](matrix-org/matrix-react-sdk#10973)). Fixes element-hq/element-web#25461. Contributed by @kerryarchibald.
* Use semantic headings in user settings - account ([\#10972](matrix-org/matrix-react-sdk#10972)). Contributed by @kerryarchibald.
* Support `Insert from iPhone or iPad` in Safari ([\#10851](matrix-org/matrix-react-sdk#10851)). Fixes element-hq/element-web#25327. Contributed by @SuperKenVery.
* Specify supportedStages for User Interactive Auth ([\#10975](matrix-org/matrix-react-sdk#10975)). Fixes element-hq/element-web#19605.
* Pass device id to widgets ([\#10209](matrix-org/matrix-react-sdk#10209)). Contributed by @Fox32.
* Use semantic headings in user settings - discovery ([\#10838](matrix-org/matrix-react-sdk#10838)). Contributed by @kerryarchibald.
* Use semantic headings in user settings -  Notifications ([\#10948](matrix-org/matrix-react-sdk#10948)). Contributed by @kerryarchibald.
* Use semantic headings in user settings - spellcheck and language ([\#10959](matrix-org/matrix-react-sdk#10959)). Contributed by @kerryarchibald.
* Use semantic headings in user settings Appearance ([\#10827](matrix-org/matrix-react-sdk#10827)). Contributed by @kerryarchibald.
* Use semantic heading in user settings Sidebar & Voip ([\#10782](matrix-org/matrix-react-sdk#10782)). Contributed by @kerryarchibald.
* Use semantic headings in user settings Security ([\#10774](matrix-org/matrix-react-sdk#10774)). Contributed by @kerryarchibald.
* Use semantic headings in user settings - integrations and account deletion ([\#10837](matrix-org/matrix-react-sdk#10837)). Fixes element-hq/element-web#25378. Contributed by @kerryarchibald.
* Use semantic headings in user settings Preferences ([\#10794](matrix-org/matrix-react-sdk#10794)). Contributed by @kerryarchibald.
* Use semantic headings in user settings Keyboard ([\#10793](matrix-org/matrix-react-sdk#10793)). Contributed by @kerryarchibald.
* RTE plain text mentions as pills ([\#10852](matrix-org/matrix-react-sdk#10852)). Contributed by @alunturner.
* Allow welcome.html logo to be replaced by config ([\#25339](element-hq/element-web#25339)). Fixes element-hq/element-web#8636.
* Use semantic headings in user settings Labs ([\#10773](matrix-org/matrix-react-sdk#10773)). Contributed by @kerryarchibald.
* Use semantic list elements for menu lists and tab lists ([\#10902](matrix-org/matrix-react-sdk#10902)). Fixes element-hq/element-web#24928.
* Fix aria-required-children axe violation ([\#10900](matrix-org/matrix-react-sdk#10900)). Fixes element-hq/element-web#25342.
* Enable pagination for overlay timelines ([\#10757](matrix-org/matrix-react-sdk#10757)). Fixes vector-im/voip-internal#107.
* Add tooltip to disabled invite button due to lack of permissions ([\#10869](matrix-org/matrix-react-sdk#10869)). Fixes element-hq/element-web#9824.
* Respect configured auth_header_logo_url for default Welcome page ([\#10870](matrix-org/matrix-react-sdk#10870)).
* Specify lazy loading for avatars ([\#10866](matrix-org/matrix-react-sdk#10866)). Fixes element-hq/element-web#1983.
* Room and user mentions for plain text editor ([\#10665](matrix-org/matrix-react-sdk#10665)). Contributed by @alunturner.
* Add audible notifcation on broadcast error ([\#10654](matrix-org/matrix-react-sdk#10654)). Fixes element-hq/element-web#25132.
* Fall back from server generated thumbnail to original image ([\#10853](matrix-org/matrix-react-sdk#10853)).
* Use semantically correct elements for room sublist context menu ([\#10831](matrix-org/matrix-react-sdk#10831)). Fixes vector-im/customer-retainer#46.
* Avoid calling prepareToEncrypt onKeyDown ([\#10828](matrix-org/matrix-react-sdk#10828)).
* Allows search to recognize full room links ([\#8275](matrix-org/matrix-react-sdk#8275)). Contributed by @bolu-tife.
* "Show rooms with unread messages first" should not be on by default for new users ([\#10820](matrix-org/matrix-react-sdk#10820)). Fixes element-hq/element-web#25304. Contributed by @kerryarchibald.
* Fix emitter handler leak in ThreadView ([\#10803](matrix-org/matrix-react-sdk#10803)).
* Add better error for email invites without identity server ([\#10739](matrix-org/matrix-react-sdk#10739)). Fixes element-hq/element-web#16893.
* Move reaction message previews out of labs ([\#10601](matrix-org/matrix-react-sdk#10601)). Fixes element-hq/element-web#25083.
* Sort muted rooms to the bottom of their section of the room list ([\#10592](matrix-org/matrix-react-sdk#10592)). Fixes element-hq/element-web#25131. Contributed by @kerryarchibald.
* Use semantic headings in user settings Help & About ([\#10752](matrix-org/matrix-react-sdk#10752)). Contributed by @kerryarchibald.
* use ExternalLink components for external links ([\#10758](matrix-org/matrix-react-sdk#10758)). Contributed by @kerryarchibald.
* Use semantic headings in space settings ([\#10751](matrix-org/matrix-react-sdk#10751)). Contributed by @kerryarchibald.
* Use semantic headings for room settings content ([\#10734](matrix-org/matrix-react-sdk#10734)). Contributed by @kerryarchibald.
* Use consistent fonts for Japanese text ([\#10980](matrix-org/matrix-react-sdk#10980)). Fixes element-hq/element-web#22333 and element-hq/element-web#23899.
* Fix: server picker validates unselected option ([\#11020](matrix-org/matrix-react-sdk#11020)). Fixes element-hq/element-web#25488. Contributed by @kerryarchibald.
* Fix room list notification badges going missing in compact layout ([\#11022](matrix-org/matrix-react-sdk#11022)). Fixes element-hq/element-web#25372.
* Fix call to `startSingleSignOn` passing enum in place of idpId ([\#10998](matrix-org/matrix-react-sdk#10998)). Fixes element-hq/element-web#24953.
* Remove hover effect from user name on a DM creation UI ([\#10887](matrix-org/matrix-react-sdk#10887)). Fixes element-hq/element-web#25305. Contributed by @luixxiul.
* Fix layout regression in public space invite dialog ([\#11009](matrix-org/matrix-react-sdk#11009)). Fixes element-hq/element-web#25458.
* Fix layout regression in session dropdown ([\#10999](matrix-org/matrix-react-sdk#10999)). Fixes element-hq/element-web#25448.
* Fix spacing regression in user settings - roles & permissions ([\#10993](matrix-org/matrix-react-sdk#10993)). Fixes element-hq/element-web#25447 and element-hq/element-web#25451. Contributed by @kerryarchibald.
* Fall back to receipt timestamp if we have no event (react-sdk part) ([\#10974](matrix-org/matrix-react-sdk#10974)). Fixes element-hq/element-web#10954. Contributed by @andybalaam.
* Fix: Room header 'view your device list' does not link to new session manager ([\#10979](matrix-org/matrix-react-sdk#10979)). Fixes element-hq/element-web#25440. Contributed by @kerryarchibald.
* Fix display of devices without encryption support in Settings dialog ([\#10977](matrix-org/matrix-react-sdk#10977)). Fixes element-hq/element-web#25413.
* Use aria descriptions instead of labels for TextWithTooltip ([\#10952](matrix-org/matrix-react-sdk#10952)). Fixes element-hq/element-web#25398.
* Use grapheme-splitter instead of lodash for saving emoji from being ripped apart ([\#10976](matrix-org/matrix-react-sdk#10976)). Fixes element-hq/element-web#22196.
* Fix: content overflow in settings subsection ([\#10960](matrix-org/matrix-react-sdk#10960)). Fixes element-hq/element-web#25416. Contributed by @kerryarchibald.
* Make `Privacy Notice` external link on integration manager ToS clickable ([\#10914](matrix-org/matrix-react-sdk#10914)). Fixes element-hq/element-web#25384. Contributed by @luixxiul.
* Ensure that open message context menus are updated when the event is sent ([\#10950](matrix-org/matrix-react-sdk#10950)).
* Ensure that open sticker picker dialogs are updated when the widget configuration is updated. ([\#10945](matrix-org/matrix-react-sdk#10945)).
* Fix big emoji in replies ([\#10932](matrix-org/matrix-react-sdk#10932)). Fixes element-hq/element-web#24798.
* Hide empty `MessageActionBar` on message edit history dialog ([\#10447](matrix-org/matrix-react-sdk#10447)). Fixes element-hq/element-web#24903. Contributed by @luixxiul.
* Fix roving tab index getting confused after dragging space order ([\#10901](matrix-org/matrix-react-sdk#10901)).
* Attempt a potential workaround for stuck notifs ([\#3384](matrix-org/matrix-js-sdk#3384)). Fixes element-hq/element-web#25406. Contributed by @andybalaam.
* Update to seshat 3.0.1 ([\element-hq#960](element-hq#960)). Fixes element-hq#959.
* Fix macos update check exploding ([\element-hq#944](element-hq#944)). Fixes element-hq#668.
* Handle trailing dot FQDNs for domain-specific config.json files ([\#25351](element-hq/element-web#25351)). Fixes element-hq/element-web#8858.
* Ignore edits in message previews when they concern messages other than latest ([\#10868](matrix-org/matrix-react-sdk#10868)). Fixes element-hq/element-web#14872.
* Send correct receipts when viewing a room ([\#10864](matrix-org/matrix-react-sdk#10864)). Fixes element-hq/element-web#25196.
* Fix timeline search bar being overlapped by the right panel ([\#10809](matrix-org/matrix-react-sdk#10809)). Fixes element-hq/element-web#25291. Contributed by @luixxiul.
* Fix the state shown for call in rooms ([\#10833](matrix-org/matrix-react-sdk#10833)).
* Add string for membership event where both displayname & avatar change ([\#10880](matrix-org/matrix-react-sdk#10880)). Fixes element-hq/element-web#18026.
* Fix people space notification badge not updating for new DM invites ([\#10849](matrix-org/matrix-react-sdk#10849)). Fixes element-hq/element-web#23248.
* Fix regression in emoji picker order mangling after clearing filter ([\#10854](matrix-org/matrix-react-sdk#10854)). Fixes element-hq/element-web#25323.
* Fix: Edit history modal crash ([\#10834](matrix-org/matrix-react-sdk#10834)). Fixes element-hq/element-web#25309. Contributed by @kerryarchibald.
* Fix long room address and name not being clipped on room info card and update `_RoomSummaryCard.pcss` ([\#10811](matrix-org/matrix-react-sdk#10811)). Fixes element-hq/element-web#25293. Contributed by @luixxiul.
* Treat thumbnail upload failures as complete upload failures ([\#10829](matrix-org/matrix-react-sdk#10829)). Fixes element-hq/element-web#7069.
* Update finite automata to match user identifiers as per spec ([\#10798](matrix-org/matrix-react-sdk#10798)). Fixes element-hq/element-web#25246.
* Fix icon on empty notification panel ([\#10817](matrix-org/matrix-react-sdk#10817)). Fixes element-hq/element-web#25298 and element-hq/element-web#25302. Contributed by @luixxiul.
* Fix: Threads button is highlighted when I create a new room ([\#10819](matrix-org/matrix-react-sdk#10819)). Fixes element-hq/element-web#25284. Contributed by @kerryarchibald.
* Fix the top heading of notification panel ([\#10818](matrix-org/matrix-react-sdk#10818)). Fixes element-hq/element-web#25303. Contributed by @luixxiul.
* Fix the color of the verified E2EE icon on `RoomSummaryCard` ([\#10812](matrix-org/matrix-react-sdk#10812)). Fixes element-hq/element-web#25295. Contributed by @luixxiul.
* Fix: No feedback when waiting for the server on a /delete_devices request with SSO ([\#10795](matrix-org/matrix-react-sdk#10795)). Fixes element-hq/element-web#23096. Contributed by @kerryarchibald.
* Fix: reveal images when image previews are disabled ([\#10781](matrix-org/matrix-react-sdk#10781)). Fixes element-hq/element-web#25271. Contributed by @kerryarchibald.
* Fix accessibility issues around the room list and space panel ([\#10717](matrix-org/matrix-react-sdk#10717)). Fixes element-hq/element-web#13345.
* Ensure tooltip contents is linked via aria to the target element ([\#10729](matrix-org/matrix-react-sdk#10729)). Fixes vector-im/customer-retainer#43.
su-ex added a commit to SchildiChat/element-web that referenced this issue Dec 13, 2023
* Redirect to the SSO page if `sso_redirect_options.on_welcome_page` is enabled and the URL hash is empty ([\element-hq#25495](element-hq#25495)). Contributed by @dhenneke.
* vector/index.html: Allow fetching blob urls ([\element-hq#25336](element-hq#25336)). Contributed by @SuperKenVery.
* When joining room in sub-space join the parents too ([\element-hq#11011](matrix-org/matrix-react-sdk#11011)).
* Include thread replies in message previews ([\element-hq#10631](matrix-org/matrix-react-sdk#10631)). Fixes element-hq#23920.
* Use semantic headings in space preferences ([\element-hq#11021](matrix-org/matrix-react-sdk#11021)). Contributed by @kerryarchibald.
* Use semantic headings in user settings - Ignored users ([\element-hq#11006](matrix-org/matrix-react-sdk#11006)). Contributed by @kerryarchibald.
* Use semantic headings in user settings - profile ([\element-hq#10973](matrix-org/matrix-react-sdk#10973)). Fixes element-hq#25461. Contributed by @kerryarchibald.
* Use semantic headings in user settings - account ([\element-hq#10972](matrix-org/matrix-react-sdk#10972)). Contributed by @kerryarchibald.
* Support `Insert from iPhone or iPad` in Safari ([\element-hq#10851](matrix-org/matrix-react-sdk#10851)). Fixes element-hq#25327. Contributed by @SuperKenVery.
* Specify supportedStages for User Interactive Auth ([\element-hq#10975](matrix-org/matrix-react-sdk#10975)). Fixes element-hq#19605.
* Pass device id to widgets ([\element-hq#10209](matrix-org/matrix-react-sdk#10209)). Contributed by @Fox32.
* Use semantic headings in user settings - discovery ([\element-hq#10838](matrix-org/matrix-react-sdk#10838)). Contributed by @kerryarchibald.
* Use semantic headings in user settings -  Notifications ([\element-hq#10948](matrix-org/matrix-react-sdk#10948)). Contributed by @kerryarchibald.
* Use semantic headings in user settings - spellcheck and language ([\element-hq#10959](matrix-org/matrix-react-sdk#10959)). Contributed by @kerryarchibald.
* Use semantic headings in user settings Appearance ([\element-hq#10827](matrix-org/matrix-react-sdk#10827)). Contributed by @kerryarchibald.
* Use semantic heading in user settings Sidebar & Voip ([\element-hq#10782](matrix-org/matrix-react-sdk#10782)). Contributed by @kerryarchibald.
* Use semantic headings in user settings Security ([\element-hq#10774](matrix-org/matrix-react-sdk#10774)). Contributed by @kerryarchibald.
* Use semantic headings in user settings - integrations and account deletion ([\#10837](matrix-org/matrix-react-sdk#10837)). Fixes element-hq#25378. Contributed by @kerryarchibald.
* Use semantic headings in user settings Preferences ([\element-hq#10794](matrix-org/matrix-react-sdk#10794)). Contributed by @kerryarchibald.
* Use semantic headings in user settings Keyboard ([\element-hq#10793](matrix-org/matrix-react-sdk#10793)). Contributed by @kerryarchibald.
* RTE plain text mentions as pills ([\element-hq#10852](matrix-org/matrix-react-sdk#10852)). Contributed by @alunturner.
* Allow welcome.html logo to be replaced by config ([\element-hq#25339](element-hq#25339)). Fixes element-hq#8636.
* Use semantic headings in user settings Labs ([\element-hq#10773](matrix-org/matrix-react-sdk#10773)). Contributed by @kerryarchibald.
* Use semantic list elements for menu lists and tab lists ([\element-hq#10902](matrix-org/matrix-react-sdk#10902)). Fixes element-hq#24928.
* Fix aria-required-children axe violation ([\element-hq#10900](matrix-org/matrix-react-sdk#10900)). Fixes element-hq#25342.
* Enable pagination for overlay timelines ([\element-hq#10757](matrix-org/matrix-react-sdk#10757)). Fixes vector-im/voip-internal#107.
* Add tooltip to disabled invite button due to lack of permissions ([\element-hq#10869](matrix-org/matrix-react-sdk#10869)). Fixes element-hq#9824.
* Respect configured auth_header_logo_url for default Welcome page ([\element-hq#10870](matrix-org/matrix-react-sdk#10870)).
* Specify lazy loading for avatars ([\element-hq#10866](matrix-org/matrix-react-sdk#10866)). Fixes element-hq#1983.
* Room and user mentions for plain text editor ([\element-hq#10665](matrix-org/matrix-react-sdk#10665)). Contributed by @alunturner.
* Add audible notifcation on broadcast error ([\#10654](matrix-org/matrix-react-sdk#10654)). Fixes element-hq#25132.
* Fall back from server generated thumbnail to original image ([\element-hq#10853](matrix-org/matrix-react-sdk#10853)).
* Use semantically correct elements for room sublist context menu ([\element-hq#10831](matrix-org/matrix-react-sdk#10831)). Fixes vector-im/customer-retainer#46.
* Avoid calling prepareToEncrypt onKeyDown ([\element-hq#10828](matrix-org/matrix-react-sdk#10828)).
* Allows search to recognize full room links ([\element-hq#8275](matrix-org/matrix-react-sdk#8275)). Contributed by @bolu-tife.
* "Show rooms with unread messages first" should not be on by default for new users ([\element-hq#10820](matrix-org/matrix-react-sdk#10820)). Fixes element-hq#25304. Contributed by @kerryarchibald.
* Fix emitter handler leak in ThreadView ([\element-hq#10803](matrix-org/matrix-react-sdk#10803)).
* Add better error for email invites without identity server ([\element-hq#10739](matrix-org/matrix-react-sdk#10739)). Fixes element-hq#16893.
* Move reaction message previews out of labs ([\element-hq#10601](matrix-org/matrix-react-sdk#10601)). Fixes element-hq#25083.
* Sort muted rooms to the bottom of their section of the room list ([\element-hq#10592](matrix-org/matrix-react-sdk#10592)). Fixes element-hq#25131. Contributed by @kerryarchibald.
* Use semantic headings in user settings Help & About ([\element-hq#10752](matrix-org/matrix-react-sdk#10752)). Contributed by @kerryarchibald.
* use ExternalLink components for external links ([\element-hq#10758](matrix-org/matrix-react-sdk#10758)). Contributed by @kerryarchibald.
* Use semantic headings in space settings ([\element-hq#10751](matrix-org/matrix-react-sdk#10751)). Contributed by @kerryarchibald.
* Use semantic headings for room settings content ([\element-hq#10734](matrix-org/matrix-react-sdk#10734)). Contributed by @kerryarchibald.
* Use consistent fonts for Japanese text ([\element-hq#10980](matrix-org/matrix-react-sdk#10980)). Fixes element-hq#22333 and element-hq#23899.
* Fix: server picker validates unselected option ([\element-hq#11020](matrix-org/matrix-react-sdk#11020)). Fixes element-hq#25488. Contributed by @kerryarchibald.
* Fix room list notification badges going missing in compact layout ([\element-hq#11022](matrix-org/matrix-react-sdk#11022)). Fixes element-hq#25372.
* Fix call to `startSingleSignOn` passing enum in place of idpId ([\element-hq#10998](matrix-org/matrix-react-sdk#10998)). Fixes element-hq#24953.
* Remove hover effect from user name on a DM creation UI ([\element-hq#10887](matrix-org/matrix-react-sdk#10887)). Fixes element-hq#25305. Contributed by @luixxiul.
* Fix layout regression in public space invite dialog ([\element-hq#11009](matrix-org/matrix-react-sdk#11009)). Fixes element-hq#25458.
* Fix layout regression in session dropdown ([\element-hq#10999](matrix-org/matrix-react-sdk#10999)). Fixes element-hq#25448.
* Fix spacing regression in user settings - roles & permissions ([\element-hq#10993](matrix-org/matrix-react-sdk#10993)). Fixes element-hq#25447 and element-hq#25451. Contributed by @kerryarchibald.
* Fall back to receipt timestamp if we have no event (react-sdk part) ([\element-hq#10974](matrix-org/matrix-react-sdk#10974)). Fixes element-hq#10954. Contributed by @andybalaam.
* Fix: Room header 'view your device list' does not link to new session manager ([\element-hq#10979](matrix-org/matrix-react-sdk#10979)). Fixes element-hq#25440. Contributed by @kerryarchibald.
* Fix display of devices without encryption support in Settings dialog ([\element-hq#10977](matrix-org/matrix-react-sdk#10977)). Fixes element-hq#25413.
* Use aria descriptions instead of labels for TextWithTooltip ([\element-hq#10952](matrix-org/matrix-react-sdk#10952)). Fixes element-hq#25398.
* Use grapheme-splitter instead of lodash for saving emoji from being ripped apart ([\element-hq#10976](matrix-org/matrix-react-sdk#10976)). Fixes element-hq#22196.
* Fix: content overflow in settings subsection ([\#10960](matrix-org/matrix-react-sdk#10960)). Fixes element-hq#25416. Contributed by @kerryarchibald.
* Make `Privacy Notice` external link on integration manager ToS clickable ([\element-hq#10914](matrix-org/matrix-react-sdk#10914)). Fixes element-hq#25384. Contributed by @luixxiul.
* Ensure that open message context menus are updated when the event is sent ([\element-hq#10950](matrix-org/matrix-react-sdk#10950)).
* Ensure that open sticker picker dialogs are updated when the widget configuration is updated. ([\#10945](matrix-org/matrix-react-sdk#10945)).
* Fix big emoji in replies ([\element-hq#10932](matrix-org/matrix-react-sdk#10932)). Fixes element-hq#24798.
* Hide empty `MessageActionBar` on message edit history dialog ([\element-hq#10447](matrix-org/matrix-react-sdk#10447)). Fixes element-hq#24903. Contributed by @luixxiul.
* Fix roving tab index getting confused after dragging space order ([\element-hq#10901](matrix-org/matrix-react-sdk#10901)).
* Attempt a potential workaround for stuck notifs ([\element-hq#3384](matrix-org/matrix-js-sdk#3384)). Fixes element-hq#25406. Contributed by @andybalaam.
* Handle trailing dot FQDNs for domain-specific config.json files ([\element-hq#25351](element-hq#25351)). Fixes element-hq#8858.
* Ignore edits in message previews when they concern messages other than latest ([\element-hq#10868](matrix-org/matrix-react-sdk#10868)). Fixes element-hq#14872.
* Send correct receipts when viewing a room ([\element-hq#10864](matrix-org/matrix-react-sdk#10864)). Fixes element-hq#25196.
* Fix timeline search bar being overlapped by the right panel ([\element-hq#10809](matrix-org/matrix-react-sdk#10809)). Fixes element-hq#25291. Contributed by @luixxiul.
* Fix the state shown for call in rooms ([\element-hq#10833](matrix-org/matrix-react-sdk#10833)).
* Add string for membership event where both displayname & avatar change ([\element-hq#10880](matrix-org/matrix-react-sdk#10880)). Fixes element-hq#18026.
* Fix people space notification badge not updating for new DM invites ([\element-hq#10849](matrix-org/matrix-react-sdk#10849)). Fixes element-hq#23248.
* Fix regression in emoji picker order mangling after clearing filter ([\element-hq#10854](matrix-org/matrix-react-sdk#10854)). Fixes element-hq#25323.
* Fix: Edit history modal crash ([\#10834](matrix-org/matrix-react-sdk#10834)). Fixes element-hq#25309. Contributed by @kerryarchibald.
* Fix long room address and name not being clipped on room info card and update `_RoomSummaryCard.pcss` ([\element-hq#10811](matrix-org/matrix-react-sdk#10811)). Fixes element-hq#25293. Contributed by @luixxiul.
* Treat thumbnail upload failures as complete upload failures ([\element-hq#10829](matrix-org/matrix-react-sdk#10829)). Fixes element-hq#7069.
* Update finite automata to match user identifiers as per spec ([\#10798](matrix-org/matrix-react-sdk#10798)). Fixes element-hq#25246.
* Fix icon on empty notification panel ([\element-hq#10817](matrix-org/matrix-react-sdk#10817)). Fixes element-hq#25298 and element-hq#25302. Contributed by @luixxiul.
* Fix: Threads button is highlighted when I create a new room ([\element-hq#10819](matrix-org/matrix-react-sdk#10819)). Fixes element-hq#25284. Contributed by @kerryarchibald.
* Fix the top heading of notification panel ([\element-hq#10818](matrix-org/matrix-react-sdk#10818)). Fixes element-hq#25303. Contributed by @luixxiul.
* Fix the color of the verified E2EE icon on `RoomSummaryCard` ([\element-hq#10812](matrix-org/matrix-react-sdk#10812)). Fixes element-hq#25295. Contributed by @luixxiul.
* Fix: No feedback when waiting for the server on a /delete_devices request with SSO ([\element-hq#10795](matrix-org/matrix-react-sdk#10795)). Fixes element-hq#23096. Contributed by @kerryarchibald.
* Fix: reveal images when image previews are disabled ([\element-hq#10781](matrix-org/matrix-react-sdk#10781)). Fixes element-hq#25271. Contributed by @kerryarchibald.
* Fix accessibility issues around the room list and space panel ([\element-hq#10717](matrix-org/matrix-react-sdk#10717)). Fixes element-hq#13345.
* Ensure tooltip contents is linked via aria to the target element ([\#10729](matrix-org/matrix-react-sdk#10729)). Fixes vector-im/customer-retainer#43.
su-ex added a commit to SchildiChat/matrix-react-sdk that referenced this issue Dec 13, 2023
* When joining room in sub-space join the parents too ([\matrix-org#11011](matrix-org#11011)).
* Include thread replies in message previews ([\matrix-org#10631](matrix-org#10631)). Fixes element-hq/element-web#23920.
* Use semantic headings in space preferences ([\matrix-org#11021](matrix-org#11021)). Contributed by @kerryarchibald.
* Use semantic headings in user settings - Ignored users ([\matrix-org#11006](matrix-org#11006)). Contributed by @kerryarchibald.
* Use semantic headings in user settings - profile ([\matrix-org#10973](matrix-org#10973)). Fixes element-hq/element-web#25461. Contributed by @kerryarchibald.
* Use semantic headings in user settings - account ([\matrix-org#10972](matrix-org#10972)). Contributed by @kerryarchibald.
* Support `Insert from iPhone or iPad` in Safari ([\matrix-org#10851](matrix-org#10851)). Fixes element-hq/element-web#25327. Contributed by @SuperKenVery.
* Specify supportedStages for User Interactive Auth ([\matrix-org#10975](matrix-org#10975)). Fixes element-hq/element-web#19605.
* Pass device id to widgets ([\matrix-org#10209](matrix-org#10209)). Contributed by @Fox32.
* Use semantic headings in user settings - discovery ([\matrix-org#10838](matrix-org#10838)). Contributed by @kerryarchibald.
* Use semantic headings in user settings -  Notifications ([\matrix-org#10948](matrix-org#10948)). Contributed by @kerryarchibald.
* Use semantic headings in user settings - spellcheck and language ([\matrix-org#10959](matrix-org#10959)). Contributed by @kerryarchibald.
* Use semantic headings in user settings Appearance ([\matrix-org#10827](matrix-org#10827)). Contributed by @kerryarchibald.
* Use semantic heading in user settings Sidebar & Voip ([\matrix-org#10782](matrix-org#10782)). Contributed by @kerryarchibald.
* Use semantic headings in user settings Security ([\matrix-org#10774](matrix-org#10774)). Contributed by @kerryarchibald.
* Use semantic headings in user settings - integrations and account deletion ([\matrix-org#10837](matrix-org#10837)). Fixes element-hq/element-web#25378. Contributed by @kerryarchibald.
* Use semantic headings in user settings Preferences ([\matrix-org#10794](matrix-org#10794)). Contributed by @kerryarchibald.
* Use semantic headings in user settings Keyboard ([\matrix-org#10793](matrix-org#10793)). Contributed by @kerryarchibald.
* RTE plain text mentions as pills ([\matrix-org#10852](matrix-org#10852)). Contributed by @alunturner.
* Use semantic headings in user settings Labs ([\matrix-org#10773](matrix-org#10773)). Contributed by @kerryarchibald.
* Use semantic list elements for menu lists and tab lists ([\matrix-org#10902](matrix-org#10902)). Fixes element-hq/element-web#24928.
* Fix aria-required-children axe violation ([\matrix-org#10900](matrix-org#10900)). Fixes element-hq/element-web#25342.
* Enable pagination for overlay timelines ([\matrix-org#10757](matrix-org#10757)). Fixes vector-im/voip-internal#107.
* Add tooltip to disabled invite button due to lack of permissions ([\matrix-org#10869](matrix-org#10869)). Fixes element-hq/element-web#9824.
* Respect configured auth_header_logo_url for default Welcome page ([\matrix-org#10870](matrix-org#10870)).
* Specify lazy loading for avatars ([\matrix-org#10866](matrix-org#10866)). Fixes element-hq/element-web#1983.
* Room and user mentions for plain text editor ([\matrix-org#10665](matrix-org#10665)). Contributed by @alunturner.
* Add audible notifcation on broadcast error ([\matrix-org#10654](matrix-org#10654)). Fixes element-hq/element-web#25132.
* Fall back from server generated thumbnail to original image ([\matrix-org#10853](matrix-org#10853)).
* Use semantically correct elements for room sublist context menu ([\matrix-org#10831](matrix-org#10831)). Fixes vector-im/customer-retainer#46.
* Avoid calling prepareToEncrypt onKeyDown ([\matrix-org#10828](matrix-org#10828)).
* Allows search to recognize full room links ([\matrix-org#8275](matrix-org#8275)). Contributed by @bolu-tife.
* "Show rooms with unread messages first" should not be on by default for new users ([\matrix-org#10820](matrix-org#10820)). Fixes element-hq/element-web#25304. Contributed by @kerryarchibald.
* Fix emitter handler leak in ThreadView ([\matrix-org#10803](matrix-org#10803)).
* Add better error for email invites without identity server ([\matrix-org#10739](matrix-org#10739)). Fixes element-hq/element-web#16893.
* Move reaction message previews out of labs ([\matrix-org#10601](matrix-org#10601)). Fixes element-hq/element-web#25083.
* Sort muted rooms to the bottom of their section of the room list ([\matrix-org#10592](matrix-org#10592)). Fixes element-hq/element-web#25131. Contributed by @kerryarchibald.
* Use semantic headings in user settings Help & About ([\matrix-org#10752](matrix-org#10752)). Contributed by @kerryarchibald.
* use ExternalLink components for external links ([\matrix-org#10758](matrix-org#10758)). Contributed by @kerryarchibald.
* Use semantic headings in space settings ([\matrix-org#10751](matrix-org#10751)). Contributed by @kerryarchibald.
* Use semantic headings for room settings content ([\matrix-org#10734](matrix-org#10734)). Contributed by @kerryarchibald.
* Use consistent fonts for Japanese text ([\matrix-org#10980](matrix-org#10980)). Fixes element-hq/element-web#22333 and element-hq/element-web#23899.
* Fix: server picker validates unselected option ([\matrix-org#11020](matrix-org#11020)). Fixes element-hq/element-web#25488. Contributed by @kerryarchibald.
* Fix room list notification badges going missing in compact layout ([\matrix-org#11022](matrix-org#11022)). Fixes element-hq/element-web#25372.
* Fix call to `startSingleSignOn` passing enum in place of idpId ([\matrix-org#10998](matrix-org#10998)). Fixes element-hq/element-web#24953.
* Remove hover effect from user name on a DM creation UI ([\matrix-org#10887](matrix-org#10887)). Fixes element-hq/element-web#25305. Contributed by @luixxiul.
* Fix layout regression in public space invite dialog ([\matrix-org#11009](matrix-org#11009)). Fixes element-hq/element-web#25458.
* Fix layout regression in session dropdown ([\matrix-org#10999](matrix-org#10999)). Fixes element-hq/element-web#25448.
* Fix spacing regression in user settings - roles & permissions ([\matrix-org#10993](matrix-org#10993)). Fixes element-hq/element-web#25447 and element-hq/element-web#25451. Contributed by @kerryarchibald.
* Fall back to receipt timestamp if we have no event (react-sdk part) ([\matrix-org#10974](matrix-org#10974)). Fixes element-hq/element-web#10954. Contributed by @andybalaam.
* Fix: Room header 'view your device list' does not link to new session manager ([\matrix-org#10979](matrix-org#10979)). Fixes element-hq/element-web#25440. Contributed by @kerryarchibald.
* Fix display of devices without encryption support in Settings dialog ([\matrix-org#10977](matrix-org#10977)). Fixes element-hq/element-web#25413.
* Use aria descriptions instead of labels for TextWithTooltip ([\matrix-org#10952](matrix-org#10952)). Fixes element-hq/element-web#25398.
* Use grapheme-splitter instead of lodash for saving emoji from being ripped apart ([\matrix-org#10976](matrix-org#10976)). Fixes element-hq/element-web#22196.
* Fix: content overflow in settings subsection ([\matrix-org#10960](matrix-org#10960)). Fixes element-hq/element-web#25416. Contributed by @kerryarchibald.
* Make `Privacy Notice` external link on integration manager ToS clickable ([\matrix-org#10914](matrix-org#10914)). Fixes element-hq/element-web#25384. Contributed by @luixxiul.
* Ensure that open message context menus are updated when the event is sent ([\matrix-org#10950](matrix-org#10950)).
* Ensure that open sticker picker dialogs are updated when the widget configuration is updated. ([\matrix-org#10945](matrix-org#10945)).
* Fix big emoji in replies ([\matrix-org#10932](matrix-org#10932)). Fixes element-hq/element-web#24798.
* Hide empty `MessageActionBar` on message edit history dialog ([\matrix-org#10447](matrix-org#10447)). Fixes element-hq/element-web#24903. Contributed by @luixxiul.
* Fix roving tab index getting confused after dragging space order ([\matrix-org#10901](matrix-org#10901)).
* Ignore edits in message previews when they concern messages other than latest ([\matrix-org#10868](matrix-org#10868)). Fixes element-hq/element-web#14872.
* Send correct receipts when viewing a room ([\matrix-org#10864](matrix-org#10864)). Fixes element-hq/element-web#25196.
* Fix timeline search bar being overlapped by the right panel ([\matrix-org#10809](matrix-org#10809)). Fixes element-hq/element-web#25291. Contributed by @luixxiul.
* Fix the state shown for call in rooms ([\matrix-org#10833](matrix-org#10833)).
* Add string for membership event where both displayname & avatar change ([\matrix-org#10880](matrix-org#10880)). Fixes element-hq/element-web#18026.
* Fix people space notification badge not updating for new DM invites ([\matrix-org#10849](matrix-org#10849)). Fixes element-hq/element-web#23248.
* Fix regression in emoji picker order mangling after clearing filter ([\matrix-org#10854](matrix-org#10854)). Fixes element-hq/element-web#25323.
* Fix: Edit history modal crash ([\matrix-org#10834](matrix-org#10834)). Fixes element-hq/element-web#25309. Contributed by @kerryarchibald.
* Fix long room address and name not being clipped on room info card and update `_RoomSummaryCard.pcss` ([\matrix-org#10811](matrix-org#10811)). Fixes element-hq/element-web#25293. Contributed by @luixxiul.
* Treat thumbnail upload failures as complete upload failures ([\matrix-org#10829](matrix-org#10829)). Fixes element-hq/element-web#7069.
* Update finite automata to match user identifiers as per spec ([\matrix-org#10798](matrix-org#10798)). Fixes element-hq/element-web#25246.
* Fix icon on empty notification panel ([\matrix-org#10817](matrix-org#10817)). Fixes element-hq/element-web#25298 and element-hq/element-web#25302. Contributed by @luixxiul.
* Fix: Threads button is highlighted when I create a new room ([\matrix-org#10819](matrix-org#10819)). Fixes element-hq/element-web#25284. Contributed by @kerryarchibald.
* Fix the top heading of notification panel ([\matrix-org#10818](matrix-org#10818)). Fixes element-hq/element-web#25303. Contributed by @luixxiul.
* Fix the color of the verified E2EE icon on `RoomSummaryCard` ([\matrix-org#10812](matrix-org#10812)). Fixes element-hq/element-web#25295. Contributed by @luixxiul.
* Fix: No feedback when waiting for the server on a /delete_devices request with SSO ([\matrix-org#10795](matrix-org#10795)). Fixes element-hq/element-web#23096. Contributed by @kerryarchibald.
* Fix: reveal images when image previews are disabled ([\matrix-org#10781](matrix-org#10781)). Fixes element-hq/element-web#25271. Contributed by @kerryarchibald.
* Fix accessibility issues around the room list and space panel ([\matrix-org#10717](matrix-org#10717)). Fixes element-hq/element-web#13345.
* Ensure tooltip contents is linked via aria to the target element ([\matrix-org#10729](matrix-org#10729)). Fixes vector-im/customer-retainer#43.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
A-Composer A-Emoji A-Timeline O-Occasional Affects or can be seen by some users regularly or most users rarely S-Minor Impairs non-critical functionality or suitable workarounds exist T-Defect
Projects
None yet
8 participants