Commit Graph

69413 Commits

Author SHA1 Message Date
Michael Telatynski 07ce599b4f Set up deploy workflow correctly 2026-06-02 17:17:09 +01:00
RiotRobot d478b80d99 v1.12.21-rc.0 2026-06-02 15:41:08 +00:00
Michael Telatynski bd033212a2 Update to matrix-js-sdk@41.7.0-rc.2 2026-06-02 16:36:05 +01:00
David Langley 2c6461db17 Remove resizer from fullscreen modules(like multiroom) (#33684)
* Fix multiroom with new resizer

* Fix multiroom with new resizer

* Add jest test

* Add if/else and comments
2026-06-02 14:10:46 +00:00
Andy Balaam 65b0ac8c28 Support MSC4287 m.key_backup stable prefix as well as the unstable prefix (#33034)
* Support MSC4287 m.key_backup stable prefix as well as the unstable prefix

* Update comments to avoid talking about EX since this now applies more widely

* Make comments about m.key_backup more helpful

* Improve comment on recheckBackupDisabled

* Explicitly say backup is disabled only if enabled is actually set to false
2026-06-02 10:25:03 +00:00
Zack 1c04814c2b Refactor EventPreview to shared MVVM (#33646)
* Refactor EventPreview to shared MVVM

* Fix EventPreviewView export formatting

* Snapshots images for stories

* Deduplicate event preview formatting

* Handle event preview update failures

* Coalesce event preview updates

* Wait for event preview test expectations
2026-06-02 08:36:28 +00:00
David Baker 1b52311f2e Fix jest tests (#33688)
As of https://github.com/element-hq/element-web/pull/33573 (some?)
jest tests fail with "SyntaxError: Cannot use import statement outside a module"
when importing js-sdk. It removes js-sdk from moduleNameMapper in jest config
although I'm not sure why. This puts it back so js-sdk resolves to the
copy linked by our pnpm link script, which also makes get transformed.
2026-06-02 08:25:52 +00:00
Will Hunt bd1b5b492d Update package.json for module-api to have correct repo config (#33690) 2026-06-02 08:24:00 +00:00
Will Hunt 31b085ac30 Bump module API to 1.14.0 (#33685) 2026-06-02 05:46:31 +00:00
Hubert Chathi 2bd5224dbe Apply new design and display logic to logout confirmation dialog (#33426)
* apply new design to logout dialog

* factor out check for other verified devices

* only show recovery warning when user has no other verified devices

* fix playwright tests

* tweak style to better match design

* another playwright test fix

* fix playwright

* Look for the remove button within the dialog

* Use testid to locate 'Remove this device' button

* move rendering to sub-components, rather than embedded functions

* use <Type> element

* use <Text> for the <a> element

---------

Co-authored-by: Andy Balaam <andy.balaam@matrix.org>
2026-06-02 03:08:18 +00:00
Michael Telatynski 178e909dea Add pnpm allowBuilds in order to make wrangler-action happy 2026-06-01 15:29:18 +01:00
Michael Telatynski e52d5f0f99 Make cloudflare pages wrangler action happier
By disabling root workspace check to workaround https://github.com/cloudflare/wrangler-action/issues/181
2026-06-01 15:15:09 +01:00
RoyS 210421ac47 fix: use configured brand name in JSON and PlainText chat export filenames (#33680)
* fix: use configured brand name in JSON and PlainText chat export filenames

The JSON and PlainText chat export functions were using the hardcoded
default 'matrix' as the brand name in filenames, while the HTML/ZIP
export correctly used the configured brand (e.g., 'Element').

This made the filenames inconsistent:
- ZIP: Element - Room - Chat Export - timestamp.zip
- JSON: matrix - Room - Chat Export - timestamp.json

Now both JSON and PlainText exports pass SdkConfig.get().brand to
makeFileNameNoExtension(), matching the behavior of the base Exporter
class used by HTML exports.

Fixes #32853

Signed-off-by: RoySerbi <roy676564@gmail.com>

* refactor: read brand from SdkConfig inside makeFileNameNoExtension

Address review feedback from @t3chguy: the brand parameter on
makeFileNameNoExtension was effectively dead (all three call sites passed
SdkConfig.get().brand and the 'matrix' default was unreachable).

- Exporter.makeFileNameNoExtension now reads SdkConfig.get().brand directly
- All call sites (Exporter, JSONExport, PlainTextExport) simplified to no-arg
- Drop now-unused SdkConfig imports in JSONExport and PlainTextExport

Tests are unchanged: they already mock SdkConfig to return 'Element', so the
existing 'Element-branded destination file name' snapshots remain valid.

---------

Signed-off-by: RoySerbi <roy676564@gmail.com>
2026-06-01 13:44:28 +00:00
rbondesson 531fc76726 Refactor EventTile using the MVVM pattern - #7b (#33668)
* Normalize Leaf Adapter Pattern

* Extract simple EventTile adapters

* Move simple EventTile adapter VM ownership to EventTileViewModel

* Release listener-owning EventTile child VMs on adapter unmount

* Extract stateful EventTile adapters

* Move action bar VM ownership to EventTileViewModel

* Move reactions row VM ownership into EventTileViewModel

* Extract EventTile receipt rendering

* Extract EventTile sender identity rendering

* Add missing TSDoc on adapters
2026-06-01 13:36:37 +00:00
renovate[bot] ffd524d8c2 Update aws-actions/configure-aws-credentials digest to 99214aa (#33682)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-06-01 13:25:52 +00:00
renovate[bot] bb24352bce Update testcontainers docker digests (#33683)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-06-01 13:18:59 +00:00
Michael Telatynski 9c4397fe9e Fix deployment to Cloudflare pages (#33674)
Broken by pnpm 11 PR
2026-06-01 13:17:53 +00:00
Michael Telatynski 35484e5183 Switch to using diff-cover for the Coverage gate (#33673)
* Switch to using diff-cover for the Coverage gate

Enabling developers to check their PR coverage without waiting for CI

* Remove sonar-project.properties - in automatic mode Sonar will not read this file

* Add note to CONTRIBUTING.md

* Skip sonar in MQ
2026-06-01 12:26:03 +00:00
renovate[bot] dd2ae6e36c Update react (#33566)
* Update react

* Hold back react-resizable-panels

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Michael Telatynski <7t3chguy@gmail.com>
2026-06-01 09:13:23 +00:00
rbondesson fc23fcad47 Make shared-components tiles render identically outside Element Web - #4 (#33622)
* Use shared MessageTimestampView in edit history

* Move timestamp typography into shared component

* Updated snapshots

* Update comments after clean up

* Fixed sonar issue and added tests for improved coverage

* Fix Prettier issue

* Fix font-size on timestamps and toolbar button sizing

* Updated snapshots

* Updated Storybook screenshots

* Updated screenshots

* Clean up app/web unused/redundant styling for disambiguated profile

* Fix merge error

* Fixes after merge

* Fixes after merge
2026-06-01 05:47:59 +00:00
Michael Telatynski 32b66747f4 Fix renovate for pnpm 11 overrides (#33667) 2026-05-29 14:24:56 +00:00
renovate[bot] fe863dab37 Update dependency @types/content-type to v2 (#33661)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-05-29 10:23:22 +00:00
renovate[bot] d6e4454ffa Update testcontainers to v12 (#33662)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-05-29 09:24:43 +00:00
Zack 92383e3f50 Removing the wierd blue border color when focused + adjusted the bord… (#33630)
* Removing the wierd blue border color when focused + adjusted the border to show when squeezed at the end of border

* Update snapshots

* Update edited code block screenshot
2026-05-29 09:00:23 +00:00
rbondesson 7ff2bc3e40 Extracting RovingGridIndex from EmojiPicker and move to shared components (#33650)
* Add shared roving grid navigation provider

* Add RovingTabIndex stories and update RovingGridIndex stories

* Handle multiple toolbars/grids in on roving group

* Refactor EmojiPicker to use shared roving grid navigation

* Exclude the roving stories from playwright tests

* Fix Sonar issues
2026-05-29 08:54:58 +00:00
David Baker 05e3f1bd6f Rename first df job (#33651)
Presumably it can't have the same name as the other df job
2026-05-29 08:50:19 +00:00
renovate[bot] 16c0dfcec9 Update dependency @element-hq/element-call-embedded to v0.19.4 (#33658)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-05-29 08:36:19 +00:00
renovate[bot] b151749be6 Update actions/stale digest to eb5cf3a (#33659)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-05-29 08:32:57 +00:00
rbondesson 076593934a Stabilise audio reply-chain Playwright test setup (#33654) 2026-05-29 08:28:56 +00:00
renovate[bot] 1fb6b778e7 Update pnpm to v11 (#33573)
* Update pnpm to v11

* Handle breaking changes

* Attach pnpm hash

* Remove redundant packageManager fields

* Make lint-staged happy

* Lockfile pnpm itself too

* Update pnpm/action-setup for better v11 compatibility

* Specify types to make tsc happier

* Fix permissions

* Check ulimit

* Specify minimumReleaseAgeExclude

* Run desktop tests

* Revert "Run desktop tests"

This reverts commit 911eb0ba2e9237d4b28e3bdaaf8f10ba6f22e827.

* Revert "Check ulimit"

This reverts commit f09eb59d715ba30a2e7fc5dba17dde092bd9bf17.

* Reapply "Check ulimit"

This reverts commit 83227c19ff5d07db91b6586f407f56870b00c041.

* Run desktop tests

* Switch nodeLinker & remove app-builder-lib patch

* Fix webpack.config.ts

* Fix .stylelintrc.cjs

* Fix `events` package

* Makes types happier

* Make knip happy

* Fix hak build

* Make jest happy

* Make pnpm-link happy

* Remove dead file

* Run playwright tests

* Fix linux hak permissions in ci

* Test

* Remove ulimit checks

* Disable skip

* Update nx

* Tweak line endings

* Update screenshot

* Iterate

* Webpack fallback `events`

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Michael Telatynski <7t3chguy@gmail.com>
2026-05-29 08:26:59 +00:00
renovate[bot] 4b2944440e Update testcontainers docker digests (#33660)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-05-29 08:25:58 +00:00
ElementRobot 1fb6784c1a [create-pull-request] automated change (#33657)
Co-authored-by: t3chguy <2403652+t3chguy@users.noreply.github.com>
2026-05-29 08:14:34 +00:00
rbondesson e33aad6e1a Stabilise room-list drag helper geometry lookup (#33656) 2026-05-29 08:05:33 +00:00
rbondesson 3aa3678c2d Refactor EventTile using the MVVM pattern - #7a (#33640)
* Make EventTileViewModel an owned root VM

* Move timestamp sub-VMs under EventTileViewModel

* Move thread-list action bar VM under EventTileViewModel

* Clean up for improved readability

* Clean up to avoid duplicate EventTile render derivations

* Avoid mutating EventTileViewModel during render

* Move EventTile child VM syncing into adapters

* Replace timestamp VM field setters with batched setProps

* Component wrappers at the end of the file

* Lazy-create EventTile child view models
2026-05-29 05:56:31 +00:00
David Baker 0ed98941bd Fix playwright screenshot consistency (#33645)
Add the --unsafe flag because we like to live dangerously, as commented.
2026-05-28 15:08:19 +00:00
rbondesson 8aa5c175ad Fix story book title (#33644) 2026-05-28 11:28:00 +00:00
Michael Telatynski 7408796362 Fix element desktop dockerbuild utilities (#33641)
Got broken by monorepo merge
2026-05-28 09:53:29 +00:00
Zack 3bb9cb2234 Refactor ThreadSummary to MVVM (#33603)
* Refactor ThreadSummary to MVVM

* Stories Snapshot images

* Add ThreadSummary ViewModel coverage

* Fix ThreadSummary preview avatar rendering

* Remove ThreadSummary classnames helper

* Fix Prettier

* Match ThreadMessagePreview typography

* Move folder to correct path and fix storybook path

* Catch ThreadSummary preview refresh errors

* Update snapshot images + fix prettier

* Fix ThreadSummary classNames import

* Update Images

* Remove wrong path
2026-05-28 08:57:55 +00:00
Zack 34c388f760 Refactor E2eMessageSharedIcon to MVVM (#33544)
* Refactor E2eMessageSharedIcon to MVVM

* FIx Prettier and i18n

* Fix prettier

* Remove legacy E2eMessageSharedIcon component

* Cover E2eMessageSharedIcon MVVM updates

* Fix prettier

* Update apps/web/src/components/views/rooms/EventTile.tsx

Co-authored-by: Florian Duros <florian.duros@ormaz.fr>

* Skip unknown E2E shared icon visual

* Track E2E shared icon listener disposal

* Remove E2E shared icon room state guard

* Remove E2E shared icon client resync

* Use built-in disposables for shared icon VM

* Update shared icon VM without React key

---------

Co-authored-by: Florian Duros <florian.duros@ormaz.fr>
2026-05-28 08:01:39 +00:00
Michael Telatynski 013413c27a Delete packages/playwright-common/src/@types/playwright-core.d.ts (#33631)
As identified in https://github.com/element-hq/element-web/pull/33592 this is no longer accessible
2026-05-28 07:58:34 +00:00
David Langley c6b2f8955d Remove 'A-New-Search-Experience' label (#33589)
Removed label for the new search experience from labels.yml.

There is already one for spotlight synced from meta.
2026-05-28 07:42:36 +00:00
David Baker d3a80e3ca7 Add df before tests start (#33627)
* Add df before tests start

As I'd quite like to know what the disk usage was *before* the job
started too.

* typo
2026-05-27 15:11:01 +00:00
renovate[bot] efeef6cd84 Update electron-builder to v26.11.1 (#33563)
* Update electron-builder to v26.11.1

* Update patch

* Make tsc happy

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Michael Telatynski <7t3chguy@gmail.com>
2026-05-27 13:50:12 +00:00
RiotRobot 3c6233c3a3 Merge branch 'master' into develop 2026-05-27 13:49:41 +00:00
RiotRobot 5d36492432 v1.12.20 2026-05-27 13:46:37 +00:00
ElementRobot 2bf14fbc80 Realign the User Menu profile picture on desktop (#33633) (#33634)
The button already shoves itself left so we don't need the macos
style to do so as well.

(cherry picked from commit 0d8ebf48fa)

Co-authored-by: David Baker <dbkr@users.noreply.github.com>
2026-05-27 14:42:22 +01:00
David Baker 0d8ebf48fa Realign the User Menu profile picture on desktop (#33633)
The button already shoves itself left so we don't need the macos
style to do so as well.
2026-05-27 12:33:47 +00:00
rbondesson 6c0f9960b5 Refactor EventTile using the MVVM pattern - #6 (#33621)
* Thin EventTile render state wiring

* Move EventTile E2E verification into a view model

* Derive EventTile E2E padlock slots in view model

* Derive EventTile timestamp slots in render state

* Derive EventTile footer slots in render state

* Fix SonarCloud issues
2026-05-27 11:34:56 +00:00
Florian Duros 1ef544c5c6 Room list: add analytic events (#33625)
* chore: update analytics

* feat: add new analytics
2026-05-27 09:50:22 +00:00
Florian Duros abe383d996 Room list: improve custom sections in Spaces (#33523)
* feat: display empty custom sections in the space where they were created

* test: update tests

* fix: room can't be drag in to a section if a section is created before

* fix: re-render issue when section is created
2026-05-27 09:43:59 +00:00