69420 Commits

Author SHA1 Message Date
Florian Duros 1c66f0ba01 Room list: extract getTagsForRoom from old room list store (#32716)
* refactor: extract `getTagsForRoom` from old rls

`getTagsForRoom` doesn't rely on the rls state. We can extract it safely
to an external function.

The function is not moved into the rls v3 because the rls is for the
room list and not for other ui elements.

* refactor: remove dead code

* test: add more tests for `getTagsForRoom`

* refactor: `getTagsForRoom` in old rls

* doc: add missing tsdoc for `room`
2026-03-04 17:14:48 +00:00
Michael Telatynski 850553e468 Add zizmor CI & make it happy (#2877) 2026-03-04 11:49:53 +00:00
Michael Telatynski 225fe7c406 Tidy up 2026-03-04 10:32:58 +00:00
renovate[bot] ac37bebf22 Update dependency caniuse-lite to v1.0.30001774 (#32549)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-03-03 19:42:28 +00:00
renovate[bot] 699a8759c5 Update ghcr.io/element-hq/synapse:develop Docker digest to b256d74 (#32695)
* Update ghcr.io/element-hq/synapse:develop Docker digest to b256d74

* Update screenshot due to new API availability on Synapse

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-03 19:42:09 +00:00
Florian Duros 93dc9fedc8 Room list: remove direct usage of the old rls in rls v3 (#32692)
* refactor: move `DefaultTagID` and `TagID` to rls v3

Move the enum and type in rls v3 and update imports

* refactor: move `getChangedOverrideRoomMutePushRules` from rls to rls v3

* refactor: replace `VisiblityProvider` by `isRoomVisible` and move it to rls v3
2026-03-03 19:25:20 +00:00
renovate[bot] 49dffe83cc Update dependency @vector-im/compound-design-tokens to v6.10.1 (#32698)
* Update dependency @vector-im/compound-design-tokens to v6.10.1

* Update snapshots

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-03 19:17:40 +00:00
Michael Telatynski 6d71191af9 Fix axe imports 2026-03-03 18:27:32 +00:00
Michael Telatynski fd4bb50a14 Tests galore 2026-03-03 18:25:22 +00:00
renovate[bot] 2c9f55cbea Update npm non-major dependencies (#32702)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-03-03 18:19:50 +00:00
renovate[bot] b6dbe1c259 Update pnpm to v10.30.3 (#32703)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-03-03 17:52:55 +00:00
renovate[bot] e19e338aa9 Update dependency @sentry/webpack-plugin to v5 (#32704)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-03-03 17:41:57 +00:00
renovate[bot] 3f69aec64a Update dependency css-minimizer-webpack-plugin to v8 (#32706)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-03-03 17:41:05 +00:00
renovate[bot] 7b4209502c Update npm non-major dependencies (#2875)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-03-03 17:34:14 +00:00
David Langley cea684c065 Implement new widget permissions module api (#32565)
* Add widget lifecycle API at top level

* Integrate while still falling back to the legacy api

* Remove WidgetKind

* Update module api

to the one that includes the new widget lifecycle api

* lint

* Make preload checks easier to understand

- Have single code path for preload checks.
- Remove duplicated logic for preapproveIdentity check
- Fix headers

* lint
2026-03-03 17:06:39 +00:00
renovate[bot] 611e924dc2 Update dependency wrap-ansi to v10 (#32707)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-03-03 17:04:28 +00:00
renovate[bot] e439d6adc1 Update eslint-plugins (#32701)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-03-03 16:51:43 +00:00
renovate[bot] 255f9f03e9 Update dependency wrap-ansi-cjs to v10 (#32708)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-03-03 14:52:23 +00:00
renovate[bot] f8e6738aca Update electron (#2872)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-03-03 14:50:51 +00:00
renovate[bot] 7a2f092c6d Update GitHub Artifact Actions (#32709)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-03-03 14:50:22 +00:00
renovate[bot] 580949038c Update dependency copy-webpack-plugin to v14 (#32705)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-03-03 14:41:05 +00:00
renovate[bot] ba0365d04e Update storybook to v10.2.13 (#32699)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-03-03 14:40:40 +00:00
renovate[bot] b0e12b829f Update typescript (#32700)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-03-03 14:40:39 +00:00
renovate[bot] 13b070d03d Update nginxinc/nginx-unprivileged:alpine-slim Docker digest to 800307a (#32696)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-03-03 14:40:25 +00:00
renovate[bot] 729f0df6d5 Update ghcr.io/element-hq/matrix-authentication-service:main Docker digest to baa02c3 (#32694)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-03-03 14:38:42 +00:00
renovate[bot] c6d76fcd91 Update Node.js to d83f76e (#32697)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-03-03 14:34:05 +00:00
renovate[bot] af6b386262 Update GitHub Artifact Actions (#2876)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-03-03 14:32:53 +00:00
renovate[bot] 1c5fd36fdd Update Node.js to v24.14.0 (#2874)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-03-03 14:32:32 +00:00
renovate[bot] 11799d4068 Update actions/checkout digest to de0fac2 (#32693)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-03-03 14:31:42 +00:00
renovate[bot] 543d8c09f1 Update matrix-org/matrix-web-i18n digest to 6eda383 (#2868)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-03-03 14:29:08 +00:00
renovate[bot] 2b52b1ce37 Update dependency eslint-plugin-n to v17.24.0 (#2871)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-03-03 14:22:33 +00:00
renovate[bot] 164b2d513d Update rust:bullseye Docker digest to fae8ebc (#2869)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-03-03 14:20:21 +00:00
RiotRobot 04c238efd9 v1.12.12-rc.0 2026-03-03 13:38:32 +00:00
RiotRobot 5d718856d7 v1.12.12-rc.0 2026-03-03 13:22:36 +00:00
RiotRobot c64c1cdb02 Upgrade dependency to matrix-js-sdk@41.1.0-rc.0 2026-03-03 13:14:21 +00:00
Michael Telatynski 328b5c9ad0 Merge remote-tracking branch 'origin/develop' into staging 2026-03-03 13:10:16 +00:00
Michael Telatynski 83345e0871 Expose PLAYWRIGHT_VERSION argument properly in Dockerfile (#32688) 2026-03-03 12:40:41 +00:00
Michael Telatynski 4af0608995 Merge branch 't3chguy/wat/382.2' of github.com:/element-hq/element-web-modules into t3chguy/wat/382
# Conflicts:
#	packages/element-web-module-api/element-web-module-api.api.md
2026-03-02 21:43:48 +00:00
Florian Duros 3cfba323f6 Room list: avoid excessive re-renders on room list store update or filter change (#32663)
* perf(room list): clear room list item vm only when changing space

Clearing all the item vms at every room list change is causing massive
re-render of all the room list items. References to the vms are already
removed when out of view (see RoomListViewMode.updateVisibleRooms) and
handled by GC.

* perf(room list): avoid to re-render filters at every room list update

RoomListView re-renders on update but the filters (children) don't need
to.

Add a memo to avoid excessive-rerenders.

* chore: add `keepIfSame` to do diff on vm objects

* perf(room list): avoid to create new filter ids and keys when the room list is updated

The filterKeys are passed in the virtuoso context so it should reduce
internal computing

The filter ids array has always the same value, there is no point to
create a new instance.

* test(room list): remove no longer relevant test

* test(room list): add new test to ensure that room list item vms are preserved
2026-03-02 17:50:56 +00:00
Florian Duros 15530ef075 Room list: listen to call event to check number of participants (#32677)
* feat(call store): add new `CallEvent.Participants` event

The room list needs to listen to `CallEvent.Participants` to be able to
display the Call icon. This was working before
https://github.com/element-hq/element-web/pull/32663 due to an excessive
re-renders or relying on the notification events.

* chore(room list): listen to `CallEvent.Participants`

* test(room list): add test for new listener

* test(call store): add tests for `CallEvent.Particpants`

* Revert "feat(call store): add new `CallEvent.Participants` event"

This reverts commit d2a7a009a4c55325404ad38f23fa662a8103cff4.

* Revert "test(call store): add tests for `CallEvent.Particpants`"

This reverts commit 4455182fb3aea54ea10cfabb8beb7946cfdf8a6c.

* chore(room list): listen to `Call#CallEvent.Participants` insteaf of listening to `CallStore`

* test(room list): update added test

* fix(room list): clean properly listeners on previous call

* test(room list): add missing test

* fix(room list): don't use trackListeners to avoid leaking memory when listening to call event

* fix(room list): listen to participant change when vm is created

* test(room list): add test case when there is an existing call
2026-03-02 17:16:38 +00:00
Michael Telatynski ccf3fcf4af Add API to replace Login component renderer 2026-03-02 16:54:23 +00:00
David Baker 738fa0f9bd Add resolution for serialize-javascript to force new version (#32683)
terser-webpack-plugin depends on ^6 but there's a CVE that's only
fixed in version 7. The CVE probably isn't terribly important for
a dependecy only used for building but it's breaking the dependabot
job which breaks our CD.

https://github.com/webpack/terser-webpack-plugin/issues/644 is the bug
tracking upgrading the dependency upstream.
2026-03-02 16:39:55 +00:00
Michael Telatynski 1a9ce45038 Adopt shouldShowComponent customisations from legacy Module API 2026-03-02 16:25:50 +00:00
Zack fe84501e95 Move ReactionRow To Shared Components MVVM (#32634)
* Init shared component structure

* Storybook implementation

* Add snapshots of storybook examples

* ViewModel Creation + Implementation In EventTile.tsx

* Prettier

* Update HTML snapshot

* Add onhover pointer on bottons

* Added compound web tooltip

* Removed possible of undefined on label

* Update snapshots

* Update setters to use merge instead of updating full snapshot

* adapt view model test for setters change

* Actions should be passed to viewmodel fix

* replace ReactionsRowWrapper forceRender with explicit reaction state

* Update snapshot
2026-03-02 13:59:04 +00:00
rbondesson 11030ae68d Refactor DateSeparator using MVVM and move to shared-components (#32482)
* Refactor DateSeparator using MVVM and move to shared-components

* Add a few more stories, tests and screenshots

* Use the shared component and viewmodel in element-web

* Renaming custom content property an updating snapshots

* Fix lint errors and update snapshot after merge

* Change lifecycle handling for DateSeparatoreViewModel in components where manual handling is preferrable over wrapper component.

* Move context menu from viewmodel to shared components - step 1

* Create a jump to date picker component in shared components

* Add tests for coverage and fix layout issues and roving indexes

* Make element-web use the new component

* Simplify context menu and adjusting tests

* The HTMLExport now render shared components and need a I18nContext.Provider

* Updating unit tests for context menu

* Changed to {translate: _t} to let scripts pick up translations

* Fix lint issue and updating screenshots after merge

* Update snaps for element web components

* Renaming MVVM view components with suffix View.

* Fixing problem with input date calendar icon and system dark theme

* Changed the rendering of the menu and added a separate button component

* Handle input control with useRef in onKeyDown

* Updating DateSeparator snapshots on unit tests

* Updating layout after compound Menu got a className property

* Move files to new subfolder after merge

* Updated snapshot after merge

* Updating lock file

* Updates to styling from PR review

* Updates to focus/blur functionality

* Fixed tabbing and export documentation to stories

* Updated snapshots

---------

Co-authored-by: Zack <zazi21@student.bth.se>
2026-03-02 12:18:51 +00:00
Michael Telatynski 76cbfb1ae4 Fix apps/web README links
Fixes https://github.com/element-hq/element-web/issues/32675
2026-03-02 09:18:01 +00:00
ElementRobot 2f7c92c70d [create-pull-request] automated change (#32676)
Co-authored-by: t3chguy <2403652+t3chguy@users.noreply.github.com>
2026-03-02 06:42:01 +00:00
renovate[bot] 7206db8243 Update Node.js to 7fddd9d 2026-03-01 16:05:08 +00:00
Michael Telatynski d11c2e880b Merge pull request #205 from element-hq/dependabot/npm_and_yarn/npm_and_yarn-b2936519f3 2026-02-28 21:23:58 +00:00
dependabot[bot] 2b688528e3 build(deps): bump rollup in the npm_and_yarn group across 1 directory
Bumps the npm_and_yarn group with 1 update in the / directory: [rollup](https://github.com/rollup/rollup).


Updates `rollup` from 4.52.0 to 4.59.0
- [Release notes](https://github.com/rollup/rollup/releases)
- [Changelog](https://github.com/rollup/rollup/blob/master/CHANGELOG.md)
- [Commits](https://github.com/rollup/rollup/compare/v4.52.0...v4.59.0)

---
updated-dependencies:
- dependency-name: rollup
  dependency-version: 4.59.0
  dependency-type: indirect
  dependency-group: npm_and_yarn
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-02-28 16:42:02 +00:00