Commit Graph
751 Commits
Author SHA1 Message Date
renovate[bot]GitHubrenovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
82a22f7869 Update testcontainers docker digests (#34436)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-07-28 14:43:29 +00:00
renovate[bot]GitHubrenovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
edd1452f5c Update nginxinc/nginx-unprivileged:alpine-slim Docker digest to 22f839c (#34434)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-07-28 14:34:59 +00:00
Michael TelatynskiandGitHub dfa6a58073 Add additional configuration options to Banner module (#34384)
* Add additional configuration options to Banner module

* Iterate

* Iterate
2026-07-28 14:18:50 +00:00
Will HuntandGitHub df7924df02 Fix various dialogs failing to open due to containing linked text (#34304)
* Wrap Dialog in LinkedTextContent

* actually use originalMxModuleApi

* lint

* fmt
2026-07-28 11:48:56 +00:00
rbondessonandGitHub 4decd338fb Move EventTile to shared components - #2 (#33828)
* Add pure sender render inputs to EventTileViewModel

* Move sender/avatar normalization to EventTile

* Split sender and avatar adapters into focused leaf components

* Add tests for the sender and avatar adapters

* Fix sonar issues

* Make sender profile consume pure member info

* Collapse sender adapter onto snapshot-driven props

* Share current-member resolution for event and reply tiles

* Fix Prettier issues

* Keep settings preview on historical sender profiles

* Update the proprty name to reflect the use of the event-time sender data instead of resolving the current room member

* Fix Sonar issue

* Tighten member to MemberInfo | null in the view model
2026-07-27 09:26:06 +00:00
c82bddf1b0 [create-pull-request] automated change (#34423)
Co-authored-by: t3chguy <2403652+t3chguy@users.noreply.github.com>
2026-07-27 07:42:27 +00:00
R Midhun SureshandGitHub 67206624a0 Auto Collapse Behaviour - Collapse left panel during calls (#33771)
* Add call resize behaviour

* Export behaviour from behaviours.ts

* Fix e2e tests

* Fix lint

* Move test to vitest

* Pass call-store instead of global access

* Fix broken collapse behaviour on strict mode

* Remove unused variable from test
2026-07-24 12:45:34 +00:00
renovate[bot]GitHubrenovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
5d27663f26 Update testcontainers docker digests (#34413)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-07-24 11:56:59 +00:00
renovate[bot]GitHubrenovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
04208eae44 Update dependency @testing-library/jest-dom to v7 (#34418)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-07-24 10:49:58 +00:00
renovate[bot]GitHubrenovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
671b1258fe Update dependency @element-hq/element-call-embedded to v0.22.0 (#34415)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-07-24 09:15:42 +00:00
5bcfe5aee6 [create-pull-request] automated change (#34409)
Co-authored-by: t3chguy <2403652+t3chguy@users.noreply.github.com>
2026-07-24 07:21:47 +00:00
Michael TelatynskiandGitHub 106d6024b2 Remove support for MSC3391 & MSC3852 (#34400)
* Remove support for MSC3391 & MSC3852

As they were both rejected & closed.

Synapse already removed support for MSC3852 which means it already did nothing: https://github.com/element-hq/synapse/pull/19430

* Update snapshot
2026-07-23 13:18:00 +00:00
David BakerandGitHub f3033e91db Bump compound-web to 9.9.0 (#34398)
* Bump compound-web to 9.9.0

For max menu width

* fix pnpm again

* snapshot

* Snapshots
2026-07-23 13:09:55 +00:00
Florian DurosandGitHub 2d07c591e3 Use correct color for cancel button in dialog (#34308)
* Use secondary style for cancel button in dialog

* Update snapshots

* Update screenshots

* Update screenshots
2026-07-23 12:41:17 +00:00
Richard van der HoffandGitHub 8dc1965d15 Fix docs and build script for desktop build (#34395)
* Fix some documentation for element-desktop

Some of these links got broken, or outdated, during the monorepo switch.

* Fix desktop docker build script

It will fail with 'workspace_node_modules: no such file or directory' if the
directory does not exist.

This got broken by https://github.com/element-hq/element-web/pull/33641.

* Clarify native modules doc

Most of this stuff does not apply when using the docker build.

* update snapshot
2026-07-23 11:11:59 +00:00
2430e0ab8b Move some of the slowest tests from jest to vitest (#34277)
* Remove doubled-up I18n Provider. ModalManager already provides this.

* Reconfigure svgr into a vite-friendly `?react` resource query

* Move InviteDialog test to vitest

* Move RoomHeader tests to Vitest

* Share serializer between Jest & Vitest

* Attempt to stabilise InviteDialog test

* Fix async leaks

* Iterate based on copilot review

* Fix InviteDialog throttle

* Iterate

* Apply suggestions from code review

Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>

* Fix lockfile

* Iterate

---------

Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
2026-07-22 13:18:04 +00:00
David LangleyandGitHub 5b0fd416fd Add ellipsis and title to spotlight search results (#34379) 2026-07-22 13:11:38 +00:00
renovate[bot]GitHubrenovate[bot] <29139614+renovate[bot]@users.noreply.github.com>Michael Telatynski
5603ae02d9 Update npm non-major dependencies (#34377)
* Update npm non-major dependencies

* Iterate

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Michael Telatynski <7t3chguy@gmail.com>
2026-07-22 12:00:53 +00:00
Michael TelatynskiandGitHub 49a2bdd7e4 Replace legacy $spacing-X vars with Compound Design Tokens (#34380)
* Replace legacy `$spacing-X` vars with Compound Design Tokens

* Remove unused font size vars

* Use calc to get negative spacing vars
2026-07-22 10:10:57 +00:00
Michael TelatynskiandGitHub 7e8daab9ee Tweak CSS bundling to dedupe more styles (#34371)
* Tweak CSS bundling to dedupe more styles

Previously all of compound-web & compound-design-tokens were duplicated amongst all the themes rather than just being in `bundle.css`.

* Fix highlight.js & github-markdown-css dark/light

* Fix highlight.js & github-markdown-css dark/light

* Iterate
2026-07-22 09:08:27 +00:00
renovate[bot]GitHubrenovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
4d5dd1554a Update testcontainers docker digests (#34376)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-07-22 08:08:28 +00:00
be8c07699b [create-pull-request] automated change (#34374)
Co-authored-by: t3chguy <2403652+t3chguy@users.noreply.github.com>
2026-07-22 08:08:17 +00:00
R Midhun SureshandGitHub 3bff251010 Auto Collapse Behaviour - Collapse left panel on window resize (#32964)
* Add functionality to UIStore

- Make it possible to query if the window is currently being resized
- Emit WidthIncreased/WidthDecreased events

* Change resize behaviour of panel

So that the panel does not become smaller when the window is resized.
This is consistent with the old room-list design.

* Introduce a `CollapseHandler` object

This should be used by the collapse behaviours to collapse/expand the
panel. There's a good reason to not have the behaviours depend directly
on the react-resizable-panels API methods: We dont want the collapse/expand
calls to conflict with each other. See the comments in the code for more
information.

* Introduce a base class for collapse behaviour logic

Behaviours should extend this class to describe when the panel should
automatically collapse and expand.

* Add the window resize collapse behaviour

* Create a central file from which to export all behaviours

* Add a class to orchestrate the collapse behaviours

ResizerViewModel will only have a dependency on this class.

* Collapse panel on app start if necessary

For eg, if the app is started with a small window width, the panel should be
collapsed.

* Wire auto collapse code into the viewmodel

* Write jest tests

* Fix e2e tests

* Fix lint error

* Fix e2e test failures

* Expand the panel before taking screenshot

Fixes incorrect narrow screenshots in RTE.spec.ts and CIDER.spec.ts

* Make comments consistent

* Move tests from jest to vitest

* Fix lint errors

* Improve comment

* Remove variable

* Remove mock

* Fix comment formatting
2026-07-21 16:37:28 +00:00
Florian DurosandGitHub 363ef74248 Room list: change Edit section label to Save in edit section dialog (#34364)
* Change `Edit section` label to `Save` in edit section dialog

* Update e2e tests
2026-07-21 15:39:42 +00:00
Michael Telatynski c80d39a182 Reset matrix-js-sdk back to develop branch 2026-07-21 15:32:18 +00:00
Michael Telatynski bc76609239 Merge remote-tracking branch 'origin/master' into develop
# Conflicts:
#	pnpm-lock.yaml
2026-07-21 15:31:08 +00:00
David BakerandGitHub 8effa81ad8 Set auto on-a-call status (#34306)
* Support for reading m.call status

(well, the prefixed version)

* Abstract the details away in userStatusFromProfile

make the validate functions non-exported

* Write on on-=a-call status

* Add tests

* Move user call status logic to its own listener

* Move tests

* use vi rather than jest

* add more mocks

* call async
2026-07-21 14:58:00 +00:00
RiotRobot dea10bf390 v1.12.24 2026-07-21 14:06:59 +00:00
RiotRobot 79e46aa8e7 Upgrade dependency to matrix-js-sdk@42.0.0 2026-07-21 13:52:07 +00:00
renovate[bot]GitHubrenovate[bot] <29139614+renovate[bot]@users.noreply.github.com>Michael Telatynski
3fce982a1d Update testcontainers docker digests (#34352)
* Update testcontainers docker digests

* Update screenshot for default room version change

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Michael Telatynski <7t3chguy@gmail.com>
2026-07-21 10:02:50 +00:00
Florian DurosandGitHub 475d16094c Room list: increase startup performance when rooms have notifications (#34358)
* Throttle section header update when listening to room notifications

* Update room list section header tests
2026-07-20 15:35:57 +00:00
Michael TelatynskiandGitHub b719f531dd Migrate more tests to vitest (#34349) 2026-07-20 13:07:35 +00:00
SiriusandGitHub 63eaba6b07 Include the url preview bundle field in the devtools timeline event editor (#34289)
* added urlpreview field in event editor

* oxfmt

* claude wrote test!

* handled reviews

* oxlint fix

* formatting

* removed useless stubclient
2026-07-20 09:17:51 +00:00
d254b41eaf [create-pull-request] automated change (#34342)
Co-authored-by: t3chguy <2403652+t3chguy@users.noreply.github.com>
2026-07-20 07:38:30 +00:00
13aa6fcc46 Warn when an encrypted search runs before the index has finished building (#34001)
* Warn when an encrypted search runs before the index has finished building

When a search runs in an encrypted room while the local Seshat index is still
crawling not-yet-indexed history, results can silently come back partial.
SearchWarning now subscribes to the event index's changedCheckpoint progress and
shows a polite (role=status) notice while the crawl is in progress, clearing
automatically the moment indexing finishes.

* Scope the partial-index warning to the room being searched

The warning was driven by `currentRoom() !== null`, which is a global signal:
it is non-null while the crawler has any outstanding checkpoint for any room.
Searching a fully-crawled room while an unrelated room was still being crawled
therefore claimed the results may be incomplete when they were not.

Drive it from `crawlingRooms()` instead, which reports the rooms with
outstanding checkpoints by id, and pass the search scope and room id in from
RoomSearchAuxPanel: a room-scoped search now asks only about that room, while
an all-rooms search still reacts to any outstanding checkpoint. Using room ids
throughout also avoids `currentRoom()` returning null, and so under-reporting a
crawl, when the js-sdk does not know the room at the head of the queue.

The `changedCheckpoint` payload only carries the globally-current room and
cannot answer a per-room question, so the handler re-reads the checkpoint set.

* Also warn when the searched room has not been indexed at all

The crawl set cannot see a room that has no checkpoint: before the initial
checkpoints have been seeded, such a room is absent from it and looks identical
to one that has been fully crawled. That is the case issue #32253 describes, so
ask isRoomIndexed() as well, and warn when the index holds no events for the
room being searched.

Only ask it while the crawler still has work outstanding. That is what the
warning claims, and the index has no event for its contents changing --
changedCheckpoint fires on checkpoint transitions only, and an idle crawler is
silent -- so a warning raised once the crawler had drained would never be
re-evaluated and would stick.

Rename the hook to useIsIndexIncomplete, as it no longer answers the narrower
question of whether a crawl is in progress. Re-seed it from the checkpoint set
on each scope or room change so that the previous search's answer is not left
on screen while the lookup is in flight, but not on each checkpoint change,
which would blink an already-earned warning off and on again.

Also reword the crawlingRooms() doc, which described the set as the rooms being
crawled when it holds every queued checkpoint too.

---------

Co-authored-by: Michael Telatynski <7t3chguy@gmail.com>
2026-07-17 16:20:30 +00:00
David BakerandGitHub d0a70fb1da Make the text copy button use IconButton (#34224)
* Make the text copy button use IconButton

This obviously should be a shared component, but design is looking at
what it will actually look like long term, so until then, let's at
least make it use compound's IconButton so it gets the hover background
state, and sort out the padding & margins.

Requires https://github.com/element-hq/compound-web/pull/528

* snapshots & add aria-label

* more snapshots

* Remove unnecessary width & height

update other screenshots with expected changes

* One more screenshot

* This really shouldn't be necessary: see what test fails

* Fix test to look in screen for the labels

Because the labels from the tooltip don't go in the container, they
get added to the dom at the top level in a floaty bit.

* update snapshots again

* Fix button size

and also add comment to the other place where we fudge the padding

* Update snapshots

* Align to center

* Screenshots
2026-07-17 14:49:53 +00:00
renovate[bot]GitHubrenovate[bot] <29139614+renovate[bot]@users.noreply.github.com>Michael Telatynski
67fc33ad98 Update npm non-major dependencies (#34320)
* Update npm non-major dependencies

* Oxfmt

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Michael Telatynski <7t3chguy@gmail.com>
2026-07-17 14:14:07 +00:00
renovate[bot]GitHubrenovate[bot] <29139614+renovate[bot]@users.noreply.github.com>Michael Telatynski
155992300a Update browserslist (#34265)
* Update browserslist

* Update test

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Michael Telatynski <7t3chguy@gmail.com>
2026-07-17 10:55:07 +00:00
SiriusandGitHub 63e65fc60a Use url preview bundle for URL preview in timeline (MSC4095) (#34170)
* use url preview bundle preview content in timeline

* fixed linting errors

* claude wrote a test!

* moved reading settings from the view model into the component

* claude wrote more tests

* applied reviews
2026-07-17 10:18:10 +00:00
David BakerandGitHub adbe90ceb7 Support for reading m.call status (#34295)
* Support for reading m.call status

(well, the prefixed version)

* Abstract the details away in userStatusFromProfile

make the validate functions non-exported

* Add test

* format the oxen

* Remove set function

should be in the other PR
2026-07-17 10:07:38 +00:00
Michael TelatynskiandGitHub 79ac7fbc9e Use oxlint to apply jsx/tsx extension consistently (#34303)
* Remove stale max-len disablements

* Remove stale camelCase & naming-convention disablements

* Remove stale ban-ts-comment disablements

* Remove stale no-var disablements

* Remove stale no-empty-property disablements

* Remove stale react rule disablements

* Remove stale no-constant-condition disablements

* Remove stale no-unused-vars disablements

* Remove stale disablements for disabled rules

* fixup camelcase

* Remove dead code

* Tidy code

* Tweak oxlint config

* Use oxlint to apply jsx/tsx extension consistently

* Fix import

* Fix imports

* Rename affected snapshots

* Update more imports
2026-07-17 09:50:57 +00:00
Michael TelatynskiandGitHub b51c5ed8a7 Tweak oxlint config & delint our code (#34301)
* Remove stale max-len disablements

* Remove stale camelCase & naming-convention disablements

* Remove stale ban-ts-comment disablements

* Remove stale no-var disablements

* Remove stale no-empty-property disablements

* Remove stale react rule disablements

* Remove stale no-constant-condition disablements

* Remove stale no-unused-vars disablements

* Remove stale disablements for disabled rules

* fixup camelcase

* Remove dead code

* Tidy code

* Tweak oxlint config
2026-07-17 07:55:31 +00:00
6290be95fd [create-pull-request] automated change (#34271)
Co-authored-by: t3chguy <2403652+t3chguy@users.noreply.github.com>
2026-07-17 07:19:53 +00:00
renovate[bot]GitHubrenovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
ba42273065 Update testcontainers docker digests (#34310)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-07-16 21:57:12 +00:00
Florian DurosandGitHub 377534e6e9 Room list: fix *Chat moved* toast appearing when room list is loaded (#34305)
* Fix Chat moved toast appearing when room list is loaded

* Update e2e tests
2026-07-16 18:20:42 +00:00
renovate[bot]GitHubrenovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
7ad619e693 Update dependency postcss to v8.5.19 (#34312)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-07-16 18:16:33 +00:00
Michael TelatynskiandGitHub b9972b7e9e Enable some oxlint a11y rules & improve keyboard accessibility (#34291)
* Conform to oxlint rule jsx-a11y/role-has-required-aria-props

* Conform to oxlint rule jsx-a11y/role-supports-aria-props

* Conform to oxlint rule jsx-a11y/interactive-supports-focus

* Conform to oxlint rule jsx-a11y/click-events-have-key-events

* Update snapshots
2026-07-16 17:29:49 +00:00
renovate[bot]GitHubrenovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
e48e57ae1e Update nginxinc/nginx-unprivileged:alpine-slim Docker digest to d9fa638 (#34309)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-07-16 15:39:36 +00:00
RobinandGitHub 6c40c56845 Fix join call button in header having two labels (#34293)
Both the tooltip ("Video call") and the aria-label attribute ("Join video call") were trying to set different labels. I propose that the "Video call" tooltip should actually count as a description.
2026-07-16 10:04:15 +00:00
Tol WassmanandGitHub f1f3aaad76 fix grammar in message for error loading reply (#33802) 2026-07-16 09:23:03 +00:00