Commit Graph

450 Commits

Author SHA1 Message Date
Hubert Chathi 220f68935e Periodically nag the user if their device remains unverified (#33346)
* nag the user to verify their device 2 days after they dismiss the toast

* lint

* recheck doesn't need to be awaited

* call setDeviceState
2026-05-26 23:49:40 +00:00
David Baker 2b4f983bb7 Increase timeout on BeaconViewDialog (#33607)
standard 1s doesn't seem long enough to avoid flakes
2026-05-26 17:52:04 +00:00
David Baker d533522663 Fix misaligned display name on desktop (#33623)
* Fix misaligned display name on desktop

Move the usermenu custom class to the whole thing, not just the button

* Update comment

* Update snapshot
2026-05-26 14:02:01 +00:00
R Midhun Suresh bc7ac39d5b Use the separator as border between roomlist and main panel (#33598)
* Remove border from roomlist container

The separator will act as the border so we no longer need the roomlist
border.

* Use pointer events to detect click event

Otherwise the onClick handler would run when you resize the panel.

* Support showing the border in separator

* Update tests

* Disable double click behaviour on separator

* Fix screenshot tests failing
2026-05-26 11:22:41 +01:00
Michael Telatynski f0342ddbd2 Add support for m.recent_emoji account data event (#33172)
* Improve types in AccountSettingsHandler

* Add support for `m.recent_emoji` account data event

Maintains read-compatibility with `io.element.recent_emoji`

* Iterate

* Make ts happier

* Improve coverage

* Improve coverage

* Improve coverage
2026-05-26 08:30:02 +00:00
David Baker 5cfb68962d Fix missed await in ChangePassword (#33588)
Looks like this probably ought to be awaited, anyway, although
I'm not convinced it's the cause of the flake I'm seeing.
2026-05-26 08:08:33 +00:00
rbondesson 15626733b1 Fix copyright texts (#33613) 2026-05-26 07:44:43 +00:00
Zack 384db1faaf Move E2ePadlock icon colors to CSS module (#33577)
* Move E2ePadlock icon colors to CSS module

* update react id labelling

* Update E2eMessageSharedIcon snapshots
2026-05-26 07:13:15 +00:00
rbondesson 5486a22922 Refactor EventTile using the MVVM pattern - #5b (#33600)
* Extract EventTile E2E padlock state

* Refactor EventTile E2E padlock rendering after review comments
2026-05-26 06:36:05 +00:00
ElementRobot f3bbf2c67a [create-pull-request] automated change (#33508)
Co-authored-by: t3chguy <2403652+t3chguy@users.noreply.github.com>
2026-05-26 06:12:35 +00:00
renovate[bot] d63792f672 Update dependency caniuse-lite to v1.0.30001793 (#33552)
* Update dependency caniuse-lite to v1.0.30001793

* Update browser support tests

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: David Baker <dbkr@users.noreply.github.com>
2026-05-25 14:23:38 +00:00
rbondesson 40fbe1fae1 Stabilise flaky QR code rendering tests (#33593)
* Stabilise QR code rendering tests

* Extract QR mocking code to test-utils
2026-05-25 07:10:10 +00:00
renovate[bot] 5a2f246577 Update electron (#33562)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-05-23 21:32:32 +00:00
renovate[bot] f88b2a4d4d Update docker.io/docker/dockerfile Docker tag to v1.24 (#33561)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-05-23 21:32:04 +00:00
renovate[bot] c38fed97a2 Update npm non-major dependencies (#33557)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-05-23 21:30:33 +00:00
renovate[bot] 1a78597e72 Update pnpm to v10.33.4 (#33558)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-05-23 19:38:40 +00:00
renovate[bot] fb64fcfd47 Update jest (#33556)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-05-23 18:57:31 +00:00
Andy Balaam db92f80e90 Simplify DeviceListener recheck logic using a failedCheck method (#32982)
* Extract the logic for a failed recheck into a method

This will allow us to simplify the logic that calls it.

* Remove unneeded log items

These are already known at the time of logging due to the surrounding
logic.

* Remove now-unneeded initial 'all is ok' check in DeviceListener
2026-05-22 22:10:13 +00:00
renovate[bot] 7ce244c0be Update css (#33560)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-05-22 21:32:17 +00:00
renovate[bot] 8afb7943a6 Update testcontainers docker digests (#33551)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-05-22 18:26:05 +00:00
rbondesson 03360eb260 Refactor EventTile using the MVVM pattern - #5a (#33587)
* Extract EventTile receipt state

* Extract EventTile thread state

* Extract EventTile reaction relation state

* Extract EventTile reply-chain state

* Keep reply chain collapse wiring in EventTile

* Reuse message event eligibility for receipts
2026-05-22 18:25:32 +00:00
renovate[bot] 6574863fcd Update rust:bullseye Docker digest to 28afaeb (#33550)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-05-22 17:22:21 +00:00
renovate[bot] 50ee22413f Update dependency sanitize-html to v2.17.4 [SECURITY] (#33583)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-05-22 16:05:38 +00:00
David Baker 5a1d7385f8 Hopefully bust another flake (#33584)
I guess this sometimes takes more than a second (!?)
2026-05-22 16:00:57 +00:00
rbondesson 7285293b7b Make shared-components tiles render identically outside Element Web - # 3 (#33529)
* Clean up unused app/web styling for ReactionsRow

* Align shared Storybook theme root with app/web

* Move PlayPauseButton styling into shared component

* Use closest compound icon color for all crypto events in both app/web and Storybook

* Updated snapshot

* Experimental strict color matching threshold for playwright

* Experimental color matching threshold for playwright

* Revert color matching threshold for playwright to the default value

* Updated screenshots after matching icon size in audio player with other media body components

* Changed icon color for crypto events accroding to recommendation from the design team

* Use --cpd-color-icon-primary for all crypto events

* Updated snapshots and screenshots after icon color changes

* Updated app/web snapshots and screenshots
2026-05-22 16:00:38 +00:00
Florian Duros 375fc140a6 Room list: reduce font size of sections (#33580)
* feat: reduce font size of section

* test: update existing screenshots

* test: update playwright screenshots
2026-05-22 15:55:27 +00:00
rbondesson 53fba7ff71 Mocking PasswordScorer.scorePassword to reduce risk of flakiness (#33591)
Co-authored-by: David Baker <dbkr@users.noreply.github.com>
2026-05-22 15:29:55 +00:00
David Baker 7e3d6bf562 Fix playwright tests (#33592)
* Fix playwright tests

The screenshot reporter was using an import that no longer works as
of playwright 1.60. Inline the function instead as it doesn't seem
to be importable.

* Our custom expect was importing itself?

How did that ever work?

* Nope, that doesn't seem to help

and also it was aiming the in in playwright common which should be the 2nd level of extension

* Provide non-overridden version of the same function

as per comment
2026-05-22 15:01:08 +01:00
renovate[bot] 63c2bb5aab Update playwright to v1.60.0 (#33565)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-05-22 11:44:06 +01:00
renovate[bot] 1175325fcd Update Node.js to 44aeb8a (#33549)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-05-21 16:47:34 +00:00
renovate[bot] 34c49b13f9 Update nginxinc/nginx-unprivileged:alpine-slim Docker digest to 01cb660 (#33548)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-05-21 16:47:11 +00:00
rbondesson 70e59c6221 Refactor EventTile using the MVVM pattern - #4 (#33539)
* Extract EventTile interaction state transitions

* Fix sonar issues
2026-05-21 13:41:58 +00:00
David Baker 4b0600f593 Press tab instead of blurring in playwright test (#33576)
This was flaking a lot: try a regular keypress instead of trying to
blur the element (which is closer to an actual user interaction anyway).
2026-05-21 13:00:50 +00:00
rbondesson 80024991aa Stabilise React useId values in DOM snapshots in element-web (#33579)
* Stabilise React useId values in DOM snapshots - app/web

* Stabilise React useId values in DOM snapshots - shared components

* Update additional snapshots

* Added comments and changed replace pattern to 'react-use-id-N'
2026-05-21 13:30:05 +01:00
R Midhun Suresh 7ce368537b Stabilize playwright tests by making the left panel constant width (#33451)
* Move css injection to panel.ts

- Inject css on event

* Upgrade package

* Fix playwright tests

* Remove RR instead of masking it

* Fix wrong import

* Fix playwright tests

* Fix more playwright tests

* Catch error and add comment
2026-05-21 09:49:03 +01:00
renovate[bot] f615cf7fab Update dependency @element-hq/element-call-embedded to v0.19.3 (#33546)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-05-20 15:44:23 +00:00
Andy Balaam df229eac2c Simplify DeviceListener logic: consider recovery disabled if backup is disabled (#32979)
If backup is disabled, recovery is implicitly disabled too, so there is
no need to warn about recovery being broken.
2026-05-20 15:04:40 +00:00
Andy Balaam 66cd1336e5 Remove the closeToast function and replace with calls to rejectToast (#33541) 2026-05-20 15:04:29 +00:00
David Baker 90ba56c1ce Make viewRoomByName dismiss toasts on each retry (#33542)
Otherwise it can just race, as per comment
2026-05-20 14:26:08 +00:00
Zack 223a861535 Move E2ePadlock to shared components (#33538)
* Move E2ePadlock to shared components

* Add storybook images

* Move translation to shared components

* Fix E2ePadlock story accessibility

* Update E2eMessageSharedIcon test for padlock role
2026-05-20 13:20:17 +00:00
David Baker b5aa339243 Increase timeout on wysiwig test (#33540)
To hopefully make it not flake
2026-05-20 10:54:59 +00:00
Florian Duros 4b6e0b7ebf Fix pinned message banner disappearing when a pinned message event is unkown (#33534)
* fix: remove unknown event when fetching pinned message events

* test: update tsts
2026-05-20 09:40:09 +00:00
rbondesson d41ff70057 Refactor EventTile using the MVVM pattern - #3 (#33516)
* Introduce thin EventTile view model snapshot

* Fix errors after merge conflict resolution
2026-05-20 08:32:05 +00:00
David Baker 0140563b64 Tweak new user menu design (#33444)
* Tweak new user menu design

* Update screenshots

* More screenshots

* Add story with no avatar

* add story to test

* Expand the menu so it actually shows what it's supposed to show

* Use the open parameter

which is the param to open the menu

* snapshot

* Add test for normal open menu version

* Move menu to the right of the avatar

and make it appear on top of the display name

* Fix user menu layout

* screenshots

* snapshot

* screenshots

* more screenshots

* Shift toasts to the left slightly

So they completely cover the display name of the user menu when
it's expanded. Also down slightly so they're level with the user menu.

* Tweak toast border radius & position

to match & sit on top of the user menu

* Close toasts in cider tests

* Only close the toast if it's actually there

* Fix some toasts to be dismissed & update screenshots

more to come though

* Make closeKeyStorageToast actually optional

* Fix some more toasts & races

* Screenshots again again (again)

* More screenshots

* Convert to rejectToast

* Fix toast rejectors to not wait and update screenshots

* Apparently 1ms is not long enough
2026-05-19 13:10:14 +00:00
R Midhun Suresh 00ccc97c79 Call Tile - Improve tile alignment in modern and bubble layout (#33478)
* Tile must have same indent as messages

* Align the call tiles between the bubbles
2026-05-19 09:18:30 +00:00
Will Hunt 02b6520f09 Module API for adding new file upload mechanisms (#33355)
* Initial reword of upload to MVVM.

* Update tests

* More incremental improvements

* Refactor tests to use helper method for composer uploads.

* Add drag and drop tests

* lint

* Add commentary

* fixup test

* More precise selector

* Retarget uploads

* lint

* fixup

* one more type

* update snap

* Fixup composerUploadFiles

* fix import

* lint

* Copy and paste fixes too

* Add tests for pasting

* Add tests for pasting files.

* Remove redundant fn

* rm comment

* tidy up

* Test cleanup

* More clean up

* another fix

* Begin fleshing out

* Park changes

* More stuff

* Use condensed version

* Cleanup tests

* more cleaning

* last bity

* Add a test for the composer

* Park up changes

* Rewrite Measured to be a functional component

* Add tests to cover narrow viewports

* lint

* breakpoint is optional

* Cleanup

* Support narrow mode

* fixup

* begone

* Provide default value

* add label

* fixup test

* update copyright

* cleanup

* Be a bit more lazy with FileDropTarget

* remove a debug statement

* Fixup

* fix two snaps

* Update screenshot

* and the other one

* Update snaps

* unfake CIDER

* update screens again

* remove extra test

* Undo accidental snapshots

* Bit of tidyup

* fixup

* even more tidyup

* may drag and drop file

* tidy up again

* snap snap snap

* Use load to make sonarQube happy

* Bunch of refactors

* More cleanup

* cleanup debug code

* tweaks

* remove a test we no longer need

* make it happy

* fix import

* fixup

* Update snaps

* typo

* one off

* Add tests

* lint

* remove only

* Reduce screenshot scope

* fix snapshot usage

* cleanup
2026-05-18 21:41:38 +00:00
Andy Balaam 66b739fea9 Remove an impossible case in DeviceListener (#32977)
* Remove an impossible case in DeviceListener

We only reach this branch if recoveryIsOk is false, which means
recoveryDisabled can't be true.

* Add a test for when recovery is bad but backup is disabled
2026-05-18 18:18:56 +00:00
Richard van der Hoff b51891ae2a Update dependency matrix-seshat to v4.3.0 (#33526)
Seshat 4.3.0 improves some error messages, which I hope will help resolve https://github.com/element-hq/element-web/issues/33501.

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-05-18 16:51:44 +00:00
Andy Balaam 5be0b778db Change all toast rejection code to use the rejectToast utility (#33025) 2026-05-18 16:31:52 +00:00
Will Hunt 5156e88c9d Reduce screenshot scope (#33522) 2026-05-18 12:35:53 +00:00