* test persistCredentials without a pickle key
* test setLoggedIn with pickle key
* lint
* type error
* extract token persisting code into function, persist refresh token
* store has_refresh_token too
* pass refreshToken from oidcAuthGrant into credentials
* rest restore session with pickle key
* retreive stored refresh token and add to credentials
* extract token decryption into function
* remove TODO
* very messy poc
* utils to persist clientId and issuer after oidc authentication
* add dep oidc-client-ts
* persist issuer and clientId after successful oidc auth
* add OidcClientStore
* comments and tidy
* expose getters for stored refresh and access tokens in Lifecycle
* revoke tokens with oidc provider
* test logout action in MatrixChat
* comments
* prettier
* test OidcClientStore.revokeTokens
* put pickle key destruction back
* comment pedantry
* working refresh without persistence
* extract token persistence functions to utils
* add sugar
* implement TokenRefresher class with persistence
* tidying
* persist idTokenClaims
* persist idTokenClaims
* tests
* remove unused cde
* create token refresher during doSetLoggedIn
* tidying
* also tidying
* OidcClientStore.initClient use stored issuer when client well known unavailable
* test Lifecycle.logout
* update Lifecycle test replaceUsingCreds calls
* fix test
* add sdkContext to UserSettingsDialog
* use sdkContext and oidcClientStore in session manager
* use sdkContext and OidcClientStore in generalusersettingstab
* tidy
* test tokenrefresher creation in login flow
* test token refresher
* Update src/utils/oidc/TokenRefresher.ts
Co-authored-by: Richard van der Hoff <1389908+richvdh@users.noreply.github.com>
* use literal value for m.authentication
Co-authored-by: Richard van der Hoff <1389908+richvdh@users.noreply.github.com>
* improve comments
* fix test mock, comment
* typo
* add sdkContext to SoftLogout, pass oidcClientStore to logout
* fullstops
* comments
* fussy comment formatting
---------
Co-authored-by: Richard van der Hoff <1389908+richvdh@users.noreply.github.com>
* Fix: Details element wide clickable area
* LogoutDialog-test.tsx snapshot updated
* Fixed open state clickable area for dropdowns
* Advanced changed to advanced
---------
Co-authored-by: Manan Sadana <manan.sadana@cnhteam.onmicrosoft.com>
Co-authored-by: Florian Duros <florianduros@element.io>
* SecureBackupPanel: stop calling `checkKeyBackup`
`checkKeyBackup` will start key backups if they aren't already running. In my
not-so-humble opinion, the mere act of opening a settings panel shouldn't change anything.
* fix SecurityUserSettingsTab test
* Use consistent colouring of username with avatar
* Upgrade Compound to fix Firefox issue
* Use the approapriate color shade for usernames
* Use the approapriate color shade for usernames
* Upgrade Compound
* Fix tests
* Move avatar to new compound implementation
* Make space avatars square
* Remove reference to the avatar initial CSS class
* remove references to mx_BaseAvatar_image
* Fixe test suites
* Fix accessbility violations
* Add ConfirmUserActionDialog test
* Fix tests
* Add FacePile test
* Fix items clipping in members list
* Fix user info avatar sizing
* Fix tests
* util for account url
* test cases
* disable multi session selection on device list
* remove sign out all from context menus when oidc-aware
* comment
* remove unused param
* typo
* dont show account deactivation for externally managed accounts
* Update snapshots - field ID changed
---------
Co-authored-by: Andy Balaam <andy.balaam@matrix.org>
* util for account url
* test cases
* disable multi session selection on device list
* remove sign out all from context menus when oidc-aware
* comment
* remove unused param
* redirect to auth provider when signing out
* open auth provider in new tab, refresh sessions on return
* correct comment
* fix bad copy paste
* try to make sonar happy
* Update for latest revision of MSCs
* Update SessionManagerTab-test.tsx
* Make InteractiveAuthCallback async and await it
---------
Co-authored-by: Hugh Nimmo-Smith <hughns@matrix.org>
Co-authored-by: Hugh Nimmo-Smith <hughns@users.noreply.github.com>
Co-authored-by: Andy Balaam <andy.balaam@matrix.org>
* util for account url
* test cases
* disable multi session selection on device list
* remove sign out all from context menus when oidc-aware
* comment
* remove unused param
* typo
* Iterate search public spaces UX
* Tweak iconography in spotlight
* Delabs `Exploring public spaces`
* Tweak msc3827 v1.4 support discovery
* i18n
* Delete stale test
* Fix tests
* Iterate
* Iterate PR based on review
* Improve types
* Add shortcut to search for public spaces to create space menu
* Update import
* Add org.matrix.msc3827.stable filtering
* Fix tests
* silence some errors
* Update Jest to more recent release
I want to use things like `jest.advanceTimersByTimeAsync`
* more jest updates
* add dep on types/prettier
* fix LegacyRoomHeader-test
* fix MatrixChat-test
* fix RoomView-test
* fix PollHistory-test
* update SidebarUserSettingsTab-test
* fix PipContainer-test
* fix UserOnboardingPage-test
* fix WidgetContextMenu-test.tsx
* Avoid `mockImplementation` for mock `matchMedia` impl
`mockImplementation` is (now) reset by `jest.resetAllMocks` and
`jest.restoreAllMocks`, which we don't really want here.
Fixes `theme-test`
* Move `mediaDevices` mock out of `setupManualMocks`
This doesn't work well in test suites with multiple tests, because the
`mockReturnValue` is reset for subsequent tests.
In any case, having it mocked out automagically is *magical*. Let's make it
opt-in.
* fix FormattingButtons-test.tsx
* fix DeviceListenerTest
* fix RoomTile-test
* Switch to importing TypedEventEmitter from main js-sdk export
* Switch to importing js-sdk/matrix in cypress
* Remove duplicated imports
* Fix lint:js-fix to run prettier last otherwise ESLint --fix may cause a mess
* Add lint rule
* Switch to importing models/Room from main js-sdk export
* Fix cypress-axe import
* Fix more imports
* Fix cypress-axe import
* Fix duplicated lint rule
* Switch to importing TypedEventEmitter from main js-sdk export
* Switch to importing js-sdk/matrix in cypress
* Remove duplicated imports
* Fix lint:js-fix to run prettier last otherwise ESLint --fix may cause a mess
* Add lint rule
* Fix cypress-axe import
* Fix cypress-axe import
* Integrate compound design tokens
The icons should not be included in this repo, and should live in the compound design token repo, but for simplicity sake at this phase of the integration they will be added here
* Delete unused or incorrect - sass variables
* Typography pass
* Deprecate _font-weights.pcss and use Compound instead
* lint fix
* Fix snapshot
* Fix typography pass feedback
* Remove unwanted e2e test
cypress tests should test functionality not visual output. And we should not test visual output by inspecting CSS properties
* lintfix
* Migration script for baseFontSize
* Updates after design review
* Update font scaling panel to use min/max size
* Fix custom font
* Fix font slider e2e test
* Update custom font
* Update new baseFontSizeV2
* Disambiguate heading props
* Fix appearance test
* change max font size
* fix e2ee test
* fix tests
* test baseFontSize migration code
* typescript strict
* Migrate baseFontSize account setting
* Change assertion for font size
* Fix font size controller test
* force disable encryption on room creation
* test allowChangingEncryption
* move into utils/room directory
* tests
* unit test CreateRoomDialog
* remove debug
* wait for constructor promises to settle
* test case for force_disable
* comment
* set forced value after resolving checkUserIsAllowedToChangeEncryption
* tidy and comments
* use label text in test
* disable encryption switch in room settings when force disabled
* account password section
* account email and phone numbers
* update cypress selectors
* use settingsection for General section
* use semantic headings for profile settings
* fix show advanced spacing
* udpate snapshot
* use semantic headings in mjolnir settings
* remove debug
* unit test UI changes for mjolnir settings
* account password section
* account email and phone numbers
* update cypress selectors
* use settingsection for General section
* use semantic headings for profile settings
* fix show advanced spacing
* udpate snapshot
* Update tests to demonstrate broken behaviour
* Fixes and comments
* Remove exception swallowing
This seems like it causes more problems than it solves.
* Use aria descriptions instead of labels for TextWithTooltip
to prevent clobbering the reading of the content
* Update snapshot
* Fix snapshots
* Iterate
* Update snapshots
* delint
* allow testids in settings sections
* use semantic headings in LabsUserSettingsTab
* put back margin var
* use SettingsTab wrapper
* use semantic headings for deactivate acc section
* use semantic heading in manage integratios
* i18n
* use currentColor in warning-triangle svg, update use in RoomStatusBar
* use semantic headings for discovery section
* test manage integration settings
* test deactivate account section display
* remove SettingsFieldset margins
* threepids styles
* remove debug
* test discovery email and phone
* split SettingsSection out of SettingsTab, replace usage
* correct copyright
* use semantic headings in GeneralRoomSettingsTab
* use SettingsTab and SettingsSubsection in room settings
* fix VoipRoomSettingsTab
* use SettingsSection components in space settings
* settingssubsection text component
* use semantic headings in HelpUserSetttings tab
* use ExternalLink components for external links
* test
* strict
* lint
* semantic heading in labs settings
* semantic headings in keyboard settings tab
* semantic heading in preferencesusersettingstab
* tidying
* use new settings components in eventindexpanel
* findByTestId
* prettier
* semantic headings and style refresh for crypto settings
* e2e panel
* use semantic headings in User settings appearance tab
* update selectors in tests
* tidy
* split SettingsSection out of SettingsTab, replace usage
* correct copyright
* use semantic headings in GeneralRoomSettingsTab
* use SettingsTab and SettingsSubsection in room settings
* fix VoipRoomSettingsTab
* use SettingsSection components in space settings
* settingssubsection text component
* use semantic headings in HelpUserSetttings tab
* use ExternalLink components for external links
* test
* strict
* lint
* semantic heading in labs settings
* semantic headings in keyboard settings tab
* semantic heading in preferencesusersettingstab
* tidying
* use new settings components in eventindexpanel
* findByTestId
* prettier
* semantic headings and style refresh for crypto settings
* e2e panel
* semantic headings and cleanup in Sidebar user settings
* semantic heading in voice user settings
* sonarcloud bug and test
* allow testids in settings sections
* use semantic headings in LabsUserSettingsTab
* put back margin var
* use SettingsTab wrapper
* use semantic headings for deactivate acc section
* use semantic heading in manage integratios
* i18n
* explicit cast to boolean
* Update src/components/views/settings/shared/SettingsSubsection.tsx
Co-authored-by: Richard van der Hoff <1389908+richvdh@users.noreply.github.com>
* test manage integration settings
* test deactivate account section display
* remove debug
* fix cypress test
---------
Co-authored-by: Richard van der Hoff <1389908+richvdh@users.noreply.github.com>
* settingssubsection text component
* use semantic headings in HelpUserSetttings tab
* test
* strict
* lint
* semantic heading in labs settings
* semantic headings in keyboard settings tab
* semantic heading in preferencesusersettingstab
* tidying
* findByTestId
* prettier
* allow testids in settings sections
* use semantic headings in LabsUserSettingsTab
* use semantic headings in usersettingspreferences
* rethemendex
* put back margin var