* Redirect to the SSO page if sso_redirect_options.on_welcome_page is enabled and the URL hash is empty ([\#25495](https://github.com/vector-im/element-web/pull/25495)). Contributed by @dhenneke.

* vector/index.html: Allow fetching blob urls ([\#25336](https://github.com/vector-im/element-web/pull/25336)). Contributed by @SuperKenVery.
 * When joining room in sub-space join the parents too ([\#11011](https://github.com/matrix-org/matrix-react-sdk/pull/11011)).
 * Include thread replies in message previews ([\#10631](https://github.com/matrix-org/matrix-react-sdk/pull/10631)). Fixes #23920.
 * Use semantic headings in space preferences ([\#11021](https://github.com/matrix-org/matrix-react-sdk/pull/11021)). Contributed by @kerryarchibald.
 * Use semantic headings in user settings - Ignored users ([\#11006](https://github.com/matrix-org/matrix-react-sdk/pull/11006)). Contributed by @kerryarchibald.
 * Use semantic headings in user settings - profile ([\#10973](https://github.com/matrix-org/matrix-react-sdk/pull/10973)). Fixes #25461. Contributed by @kerryarchibald.
 * Use semantic headings in user settings - account ([\#10972](https://github.com/matrix-org/matrix-react-sdk/pull/10972)). Contributed by @kerryarchibald.
 * Support `Insert from iPhone or iPad` in Safari ([\#10851](https://github.com/matrix-org/matrix-react-sdk/pull/10851)). Fixes #25327. Contributed by @SuperKenVery.
 * Specify supportedStages for User Interactive Auth ([\#10975](https://github.com/matrix-org/matrix-react-sdk/pull/10975)). Fixes #19605.
 * Pass device id to widgets ([\#10209](https://github.com/matrix-org/matrix-react-sdk/pull/10209)). Contributed by @Fox32.
 * Use semantic headings in user settings - discovery ([\#10838](https://github.com/matrix-org/matrix-react-sdk/pull/10838)). Contributed by @kerryarchibald.
 * Use semantic headings in user settings -  Notifications ([\#10948](https://github.com/matrix-org/matrix-react-sdk/pull/10948)). Contributed by @kerryarchibald.
 * Use semantic headings in user settings - spellcheck and language ([\#10959](https://github.com/matrix-org/matrix-react-sdk/pull/10959)). Contributed by @kerryarchibald.
 * Use semantic headings in user settings Appearance ([\#10827](https://github.com/matrix-org/matrix-react-sdk/pull/10827)). Contributed by @kerryarchibald.
 * Use semantic heading in user settings Sidebar & Voip ([\#10782](https://github.com/matrix-org/matrix-react-sdk/pull/10782)). Contributed by @kerryarchibald.
 * Use semantic headings in user settings Security ([\#10774](https://github.com/matrix-org/matrix-react-sdk/pull/10774)). Contributed by @kerryarchibald.
 * Use semantic headings in user settings - integrations and account deletion ([\#10837](https://github.com/matrix-org/matrix-react-sdk/pull/10837)). Fixes #25378. Contributed by @kerryarchibald.
 * Use semantic headings in user settings Preferences ([\#10794](https://github.com/matrix-org/matrix-react-sdk/pull/10794)). Contributed by @kerryarchibald.
 * Use semantic headings in user settings Keyboard ([\#10793](https://github.com/matrix-org/matrix-react-sdk/pull/10793)). Contributed by @kerryarchibald.
 * RTE plain text mentions as pills ([\#10852](https://github.com/matrix-org/matrix-react-sdk/pull/10852)). Contributed by @alunturner.
 * Allow welcome.html logo to be replaced by config ([\#25339](https://github.com/vector-im/element-web/pull/25339)). Fixes #8636.
 * Use semantic headings in user settings Labs ([\#10773](https://github.com/matrix-org/matrix-react-sdk/pull/10773)). Contributed by @kerryarchibald.
 * Use semantic list elements for menu lists and tab lists ([\#10902](https://github.com/matrix-org/matrix-react-sdk/pull/10902)). Fixes #24928.
 * Fix aria-required-children axe violation ([\#10900](https://github.com/matrix-org/matrix-react-sdk/pull/10900)). Fixes #25342.
 * Enable pagination for overlay timelines ([\#10757](https://github.com/matrix-org/matrix-react-sdk/pull/10757)). Fixes vector-im/voip-internal#107.
 * Add tooltip to disabled invite button due to lack of permissions ([\#10869](https://github.com/matrix-org/matrix-react-sdk/pull/10869)). Fixes #9824.
 * Respect configured auth_header_logo_url for default Welcome page ([\#10870](https://github.com/matrix-org/matrix-react-sdk/pull/10870)).
 * Specify lazy loading for avatars ([\#10866](https://github.com/matrix-org/matrix-react-sdk/pull/10866)). Fixes #1983.
 * Room and user mentions for plain text editor ([\#10665](https://github.com/matrix-org/matrix-react-sdk/pull/10665)). Contributed by @alunturner.
 * Add audible notifcation on broadcast error ([\#10654](https://github.com/matrix-org/matrix-react-sdk/pull/10654)). Fixes #25132.
 * Fall back from server generated thumbnail to original image ([\#10853](https://github.com/matrix-org/matrix-react-sdk/pull/10853)).
 * Use semantically correct elements for room sublist context menu ([\#10831](https://github.com/matrix-org/matrix-react-sdk/pull/10831)). Fixes vector-im/customer-retainer#46.
 * Avoid calling prepareToEncrypt onKeyDown ([\#10828](https://github.com/matrix-org/matrix-react-sdk/pull/10828)).
 * Allows search to recognize full room links ([\#8275](https://github.com/matrix-org/matrix-react-sdk/pull/8275)). Contributed by @bolu-tife.
 * "Show rooms with unread messages first" should not be on by default for new users ([\#10820](https://github.com/matrix-org/matrix-react-sdk/pull/10820)). Fixes #25304. Contributed by @kerryarchibald.
 * Fix emitter handler leak in ThreadView ([\#10803](https://github.com/matrix-org/matrix-react-sdk/pull/10803)).
 * Add better error for email invites without identity server ([\#10739](https://github.com/matrix-org/matrix-react-sdk/pull/10739)). Fixes #16893.
 * Move reaction message previews out of labs ([\#10601](https://github.com/matrix-org/matrix-react-sdk/pull/10601)). Fixes #25083.
 * Sort muted rooms to the bottom of their section of the room list ([\#10592](https://github.com/matrix-org/matrix-react-sdk/pull/10592)). Fixes #25131. Contributed by @kerryarchibald.
 * Use semantic headings in user settings Help & About ([\#10752](https://github.com/matrix-org/matrix-react-sdk/pull/10752)). Contributed by @kerryarchibald.
 * use ExternalLink components for external links ([\#10758](https://github.com/matrix-org/matrix-react-sdk/pull/10758)). Contributed by @kerryarchibald.
 * Use semantic headings in space settings ([\#10751](https://github.com/matrix-org/matrix-react-sdk/pull/10751)). Contributed by @kerryarchibald.
 * Use semantic headings for room settings content ([\#10734](https://github.com/matrix-org/matrix-react-sdk/pull/10734)). Contributed by @kerryarchibald.
 * Use consistent fonts for Japanese text ([\#10980](https://github.com/matrix-org/matrix-react-sdk/pull/10980)). Fixes #22333 and #23899.
 * Fix: server picker validates unselected option ([\#11020](https://github.com/matrix-org/matrix-react-sdk/pull/11020)). Fixes #25488. Contributed by @kerryarchibald.
 * Fix room list notification badges going missing in compact layout ([\#11022](https://github.com/matrix-org/matrix-react-sdk/pull/11022)). Fixes #25372.
 * Fix call to `startSingleSignOn` passing enum in place of idpId ([\#10998](https://github.com/matrix-org/matrix-react-sdk/pull/10998)). Fixes #24953.
 * Remove hover effect from user name on a DM creation UI ([\#10887](https://github.com/matrix-org/matrix-react-sdk/pull/10887)). Fixes #25305. Contributed by @luixxiul.
 * Fix layout regression in public space invite dialog ([\#11009](https://github.com/matrix-org/matrix-react-sdk/pull/11009)). Fixes #25458.
 * Fix layout regression in session dropdown ([\#10999](https://github.com/matrix-org/matrix-react-sdk/pull/10999)). Fixes #25448.
 * Fix spacing regression in user settings - roles & permissions ([\#10993](https://github.com/matrix-org/matrix-react-sdk/pull/10993)). Fixes #25447 and #25451. Contributed by @kerryarchibald.
 * Fall back to receipt timestamp if we have no event (react-sdk part) ([\#10974](https://github.com/matrix-org/matrix-react-sdk/pull/10974)). Fixes #10954. Contributed by @andybalaam.
 * Fix: Room header 'view your device list' does not link to new session manager ([\#10979](https://github.com/matrix-org/matrix-react-sdk/pull/10979)). Fixes #25440. Contributed by @kerryarchibald.
 * Fix display of devices without encryption support in Settings dialog ([\#10977](https://github.com/matrix-org/matrix-react-sdk/pull/10977)). Fixes #25413.
 * Use aria descriptions instead of labels for TextWithTooltip ([\#10952](https://github.com/matrix-org/matrix-react-sdk/pull/10952)). Fixes #25398.
 * Use grapheme-splitter instead of lodash for saving emoji from being ripped apart ([\#10976](https://github.com/matrix-org/matrix-react-sdk/pull/10976)). Fixes #22196.
 * Fix: content overflow in settings subsection ([\#10960](https://github.com/matrix-org/matrix-react-sdk/pull/10960)). Fixes #25416. Contributed by @kerryarchibald.
 * Make `Privacy Notice` external link on integration manager ToS clickable ([\#10914](https://github.com/matrix-org/matrix-react-sdk/pull/10914)). Fixes #25384. Contributed by @luixxiul.
 * Ensure that open message context menus are updated when the event is sent ([\#10950](https://github.com/matrix-org/matrix-react-sdk/pull/10950)).
 * Ensure that open sticker picker dialogs are updated when the widget configuration is updated. ([\#10945](https://github.com/matrix-org/matrix-react-sdk/pull/10945)).
 * Fix big emoji in replies ([\#10932](https://github.com/matrix-org/matrix-react-sdk/pull/10932)). Fixes #24798.
 * Hide empty `MessageActionBar` on message edit history dialog ([\#10447](https://github.com/matrix-org/matrix-react-sdk/pull/10447)). Fixes #24903. Contributed by @luixxiul.
 * Fix roving tab index getting confused after dragging space order ([\#10901](https://github.com/matrix-org/matrix-react-sdk/pull/10901)).
 * Attempt a potential workaround for stuck notifs ([\#3384](https://github.com/matrix-org/matrix-js-sdk/pull/3384)). Fixes vector-im/element-web#25406. Contributed by @andybalaam.
 * Handle trailing dot FQDNs for domain-specific config.json files ([\#25351](https://github.com/vector-im/element-web/pull/25351)). Fixes #8858.
 * Ignore edits in message previews when they concern messages other than latest ([\#10868](https://github.com/matrix-org/matrix-react-sdk/pull/10868)). Fixes #14872.
 * Send correct receipts when viewing a room ([\#10864](https://github.com/matrix-org/matrix-react-sdk/pull/10864)). Fixes #25196.
 * Fix timeline search bar being overlapped by the right panel ([\#10809](https://github.com/matrix-org/matrix-react-sdk/pull/10809)). Fixes #25291. Contributed by @luixxiul.
 * Fix the state shown for call in rooms ([\#10833](https://github.com/matrix-org/matrix-react-sdk/pull/10833)).
 * Add string for membership event where both displayname & avatar change ([\#10880](https://github.com/matrix-org/matrix-react-sdk/pull/10880)). Fixes #18026.
 * Fix people space notification badge not updating for new DM invites ([\#10849](https://github.com/matrix-org/matrix-react-sdk/pull/10849)). Fixes #23248.
 * Fix regression in emoji picker order mangling after clearing filter ([\#10854](https://github.com/matrix-org/matrix-react-sdk/pull/10854)). Fixes #25323.
 * Fix: Edit history modal crash ([\#10834](https://github.com/matrix-org/matrix-react-sdk/pull/10834)). Fixes #25309. Contributed by @kerryarchibald.
 * Fix long room address and name not being clipped on room info card and update `_RoomSummaryCard.pcss` ([\#10811](https://github.com/matrix-org/matrix-react-sdk/pull/10811)). Fixes #25293. Contributed by @luixxiul.
 * Treat thumbnail upload failures as complete upload failures ([\#10829](https://github.com/matrix-org/matrix-react-sdk/pull/10829)). Fixes #7069.
 * Update finite automata to match user identifiers as per spec ([\#10798](https://github.com/matrix-org/matrix-react-sdk/pull/10798)). Fixes #25246.
 * Fix icon on empty notification panel ([\#10817](https://github.com/matrix-org/matrix-react-sdk/pull/10817)). Fixes #25298 and #25302. Contributed by @luixxiul.
 * Fix: Threads button is highlighted when I create a new room ([\#10819](https://github.com/matrix-org/matrix-react-sdk/pull/10819)). Fixes #25284. Contributed by @kerryarchibald.
 * Fix the top heading of notification panel ([\#10818](https://github.com/matrix-org/matrix-react-sdk/pull/10818)). Fixes #25303. Contributed by @luixxiul.
 * Fix the color of the verified E2EE icon on `RoomSummaryCard` ([\#10812](https://github.com/matrix-org/matrix-react-sdk/pull/10812)). Fixes #25295. Contributed by @luixxiul.
 * Fix: No feedback when waiting for the server on a /delete_devices request with SSO ([\#10795](https://github.com/matrix-org/matrix-react-sdk/pull/10795)). Fixes #23096. Contributed by @kerryarchibald.
 * Fix: reveal images when image previews are disabled ([\#10781](https://github.com/matrix-org/matrix-react-sdk/pull/10781)). Fixes #25271. Contributed by @kerryarchibald.
 * Fix accessibility issues around the room list and space panel ([\#10717](https://github.com/matrix-org/matrix-react-sdk/pull/10717)). Fixes #13345.
 * Ensure tooltip contents is linked via aria to the target element ([\#10729](https://github.com/matrix-org/matrix-react-sdk/pull/10729)). Fixes vector-im/customer-retainer#43.
 -----BEGIN PGP SIGNATURE-----
 
 iQJFBAABCAAvFiEE6Vt2megLaKnq2aGaK6qbhVK9kEcFAmR/OAYRHHJlbGVhc2Vz
 QHJpb3QuaW0ACgkQK6qbhVK9kEdVow//SlbADJL+L7Sqb4w+00MfqIOYRqE5z3+Q
 zFliN7kAmWyTxaqTZg/u239SQnbRMrFYb/s3zkNPrngbgUbfPdZ8SLewQPRNMUFc
 mQsrSpWjvRbwzlWzm6m2mVF5leANYOx/iCebVz7B8tZWzJHi0nxlbOqiI41/Mew6
 Xnrd8rjb7B2JPyxyb2+sKovId5dtL250V+5u4Bh7lMgsFBYzida5o9NcASgyx7aM
 vmaT/zahZR57BtJKzqI1tFosgVq2KcN31tIEOcJoIAMnXIb4OogGO3/Zu66GkMpm
 4VCshhVXjUoDm5v5AeZ2rT9junZBtNLGuGxOVAo33OETY9JvQOlDhZVYG0sVmrCG
 FDE64ewTVXk5Li4Eh+Z9gDjEUFMd+iSKQywJ0PeV9MMIDJzqVPEhzExFlsejLLCT
 PfHBa3khaE1bfZ2GB8Mlu2bp8+yFCFH7jajl/yRXSmDDLEQvg98J7BM2uSpwxHg0
 VdglIY16kahHofbqU8EiR54+KN11JCGSo+Dp7AjBmKLEVaF99sWMMqGI30qyqVoy
 OHrcEdenhE36PIvuoO/Pl+Rm2Bz9TMw2V/e2leGiaiF3Eg6xlV+6gUFuiqoAlP83
 8KDaChx3NbjnrxeH+0xmNgV76l7K7qzwaEqFgmapXE53p+N6qJZRcp5lbfWfiLi0
 Zd6LCwze2Gs=
 =+JiF
 -----END PGP SIGNATURE-----
gpgsig -----BEGIN PGP SIGNATURE-----
 
 iQJMBAABCAA3FiEEUMS2jJrglzPzHXqk10PFDIthmEwFAmTIGIgZHGNvZGV3b3Jr
 c0BzdXBlcmNhYmxlLm9ubAAKCRDXQ8UMi2GYTOt3D/QKn0bTRF0a3d83yUdVNQ1B
 560haR9mEcsTcDJhD1iOBNWDm5rsLKmm9Z5iqbdYMMWs2u0auuvrKOrT4jOp9cW6
 B0RSsgAmG73AGbs5jj7aG58pGEn21+Xqak8Z0QiozaRob1Jr70n5nwzNK7F13ySa
 gaxmIA8ip9Fgq7nPjcU+f4ydnTE5nuSW/SZAlj03hs9IYQbDvRZmFu21h37DQIFz
 ht19DAV97P2lrjQhhS5t47yBS9MJniPHMgwu0LazbJLXUQKK0p73NOkZd89ans5K
 muwq30jdCn5zrIRsepR4t0GLTxNTbbam9vTujoxb0paCjQ/YLbtlqN46miv6VoWg
 A9osVpXJk/H6AH0j4jZTwSPnxJbEqVeIycDkRzkYn6sq+7uXCpd/FsGrG5BF29KZ
 +CASl4k/7hfX/jeAn2NKjjzSeo6ZjK6vySjAqxspjHrEXPRg7tw3ffJOIYI1k2bl
 W3kaiyO+ClrB3tNS5jprXPVoQvqhmc7QiJOFVULiPGUOa8cWZWj5W+gq0V4JGNju
 mnmYndYGdvSLfWyKV89T+rWkYs+ZmV6WYU48TXFRGFx8RDy3cm1V+nPyo0K0XkoG
 zoBTaBS5WYi2oAqarC1vFd23F204hpBKon3CREcmLcyVmgUMzxoJU4PrGQhSZZc5
 7egnGDgE0hS5OulbnxGJ
 =9BnE
 -----END PGP SIGNATURE-----

Merge tag 'v1.11.32' into sc

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

View File

@ -11,6 +11,7 @@ jobs:
environment: Matrix environment: Matrix
env: env:
URL: "https://github.com/pulls?q=is%3Apr+is%3Aopen+repo%3Amatrix-org%2Fmatrix-js-sdk+repo%3Amatrix-org%2Fmatrix-react-sdk+repo%3Avector-im%2Felement-web+repo%3Avector-im%2Felement-desktop+review-requested%3A%40me+sort%3Aupdated-desc+" URL: "https://github.com/pulls?q=is%3Apr+is%3Aopen+repo%3Amatrix-org%2Fmatrix-js-sdk+repo%3Amatrix-org%2Fmatrix-react-sdk+repo%3Avector-im%2Felement-web+repo%3Avector-im%2Felement-desktop+review-requested%3A%40me+sort%3Aupdated-desc+"
RELEASE_BLOCKERS_URL: "https://github.com/pulls?q=is%3Aopen+repo%3Amatrix-org%2Fmatrix-js-sdk+repo%3Amatrix-org%2Fmatrix-react-sdk+repo%3Avector-im%2Felement-web+repo%3Avector-im%2Felement-desktop+sort%3Aupdated-desc+label%3AX-Release-Blocker+"
steps: steps:
- uses: actions/github-script@v6 - uses: actions/github-script@v6
env: env:
@ -21,6 +22,43 @@ jobs:
# PAT needed as the GITHUB_TOKEN won't be able to see cross-references from other orgs (matrix-org) # PAT needed as the GITHUB_TOKEN won't be able to see cross-references from other orgs (matrix-org)
github-token: ${{ secrets.ELEMENT_BOT_TOKEN }} github-token: ${{ secrets.ELEMENT_BOT_TOKEN }}
script: | script: |
const { HS_URL, ROOM_ID, TOKEN, URL, RELEASE_BLOCKERS_URL } = process.env;
async function updateCounter(counter, link, severity, title, value, clearOnZero) {
const apiUrl = `${HS_URL}/_matrix/client/v3/rooms/${ROOM_ID}/state/re.jki.counter/${counter}`;
const headers = {
"Content-Type": "application/json",
"Authorization": `Bearer ${TOKEN}`,
};
const res = await fetch(apiUrl, {
method: "GET",
headers,
});
const data = await res.json();
if (data.value === issueCount) {
console.log("Pending review count already correct");
return;
}
let body = {};
if (issueCount || !clearOnZero) {
body = JSON.stringify({
link,
severity,
title,
value,
});
}
await fetch(apiUrl, {
method: "PUT",
body,
headers,
});
}
const repos = [ const repos = [
"vector-im/element-desktop", "vector-im/element-desktop",
"vector-im/element-web", "vector-im/element-web",
@ -43,32 +81,10 @@ jobs:
}); });
issueCount += data.total_count; issueCount += data.total_count;
} }
await updateCounter("gh_reviews", URL, "warning", "Pending reviews", issueCount);
const { HS_URL, ROOM_ID, TOKEN, URL } = process.env; const { data } = await github.rest.search.issuesAndPullRequests({
const apiUrl = `${HS_URL}/_matrix/client/v3/rooms/${ROOM_ID}/state/re.jki.counter/gh_reviews`; q: `is:open ${repos.map(repo => `repo:${repo}`).join(" ")} label:X-Release-Blocker`,
const headers = {
"Content-Type": "application/json",
"Authorization": `Bearer ${TOKEN}`,
};
const res = await fetch(apiUrl, {
method: "GET",
headers,
});
const data = await res.json();
if (data.value === issueCount) {
console.log("Pending review count already correct");
return;
}
await fetch(apiUrl, {
method: "PUT",
body: JSON.stringify({
"link": URL,
"severity": "warning",
"title": "Pending reviews",
"value": issueCount
}),
headers,
}); });
const blockerCount = data.total_count;
await updateCounter("release_blockers", RELEASE_BLOCKERS_URL, "alert", "Release Blockers", blockerCount, true);

View File

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

View File

@ -1,5 +1,5 @@
# Builder # Builder
FROM --platform=$BUILDPLATFORM node:16-bullseye as builder FROM --platform=$BUILDPLATFORM node:20-bullseye as builder
# Support custom branches of the react-sdk and js-sdk. This also helps us build # Support custom branches of the react-sdk and js-sdk. This also helps us build
# images of element-web develop. # images of element-web develop.
@ -15,7 +15,7 @@ WORKDIR /src
COPY . /src COPY . /src
RUN dos2unix /src/scripts/docker-link-repos.sh && bash /src/scripts/docker-link-repos.sh RUN dos2unix /src/scripts/docker-link-repos.sh && bash /src/scripts/docker-link-repos.sh
RUN yarn --network-timeout=100000 install RUN yarn --network-timeout=200000 install
RUN dos2unix /src/scripts/docker-package.sh && bash /src/scripts/docker-package.sh RUN dos2unix /src/scripts/docker-package.sh && bash /src/scripts/docker-package.sh

View File

@ -1,6 +1,6 @@
{ {
"name": "element-web", "name": "element-web",
"version": "1.11.31", "version": "1.11.32",
"description": "A feature-rich client for Matrix.org", "description": "A feature-rich client for Matrix.org",
"author": "New Vector Ltd.", "author": "New Vector Ltd.",
"repository": { "repository": {
@ -61,7 +61,8 @@
"lint:style": "stylelint \"res/css/**/*.pcss\"", "lint:style": "stylelint \"res/css/**/*.pcss\"",
"test": "jest", "test": "jest",
"coverage": "yarn test --coverage", "coverage": "yarn test --coverage",
"analyse:unused-exports": "node ./scripts/analyse_unused_exports.js" "analyse:unused-exports": "node ./scripts/analyse_unused_exports.js",
"analyse:webpack-bundles": "webpack-bundle-analyzer webpack-stats.json webapp"
}, },
"resolutions": { "resolutions": {
"@types/react-dom": "17.0.19", "@types/react-dom": "17.0.19",
@ -69,12 +70,12 @@
}, },
"dependencies": { "dependencies": {
"@matrix-org/olm": "https://gitlab.matrix.org/api/v4/projects/27/packages/npm/@matrix-org/olm/-/@matrix-org/olm-3.2.14.tgz", "@matrix-org/olm": "https://gitlab.matrix.org/api/v4/projects/27/packages/npm/@matrix-org/olm/-/@matrix-org/olm-3.2.14.tgz",
"@matrix-org/react-sdk-module-api": "^0.0.4", "@matrix-org/react-sdk-module-api": "^0.0.5",
"gfm.css": "^1.1.2", "gfm.css": "^1.1.2",
"jsrsasign": "^10.5.25", "jsrsasign": "^10.5.25",
"katex": "^0.16.0", "katex": "^0.16.0",
"matrix-js-sdk": "25.1.0", "matrix-js-sdk": "26.0.0",
"matrix-react-sdk": "3.72.0", "matrix-react-sdk": "3.73.0",
"matrix-widget-api": "^1.3.1", "matrix-widget-api": "^1.3.1",
"react": "17.0.2", "react": "17.0.2",
"react-dom": "17.0.2", "react-dom": "17.0.2",
@ -122,7 +123,7 @@
"cpx": "^1.5.0", "cpx": "^1.5.0",
"css-loader": "^4", "css-loader": "^4",
"dotenv": "^16.0.2", "dotenv": "^16.0.2",
"eslint": "8.38.0", "eslint": "8.40.0",
"eslint-config-google": "^0.14.0", "eslint-config-google": "^0.14.0",
"eslint-config-prettier": "^8.5.0", "eslint-config-prettier": "^8.5.0",
"eslint-plugin-deprecate": "^0.7.0", "eslint-plugin-deprecate": "^0.7.0",
@ -130,7 +131,7 @@
"eslint-plugin-matrix-org": "^1.0.0", "eslint-plugin-matrix-org": "^1.0.0",
"eslint-plugin-react": "^7.28.0", "eslint-plugin-react": "^7.28.0",
"eslint-plugin-react-hooks": "^4.3.0", "eslint-plugin-react-hooks": "^4.3.0",
"eslint-plugin-unicorn": "^46.0.0", "eslint-plugin-unicorn": "^47.0.0",
"extract-text-webpack-plugin": "^4.0.0-beta.0", "extract-text-webpack-plugin": "^4.0.0-beta.0",
"fake-indexeddb": "^4.0.0", "fake-indexeddb": "^4.0.0",
"fetch-mock-jest": "^1.5.1", "fetch-mock-jest": "^1.5.1",
@ -162,7 +163,7 @@
"postcss-preset-env": "^6.7.0", "postcss-preset-env": "^6.7.0",
"postcss-scss": "^4.0.4", "postcss-scss": "^4.0.4",
"postcss-simple-vars": "^5.0.2", "postcss-simple-vars": "^5.0.2",
"prettier": "2.8.7", "prettier": "2.8.8",
"raw-loader": "^4.0.2", "raw-loader": "^4.0.2",
"rimraf": "^5.0.0", "rimraf": "^5.0.0",
"semver": "^7.3.7", "semver": "^7.3.7",
@ -170,13 +171,14 @@
"string-replace-loader": "3", "string-replace-loader": "3",
"style-loader": "2", "style-loader": "2",
"stylelint": "^15.3.0", "stylelint": "^15.3.0",
"stylelint-config-standard": "^32.0.0", "stylelint-config-standard": "^33.0.0",
"stylelint-scss": "^4.2.0", "stylelint-scss": "^5.0.0",
"terser-webpack-plugin": "^4.0.0", "terser-webpack-plugin": "^4.0.0",
"ts-node": "^10.9.1", "ts-node": "^10.9.1",
"ts-prune": "^0.10.3", "ts-prune": "^0.10.3",
"typescript": "5.0.4", "typescript": "5.0.4",
"webpack": "^4.46.0", "webpack": "^4.46.0",
"webpack-bundle-analyzer": "^4.8.0",
"webpack-cli": "^3.3.12", "webpack-cli": "^3.3.12",
"webpack-dev-server": "^3.11.2", "webpack-dev-server": "^3.11.2",
"worker-loader": "^3.0.0", "worker-loader": "^3.0.0",

View File

@ -168,7 +168,7 @@ we don't have an account and should hide them. No account == no guest account ei
<div class="mx_Parent"> <div class="mx_Parent">
<a href="https://element.io" target="_blank" rel="noopener"> <a href="https://element.io" target="_blank" rel="noopener">
<img src="welcome/images/logo.svg" alt="" class="mx_Logo" /> <img src="$logoUrl" alt="" class="mx_Logo" />
</a> </a>
<h1 class="mx_Header_title">_t("Welcome to Element")</h1> <h1 class="mx_Header_title">_t("Welcome to Element")</h1>
<!-- XXX: Our translations system isn't smart enough to recognize variables in the HTML, so we manually do it --> <!-- XXX: Our translations system isn't smart enough to recognize variables in the HTML, so we manually do it -->
@ -182,11 +182,6 @@ we don't have an account and should hide them. No account == no guest account ei
<div class="mx_ButtonLabel">_t("Create Account")</div> <div class="mx_ButtonLabel">_t("Create Account")</div>
</a> </a>
</div> </div>
<!-- The comments below are meant to be used by Ansible as a quick way
to strip out the marked content when desired.
See https://github.com/vector-im/element-web/issues/8622.
TODO: Strip out these comments and rely on the guest flag -->
<!-- BEGIN Ansible: Remove these lines when guest access is disabled -->
<div class="mx_ButtonRow mx_WelcomePage_guestFunctions"> <div class="mx_ButtonRow mx_WelcomePage_guestFunctions">
<div> <div>
<a href="#/directory" class="mx_ButtonParent mx_SecondaryButton mx_Button_iconRoomDirectory"> <a href="#/directory" class="mx_ButtonParent mx_SecondaryButton mx_Button_iconRoomDirectory">
@ -194,6 +189,5 @@ we don't have an account and should hide them. No account == no guest account ei
</a> </a>
</div> </div>
</div> </div>
<!-- END Ansible: Remove these lines when guest access is disabled -->
</div> </div>
</div> </div>

View File

@ -1,318 +0,0 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:cc="http://creativecommons.org/ns#"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns="http://www.w3.org/2000/svg"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
inkscape:version="1.0 (4035a4fb49, 2020-05-01)"
sodipodi:docname="logo.svg"
id="svg10"
version="1.1"
fill="none"
viewBox="0 0 1024 1024"
height="1024"
width="1024">
<metadata
id="metadata16">
<rdf:RDF>
<cc:Work
rdf:about="">
<dc:format>image/svg+xml</dc:format>
<dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
<dc:title></dc:title>
</cc:Work>
</rdf:RDF>
</metadata>
<defs
id="defs14">
<filter
style="color-interpolation-filters:sRGB"
inkscape:label="Drop Shadow"
id="filter2036">
<feFlood
flood-opacity="0.501961"
flood-color="rgb(0,0,0)"
result="flood"
id="feFlood2026" />
<feComposite
in="flood"
in2="SourceGraphic"
operator="out"
result="composite1"
id="feComposite2028" />
<feGaussianBlur
in="composite1"
stdDeviation="1.5"
result="blur"
id="feGaussianBlur2030" />
<feOffset
dx="0"
dy="0"
result="offset"
id="feOffset2032" />
<feComposite
in="offset"
in2="SourceGraphic"
operator="atop"
result="composite2"
id="feComposite2034" />
</filter>
<filter
style="color-interpolation-filters:sRGB"
inkscape:label="Drop Shadow"
id="filter2965">
<feFlood
flood-opacity="0.8"
flood-color="rgb(0,0,0)"
result="flood"
id="feFlood2955" />
<feComposite
in="flood"
in2="SourceGraphic"
operator="out"
result="composite1"
id="feComposite2957" />
<feGaussianBlur
in="composite1"
stdDeviation="8"
result="blur"
id="feGaussianBlur2959" />
<feOffset
dx="0"
dy="0"
result="offset"
id="feOffset2961" />
<feComposite
in="offset"
in2="SourceGraphic"
operator="atop"
result="composite2"
id="feComposite2963" />
</filter>
<filter
style="color-interpolation-filters:sRGB"
inkscape:label="Drop Shadow"
id="filter2953">
<feFlood
flood-opacity="0.8"
flood-color="rgb(0,0,0)"
result="flood"
id="feFlood2943" />
<feComposite
in="flood"
in2="SourceGraphic"
operator="out"
result="composite1"
id="feComposite2945" />
<feGaussianBlur
in="composite1"
stdDeviation="8"
result="blur"
id="feGaussianBlur2947" />
<feOffset
dx="0"
dy="0"
result="offset"
id="feOffset2949" />
<feComposite
in="offset"
in2="SourceGraphic"
operator="atop"
result="composite2"
id="feComposite2951" />
</filter>
<filter
style="color-interpolation-filters:sRGB"
inkscape:label="Drop Shadow"
id="filter2989">
<feFlood
flood-opacity="0.8"
flood-color="rgb(0,0,0)"
result="flood"
id="feFlood2979" />
<feComposite
in="flood"
in2="SourceGraphic"
operator="out"
result="composite1"
id="feComposite2981" />
<feGaussianBlur
in="composite1"
stdDeviation="8"
result="blur"
id="feGaussianBlur2983" />
<feOffset
dx="0"
dy="0"
result="offset"
id="feOffset2985" />
<feComposite
in="offset"
in2="SourceGraphic"
operator="atop"
result="composite2"
id="feComposite2987" />
</filter>
<filter
style="color-interpolation-filters:sRGB"
inkscape:label="Drop Shadow"
id="filter2977">
<feFlood
flood-opacity="0.8"
flood-color="rgb(0,0,0)"
result="flood"
id="feFlood2967" />
<feComposite
in="flood"
in2="SourceGraphic"
operator="out"
result="composite1"
id="feComposite2969" />
<feGaussianBlur
in="composite1"
stdDeviation="8"
result="blur"
id="feGaussianBlur2971" />
<feOffset
dx="0"
dy="0"
result="offset"
id="feOffset2973" />
<feComposite
in="offset"
in2="SourceGraphic"
operator="atop"
result="composite2"
id="feComposite2975" />
</filter>
<filter
style="color-interpolation-filters:sRGB"
inkscape:label="Drop Shadow"
id="filter1778">
<feFlood
flood-opacity="0.501961"
flood-color="rgb(0,0,0)"
result="flood"
id="feFlood1768" />
<feComposite
in="flood"
in2="SourceGraphic"
operator="out"
result="composite1"
id="feComposite1770" />
<feGaussianBlur
in="composite1"
stdDeviation="5"
result="blur"
id="feGaussianBlur1772" />
<feOffset
dx="0"
dy="0"
result="offset"
id="feOffset1774" />
<feComposite
in="offset"
in2="SourceGraphic"
operator="atop"
result="composite2"
id="feComposite1776" />
</filter>
</defs>
<sodipodi:namedview
inkscape:current-layer="svg10"
inkscape:window-maximized="0"
inkscape:window-y="20"
inkscape:window-x="1920"
inkscape:cy="417.07687"
inkscape:cx="435.41237"
inkscape:zoom="0.28588106"
showgrid="false"
id="namedview12"
inkscape:window-height="691"
inkscape:window-width="1278"
inkscape:pageshadow="2"
inkscape:pageopacity="0"
guidetolerance="10"
gridtolerance="10"
objecttolerance="10"
borderopacity="1"
bordercolor="#666666"
pagecolor="#ffffff" />
<g
transform="matrix(18.89764,0,0,18.89764,32.163926,6.9526508)"
id="g2052">
<path
style="fill:#fdd835;fill-opacity:1;stroke:none;stroke-width:1.32292;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;filter:url(#filter2036)"
d="m -7.3039352,22.852215 c 0,0 -7.4277128,-0.647459 -8.9424528,-1.19189 -1.663101,-0.597756 -2.602176,-1.164974 -3.679072,-2.070944 -2.394611,-2.014538 -4.083276,-5.907753 -5.937068,-7.272133 -2.122229,-1.561949 -7.469085,-2.5893379 -7.469085,-2.5893379 l 8.232099,-4.3781395 8.232101,-4.3781413 c 0,0 -2.250937,5.0148442 -2.028475,7.6404978 0.184037,2.1721369 0.928436,4.1323369 2.717626,5.9483569 1.428049,1.449463 11.2253003,4.182419 8.4007303,3.318617"
id="path874"
sodipodi:nodetypes="csascccasc"
transform="rotate(37.819778,-6.4365828,63.660415)" />
<path
transform="matrix(0.2645833,0,0,0.26458366,0.01066662,6.923971)"
id="path2929"
d="m 81.873967,145.80636 c -1.441926,-0.46449 -3.955138,-1.87851 -9.498577,-5.34426 -4.001524,-2.50174 -4.906304,-3.00234 -7.502059,-4.15076 -2.909857,-1.28739 -5.079164,-2.06534 -11.214173,-4.02162 l -1.834058,-0.58482 1.14e-4,-0.50553 c 4.84e-4,-2.1356 3.354221,-10.91186 8.839965,-23.13295 6.964546,-15.515553 14.657559,-30.591908 16.753528,-32.832668 0.343288,-0.367004 0.516569,-0.465574 1.300299,-0.739673 5.294258,-1.851594 9.951344,-2.533518 17.300267,-2.53323 6.957737,2.74e-4 11.341597,0.603599 16.455807,2.264721 1.6877,0.548174 1.74955,0.5767 2.09072,0.964295 3.06329,3.480075 15.43554,28.824645 21.9819,45.029955 2.31806,5.73828 3.48753,9.21985 3.63791,10.83024 0.0508,0.54377 0.0467,0.55755 -0.20324,0.68653 -0.14028,0.0724 -1.53847,0.53444 -3.10708,1.02677 -5.85713,1.83835 -9.66343,3.34061 -12.96949,5.11877 -0.58337,0.31376 -2.5721,1.51303 -4.41942,2.66505 -1.84732,1.15201 -3.9156,2.42694 -4.59619,2.83316 -1.44412,0.86195 -4.02937,2.1884 -4.72878,2.42626 -1.06018,0.36056 -5.00379,0.257 -9.16323,-0.24061 -2.16595,-0.25912 -2.597402,-0.28375 -4.978907,-0.28426 -2.380465,-5.3e-4 -2.815211,0.0241 -4.993941,0.28259 -2.673685,0.31722 -4.969271,0.46678 -7.071068,0.4607 -1.24853,-0.004 -1.49225,-0.0292 -2.080297,-0.21866 z"
style="fill:#8bc34a;fill-opacity:1;stroke:none;stroke-width:0.00883884;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;filter:url(#filter2965)" />
<path
transform="matrix(0.2645833,0,0,0.26458366,0.01066662,6.923971)"
id="path2931"
d="m 33.824913,131.80229 -4.609351,-1.22041 -2.729336,-1.59772 -2.729336,-1.59772 -1.733211,0.25583 c -1.727604,0.25499 -1.736426,0.25743 -2.726661,0.75405 l -0.99345,0.49824 0.06314,-0.24941 c 0.03473,-0.13718 0.515089,-2.13871 1.067475,-4.44786 l 1.004338,-4.19845 4.238563,-13.43502 4.238563,-13.435033 4.543566,-9.553647 4.543565,-9.553646 3.182325,-5.030431 3.182326,-5.030431 5.114544,-3.440196 5.114545,-3.440196 0.625127,0.321855 c 0.880939,0.453565 4.957691,2.786229 6.591341,3.77148 4.837608,2.917551 7.136502,4.806819 13.547905,11.133892 l 2.367569,2.336427 -0.391868,0.403612 c -1.242193,1.279425 -4.049797,6.308511 -8.317876,14.8993 -8.895958,17.905784 -17.081158,37.206494 -17.346568,40.903224 -0.04351,0.60607 -0.0711,0.6912 -0.23543,0.7265 -0.20331,0.0437 -12.886325,1.4668 -12.958256,1.45402 -0.02431,-0.004 -2.118402,-0.55704 -4.653546,-1.22826 z"
style="fill:#8bc34a;fill-opacity:1;stroke:none;stroke-width:0.00883884;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;filter:url(#filter2953)" />
<path
transform="matrix(0.2645833,0,0,0.26458366,0.01066662,6.923971)"
id="path2933"
d="m 112.69503,74.101649 c -2.59624,-0.87281 -5.53273,-1.546385 -8.18044,-1.876442 -2.29092,-0.285579 -3.5232,-0.35736 -7.081103,-0.412471 -7.810717,-0.120989 -12.369576,0.440113 -17.830734,2.194597 L 77.902892,74.55344 75.492694,72.173236 C 70.346713,67.091294 67.70922,64.778694 64.993746,62.967571 62.934668,61.594243 58.448912,58.930472 55.515313,57.339008 l -0.773398,-0.419566 0.0047,-0.854628 c 0.0026,-0.470045 0.05698,-2.226857 0.12091,-3.904026 l 0.116232,-3.049398 0.90762,-3.005204 0.90762,-3.005204 10.171954,-4.314545 10.171956,-4.314545 2.124059,-0.211465 c 2.540585,-0.252933 7.726825,-0.685129 10.786118,-0.898862 2.686207,-0.187668 8.71432,-0.211915 11.225316,-0.04515 3.79128,0.25179 9.52416,0.730395 12.41856,1.036754 l 1.19325,0.1263 10.15863,4.311565 10.15864,4.311565 0.90478,3.01769 0.90478,3.017688 0.0943,2.682552 c 0.0519,1.475404 0.11885,3.220939 0.14877,3.878969 l 0.0544,1.196416 -0.473,0.253852 c -3.9428,2.116049 -9.6381,5.566173 -11.42613,6.921776 -1.99969,1.516063 -4.56622,3.842717 -8.31425,7.537163 l -3.00648,2.963488 z"
style="fill:#8bc34a;fill-opacity:1;stroke:none;stroke-width:0.00883884;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;filter:url(#filter2989)" />
<path
id="path2935"
d="m 11.856277,23.680393 c 0.120436,-0.226266 3.024915,-5.081091 3.030258,-5.065064 0.0042,0.01258 -0.07842,0.305568 -0.18357,0.651095 l -0.19119,0.628231 -0.03616,1.041667 -0.03616,1.041666 -1.271326,0.852609 c -0.699229,0.468935 -1.282908,0.856605 -1.297064,0.861489 -0.01416,0.0049 -0.02081,-3.71e-4 -0.01479,-0.01169 z"
style="fill:#43a047;fill-opacity:1;stroke:none;stroke-width:0.00233861;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
<path
id="path2937"
d="m 37.684152,22.850831 c -0.706118,-0.474233 -1.286907,-0.865301 -1.290649,-0.869041 -0.0037,-0.0037 -0.02365,-0.469613 -0.04425,-1.035274 l -0.03745,-1.028474 -0.198924,-0.66348 c -0.109408,-0.364914 -0.194916,-0.667485 -0.190021,-0.672381 0.0049,-0.0049 0.695253,1.144649 1.534125,2.554544 0.838875,1.409895 1.522025,2.566348 1.518118,2.569896 -0.0039,0.0035 -0.58484,-0.381558 -1.290954,-0.85579 z"
style="fill:#43a047;fill-opacity:1;stroke:none;stroke-width:0.00233861;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
<path
transform="matrix(0.2645833,0,0,0.26458366,0.01066662,6.923971)"
id="path2939"
d="m 146.79838,132.28255 c -3.50018,-0.4039 -6.37391,-0.73766 -6.38606,-0.7417 -0.0121,-0.004 -0.0225,-0.15648 -0.0229,-0.33878 -0.001,-0.5882 -0.42012,-2.20274 -1.09122,-4.20777 -4.29059,-12.81901 -20.96711,-48.00222 -24.64263,-51.989691 l -0.34053,-0.369431 2.94185,-2.906593 c 5.30754,-5.243927 7.63693,-7.218754 11.11252,-9.421033 2.17487,-1.378088 5.78591,-3.485038 8.46207,-4.937397 l 0.55131,-0.2992 5.10752,3.422218 5.10752,3.422218 3.20488,5.060757 3.20489,5.060756 4.5533,9.582719 4.5533,9.582718 4.23623,13.442449 4.23622,13.44244 1.04832,4.37523 c 0.57658,2.40637 1.03734,4.38949 1.02392,4.40693 -0.0134,0.0174 -0.44059,-0.19152 -0.94925,-0.46437 l -0.92484,-0.49608 -1.76637,-0.26396 -1.76637,-0.26396 -2.7277,1.59847 -2.72769,1.59847 -4.66441,1.22909 c -2.56542,0.67599 -4.73315,1.22475 -4.81716,1.21947 -0.084,-0.005 -3.01654,-0.34007 -6.51672,-0.74397 z"
style="fill:#8bc34a;fill-opacity:1;stroke:none;stroke-width:0.00883884;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;filter:url(#filter2977)" />
<path
transform="matrix(0.2645833,0,0,0.26458366,0.01066662,6.923971)"
id="path2941"
d="m 23.472545,157.1602 -3.45603,-1.67959 -3.077105,0.40079 c -1.692408,0.22043 -3.160397,0.41398 -3.262198,0.43012 -0.157929,0.025 -0.334187,-0.23897 -1.201039,-1.79898 l -1.015947,-1.82832 1.279595,-2.1929 1.279595,-2.19289 1.216285,-4.76048 c 0.668957,-2.61827 1.283902,-4.86368 1.366546,-4.98981 0.08264,-0.12613 1.04949,-1.46765 2.148548,-2.98116 1.951535,-2.68744 1.997841,-2.76113 1.979251,-3.14957 -0.01047,-0.21876 -0.08146,-1.17885 -0.157747,-2.13354 -0.07629,-0.95468 -0.125697,-1.84804 -0.10979,-1.98524 l 0.02892,-0.24945 1.590991,-0.23852 1.59099,-0.23851 2.721137,1.58526 2.721137,1.58526 4.692364,1.23819 4.692364,1.23819 6.551858,-0.73425 c 6.306324,-0.70673 6.563451,-0.72877 6.861217,-0.58823 0.170148,0.0803 1.597298,0.55099 3.171447,1.04595 5.59835,1.76031 9.031877,3.10024 12.399798,4.839 0.745318,0.38479 2.985889,1.71466 4.979046,2.95526 1.993157,1.24061 4.24873,2.62192 5.012385,3.06959 1.714783,1.00521 3.916239,2.08469 4.618418,2.26463 1.10362,0.2828 5.01317,0.13986 8.93075,-0.32652 2.16587,-0.25784 2.623443,-0.28424 4.949747,-0.28565 2.332079,-0.001 2.778502,0.0239 4.949752,0.28094 2.7889,0.33011 4.82506,0.46622 6.97469,0.46622 1.41339,0 1.60703,-0.0194 2.26281,-0.22655 1.48433,-0.4689 3.70959,-1.71517 9.55626,-5.35203 3.71226,-2.30917 4.69609,-2.86626 6.66208,-3.77236 2.87051,-1.32298 5.86352,-2.43204 10.68033,-3.95759 1.46647,-0.46446 2.81243,-0.91508 2.99103,-1.00139 0.32042,-0.15485 0.4116,-0.14713 6.88301,0.58258 l 6.55829,0.73951 4.56328,-1.19577 c 2.50981,-0.65768 4.69173,-1.25445 4.84872,-1.32616 0.15699,-0.0717 1.43338,-0.80306 2.83643,-1.62524 l 2.551,-1.49486 1.59785,0.23303 c 0.87881,0.12816 1.62327,0.25851 1.65434,0.28965 0.0311,0.0312 -0.0285,1.09238 -0.13248,2.35828 l -0.18898,2.30165 2.16146,2.98922 2.16146,2.98921 1.21097,4.76431 1.21097,4.76431 1.28691,2.21139 c 0.98436,1.69148 1.26686,2.2442 1.2016,2.35095 -0.0469,0.0768 -0.49391,0.88534 -0.99331,1.79685 -0.78309,1.42929 -0.93682,1.65728 -1.11751,1.65728 -0.11524,0 -1.59323,-0.18044 -3.28444,-0.40097 l -3.07493,-0.40098 -3.44595,1.67081 -3.44595,1.67081 -14.37914,-0.90285 -14.37915,-0.90286 -2.19367,-1.41204 -2.19367,-1.41204 -5.3033,-1.52844 c -2.91682,-0.84064 -6.79486,-1.95777 -8.61787,-2.48251 l -3.31456,-0.95407 -5.03814,-0.84337 c -5.77059,-0.96597 -9.891626,-1.57634 -12.113599,-1.79413 -1.45301,-0.14242 -1.630762,-0.14249 -3.067098,-0.001 -2.685998,0.26445 -8.424495,1.12944 -14.454773,2.17884 l -2.979828,0.51855 -8.529476,2.46536 -8.529475,2.46537 -2.158434,1.3943 -2.158433,1.39431 -1.15613,0.0801 c -0.635871,0.0441 -6.883694,0.43658 -13.884051,0.87224 -7.000357,0.43566 -12.950104,0.81237 -13.221661,0.83713 -0.493349,0.045 -0.49646,0.0437 -3.949768,-1.63457 z"
style="fill:#e4bf15;fill-opacity:1;stroke:none;stroke-width:0.00883884;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;filter:url(#filter1778)" />
<path
sodipodi:nodetypes="ccccccccccc"
id="path1420"
d="m 13.689787,41.754242 -3.485705,0.392952 -2.4758115,-0.651761 -1.4390122,-0.841726 -0.9073417,0.132863 -0.5634728,0.292812 0.5706669,-2.39252 2.242192,-7.113572 2.4124453,-5.077532 1.696633,-2.677946 2.719881,-1.823851"
style="fill:none;stroke:#33691e;stroke-width:1.32292;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
<path
sodipodi:nodetypes="ssssassssas"
id="path1416"
d="m 20.612627,26.685364 c -0.769568,0.280852 -7.285738,14.178466 -6.907282,15.085964 0.04641,0.111301 2.90523,0.755728 4.793269,1.932355 1.498872,0.934099 2.927044,1.873447 3.434079,1.87888 1.950756,0.02072 2.316461,-0.216433 3.478056,-0.216433 1.16159,0 1.527286,0.237155 3.478044,0.216431 0.507035,-0.0055 1.935208,-0.944779 3.434078,-1.878878 1.888038,-1.176627 4.746854,-1.821052 4.793269,-1.932355 0.378457,-0.907498 -6.137705,-14.805112 -6.907271,-15.085964 -1.823177,-0.665365 -3.179645,-0.743761 -4.79812,-0.743761 -1.618476,0 -2.974945,0.0784 -4.798122,0.743761 z"
style="fill:none;stroke:#33691e;stroke-width:1.32292;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
<path
style="fill:none;stroke:#33691e;stroke-width:1.32292;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
d="m 37.131698,41.754244 3.485707,0.392952 2.47581,-0.651761 1.439013,-0.841726 0.907342,0.132863 0.563473,0.292814 -0.570667,-2.392523 -2.242193,-7.113572 -2.412444,-5.077531 -1.696634,-2.677946 -2.719881,-1.823852"
id="path1420-1"
sodipodi:nodetypes="ccccccccccc" />
<path
style="fill:none;stroke:#33691e;stroke-width:1.32292;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
d="m 30.208869,26.685364 c 0,0 1.889919,-1.950502 2.969156,-2.765837 0.989473,-0.747518 3.183199,-1.925572 3.183199,-1.925572 l -0.072,-2.070322 -0.485286,-1.613187 -5.396652,-2.289771 c 0,0 -3.326901,-0.351946 -4.996541,-0.351946 -1.669645,0 -4.996553,0.351946 -4.996553,0.351946 l -5.396653,2.289771 -0.485285,1.613187 -0.07199,2.070322 c 0,0 2.193724,1.178055 3.183197,1.925572 1.07924,0.815335 2.969168,2.765837 2.969168,2.765837"
id="path1418-9"
sodipodi:nodetypes="caccccaccccac" />
<path
sodipodi:nodetypes="cc"
id="path2898"
d="m 15.017539,18.310446 -3.277158,5.507366"
style="fill:none;stroke:#33691e;stroke-width:1.32292;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
<path
style="fill:none;stroke:#33691e;stroke-width:1.32292;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
d="m 35.803938,18.310446 3.277167,5.507368"
id="path2898-7"
sodipodi:nodetypes="cc" />
</g>
</svg>

Before

Width:  |  Height:  |  Size: 19 KiB

View File

@ -30,7 +30,7 @@ const CompatibilityView: React.FC<IProps> = ({ onAccept }) => {
const brand = SdkConfig.get("brand"); const brand = SdkConfig.get("brand");
const mobileBuilds = SdkConfig.get("mobile_builds"); const mobileBuilds = SdkConfig.get("mobile_builds");
let ios = null; let ios: JSX.Element | undefined;
const iosCustomUrl = mobileBuilds?.ios; const iosCustomUrl = mobileBuilds?.ios;
if (iosCustomUrl !== null) { if (iosCustomUrl !== null) {
// could be undefined or a string // could be undefined or a string

View File

@ -28,7 +28,7 @@ const VectorAuthFooter = (): ReactElement => {
{ text: "GitHub", url: "https://github.com/SchildiChat/schildichat-desktop" }, { text: "GitHub", url: "https://github.com/SchildiChat/schildichat-desktop" },
]; ];
const authFooterLinks = []; const authFooterLinks: JSX.Element[] = [];
for (const linkEntry of links) { for (const linkEntry of links) {
authFooterLinks.push( authFooterLinks.push(
<a href={linkEntry.url} key={linkEntry.text} target="_blank" rel="noreferrer noopener"> <a href={linkEntry.url} key={linkEntry.text} target="_blank" rel="noreferrer noopener">

View File

@ -49,7 +49,7 @@ export default class Favicon {
private readonly params: IParams; private readonly params: IParams;
private readonly canvas: HTMLCanvasElement; private readonly canvas: HTMLCanvasElement;
private readonly baseImage: HTMLImageElement; private readonly baseImage: HTMLImageElement;
private context: CanvasRenderingContext2D; private context!: CanvasRenderingContext2D;
private icons: HTMLLinkElement[]; private icons: HTMLLinkElement[];
private isReady = false; private isReady = false;

View File

@ -1,5 +1,5 @@
{ {
"Dismiss": "Zamknij", "Dismiss": "Pomiń",
"Unknown device": "Nieznane urządzenie", "Unknown device": "Nieznane urządzenie",
"Welcome to Element": "Witamy w Element", "Welcome to Element": "Witamy w Element",
"Create Account": "Utwórz konto", "Create Account": "Utwórz konto",
@ -11,18 +11,18 @@
"Invalid configuration: can only specify one of default_server_config, default_server_name, or default_hs_url.": "Błędna konfiguracja. Akceptowalne wartości to: default_server_config, default_server_name, default_hs_url.", "Invalid configuration: can only specify one of default_server_config, default_server_name, or default_hs_url.": "Błędna konfiguracja. Akceptowalne wartości to: default_server_config, default_server_name, default_hs_url.",
"Invalid configuration: no default server specified.": "Błędna konfiguracja: nie wybrano domyślnego serwera.", "Invalid configuration: no default server specified.": "Błędna konfiguracja: nie wybrano domyślnego serwera.",
"Go to your browser to complete Sign In": "Aby dokończyć proces rejestracji, przejdź do swojej przeglądarki", "Go to your browser to complete Sign In": "Aby dokończyć proces rejestracji, przejdź do swojej przeglądarki",
"Unable to load config file: please refresh the page to try again.": "Nie udało się załadować pliku konfiguracyjnego: odśwież stronę aby spróbować ponownie.", "Unable to load config file: please refresh the page to try again.": "Nie udało się załadować pliku konfiguracyjnego: odśwież stronę, aby spróbować ponownie.",
"Unsupported browser": "Niewspierana przeglądarka", "Unsupported browser": "Niewspierana przeglądarka",
"Please install <chromeLink>Chrome</chromeLink>, <firefoxLink>Firefox</firefoxLink>, or <safariLink>Safari</safariLink> for the best experience.": "Zainstaluj <chromeLink>Chrome</chromeLink>, <firefoxLink>Firefox</firefoxLink>, lub <safariLink>Safari</safariLink> w celu zapewnienia najlepszego działania.", "Please install <chromeLink>Chrome</chromeLink>, <firefoxLink>Firefox</firefoxLink>, or <safariLink>Safari</safariLink> for the best experience.": "Zainstaluj <chromeLink>Chrome</chromeLink>, <firefoxLink>Firefox</firefoxLink>, lub <safariLink>Safari</safariLink> w celu zapewnienia najlepszego działania.",
"You can continue using your current browser, but some or all features may not work and the look and feel of the application may be incorrect.": "Możesz kontynuować używając obecnej przeglądarki, lecz niektóre lub wszystkie funkcje mogą nie działać oraz wygląd aplikacji może być niepoprawny.", "You can continue using your current browser, but some or all features may not work and the look and feel of the application may be incorrect.": "Możesz kontynuować używając obecnej przeglądarki, lecz niektóre lub wszystkie funkcje mogą nie działać oraz wygląd aplikacji może być niepoprawny.",
"I understand the risks and wish to continue": "Rozumiem ryzyko i chcę kontynuować", "I understand the risks and wish to continue": "Rozumiem ryzyko i chcę kontynuować",
"Go to element.io": "Przejdź do element.io", "Go to element.io": "Przejdź do element.io",
"Failed to start": "Nie udało się wystartować", "Failed to start": "Nie udało się wystartować",
"Download Completed": "Pobieranie Zakończone", "Download Completed": "Pobieranie zakończone",
"Open": "Otwórz", "Open": "Otwórz",
"Your browser can't run %(brand)s": "Twoja przeglądarka nie obsługuje %(brand)s", "Your browser can't run %(brand)s": "Twoja przeglądarka nie obsługuje %(brand)s",
"%(brand)s uses advanced browser features which aren't supported by your current browser.": "%(brand)s używa zaawansowanych funkcji które nie są dostępne w obecnej przeglądarce.", "%(brand)s uses advanced browser features which aren't supported by your current browser.": "%(brand)s używa funkcji zaawansowanych, które nie są dostępne w Twojej przeglądarce.",
"Your Element configuration contains invalid JSON. Please correct the problem and reload the page.": "Twoja konfiguracja Elementa zawiera niepoprawny JSON. Rozwiąż problem i odśwież stronę.", "Your Element configuration contains invalid JSON. Please correct the problem and reload the page.": "Twoja konfiguracja Elementa zawiera nieprawidłowy JSON. Rozwiąż problem i odśwież stronę.",
"Your Element is misconfigured": "Twój Element jest nieprawidłowo skonfigurowany", "Your Element is misconfigured": "Twój Element jest nieprawidłowo skonfigurowany",
"Powered by Matrix": "Zasilane przez Matrix", "Powered by Matrix": "Zasilane przez Matrix",
"Use %(brand)s on mobile": "Użyj %(brand)s w telefonie", "Use %(brand)s on mobile": "Użyj %(brand)s w telefonie",

View File

@ -6,14 +6,14 @@
"The message from the parser is: %(message)s": "Thông báo của trình xử lý là: %(message)s", "The message from the parser is: %(message)s": "Thông báo của trình xử lý là: %(message)s",
"Invalid JSON": "JSON không hợp lệ", "Invalid JSON": "JSON không hợp lệ",
"Invalid configuration: can only specify one of default_server_config, default_server_name, or default_hs_url.": "Thiết lập không hợp lệ: chỉ có thể điền một trong số sau default_server_config, default_server_name, hoặc default_hs_url.", "Invalid configuration: can only specify one of default_server_config, default_server_name, or default_hs_url.": "Thiết lập không hợp lệ: chỉ có thể điền một trong số sau default_server_config, default_server_name, hoặc default_hs_url.",
"Invalid configuration: no default server specified.": "Cấu hình không hợp lệ: chưa chỉ định máy chủ mặc định.", "Invalid configuration: no default server specified.": "Thiết lập không hợp lệ: chưa chỉ định máy chủ mặc định.",
"Sign In": "Đăng nhập", "Sign In": "Đăng nhập",
"Create Account": "Tạo tài khoản", "Create Account": "Tạo tài khoản",
"Explore rooms": "Khám phá phòng chat", "Explore rooms": "Khám phá các phòng",
"Download Completed": "Tải xuống hoàn tất", "Download Completed": "Tải xuống hoàn tất",
"Go to element.io": i đến element.io", "Go to element.io": ến element.io",
"I understand the risks and wish to continue": "Tôi hiểu các rủi ro và muốn tiếp tục", "I understand the risks and wish to continue": "Tôi hiểu rủi ro và muốn tiếp tục",
"You can continue using your current browser, but some or all features may not work and the look and feel of the application may be incorrect.": "Bạn có thể tiếp tục sử dụng trình duyệt hiện tại, tuy nhiên một số hoặc tất cả tính năng có thể sẽ không hoạt động và trải nghiệm ứng dụng có thể sẽ không được tốt.", "You can continue using your current browser, but some or all features may not work and the look and feel of the application may be incorrect.": "Bạn có thể tiếp tục sử dụng trình duyệt hiện tại, tuy nhiên các tính năng có thể sẽ không hoạt động và trải nghiệm ứng dụng có thể sẽ không được tốt.",
"Please install <chromeLink>Chrome</chromeLink>, <firefoxLink>Firefox</firefoxLink>, or <safariLink>Safari</safariLink> for the best experience.": "Hãy cài đặt <chromeLink>Chrome</chromeLink>, <firefoxLink>Firefox</firefoxLink>, hoặc <safariLink>Safari</safariLink> để có trải nghiệm tốt nhất.", "Please install <chromeLink>Chrome</chromeLink>, <firefoxLink>Firefox</firefoxLink>, or <safariLink>Safari</safariLink> for the best experience.": "Hãy cài đặt <chromeLink>Chrome</chromeLink>, <firefoxLink>Firefox</firefoxLink>, hoặc <safariLink>Safari</safariLink> để có trải nghiệm tốt nhất.",
"%(brand)s uses advanced browser features which aren't supported by your current browser.": "%(brand)s sử dụng một số tính năng nâng cao mà trình duyệt của bạn không thể đáp ứng.", "%(brand)s uses advanced browser features which aren't supported by your current browser.": "%(brand)s sử dụng một số tính năng nâng cao mà trình duyệt của bạn không thể đáp ứng.",
"Your browser can't run %(brand)s": "Trình duyệt của bạn không thể chạy %(brand)s", "Your browser can't run %(brand)s": "Trình duyệt của bạn không thể chạy %(brand)s",
@ -21,10 +21,12 @@
"Go to your browser to complete Sign In": "Mở trình duyệt web để hoàn thành đăng nhập", "Go to your browser to complete Sign In": "Mở trình duyệt web để hoàn thành đăng nhập",
"Open": "Mở", "Open": "Mở",
"Unable to load config file: please refresh the page to try again.": "Không thể tải tệp cấu hình: hãy tải lại trang để thử lại.", "Unable to load config file: please refresh the page to try again.": "Không thể tải tệp cấu hình: hãy tải lại trang để thử lại.",
"Failed to start": "Khởi động thất bại", "Failed to start": "Không khởi động được",
"Use %(brand)s on mobile": "Sử dụng %(brand)s trên di động", "Use %(brand)s on mobile": "Sử dụng %(brand)s trên di động",
"Powered by Matrix": "Được chạy trên giao thức Matrix", "Powered by Matrix": "Được chạy trên giao thức Matrix",
"Your Element configuration contains invalid JSON. Please correct the problem and reload the page.": "Thiết lập Element của bạn chứa JSON không hợp lệ. Vui lòng sửa vấn đề và tải lại trang.", "Your Element configuration contains invalid JSON. Please correct the problem and reload the page.": "Thiết lập Element của bạn đang chứa mã JSON không hợp lệ. Vui lòng sửa lại và tải lại trang.",
"Your Element is misconfigured": "Element của bạn bị thiết lập sai", "Your Element is misconfigured": "Element đang bị thiết lập sai",
"Decentralised, encrypted chat &amp; collaboration powered by $matrixLogo": "Dịch vụ chat &amp; liên lạc đã được mã hóa, phi tập trung. Được cung cấp bởi $matrixLogo" "Decentralised, encrypted chat &amp; collaboration powered by $matrixLogo": "Dịch vụ nhắn tin &amp; liên lạc được mã hóa, phi tập trung. Được cung cấp bởi $matrixLogo",
"%(appName)s: %(browserName)s on %(osName)s": "%(appName)s: %(browserName)s trên %(osName)s",
"%(brand)s Desktop: %(platformName)s": "%(brand)s máy tính: %(platformName)s"
} }

View File

@ -107,7 +107,8 @@ export async function loadApp(fragParams: {}): Promise<ReactElement> {
const ssoRedirects = parseSsoRedirectOptions(config); const ssoRedirects = parseSsoRedirectOptions(config);
let autoRedirect = ssoRedirects.immediate === true; let autoRedirect = ssoRedirects.immediate === true;
// XXX: This path matching is a bit brittle, but better to do it early instead of in the app code. // XXX: This path matching is a bit brittle, but better to do it early instead of in the app code.
const isWelcomeOrLanding = window.location.hash === "#/welcome" || window.location.hash === "#"; const isWelcomeOrLanding =
window.location.hash === "#/welcome" || window.location.hash === "#" || window.location.hash === "";
if (!autoRedirect && ssoRedirects.on_welcome_page && isWelcomeOrLanding) { if (!autoRedirect && ssoRedirects.on_welcome_page && isWelcomeOrLanding) {
autoRedirect = true; autoRedirect = true;
} }

View File

@ -21,7 +21,13 @@ import type { IConfigOptions } from "matrix-react-sdk/src/IConfigOptions";
export async function getVectorConfig(relativeLocation = ""): Promise<IConfigOptions | undefined> { export async function getVectorConfig(relativeLocation = ""): Promise<IConfigOptions | undefined> {
if (relativeLocation !== "" && !relativeLocation.endsWith("/")) relativeLocation += "/"; if (relativeLocation !== "" && !relativeLocation.endsWith("/")) relativeLocation += "/";
const specificConfigPromise = getConfig(`${relativeLocation}config.${window.location.hostname}.json`); // Handle trailing dot FQDNs
let domain = window.location.hostname.trimEnd();
if (domain[domain.length - 1] === ".") {
domain = domain.slice(0, -1);
}
const specificConfigPromise = getConfig(`${relativeLocation}config.${domain}.json`);
const generalConfigPromise = getConfig(relativeLocation + "config.json"); const generalConfigPromise = getConfig(relativeLocation + "config.json");
try { try {

View File

@ -28,7 +28,7 @@
style-src 'self' 'unsafe-inline' <%= csp_extra_source %>; style-src 'self' 'unsafe-inline' <%= csp_extra_source %>;
script-src 'self' 'wasm-unsafe-eval' https://www.recaptcha.net/recaptcha/ https://www.gstatic.com/recaptcha/ <%= csp_extra_source %>; script-src 'self' 'wasm-unsafe-eval' https://www.recaptcha.net/recaptcha/ https://www.gstatic.com/recaptcha/ <%= csp_extra_source %>;
img-src * blob: data:; img-src * blob: data:;
connect-src *; connect-src * blob:;
font-src 'self' data: <%= csp_extra_source %>; font-src 'self' data: <%= csp_extra_source %>;
media-src * blob: data:; media-src * blob: data:;
child-src * blob: data:; child-src * blob: data:;

View File

@ -19,6 +19,7 @@ limitations under the License.
*/ */
import { logger } from "matrix-js-sdk/src/logger"; import { logger } from "matrix-js-sdk/src/logger";
import { extractErrorMessageFromError } from "matrix-react-sdk/src/components/views/dialogs/ErrorDialog";
// These are things that can run before the skin loads - be careful not to reference the react-sdk though. // These are things that can run before the skin loads - be careful not to reference the react-sdk though.
import { parseQsFromFragment } from "./url_utils"; import { parseQsFromFragment } from "./url_utils";
@ -194,7 +195,7 @@ async function start(): Promise<void> {
await loadConfigPromise; await loadConfigPromise;
} catch (error) { } catch (error) {
// Now that we've loaded the theme (CSS), display the config syntax error if needed. // Now that we've loaded the theme (CSS), display the config syntax error if needed.
if (error.err && error.err instanceof SyntaxError) { if (error instanceof SyntaxError) {
// This uses the default brand since the app config is unavailable. // This uses the default brand since the app config is unavailable.
return showError(_t("Your Element is misconfigured"), [ return showError(_t("Your Element is misconfigured"), [
_t( _t(
@ -202,7 +203,7 @@ async function start(): Promise<void> {
"Please correct the problem and reload the page.", "Please correct the problem and reload the page.",
), ),
_t("The message from the parser is: %(message)s", { _t("The message from the parser is: %(message)s", {
message: error.err.message || _t("Invalid JSON"), message: error.message || _t("Invalid JSON"),
}), }),
]); ]);
} }
@ -231,7 +232,7 @@ async function start(): Promise<void> {
// Like the compatibility page, AWOOOOOGA at the user // Like the compatibility page, AWOOOOOGA at the user
// This uses the default brand since the app config is unavailable. // This uses the default brand since the app config is unavailable.
await showError(_t("Your Element is misconfigured"), [ await showError(_t("Your Element is misconfigured"), [
err.translatedMessage || _t("Unexpected error preparing the app. See console for details."), extractErrorMessageFromError(err, _t("Unexpected error preparing the app. See console for details.")),
]); ]);
} }
} }

View File

@ -28,7 +28,7 @@ import Favicon from "../../favicon";
* Vector-specific extensions to the BasePlatform template * Vector-specific extensions to the BasePlatform template
*/ */
export default abstract class VectorBasePlatform extends BasePlatform { export default abstract class VectorBasePlatform extends BasePlatform {
protected _favicon: Favicon; protected _favicon?: Favicon;
public async getConfig(): Promise<IConfigOptions | undefined> { public async getConfig(): Promise<IConfigOptions | undefined> {
return getVectorConfig(); return getVectorConfig();

View File

@ -611,10 +611,6 @@ describe("loading:", function () {
httpBackend.when("GET", "/login").respond(200, { flows: [{ type: "m.login.password" }] }); httpBackend.when("GET", "/login").respond(200, { flows: [{ type: "m.login.password" }] });
httpBackend.flush(undefined); // We already would have tried the GET /login request httpBackend.flush(undefined); // We already would have tried the GET /login request
// Give the component some time to finish processing the login flows before
// continuing.
await sleep(100);
httpBackend httpBackend
.when("POST", "/login") .when("POST", "/login")
.check(function (req) { .check(function (req) {
@ -628,6 +624,11 @@ describe("loading:", function () {
device_id: "DEVICE_ID", device_id: "DEVICE_ID",
access_token: "access_token", access_token: "access_token",
}); });
// Give the component some time to finish processing the login flows before continuing.
await waitFor(() => expect(matrixChat?.container.querySelector("#mx_LoginForm_username")).toBeTruthy());
// Enter login details
fireEvent.change(matrixChat.container.querySelector("#mx_LoginForm_username")!, { target: { value: "user" } }); fireEvent.change(matrixChat.container.querySelector("#mx_LoginForm_username")!, { target: { value: "user" } });
fireEvent.change(matrixChat.container.querySelector("#mx_LoginForm_password")!, { target: { value: "pass" } }); fireEvent.change(matrixChat.container.querySelector("#mx_LoginForm_password")!, { target: { value: "pass" } });
fireEvent.click(screen.getByText("Sign in", { selector: ".mx_Login_submit" })); fireEvent.click(screen.getByText("Sign in", { selector: ".mx_Login_submit" }));

View File

@ -18,5 +18,15 @@
"strictBindCallApply": true, "strictBindCallApply": true,
"noImplicitThis": true "noImplicitThis": true
}, },
"include": ["./src/**/*.ts", "./src/**/*.tsx", "./test/**/*.ts", "./test/**/*.tsx"] "include": [
"./node_modules/matrix-js-sdk/src/@types/*.d.ts",
"./node_modules/matrix-react-sdk/src/@types/diff-dom.d.ts",
"./node_modules/matrix-react-sdk/src/@types/opus-recorder.d.ts",
"./node_modules/matrix-react-sdk/src/@types/png-chunks-extract.d.ts",
"./node_modules/matrix-react-sdk/src/@types/sanitize-html.d.ts",
"./src/**/*.ts",
"./src/**/*.tsx",
"./test/**/*.ts",
"./test/**/*.tsx"
]
} }

View File

@ -207,8 +207,10 @@ module.exports = (env, argv) => {
// Same goes for js/react-sdk - we don't need two copies. // Same goes for js/react-sdk - we don't need two copies.
"matrix-js-sdk": path.resolve(__dirname, "node_modules/matrix-js-sdk"), "matrix-js-sdk": path.resolve(__dirname, "node_modules/matrix-js-sdk"),
"matrix-react-sdk": path.resolve(__dirname, "node_modules/matrix-react-sdk"), "matrix-react-sdk": path.resolve(__dirname, "node_modules/matrix-react-sdk"),
// and sanitize-html // and sanitize-html & matrix-events-sdk & matrix-widget-api
"sanitize-html": path.resolve(__dirname, "node_modules/sanitize-html"), "sanitize-html": path.resolve(__dirname, "node_modules/sanitize-html"),
"matrix-events-sdk": path.resolve(__dirname, "node_modules/matrix-events-sdk"),
"matrix-widget-api": path.resolve(__dirname, "node_modules/matrix-widget-api"),
// Define a variable so the i18n stuff can load // Define a variable so the i18n stuff can load
"$webapp": path.resolve(__dirname, "webapp"), "$webapp": path.resolve(__dirname, "webapp"),

917
yarn.lock

File diff suppressed because it is too large Load Diff