* Move a bunch of shared playwright code into @element-hq/element-web-playwright-common
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Remove stale devDep
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Iterate
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Update playwright-common
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Iterate
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Update screenshot
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Fix testcontainers version
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
---------
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* 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
* fix(room list header): in view model, can create room in space if user has the right. Display the compose menu if the user can create room or video room
* fix(room list header): can create directly chat if compose menu is disabled
* test(room list header): add tests for view model
* test(room list header): update tests of view
* test(room list header): update list test
* Add a hook that deals with the sorting behaviour
Hook will provide a function to sort the list and also provides a state
which tracks the currently active sort option.
* Use hook in vm
* Write test for the vm
* Fix broken view tests
* Add `type` property to Sorter
So that we can uniquely identify any given sorting algorithm.
* Add a getter for the active sort algorithm
* Define a setting to store the sorting algorithm
* Add a method to resort the list of rooms
- Just one method where you specify the sorting algorithm by type.
- Persist the new sorting algorithm using SettingsStore.
* On startup, use preferred sorter
* Add tests
* 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 917d53a56f
---------
Co-authored-by: Richard van der Hoff <1389908+richvdh@users.noreply.github.com>
The current keyboard shortcuts for GoToHome and ToggleHiddenEventVisibility are:
| | other | macOS |
|----------------------------- |-------------- |-------------- |
| GoToHome | Ctrl–Alt–H | Ctrl–Shift–H |
| ToggleHiddenEventVisibility | Ctrl–Shift–H | Cmd–Shift–H |
This removes both distinctions for macOS in order ToggleHiddenEventVisibility not to conflict with...
1. the built-in Safari keyboard shortcut for opening the Home page (Cmd–Shift–H)
2. the KeyBindingAction for GoToHome.
Co-authored-by: Florian Duros <florianduros@element.io>
* Correct test for docker container being healthy
* Correct docker healthcheck for busybox wget
* Repeatedly check the health state of the docker container
* Use until loop & rely on timeout-minutes
* Fix check to look at healthy state
---------
Co-authored-by: Michael Telatynski <7t3chguy@gmail.com>
* Track available filters and expose this info from the vm
- Adds a separate hook that tracks the filtered rooms and the available
filters.
- When secondary filters are added, some of the primary filters will be
selectively hidden. So track this info in the vm.
* Write tests
* Fix typescript error
* Fix translation
* Explain what a primary filter is
* Attach the new store to window
* Fetch rooms after space store is ready
If we fetch a list of rooms and then wait for the space store to be
ready, we will need some way of handling the onAction calls we get
while we wait. These calls are dropped now.
* Update quick settings menu to use a11y roles.
* Add e2e test to test quick menu rendering
* Use a testid for now.
* lint lint
* Revert aria changes
* revert managed
* write screenshot
* Implement the favourite filter
* Make the room node capable of dealing with filters
- Holds data to indicate which filters apply
- Provides method to check if a given set of filters apply to this node
- Provides a method to recalculate which filters apply
* Wire up the filtering mechanism in skip list
* Use filters in the store
* Remove else
* Use a set instead of map
* Add space to the bottom of the room summary actions below leave room
* 8x not 6x
* Spacing needs to be within the scoll content, add it to the bottom of the leave action
* Update RoomSummaryCard-test.tsx.snap
* Fix snapshot and add screenshot test
* Refactor submit rageshake so that it uses the new error codes.
* Improve error information given in Bug Report Dialog
* use type
* Refactor with generic error & policy link.
* lint
* lint
* Add BugReportDialog test
* fix time travel
* use waitFor while waiting for fetch to finish
* lint
* Drop error prefix as per 3973bb38ef
* small fixes
* Don't change string here.
* Fixup i18n strings.
* Avoid destroying calls until they are hidden from the UI
We often want calls to exist even when no more participants are left in the MatrixRTC session. So, we should avoid destroying calls as long as they're being presented in the UI; this means that the user has an intent to either join the call or continue looking at an error screen, and we shouldn't interrupt that interaction.
The RoomViewStore is now what takes care of creating and destroying calls, rather than the CallView. In general it seems kinda impossible to safely create and destroy model objects from React lifecycle hooks, so moving this responsibility to a store seemed appropriate and resolves existing issues with calls in React strict mode.
* Wait for a close action before closing a call
This creates a distinction between the user hanging up and the widget being ready to close, which is useful for allowing Element Call to show error screens when disconnected from the call, for example.
* Don't expect a 'close' action in video rooms
These use the returnToLobby option and are expected to remain visible when the user leaves the call.