297 Commits

Author SHA1 Message Date
RiotRobot
4ee7dd0fe9 Upgrade dependency to matrix-js-sdk@41.3.0-rc.0 2026-03-31 12:35:09 +00:00
Andy Balaam
cabac4ef0e
Attempt to deflake the 'Verify this device' test by scrolling up (#32981) 2026-03-31 10:49:57 +00:00
renovate[bot]
3c3452eb0e
Update ghcr.io/element-hq/synapse:develop Docker digest to 73fe964 (#32987)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-03-31 08:45:32 +00:00
Michael Telatynski
fc870bd676
Fix playwright tests locally (#32974) 2026-03-31 07:54:23 +00:00
Zack
dda9ec061b
Shared Components Restructure, Cherry Picked | Room Timeline (#32916)
* refactor(shared-components): move room timeline tree

* refactor(web): move room timeline viewmodels

* Prettier FIx

* fix(refactor): align newer imports with room timeline paths

* test(shared-components): add room timeline visual baselines

* test(shared-components): drop stale timeline baseline paths
2026-03-30 15:15:21 +00:00
Andy Balaam
7c60752b04
In DeviceListener, remove unused variable (#32971) 2026-03-30 15:07:41 +00:00
Andy Balaam
36ddd5eae5
Ensure the incoming verification request appears above the please verify prompt (#32931) 2026-03-30 13:32:51 +00:00
Will Hunt
e0cf78b5b8
Add analytics tracking for URL previews (#32659)
* Add analytics tracking.

* fix import

* fix other import too

* fixup type

* Add test case

* Add better testing

* make it happier

* update lock
2026-03-30 10:10:46 +00:00
Robin
f28fca76eb
Delete some unneeded code in the ElementCall class (#32879)
* Remove redundant call intent computation

I'm not clear on why we've been computing the intent of a call twice — first in generateWidgetUrl and then again in getWidgetData. Adding intent to the widget's data has no effect at all since there is no matching placeholder in the URL for it to be templated into. It seems we can safely delete this code.

* Remove preload hack

Element Web has long since upgraded past version 0.15.0 of Element Call, so we no longer need to set the preload parameter manually.
2026-03-30 09:15:57 +00:00
R Midhun Suresh
1dbad6101e
Collapsible Room List - Clicking on separator should expand to last set width (#32909)
* Expand panel to last known width

* Update test
2026-03-29 12:23:53 +00:00
Florian Duros
b3299dfbb3
Fix icon size of badges in right panel (#32952)
* fix: icon size of badges in right panel

* test: update snapshot

* test: update screenshot
2026-03-26 20:29:21 +00:00
renovate[bot]
0b092fb84b
Update ghcr.io/element-hq/matrix-authentication-service:main Docker digest to f54c221 (#32944)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-03-26 15:22:09 +00:00
renovate[bot]
469a23ec12
Update ghcr.io/element-hq/synapse:develop Docker digest to d64326b (#32945)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-03-26 14:24:07 +00:00
Zack
411eab9fd2
remove redundant guards before snapshot.merge (#32937)
* remove redundant guards before snapshot.merge

* fix(viewmodels): restore RedactedBodyViewModel setting guard

* docs(mvvm): note Snapshot.merge change detection
2026-03-26 13:00:48 +00:00
Michael Telatynski
cd429874db
Reference files in Playwright more reliably (#32935)
Without assuming the cwd
2026-03-26 11:30:54 +00:00
Robin
5a074e637a
Fix room list often showing the wrong icons for calls (#32881)
* Give rooms with calls a proper accessible description

Besides improving accessibility, this makes it possible to check for the presence of a call indicator in the room list in Playwright tests.

* Make room list react to calls in a room, even when not connected to them

To use the results of CallStore.getRoom reactively, you need to listen for Call events, not ConnectedCalls events.

* Don't assume that every call starts off as a video call

If a Call object is created by way of someone starting a voice call, then of course the call's initial type needs to be 'voice'.

* Make room list items react to changes in call type

The type of a call may change over time; therefore room list items explicitly need to react to the changes.

* Update a call's type before notifying listeners of the change

If we notify listeners of a change in a call's type before actually making that change, the listeners will be working with glitched state. This would cause the room list to show the wrong call type in certain situations.

* Ignore the Vitest attachments directory
2026-03-26 10:28:48 +00:00
Florian Duros
441b292353
RoomList: improve performance (#32919)
* perf: add memo to room avatar view

* perf: batch rlsV3 emit

* perf: avoid to re-render the room list if the room list state and sections are same

* perf: listen only message preview of the specific room

* perf: avoid to re-render the room list item if the notification or the content is same

* chore: replace useState and useEffect by useMemo in virtualized list

* fix: listen to room name event in RoomAvatar

* fix: room avatar re-render when room is low priority
2026-03-25 19:52:45 +00:00
Michael Telatynski
ec47986ef5
Fix emoticon slash commands including stale buffers (#32928) 2026-03-25 17:06:35 +00:00
Florian Duros
1025d60001
Avoid excessive re-render when setting same reference/value in snapshot (#32918)
* perf: avoid excessive re-render when setting same value in snapshot

* test: update tests
2026-03-25 15:23:11 +00:00
Michael Telatynski
d4fb08b392
Absorb element-desktop into monorepo (#32903)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Michael Telatynski <7t3chguy@gmail.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: RiotRobot <releases@riot.im>
Co-authored-by: t3chguy <2403652+t3chguy@users.noreply.github.com>
Co-authored-by: Ben Banfield-Zanin <benbz@element.io>
Co-authored-by: Richard van der Hoff <1389908+richvdh@users.noreply.github.com>
Co-authored-by: R Midhun Suresh <hi@midhun.dev>
Co-authored-by: R Midhun Suresh <rmidhunsuresh@gmail.com>
Co-authored-by: Aditya Cherukuru <145639927+aditya-cherukuru@users.noreply.github.com>
Co-authored-by: Guilhem Saurel <guilhem.saurel@laas.fr>
Co-authored-by: David Baker <dbkr@users.noreply.github.com>
2026-03-25 11:19:42 +01:00
ElementRobot
e3456a7d1e
[create-pull-request] automated change (#32913)
Co-authored-by: t3chguy <2403652+t3chguy@users.noreply.github.com>
2026-03-25 06:45:33 +00:00
Michael Telatynski
6d21687ca9
Make tsc happier
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2026-03-24 15:03:52 +00:00
Michael Telatynski
4d72aa22e3
Update links to old repo
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2026-03-24 13:33:49 +00:00
RiotRobot
eb8ca0bf5d Reset matrix-js-sdk back to develop branch 2026-03-24 11:30:21 +00:00
RiotRobot
67f36c28b2 Merge branch 'master' into develop 2026-03-24 11:29:41 +00:00
RiotRobot
f72e09173b v1.12.13 2026-03-24 11:26:49 +00:00
RiotRobot
b49a29f3df Upgrade dependency to matrix-js-sdk@41.2.0 2026-03-24 11:23:51 +00:00
Zack
4f3a1a2cc6
Refactor and Move RedactedBodyView To Shared Components (#32772)
* refactoring and creation of shared-components for reductedBodyView

* move redacted message rendering to shared MVVM view

* Update snapshots + fix lint errors

* Remove MatrixClientPeg and use reguler react matrix client context

* Stop resyncing redacted body view models with mxEvent

* Fix redacted_because test fixtures for stricter event typing

* Simplify redacted body client access

* Watch timestamp setting in redacted body view model

* Refactor redacted and decryption failure body factories into MBodyFactory

* Prettier Fix

* Refactor FileBody into same pattern for consitancy
2026-03-24 10:02:07 +00:00
Michael Telatynski
d7843bb9b8
Set playwright maxFailures in CI (#32878)
So if you have a totally hosed EW build you're not waiting an hour to find out
2026-03-24 08:43:31 +00:00
Michael Telatynski
9e031f887f
Revert "Increase playwright runners to 2 in CI (#32877)" (#32892)
This reverts commit 89261bbe0020c624178938efc18b54a7f0ac41df.
2026-03-23 21:09:54 +00:00
DLCSharp
54d3ab9e69
Fix presence indicators not showing without cache (#32880)
* Fix presence indicators not showing on initial login without cache

* Fix lint exhaustive-deps : useEffect room
2026-03-23 18:09:42 +00:00
Gustavo Ribeiro
4530635db9
Show space name instead of 'Empty room' after creation (#32886)
* Fix #32682: Show space name instead of 'Empty room' after creation

When creating a new space, the setup screens showed 'Empty room' or
'New room' instead of the chosen name.

The 'createSpace' function nested 'name' and 'topic' inside
'createOpts'. However, the creation flow expects them at the top
level of the options object. This caused the name to be undefined.

This patch modifies SpaceCreateMenu.tsx to move these properties to
the top-level. It also updates SpaceCreateMenu-test.tsx with a
regression test to verify the fix and prevent future regressions.

* fix: format SpaceCreateMenu test with prettier
2026-03-23 17:55:39 +00:00
renovate[bot]
41b97c1e97
Update ghcr.io/element-hq/synapse:develop Docker digest to ce702a0 (#32890)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-03-23 17:43:17 +00:00
Michael Telatynski
fc391169da
Update nginx default config around caching (#32884)
* Update nginx default config around caching

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

* Update README around caching

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

---------

Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2026-03-23 16:40:10 +00:00
renovate[bot]
bb1d376d5d
Update ghcr.io/element-hq/matrix-authentication-service:main Docker digest to f467079 (#32889)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-03-23 15:49:56 +00:00
Éloi Rivard
aecdbc38cf
fix: strip ephemeral query params from OIDC redirect URI (#32875)
getOidcCallbackUrl() was building the redirect_uri from window.location.href,
which may contain ephemeral params such as `updated` (appended on auto-update of element-web).
This caused a redirect_uri mismatch on authorization servers.
2026-03-23 15:21:03 +00:00
R Midhun Suresh
99e6ede9f1
Implement collapsible panels for the new room list (#32742)
* Add `react-resizable-panels` library

* Implement a custom SeparatorView

* Add a `LeftResizablePanelView`

* Add a custom `GroupView`

* Export everything from shared-components

* Make it possible to track width/collapse state through settings

* Add a view model to drive the views

* Render views without disrupting the old room list

* Fix lint error

* Disable user interaction on collapsed panel

* Prevent widgets fron hijacking pointer events

* Expand to full width on separator click

* Separator should be shown when focused via keyboard

* Update tests

* Use data-attribute for hover

* Write stories for SeperatorView

* Write vite tests for SeparatorView

* Write tests for LeftResizablePanelView

* More tests

* Fix lint errors

* Fix flakey border on the roomlst

* Fix storybook axe violation

* Update snapshots

* Fix playwright tests

* Fix sonarcloud issues

* Use translated string

* Add better js-doc comments

* Rename `ResizerSnapshot` to `ResizerViewSnapshot`

* Externalize react-resizable-panels

* Link figma designs to stories

* Write playwright tests

* Update screenshots

* Fix lint errors

* Update more screenshots

* Update more screenshots

* Fix flaky toast test

* Update apps/web/playwright/e2e/crypto/toasts.spec.ts

Co-authored-by: Andy Balaam <andy.balaam@matrix.org>

* Fix indentation

---------

Co-authored-by: Andy Balaam <andy.balaam@matrix.org>
2026-03-23 13:33:32 +00:00
Michael Telatynski
89261bbe00
Increase playwright runners to 2 in CI (#32877) 2026-03-23 09:17:19 +00:00
ElementRobot
e4f69693c3
[create-pull-request] automated change (#32882)
Co-authored-by: t3chguy <2403652+t3chguy@users.noreply.github.com>
2026-03-23 06:51:47 +00:00
renovate[bot]
3c23fd21ac
Update npm non-major dependencies (#32843)
* Update npm non-major dependencies

* Update knip patch

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

* Make knip happy

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

---------

Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Michael Telatynski <7t3chguy@gmail.com>
2026-03-20 19:41:13 +00:00
renovate[bot]
16b12dea95
Update dependency webpack-cli to v7 (#32847)
* Update dependency webpack-cli to v7

* Remove stale webpack cli args

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

---------

Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Michael Telatynski <7t3chguy@gmail.com>
2026-03-20 16:11:11 +00:00
ElementRobot
09f56ed3b6
[Backport staging] Fix soft crash of room list when trying to open a room (#32872)
* Fix soft crash of room list when trying to open a room (#32864)

* fix: soft crash of room list trying to get item vm

* test: add test to check roomMap recovery and cleared when needed

(cherry picked from commit 9358096ac6ebf1fed4b6097658bc75b21c8fc366)

* test: fix room list vm usage in test

https://github.com/element-hq/element-web/pull/32819 has renamed the vm
but this PR isn't in the base branch of the backport

---------

Co-authored-by: Florian Duros <florianduros@element.io>
Co-authored-by: Florian Duros <florian.duros@ormaz.fr>
2026-03-20 15:44:40 +00:00
renovate[bot]
793c4ff110
Update css (#32552)
* Update css

* Patch weak types in postcss-mixins

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

---------

Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Michael Telatynski <7t3chguy@gmail.com>
2026-03-20 15:17:07 +00:00
renovate[bot]
b2c19d4ed9
Update dependency caniuse-lite to v1.0.30001780 (#32835)
* Update dependency caniuse-lite to v1.0.30001780

* Update test

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

---------

Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Michael Telatynski <7t3chguy@gmail.com>
2026-03-20 13:56:25 +00:00
Florian Duros
9358096ac6
Fix soft crash of room list when trying to open a room (#32864)
* fix: soft crash of room list trying to get item vm

* test: add test to check roomMap recovery and cleared when needed
2026-03-20 13:36:58 +00:00
Michael Telatynski
8f01b2b3db
Optimise docker context (#32870)
* Optimise docker context

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

* Optimise docker context further

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

* Debug

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>
2026-03-20 13:26:32 +00:00
renovate[bot]
04d96a6b2d
Update ghcr.io/element-hq/matrix-authentication-service:main Docker digest to 8065b36 (#32827)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-03-20 09:18:23 +00:00
renovate[bot]
46a46dff59
Update dependency @matrix-org/analytics-events to ^0.33.0 (#32839)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-03-20 09:18:03 +00:00
renovate[bot]
ba670a67ad
Update nginxinc/nginx-unprivileged:alpine-slim Docker digest to 4011c42 (#32830)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-03-20 09:17:22 +00:00
renovate[bot]
865e6bddb1
Update docker.io/docker/dockerfile Docker tag to v1.22 (#32841)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-03-20 09:09:46 +00:00