Commit Graph

2834 Commits (8e45d5053bf30471fa3d4ab49518a196e7cee06e)

Author SHA1 Message Date
Andrew Ferrazzutti ff15249f03
Make widget tests throw when a modal is shown (#12834)
Instead of waiting for tests to time out if they show a dialog that they
cannot interact with, throw an error immediately if a dialog is shown.
2024-08-08 11:45:20 +00:00
Andrew Ferrazzutti a437c677bb
Support delayed events (MSC4140) for call widget (#12714)
The Widget API spec for delayed events is defined by MSC4157.

Also support "parent" delayed events, which were in a previous version
of MSC4140 and may be reintroduced or be part of a new MSC later.
2024-08-07 15:06:30 +00:00
David Langley 5d16a38b17
Rich text Editor: Auto-replace plain text emoticons with emoji (#12828)
* Detect autoReplaceEmoji setting

* Add plain text emoticon to emoji replacement for plain and rich text modes of the RTE.

* Use latest wysiwyg

* lint

* fix existing jest tests and docs

* Add unit tests

* Update wysiwyg to fix flakes.

* fix wording of tests and comments

* use useSettingValue
2024-08-07 08:39:55 +00:00
David Langley e6835fe9d2
Clean up editor drafts for unknown rooms (#12850)
* Clean up editor drafts for unknown rooms and add tests.

* lint

* Call cleanUpDraftsIfRequired when we know a live update has completed.

* Fix test for new call site of draft cleaning

* fix test
2024-08-07 08:35:57 +00:00
Michael Telatynski 8285283cc3
Make tests more resilient for React 18 upgrade (#12861)
* Make tests more resilient for React 18 upgrade

Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>

* Iterate

Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>

* Iterate

Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>

* Iterate

Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>

* Iterate

Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>

* Delint

Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>

---------

Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2024-08-06 17:22:02 +00:00
David Baker 4e4c5c7768
Rename general user settings to account (#12841)
* Rename general user settings to account

Everything 'general' is now elsewhere, so this is ready for its
new name.

* Update snapshots

* Rename & update playwright test

* Rename class & remove unused CSS class

* Change test ID

* rethemendex

* More tests!!

* snapshots

* Put the screenshots back in the new place

* Fix tests with restoreAllMocks

* More screenshot renaming

* More test fixes & screenshot updates

* More test fixes

* un-skip

* Typo

Co-authored-by: Robin <robin@robin.town>

---------

Co-authored-by: Robin <robin@robin.town>
2024-08-06 17:05:08 +00:00
David Baker 6ca4f670bf
Update settings tab icons (#12867)
* Change icon for general/account tab

...and add support for compound design token icons to TabbedView,
changing all the other icons over while we're at it.

* Update snapshots

* Fix responsive mode

* Missed one

* truthy-check the whole block

* Use asset imports

* Update snapshots
2024-08-06 16:08:45 +00:00
Michael Telatynski 5519b81af9
Disable jump to read receipt button instead of hiding when nothing to jump to (#12863)
* Disable User Info jump to read receipt button instead of hiding it when no RR

Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>

* Update tests

Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>

* Update snapshot

Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>

* Remove non-functional code

Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>

* delint

Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>

---------

Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2024-08-06 14:55:48 +00:00
Michael Telatynski dde19f36ac
Add missing presence indicator to new room header (#12865)
* Add missing presence indicator to new room header

DecoratedRoomAvatar doesn't match Figma styles so created a composable avatar wrapper

Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>

* Add oobData to new room header avatar

Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>

* Simplify

Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>

* Iterate

Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>

* Simplify

Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>

* Add tests

Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>

* Improve coverage

Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>

---------

Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2024-08-06 14:51:25 +00:00
Michael Telatynski a7bc0e4612
Merge branch 'master' into develop 2024-08-06 11:46:52 +01:00
Michael Telatynski edf32d245a
Fix types
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2024-08-06 11:23:26 +01:00
David Baker c7bbc1c045
Merge commit from fork
and migrate existing account-level settings once-only for
existing sessions.
2024-08-06 10:54:11 +01:00
David Baker 69efe91bb5 More reanaming & snapshot 2024-08-01 21:15:05 +01:00
David Baker d60d28d7c4 More snapshots 2024-08-01 18:06:30 +01:00
David Baker a634542450 Update snapshot 2024-08-01 17:56:17 +01:00
Michael Telatynski c1d4199b02
Upgrade target to es2022 (#12852)
* Upgrade target to es2021

Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>

* Upgrade to es2022

Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>

* Fix babel config

Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>

* Fix React contexts

Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>

* Fix types

Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>

* Fix React state

Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>

* Iterate

Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>

---------

Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2024-08-01 16:14:28 +00:00
Andrew Ferrazzutti 127051892d
Invite dialog: display MXID on its own line (#11756)
* Invite dialog: display MXID on its own line

Signed-off-by: Andrew Ferrazzutti <andrewf@element.io>

* Refactor to satisfy i18n linter

Signed-off-by: Andrew Ferrazzutti <andrewf@element.io>

---------

Signed-off-by: Andrew Ferrazzutti <andrewf@element.io>
2024-08-01 14:17:49 +00:00
Michael Telatynski a38a5161ef
Align RoomSummaryCard styles with Figma (#12793)
* Extract useIsVideoRoom hook

Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>

* Align RoomSummaryCard styles with Figma

Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>

* Update screenshots

Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>

* Update screenshot

Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>

---------

Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2024-08-01 12:00:40 +00:00
Michael Telatynski b6addb4118
Fix React contexts (#12855) 2024-08-01 13:01:05 +01:00
herkulessi fa60edf00f
Ignore permalink_prefix when serializing pills (#11726)
* Ignore permalink_prefix when serializing Markdown

fixes vector-im/element-web/issues/26002

During serialization of messages, pills were wrongfully serialized to a URL
starting with `permalink_prefix`. This is against the Spec (which mandates
https://matrix.to/#/ links) and the resulting pills were not recognized as
pills in other clients.

Spec-Appendix concerning matrix.to links: https://spec.matrix.org/v1.8/appendices/#matrixto-navigation

Signed-off-by: Lars Wickel <git@herkulessi.de>

* Test for pill serialization with permalink_prefix set

Signed-off-by: Lars Wickel <git@herkulessi.de>

* Test that permalink_prefix is used for permalink creation

Signed-off-by: Lars Wickel <git@herkulessi.de>

* Fix lint issues introduced

Signed-off-by: Lars Wickel <git@herkulessi.de>

* Incorporate requested changes

Signed-off-by: Lars Wickel <git@herkulessi.de>

---------

Signed-off-by: Lars Wickel <git@herkulessi.de>
Co-authored-by: herkulessi <git@herkulessi.de>
Co-authored-by: David Baker <dbkr@users.noreply.github.com>
2024-08-01 11:17:44 +00:00
David Baker a0c029c3c1
Fix alignment of RTL messages (#12837)
* Fix alignment of RTL messages

Inspired by https://github.com/matrix-org/matrix-react-sdk/pull/5453 but
hopefully with the edited marker in the right place.

This is a PoC: types aren't correct and the style needs pulling
out to a class. Plus it would probably need more visual tests added.
If this looks acceptable, I can make these changes.

* Fix spacing between text and edited annotation

* Update snapshot

* Update more snapshots

* More snapshots

* More more snapshots

* Split out style

* Fix emotes

This will cause them always be right-justified if the display name
is rtl.

* Add playwright test for ltr/rtl message rendering

* Better snapshots

* Await on message sending

* Better waiting, hopefully

* Old snapshot files

* Really hopefully fixed screenshots this time

* Don't include the message action bar in the screenshots
2024-07-31 22:23:46 +00:00
Michael Telatynski f3ac6692da
Handle media download errors better (#12848)
* Handle media download errors better

Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>

* Add test

Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>

* Show error if media download failed

Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>

* More tests

Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>

---------

Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2024-07-31 14:07:59 +00:00
Michael Telatynski b55653ddf0
Extract Extensions into their own right panel tab (#12844)
* Extract useIsVideoRoom hook

Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>

* Move useWidgets hook to WidgetUtils

Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>

* Extract Extensions into their own right panel tab

Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>

* Remove unused components & classes

Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>

* Tests

Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>

* Update screenshots

Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>

---------

Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2024-07-31 09:38:25 +00:00
Michael Telatynski fae5bf1612
Remove topic from new room header and expand right panel topic (#12842)
* Remove topic from new Room Header

Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>

* Hide topic edit in right panel unless user has permission to edit

Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>

* Expand right panel room topic by default

Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>

* Fix text align of topic in right panel

Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>

* Update tests

Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>

* Fix topic colour in right panel

Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>

* Delint

Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>

* Update snapshot

Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>

* Exclude `Add topic` from text-align

Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>

* Don't show `Add topic` if !perms

Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>

---------

Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2024-07-31 09:23:01 +00:00
Michael Telatynski 02047243f0
Rework how the onboarding notifications task works (#12839)
* Rework how the onboarding notifications task works

Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>

* Add test

Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>

* Iterate

Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>

---------

Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2024-07-30 14:55:08 +00:00
David Baker 272a66baa5
Split up bodyToHtml (#12840)
* Split up bodyToHtml

This (very incrementally) splits up the bodyToHtml function to avoid
the multiple return types and hopefully make it a touch easier to
comprehend. I'd also like to see what the test coverage says about
this, so this is is somewhat experimental. This shouldn't change
any behaviour but the comments in this function indiciate just how
subtle it is.

* Remove I prefix

* Missed emoji formatting part
2024-07-30 13:35:16 +00:00
Michael Telatynski b0392b8fc3
Update toast styles to match Figma (#12833)
* Warn users on unsupported browsers before they lack features

Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>

* Update Learn more link

Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>

* Iterate

Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>

* Iterate

Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>

* Update toast styles to match Figma

Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>

* Remove test code

Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>

* update tests

Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>

* Update tests

Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>

* Update snapshots

---------

Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2024-07-30 12:57:15 +00:00
Michael Telatynski a12c1874f9
Warn users on unsupported browsers before they lack features (#12830)
* Warn users on unsupported browsers before they lack features

Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>

* Update Learn more link

Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>

* Iterate

Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>

* Iterate

Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>

* Add comments

Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>

---------

Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2024-07-29 16:05:34 +00:00
David Baker c2c108957e
Add sign out button to settings profile section (#12666)
* Add sign out button to settings profile section

And move the logic for displaying the dialog out of the user menu
to somewhere it can be re-used.

Also close any open dialog on logout, because otherwise, well... you
can guess.

* Missing import

* Update screenshot

* This button doesn't need to be an anchor

* Use Flex component

* Use new force-close function

* More tests
2024-07-29 12:53:44 +00:00
Łukasz Polowczyk c1420ba126
Allow Chrome page translator to translate messages in rooms (#11113)
* support message translation in chat

* Update src/HtmlUtils.tsx

* update snapshots

* Convert TextualBody-test to use snapshots

---------

Co-authored-by: Richard van der Hoff <1389908+richvdh@users.noreply.github.com>
Co-authored-by: Richard van der Hoff <richard@matrix.org>
2024-07-25 16:58:33 +00:00
Timo 3c370c6cbc
Remove MatrixRTC realted import ES lint exceptions using a index.ts for matrixrtc (#12780)
* update restricted import rules for matrixrtc

* review

* upgrade matrix-js-sdk

* add missing import
2024-07-25 12:49:41 +00:00
Timo 2e0716cc59
Fix unwanted ringing of other devices even though the user is already connected to the call. (#12742)
* Fix call ringing on other device when already joined.
This is done by checking if a user is already connected to the call on
another device before playing the ring sound.

* Add test
2024-07-25 09:34:19 +00:00
Timo 72e7df0f13
Acknowledge `DeviceMute` widget actions (#12790)
* acknowledge DeviceMute widget actions (to prevent sending the  default error response to the widget)

* rephrase comment

* test for widget action ack
2024-07-25 09:29:01 +00:00
ElementRobot 0e2ba42ad7
[Backport staging] Update compound-design-tokens to satisfy compound-web peer dependency (#12820)
Co-authored-by: Michael Telatynski <7t3chguy@gmail.com>
2024-07-24 11:22:21 +00:00
ElementRobot 63848da251
[Backport staging] Fix broken jest tests on develop (#12821)
Co-authored-by: R Midhun Suresh <hi@midhun.dev>
2024-07-24 12:17:37 +01:00
Michael Telatynski ae18bb9ba4
Update compound-design-tokens to satisfy compound-web peer dependency (#12808)
* Update compound-design-tokens to satisfy compound-web peer dependency

Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>

* Update snapshots

Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>

---------

Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2024-07-24 09:49:33 +00:00
R Midhun Suresh a35ab23eff
Update snapshot (#12806) 2024-07-24 08:39:20 +00:00
R Midhun Suresh dafc97fe83
Add release announcement for the new room header (#12802) 2024-07-23 12:46:24 +01:00
R Midhun Suresh bb1b7f1fd0
Default the room header to on (#12803)
* Default the room header to on

* Refactor code into helper method

Add a method to open/close the room info panel and use it everywhere.

* Fix broken tests, update snapshots and screenshots

* Update room header tests to make sense with the new header
2024-07-23 10:56:25 +00:00
Michael Telatynski 25fcd6a65f
Update Thread Panel to match latest designs (#12797)
* Add reusable empty state for the right panel

Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>

* Update tests

Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>

* Improve coverage

Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>

* Update Thread Panel to match latest Figma

Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>

* Update tests

Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>

* i18n

Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>

* Use --cpd-space var

Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>

---------

Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2024-07-23 09:12:07 +00:00
David Baker 5308c91842
Close any open modals on logout (#12777)
* Close any open modals on logout

Split out from https://github.com/matrix-org/matrix-react-sdk/pull/12666

* Add test
2024-07-23 08:08:22 +00:00
Michael Telatynski 0fc1c53a8e
Iterate design of right panel empty state (#12796)
* Add reusable empty state for the right panel

Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>

* Update tests

Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>

* Improve coverage

Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>

---------

Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2024-07-19 17:17:40 +00:00
Michael Telatynski f706ac4fa1
Update styling of UserInfo right panel card (#12788)
* Add colour to PresenceLabel in UserInfo

Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>

* Update button positions & styles in UserInfo

Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>

* Update UserInfo styles

Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>

* Update tests

Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>

* Revert Ignore->Block copy change

Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>

---------

Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2024-07-18 14:24:44 +00:00
David Baker 39d453a5a3
Stop using the js-sdk's compare function (#12782)
* Stop using the js-sdk's compare function

The file is supposed to be a js-sdk internal module so we shouldn't
have been using it, and now it uses the native collator, it's completely
trivial. It was also causing Intl.Collator to be accessed at the module
scope which risked it beating the modernizr check.

* add test

* Fix tests

Move the restoreAllMocks to prevent mock leakage and also add
some custom themes to test the ordering of those.

* Move spy to the right place

* Add ANOTHER test

* Add test for integration manager ordering
2024-07-17 13:51:42 +00:00
Alex Kirk 3c9bd69d48
Accessibility: Add Landmark navigation (#12190)
Co-authored-by: R Midhun Suresh <hi@midhun.dev>
2024-07-17 14:46:45 +01:00
Michael Telatynski 4edf4e42cd
Remove SpaceScopeHeader (#12785)
* Remove SpaceScopeHeader

It is no longer necessary as we no longer offer the ability to open the member list for a space from any random room.

Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>

* Remove stale test

Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>

* Update tests

Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>

---------

Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2024-07-17 12:54:35 +00:00
David Baker c57d8463b9
Clear settings store cache on logout (#12786)
And clear it in the widget layout store test, also fixing the tests
which didn't actually individually as they actually relied on the state
bleeding between tests.
2024-07-17 09:58:07 +00:00
Andrew Ferrazzutti 59d08d84b0
Let Element Call widget receive m.room.create (#12710)
* Let Element Call widget receive m.room.create

This allows the widget to check the room version without prompting the
user to grant that capability, so the widget can know about
version-specific auth rules (namely MSC3779).

* Test that call widgets get RoomCreate events
2024-07-16 14:07:40 +00:00
Andrew Ferrazzutti c843a4163a
Let Element Call widget set session memberships (#12713)
* Let Element Call widget set session memberships

Grant Element Call widgets permission to set device-specific session
membership state events.

* Lint

* Test that call widgets can set session membership

* Add comments for each membership type
2024-07-16 12:46:17 +00:00
Michael Telatynski f7a078d250
Update right panel base card styling to match Compound (#12768)
* Update base card styling to match Compound

Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>

* Update screenshot

Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>

---------

Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2024-07-16 09:03:35 +00:00