* 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
* Device dehydrateion: remove .well-known check
Per https://github.com/element-hq/element-web/issues/29387, this is redundant
* Update src/utils/device/dehydration.ts
Co-authored-by: Michael Telatynski <7t3chguy@gmail.com>
---------
Co-authored-by: Michael Telatynski <7t3chguy@gmail.com>
* feat(new room list): add space menu in view model
* test(new room list): add space menu in view model
* feat(new room list): add space menu in room list header
* chore: update i18n
* test(new room list): add tests for space menu
* test(new room list): update room list tests
* test(e2e): add tests for space menu
* DeviceListener: improve logging
use a LogSpan to tie together logs from the same run, and add some more logs
for various cases
* Regression playwright test
* Remove unused mocking of `getCrossSigningId`
DeviceListener no longer reads this thing
* Clean up unit tests
Remove redundant describe block
* Remove the "out of sync" toast when we are no longer out of sync
Receiving the crypto secrets via secret sharing should make the toast go away.
* feat(new room list): add compose menu in header for spaces
* test(new room list): add tests for space
* test(e2e new room list): update space test
* chore: formatting and reuse type var
* 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
* Add Windows 64-bit arm link and remove 32-bit link on compatibility page
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>
* playwright/dehydration: update check
The old "Security & Privacy" tab is going away, so we need a new way to check
for dehydrated device existence.
* Dehydration: enable dehydrated device on "Set up recovery"
Clicking "Set up recovery" should set up a dehydrated device, if that feature
is enabled.
Fixes#29135
* Empty commit
... to wake up the CLA bot
* Stop URl preview from covering message box
Fixes#23874 by adding a bit of padding.
1em should be sufficient to prevent the browser's URl preview from covering the entry box.
* test: update timeline screenshots
* test: update test, fewer messages are displayed
---------
Co-authored-by: Florian Duros <florian.duros@ormaz.fr>
Co-authored-by: Florian D <florianduros@element.io>
* feat(crypto): rename "security key" into "recovery key" in lang file
* test(crypto): rename "security key" into "recovery key" in test files
* test(e2e crypto): rename "security key" into "recovery key" in test files
* doc(crypto): rename "security key" into "recovery key"
* Wire up the "Forgot recovery key" button for the "Key storage out of sync" toast
* Unused import & fix test
* Test 'forgot' variant
* Fix dependencies
* Add more toast tests
* Unused import
* Test initialState in Encryption Tab
* Let's see if github has any more luck running this test than me
* Working playwright test with screenshot
* year
* Convert playwright test to use the bot client
* Disambiguate
Co-authored-by: Florian Duros <florianduros@element.io>
* Add doc & do other part of rename
* Split out into custom hook
* Fix tests
---------
Co-authored-by: Florian Duros <florianduros@element.io>
* Apply lint rule @typescript-eslint/no-empty-object-type
To avoid the footgun that is https://www.totaltypescript.com/the-empty-object-type-in-typescript
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(encryption tab): hide the advanced section when the secrets are not cached locally
The secret verification is now made at the level of `EncryptionUserSettingsTab` instead at the `RecoveryPanel` level. In the `EncryptionUserSettingsTab`, we decide to only display `RecoveryPanelOutOfSync` in case of uncached secrets.
`RecoveryPanelOutOfSync` is simplified version of `RecoveryPanel` handling only the `secrets_not_cached` case.
* refactor(encryption tab): simplify the `RecoveryPanel` without having to handle the missing secrets
* test(encryption tab): move test about cached secrets in `EncryptionUserSettingsTab-test.tsx`
* test(encryption tab): move e2e test which are testing all the encryption tab in `encryption-tab.spec.ts
* refactor(encryption tab): move `RecoveryPanelOutOfSync` in its own file
- fix typos
- call onFinish after accessSecretStorage
- onFinish doesn't need to be asynchronous
* doc(encryption tab): improve documentation when the secrets are not cached locally
* test(encryption tab): improve test documentation and naming
* doc(encryption tab): improve `RecoveryPanelOutOfSync` documentation
* Construct history on setCard
So that back buttons are always shown in the right panel
* Check card state to ensure operation is atomic
* Fix tests
* Fix lint
* Remove null case
* Fix broken test