* Replace `MatrixClient.isRoomEncrypted` by `MatrixClient.CryptoApi.isEncryptionEnabledInRoom` in RoomView
* Add `isRoomEncrypted` to room
* Update e2eStatus and urlPreview when isRoomEncrypted is computed
* Fix e2e test
* Add tests when user verification change
* Reduced abusive timeout in e2e test
* Use `CryptoApi.getKeyBackupInfo` instead of deprecated `MatrixClient.getKeyBackupVersion`
* Review changes
---------
Co-authored-by: Michael Telatynski <7t3chguy@gmail.com>
* Use new `CrytoApi.restoreKeyBackup` & `CrytoApi.restoreKeyBackupFromPassprhase` api
* Use new `CrytoApi.restoreKeyBackup` api in `SetupEncryptionStore`
* Add tests to `RestoreKeyBackupDialog`
* Remove "Upgrade your encryption" flow
* Rename and remove tests
* Remove `BackupTrustInfo`
* Get keybackup when bootstraping the secret storage.
* Update src/async-components/views/dialogs/security/CreateSecretStorageDialog.tsx
Co-authored-by: Richard van der Hoff <1389908+richvdh@users.noreply.github.com>
---------
Co-authored-by: Richard van der Hoff <1389908+richvdh@users.noreply.github.com>
* Refactor CreateCrossSigningDialog
* Converts CreateCrossSigningDialog to a functional component
* Pulls logic out to its own class
* Updates usage of deprecated cross signing bootstrap method on client to be on the crypto object and updates test to match
Moved from https://github.com/element-hq/matrix-react-sdk/pull/131
* Add mock here too
* Use the right mock
* Remove duplicate mock
* Stray jest mock line
* Un-move mocks
* tsdoc
* Typo
Co-authored-by: Andy Balaam <andy.balaam@matrix.org>
---------
Co-authored-by: Andy Balaam <andy.balaam@matrix.org>
* Migrating deprecated sync `MatrixClient.getKeyBackupEnabled` to async `MatrixClient.CryptoApi.getActiveSessionBackupVersion` in `NewRecoveryMethodDialog`.
Rewrite `NewRecoveryMethodDialog` into a functional component to make it easier to handle the new async method.
* Migrating deprecated sync `MatrixClient.getKeyBackupEnabled` to async `MatrixClient.CryptoApi.getActiveSessionBackupVersion` in `MatrixChat`.
This seems to be causing a lot of weirdness, presumably because there's
another missing thing like in #135, but I don't know what it might be and
it feels like it might take a while to find. Backing these changes out
to fix develop while we sort it out.
Fixes https://github.com/element-hq/element-web/issues/28179
* Fix bell icons on room list hover being black squares
The EchoStore wasn't being set up and therefore missed the client being
injected.
Patch from @t3chguy.
* Fix tests
...by mocking out createClient so it doesn't try to start a real client.
* More mocks
* Don't need this anymore either
Add a labs option which will, when set, switch into the "invisible crypto"
mode of refusing to send keys to, or decrypt messages from, devices that have
not been signed by their owner.
* CryptographyPanel: fix display of device key
* CryptographPanel: Fix HTML nesting
you're not supposed to put <tr> directly inside <table>; doing so causes
warnings.
* Update tests
* Add config option to force verification
If this is set, users will not have the option to skip verification
on login (they will still be able to reload and continue unverified,
currently). Default off.
* Test for complete security dialog
* I hadn't set up prettier
* 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
The Widget API spec for delayed events is defined by MSC4157.
Also support "parent" delayed events, which were in a previous version
of MSC4140 and may be reintroduced or be part of a new MSC later.
* Handle media download errors better
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Add test
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Show error if media download failed
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* More tests
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>
* 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
* Remove legacy `threepidCreds` field
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Remove `user` field legacy UIA fallback
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Update imports
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Fix test
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
---------
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Take the TAC out of labs!
Requires https://github.com/matrix-org/matrix-react-sdk/pull/12438
and ideally https://github.com/matrix-org/matrix-react-sdk/pull/12418
* i18n
* Add test method
That's needed now we we don't include threads in the notif count in the tests
* One less labs setting
* Update snapshot
* Disable release announcement
* Unused import
* Fix some screenshots
* Fix all the unread test cases now room unreads don't include threads
* Fix more tests
* Even more test fixes
* Still more test fixes
* Oh goodness, it's more test fixes
* Fix selectors now there are 2 buttons called Threads
* Disable some tests that aren't passing
for reasons that don't appear releated to any of the TAC work, as
per the comment.
* Remove debugging
* Oops, removed too much
* rehydrate/dehydrate device if configured in well-known
* add handling for dehydrated devices
* some fixes
* schedule dehydration
* improve display of own dehydrated device
* created dehydrated device when creating or resetting SSSS
* some UI tweaks
* reorder strings
* lint
* remove statement for testing
* add playwright test
* lint and fix broken test
* update to new dehydration API
* some fixes from review
* try to fix test error
* remove unneeded debug line
* apply changes from review
* add Jest tests
* fix typo
Co-authored-by: Richard van der Hoff <1389908+richvdh@users.noreply.github.com>
* don't need Object.assign
Co-authored-by: Richard van der Hoff <1389908+richvdh@users.noreply.github.com>
---------
Co-authored-by: Richard van der Hoff <1389908+richvdh@users.noreply.github.com>
* Mark all threads as read button
* Wrap in TooltipProvider and update snapshots
* Remove TooltipProvider wrapper: just add it to the test
* Add some more tests
* Add test for no-room-context handler because sonarcloud
* Add playwright test
* Make assertNoTacIndicator wait
* Use dedicated useMatrixClientContext function
Co-authored-by: Florian Duros <florianduros@element.io>
* Use dedicated useRoomContext function
Co-authored-by: Florian Duros <florianduros@element.io>
* Compound spacing variables
Co-authored-by: Florian Duros <florianduros@element.io>
* Compound spacing variables
Co-authored-by: Florian Duros <florianduros@element.io>
* Imports
* Use createTestClient()
* Add function to utils
* Use mkRoom
---------
Co-authored-by: Florian Duros <florianduros@element.io>
* use unencrypted calls in unencrypted rooms (make external call links compatible with unencrypted embedded calls)
Signed-off-by: Timo K <toger5@hotmail.de>
* use same logic in Call.ts
Signed-off-by: Timo K <toger5@hotmail.de>
* fix tests
Signed-off-by: Timo K <toger5@hotmail.de>
* fix test
Signed-off-by: Timo K <toger5@hotmail.de>
---------
Signed-off-by: Timo K <toger5@hotmail.de>
* add video room meta space button
Signed-off-by: Timo K <toger5@hotmail.de>
* Add videoRoomsSpace to meta space configuration
Signed-off-by: Timo K <toger5@hotmail.de>
* temp
Signed-off-by: Timo K <toger5@hotmail.de>
* dont show ppl section in video room space
Signed-off-by: Timo K <toger5@hotmail.de>
* add i18n strings
Signed-off-by: Timo K <toger5@hotmail.de>
* revert waitForIframe=false (this is part of another PR)
Signed-off-by: Timo K <toger5@hotmail.de>
* fix missing mock room method
Signed-off-by: Timo K <toger5@hotmail.de>
* test snapshot: add video room meta space
Signed-off-by: Timo K <toger5@hotmail.de>
* rename Conferences -> Conference
Signed-off-by: Timo K <toger5@hotmail.de>
* space panel snap test
Signed-off-by: Timo K <toger5@hotmail.de>
* update snapshot
Signed-off-by: Timo K <toger5@hotmail.de>
* fix test
Signed-off-by: Timo K <toger5@hotmail.de>
* add video room space tests
Signed-off-by: Timo K <toger5@hotmail.de>
* better logic
Signed-off-by: Timo K <toger5@hotmail.de>
* Add Video MetaSpace Test
Signed-off-by: Timo K <toger5@hotmail.de>
* make room join rule update reactive for the video room meta space
Signed-off-by: Timo K <toger5@hotmail.de>
* temp
Signed-off-by: Timo K <toger5@hotmail.de>
* fix description for meta space video room settings
Signed-off-by: Timo K <toger5@hotmail.de>
* tests
Signed-off-by: Timo K <toger5@hotmail.de>
* update snapshot
Signed-off-by: Timo K <toger5@hotmail.de>
* review
Signed-off-by: Timo K <toger5@hotmail.de>
* i18n
Signed-off-by: Timo K <toger5@hotmail.de>
* fix tests
Signed-off-by: Timo K <toger5@hotmail.de>
* put video meta space behind "feature_video_rooms" labs flag
Signed-off-by: Timo K <toger5@hotmail.de>
* review
Signed-off-by: Timo K <toger5@hotmail.de>
* update space store on RoomCreate state event
Signed-off-by: Timo K <toger5@hotmail.de>
* test for updating video room space on room type update
Signed-off-by: Timo K <toger5@hotmail.de>
* remove comment
Signed-off-by: Timo K <toger5@hotmail.de>
* also make knock join rule rooms part of the conference section
Signed-off-by: Timo K <toger5@hotmail.de>
---------
Signed-off-by: Timo K <toger5@hotmail.de>
* Use test helpers from js-sdk for encrypted events
Rather than gut-wrenching into the matrix-js-sdk, let's use the newly-exported
test helpers to generate encrypted events.
* Fix up