* Refactor RoomAvatar into a functional component
* Add useRoomAvatar hook
* Remove useRoomAvatar hook and fix RoomAvatarEvents not using thumbnails.
* lint
* Ensure stable version of roomIdName
* Use new hook
* lint
* remove unused param
* Fixup tests
* remove console
* Update test
* test: fix flaky MatrixChat `should persist login credentials` test
* test: fix flaky MatrixChat `should log and return to welcome page with correct error when login state is not found` test
* test: fix flaky MatrixChat `should store clientId and issuer in session storage` test
* fix: recompute public variable when room changes in room list item view model
* test: add test to check that isPublic is computed correctly when the room changes
* feat: add video call and EC call to room list item vm
* feat: add video call notification decoration to notification decoration component
* feat: add video call support to room list item view
* feat: add new RoomAvatarView component
* feat: deprecate `DecoratedRoomAvatar`
* feat: use `RoomAvatarView` in room list item
* feat: allow custom class for `RoomAvatar`
* test: update notification decoration
* test: update room list item view
* test: update room list snapshot
* test: add tests for room avatar vm
* test: add tests for room avatar view
* test(e2e): update snapshots
* fix: video room creation rights
* test: e2e add test for public and video room
* Fix custom theme support for hex colours other than 6-char
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>
---------
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* fix: use correct color for room list header
* fix: use error solid icon
* fix: rename Unread as Unreads
* test: update jest snapshots
* test(e2e): update screenshots
* test: fix test
* Fix converttoroom & converttodm not working
setAccountData uses `deepCompare` within to avoid writing no-op updates
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Update tests
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Use filterValidMDirect utility in setDMRoom
Ensure we do not mutate the account data as this would then upset `setAccountData`'s deepCompare later
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>
* 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>
* Allow setting the Encryption settings tab to any initial state
* Add a variant to the reset flow for 'sync_failed'
* Catch errors after syncing recovery
Fixes#29229
* fixup! Allow setting the Encryption settings tab to any initial state
* fixup! Add a variant to the reset flow for 'sync_failed'
* Move docs for identity panel variants to ResetIdentityPanelVariant
* feat(security tab)!: remove secure backup panel
BREAKING CHANGE: the key storage user interaction are moved into the Encryption tab. The debugging information are moved into the devtools.
* feat(security tab)!: remove cross signing section
BREAKING CHANGE: the cryptographic identity can be reseted in the Encryption tab. The debugging information are moved into the devtools
* feat(security tab)!: remove cryptography section
BREAKING CHANGE: this section can be found in the Advanced section of the encryption tab.
* test(security tab): update snapshot
* chore(security tab): remove unused component and function
* chore(security tab): update i18n
* test(e2e): remove `backups.spec.ts`
* Add report room dialog button/dialog.
* Update copy
* fixup tests / lint
* Fix title in test.
* update snapshot
* Add unit tests for dialog
* lint
* First pass at adding a report room on invite.
* Use a single line input field for reason to avoid bumping the layout.
* Fixups
* Embed reason to make it clear on grouping
* Revert accidental commit
* lint
* Add some playwright tests.
* tweaks
* Make ignored users list more accessible.
* i18n
* Fix sliding sync test.
* Add unit test
* Even more unit tests.
* move test
* Update to match designs.
* remove console statements
* fix css
* tidy up
* improve comments
* fix css
* updates
* fix(room list item): add bold when there is a notification
* fix(room list item menu): fix color of check icon
* fix(menu): remove chevron
* chore: update @vector-im/compound-web
* test(room list): update tests
* test(e2e): update snapshots
* Sort muted rooms to the bottom of the room list
* Re-insert room on mute/unmute
* Write tests
* Fix broken playwright test
Muted rooms are at the bottom, so we need to scroll.
* feat: add `utils.hasAccessToNotificationMenu`
* feat(room list item view model): use `hasAccessToNotificationMenu` to compute `showHoverMenu`
* feat(room list item menu view model): add notification options menu attributes
* feat(room list item menu view): add notification options
* test: add tests for `utils.hasAccessToNotificationMenu`
* test(room list item view model): add test for `showHoverMenu`
* test(room list item menu view model): add tests for new attributes
* test(room list item menu view): add tests for notification options menu
* chore: update i18n
* test(e2e): update screenshots
* test(e2e): add tests for notification options menu