* 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>
* Refactor TimelineSeparator to shared-components package
• New TimelineSeparator component in packages/shared-components/
• Updated MessagePanel.tsx to import from shared-components
* Fix copyright text
* Timeline Unit Tests + Timeline Snapshot Tests
* Imported correct timeline seperator
* Update snapshots because of css update
* Apply suggestion from @florianduros
Co-authored-by: Florian Duros <florian.duros@ormaz.fr>
* Created className prop
* Removal of element x unused css
* Update snapshot because of Flex
* Update snapshots because of Flex
* Update css to correct values and compund name
* Added letter spacing to timelineseperator
* rremoval of letter spacing
* added align center to flex to apply correct css changes
* Update snapshots to reflect new css changes
* Update snapshots to reflect css changes
* Added letter-spacing to timeline seperator
* Update snapshots after css update
* update snapshots
---------
Co-authored-by: Florian Duros <florian.duros@ormaz.fr>
* Remove tests which assert feature_oidc_native_flow=false behaviour, that setting is long gone
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Upgrade fetch-mock-jest to @fetch-mock/jest
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Update yarn.lock
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Make knip happy
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Disable broken tests
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Fix shared-components tests
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Snapshots
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
---------
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Update vector-im
* Update Jest snapshots
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Iterate
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Update snapshots
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Fix playwright styling overrides
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Hold back Compound Design Tokens as threads icons unexpectedly grew a dot in the top corner where we conditionally draw a dot
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Iterate
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Update snapshots
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Iterate
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Update snapshots
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Iterate
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Update Compound Design Tokens to 6.4.1
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Update snapshots
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Iterate
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Revert snapshots
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Iterate
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Tweak bubble
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Update snapshots
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Update storybook snapshots
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Update jest snapshots
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Update jest snapshots
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
---------
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Michael Telatynski <7t3chguy@gmail.com>
* Update jest to v30
* Update jest to v30
* Update snapshots
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Apply jsdom patch
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Fix tests
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
---------
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Michael Telatynski <7t3chguy@gmail.com>
* Show timestamps when keyboard focus is within an event tile
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Ensure toolbar navigation pattern works in MessageActionBar
This requires all buttons within to be roving by using the ref callback given by useRovingTabIndex
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Use PureComponent in EventTile to avoid mass re-rendering due to transitive onFocus/onBlur calls
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Remove unused timestamp event tile prop
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Use MessageTimestamp to generate the wrapping anchor so that focusing it brings up the tooltip
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Tweak MessageTimestamp
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Switch back to Component as we specify a shouldComponentUpdate already
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Update jest tests
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Update playwright timestamp masks
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Revert snapshot
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Update snapshot
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Fix IRC layout
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Use PureComponent in EventTile to avoid mass re-rendering due to transitive onFocus/onBlur calls
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Remove unused timestamp event tile prop
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Use MessageTimestamp to generate the wrapping anchor so that focusing it brings up the tooltip
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Tweak MessageTimestamp
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Switch back to Component as we specify a shouldComponentUpdate already
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Update jest tests
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Update playwright timestamp masks
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Revert snapshot
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Update snapshot
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Fix IRC layout
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Lint styles
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Fix layout picker
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Update snapshots
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Update screenshots
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Fix pcss comment
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Iterate Playwright
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Iterate
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Iterate Playwright
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
---------
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Fix html exports by adding SDKContext
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* delint
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>
* fix: improve aria role and label on pinned message banner
* fix: change pinned message badge background for contrast
* fix: link pinned message button to content
* test: update tests
* fix: add aria-describedby on pinned message badge
* feat: use `aria-describedby` instead of `aria-description`
* test: update room view snapshot
* test: update snapshot
* fix: put id only textual body upper div
* fix: use lodash uniqueId
* test: update snapshots
* Update react monorepo to v19
* Import JSX explicitly for React 19 compatibility
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Update usages of refs for React 19 compatibility
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Update react imports
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Avoid legacy contexts as much as possible
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Avoid deprecated React symbols
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Stash
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Update usages of refs for React 19 compatibility
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>
* Switch pillify to use a html-react-parser approach rather than DOM muddling
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Iterate
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Iterate react html parsing
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Iterate react html parsing
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Iterate html parsing
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Memoize the EventContentBody component
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Iterate html parsing
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>
* Simplify
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Iterate
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Discard changes to src/Linkify.tsx
* Discard changes to src/components/views/messages/TextualBody.tsx
* Discard changes to src/settings/handlers/AbstractLocalStorageSettingsHandler.ts
* Iterate
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>
* Iterate
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Iterate
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Prepare for React 19 upgrade
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Iterate
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Remove stale comment
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
---------
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Michael Telatynski <7t3chguy@gmail.com>
* chore: update `@vector-im/compound-design-tokens` & `@vector-im/compound-web` to last version
* chore: use `error-solid` icon instead of `error`
* chore: update jest snapshot
* fix: `AccessibleButton` lint
* Add commercial licence and update config files
* Update license in headers
* Revert "Update license in headers"
This reverts commit 7ed7949485e88889a9ffc8075a9df1f8e936777e.
* Update only spdx id
* Remove LicenseRef- from package.json
LicenseRef- no longer allowed in npm v3 package.json
This fixes the warning in the logs and failing build check.
* Harden Settings using mapped types
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Fix issues found during hardening
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>
* Iterate
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Remove oidc native flow stale key
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
---------
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Remove stale _LegacyRoomHeader.pcss and icons
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Remove unused icons
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Ensure legacy header styles are not used by HTML export
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
---------
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>