Commit Graph
851 Commits
Author SHA1 Message Date
rizzlerandGitHub fbe7dbd646 fix member list scroll bug where invited 3PID users replace joined members (#34427)
* Update MemberListView.tsx

* Update MemberListViewModel.ts

* simplify 3PID invite keys to getStateKey and added regression test

* Use state_key for 3PID invite keys and set up test state before initial render

* Format common.tsx with oxfmt
2026-08-03 10:18:29 +00:00
rbondessonandGitHub 4be2863fa8 Move EventTile to shared components - #3b (#34459)
* Refactor redacted body to use render-only view model props

* Fix oxfmt issues

* Missing mock function for MBodyFacytory-test

* Convert to vitest
2026-07-31 05:18:50 +00:00
rbondessonandGitHub 82b313828a Move EventTile to shared components - #3a (#34458)
* Refactor Mjolnir body to use render-only view model actions

* Extracted isMjolnirBodyAllowed from MessageEvent

* Converted the new test file to vitest
2026-07-30 14:50:57 +00:00
rbondessonandGitHub d4d4794f7e Move EventTile to shared components - #4a (#34469)
* Add EventTile root properties to view model

* Move render-related event reads into the vm

* Remove duplicate root derivation in UnwrappedEventTile

* Move data-has-reply derivation into EventTileViewModel

* Move getEventDisplayInfo() and dependencies into EventTileViewModel

* Add tests for improved coverage

* Cleanup and comments

* Fix: Replacement events have a fallback tile but must not show their own reply chain

* Combine dependency and prop updates into one atomic VM update

* Remove property which was never read and fix oxfmt issue
2026-07-30 13:35:09 +00:00
Michael TelatynskiandGitHub 27906ce6e7 Migrate more tests to vitest (#34355)
* 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

* Migrate more tests to vitest

* Migrate MatrixChat test to vitest

* Deflake

* Iterate

* Iterate

* Iterate
2026-07-30 09:11:29 +00:00
Michael TelatynskiandGitHub 42253a7ae5 Make apps/web/playwright comply with strict mode (#34403)
* Make apps/web/playwright comply with strict mode

Otherwise it sometimes fails to compile matrix-js-sdk as strict mode & noImplicitAny both impact how overloads are asserted

* Iterate
2026-07-30 09:07:03 +00:00
Johannes MarbachandGitHub 4a18eac927 Allow widgets to receive MatrixRTC slot events (#34373)
Signed-off-by: Johannes Marbach <n0-0ne+github@mailbox.org>
2026-07-29 15:49:54 +00:00
Michael TelatynskiandGitHub 0ae908b851 Replace short-lived no-mobile-guide-redirect cookie with SessionStorage (#34350)
* Replace short-lived no-mobile-guide-redirect cookie with SessionStorage

* Add coverage
2026-07-29 15:37:07 +00:00
Michael TelatynskiandGitHub e3cf63610c Update Twemoji credits links (#34461)
* Update Twemoji credit links

As https://twemoji.twitter.com/ is dead

* Update links as we actually use jdecked/twemoji now
2026-07-29 15:17:25 +00:00
Florian DurosandGitHub 7f8c4cef80 Room list: persist section state (expanded/collapsed) (#34351)
* Add new setting to store section state

* Store section state in device settings

* Wire up section header view model and new section functions

* Update room list vm tests

* Add e2e test on section state persistence

* Use more intuitive syntax for SectionExpansionState

* Formatting

* Fix chats section staying expanded

* Add CHAT section case in e2e test
2026-07-29 13:56:40 +00:00
renovate[bot]GitHubrenovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
f56cd560ce Update testcontainers docker digests (#34460)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-07-29 13:50:08 +00:00
55c41d9aa9 [create-pull-request] automated change (#34456)
Co-authored-by: t3chguy <2403652+t3chguy@users.noreply.github.com>
2026-07-29 08:48:21 +00:00
Michael TelatynskiandGitHub bbec915fb0 Enable more oxlint rules (#34189)
* Fix type imports

* Fix jsdoc

* Fixup types

* Fix stray awaits on non-thenables

* Fixup imports

* Fix splats

* Fix this-context on callbacks

* Memoise react contexts

* Prefer find/flatMap

* Make oxlint happier about our React keys

* Avoid unsafe default function params

* Fixup jsdoc

* Fixup contexts

* Switch from eslint to oxlint

* Some oxlint-related tweaks

* Iterate

* Partial revert to defer some changes and shrink diff

* Iterate

* Add eslint-plugin-element-call and enable the copyright rule

* Set strictStorePkgContentCheck

* Iterate

* Enable forwardRef oxlint rule

* Enable no-unused-vars oxlint rule

* Enable no-implied-eval oxlint rule

* Enable no-duplicate-type-constituents oxlint rule

* Enable explicit-length-check oxlint rule

* Enable prefer-number-properties oxlint rule

* Enable no-callback-in-promise oxlint rule

* Enable no-require-imports oxlint rule

* Remove disablement of most unicorn oxlint rules

* Enable no-conditional-tests oxlint rule

* Enable promise-valid-params oxlint rule

* Enable require-unicode-regexp oxlint rule

* Remove max-len comments as we use oxfmt for formatting

* Enable majority of oxlint `suspicious` rules

* Iterate

* Fix oxlint type-aware lint running without dependencies built
2026-07-29 08:26:07 +00:00
renovate[bot]GitHubrenovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
e8848e4746 Update dependency postcss to v8.5.23 (#34439)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-07-28 22:39:53 +00:00
ea38041c87 Fix joinRoom failing when the roomviewstore state changes. (#34180)
* Fix joinRoom failing when the roomviewstore state changes.

* drive by type fix

* Help debugging failed dispatches

* Use proper types and include roomId in RoomViewStore tests

* remove focus

* Update apps/web/src/stores/RoomViewStore.tsx

Co-authored-by: R Midhun Suresh <hi@midhun.dev>

* fmt

* Add a test for coverage

---------

Co-authored-by: R Midhun Suresh <hi@midhun.dev>
2026-07-28 16:41:36 +00:00
renovate[bot]GitHubrenovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
ab50101fea Update electron (#34437)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-07-28 15:03:57 +00:00
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>
c465bb964e Update rust:bullseye Docker digest to 33e0cd7 (#34435)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-07-28 14:38:08 +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
David LangleyandGitHub 207727c481 Draw a styled 32px macOS title bar band (#34419)
Draw a styled 32px macOS title bar

Replace the per-surface drag-strip hacks with a single full-width title
bar band matching the design: canvas background, hairline separator, and
draggable. Recentre the traffic lights for the taller band. Dialogs and
floating overlays stay clickable when they reach into the band while the
rest of the bar remains draggable.
2026-07-27 13:50:50 +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
Richard van der HoffandGitHub 19e72d28fc Update to Seshat 5.0.0 (#34396) 2026-07-23 10:55:28 +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