163 Commits

Author SHA1 Message Date
Andy Balaam
1e974d0d8b Remove an impossible case in DeviceListener
We only reach this branch if recoveryIsOk is false, which means
recoveryDisabled can't be true.
2026-03-30 15:24:01 +01:00
Andy Balaam
883bd3adb8 Remodel DeviceListener ifs to be more uniform
We enter this chain of `if`s if at lease one of the boolean flags is false. This
change attempts to make the logic clearer by ensuring that each branch of the if
matches exactly one of those booleans.

Justifying this change: if `secretStorageStatus.defaultKeyId === null` then
`recoveryKeyIsOk` will be false, except in the strange case where recovery is
disabled, in which case we should not be dealing with problems with recovery
anyway, so if we previously entered this branch it would have been a bug. All
existing tests pass so it looks like we didn't consider this case.
2026-03-30 15:15:35 +01:00
Andy Balaam
59d3de0998 Separate cases in DeviceListener
According to the comment in `else` there were two ways to end up there. Split
these into separate cases and provide a different log message in each case.
If we somehow get there another way, throw an error.
2026-03-30 15:02:38 +01:00
Andy Balaam
2d7df8a6f4 In DeviceListener, remove unused variable 2026-03-30 13:15:08 +01: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
Michael Telatynski
efd2636824
Fix docker image signing v2 (#32956)
* Tweak cd.yaml workflow

* Tweak cd.yaml workflow

* Iterate

* Iterate

* Iterate

* Iterate

* Remove debug
2026-03-27 09:13:20 +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
Michael Telatynski
428bf0cabf
Update ED Docker metadata by removing Playwright version tag
Removed the Playwright version tag from the Docker metadata.
2026-03-26 14:41:03 +00:00
Michael Telatynski
f573ba4084
Consolidate ED dockerbuild into CD nx workflow (#32923)
* Consolidate ED dockerbuild into CD nx workflow

* Touch Dockerfile to convince CI to be happy
2026-03-26 13:39:39 +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
b90a32bea4
Fix web-docs.element.dev deployment (#32922)
* Fix docs

* Switch to vitepress for doc generation

* Run doc build in CI

* Switch docs build to layered
2026-03-25 17:10:06 +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
renovate[bot]
d0a564d578
Update dependency electron to v41.0.3 (#32926)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-03-25 15:16:41 +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
8305c52251
Iterate
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2026-03-24 15:12:05 +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
ffb5e1620d
Docs
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2026-03-24 15:00:08 +00:00
Michael Telatynski
bb598f5e34
Prettier
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2026-03-24 14:59:56 +00:00
Michael Telatynski
8d4921d74d
Doc tweaks
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2026-03-24 14:41:56 +00:00
Michael Telatynski
8b8539d941
Combine remaining workflows
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2026-03-24 14:41:35 +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
Michael Telatynski
8025a1e951
Deduplicate files
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2026-03-24 13:32:51 +00:00
Michael Telatynski
7f79229f67
Consolidate other .github files
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2026-03-24 13:13:01 +00:00
Michael Telatynski
4698bff4e8
Consolidate related workflows
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2026-03-24 13:08:10 +00:00
Michael Telatynski
afa23c23a8
Make desktop linters happy
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2026-03-24 13:02:58 +00:00
Michael Telatynski
1db62bcdfd
Consolidate localazy config
and remove desktop localazy workflows

Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2026-03-24 12:59:24 +00:00
Michael Telatynski
5ea477eca8
Consolidate linters
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2026-03-24 12:57:31 +00:00
Michael Telatynski
9185f666e0
Consolidate package.json/dependencies
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2026-03-24 12:52:59 +00:00
Michael Telatynski
4bbc4627a1
Merge remote-tracking branch 'element-desktop/t3chguy/absorb-ed' into t3chguy/absorb-ed 2026-03-24 12:20:46 +00:00
Michael Telatynski
30a8afab6f
Move everything to apps/desktop subdirectory
Some bits will need to be moved back out after the merge

Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2026-03-24 12:17:18 +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