64978 Commits

Author SHA1 Message Date
Florian Duros
24dc90cc09
perf(room list): clear room list item vm only when changing space
Clearing all the item vms at every room list change is causing massive
re-render of all the room list items. References to the vms are already
removed when out of view (see RoomListViewMode.updateVisibleRooms) and
handled by GC.
2026-02-27 10:53:53 +01:00
renovate[bot]
3fb99fee26
Update dependency storybook to v10.2.10 [SECURITY] (#32657)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-02-26 20:59:53 +00:00
David Baker
eb850cc33e
Add --no-tui flag to tests in GHA workflow (#32656)
To avoid smashed text in CI test results
2026-02-26 17:25:51 +00:00
Will Hunt
f82a3ef1bb
Update critical gradient for room status bar (#32575)
* Update critical gradient for room status bar

As per design request, this has been updated to be much more subtle
https://github.com/element-hq/compound-design-tokens/pull/232

* update shared-component

* Cleanup

* Update snaps

* description fix color

* More cleanup

* Use the correct border color

* new snaps

* fix border, button placement, fonts etc

* update lock

* Update status bar

* Update playwright snaps

* Update snap icon

* Update other banners

* update snap

* fixup
2026-02-26 15:10:54 +00:00
Michael Telatynski
26a3d75d4d
Remove invalid working-directory in build_develop workflow 2026-02-26 12:53:30 +00:00
David Baker
044a603a49
Remove clean line from package script (#32652)
as there is no clean anymore
2026-02-26 12:25:15 +00:00
ElementRobot
3a6ac6e227
Localazy Download (#32625)
* [create-pull-request] automated change

* Update tests

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

---------

Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
Co-authored-by: t3chguy <2403652+t3chguy@users.noreply.github.com>
Co-authored-by: Michael Telatynski <7t3chguy@gmail.com>
2026-02-26 12:08:36 +00:00
Florian Duros
62c57023f4
Room list: avoid header overflowing when too long (#32645)
* fix(room list): make ellipsis works on room list title

Regression due to https://github.com/element-hq/element-web/pull/32421

* test(room list): add non regression test
2026-02-26 12:03:13 +00:00
Richard van der Hoff
18c1b37206
Add stable support for MSC4380 invite blocking (#31966)
* Add stable support for MSC4380 invite blocking

MSC4380 has completed FCP, so we can add stable support for it.

* Set account data to empty value when allowing invites

... because that's what the spec says

* Use identifiers from js-sdk
2026-02-26 11:41:04 +00:00
David Baker
7ddd645f4d
Make layered script read the right package.json (#32650)
And hopefully agnostic to its working directory
2026-02-26 11:35:57 +00:00
David Baker
82cf0b5bf6
Make the git version script work in monorepo (#32648)
* Make the git version script work in monorepo

Find the workspace root with pnpm to make it agnostic to what
directory its run from

* js-sdk just lives straight in the noduke modules directory
2026-02-26 11:35:52 +00:00
Michael Telatynski
fa4d19824b
Add workflow_dispatch trigger to Localazy Upload 2026-02-26 10:59:09 +00:00
David Baker
431a0c94a2
Actually fix script path (#32646)
Needs one more ../
2026-02-26 09:26:38 +00:00
David Baker
d584b8b9a3
Do non-layered builds when running on master (second version) (#32624)
* Do non-layered builds when running on master (second version)

Hopefully this will fix the release as it looks like we've introduced
backwards incompat changes in the js-sdk between the RC and the release,
which have now broken as we were incorrectly using the develop js-sdk for
release builds.

Replaces https://github.com/element-hq/element-web/pull/32623

* remove matrix-analytics-events branch match

* Unused line
2026-02-26 09:06:44 +00:00
David Baker
6464bcc7a1
Fix script path in ci package script (#32639) 2026-02-26 08:31:13 +00:00
Florian Duros
dd1db8c14b
Room list: center focus outline of room list item (#32637)
* fix: in room list item, replace bottom padding by top and bottom

Outline focus is not aligned when only using a padding bottom. Replace
by a padding-top and a padding-bottom.

The padding top is not added on the first item and the padding bottom
neither on the last item

* test: update snapshot

* test: update storybook screenshot

* test: update screenshot

* chore: use css var instead of duplicating the logic

* chore: add new stories for first and last item case

* test: add new screenshots following the new stories
2026-02-25 19:45:22 +00:00
Michael Telatynski
9e802ebca6
Add missing README.md
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2026-02-25 17:13:42 +00:00
Michael Telatynski
4ee6ec55f1
Update file paths in localazy.json for new structure (#32629)
* Update file paths in localazy.json for new structure

* Update path for en_EN.json in workflow
2026-02-25 15:55:57 +00:00
Andy Balaam
59ccc1111a
Revert 'Hide the names of banned users behind a spoiler tag#32424' (#32635)
* Revert 'Hide the names of banned users behind a spoiler tag#32424'

* Empty commit to trigger test re-run
2026-02-25 15:53:30 +00:00
Michael Telatynski
f6d72f12db
Update docs for new repo structure (#32630)
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2026-02-25 15:48:37 +00:00
Florian Duros
9590d22abe
chore: avoid story with custom font size to affect of room list item stories in docs page (#32612) 2026-02-25 13:28:21 +00:00
David Baker
db3af8e653
Fix misaligned cross in complete security dialog (#32614)
* Fix misaligned cross in complete security dialog

* It's not a dialog

* Need to wait for login to finish

* Add screenshot

* Move snapshot to thr right place
2026-02-25 13:00:25 +00:00
Zack
e26cbba541
Refactor Reactions Row Button to shared-components (#31993)
* Refactoring of ReactionRowButton to shared component MVVM

* Removal of old component and creation of unit tests

* Update

* Update tests

* Update tests to mimic VM

* Update Lint Spacing

* Added onKeyDown to follow wcag rules

* Remove Unused code

* Update screenshots

* Removal of unessecery test and story

* Update snapshot

* Refactor reactions row VMs to granular setters and merge cheap snapshot updates

* Elist Fix

* Revert ReactionRowButtonToolTip Test

* Fix ReactionsRowButtonViewModel tooltip sync to use tooltip setProps

* Add dedicated ReactionsRowButtonViewModel unit tests for setters, tooltip sync, and click actions

* Better Wording On Functions

* Update snapshot

* Update packages/shared-components/src/message-body/ReactionsRowButton/ReactionsRowButtonView.tsx

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

* use native button and tighten view model

* Update Snapshots + small fixes on reactionrow

* Removal of Null on viewmodel and adapting ReactionRow

* Update test and removal of unused test since me MVVMD ReactionRowButton

* align assertions with refactored update behavior

* FIx issue with classNames component

* Update snapshot

* Removal of old test snapshot

* Update Snapshot

* Implement Css + Snapshot Updates

* Update Snapshot and css to match old component style

* restore MatrixClientContext fallback in ReactionsRow for export/test rendering

* restore client fallback in ReactionsRow to preserve export rendering

* Remove Unused Pcss FIle

* Update Css

* Update misstake always having button default to disabled render

* Remove unsimiler css to original component

* Update Snapshot to reflect css adjustments

* Update css

* Update font to compund

* Update css to reflect old component

* Update css to compund

* Update Snapshot and css

* Update css

* Update HTML snapshot

* Update css

* Update Css

* Update snapshots

* Update HTML snapshot

* Update css + snapshot

* Update HTML snapshot

* Removal of mx css

* Update snapshot based on css removal

* Update Html snapshot

* Apply suggestion from @florianduros

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

* remove setContext from ReactionsRowButtonViewModel

* Update packages/shared-components/src/message-body/ReactionsRowButton/ReactionsRowButtonView.tsx

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

* add tooltipVm to ReactionsRowButtonViewSnapshot

* added compound token variables

* remove className from content and count inner elements

* use useMatrixClientContext() directly for ReactionsRowButtonViewModel

* Update snapshots

* Update snapshot + fix Typescript error on test file

* Removal of line-height in css

* Added line-height back and removed font: inherit;

* derive ReactionsRowButton className/ariaLabel types from HTML button attrs

* Update packages/shared-components/src/message-body/ReactionsRowButton/ReactionsRowButtonView.tsx

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

* Update src/viewmodels/message-body/ReactionsRowButtonViewModel.ts

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

* Update src/viewmodels/message-body/ReactionsRowButtonViewModel.ts

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

* Update test/viewmodels/message-body/ReactionsRowButtonViewModel-test.tsx

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

* Update snapshots and lint issues

* Update model to respond to changes

* Update aria label on view

---------

Co-authored-by: Florian Duros <florian.duros@ormaz.fr>
2026-02-25 11:18:03 +00:00
Michael Telatynski
05598a3229
Merge pull request #32622 from element-hq/t3chguy/move
Move element-web codebase to subdir `apps/web` in monorepo
2026-02-25 09:46:31 +00:00
Michael Telatynski
bc0f998cdd
fixup: codeowners
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2026-02-25 08:55:35 +00:00
Michael Telatynski
058c944421
fixup: docs
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2026-02-25 08:54:50 +00:00
Michael Telatynski
21a98083bb
Update CODEOWNERS
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2026-02-24 21:27:05 +00:00
Michael Telatynski
e84ae7a6d6
Update workflows
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2026-02-24 21:27:04 +00:00
Michael Telatynski
41d6094cc0
Make knip happy
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2026-02-24 21:27:04 +00:00
Michael Telatynski
ee8094ded6
Update pnpm-lock.yaml
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2026-02-24 21:27:04 +00:00
Michael Telatynski
8b0031f87f
Update pnpm workspace packages config
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2026-02-24 21:27:04 +00:00
Michael Telatynski
056f0f03d6
Remove nx implicitDependencies
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2026-02-24 21:27:04 +00:00
Michael Telatynski
99fe2d8716
Add .lintstagedrc config
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2026-02-24 21:27:03 +00:00
Michael Telatynski
8b61b89ee7
Consolidate prettier on monorepo root
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2026-02-24 21:27:03 +00:00
Michael Telatynski
b8509d249b
Fixup paths
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2026-02-24 21:27:03 +00:00
Michael Telatynski
848f664fc3
Create root package.json
and clean up apps/web/package.json

Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2026-02-24 15:46:47 +00:00
Michael Telatynski
91a3cb03c1
mv element.io @types __mocks__/ debian docker module_system/ playwright res src test webapp Dockerfile .dockerignore .eslintignore .stylelintrc.cjs babel.config.cjs recorder-worklet-loader.cjs .modernizr.json components.json config.json config.sample.json package.json project.json tsconfig.json tsconfig.module_system.json jest.config.ts playwright.config.ts webpack.config.ts build_config.sample.yaml apps/web/
mkdir apps/web/scripts
mv scripts/{cleanup.sh,ci_package.sh,copy-res.ts,deploy.py,package.sh} apps/web/scripts

And a couple of gitignore tweaks

Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2026-02-24 15:43:58 +00:00
Michael Telatynski
e7509c92a1
Document monorepo shape
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2026-02-24 13:02:40 +00:00
Michael Telatynski
1c5694e625
Remove deprecated config, param & component (#32607)
* Remove long-deprecated `welcomePageUrl` config

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

* Remove deprecated EC `analyticsID` param in favour of `posthogUserId`

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

* Remove use of deprecated RoomName component in favour of useRoomName hook

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

* Update tests

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

---------

Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2026-02-24 11:04:05 +00:00
Michael Telatynski
7a0ed5443f
Remove rimraf (#32618)
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2026-02-24 10:05:18 +00:00
Will Hunt
a991509733
Support downstream js-sdk changes in hs/slots/refactor-membership (#32615) 2026-02-24 09:33:48 +00:00
Michael Telatynski
e907d4978d
Simplify notifier-platform code for closing notifications (#32609)
* Simplify notifier-platform code for closing notifications

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

* Add test

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

---------

Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2026-02-23 17:40:38 +00:00
Florian Duros
9c050c58b7
Enforce usage of CSF3 story in storybook (#32610)
* chore: enforce usage of CSF3 story by eslint

* chore: migrate remaining stories to CSF3
2026-02-23 17:14:25 +00:00
Michael Telatynski
39317123c7
Attach playwright bot logs as log files (#32608)
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2026-02-23 16:52:31 +00:00
Florian Duros
6d870c3935
Room list: fix keyboard navigation (#32585)
* feat: add visual feedback of selection in `VirtualizedList` story

* fix: keyboard navigation when focused element is no longer in the dom

* fix: selection delay when the list is scrolled

* fix: room list item scroll issue

Avoid to use margin https://virtuoso.dev/react-virtuoso/#caveats

* test: add tests

* test(e2e): update snapshots

* test: update room list item screenshot
2026-02-23 16:27:07 +00:00
Florian Duros
b08cf5fdaa
Fix documentation of view component in storybook and migrate to CSF3 format (#32604)
* chore: add a way to keep story doc in wrapper

* chore: use `withViewDocs`

* doc: update SC readme

* doc: update copyright
2026-02-23 16:03:49 +00:00
Michael Telatynski
77670eb369
Add lint rule to protect against this access on unbound methods (#32578)
* Add Actions to ViewModel utility types and specify `this: void` signature

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

* Add https://typescript-eslint.io/rules/unbound-method/ linter to shared-components

also fix stray lint config which doesn't apply to SC

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

* Add https://typescript-eslint.io/rules/unbound-method/ linter to element-web

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

* Fix genuine issues identified by the linter

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

* Specify this:void on i18napi

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

* Update Module API

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

* Add comment for MapToVoidThis

Added utility type to map VM actions to unbound functions.

---------

Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2026-02-23 15:37:58 +00:00
Michael Telatynski
87b28b725c
Stabilise flaky playwright tests (#32601)
* Stabilise flaky playwright tests

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

* Stabilise flaky tests screenshotting CIDER pills

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

---------

Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2026-02-23 13:38:04 +00:00
Andy Balaam
41f8ffff4d
Hide the names of banned users behind a spoiler tag (#32424) 2026-02-23 13:33:06 +00:00
Florian Duros
f4acc4b0bc
Room list: remove bold effect on selected room (#32593)
* feat(room list): remove bold effect on room name when selected

* test(room list): update snapshots

* test(room list): update e2e tests

* test: update screenshhit
2026-02-23 13:13:07 +00:00