* 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>
* feat: add dry run of storybook build in merge queue
* Reuse build from storybook build job
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Use nx to build library before building storybook
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
---------
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
Co-authored-by: Michael Telatynski <7t3chguy@gmail.com>
* Add NX_SKIP_LOG_GROUPING to tests workflow
* Switch CI nx outputStyle to stream-without-prefixes
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
* Move declaration.d.ts to @types
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Load customisations.json without `require`
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Remove webpack rule from when we were consuming shared-components ts vs js
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Avoid hardcoding paths to modules in webpack config
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Convert webpack config to typescript
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Stub js webpack/postcss plugins
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Patch broken rollup types until https://github.com/getsentry/sentry-javascript-bundler-plugins/pull/870 is released
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Install @types/postcss-import
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Fix fdir relying on @types/picomatch
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Update pnpm-lock.yaml
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
---------
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Fix usage of nx in npm scripts
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Tidy project.json
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
---------
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* 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
* Rename playwright-screenshots script to -experimental
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Run only browser in docker for test:playwright:screenshots
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Fix playwright config for non-remote runs
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
---------
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
Prettier doesn't support nested ignore files - https://github.com/prettier/prettier/issues/17099
The eslint rules no longer applied, we fixed the issues they were ignoring
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Fix videos on Firefox
Videos are using cross-origin requests, and Firefox
blocks them before passing to the service worker if
the element doesn't have the crossorigin attribute to
give CORS support
* React needs camelCase attr names
---------
Co-authored-by: David Baker <dbkr@users.noreply.github.com>
* Remove old screenshots
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Add experimental playwright-screenshots.sh utility and use it for shared-components `test:storybook:update`
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Tidy up
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Iterate based on review
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
---------
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Avoid showing two chat timelines side by side after a call
In certain situations you could still end up with the chat timeline visible in the right panel in addition to the main split. For instance if you are in a call, open the chat panel, then leave the call while looking at another room, the chat panel would remain open upon navigating back to the original room.
* Avoid using flushPromises in tests
It was failing due to being unable to access pnpm-workspace.yaml so change the docker context to the root of the monorepo
Also disable pnpm-link script in the docker env and node-linking for storybook tests
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Use nx for running dev tasks
Initially only build & start
This enables caching, i.e. if you made no changes to shared-components then it can skip that build and speed up your iteration cycle time
nx will also be used for our release tooling down the line
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Drop `concurrently` - we no longer use it
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Make knip happier
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Also use nx tasks for jest & tsc
so that SC gets built as needed
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Add missing @nx/jest plugin
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Fix prebuild:rethemendex for Windows
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Fix prebuild:rethemendex for Windows
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Add prepack script to package.json
---------
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* 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>