Commit Graph

269 Commits

Author SHA1 Message Date
Will Hunt d4f419d1b5 Refactor and redesign user menu (#32812)
* Initial quick settings menu

* Total refactor

* Quick design fixes.

* Refactor to use a view model.

* Remove unused strings

* Apply label

* Refactor naming

* Fixup most tests

* Remove specific theming for old user menu

* prettier

* Lots of cleanup

* Allow overriding the menu classes

* update snap

* Oops translations

* tidy

* Cleanup guest flows.

* Copyrights

* Remove unused classname

* Match guest view to designs

* Add guest screenshots

* Update guests

* snapshot

* Cleanup

* fix import

* Update tests

* More sceenshot fixes

* update collapsed

* move statements to prevent flake

* update snap

* Kick it along

* Click the room list

* Fiddle with the room video list.

* More screenshot adjustments

* fix imports

* fix another import

* Update snaps

* update snaps

* Fix snap flakes

* Refactor to move actions to view component, and callbacks to Actions

* Cleanup

* Cleanup

* Cleanup

* invert auth

* More bits

* fix

* Change md buttons to sm

* Try to assemble the snapshot component of the house of cards

* Consistent newlines between tests

* Update snapshot

Not sure why this was like this, this seems consistet for a logged in user

* Update snapshot

again these seem sensible for a guest

* Remove test

I don't really understand why the thing it asserts matters, so I'm removing
it for now.

* Update snapshot

* screenshot

* Don't show profile picture for guests

I'm not really sure what it meant for this interface to have a
property with a default value, so I've removed it and added the
property to the view model.

* Show avatar in story

* update snapshots for showAvatar

* Update screenshots

& hopefully make hover consistent in one

* Use outline home icon

---------

Co-authored-by: David Baker <dbkr@users.noreply.github.com>
2026-05-06 08:34:36 +00:00
ElementRobot bbd2d81a08 [create-pull-request] automated change (#33402)
Co-authored-by: t3chguy <2403652+t3chguy@users.noreply.github.com>
2026-05-06 07:29:24 +00:00
rbondesson 1f71a3a3fe Make shared components aware of layout and density settings (#33368)
* Add shared event presentation context

* Add app-web event presentation mapper

* Wire event presentation provider into app timelines

* Add Storybook controls for event layout and density

* Wire compact density through app/web event presentation provider

* Use event presentation density for URL previews

* Move TileErrorView layout to event presentation context

* Minor fix and updated snapshot

* Updated snapshots for url preview group

* Prettier fix

* Restore removed story to fix missing playwright test

* Updates after review comments

* Fix prettier issue
2026-05-06 05:30:46 +00:00
renovate[bot] 06da429c7e Update pnpm to v10.33.3 (#33383)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-05-05 14:00:58 +00:00
David Baker 990efa20db Include tsx test files in common vite config (#33342)
* Include tsx test files in common vite config

Otherwise we miss a bunch of the shared component tests

* Add storybook/preview-api to optimizeDeps

which is what vitest is telling me to do, which will hopefully stop
it flaking out.
2026-05-01 09:58:11 +00:00
David Baker 5e935207c5 Make DateUtils test non-timezone dependent (#33343)
This was failing locally because my dev box is set to local time rather
than UTC and so the Date class's special date parsing was interpreting
some of the dates as a different day.

Use Date's methods to build the actual date we want so we're not reliant on
the date objet's parsing - that's not what we're trying to test.
2026-05-01 09:15:40 +00:00
ElementRobot a6bf56fcbd [create-pull-request] automated change (#33347)
Co-authored-by: t3chguy <2403652+t3chguy@users.noreply.github.com>
2026-05-01 07:23:43 +00:00
Florian Duros c2e5aa7adc Room list: add collapse/expand all sections (#33318)
* chore: update compound design tokens

* feat(sc): add collapse/expand button to room list header

* feat: add new events to broadcast section state

* feat(vm): add expand/collpase event to room list events

* test: add e2e tests

* chore: fix company name in copyright

* chore: use two differant actions for collapse/expand

* Update apps/web/src/viewmodels/room-list/RoomListHeaderViewModel.ts

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

* test: fix existing tests

---------

Co-authored-by: Michael Telatynski <7t3chguy@gmail.com>
2026-04-30 14:32:43 +00:00
rbondesson b0ee6f5323 Add CSS cascade layers for Compound, shared components, and app/web styles (#33302)
* Layer Compound and shared component CSS

* Layer app theme CSS

* Remove !important flags from ActionBarView

* Remove unnecessary !important statements from shared components

* Avoid dead code errors for *.pcss just because layer is specified after @import url

* Remove unnecessary !important styling

* Override Banner defaults in RoomStatusBarView

* Updated snaps

* Updated snaps

* Fix styling of media body in app/web

* Fix styling for Compound anchors

* Fix styling issues in app/web

* More styling fixes

* Fix a problem extracting css for HTMLExport

* Revert changes

* Fix for theme styling

* Add test to improve coverage

* Prettier

* Fix styling issues

* Add data-kind attribute to avoid global styling override

* Update screenshot that now is correct

* Revert data-kind attribute

* Handle LinkPreview styling in .pcss

* Fix flaky test: Avoid racing the lazy-loaded ManageEventIndexDialog

* Take care of review comments

* Updated snaps

* Updated snaps again after merge

* Remove !important from RoomStatusBar
2026-04-30 11:54:49 +00:00
Michael Telatynski 30484ef126 DRY vite configs using a shared config (#33334)
* Fix OIDC login callback handling on Element Desktop

* Add unit tests

* Iterate

* Fix lcov reporter

* DRY vite configs using a shared config

* Iterate

* Revert change to electron-builder.ts

* Iterate
2026-04-30 07:44:29 +00:00
Will Hunt 4bee845010 Show user status in timeline (#32991)
* Use other branch

* All the changes that got lost

* Fix merge

* Ensure emoji can only be one character long

* Fixup labs feature

* Remove redundant check

* Update snapshot

* update snapshot

* add snapshot

* unpin

* fix pnpm lock

* undo pn[m lockfile changes altogether

as we shouldn't actually need any afaik

* update snpahot for changed IDs

* Snapshot update

* Snapshot update

* There is now another section

* more snapshots

* more snapshot

* More snapshots

* oh come on snapshots

* actual snapshot update

* Fix sonar issues

* just update the thing manually

* [screams internally]

* Update snapshot

* test for useUserStatus

* Make useUserStatus actually truncate

* Split out slash command to its own file

& add test

* Remove irrelevant comment

* doc

* Comment on non-obvious error message

---------

Co-authored-by: David Baker <dbkr@users.noreply.github.com>
2026-04-29 08:14:22 +00:00
ElementRobot 4c3cb0754b [create-pull-request] automated change (#33325)
Co-authored-by: t3chguy <2403652+t3chguy@users.noreply.github.com>
2026-04-29 07:22:26 +00:00
renovate[bot] e9ce54928f Update pnpm to v10.33.2 (#33314)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-04-28 13:14:23 +00:00
Florian Duros c363d2eb82 Room list: edit or remove custom sections (#33283)
* feat(sc): add section menu to section header

* feat(rls): add edit and remove sections

* feat(dialog): add editing mode to CreateSectionDialog

* feat(dialog): add remove section dialog

* feat(vm): wire up vm and stores

* test: update existing snapshots

* test(e2e): add playwright tests to edit and remove a section

* chore: fix remove section i18n key

* fix: able to send empty sections

* chore: update create section editing docs

* chore: remove useless fallback

* chore: add logs when section is unknown

* feat: use different wording when removing an empty section

* fix: only animate the chevron icon in the section header

* fix: change dialog subtitle weight to medium
2026-04-28 10:16:34 +00:00
Zack 1dd5748d6f Update shared-components story titles to match component paths (#33157)
* Align shared-components Storybook titles with their current paths.

* Rechange the structure for better navigation on storybook

* Update Placement of RoomlistToast to correct catagory

* Update for easier reading

* Adding space for better reading.

* Add spacing for Timeline Event

* add spacing to timeline meta for better reading

* add spacing for better reading for timeline reaction

* Fix wrong placement of Imagebody

* Final Update of structure of shared components

* Update storybook for urlpreviewgroupview
2026-04-28 09:55:48 +00:00
Zack 4e9655dc6b Phase 2 : Refactor TextualBody to MVVM and remove legacy component (#33165)
* Refactor TextualBody to MVVM and remove legacy component

* Update snapshot + fix eslint warning

* update css to fix playwright tests failure

* return i18n into the MVVM

* Update snapshots

* Update tests to reflect the css changes

* Update snapshot

* Update css to correct letter-spacing

* Update css to fix playwright issues.

* Preserve inline emote sender rendering in TextualBodyView

* Update snapshot to reflect html change

* Update back to span instead of button, the default button css fails tests

* Extract TextualBodyFactory from MBodyFactory

* Update snapshot

* Update HTML snapshot to pass tests

* Update Snapshots

* Added several tests for coverage

* Remove double checks, merge function already checks.

* Remove unessecery comment

* revert to button

* Update snapshots because of the revert

* added Math.min() to simplify ternary expressions.

* Update playwright screenshots for accessibility

* Update playwright screenshots

* Update css to fix playwright fail

* Update screenshot + snapshots

* Add comments to props
2026-04-28 07:07:19 +00:00
Michael Telatynski 7766ae92d7 Fix i18n types (#33305)
Without the fix the return type would be `string` in cases where it should be `ReactNode`
2026-04-27 15:09:55 +00:00
Robin 03b730db58 Update toast styles, improve incoming call notifications (#33043)
* Update design of incoming call notifications

* Make toast show avatars of group call participants

* Further expand test coverage for call notifications

* Update screenshots

* Update screenshots

* Delete unused variables

* Upgrade Element Call to v0.19.2

For the new group call intents.

* Consolidate some branches

* Apply Compound spacing variables a little more

* Fix lints

* Exclude Element Call assets from being re-minified to fix build
2026-04-27 14:37:42 +00:00
ElementRobot 4682f62e52 [create-pull-request] automated change (#33301)
Co-authored-by: t3chguy <2403652+t3chguy@users.noreply.github.com>
2026-04-27 07:27:43 +00:00
Will Hunt 4a14e203a5 Slight adjustments to URL Preview text sizing (#33282)
* Remove CSS specification of fonts

* Reduce font size

* Remove margin

* Update snaps
2026-04-24 14:23:35 +00:00
Will Hunt 6c7c90c15d Stabilize MImage/MVideoBodyView snapshots (#33289)
* Stabilize MImage/MVideoBodyView snapshots

* add to global

* Use vite/client for imports

* fixup
2026-04-24 09:34:15 +00:00
ElementRobot 0201a7eb1a [create-pull-request] automated change (#33287)
Co-authored-by: t3chguy <2403652+t3chguy@users.noreply.github.com>
2026-04-24 07:12:08 +00:00
renovate[bot] c02b970d35 Update dependency @vector-im/compound-web to v9.2.1 (#33270)
* Update dependency @vector-im/compound-web to v9.2.1

* Update button sizes

* More button size updates

* Another button size

* Button size

* Snapshot updates

* Snapshots

* More sm/md

* More button size updates

* snapshot

* and one more from merging develop

* More snapshots

* Phantom typing

* yep, more snapshots

* More snapshots

* More snapshots

* Last ones?

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: David Baker <dbkr@users.noreply.github.com>
2026-04-23 12:18:56 +00:00
rbondesson bb4a7e9613 Move RovingTabIndex to shared component and use it in ActionBarView (#33263)
* Create a new shared component and a wrapper in app/web

* Move unit tests and add new for better coverage

* Refactor ActionBarView to use the RovingTabIndexProvider

* Clean up the interface and adjust callers

* Added documentation and renamed type for better readabililty

* Reverting the clean up of IContext

* Fix Sonar issues

* More Sonar issus fixed
2026-04-23 09:33:32 +00:00
Michael Telatynski 1a6b0e22a1 Add CI to detect stale vis screenshots (#33274)
* Add CI to detect stale vis screenshots

* Remove already installed `tree` command

* Remove workaround for vis silently adding missing screenshots in CI

* Fix stale screenshot detection

* Test that CI doesn't silently create new screenshots

* Discard changes to packages/shared-components/src/room/composer/Banner/Banner.stories.tsx

* Delete stale snapshots
2026-04-23 09:24:31 +00:00
Michael Telatynski 8f9953f419 Fix flaky test src/room/composer/Banner/Banner.stories.tsx > With Avatar Image (#33275)
* Fix flaky test `src/room/composer/Banner/Banner.stories.tsx > With Avatar Image`

it was previously loading an external (slow) image which was random (!) by design

Fixes https://github.com/element-hq/element-web/issues/33273

* Fix styling

* Iterate

* Update snapshot
2026-04-23 08:26:48 +00:00
Florian Duros f4c62abbcd Room list: assign room to custom section (#33238)
* feat(sc): add new toast type for room list

* feat(sc): add section entries in room list item menu

* feat(rls): expose util functions

* feat: allows to tag room with custom sections

* feat(vm): add new Chat moved toast to room list vm

* feat(vm): add section selection to room list item vm

* feat(e2e): add tests for adding room in a custom section

* test(e2e): update existing screenshots

* chore: fix lint after merge

* chore: remove outline in test
2026-04-22 19:50:54 +00:00
Will Hunt 9df7182c0c Redesign link previews (#33061)
* Commit design update

* Add figma links

* Check in other changes

* revert accidental change

* Iterative update

* linting n test fiddles

* linting

* Cleanup

* update snaps

* Move URL previews to new home

* Fix paths

* compress img

* Add back all the stories

* Improved rendering

* Fixup

* Update previews again

* lint

* update stories

* Update snaps again

* More screenshots

* Also these

* Update snaps

* include site name

* Update snaps again

* Use a scale so the images don't go blur

* update snaps again

* Update snaps

* remove mistaken playwright cfg

* update pw snaps

* update snap

* update previews

* Update with new designs

* Update screenshots
2026-04-22 13:23:24 +00:00
renovate[bot] 2d16498fe6 Update dependency typescript to v6 (#32927)
* Update dependency typescript to v6

* Switch to unplugin-vts

Workaround for https://github.com/qmhc/unplugin-dts/issues/467

And tweak tsconfigs

* tweak tsconfig

* Make tsc happy

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Michael Telatynski <7t3chguy@gmail.com>
2026-04-22 12:28:54 +00:00
Florian Duros 9df9fb9428 Room list: scroll to newly creation section (#33210)
* feat(rls): emit tag when section is created

* feat(vm): scroll to newly section tag

* feat(view): scroll to new section
2026-04-22 12:21:41 +00:00
renovate[bot] 44a2c9936d Update react (#33247)
* Update react

* Pin back react-resizeable-panels as it overwrites onFocus/onBlur

* Roll back react-resizable panels fully

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Michael Telatynski <7t3chguy@gmail.com>
2026-04-22 08:44:21 +00:00
renovate[bot] 4437dadef6 Update dependency storybook-addon-vis to v4 (#33251)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-04-22 08:30:27 +00:00
ElementRobot 193cdff562 [create-pull-request] automated change (#33262)
Co-authored-by: t3chguy <2403652+t3chguy@users.noreply.github.com>
2026-04-22 08:24:30 +00:00
renovate[bot] d01f40bf27 Update dependency html-react-parser to v6 (#33250)
* Update dependency html-react-parser to v6

* Fix renderer utils

* Fix CodeBlock similarly

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Michael Telatynski <7t3chguy@gmail.com>
2026-04-21 22:20:09 +00:00
renovate[bot] a0195fc4d6 Update dependency @vector-im/compound-web to v9 (#33249)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-04-21 19:40:28 +00:00
ElementRobot 9428c10284 [create-pull-request] automated change (#33200)
Co-authored-by: t3chguy <2403652+t3chguy@users.noreply.github.com>
2026-04-20 07:48:45 +00:00
Richard van der Hoff e58e803368 Update to compound 9.2.0 (#33173)
* Upgrade to compound 9.2.0

... to pick up the export of PageHeader

* update snapshots

* update shared-components snapshots

* More snapshot updates

* update snapshot

* GHA: Show disk usage on failure
2026-04-17 15:51:43 +00:00
ElementRobot c3e82cf33b [create-pull-request] automated change (#33182)
Co-authored-by: t3chguy <2403652+t3chguy@users.noreply.github.com>
2026-04-17 07:08:28 +00:00
Florian Duros d7f5546294 Room list: add custom section creation in SC (#33138)
* feat: add way to create custom section in SC

* feat: disable custom section in vms

* chore: include design tokens icons in vitest config

* test: update screenshot

* chore: use one react import
2026-04-16 13:14:10 +00:00
Zack d4aea25600 Phase 1 Refactor MImageBody to shared component (#33093)
* Phase 1 Refactor MImageBody to shared component

* blurhash package added into shared components

* Added image snapshots

* Correct the GIF label css design

* Update snapshot for GIF

* crop image correctly

* Update snapshot to reflect updates

* typo fix

* update css to compund variables

* Added tsdoc to function

* Fix inaccurate css and text values in stories

* use const enum instead

* Add i18n to shared components + added string

* Correct css comment information

* Update lockfile
2026-04-16 08:59:32 +00:00
Michael Telatynski b495628e6f Fix element-web start not building module-api (#33161) 2026-04-16 07:58:43 +00:00
ElementRobot c106abd721 [create-pull-request] automated change (#33092)
Co-authored-by: t3chguy <2403652+t3chguy@users.noreply.github.com>
2026-04-15 08:35:12 +00:00
Zack 80cf9e5b4a Shared Components Restructure, Cherry Picked | Room Shell Structure (#32917)
* refactor(shared-components): move composer and right-panel tree

* refactor: cleanup remaining structure leftovers

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

* Correct Path
2026-04-14 13:20:15 +00:00
Zack f615968835 Refactoring readMarkerForEvent into ReadMarkerView in shared-components (#32777)
* Refactoring readMarkerForEvent  into ReadMarketView in shared-components

* Use shared ReadMarkerView in MessagePanel

* Rename ReadMarkerView to ReadMarker

* Fix Prettier

* Update snapshots screenshots

* Use plain props for ReadMarker

* Fix Prettier

* Move ReadMarker into room timeline

* Replace ReadMarker nested ternary

* Update snapshot
2026-04-14 11:56:52 +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