Commit Graph

345 Commits

Author SHA1 Message Date
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
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
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 8fa8ff0c78.

* 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
R Midhun Suresh a6f0d25525 Merge pull request #230 from element-hq/midhun/bump/playwright-common-2.3.0
Bump `@element-hq/element-web-playwright-common` package version
2026-03-30 20:06:54 +05:30
R Midhun Suresh 72de8745e9 Bump package version 2026-03-30 19:56:58 +05:30
R Midhun Suresh 0079270fa5 Lock width when running most playwright tests 2026-03-30 18:16:44 +05:30
R Midhun Suresh 4f9a0321b5 Collapsible Room List - Prevent any interaction with the separator when the panel is expanded (#32910)
* Use display:none to hide separator

Instead of using zero width and zero opacity. This will prevent any
interaction with the separator.

* Update snapshot
2026-03-29 12:52:16 +00:00
Zack e8701f5a06 Shared Components Restructure, Cherry Picked | Core (#32914)
* refactor(shared-components): move core primitives under core

* refactor(shared-components): restore i18n strings path

* fix(shared-components): repair typedoc story imports

* fix(shared-components): align newer imports with core paths

* test(shared-components): add core visual baselines

* refactor(shared-components): move virtualized list to core root
2026-03-27 19:58:56 +00:00
Michael Telatynski efd2636824 Fix docker image signing v2 (#32956)
* Tweak cd.yaml workflow

* Tweak cd.yaml workflow

* Iterate

* Iterate

* Iterate

* Iterate

* Remove debug
2026-03-27 09:13:20 +00:00
Michael Telatynski f573ba4084 Consolidate ED dockerbuild into CD nx workflow (#32923)
* Consolidate ED dockerbuild into CD nx workflow

* Touch Dockerfile to convince CI to be happy
2026-03-26 13:39:39 +00:00
Robin 5a074e637a Fix room list often showing the wrong icons for calls (#32881)
* Give rooms with calls a proper accessible description

Besides improving accessibility, this makes it possible to check for the presence of a call indicator in the room list in Playwright tests.

* Make room list react to calls in a room, even when not connected to them

To use the results of CallStore.getRoom reactively, you need to listen for Call events, not ConnectedCalls events.

* Don't assume that every call starts off as a video call

If a Call object is created by way of someone starting a voice call, then of course the call's initial type needs to be 'voice'.

* Make room list items react to changes in call type

The type of a call may change over time; therefore room list items explicitly need to react to the changes.

* Update a call's type before notifying listeners of the change

If we notify listeners of a change in a call's type before actually making that change, the listeners will be working with glitched state. This would cause the room list to show the wrong call type in certain situations.

* Ignore the Vitest attachments directory
2026-03-26 10:28:48 +00:00
Florian Duros 441b292353 RoomList: improve performance (#32919)
* perf: add memo to room avatar view

* perf: batch rlsV3 emit

* perf: avoid to re-render the room list if the room list state and sections are same

* perf: listen only message preview of the specific room

* perf: avoid to re-render the room list item if the notification or the content is same

* chore: replace useState and useEffect by useMemo in virtualized list

* fix: listen to room name event in RoomAvatar

* fix: room avatar re-render when room is low priority
2026-03-25 19:52:45 +00:00
Florian Duros 1025d60001 Avoid excessive re-render when setting same reference/value in snapshot (#32918)
* perf: avoid excessive re-render when setting same value in snapshot

* test: update tests
2026-03-25 15:23:11 +00:00
Florian Duros 3764224fc2 Remove sticky headers in shared components grouped list (#32908)
* fix: use a flat list instead of grouped virtuoso for the grouped list

* test: update virtualized list

* test: update snapshots
2026-03-25 14:33:41 +00:00
ElementRobot e3456a7d1e [create-pull-request] automated change (#32913)
Co-authored-by: t3chguy <2403652+t3chguy@users.noreply.github.com>
2026-03-25 06:45:33 +00:00
Florian Duros f1058cfc9b chore: exclude stories from dts generations (#32905) 2026-03-24 15:49:39 +00:00