64964 Commits

Author SHA1 Message Date
David Langley
2b0caa4bea lint 2026-02-25 19:30:25 +00:00
David Langley
47f3ed44fb Make preload checks easier to understand
- Have single code path for preload checks.
- Remove duplicated logic for preapproveIdentity check
- Fix headers
2026-02-25 19:24:55 +00:00
David Langley
f1459d0ded lint 2026-02-25 17:03:40 +00:00
David Langley
99c92e7654 Update module api
to the one that includes the new widget lifecycle api
2026-02-25 16:57:31 +00:00
David Langley
ba9231f715 Merge remote-tracking branch 'origin/develop' into langleyd/implement-new-widget-permissions-module-api
# Conflicts:
#	apps/web/src/modules/WidgetLifecycleApi.ts
#	apps/web/test/unit-tests/modules/WidgetLifecycleApi-test.ts
2026-02-25 12:55:35 +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
Will Hunt
f1cdbae59c
Update URL Preview playwright tests to use new endpoint (#32573)
* Update URL Preview playwright tests to use new endpoint

For https://github.com/matrix-org/matrix-js-sdk/pull/5191

* Drop extra preview test

* Adopt axe, fixup paths, etc for url previews

* work dammit

* begone unwanted screenshot

* Make github happy?

---------

Co-authored-by: Michael Telatynski <7t3chguy@gmail.com>
2026-02-23 10:50:18 +00:00
Florian Duros
62523b2bf1
Storybook: clear font size in room list item story (#32594)
* chore: clean added font size in room list item story

* test: fix screenshot
2026-02-23 09:14:38 +00:00
ElementRobot
c8b971ea72
[create-pull-request] automated change (#32600)
Co-authored-by: t3chguy <2403652+t3chguy@users.noreply.github.com>
2026-02-23 06:47:37 +00:00
renovate[bot]
352feb2787
Update dependency eslint-plugin-storybook to v10.2.10 (#32553)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-02-22 14:05:36 +00:00
renovate[bot]
2d223472d0
Update storybook (#32551)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-02-20 15:16:55 +00:00
David Baker
5f3211741f
Don't show empty privacy section (#32582)
* Don't show empty privacy section

If all the options to display things things in it are disabled

Also makes it more consistent with other areas.

* Move test
2026-02-20 14:09:11 +00:00
Florian Duros
02b07c876a
fix: disable room list image dragging (#32590) 2026-02-20 14:08:55 +00:00
Michael Telatynski
fd4695f3d5
Update UserMenu theme toggle to use IconButton (#32591)
* Update UserMenu theme toggle to use IconButton

This lets it use the correct compound colour based on theme

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

* Delint

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

* Add tests

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

* Update screenshot

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

---------

Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2026-02-20 14:08:22 +00:00
Michael Telatynski
c2ed88fbf0
Skip empty lines and comments in link-config file (#32589) 2026-02-20 13:57:52 +00:00
Florian Duros
29edb9ca29
Remove flaky test : left-panel/room-list-panel/room-list-filter-sort.spec.ts: should scroll to the top of list when filter is applied and active room is not in filtered list (#32587)
* test: do expect in a poll to add robustness to room list scroll test

To fix https://github.com/element-hq/element-web/issues/30606

* test: removing the flaky test, behaviour is inconsistent and can't make it work
2026-02-20 12:52:54 +00:00
Michael Telatynski
8d7c5bb515
Update vis screenshots for MessageViewTimestamp
Fixes develop breakage due to misconfigured branch protections

Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2026-02-20 10:51:27 +00:00
Michael Telatynski
13a8647085
Ensure we use Inter font in Shared Components Storybook (#32584)
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2026-02-20 10:08:19 +00:00
Michael Telatynski
af46f689f8
Bump transitive dev deps to silence security warnings (#32579)
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2026-02-20 09:56:17 +00:00
rbondesson
ca3bc30f90
Refactor MessageTimestamp using MVVM and move to shared-components (#31988)
* Create a MessageTimestampView in shared components

* Switching to use shared component and view model in element-web

* Add .mx_MessageTimestamp tp _common.pcss since it is used extensively in element-web

* Added comments to view model

* Updating after Add options for consistent screenshots

* Moved rendering of late icon to EventTile

* Update shared component snaps

* Added I18nContext.Provider to Modal.tsx and HtmlExport.tsx to make them work with shared components

* Avoid circular dependencies for ModuleApi

* Adjust role and wire handlers in view model

* Change to role="link"

* Revert I18nContext.Provider changes

* Updated snapshot

* Provide I18nContext for shared-components used inside dialogs and html-export rendered in a separate root.

* Add patch for react-sdk-module-api to shared components

* Add setProps to MessageTimeViewModel and useEffect on wrappers

* Added more tests to improve coverage

* Changes after PR review

* Use specific setters in the viewmodel more relating to the business logic.

* Remove unused CSS properties

* New snapshot after merge

* Removed aria-hidden logic and display tooltips in stories

* Remove await for toolitp in HasInhibitTooltip story

* Add screenshots with visible tooltips

* Fixes after merge and review comments

* Updated snapshots for unit tests

* Removed one test since tooltips are not rendered to snapshots
2026-02-20 09:29:26 +00:00
Michael Telatynski
f90b329490
Update docker bake to not load in CI 2026-02-20 09:18:43 +00:00
Michael Telatynski
0410990c5b
Merge remote-tracking branch 'origin/develop' into develop 2026-02-20 09:05:10 +00:00
Michael Telatynski
6363899f2c
Bump js-sdk lock
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2026-02-20 09:05:01 +00:00