* Rework `UrlPreviewSettings` to use `MatrixClient.CryptoApi.isEncryptionEnabledInRoom`
* Handle loading state
* Update `@vector-im/compound-web` to have `InlineSpinner`
* Use `InlineSpinner` instead of a loading text.
* Add `asyncFilter`
* Replace `MatrixClient.isRoomEncrypted` by `MatrixClient.CryptoApi.isEncryptionEnabledInRoom` in `MemberListStore.tsx`
* Replace `MatrixClient.isRoomEncrypted` by `MatrixClient.CryptoApi.isEncryptionEnabledInRoom` in `EventIndex.tsx`
* Replace `MatrixClient.isRoomEncrypted` by `MatrixClient.CryptoApi.isEncryptionEnabledInRoom` in `SendMessageComposer.tsx`
* Replace `MatrixClient.isRoomEncrypted` by `MatrixClient.CryptoApi.isEncryptionEnabledInRoom` in `ScalarMessaging.ts`
* Replace `MatrixClient.isRoomEncrypted` by `MatrixClient.CryptoApi.isEncryptionEnabledInRoom` in `RolesRoomSettingsTab.tsx`
* Add reject doc to `asyncFilter`
* Reverse `MemberListStore.loadMembers` condition
* Remove async for `ScalarMessaging.ts`
* Display permission section only after `isEncrypted` is computed
* Display composer only after `isEncrypted` is computed
* Revert "Display composer only after `isEncrypted` is computed"
This reverts commit 4d4e037391.
* Revert "Replace `MatrixClient.isRoomEncrypted` by `MatrixClient.CryptoApi.isEncryptionEnabledInRoom` in `SendMessageComposer.tsx`"
This reverts commit 6bf06da02c.
* Remove stale _LegacyRoomHeader.pcss and icons
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* De-duplicate icons using Compound Design Tokens
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>
* Update screenshots & snapshots
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>
* Update screenshots
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>
setSigningOutDeviceIds was adding the same device ID twice, and also possibly using an old reference to the value when updating it
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Move state update listeners from constructor to componentDidMount
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>
* Remove boilerplate around dispatcher and settings watchers
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>
* Use Compound close icon in favour of mishmash of x/close icons
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Update snapshots
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Remove stale CSS
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Iterate
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Update snapshot
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
---------
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* [create-pull-request] automated change (#12966)
Co-authored-by: github-merge-queue <github-merge-queue@users.noreply.github.com>
* Add timezone to right panel profile.
* Add setting to publish timezone
* Add string for timezone publish
* Automatically update timezone when setting changes.
* Refactor to using a hook
And automatically refresh the timezone every minute.
* Check for feature support for extended profiles.
* lint
* Add timezone
* Remove unintentional changes
* Use browser default timezone.
* lint
* tweaks
* Set timezone publish at the device level to prevent all devices writing to the timezone field.
* Update hook to use external client.
* Add test for user timezone.
* Update snapshot for preferences tab.
* Hide timezone info if not provided.
* Stablize test
* Fix date test types.
* prettier
* Add timezone tests
* Add test for invalid timezone.
* Update screenshot
* Remove check for profile.
---------
Co-authored-by: ElementRobot <releases@riot.im>
Co-authored-by: github-merge-queue <github-merge-queue@users.noreply.github.com>
* Rename general user settings to account
Everything 'general' is now elsewhere, so this is ready for its
new name.
* Update snapshots
* Rename & update playwright test
* Rename class & remove unused CSS class
* Change test ID
* rethemendex
* More tests!!
* snapshots
* Put the screenshots back in the new place
* Fix tests with restoreAllMocks
* More screenshot renaming
* More test fixes & screenshot updates
* More test fixes
* un-skip
* Typo
Co-authored-by: Robin <robin@robin.town>
---------
Co-authored-by: Robin <robin@robin.town>
* Fix stray 'account' heading
There's nothing in the 'account' section other than the password
change control now, so remove the whole section if you can't change
your password.
Fixes https://github.com/element-hq/element-web/issues/27756
* Unused import
* remove "Manually verify all remote sessions" setting
And remove all of the advanced encryption settings section, since that was the
only setting in there.
* yarn i18n
* also remove now-unused OrderedMultiController and PushToMatrixClientController
* Move integrations switch
This is the last thing to move out of 'general' now.
* unused import
* Move tests out to the SetIntegrationManager component
* Only a decade out
* Move playwright test to the new tab
* Update snapshot
* Update other snapshot
* Move language settings to 'preferences'
Their new home is in this tab
* Update snapshot
* Move playwright test code
* Add test
* tests
* Update screenshot
* Disable profile controls if the HS doesn't allow them to be set
Also updates to the js-sdk interface changes in https://github.com/matrix-org/matrix-js-sdk/pull/4246
* Remove unnecessary await
* Pass disabled prop to accessiblebutton in avatarsetting
* Move the account management button
The section it lives in with the server name goes, and the button
just lives on its own in the profile section.
* Update test
* Revert bits of previous PR that are no longer wanted
because we squash merge so git can no longer make sense of what changes
have been applied.
* More squash-merge fails
* More more squash merge fails
* Disable profile controls if the HS doesn't allow them to be set
Also updates to the js-sdk interface changes in https://github.com/matrix-org/matrix-js-sdk/pull/4246
* Remove unnecessary await
* Pass disabled prop to accessiblebutton in avatarsetting
* Use getCapabilities
in case there are no cached capabilities
* Fix test
* Go back to just using getCapabilities
Rather than change the other places
* WIP update of threepid settings section
* Remove email / phone number section from original place
and don't show the new one if 3pids are disabled
* Update snapshots
* Pull identity server / 3pid binding settings out to separate component
and put it in the security & privacy section which is its new home
* Update snapshot
* Move relevant part of test & update screenshots / snapshots
* Remove unnecessary dependency
* Add test for discovery settings
* Add spacing in terms agreement
* 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
* Convert tabbedview to functional component
The 'Tab' is still a class, so now it's a functional component that
has a supporting class, which is maybe a bit... jarring, but I think
is actually perfectly logical.
* put comment back
* Fix bad tab ID behaviour
* Make TabbedView a controlled component
This does mean the logic of keeping what tab is active is now in each
container component, but for a functional component, this is a single
line. It makes TabbedView simpler and the container components always
know exactly what tab is being displayed rather than having to effectively
keep the state separately themselves if they wanted it.
Based on https://github.com/matrix-org/matrix-react-sdk/pull/12478
* Move the active tab in user settings to the dialog title
Separated by a colon, as per the new design.
* Update snapshots
* Update a playwright test
* Fix more tests / snapshots
* Attempt to test all the cases of titleForTabID
* More tests
* Move LoginWithQRSection to the top of the settings tab
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Refactor LoginWithQRSection to a Functional Component
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Extract LoginWithQR types
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Update LoginWithQRFlow styling & copy
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Re-add missing buttons and update snapshots
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Use compound spacings
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
---------
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* 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>
* 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>
* Add PowerLevelSelector.tsx.
It's extracting the current behavior of the privileged users and muted of `RolesRoomSettingsTab.tsx` into a dedicated component.
It's also adding a new apply button.
* Use `PowerLevelSelector` to render privileged and muted users in `RolesRoomSettingsTab`
* Update existing tests
* Add playwright test
* Fix typo
* Fix typo