* Default useOnlyCurrentProfiles to true
As per comment, start by setting this to true by default with intention to remove.
* Update screenshots
* Snapshot
* Use Renovate to bump testcontainers digests
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Iterate
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Iterate
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
---------
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* fix(sc): use correct icon size for room list icons
* feat(sc): implement new selection and hover design for room list item
* feat(sc): set room list item height
* chore(sc): add story for long room and message preview
* fix(sc): use correct letter-spacing for room list item
* feat(sc): use new padding for room list filters
* feat(sc): update room list header style
* test(sc): update unit tests
* test(sc): update visual tests
* test: update playwright screenshots
* doc: update figma link in item story
* test: fix sliding sync test
The notification pop up was at the top of the room list filters (less
top padding) and it was unable to click on the People filter.
* chore: fix `VirtuaalizedRoomListView` comment
* test: update playwright screenshot
* fix(sc): add ellipsis on room name
* Set history visibility to "invited" for DMs and non-public rooms
* Update e2e tests and screenshots
* lint
* Revert screenshot
* Add test that an override of historyVisibility still works
* Update screenshot for reactive display name disambiguation
This PR updates the Playwright screenshot tests to reflect the changes
from matrix-js-sdk PR #5135, which fixes reactive display name
disambiguation.
The screenshot will be updated based on CI test results to show the
correct disambiguation behavior when multiple room members share the
same display name.
Related: matrix-org/matrix-js-sdk#5135
* Update member list screenshot for reactive disambiguation
* Retry CI for flaky MatrixChat timeout
* Refactoring of DisambiguatedProfile into shared components
* correct values and refactoring
* Add username color classes to Storybook and clean up DisambiguatedProfile stories
* Refactor DisambiguatedProfileView to use class component and enhance props structure
* Refactor DisambiguatedProfile components to use member object and enhance props structure
* Update copyright year to 2026 and adjust the tests to fit the correct memberinfro interface
* Add DisambiguatedProfileViewModel class
* Refactor DisambiguatedProfileViewModel to use member object and the rest of the props
* Refactor SenderProfile to use DisambiguatedProfileViewModel and update DisambiguatedProfile styles
* Refactor DisambiguatedProfileView to enhance interface documentation
* Refactor DisambiguatedProfileView to use CSS modules for styling
* Updated css + tests to fit the new changes
* Update of the test snap to fit the current tests
* Adjusted RoomMemberTitleView and SenderProfile to use the new viewmodel, removed the old component.
* Implemented new viewmodel test for DisambiguatedProfileViewModel
* Update copyright text
* update css class names
* update to correct snapshot after css name changes.
* Apply suggestion from @florianduros
Co-authored-by: Florian Duros <florian.duros@ormaz.fr>
* Moved logic to viewmodel instead of having it in the view. Removed unessecery functions and css.
* removed unessecery file that I copied from root folder, this is no longed needed as I use the root file instead in the viewmodel
* Better Formatting
* Fix issues after merging develop
* FIxed issues with eslint
* Added Visible, non-interactive elements with click handlers must have at least one keyboard listener from eslint docs
* Updated snapshot the fit the latest update with eslint button requirment
* Update snapshot screens for new tests.
* Update tests to reflect snapshots
* Update snapshot due of outdated CSS module classes
* Add useEffect to call setProps on the DisambiguatedProfileViewModel
when props change, ensuring the view updates with the correct display
name. Update LayoutSwitcher snapshot for new CSS classes.
* Fix Playwright editing tests by adding exact match for Edit button selector
The DisambiguatedProfile refactoring added role="button" to the component,
causing the selector { name: "Edit" } to match both the user "Edith" and
the actual Edit button.
* Fix ForwardDialog location tests for async hook rendering The SenderProfile component now uses hooks that trigger async state updates.
* Fix SenderProfile useEffect to only update changeable props
* Added letter spacing
* Added ClassName prop
* Update snapshot
* Update letter-spacing
* Update snapshot screenshots
* Update Snapshots
* Update snapshot
* Removal of letter spacing to test CI
* Apply suggestion from @florianduros
Co-authored-by: Florian Duros <florian.duros@ormaz.fr>
* Added closing brackets + added back letter-spacing
* Update snapshots
* Update snapshot
* Update span to correctly apply to the CI tests, it wasn't possible to use classname as a prop
* Update snapshot
* Added comment to explain the span classNames
* DisambiguatedProfileViewModel.setProps to runtime-changing props
* replace DisambiguatedProfileViewModel setProps with explicit setters and update call sites
* Update Setters
* Prettier FIx
* Update Setters
* update DisambiguatedProfileViewModel setters and tests
* Update SenderProfile to show connect display name
* clone snapshot in setters to trigger reactive updates
* use snapshot.merge in DisambiguatedProfileViewModel setters
* emove duplicated logic in DisambiguatedProfileViewModel
* Change snapshot name
* Update viewmodel
* Updated Tests
* typo
* Update src/viewmodels/profile/DisambiguatedProfileViewModel.ts
Co-authored-by: Florian Duros <florian.duros@ormaz.fr>
* Removal of unused function
* Update snapshots
* Update tests to pass coverage
* Update Eslint
---------
Co-authored-by: Florian Duros <florian.duros@ormaz.fr>
* Switch shared-components from yarn classic to pnpm
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Switch element-web from yarn classic to pnpm
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Switch CI to pnpm
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Update docs & comments
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Hold back postcss to match yarn.lock & use workspace protocol
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Tweak CI
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Rid the world of `$(res)`
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Switch to type=module
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Fix module import
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Make knip happy
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Update playwright imports
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Make docker build happy
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Remove stale params
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Fix badly formatted logging
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Switch to lodash-es
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Make jest happier
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Switch element-web to ESM
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Update testcontainers imports
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Fix modernizr cjs
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Fix modernizr cjs ignore files
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Move modernizr sonar exclusion to exclude everything
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Update playwright tests for esm compat
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Add pnpm-link utility
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Test matrix-web-i18n
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Iterate
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Iterate
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Discard changes to src/vector/index.ts
* Update playwright-common
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Use catalogs
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Improve pnpm-link script
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Use pnpm import to regenerate lockfile from yarn.lock
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
---------
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* fix: Update `globalBlacklistUnverifiedDevices` on setting change
Signed-off-by: Skye Elliot <actuallyori@gmail.com>
* fix: Use `SettingLevel.DEVICE` filter on blacklisted device watcher
* tests: Add playwright test for blacklist unverified devices toggle
* docs: Correct test step description
Co-authored-by: Andy Balaam <andy.balaam@matrix.org>
* tests: Add test for local vs global blacklist unverified devices
* tests: Ensure local toggle overrides global toggle.
* tests: Add unit tests for blacklistUnverifiedDevices listener
---------
Signed-off-by: Skye Elliot <actuallyori@gmail.com>
Co-authored-by: Andy Balaam <andy.balaam@matrix.org>
* Add NotificationDecoration component
Add the NotificationDecoration component to shared-components.
This is a leaf component that renders notification badges and indicators
for rooms/items including mentions, unread counts, call indicators, etc.
* Add RoomListItem component
Add the RoomListItem component to shared-components.
Includes context menu, hover menu, notification menu, and more options menu.
* Add RoomListPrimaryFilters component
Add filter chips component for filtering the room list by
unread, people, rooms, favourites, mentions, invites, and low priority.
* Update VirtualizedList component
Update VirtualizedList to support the room list virtualization requirements.
* Add RoomList component
Add RoomList component that renders a virtualized list of room items.
Includes story mocks for testing.
* Add RoomListView component
Add RoomListView component that composes RoomList with filters,
empty states, and loading skeleton.
* Export room-list components from shared-components
Add exports for RoomListView, RoomListItem, RoomListPrimaryFilters, and RoomList.
Include i18n strings for room list components.
* Add RoomListItemViewModel
Add view model for individual room list items.
Manages per-room subscriptions and updates only when specific room data changes.
* Add RoomListViewViewModel
Add view model for the room list view.
Manages room list state, filtering, keyboard navigation, and child view models.
* Integrate shared components into RoomListView
Update RoomListView to use the new ViewModels and shared components.
Includes i18n string updates for element-web.
* Remove old room list implementation
Remove old ViewModels, hooks, and view components that are now
replaced by the shared-components implementation.
* Update sliding-sync playwright test
Update test expectations for new room list implementation.
* Add figma links
* Move viewModels to the right folder
* Rename to RoomListEmptyStateView
* Update VirtualizedRoomListView naming
* Update screenshots and snapshots
* Move viewmodel tests to the right location and fix some imports
* lint
* Use unknown as an Opaque type rather than any. It discourages property access within shared components and can still be cast back in EW.
* Update screenshots for new shared component rendering params
* Make room order tests deterministic
* Update dependency @playwright/test to v1.58.1
* Update snapshots & screenshots
* Another screenshot
* Un-focus room tile and scroll it into view
possibly some change in what ends up focused after a popup disappears
* uncomment the screenshots
* Correct screenshot
---------
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: David Baker <dbkr@users.noreply.github.com>
* 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>
* 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
* 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>
* Show an icon in the room header for shared history
Add a decoration to the header for encrypted rooms with `history_visibility:
{shared|public}`.
Fixes: #31858
* Gate "shared history icon" behind labs flag
... since history isn't actually shared unless the flag is on
* Update snapshots
* update screenshot
* update screenshots, again
* exclude RRs from screenshot test
* Revert "Update algorithm for history visible banner. (#31577)"
This reverts commit ce9c66ba4c25f3de5ceca5d244591d8aa1183ce8.
* Revert "Update prop type & documentation for HistoryVisibleBanner and VM. (#31545)"
This reverts commit 4da149e56f5a593daf05ed9a84eea7da11d800e9.
* Revert "Prevent history visible banner from displaying in threads. (#31535)"
This reverts commit c7134e85324878f06da3936ccad09655876cad0d.
* Revert "Implement UI for history visibility acknowledgement. (#31156)"
This reverts commit cff9119324dced2ab570201d159ea0c8169344c2.
* fix export
* Don't allow duplicate toasts.
* fix imports
* fix
* fix rel_type to be m.reference in tests
* Fix case where redactions were not longer checked.
* Ensure toastkey is calculated by the room call_id
* Ensure we fetch the call event if it does not exist locally.
* cleanup / reduce code complexity
* Add docs
* Add comment
* merge condition
* Fix mis-alignment of `Threads` right panel title
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>
* 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
* Switch to rendered svg for Field select decoration instead of SVG mask
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Replace warning.svg with Compound icon
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Replace device kind icons with Compound
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Draw notification badge decoration using SVG rather than CSS masks
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Replace {collapse,expand}-message icons with Compound
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Remove stale icon prefetch
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Render icons in AddExistingToSpaceDialog using SVGs rather than CSS masks
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Render icons in Jitsi landing page using SVGs rather than CSS masks
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Delint
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Update snapshots
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Update screenshot
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Fix field label
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Update snapshots
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Add tests
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Revert icon colour
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
---------
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Fix avatar decorations in thread activity centre not being atop avatar
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Delint
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Update snapshots
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
---------
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>