* 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
* 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
* Fix some types & unused prop
* Remove weird behaviour of using first tab is active isn't valid
* Don't pass initialTabID here now it no longer has the prop
* Fix test
* bleh... id, not icon
* Change to sub-components
and use contitional call syntax
* Comments
* Fix element IDs
* Fix merge
* Test DesktopCapturerSourcePicker
to make sonarcloud the right colour
* Use custom hook for the fllback tab behaviour
...and remove the code that causes them to be retried in CI. Most of
these were just lack of waiting for async things to happen, mostly
lazy loading components, hence whythey worked on the retry: because
the code had been loaded by then.
* 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>
* Use different messages for UTDs sent before login
* Playwright test for historical events
* Add some tests
* initial work on pre-join UTDs
* add playwright tests and remove old pre-join UTD logic
* run i18n script
* fix type error
* use different error code in PostHog for pre-join UTD
* don't remove old pre-join UTD logic yet
---------
Co-authored-by: Richard van der Hoff <richard@matrix.org>
* 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
* Use different messages for UTDs sent before login
* Playwright test for historical events
* Add some tests
* Don't show "verify" message if backup is working
* Apply suggestions from code review
* Deprecate AccessibleTooltipButton
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Fix tests
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Fix tests
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Deprecate AccessibleTooltipButton
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Fix tests
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Iterate
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Fix `UserInfo-test.tsx`
* Update `LoginWithQRFlow-test.tsx` snapshot
* Remove tooltip provider from test
* Fix `AccessibleButton`
* Update snapshots
* Revert to original import
* Use title to populate aria-label
* Rollback AccessibleButton or Tooltip changes. Will come in another PR
* Rollback en.json change
* Update snapshots
* Fix `UserInfo`
* Update snapshots
* Use label instead of title in test
* Use label instead of title in TAC test
* Use label instead of title in read-receipt test
* Remove tooltip for ContextMenu
* Add extra information for caption field
---------
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
Co-authored-by: Michael Telatynski <7t3chguy@gmail.com>
* Move the TAC to above the button
This isn't what the designs say, but there is a (bug/feature)* in
radix where it will turn a mouseup event within the menu into a
click so that it activates the menu option that's under your cursor
when you lift the button, even if you pressed the button down on
a different item. Unfortunately it forgot to check that the mouse
down happened in the menu, so if the menu appears under the cursor,
the cursor, it will immediately select whatever option appeared under
the cursor.
I think the simplest solution here is to just move the menu above the
TAC button. This also makes it consistent† with quick settings.
*delete as applicable
†Not actually consistent because it fades in a different way
* Update snapshots
* Make empty state copy for TAC depend on the value of the setting
* Update test snapshot
* Fix snapshot
Run the whole file or the radix IDs will br wrong 🤦
* Simplify to a ternary
* 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 activity toggle for TAC
* Update test snapshots for new toggles
* Add test for TAC activity setting set to false
* Update snapshot for old notifications panel test too
* Fix test
* Rename setting
* Rename variables too
* Sort i18n keys
* Use functional component
* Ask the user to change the room access settings if they click the create link button.
Signed-off-by: Timo K <toger5@hotmail.de>
* disable call button if appropriate.
Signed-off-by: Timo K <toger5@hotmail.de>
* Add tests
Refactor tests to be in CallGuestLinkButton-test instead of the RoomHeader
Signed-off-by: Timo K <toger5@hotmail.de>
* add test for: no button if cannot change join rule and room not public nor knock
Signed-off-by: Timo K <toger5@hotmail.de>
* fix tests
Signed-off-by: Timo K <toger5@hotmail.de>
* add JoinRuleDialog tests
Signed-off-by: Timo K <toger5@hotmail.de>
* move spy into before each
Signed-off-by: Timo K <toger5@hotmail.de>
* Update src/i18n/strings/en_EN.json
Co-authored-by: Robin <robin@robin.town>
* remove inline css and update modal style
Signed-off-by: Timo K <toger5@hotmail.de>
* Update src/i18n/strings/en_EN.json
Co-authored-by: Robin <robin@robin.town>
* Update src/i18n/strings/en_EN.json
Co-authored-by: Robin <robin@robin.town>
* Invite state was not reactive.
Changing power level did not update the ui.
Signed-off-by: Timo K <toger5@hotmail.de>
* linter
Signed-off-by: Timo K <toger5@hotmail.de>
* make useGuestAccessInformation use useRoomState
Signed-off-by: Timo K <toger5@hotmail.de>
* fix tests and simplify logic
* fix tests
* review
Signed-off-by: Timo K <toger5@hotmail.de>
---------
Signed-off-by: Timo K <toger5@hotmail.de>
Co-authored-by: Robin <robin@robin.town>
* WIP
* Store the release announcements in the account settings
* Update TAC release announcement description
* Fix settings content comparison
* Add logging in case of failure
* Watch settings changes
* I add release announcement settings to disable it
* Disable release announcement in e2e test
* Add release announcement in e2e test
* Add tests for ReleaseAnnouncementStore.ts
* Update compound-web to `3.3.0`
* Update TAC tests
* Update Labs tests
* Nits
* Add test for ReleaseAnnouncement.tsx
* Update `@vector-im/compound-web`
* Add playwright snapshot
* Delete false playwright screenshot
* Wait for EW to be displayed after reload
* Add screenshot
* Clean util file
* Renaming and comments fixing
* Use second store instead of looking in the store.
---------
Co-authored-by: R Midhun Suresh <hi@midhun.dev>
* 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>
* Rearrange user settings tab order to move Sessions up to 2nd
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Iterate copy & iconography on Settings > Sessions > Link new device
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Iterate design of Scan QR code screen
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Tweak styles
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Update tests and snapshots
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Update tests and snapshots
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>
* 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
* Fix references to `crypto-api/verification`
This is supposed to be an internal module; use the front door instead.
* `IRecoveryKey` -> `GeneratedSecretStorageKey`
`IRecoveryKey` is just a backwards-compatibility alias for
`GeneratedSecretStorageKey`
* `ISecretStorageKeyInfo` -> `SecretStorage.SecretStorageKeyDescription`
Again, same thing
* `IPassphraseInfo` -> `SecretStorage.PassphraseInfo`
* Remove unused import restriction exceptions
* Improve readability of badges and pills
Badges will now always use light theme colors so that they become white-on-gray in both themes, and the contrast of pills has been increased so that they use primary action colors as the background.
* Fix tests
* 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