288 Commits

Author SHA1 Message Date
rbondesson bb4a7e9613 Move RovingTabIndex to shared component and use it in ActionBarView (#33263)
Build / Build on ubuntu-24.04 (push) Failing after 42s
Build and Deploy develop / Build & Deploy develop.element.io (push) Has been skipped
Deploy documentation / GitHub Pages (push) Failing after 35s
Deploy documentation / deploy (push) Has been skipped
Publish shared component storybook / Build storybook (push) Failing after 3m4s
Publish shared component storybook / Publish storybook (push) Has been skipped
Shared Component Visual Tests / Run Visual Tests (push) Failing after 49s
Static Analysis / Docs (push) Failing after 38s
Static Analysis / ESLint (push) Failing after 28s
Static Analysis / Analyse Dead Code (push) Failing after 44s
Static Analysis / Prettier (push) Failing after 36s
Static Analysis / Style Lint (push) Failing after 38s
Static Analysis / Typescript Syntax Check (push) Failing after 38s
Static Analysis / Workflow Lint (push) Failing after 42s
Static Analysis / Rethemendex Check (push) Failing after 41s
Static Analysis / Zizmor Github Actions lint (push) Failing after 37s
Static Analysis / i18n Check (Element Desktop) (push) Failing after 0s
Static Analysis / i18n Check (Shared Components) (push) Failing after 0s
Static Analysis / i18n Check (Element Web) (push) Failing after 0s
Static Analysis / Static Analysis (push) Successful in 1s
Build / Build on macos-14 (push) Has been cancelled
Build / Build on windows-2022 (push) Has been cancelled
* Create a new shared component and a wrapper in app/web

* Move unit tests and add new for better coverage

* Refactor ActionBarView to use the RovingTabIndexProvider

* Clean up the interface and adjust callers

* Added documentation and renamed type for better readabililty

* Reverting the clean up of IContext

* Fix Sonar issues

* More Sonar issus fixed
2026-04-23 09:33:32 +00:00
Michael Telatynski 8f9953f419 Fix flaky test src/room/composer/Banner/Banner.stories.tsx > With Avatar Image (#33275)
* Fix flaky test `src/room/composer/Banner/Banner.stories.tsx > With Avatar Image`

it was previously loading an external (slow) image which was random (!) by design

Fixes https://github.com/element-hq/element-web/issues/33273

* Fix styling

* Iterate

* Update snapshot
2026-04-23 08:26:48 +00:00
Richard van der Hoff cd515444a8 Confirm before inviting unknown users to a DM/room (#33171)
* InviteDialog: factor out startDmOrSendInvites

Factor out the logic of calling `startDm` or `inviteUsers` to a helper
function. We're going to need to call this from a second location soon, so this
is useful groundwork.

* Add `UnknownIdentityUsersWarningDialog`

* Add unit tests

* Update playwright tests

* Convert if/else to switch statement

* Convert helper functions to React components

* Factor out "onRemove" callback

* Add clarifying comment
2026-04-22 20:05:31 +00:00
Florian Duros f4c62abbcd Room list: assign room to custom section (#33238)
* feat(sc): add new toast type for room list

* feat(sc): add section entries in room list item menu

* feat(rls): expose util functions

* feat: allows to tag room with custom sections

* feat(vm): add new Chat moved toast to room list vm

* feat(vm): add section selection to room list item vm

* feat(e2e): add tests for adding room in a custom section

* test(e2e): update existing screenshots

* chore: fix lint after merge

* chore: remove outline in test
2026-04-22 19:50:54 +00:00
Michael Telatynski 4b4289e211 Implement new design for Welcome page (#33211)
* Convert welcome.html to React component

In advance of changes to use Compound

* Fix types

* Fix tests

* Update styling to match Figma

* Fix random capitalisation

* Tweak styling

* Regenerate i18n

* Update tests

* Make linter happy

* Iterate
2026-04-22 15:32:05 +00:00
renovate[bot] 7b89d84acb Update npm non-major dependencies (#33246)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-04-22 13:44:05 +00:00
Will Hunt 9df7182c0c Redesign link previews (#33061)
* Commit design update

* Add figma links

* Check in other changes

* revert accidental change

* Iterative update

* linting n test fiddles

* linting

* Cleanup

* update snaps

* Move URL previews to new home

* Fix paths

* compress img

* Add back all the stories

* Improved rendering

* Fixup

* Update previews again

* lint

* update stories

* Update snaps again

* More screenshots

* Also these

* Update snaps

* include site name

* Update snaps again

* Use a scale so the images don't go blur

* update snaps again

* Update snaps

* remove mistaken playwright cfg

* update pw snaps

* update snap

* update previews

* Update with new designs

* Update screenshots
2026-04-22 13:23:24 +00:00
renovate[bot] 2d16498fe6 Update dependency typescript to v6 (#32927)
* Update dependency typescript to v6

* Switch to unplugin-vts

Workaround for https://github.com/qmhc/unplugin-dts/issues/467

And tweak tsconfigs

* tweak tsconfig

* Make tsc happy

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Michael Telatynski <7t3chguy@gmail.com>
2026-04-22 12:28:54 +00:00
renovate[bot] 021e222719 Update nginxinc/nginx-unprivileged:alpine-slim Docker digest to 360465d (#33231)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-04-22 12:26:26 +00:00
Florian Duros 9df9fb9428 Room list: scroll to newly creation section (#33210)
* feat(rls): emit tag when section is created

* feat(vm): scroll to newly section tag

* feat(view): scroll to new section
2026-04-22 12:21:41 +00:00
ElementRobot 193cdff562 [create-pull-request] automated change (#33262)
Co-authored-by: t3chguy <2403652+t3chguy@users.noreply.github.com>
2026-04-22 08:24:30 +00:00
renovate[bot] d01f40bf27 Update dependency html-react-parser to v6 (#33250)
* Update dependency html-react-parser to v6

* Fix renderer utils

* Fix CodeBlock similarly

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Michael Telatynski <7t3chguy@gmail.com>
2026-04-21 22:20:09 +00:00
renovate[bot] e568ed8aac Update dependency caniuse-lite to v1.0.30001788 (#33245)
* Update dependency caniuse-lite to v1.0.30001788

* Update tests

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Michael Telatynski <7t3chguy@gmail.com>
2026-04-21 20:27:27 +00:00
renovate[bot] ae8769e12d Update dependency uuid to v14 (#33229)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-04-21 19:49:00 +00:00
renovate[bot] ced3c25785 Update Node.js to d2059a9 (#33243)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-04-21 19:39:41 +00:00
renovate[bot] 6423f2d8c0 Update dependency electron to v41.2.2 (#33254)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-04-21 19:34:49 +00:00
renovate[bot] 549bdb8cb7 Update ghcr.io/element-hq/synapse:develop Docker digest to b2fec2c (#33241)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-04-21 19:31:26 +00:00
renovate[bot] e1b62c3370 Update css (#33234)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-04-21 19:28:54 +00:00
Michael Telatynski 354a05d89f Remove dependency on uuid (#33230)
* Remove dependency on `uuid`

* Delint
2026-04-21 16:36:27 +00:00
renovate[bot] 86ea6bd6b9 Update rust:bullseye Docker digest to 949b090 (#33232)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-04-21 15:22:24 +00:00
renovate[bot] a054e785ea Update docker.io/docker/dockerfile Docker tag to v1.23 (#33236)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-04-21 15:22:08 +00:00
Richard van der Hoff 1f6d1dbc0d Avoid nx jest executor for running unit tests (#33220)
* Avoid nx jest executor for running unit tests

The jest executor mangles the "summary of failing tests" from jest.

* Remove unneded dep on nx/jest
2026-04-21 14:07:54 +00:00
renovate[bot] 12a3abc0d5 Update dependency @element-hq/element-call-embedded to v0.19.1 (#33225)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-04-21 14:03:32 +00:00
renovate[bot] e90bc4a2f3 Update electron-builder to v26.9.0 (#33222)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-04-21 14:00:02 +00:00
renovate[bot] ac9ef6c2a2 Update Node.js to v24.15.0 (#33226)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-04-21 12:55:05 +00:00
renovate[bot] 4c474f5639 Update electron (#33221)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-04-21 12:48:56 +00:00
Richard van der Hoff 3f3ed93b8a nx test:playwright:screenshots: only do snapshots for Chrome (#33216)
* nx test:playwright:screenshots: only do snapshots for Chrome

`nx` eats the `--project` option unless we prefix with `--`.

* Apply suggestion from @richvdh
2026-04-21 11:34:22 +00:00
Michael Telatynski 133a56da65 Playwright docker improvements (#33213)
* Clean up playwright-common Dockerfile

* Speed up element-web docker build

* Wire up element-desktop playwright tests via nx

* Better debug logs for Element Desktop playwright in CI

* Iterate

* Iterate

* Fix element-desktop screenshot docker

* @electron/fuses

* Partial revert
2026-04-21 09:58:16 +00:00
renovate[bot] 384adea5a2 Update dependency @casualbot/jest-sonar-reporter to v2.6.0 (#33205)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-04-20 09:38:03 +00:00
renovate[bot] 8253d64021 Update testcontainers docker digests (#33203)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-04-20 08:22:48 +00:00
ElementRobot 9428c10284 [create-pull-request] automated change (#33200)
Co-authored-by: t3chguy <2403652+t3chguy@users.noreply.github.com>
2026-04-20 07:48:45 +00:00
Richard van der Hoff e58e803368 Update to compound 9.2.0 (#33173)
* Upgrade to compound 9.2.0

... to pick up the export of PageHeader

* update snapshots

* update shared-components snapshots

* More snapshot updates

* update snapshot

* GHA: Show disk usage on failure
2026-04-17 15:51:43 +00:00
Richard van der Hoff aeaa73adf6 Fix flaky OIDC "verifiy dialog" test (#33188)
This test was flaking. The problem appears to have been that we were clicking
"Continue" twice in succession; the intention was that we click on two
*different* "Continue" buttons, but sometimes we ended up clicking in the same
one twice.

Fix it by waiting for the content to change after the first click.

Fixes: #31316
2026-04-17 13:37:20 +00:00
Florian Duros 6b67b24254 Room list: add custom section creation (#33155)
* feat: add creation section dialog

* feat: add in skip list a method to change filters

* feat: add helper to creation section

* feat: add custom sections data to Settings

* feat: add custom section to room list store v3

* feat: update header and room list item vms

* feat: add toast to room list vm

* feat: add new translation

* chore: move util functions of room list specs

* test: add custom section playwright tests

* chore: call loadCustomSections in RoomListStoreV3 ctor
2026-04-17 12:02:42 +00:00
adis veletanlic 73d4b63ada Fix crashes in when opening Bridges in room settings (#33137)
* use SDKContext for room settings dialog to avoid crash #33107

* format with prettier

* add SDKContext to RoomSettingsDialog test
2026-04-17 11:36:40 +00:00
adis veletanlic 1044a95687 fix(call): leave call along with room (#33162)
* make sure to disconnect from possibly active calls for a room when leaving the room

* log error on log call

* Update apps/web/src/utils/leave-behaviour.ts

Co-authored-by: Michael Telatynski <7t3chguy@gmail.com>

* fix wrong logger import

* hang up calls properly on empty rooms for both legacy and element calls (listen for room event and leave call if only one member left). add tests for both legacy and element calls.

* format Call-test.ts

* revert async on function def

* revert Call.ts and Call-test.ts. Wrap legacy call hangup in try

---------

Co-authored-by: Michael Telatynski <7t3chguy@gmail.com>
2026-04-17 10:58:15 +00:00
ElementRobot c3e82cf33b [create-pull-request] automated change (#33182)
Co-authored-by: t3chguy <2403652+t3chguy@users.noreply.github.com>
2026-04-17 07:08:28 +00:00
renovate[bot] 3b1b39f822 Update dependency sanitize-html to v2.17.3 [SECURITY] (#33180)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-04-16 21:59:40 +00:00
Richard van der Hoff cf4b8744ab Configuration for nx output under playwright (#33177)
When playwright starts the development web server, have it tell nx to use the
`stream` output style, which is somewhat clearer than the
default. (Specifically, it distinguishes between output from different tasks,
so you can see where any errors are coming from.)
2026-04-16 16:29:32 +00:00
Richard van der Hoff aadf760e3c Factor DMRoomTile out to its own file (#33170)
I'm going to use this from a new component
2026-04-16 16:19:52 +00:00
Michael Telatynski 30f442208a Fix React hydration issues (#32958)
* Add more playwright axe tests to settings dialogs

* Add utility to jest setupTests to detect React hydration errors

* Iterate jest utility

* Fix axe issue heading-order

* Fix div-in-p issues

* Fix setupTests.ts

* Fix heading order

* Make types happier

* Fix hydration issues of thead containing text nodes

* Update tests

* Fix form-in-form React hydration issues

* Fix li-in-li React hydration issues

* Fix checked in form without onChange React hydration issue

* Fix styling bleeding from _common.pcss

* Update snapshots

* Fix more remaining issues

* Remove _common.pcss h2 rule altogether

* Fix test

* Update snapshots

* Iterate

* Iterate

* Update snapshots

* Simplify diff

* Test

* Update screenshots

* Update screenshot
2026-04-16 13:35:40 +00:00
Florian Duros d7f5546294 Room list: add custom section creation in SC (#33138)
* feat: add way to create custom section in SC

* feat: disable custom section in vms

* chore: include design tokens icons in vitest config

* test: update screenshot

* chore: use one react import
2026-04-16 13:14:10 +00:00
Michael Telatynski 64d3802efe Fall back to OIDC response_mode query if fragment unsupported (#33169)
* Fall back to OIDC response_mode query if fragment unsupported

* Tidy comments

* Fix test
2026-04-16 11:07:39 +00:00
Richard van der Hoff 583eae63f7 Simplifications in InviteDialog (#33156)
* InviteDialog: simplify users section for CallTransferDialog

The majority of `renderMainTab` is enpty for the call transfer dialog, so we
may as well inkine the bits that aren't.

* Simplify `renderMainTab`

Now that this is unused for CallTransfer, we can simplify

* Remove redundant eslint-disable

eslint seems happy without this, and we shouldn't be disabling lints for a
whole file anyway
2026-04-16 09:03:26 +00:00
renovate[bot] aa0abdb43a Update dependency matrix-seshat to v4.2.0 (#33168)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-04-16 08:50:54 +00:00
Richard van der Hoff ef5fad8d6a BaseDialog: fix comment (#33159)
This comment was a half-truth
2026-04-15 15:57:40 +00:00
Michael Telatynski de4a1e6d35 Switch OIDC to response_mode=fragment (#33100)
* Refactor: kill off `parseQs` in favour of URLSearchParams

* Consolidate app-load url parameter handling

* Switch to responseMode=fragment
2026-04-15 09:35:02 +00:00
ElementRobot c106abd721 [create-pull-request] automated change (#33092)
Co-authored-by: t3chguy <2403652+t3chguy@users.noreply.github.com>
2026-04-15 08:35:12 +00:00
Zack 80cf9e5b4a Shared Components Restructure, Cherry Picked | Room Shell Structure (#32917)
* refactor(shared-components): move composer and right-panel tree

* refactor: cleanup remaining structure leftovers

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

* Correct Path
2026-04-14 13:20:15 +00:00
Zack f615968835 Refactoring readMarkerForEvent into ReadMarkerView in shared-components (#32777)
* Refactoring readMarkerForEvent  into ReadMarketView in shared-components

* Use shared ReadMarkerView in MessagePanel

* Rename ReadMarkerView to ReadMarker

* Fix Prettier

* Update snapshots screenshots

* Use plain props for ReadMarker

* Fix Prettier

* Move ReadMarker into room timeline

* Replace ReadMarker nested ternary

* Update snapshot
2026-04-14 11:56:52 +00:00