577 Commits

Author SHA1 Message Date
Andy Balaam
9a8ffbe0bd
playwright-common utilities for handling toasts (#33119)
* playwright-common utilities for handling toasts

* Set element-web-playwright-common version to 3.1.0

* Add comments to explain the linear hierarchy of fixtures
2026-04-14 11:49:27 +00:00
Zack
1670015ef7
Fix missing Storybook autodocs descriptions for shared components (#33135) 2026-04-14 09:53:29 +00:00
Zack
a7cd6eac31
Shared Components Restructure, Cherry Picked | Restructure Room-List Tree (#32915)
* refactor(shared-components): restructure room-list tree

* refactor(web): rename room-list parent viewmodel

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

* fix(room-list): address review feedback

* Fix Prettier

* Move AvatarWithDetails from avatar folder to core

* Update stories title to reflect correct path

* Fix AvatarWithDetails barrel export path

* Remove stale DateSeparatorView barrel export

* Move AvatarWithDetails visual baseline

* Shorten shared-components visual snapshot paths

* Revert "Shorten shared-components visual snapshot paths"

This reverts commit 91880ff5fb10408aa0091175b53ce3c86c6975a9.

* Move room list notification decoration files up a level
2026-04-14 08:51:36 +00:00
Michael Telatynski
2204493094
Merge pull request #33112 from element-hq/t3chguy/monorepo-module-api
Absorb element-modules/packages/element-web-module-api into monorepo
2026-04-14 07:05:26 +00:00
Florian Duros
23b11aaf86
Update compound web and compound design tokens (#33120)
* chore: update compound web and compound design tokens

* test: update SC snapshots

* test: update EW snapshots

* test: update EW screenshots
2026-04-13 15:40:24 +00:00
Zack
9e47271afe
Fix CSS module name collisions in shared-components Vitest (#33116) 2026-04-13 13:34:23 +00:00
Michael Telatynski
7010f2091c
Absorb element-modules/packages/element-web-module-api into monorepo 2026-04-13 11:10:11 +01:00
Will Hunt
17efc81f0b
remove disabled on retry room status bar (#33113) 2026-04-13 09:51:55 +00:00
Michael Telatynski
ad2e6d37bc
mv element-web-module-api module-api 2026-04-13 09:18:23 +01:00
rbondesson
e30adf4eb3
Fix date separator trigger ref forwarding for jump-to-date menu (#33102)
* Fix date separator trigger ref forwarding for jump-to-date menu

* Normal forwarded ref is sufficient for the menu-button setup in Compound

* Better comment
2026-04-10 18:28:39 +00:00
Michael Telatynski
1096ca2066
Iterate 2026-04-10 17:39:46 +01:00
Michael Telatynski
ec924deaa0
Merge branch 'develop' of ssh://github.com/element-hq/element-web into t3chguy/monorepo-playwright-common
# Conflicts:
#	pnpm-lock.yaml
2026-04-10 16:41:45 +01:00
Michael Telatynski
b97a0be0fd
Generalise npm publishing workflow to work for more than just shared-components (#33086)
* Generalise npm publishing workflow to work for more than just shared-components

* Update doc
2026-04-10 14:37:45 +00:00
Richard van der Hoff
a132b9167d
Fix playwright-server docker image not exiting (#33099)
* Fix playwright-server docker image not exiting

... by wrapping with tini

* Remove redundant `npm exec`

* Update packages/playwright-common/Dockerfile

* missing comma
2026-04-10 12:31:03 +00:00
Richard van der Hoff
b860a3864d
Improve output of playwright-screenshots script (#33098)
* Improve output of playwright-screenshots script

* Address review feedback
2026-04-10 11:50:12 +00:00
Florian Duros
3fd5718fcd
Add tags support to SC I18nApi (#32984)
* chore: update ew module to 1.13.0

* feat: implement tag support in I18nApi#translate

* fix: correct return type for translate

* test: translate World! in i18nApi test

* fix: again return type

* chore: update pnpm lock
2026-04-09 15:01:20 +00:00
Michael Telatynski
b6b0b0009c
Fix some flaky playwright tests (#33085)
* Tweak flaky test reporter to identify setup failures

* Fix some flaky playwright tests

* Iterate
2026-04-09 14:34:48 +00:00
Michael Telatynski
561dbd32be
Iterate 2026-04-09 15:31:34 +01:00
Michael Telatynski
540e620f40
Adjust consumers of playwright-common 2026-04-09 15:22:56 +01:00
Michael Telatynski
03e12cbd22
Absorb element-modules/packages/element-web-playwright-common into monorepo 2026-04-09 15:17:15 +01:00
Michael Telatynski
5e80431399
Shorten path for playwright-commmon 2026-04-09 14:35:32 +01:00
Michael Telatynski
04dff2d2b6
Update doc 2026-04-09 14:12:28 +01:00
Zack
1721b69017
Move TextualBody to shared components (#32868)
* Init, refactoring and movement of TextualBody to shared components, adding stories, test and view

* migrate TextualBody to shared view + app viewmodel

* Update snapshots + prettier fix

* Fix Prettier

* added new tests to make coverage happy

* add comment to attachbodyRef function

* Fix: Remove event onkeydown and remove hardcoded mx css

* Update enums to const enums

* added comment on css to explain 9px

* Update comment

* Correcting comment, pushed too fast..

* Update Css To Fix (edited)

* Update snapshot to reflect css changes

* Fix emote into one liner

* Update snapshot
2026-04-09 11:36:24 +00:00
Michael Telatynski
134ffe3de2 Merge pull request #212 from element-hq/t3chguy/wat/382 2026-04-09 08:56:05 +01:00
Marley Alford
725b191ace
fix: Left hand sidebar text selectable (#33029)
* fix: Add `user-select none` styles to header and room list filters

* chore: remove extra prefixed user-select variants

---------

Co-authored-by: Marley Alford <marleycalford@gmail.com>
2026-04-08 12:01:33 +00:00
Michael Telatynski
8cae8df17f Actually skip stale screenshot reporter on errors 2026-04-08 11:43:50 +01:00
Zack
d197fb4e30
Refactor and Move TileErrorBoundary to Shared Components (#32793)
* creation of stories and view in shared-components

* migrate EventTile error fallback to shared TileErrorView MVVM

* Fix lint errors and unused import

* Update tests because of the refactoring

* Update snapshots + stories

* removal of mxEvent since it never changes in timeline

* Update packages/shared-components/src/message-body/TileErrorView/TileErrorView.stories.tsx

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

* Update apps/web/src/viewmodels/message-body/TileErrorViewModel.ts

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

* Update apps/web/src/viewmodels/message-body/TileErrorViewModel.ts

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

* docs: add TileErrorView tsdoc

* docs: add TileErrorViewModel tsdoc

* docs: add view source label tsdoc

* refactor: move tile error layout into vm

* docs: add TileErrorView story view docs

* docs: move tile error story list wrapper

* refactor: remove unused tile error event setter

* Update packages/shared-components/src/message-body/TileErrorView/TileErrorView.stories.tsx

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

* docs: add tsdoc for event tile error fallback props

* refactor: rely on snapshot merge no-op checks

* remove unessecery if statment

* test: restore EventTile mocks in afterEach

* test(shared-components): move TileErrorView baselines

---------

Co-authored-by: Florian Duros <florian.duros@ormaz.fr>
2026-04-08 09:05:31 +00:00
ElementRobot
4beaa52b28
[create-pull-request] automated change (#33068)
Co-authored-by: t3chguy <2403652+t3chguy@users.noreply.github.com>
2026-04-08 07:09:57 +00:00
renovate[bot]
1dcc19b4b6
Update playwright (#33060)
* Update playwright

* Update snapshots

* Update types

* Update snapshot

* Update playwright-common

* Remove stale screenshots

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Michael Telatynski <7t3chguy@gmail.com>
2026-04-07 16:16:57 +00:00
Michael Telatynski
1107ddf695 Bump version to 2.4.0 in playwright-common 2026-04-07 15:39:22 +01:00
Michael Telatynski
63dbc2a60b Merge pull request #200 from element-hq/t3chguy-patch-1 2026-04-07 15:38:42 +01:00
R Midhun Suresh
811670a08c
Ignore specific directories (#33055)
Otherwise newly generated screenshots will be ignored.
2026-04-07 12:05:52 +00:00
ElementRobot
c05795c1bb
Localazy Download (#33049)
* [create-pull-request] automated change

* Discard changes to apps/web/src/i18n/strings/en_EN.json

---------

Co-authored-by: t3chguy <2403652+t3chguy@users.noreply.github.com>
Co-authored-by: Michael Telatynski <7t3chguy@gmail.com>
2026-04-07 08:35:25 +00:00
Will Hunt
cffd8cfd70
Disallow links without protocol (e.g. starting with http(s)://) in LinkedText. (#32972)
* Disallow links without protocols in LinkedText.

* Update tests
2026-04-07 07:53:06 +00:00
Zack
11fd669c26
Move shared message body views into event-tile layout (#33015)
* Move shared message body views into event-tile layout

* Move shared message body visual baselines
2026-04-07 06:38:24 +00:00
dependabot[bot]
6d1cd514e4 build(deps-dev): bump vite in the npm_and_yarn group across 1 directory
Bumps the npm_and_yarn group with 1 update in the / directory: [vite](https://github.com/vitejs/vite/tree/HEAD/packages/vite).


Updates `vite` from 7.3.1 to 7.3.2
- [Release notes](https://github.com/vitejs/vite/releases)
- [Changelog](https://github.com/vitejs/vite/blob/v7.3.2/packages/vite/CHANGELOG.md)
- [Commits](https://github.com/vitejs/vite/commits/v7.3.2/packages/vite)

---
updated-dependencies:
- dependency-name: vite
  dependency-version: 7.3.2
  dependency-type: direct:development
  dependency-group: npm_and_yarn
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-04-06 20:43:24 +00:00
Florian Duros
46bff1f9e6
Room list: add activity marker to sections (#33024)
* feat: add unread status to section view

* feat: add unread tracking in room list section

* feat: populate rooms into section header vm

* test: add units for unread in section view model

* test(e2e): add unread tests
2026-04-06 19:05:45 +00:00
renovate[bot]
e53a148da2
Update vite (#33003)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-04-03 10:39:12 +00:00
ElementRobot
b1ed35e9b8
[create-pull-request] automated change (#33038)
Co-authored-by: t3chguy <2403652+t3chguy@users.noreply.github.com>
2026-04-03 06:55:51 +00:00
Michael Telatynski
2d3e2fcb70
Remove global h2 css rule in favour of heading styles/components (#32969)
* Remove global h2 css rule in favour of heading styles/components

* Use Compound Heading in shared-components

and forbid hX elements

* Use Compound Heading in settings

add back margin to some legacy headings

* Tweak some headings

* Update screenshots

* Update screenshots

* Update snapshots

* Tweak .gitignore

* Update snapshots

* Iterate

* Update screenshots

* Update screenshots

* Update screenshot
2026-04-02 16:13:17 +00:00
rbondesson
4315038346
Refactor MessageActionBar using MVVM and move to shared-components (#32784)
* Refactor MessageActionBar into MVVM ActionBarView

* Adding tooltips for menu items and correct i18n strings

* Layout changes

* Renaming some properties

* Rename property

* Create a first version of the view model and refactor media visibility logic

* Refactor view to take options and rections menu as optional properties

* Cleaner interface between view and view model

* Refactor view properties and replace Menu and MenuItem

* Bugfixes and switching to ActionBarView instead of MessageActionBar in element-web

* Avoid creating view models and render toolbar until it is actually shown

* Added unit and playwright tests and documented the view

* Added view model unit tests and updated snapshots of dependant tests

* Remove unused components and unnecessary css

* Remove unused language tags

* Fix for handling join-rules correctly

* Prettier

* Add handling of stale view model in async calls

* Prettier

* Split the element-web css into two different. One for legacy components and one for the ActionBarView

* Missing variables used for linting

* Fix for showing ActionBarView when using keyboard for navigation

* Handle visibility on context menu closing

* ThreadPanel uses the ActionBarView so restore css rule

* Fix for visibility of the ActionBarView in Thread panel

* Fix for ActionBarVuew visibility when closing right-click context menu and not still hovering

* Add roving index to function as a toolbar

* Adjust the RoomView test to send hover to the EventTile instead of the message text

* Fix SonarCloud issues

* Fix for SonarCloud issue

* Merge fix

* Rename mx_LegacyActionBar to mx_ThreadActionBar

* Added documentation and simplified join rules

* Generalize the ActionBarView and move logic to view model

* Add the four new buttons to the ActionBarView

* Update view model and tests to use the updated ActionBarView

* Refactor element-web to use ActionBarView

* Clean up styling in element-web

* Clean up and updating snaps and screenshots

* Added unit-tests for better coverage

* Moving ActionBarView to the correct folder in shared components

* Update snaps in element-web

* Better documentation in stories

* Merge fixes

* Updates after review comments

* Review comment fixes

* Added documentation to view models and updated snaps

* Hide button had the wrong label

* Replace createRef with useRef
2026-04-01 12:27:03 +00:00
Zack
0391543bbc
Refactor and move MVideoBody to shared components (#32849)
* init MVideoBody to shared components, including test, stories and view

* fix prettier and other warnings

* move video message body to shared view + app viewmodel

* Fix prettier warnings and masking spinner for tests

* stabilize VideoBodyView screenshots with local media asset

* Disable spinner from changing image all the time

* Added mask over video spinner to prevent issues with new generated images on playwright tests

* Update prettier fix

* Update snapshot

* Add tests to cover different states of Video

* Update code to prevent the previous component Hack fix regarding jumps on the timeline.

* Update snapshot

* Update code to improve code quality for Sonar + update snapshot

* adde documentation snippets

* refactor: move m.video rendering into body factory

* docs: add tsdoc for video body view model

* docs: add thumbnail tsdoc for video body view model

* docs: add content-url tsdoc for video body view model

* docs: add dimensions tsdoc for video body view model

* docs: add aspect-ratio tsdoc for video body view model

* docs: add tsdoc for video body view state

* refactor: replace video body view state enum

* refactor: remove duplicate video body state init

* refactor: drop unused video body view state attribute

* Fix Prettier

* Update snapshot screenshot

* test: restore video story screenshot mask

* chore: refresh PR head

* Add mask to screenshot to pass CI tests

* test: narrow video story mask hook

* Fix easy Sonar warnings in video body components

* Move shared message body views into event-tile layout

* Move shared message body visual baselines

* Revert unrelated shared message body moves
2026-04-01 09:48:22 +00:00
renovate[bot]
f1c0e556ab
Update pnpm to v10.33.0 (#33004)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-03-31 20:54:22 +00:00
Florian Duros
0f515f581e
Room list: add default sections (#32785)
* feat: add sections to RLSV3

* feat: add sections in vms

* feat: add room list section labs flag

* fix: wrong margin for room list item when in sections

* feat: hide favourites and low priority filters

* fix: crash when changing filter

* feat: support sticky room in sections

* test: update SC snapshot

* test: update SC screenshot

* test: update RLS tests

* test: add tests to RoomListSectionHeaderViewModel

* test: fix existing test in RoomListViewModel

* test: add sections tests for RoomListViewModel

* test: add e2e tests for sections

* fix: incorrect selected room when expanding/collasping a section

* fix: typo in `roomSkipList`

* feat: use one skip list with all filters instead of one list by tag

* chore: put back comment about `roomIndexInSection`

* chore: add missing `readonly`

* chore: add doc about possible undefined value for room item vm
2026-03-31 18:43:32 +00:00
renovate[bot]
86d9e32d53 Update Node.js to 0174333 (#235)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-03-31 14:27:28 +00:00
Michael Telatynski
2b3720b4a2
Consolidate Build & Test CI (#32929)
* Consolidate Build & Test CI

* Add missing workflow dependency

* Fix artifact name clash

* Fix playwright config

* Fix playwright_ew job

* Fix ed tests

* Fix playwright tags

* Iterate

* Fix file reads

* Fix sample-files paths

* Fix PW_TAG

* Fix blob report paths

* Delint

* Fix build-and-test.yaml

* Iterate

* Fix consentHomeserver.ts

* Simplify

* Iterate

* Delint

* Iterate

* Iterate

* Iterate

* Specify shell

* Simplify

* Delete apps/web/playwright/sample-files/index.ts

* Discard changes to apps/web/playwright/sample-files/index.ts

* Exclude playwright-common from coverage gate

* Attempt to speed up arm64 desktop test

* Revert "Attempt to speed up arm64 desktop test"

This reverts commit 8fa8ff0c785da6dad05bda938c8af24fa6af0451.

* Iterate

* Fix cache key

* Accept python or python3 as per node-gyp

* Accept python or python3 as per node-gypd

* Exclude apps/desktop/hak from coverage gate
2026-03-31 12:52:50 +00:00
Michael Telatynski
2b3425f0e8 Merge branch 'main' of github.com:/element-hq/element-web-modules into t3chguy/wat/382
# Conflicts:
#	modules/restricted-guests/element-web/e2e/snapshots/restricted-guests.spec.ts/preview-bar-linux.png
2026-03-31 09:26:21 +01:00
Michael Telatynski
fc870bd676
Fix playwright tests locally (#32974) 2026-03-31 07:54:23 +00:00
Zack
dda9ec061b
Shared Components Restructure, Cherry Picked | Room Timeline (#32916)
* refactor(shared-components): move room timeline tree

* refactor(web): move room timeline viewmodels

* Prettier FIx

* fix(refactor): align newer imports with room timeline paths

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

* test(shared-components): drop stale timeline baseline paths
2026-03-30 15:15:21 +00:00
Michael Telatynski
42149fe3b0
Fix vitest playwright warning (#32970)
Vitest handles this upstream now
2026-03-30 14:42:53 +00:00