* Assert that we set backup_disabled when turning off key storage
* Prompt the user when key storage is unexpectedly off
* Playwright tests for the Turn on key storage toast
* add loading state to view model and spinner to room list vieqw
* Update snapshots and add loading test
* avoid nested ternary operator
* Add room list skeleton loading state
* Fix loading logic
- Create RoomListStoreV3Event as to not conflict with loading event definition in Create RoomListStoreEvent.
- Add a loaded event
- Use it to determine loaded state in useFilteredRooms rather than the update event which gets fired in other cases.
* Fix isLoadingRooms logic
* update snapshots and fix test
* Forcing an empty commit to fix PR
* Fix _components.pcss order
* Fix test that wasn't doing anything
* fix tests
* Add message preview support to the new room list
* Support showing message previews in the room list items
* Add the secondary filters bar with the '...' menu, containing
just the option for message previews for now
* Change message preview toggle hook to update when setting is updated
* Use new compund release
* Unused i18n keys
* Unused imports
* Fix test & update snapshot
* Fix more snapshots
* Fix test
Split into two tests that test setting & updating
* Type import
* Snapshots
* Remove unnecessary Flex container
and update screenshots as the room list has got shorter from the added bar
* More snapshots & screenshots
* More snapshots
* Add test and remove active filter that's not done yet
* Update snapshots & screenshots again
* Other screenshot
* Add more tests
* Fix syntax
* Fix tests
* Use setter directly
Co-authored-by: Michael Telatynski <7t3chguy@gmail.com>
* Fix CSS
* Remopve filter button css for now
* Update to remove forwardRef
* Add comment on why lack of TypedEventEmitter
* snapshots again
* Screenshots again
* Use original screenshots, maybe they'll work now
* Add comment
---------
Co-authored-by: Michael Telatynski <7t3chguy@gmail.com>
* Modify useMediaVisible to take a room.
* Add initial support for a account data level key.
* Update controls.
* Update settings
* Lint and fixes
* make some tests go happy
* lint
* i18n
* update preferences
* prettier
* Update settings tab.
* update screenshot
* Update docs
* Rewrite controller
* Rewrite tons of tests
* Rewrite RoomAvatar to be a functional component
This is so we can use hooks to determine the setting state.
* lint
* lint
* Tidy up comments
* Apply media visible hook to inline images.
* Move conditionals.
* copyright all the things
* Review changes
* Update html utils to properly discard media.
* Types fix
* Fixing tests that break settings getValue expectations
* Fix logic around media preview calculation
* Fix room header tests
* Fixup tests for timelinePanel
* Clear settings in matrixchat
* Update tests to use SettingsStore where possible.
* fix bug
* revert changes to client.ts
* copyright years
* Add header
* Add a test for MediaPreviewAccountSettingsTab
* Mark initMatrixClient as optional
* Improve on types
* Ensure we do not set the account data twice.
* lint
* Review changes
* Ensure we include the client on rendered messages.
* Fix test
* update labels
* clean designs
* update settings tab
* update snapshot
* copyright
* prevent mutation
* 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
* 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`
* start hide
* Move useSettingsValueWithSetter to useSettings
* Add new setting showMediaEventIds
* Add a migration path
* Add an action button to hide settings.
* Tweaks to MImageBody to support new setting.
* Fixup and add tests
* add description for migration
* docs fixes
* add type
* i18n
* appese prettier
* Add tests for HideActionButton
* lint
* lint
* First pass at support for previewing/hiding images.
* Add a test for video files.
* First pass at supporting hiding video files.
* Use a hook for media visibility.
* Drop setting hook usage.
* Fixup MImageBody test
* Fixup tests
* Support functional components for message body rendering.
* Add a comment
* Move props into IProps
* Use new wrapping logic
* lint
* fixup
* allow for a delay for the image to render
* remove .only
* lint
* Fix jest test
* Fixup tests.
* make tests happy
* Improve comments
* review fixes
* unbreak test
* Fix labelling of avatar menu
* Make the integration manager toggle more clear.
* fix label
* lint
* Update snapshots.
* Refactor many cases of checkbox to use the new compound component.
* Remove non-checkbox related changes
* Reset some things
* Remove usages of mx_checkbox* styling.
* Use label locators for apperance tests.
* small linter tweaks
* lint
* update screenshot
* Test updates
* lint
* Realign checkboxes for device selection.
* Fixup QuickSettings styling
* remove comment
* lint
* flex comment
* remove unused label
* remove redundant classes
* add test for spaces
* lint
* Copyright
* fixup spaces test
* spaces lint
* Replace pin with compound pin.
* Realign icons
* Remove hack for colouring icons
* Adjust existing rooms component to correctly label room.
* Add test for adding an existing room to an existing space.
* Set deterministic sort order for rooms
* lint
* refactor: extract room creation and right verification
* refactor: update `RoomListHeaderViewModel` to use utils
* feat(room list filter): add filter key to `PrimaryFilter` model
* feat(room list filter): return active primary filter
* feat(room list): add create room action and rights verification
* test: update room list tests
* feat(empty room list): add empty room list
* test(empty room list): add empty room list tests
* feat(room list): use empty room list in `RoomListView`
* test(room list panel): update tests
* test(e2e): add e2e tests for empty room list
* test(e2e): update room list header snapshot
* refactor(room list item): rename `RoomListCell` into `RoomListItemView`
* refactor(room list item): move open room action to new room list item view model
* feat(hover menu): add `hasAccessToOptionsMenu`
* feat(hover menu): add to `RoomListItemViewModel` the condition to display or not the hover menu
* feat(hover menu): add view model for the hover menu
* feat(hover menu): add hover menu view
* feat(hover menu): add hover menu to room list item
* feat(hover menu): update i18n
* test(view model list item): update test and add test to `showHoverMenu`
* test(room list): update snapshot
* test(room list item menu): add tests for view model
* test(room list item menu): add tests for view
* test(room list item): add tests
* test(e2e): add tests for more options menu
* chore: update compound web
* test(e2e): fix typo
* Add key storage toggle to Encryption settings
* Keys in the acceptable order
* Fix some tests
* Fix import
* Fix toast showing condition
* Fix import order
* Fix playwright tests
* Fix bits lost in merge
* Add key storage delete confirm screen
* Fix hardcoded Element string
* Fix type imports
* Fix tests
* Tests for key storage delete panel
* Fix test
* Type import
* Test for the view model
* Fix type import
* Actually fix type imports
* Test updating
* Add playwright test & clarify slightly confusing comment
* Show the advnced section whatever the state of key storage
* Update screenshots
* Copy css to its own file
* Add missing doc & merge loading states
* Add tsdoc & loading alt text to spinner
* Turn comments into proper tsdoc
* Switch to TypedEventEmitter and remove unnecessary loading state
* Add screenshot
* Use higher level interface
* Merge the two hooks in EncryptionUserSettingsTab
* Remove unused import
* Don't check key backup enabled state separately
as we don't need it for all the screens
* Update snapshot
* Use fixed recovery key function
* Amalgamate duplicated CSS files
* Have "key storage disabled" as a separate state
* Update snapshot
* Fix... bad merge?
* Add backup enabled mock to more tests
* More snapshots
* Use defer util
* Update to use EncryptionCardButtons
* Update snapshots
* Use EncryptionCardEmphasisedContent
* Update snapshots
* Update snapshot
* Try screenshot from CI playwright
* Try playwright screenshots again
* More screenshots
* Rename to match files
* Test that 4S secrets are deleted
* Make description clearer
* Fix typo & move related states together
* Add comment
* More comments
* Fix hook docs
* restoreAllMocks
* Update snapshot
because pulling in upstream has caused IDs to shift
* Switch icon
as apparenty the error icon has changed
* Update snapshot
* Missing copyright
* Re-order states
and also sort out indenting
* Remove phantom space
* Clarify 'button'
* Clarify docs more
* Explain thinking behind updating
* Switch to getActiveBackupVersion
which checks that key backup is happining on this device, which is
consistent with EX.
* Add use of Key Storage Panel
Co-authored-by: Richard van der Hoff <1389908+richvdh@users.noreply.github.com>
* Change key storage panel to be consistent
ie. using getActiveBackupVersion(), and add comment
* Add tsdoc
Co-authored-by: Richard van der Hoff <1389908+richvdh@users.noreply.github.com>
* Use BACKUP_DISABLED_ACCOUNT_DATA_KEY in more places
* Expand doc
Co-authored-by: Richard van der Hoff <1389908+richvdh@users.noreply.github.com>
* Undo random yarn lock change
* Use aggregate method for disabling key storage
in https://github.com/matrix-org/matrix-js-sdk/pull/4742
* Fix tests
* Use key backup status event to update
* Comment formatting
Co-authored-by: Richard van der Hoff <1389908+richvdh@users.noreply.github.com>
* Fix comment & put check inside if statement
* Add comment
* Prettier
* Fix comment
* Update snapshot
Which has gained nowrap due to 917d53a56fd6de290fdf2269a330d62fe6464907
---------
Co-authored-by: Richard van der Hoff <1389908+richvdh@users.noreply.github.com>
* prevent user from accidentally triggering multiple identity resets
* apply changes from review and update to latest design
* Use a CSS class and compound variable
* update snapshot
* Update test/unit-tests/components/views/settings/encryption/ResetIdentityPanel-test.tsx
---------
Co-authored-by: Richard van der Hoff <richard@matrix.org>
Co-authored-by: Richard van der Hoff <1389908+richvdh@users.noreply.github.com>
* Use EditInPlace for identity server picker.
* Exclude picker from default dialog button styles.
* Remove unused import.
* Update test
* Remove unused css
* Update test
* drop only
* Add a test for setting an ID server.
* Add a unit test for SetIdServer
* fix tests
* Reformat mx_Dialog button :not list to use a more readable selector.
* Reformat other :not sections
* forgot a comma
* We're in 2025 now.
* Update copyright + use class methods.
* feat: create new header
* test: add tests to view model
* test: add tests to view
* feat: add header to new room list
* test(e2e): update RoomListView snapshot
* test(e2e): add tests for room list header
* refactor: minor code improvement
* Move CSS for ResetIdentityPanel into EncryptionCard
This allows it to be re-used in other components. It's a *bit* magic
that EncryptionCard applies style to divs within it, although it
somewhat makes sense that it wants them styled a particular way.
The alternative would be to add another component for a div child of
encryption card like EncryptionCardButtons that just makes it flexbox
and centered: I'm not sure which is better.
* Update snapshot
* Update snapshot
* Do it the other way
Because we only want it in the destructive cards, not the other ones.
* Use flex component
* Also use gap prop and update snapshots
* Fix justification
* Snaspshots again
* Set align-items to normal
As center affected the list items too. Also add it to the flex
component because it didn't have it as an option.
* feat(devtools): add crypto information in devtools
* ci: add crypto devtools file to crypto code owners
* test(dev tools): update test to add new crypto button
* test(dev tools): add tests for crypto component
* Make the encryption card more configurable:
- Change the icon
- Can set the destructive props
* Update compound
* Add advanced section
* Add the `Never send encrypted messages to unverified devices` settings
* - Add commercial license
- Remove generic type
* Rename EncryptionDetails css classes
* Use same uiAuthCallback
* Use h3 for title
* Add tests to `AdvancedPanel`
* Add tests to `EncryptionUserSettingsTab`
* Add tests to `ResetIdentityPanel`
* Get only the recovery section in recovery tests
* Add e2e test
* Add a separator between joined and invited members
* Fix user label in tile having wrong color
* Changes to member tiles
- ThreePidInviteTile now contains an user label showing "(Invited)" and
an email icon.
- RoomMemberTile now includes an icon similar to above.
- Refactors a bunch of code to make this change sensible.
* Remove redundant css code
* Fix tests
* Update src/components/viewmodels/memberlist/MemberListViewModel.tsx
Co-authored-by: Michael Telatynski <7t3chguy@gmail.com>
* Update year in license
* Fix lint error
---------
Co-authored-by: Michael Telatynski <7t3chguy@gmail.com>
* Refine `SettingsSection` & `SettingsTab`
* Add encryption tab
* Add recovery section
* Add device verification
* Rename `Panel` into `State`
* Update & add tests to user settings common
* Add tests to `RecoveryPanel`
* Add tests to `ChangeRecoveryKey`
* Update CreateSecretStorageDialog-test snapshot
* Add tests to `EncryptionUserSettingsTab`
* Update existing screenshots of e2e tests
* Add new encryption tab ownership to `@element-hq/element-crypto-web-reviewers`
* Add e2e tests
* Fix monospace font and add figma link to hardcoded value
* Add unit to Icon
* Improve e2e doc
* Assert that the crypto module is defined
* Add classname doc
* Fix typo
* Use `good` state instead of default
* Rename `ChangeRecoveryKey.isSetupFlow` into `ChangeRecoveryKey.userHasKeyBackup`
* Move `deleteCachedSecrets` fixture in `recovery.spec.ts`
* Use one callback instead of two in `RecoveryPanel`
* Fix docs and naming of `utils.createBot`
* Fix typo in `RecoveryPanel`
* Add more doc to the state of the `EncryptionUserSettingsTab`
* Rename `verification_required` into `set_up_encryption`
* Update test
* ADd new license
* Update comments and doc
* Assert that `recoveryKey.encodedPrivateKey` is always defined
* Add comments to explain how the secrets could be uncached
* Use `matrixClient.secretStorage.getDefaultKeyId` instead of `matrixClient.getCrypto().checkKeyBackupAndEnable` to know if we need to set up a recovery key
* Update existing screenshot to add encryption tab.
* Update tests
* Use new labels when changing the recovery key
* Fix docs
* Don't reset key backup when creating a recovery key
* Fix doc
* Remove FTUE onboarding as it is incompatible with SSO/OIDC
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Update tests
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Remove stale screenshots
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
---------
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Add new e2e icon for the member tile
* Add new presence icon for member tile
* Implement new member tile
* Implement memberlist view model
* Implement new memberlist header view
* Support the new memberlist in Diasambiguated profile
1. Use MemberInfo instead of RoomMember
2. CSS changes to reflect the new design
* Implement new memberlist view
* Add and use a new overflow component
We used the EntityTile component as a pretend overflow tile in some
places. This new lighter component is added so that we can remove the
complex EntityTile component.
* Remove old code
* Add/remove css files from _components.pcss
* Increase minimum width as per design
* Actually use the new memberlist view
* Fix broken jest tests
* Add jest tests
* Playwright: Make it possible to disable presence
* Add playwright tests
* Fix lint error
* Undo translation changes that must be done via localazy
* Update license header
* Use waitFor instead of setTimeout
* Remove comment
* Switch over from template to container hs
* Revert unintended change
* Move config to top level
* Remove abandoned Voice Broadcasts labs flag
Any existing voice broadcasts will be shown as a series of voice messages which will sequence play as normal
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Remove dead code
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>
* display a warning when an unverified user's identity changes
* use Compound and make comments into doc comments
* refactor to use functional component
* split into multiple hooks
* apply minor changes from review
* use Crypto API to determine if room is encrypted
* apply changes from review
* change initialisation status to a tri-state rather than a boolean
* fix more race conditions, and apply changes from review
* apply changes from review and switch to using counter for detecting races
* Remove outdated comment
Co-authored-by: Richard van der Hoff <1389908+richvdh@users.noreply.github.com>
* fix test
---------
Co-authored-by: Richard van der Hoff <1389908+richvdh@users.noreply.github.com>
* Extract EventPreview from PinnedMessageBanner
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Show message type prefix in thread root previews
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Show message type prefix in thread reply preview
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Update tests
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>
* 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>
* Ditch legacy Tooltips in favour of Compound
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Remove dead code
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Extract markdown CodeBlock into React component
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Upgrade compound
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>
* Add pinned message badge for Modern Layout
* Add Bubble layout support
* Add thread support
* Add irc support
* Rename event tile badges
* Don't render footer when there is no reactions
* Add a test for `PinnedMessageBadge.tsx`
* Add a test in EventTile-test.tsx
* Add e2e test
* Add extra buttons to room summary card
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Remove right panel tabs in favour of X button on each panel
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Update room summary card header to align close button correctly
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Fix typo in pinned messages heading
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Update snapshots
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Update tests
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>
* Update screenshot
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Improve coverage
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* i18n
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Fix base card title colours
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>
* Move pinned message hooks to a dedicated file
* Add a banner at the top of a room to display the pinned messages
* Put the pinning banner behind labs pinning labs flag
* Add redacted event support
* Handle UTD in pinning message banner
* Add tests for redaction
* Make all the banner clickable
* Add tests for PinnedMessageBanner.tsx
* Add e2e tests for the pinned message banner
* Review changes
* Fix pinning event loading after restart
* Update deps
* Replace pinned event list
* Add a dialog to confirm to unpin all messages
* Use `EmptyState` when there is no pinned messages
* Rework `PinnedEventTile` tests
* Add comments and refactor `PinnedMessageCard`
* Rework `PinnedMessageCard` tests
* Add tests for `UnpinAllDialog`
* Add e2e tests for pinned messages
* Replace 3px custom gap by 4px gap
* Use string interpolation for `Pin` action.
* Update playright sceenshot for empty state
* Refactor the various email/phone management UI into a single component
These were basically the same component copied & pasted 3 times and
tweaked to match the behaviour of each case. This de-dupes them into
one component.
This all could really benefit from playwright tests, but would require
setting up a dummy ID server in the playwright tests. This is all legacy
pre-MAS stuff so its questionable whether its worth the effort.
* Basic test, remove old tests
* Use different text to confirm remove & put headers back
although the two texts are both 'Remove' in practice
* Remove string
This was never triggered anyway with sydent & synapse because they
don't seem to agree on what error to return. In any case, I think it
makes more sense for it to be consistent with the email path, ie. using
a dialog.
* Avoid nested forms
* Snapshots
* More snapshots
* Test the hs side
* Snapshots
* Test IS bind/revoke
* Test remove can be cancelled
* Test unvalidated cases & fix phone error
* Reset state between tests
* Import useState directly
* One more direct React import
* Add missing presence indicator to new room header
DecoratedRoomAvatar doesn't match Figma styles so created a composable avatar wrapper
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Add oobData to new room header avatar
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>
* Simplify
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Add tests
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Improve coverage
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
---------
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
This was w grab bag of styles for the email/phone components and
one for something now in preferences. Move them elsewhere so I can
rename the tab sensibly.
* Extract useIsVideoRoom hook
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Move useWidgets hook to WidgetUtils
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Extract Extensions into their own right panel tab
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Remove unused components & classes
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Tests
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Update screenshots
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
---------
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Add reusable empty state for the right panel
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Update tests
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Improve coverage
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
---------
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Remove SpaceScopeHeader
It is no longer necessary as we no longer offer the ability to open the member list for a space from any random room.
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Remove stale test
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Update tests
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
---------
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Create new method for header button behaviour
With the introduction of tabs, the behaviour of the header buttons is
changed as follows:
- Close any right panel if open
- Open the correct right panel if no panel was open before
The old method (and behaviour) is retained as showOrHidePhase.
* Implement tabs in the right panel
There are three tabs: Info, People and Threads
* Remove unwanted code from RoomSummaryCard
- Remove the menu item for opening the memberlist since that is now
taken of by the tabs.
- Remove the close button
* Remove code for focusing close button from tac item
See https://github.com/matrix-org/matrix-react-sdk/pull/12410
There's no longer a close button to focus so we instead focus the thread
tab. This is done in RightPaneltabs.tsx so we just need to remove this
code.
* Introduce a room info icon to the header
This was previously present in the legacy room header but not in the new
header.
* BaseCard changes
- Adds id, ariaLabelledBy and role props to implement tab accessibility.
- Adds hideHeaderButtons prop to hide header buttons (think back and
close buttons).
- Change confusing header rendering code:
header is not rendered ONLY when no header is passed AND
hideHeaderButtons is true.
* Refactor repeated code into function
Created a new function createSpaceScopeHeader which returns the
component if the room is a space room. Previously this code was
duplicated in every component that uses SpaceScopeHeader component.
* Pass BaseCard attributes and use helper function
Actually using the code from the last two commits
* Add, update and remove tests/screenshots/snapshots
* Fix distance between search bar and tabs
* Update compound
* Update screenshots/snapshots
* Extract SearchInfo interface and SearchScope enum
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Fix in-progress and update behaviour of RoomSearchView
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Remove search button from legacy header
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Move search from aux panel to room summary card
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Wire up Cmd/Ctrl F for moved search field
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Use cpd space tokens
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Remove stale props
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Fix ctrl/cmd f search shortcut
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Tests
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Tests
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Update Compound
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Revert the back button for now
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* 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>
* Iterate
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Iterate
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Cancel search on escape
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Fix missing X
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Improve coverage
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Extract SearchScope and SearchInfo into Searching
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* delint
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* delint
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Fix test
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Switch to icon button for cancel search
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Iterate
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* yarn.lock
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Iterate
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* lint
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>
* Update screenshots
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* i18n
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Update screenshots
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Update screenshots
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Update locators
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Revert screenshots
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Update screenshots
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Update snapshots
* Discard changes to package.json
* i18n
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Snapshots
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Handle narrow viewports
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Iterate
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Improve coverage
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Improve coverage
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Iterate
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Revert copy
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
---------
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* New user profile UI in User Settings
Using new Edit In Place component.
* Show avatar upload error
* Fix avatar upload error
* Wire up errors & feedback for display name setting
* Implement avatar upload / remove progress toast
* Add 768px breakpoint
* Fix room profile display
* Update to released compund-web with required components / fixes
* Require compound-web 4.4.0
because we do need it
* Update snapshots
Because of course all the auto-generated IDs of unrelated things
have changed.
* Fix duplicate import
* Fix CSS comment
* Update snapshot
* Run all the tests so the ids stay the same
* Start of a test for ProfileSettings
* More tests
* Test that a toast appears
* Test ToastRack
* Update snapshots
* Add the usernamee control
* Fix playwright tests
* New compound version for editinplace fixes
* Fix useId to not just generate a constant ID
* Use the label in the username component
* Fix widths of test boxes
* Update screenshots
* Put ^ back on compound-web version
* Split CSS for room & user profile settings
and name the components correspondingly
* Fix playwright test
* Update room settings screenshot
* Use original screenshot instead
* Fix styling of unrelated buttons
Needed to be added in other places otherwise the specificity changes.
Also put the old screenshots back.
* Add copyright year
* Fix copyright year