Commit Graph

101 Commits

Author SHA1 Message Date
rbondesson
a1be203683 Move EventTileBubble to shared components (#31911)
* Move EventTileBubble to shared components as is

* Added documentation and updated stories and unit tests

* Move 'global' element web css to _common.pcss

* Adding playwright snapshots

* Updated comments

* Added legacy mx_MessageTimestamp class and updated snapshots

* Regenerate snapshots with correct hash

* Changes to css and removed timestamp from properties after review.

* Update screenshot for room-list and fix flaky CI playwright test.

* Blur the play button before matching screenshots

* Changed to button focused instead of blur for consistancy

* Stabilize play button appearance in CI (disabled due to decoding)

* Force play button appearance in CI (disabled due to decoding)

* Add comments on playwright test changes.
Change from React.RefObject<any> to Ref<HTMLDivElement> in EncryptionEvent.tsx

* Update playwright/e2e/composer/CIDER.spec.ts

Co-authored-by: Michael Telatynski <7t3chguy@gmail.com>

* Update playwright/e2e/composer/CIDER.spec.ts

Co-authored-by: Michael Telatynski <7t3chguy@gmail.com>

* Update playwright/e2e/crypto/toasts.spec.ts

Co-authored-by: Michael Telatynski <7t3chguy@gmail.com>

---------

Co-authored-by: Michael Telatynski <7t3chguy@gmail.com>
2026-02-03 14:37:57 +00:00
Richard van der Hoff
af55def428 Add badge for history visibiltity to room info panel (#31927)
* Add `HistoryVisibilityBadge` shared component

* Add `historyVisibility` to `RoomSummaryCardViewModel`

* Add a history visibility badge to the room info panel

* Allow roominfo panel badges to wrap

Now that we have an extra one, it's quite likely we'll have to spill onto more
lines.

* update screenshots

* Set icons in badges to be 16px

Having discussed this with the design team, the icons in badges should be 16px, not 13px,
at default font size settings.

* Add stories for all history visibility states

* fix incorrect use of useRoomState

* fix snapshots

* more snapshot updates

* Update screenshots
2026-02-03 12:50:00 +00:00
ElementRobot
0053bedc38 [create-pull-request] automated change (#31935)
Co-authored-by: t3chguy <2403652+t3chguy@users.noreply.github.com>
2026-02-02 06:49:46 +00:00
rbondesson
25d24d478f Refactor DecryptionFailureBody using MVVM and move to shared-components (#31829)
* Refactor DecryptionFailureBody to MVVM and moving it to shared components

* Added unit test for DecryptionFailureBodyViewModel

* Removing the dependency to matrix.js-sdk from the shared component

* Kepp class mx_EventTile_content for tile layout

* Required changes after rebase

* Updates after PR review requests

* Clean up unused translation tags in element-web

* Added missing unit tests to improve coverage

* Additional unit tests to improve test coverage

* Removing obsolete tests from the snap

* Only listen to verification state changes in the wrapper components and also limit the view model to only allow updates in verification state.

* Updates after review requests

* Updated and added missing playwright snapshots

* Bettter structure on view model

---------

Co-authored-by: Florian Duros <florianduros@element.io>
Co-authored-by: Zack <zazi21@student.bth.se>
2026-01-30 12:44:23 +00:00
Zack
62c7fe5408 Refactor ReactionsRowButtonTooltip to shared-components (#31866)
* Setting up structure for the init refactoring of ReactionsRowButtonTooltip

* implemented example to follow for refactoring to MVVM

* Refactoring of ReactionsRowButtonTooltipView

* updated reactionrowbutton to use our new viewmodel and removed unessecery comments

* Updated children from reactnode to propswithchildren

* removal of children on the vm have it as a props

* implemented constructor into reactionrowbutton to use vm to viewmodel

* Removal of old component

* Added ViewModel Tests for new viewmodel

* Fix issues after merging develop

* Updated import placement for eslint failure CI

* Add tests for ReactionsRowButton ViewModel integration and click handlers to pass coverage

* Added more tests to cover all conditions

* Pass MatrixClient as prop instead of using global; replace expect(true).toBe(true) with not.toThrow()

* Added new snapshot to reflect modifications on tests

* Update images to fit the CI tests

* Optimize reactions tooltip viewmodel updates

* Removal of module.css for reactionbuttontooltip, we dont need it since we dont use any css

* Fixed snapshots to show the tooltip by introducing a boolean to set open to true in Storybook.

* Update snapshots

---------

Co-authored-by: Michael Telatynski <7t3chguy@gmail.com>
2026-01-30 11:53:57 +00:00
ElementRobot
8cef5df140 [create-pull-request] automated change (#31918)
Co-authored-by: t3chguy <2403652+t3chguy@users.noreply.github.com>
2026-01-30 06:40:43 +00:00
Michael Telatynski
e07e26cae5 Fix emoji verification responsive layout (#31899)
* Extract SasEmoji to shared-components

and improve responsive layout

Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>

* Add baseline screenshots

Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>

* Update tests

Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>

* Fix e2e test

Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>

* Add SasEmoji snapshot test

Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>

* Add figma link

Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>

* Improve doc

Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>

* Add new dir to crypto-web-reviewers codeowners as per ask

Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>

---------

Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2026-01-29 17:40:04 +00:00
ElementRobot
b31527261d [create-pull-request] automated change (#31862)
Co-authored-by: t3chguy <2403652+t3chguy@users.noreply.github.com>
2026-01-29 10:57:38 +00:00
Marc
8bb1cb5e63 MVVM WidgetContextMenu component to shared component (#31190)
* Create WidgetContextMenu component in shared-components

* Modify WidgetMenuContext call (apptile, extensioncard, widgetcard), test and stories

* Correctly use new widgetcontextmenu component

* WidgetContextMenuViewModel unit test

* Lint and add comments

* Finalize widgetcontextmenuviewmodel test

* fix lint errors

* Fix test error

* Update playwright screenshots

* add userWidget in widgetcontexstmenu props

* Fix some a11y issues on playwright

* fix linter error widget card

* Use new i18n way for share component widget context menu

* Add i18n context provider for widget context menu

* chore: lint and update snapshot widgetcontextmenu
2026-01-29 10:22:47 +00:00
renovate[bot]
e5f0ea79e5 Update playwright (#31895)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Michael Telatynski <7t3chguy@gmail.com>
2026-01-27 16:48:33 +00:00
renovate[bot]
b908e8c7f2 Update dependency @vector-im/compound-design-tokens to v6.9.0 (#31896)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-01-27 16:23:34 +00:00
Florian Duros
a972340216 doc: update SC visual test doc (#31897) 2026-01-27 13:31:14 +00:00
Skye Elliot
d0c60e6ee4 Remove "history may be shared" banner. (#31881)
* Revert "Update algorithm for history visible banner. (#31577)"

This reverts commit ce9c66ba4c.

* Revert "Update prop type & documentation for HistoryVisibleBanner and VM. (#31545)"

This reverts commit 4da149e56f.

* Revert "Prevent history visible banner from displaying in threads. (#31535)"

This reverts commit c7134e8532.

* Revert "Implement UI for history visibility acknowledgement. (#31156)"

This reverts commit cff9119324.
2026-01-27 11:28:33 +00:00
David Langley
d6f11d828b Migrate ListView to shared components (#31860)
* Migrate ListView to shared components

* Add stories

* lint

* Update name of component

* Use compound spacing

* lint

* VirtualizedList

* Simplify story

* Add git diff check before uploading artifacts

* Fix git diff workaround for vis

* Ignore coverage report in .gitignore

Add coverage report to .gitignore

* Add screenshot test

* Fix package and lock files

* clear unneeded lock file changes

---------

Co-authored-by: Michael Telatynski <7t3chguy@gmail.com>
2026-01-26 17:58:46 +00:00
Florian Duros
3f26b37cf8 doc: add doc how to publish a new version of shared components (#31882) 2026-01-26 15:47:24 +00:00
Florian Duros
28609f4e7a Fix room list menu flashes when menu is closed (#31868)
* chore: update compound to `8.3.6`

* chore: update snapshots
2026-01-26 13:35:16 +00:00
Florian Duros
3f212537b6 chore: bump shared components to 0.0.1 (#31877) 2026-01-26 13:10:45 +00:00
Michael Telatynski
7459850f6a Fix storybook language addon (#31880)
It was not working for languages like de_DE which were normalised to de in one codepath but not the other

Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2026-01-26 12:44:57 +00:00
Florian Duros
3fc3653809 refactor: move vm hooks into view model folder (#31832) 2026-01-22 17:28:14 +00:00
renovate[bot]
51f5ec021a Update dependency lodash to v4.17.23 [SECURITY] (#31852)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-01-22 15:31:16 +00:00
Michael Telatynski
35fca4d339 Switch shared-components from jest & test-runner to vitest (#31800)
* Remove babel

Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>

* Remove duplicated patch-package dep

Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>

* Switch to @fetch-mock/vitest

Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>

* Update tests to import & call vitest functions

Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>

* Update test-utils imports

Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>

* Update unit test snapshots

Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>

* Switch from jest->vitest for unit tests

Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>

* Update visual test screenshots

Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>

* Switch from test-runner->vitest for visual tests

Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>

* Update README

Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>

* Update CI for shared-components unit & visual tests

Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>

* Update yarn.lock

Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>

* Update README

Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>

* Fix storybook trying to import vitest

Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>

* Fix css modules leaking between storybook tests

Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>

* Tweak screenshot update script to accept args

Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>

---------

Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2026-01-22 14:17:36 +00:00
Michael Telatynski
e0b3e013ab Remove shared-components slow reporter to un-break CI
as we don't have a js-sdk dep in shared-components
2026-01-22 10:16:52 +00:00
R Midhun Suresh
d6d647f56d Unread Sorting - Add option for sorting in OptionsMenuView (#31754)
* Add new sort option

* Support new sorting algorithm in vm

* Add option item for unread sorter

* Add tests
2026-01-22 09:56:47 +00:00
Michael Telatynski
2de53e306a Tidy shared-components storybook (#31836)
* Fix compound.css - it is not pcss

Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>

* Improve types in shared-components storybook

Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>

* Update i18n:sort script and remove patch-package

---------

Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2026-01-21 15:22:13 +00:00
renovate[bot]
6b48b022cb Update dependency matrix-web-i18n to v3.6.0 (#31837)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-01-21 14:34:39 +00:00
renovate[bot]
ecb204a533 Update storybook to v10.2.0 (#31838)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-01-21 14:34:34 +00:00
Florian Duros
50d8fd2440 doc: add documentation how to write stories in shared components (#31831) 2026-01-21 13:31:52 +00:00
Florian Duros
bc6375d7ab Add message preview toggle to room list header option (#31821)
* feat: add message preview action to room list header option

https://github.com/element-hq/element-web/issues/31214

* test: add e2e test
2026-01-21 10:43:35 +00:00
Michael Telatynski
819d361a91 Prepare for vitest in shared-components (#31820)
* Use typescript for vite config

Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>

* Switch shared-components to ESM

Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>

* Remove stale aliases

Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>

* Remove reference to element-web files from shared-components

Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>

* Remove spurious node polyfill

Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>

---------

Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2026-01-21 10:04:27 +00:00
Florian Duros
9edddce149 RoomList: move room list header to shared components (#31675)
* chore: ignore jest-sonar.xml in gitconfig

* chore: add missing rtl types to shared component

* chore: add `symbol` to `Disposables.trackListener`

* feat: add room list header view to shared components

* fix: change `Space Settings` to `Space settings`

* feat: add room list header view model

* chore: remove old room list header

* chore: update i18n

* test: fix Room-test

* test: update playwright screenshot

* fix: remove extra margin at the top of Sort title in room options

* test: fix room status bar test

* fix: change for correct copyright

* refactor: use `Disposables#track` instead of manually disposing the listener

* refactor: avoid to recompute all the snapshot of `RoomListHeaderViewModel`

* wip

* fix: make header buttons the same size than figma

* test: update shared component snapshots

* test: update shared component screenshots

* test: update EW screenshots
2026-01-21 09:06:01 +00:00
renovate[bot]
5783ee4cb8 Update npm non-major dependencies (#31810)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-01-20 17:54:52 +00:00
renovate[bot]
027047e0ae Update dependency @vector-im/compound-design-tokens to v6.8.0 (#31812)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-01-20 15:21:33 +00:00
renovate[bot]
006ad8868d Update dependency @element-hq/element-web-playwright-common to v2.2.4 (#31808)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-01-20 15:15:54 +00:00
ElementRobot
1c42173e5b [create-pull-request] automated change (#31786)
Co-authored-by: t3chguy <2403652+t3chguy@users.noreply.github.com>
2026-01-19 09:23:52 +00:00
Richard van der Hoff
52748d6d35 Minor corrections on shared-components/README.md (#31741)
* Minor corrections shared-components-README.md

a few minor edits and clarifications

* Wrap lines at 80 characters

Mostly, this means that diff comments on PRs work better.

* Update packages/shared-components/README.md

* Apply suggestion from @richvdh
2026-01-16 18:13:57 +00:00
Florian Duros
b9638695b7 Update compound to 8.3.5 (#31736)
* chore: update compound to `8.3.5`

* refactor: remove incorrect color in shared components

* test: update shared components snapshots

* test: update shared component screenshots

* test: update EW snapshots

* test: update EW screenshots

* test: update snapshot
2026-01-16 14:30:08 +00:00
ElementRobot
e2dad68169 [create-pull-request] automated change (#31753)
Co-authored-by: t3chguy <2403652+t3chguy@users.noreply.github.com>
2026-01-16 11:45:30 +00:00
ElementRobot
575b3b5400 Localazy Download (#31595)
* [create-pull-request] automated change

* chore: format i18n files

---------

Co-authored-by: t3chguy <2403652+t3chguy@users.noreply.github.com>
Co-authored-by: Florian Duros <florian.duros@ormaz.fr>
2026-01-15 10:52:53 +00:00
Michael Telatynski
6f0cd7621b Update fetch-mock-jest to @fetch-mock/jest (#31720)
* Remove tests which assert feature_oidc_native_flow=false behaviour, that setting is long gone

Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>

* Upgrade fetch-mock-jest to @fetch-mock/jest

Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>

* Update yarn.lock

Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>

* Make knip happy

Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>

* Disable broken tests

Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>

* Fix shared-components tests

Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>

* Snapshots

Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>

---------

Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2026-01-15 09:21:25 +00:00
Florian Duros
9cc80c5f36 doc: add shared-components readme (#31725) 2026-01-14 14:13:09 +00:00
Will Hunt
2e6cf8734b Refactor RoomStatusBar into MVVM (#31523)
* Refactor RoomStatusBar into MVVM

* cleanup

* updated snaps

* More cleanup

* fix loop

* fixup

* drop comment

* lint

* cleanup console statements

* Starting to move to a MVVM v2 component.

* extra

* Refactor as a shared-componend / MVVM v2

* some cleanup

* i18n for banner

* remove removed css

* Update playwright tests to have a two stage on the consent bar.

* Update snaps

* Update snapshots

* cleanup

* update snaps

* refactor to use enum

* fix slight differences in pw snaps

* Add unit tests

* fix snaps

* snaps updated

* more test cleanups

* fix snaps

* fixed now?

* Disable animationsq

* lint lint lint

* remove console

* lint

* fix snap

* Refactor based on review comments.

* update view model test

* oops!

* fix snap

* Update snaps

* snap snap snap

* switch to a const map of strings

* Use this.disposables

* Update translations to be inside shared-components

* fix the tac

* Also retry

* Cleanup

* update snaps

* update other snaps

* snap updates
2026-01-12 21:13:15 +00:00
Will Hunt
7ad6b4b411 Ensure correct focus configuration for Element Call before allowing users to call. (#31490)
* fixup type

* Validate Element Call foci config

* revert changes

* Split out logic to CallStore so we don't repeat checks.

* Refactor to use CallStore so we only fetch once.

* Add test for useRoomCall

* lint

* Ensure we enable MatrixRTC when configuring element call.

* fix test

* Update @element-hq/element-web-playwright-common to 2.2.2 and enable matrix rtc

* lint

* Ensure call is configured for header test

* type

* Improve coverage

* Update based on feedback

* fix type
2026-01-09 12:04:31 +00:00
renovate[bot]
a5af6cf23f Update dependency @element-hq/element-web-playwright-common to v2.2.0 (#31659)
* Update dependency @element-hq/element-web-playwright-common to v2.2.0

* Update playwright-common

Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>

* Update playwright-common s'more

Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>

---------

Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Michael Telatynski <7t3chguy@gmail.com>
2026-01-07 14:45:03 +00:00
renovate[bot]
9db08a4574 Update dependency matrix-web-i18n to v3.5.0 (#31660)
* Update dependency matrix-web-i18n to v3.5.0

* Update matrix-web-i18n

Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>

* Update matrix-web-i18n in shared-components too

Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>

* matrix-web-i18n is now ESM

Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>

---------

Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Michael Telatynski <7t3chguy@gmail.com>
2026-01-07 14:15:03 +00:00
David Baker
2f817f32ce Fix shared components i18n check (#31672)
* Remove extra encryption strings

Found their way in during the i18n changes

* Remove log level silent

to try & work out why it only fails on CI

* Try giving it its own prettierrc

so the import is correct

* Comment why it needs its own prettierrc & put log level silent back

* Comment the right .prettierrc
2026-01-07 12:42:30 +00:00
David Baker
13696af194 Split translations between EW and shared components (#31441)
* Split translations between EW and shared components

Uses update module API with global TranslationKey type that can be
overridden.

WIP.

* Removed the wrong script (for now)

* Add the type files

* Add shared components i18n file

* More i18n strings

* Add i18n check for shared conmponents

* Needs a different name

* rerun i18n for merge from develop, fix test

* Move translated strings to shared components file

NB. there are lots of removed strings for a few languages where we
seem to have hit a localazy bug or something where the key/value
for plurals got switched, making the translations invalid. They've
been missing for a while so I'm removing them rather than trying to
restore them,

* Add shared components files to localazy

* Merge element web & shared component translations

for the built app

* Use right translations for shared component tests

and fix missign en_EN strings

* Pull shared components translations too

* Fix/disable warnings

* We can now remove the build:res call

...right? (right?)

* Remove webpack import for languages index

..and just load it using a relative path which we do for the individual
language files and also did anyway for the index because even in non-test
it was an object, not a string, so we always usesd the 'test' code path.

* Make the storybook language selector work

...without referring to the parent app's files

* Revert unnecessary yarn lock change

* Typo

Co-authored-by: Michael Telatynski <7t3chguy@gmail.com>

* Add comment on why we use merge

* Fix localazy download config

to actually put the translations in the right place

* Better typescript syntax

Co-authored-by: Michael Telatynski <7t3chguy@gmail.com>

* Watch both translations files

---------

Co-authored-by: Michael Telatynski <7t3chguy@gmail.com>
2026-01-07 11:49:01 +00:00
renovate[bot]
4ee04d0661 Update npm non-major dependencies (#31662)
* Update npm non-major dependencies

* Make types happier

Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>

---------

Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Michael Telatynski <7t3chguy@gmail.com>
2026-01-07 10:52:05 +00:00
renovate[bot]
aa6509e01c Update storybook (#31658)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-01-06 15:08:29 +00:00
renovate[bot]
770ff42496 Update eslint-plugins (#31661)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-01-06 15:07:03 +00:00
dependabot[bot]
4bd1d4144f Bump qs from 6.14.0 to 6.14.1 in /packages/shared-components (#31636)
Bumps [qs](https://github.com/ljharb/qs) from 6.14.0 to 6.14.1.
- [Changelog](https://github.com/ljharb/qs/blob/main/CHANGELOG.md)
- [Commits](https://github.com/ljharb/qs/compare/v6.14.0...v6.14.1)

---
updated-dependencies:
- dependency-name: qs
  dependency-version: 6.14.1
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-01-05 15:00:41 +00:00