Commit Graph

34552 Commits (f8d87f0ddc77ba4b4b45427e7faccca433bc9199)

Author SHA1 Message Date
Johannes Marbach 624be1a7fa Fix paths and extensions 2023-11-13 20:10:55 +01:00
Johannes Marbach 99ad1781a5 Appease the linter 2023-11-13 19:54:04 +01:00
Johannes Marbach 5855930221 Extra worklet module loading and mock it in tests 2023-11-13 19:52:15 +01:00
Johannes Marbach 64ba0b4130 Squashed commit of the following:
commit 01a62b36a484d65664a641c4db2a7f3373251b47
Merge: 10edf06898 74961dbfb1
Author: Johannes Marbach <johannesm@element.io>
Date:   Mon Nov 13 19:38:47 2023 +0100

    Merge branch 'johannes/webpack5-workers' into johannes/worklet-path

commit 10edf068980f11b99bf2b18dce72e27065fd5727
Author: Johannes Marbach <johannesm@element.io>
Date:   Sun Nov 12 12:21:43 2023 +0100

    Document syntax and use .ts

commit 4040f2ce4121ddaf5254cb68e2e9b8716b0431d0
Author: Johannes Marbach <johannesm@element.io>
Date:   Sat Nov 11 21:38:09 2023 +0100

    Switch to URL and use syntax compatible with Webpack

commit b4f96f17cc1819bd84b8e6735a8c3f69948e97c4
Merge: eed2ffdc1c 94484692f8
Author: Johannes Marbach <johannesm@element.io>
Date:   Thu Nov 9 21:04:06 2023 +0100

    Merge branch 'develop' into johannes/worklet-path

commit eed2ffdc1c27e8748719b64e002c44e3dc6500e7
Author: Johannes Marbach <johannesm@element.io>
Date:   Thu Nov 9 21:03:45 2023 +0100

    Restore unused import to fix dead code analysis

commit 689cea2f061120070f3db405289bd9ded108def5
Author: Johannes Marbach <johannesm@element.io>
Date:   Thu Nov 9 16:50:56 2023 +0100

    Use literal path in audioWorklet.addModule for compatibility with Webpack 5
2023-11-13 19:39:45 +01:00
Johannes Marbach 74961dbfb1 Extract worker creation into factories and mack them in tests 2023-11-13 19:35:04 +01:00
Robin cda17d55b4
Use the correct video call icon variant (#11859)
This regression happened because of breaking changes in the most recent compound-design-tokens release.
2023-11-13 17:45:11 +00:00
Johannes Marbach ccee4c9cdb Merge branch 'develop' into johannes/webpack5-workers 2023-11-13 15:43:50 +01:00
Valere 9595dbb015
Report crypto sdk in posthog (#11834)
* Report crypto sdk in posthog

* fix import

* do not use the setting as not live
2023-11-13 14:16:12 +00:00
Johannes Marbach 84d7d43a0d Load web workers in a way that Webpack 5 can bundle them 2023-11-11 16:03:08 +01:00
Germain 722c5ad493
Update room summary card header (#11823)
* Update room summary card header

* test coverage for public room label

* test coverage for public room label (#11841)

* fix encrypted badge selector in cypress/crypto.spec

---------

Co-authored-by: Kerry <kerrya@element.io>
2023-11-11 07:24:48 +00:00
Timo 62f41f0961
Add feature flag for disabling encryption in Element Call (#11837)
* add feature flag for disabling encryption

Signed-off-by: Timo K <toger5@hotmail.de>

* prettier

Signed-off-by: Timo K <toger5@hotmail.de>

* Update src/i18n/strings/en_EN.json

Co-authored-by: Richard van der Hoff <1389908+richvdh@users.noreply.github.com>

* add tests and make url flags explicit

Signed-off-by: Timo K <toger5@hotmail.de>

* remove unnecessary braces

Signed-off-by: Timo K <toger5@hotmail.de>

---------

Signed-off-by: Timo K <toger5@hotmail.de>
Co-authored-by: Richard van der Hoff <1389908+richvdh@users.noreply.github.com>
2023-11-10 16:46:02 +00:00
Charly Nguyen 47a4e4a52a
Adapt the rendering of extra icons in the room header (#11835)
Signed-off-by: Charly Nguyen <charly.nguyen@nordeck.net>
2023-11-09 11:23:30 +00:00
Timo 224b9171dd
Make video rooms compatible with matrix RTC (#11829)
* Make video rooms compatible with matrix RTC
Signed-off-by: Timo K <toger5@hotmail.de>

* comment fixes

Signed-off-by: Timo K <toger5@hotmail.de>

* fix tests by destroying the call. Otherwise create wont recreate for ec.

Signed-off-by: Timo K <toger5@hotmail.de>

---------

Signed-off-by: Timo K <toger5@hotmail.de>
2023-11-07 12:29:05 +00:00
R Midhun Suresh 90419bdffd
Implement new unreachable state and fix broken string ref (#11748)
* Fix string ref issue

* Implement unreachable state

* Fix eslint failure

* Fix i18n

* Fix i18n again

* Write cypress test

* Write jest test

* Write more jest tests

* Update method name

* Use unstable prefix

* Always use prefix

This is never to going to be in the spec so always use the io.element
prefix

* Update tests

* Remove redundant code from cypress test

* Use unstable prefix

* Refactor code

* Remove supressOnHover prop

* Remove sub-text label

* Join lines

* Remove blank line

* Add jsdoc
2023-11-07 10:14:30 +00:00
Charly Nguyen 01e7e01153
Allow adding extra icons to the room header (#11799)
* Allow adding extra icons to the room header

Signed-off-by: Charly Nguyen <charly.nguyen@nordeck.net>

* Apply PR feedback

Signed-off-by: Charly Nguyen <charly.nguyen@nordeck.net>

* Apply PR feedback

Signed-off-by: Charly Nguyen <charly.nguyen@nordeck.net>

* Apply PR feedback

Signed-off-by: Charly Nguyen <charly.nguyen@nordeck.net>

* Apply PR feedback

Signed-off-by: Charly Nguyen <charly.nguyen@nordeck.net>

* Apply PR feedback

Signed-off-by: Charly Nguyen <charly.nguyen@nordeck.net>

---------

Signed-off-by: Charly Nguyen <charly.nguyen@nordeck.net>
2023-11-01 12:03:10 +00:00
Michael Telatynski 9496097143
Switch to updating presence via /sync calls instead of PUT /presence (#11824)
* Switch to updating presence via /sync calls instead of PUT /presence (#11223)

(cherry picked from commit 1995a74090)
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>

* Update Presence.ts
2023-11-01 10:49:47 +00:00
ElementRobot eb06dbd7f6
[create-pull-request] automated change (#11811)
Co-authored-by: t3chguy <t3chguy@users.noreply.github.com>
2023-10-31 15:21:57 +00:00
Timo 860764c057
Use new matrixRTC calling (#11792)
* initial

Signed-off-by: Timo K <toger5@hotmail.de>

* cleanup1

Signed-off-by: Timo K <toger5@hotmail.de>

* bring back call timer

Signed-off-by: Timo K <toger5@hotmail.de>

* more cleanup and test removals

Signed-off-by: Timo K <toger5@hotmail.de>

* remove event

Signed-off-by: Timo K <toger5@hotmail.de>

* cleanups and minor fixes

Signed-off-by: Timo K <toger5@hotmail.de>

* add matrixRTC to stubClient

Signed-off-by: Timo K <toger5@hotmail.de>

* update tests (some got removed)
The removal is a consequence of EW now doing less call logic.
More logic is done by the js sdk (MatrixRTCSession)
And therefore in EC itself.

Signed-off-by: Timo K <toger5@hotmail.de>

* cleanups

Signed-off-by: Timo K <toger5@hotmail.de>

* mock the session

Signed-off-by: Timo K <toger5@hotmail.de>

* lint

Signed-off-by: Timo K <toger5@hotmail.de>

* remove GroupCallDuration

Signed-off-by: Timo K <toger5@hotmail.de>

* review and fixing tests

Signed-off-by: Timo K <toger5@hotmail.de>

---------

Signed-off-by: Timo K <toger5@hotmail.de>
2023-10-30 15:14:27 +00:00
Dominik Henneke 947f1bd591
Knock on a ask-to-join room if a module wants to join the room when navigating to a room (#11787)
Signed-off-by: Dominik Henneke <dominik.henneke@nordeck.net>
2023-10-27 12:51:39 +00:00
Florian Duros d0b44a541d
Add crypto info for rust crypto in sentry (#11798) 2023-10-26 15:45:05 +00:00
Johannes Marbach c7c51d764f
Deserialise spoilers back into slash command form (#11805)
* Deserialise spoilers back into slash command form

Fixes: vector-im/element-web#26344

* Appease the linter
2023-10-26 13:35:02 +00:00
Manuel Huber 6423f226b4
Also use unload event to clean up session lock (#11800)
Signed-off-by: Manuel Huber <info@manuelhu.de>
Co-authored-by: Florian Duros <florianduros@element.io>
2023-10-26 12:26:49 +00:00
Florian Duros 1881fb1ee4
Element-R: Include crypto info in rageshake (#11797)
* Include crypto info for rust crypto in rageshakes

* Remove duplicate `cross_signing_key`

* Add `crypto_version` field
2023-10-26 08:20:36 +00:00
Kerry e8b27403b7
allow relogin from softlogout when loginToken is present (#11794) 2023-10-26 06:57:28 +00:00
Florian Duros 48a89a236a
Element-R: Add current version of the rust-sdk and vodozemac (#11785)
* Add current version of the rust-sdk and vodozemac

* Use `CryptoAPI#getVersion` for old crypto

* Update i18n

* Fix test

* Remove wrong comment
2023-10-25 15:34:03 +00:00
Michael Telatynski 5e8d2748e0
Use configurable github issue links more consistently (#11796)
* Use configurable github issue links more consistently

Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>

* Add `rel="noreferrer noopener"`

Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>

---------

Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2023-10-25 12:23:12 +00:00
Ole Wieners 4ff35f0471
Fix unfederated invite dialog (#9618)
* clarify error message for unfederated room invites

* hide external user suggesetions

* rename some descriptors

* fix i18n

* add warning for unfederated spaces

* i18n

Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>

* Add tests

Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>

---------

Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
Co-authored-by: Michael Telatynski <7t3chguy@gmail.com>
2023-10-25 10:08:10 +00:00
Michael Telatynski afcaec658f
Fix io.element.late_event received_ts vs received_at (#11789)
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2023-10-25 07:01:24 +00:00
Kerry 9eb44105cb
Revert "Fix: Right panel keeps showing chat when unmaximizing widget. (#11697)" (#11786)
This reverts commit c44c772246.
2023-10-24 06:49:45 +00:00
Manan Sadana c44c772246
Fix: Right panel keeps showing chat when unmaximizing widget. (#11697)
* Right panel chat closes when unmaximising widget

* Basic right panel tests added

* Accessible selectors used for new tests

* Test added to check if chat exists in right panel

---------

Co-authored-by: Manan Sadana <manan.sadana@cnhteam.onmicrosoft.com>
Co-authored-by: Florian Duros <florianduros@element.io>
2023-10-23 08:20:52 +00:00
David Baker 2173705ed5
Rename the per-participant e2ee keys event (#11783)
From the department of single-byte PRs.

I reanmed this in the branch because it now contains multiple keys.
2023-10-20 20:21:27 +00:00
David Baker 21dc26f725
Update base64 import (#11784)
Apologies, I broke this with https://github.com/matrix-org/matrix-js-sdk/pull/3818

This fixes it, but needs https://github.com/matrix-org/matrix-js-sdk/pull/3820
2023-10-20 18:19:09 +01:00
Germain 8cf6f03283
Set max size for Element logo in search warning (#11779) 2023-10-20 15:27:29 +00:00
Germain f784a085fd
New right panel visual language (#11664)
* New right panel visual language

* Upgrade Compound

* Align old room header with right panel

* Rigth panel look and feel

* Fix linting and e2e tests

* Update snapshot

* Add test

* Lint

* Remove screenshot local script

* Update snapshots and UI based on feedback

* fix i18n key

* Update right panel visuals

* Fix tests

* lintfixes

* fix tests

* fix tests

* Add tests for search icon

* Fix invite dialog spec
2023-10-20 13:30:37 +00:00
renovate[bot] 5a961795bc
Update matrix-org (#11625)
* Update matrix-org

* Update analytics calls

Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>

* Hold back wysiwyg

Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>

---------

Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Michael Telatynski <7t3chguy@gmail.com>
2023-10-19 08:02:24 +00:00
Kerry 5056c12b38
configure feature_oidc_native_flow as a feature setting, update copy (#11773) 2023-10-19 06:00:29 +00:00
Kerry 1d9c24e96e
OIDC: add friendly errors (#11184)
* add delegatedauthentication to validated server config

* dynamic client registration functions

* test OP registration functions

* add stubbed nativeOidc flow setup in Login

* cover more error cases in Login

* tidy

* test dynamic client registration in Login

* comment oidc_static_clients

* register oidc inside Login.getFlows

* strict fixes

* remove unused code

* and imports

* comments

* comments 2

* util functions to get static client id

* check static client ids in login flow

* remove dead code

* OidcRegistrationClientMetadata type

* navigate to oidc authorize url

* exchange code for token

* navigate to oidc authorize url

* navigate to oidc authorize url

* test

* adjust for js-sdk code

* login with oidc native flow: messy version

* tidy

* update test for response_mode query

* tidy up some TODOs

* use new types

* add identityServerUrl to stored params

* unit test completeOidcLogin

* test tokenlogin

* strict

* whitespace

* tidy

* unit test oidc login flow in MatrixChat

* strict

* tidy

* extract success/failure handlers from token login function

* typo

* use for no homeserver error dialog too

* reuse post-token login functions, test

* shuffle testing utils around

* shuffle testing utils around

* i18n

* tidy

* Update src/Lifecycle.ts

Co-authored-by: Richard van der Hoff <1389908+richvdh@users.noreply.github.com>

* tidy

* comment

* update tests for id token validation

* move try again responsibility

* prettier

* add friendly error messages for oidc authorization failures

* i18n

* update for new translations, tidy

---------

Co-authored-by: Richard van der Hoff <1389908+richvdh@users.noreply.github.com>
2023-10-19 02:46:37 +00:00
renovate[bot] 67452f5021
Update all non-major dependencies (#11618)
* Update all non-major dependencies

* Fix types

Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>

* highlight.js breaking change

Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>

* Hold back jest-sonar-reporter

Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>

---------

Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Michael Telatynski <7t3chguy@gmail.com>
2023-10-18 16:18:13 +00:00
Richard van der Hoff a283bc4889
Avoid `MatrixEvent.toJSON` in event indexer (#11765)
Part of the solution to https://github.com/vector-im/element-web/issues/26380:
`toJSON` is dangerous, and I'd like to kill it off. There is no need for it
here; it is simpler to call `getEffectiveEvent` directly.
2023-10-17 15:54:22 +00:00
renovate[bot] 087ed6dbfc
Update definitelyTyped (#11620)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Michael Telatynski <7t3chguy@gmail.com>
2023-10-17 18:17:09 +01:00
ElementRobot 5fce14e38f
[create-pull-request] automated change (#11766)
Co-authored-by: t3chguy <t3chguy@users.noreply.github.com>
2023-10-17 15:06:20 +01:00
Michael Telatynski 4ff307b562
Iterate `io.element.late_event` decoration (#11760)
* Update copy

Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>

* Add icon to late event timestamp

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>
2023-10-17 12:31:41 +00:00
Michael Telatynski fd08e74275
Avoid error when DMing oneself (#11754)
* Avoid error when DMing oneself

Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>

* Update comment

Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>

* Add test

Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>

---------

Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2023-10-17 09:37:08 +00:00
Valere 15d931a33f
fix logging full event (#11755)
* fix logging full event

* put stacktrace last

* Update src/components/views/rooms/EventTile.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>
2023-10-16 16:52:20 +00:00
Michael Telatynski 5ff965106a
Render timeline separator for late event groups (#11739)
* Use Compound tooltips on MessageTimestamp to improve UX of date time discovery

Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>

* Show io.element.late_event in MessageTimestamp when known

Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>

* Update snapshot

Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>

* Avoid needing new Compound changes

Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>

* Move groupers into their own directory

Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>

* Refactor date separator code to be more generic

Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>

* Render timeline separator for late event groups

Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>

* Fix date used in copy

Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>

* Update snapshot

Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>

* Move groupers into their own directory

Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>

* Update copy

Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>

* Update copy

Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>

* Update snapshot

Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>

* i18n

Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>

* Add comments

Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>

* Add comments

Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>

---------

Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2023-10-16 14:14:04 +00:00
Robin dfdb613673
Update Element Call URL generation to match new parameter semantics (#11749)
The semantics of the preload parameter are changing as detailed here, meaning we now have to additionally specify skipLobby to get the desired behavior out of Element Call: https://github.com/vector-im/element-call/pull/1730
2023-10-16 13:43:44 +00:00
Michael Telatynski a01a67eb8e
Move groupers into their own directory (#11738)
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2023-10-16 07:48:32 +00:00
Kerry d9d52fba8c
OIDC: use delegated auth account URL from `OidcClientStore` (#11723)
* 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>
2023-10-15 23:03:25 +00:00
Kerry 84ca519b3f
OIDC: revoke tokens on logout (#11718)
* 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

* 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>
2023-10-15 21:35:25 +00:00
Michael Telatynski fe3ad78a02
Show `io.element.late_event` in MessageTimestamp when known (#11733)
* Use Compound tooltips on MessageTimestamp to improve UX of date time discovery

Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>

* Show io.element.late_event in MessageTimestamp when known

Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>

* Update snapshot

Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>

* Avoid needing new Compound changes

Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>

* Update snapshot

Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>

* Update compound-web

Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>

* Update identifiers

Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>

* Add tests

Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>

* Fix types

Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>

* Switch to snapshots

Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>

---------

Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2023-10-14 12:25:36 +00:00
Michael Telatynski 2261a1be8e
Show all labs flags if developerMode enabled (#11746)
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2023-10-13 13:24:00 +00:00
Michael Telatynski 4605fd7396
Use Compound tooltips on MessageTimestamp to improve UX of date time discovery (#11732)
* Use Compound tooltips on MessageTimestamp to improve UX of date time discovery

Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>

* Update snapshot

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>
2023-10-13 11:26:12 +00:00
Michael Telatynski 27bb67bac5
Consolidate 4s passphrase input fields and use stable IDs (#11743)
* Reuse PassphraseConfirmField for create 4s flow

Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>

* Use stable ID on 4s phrase fields

Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>

* Pass autoFocus prop to PassphraseConfirmField

Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>

* Update stable ID

Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>

* Add missing labels

Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>

---------

Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2023-10-13 10:39:55 +00:00
Michael Telatynski 255f0f59f5
Disable upgraderoom command without developer mode enabled (#11744)
* Disable upgraderoom command without developer mode enabled

Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>

* Update tests

Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>

---------

Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2023-10-13 09:48:32 +00:00
Michael Telatynski bdf2ebd301
Avoid rendering app download buttons if disabled in config (#11741)
* Add default desktop_builds and mobile_builds into SdkConfig.DEFAULTS

Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>

* Avoid rendering app download buttons if config sets to `null`

Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>

* Disable app download onboarding task if config has no apps to download

Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>

* Add tests and update types

Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>

* Fix types

Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>

---------

Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2023-10-13 09:43:39 +00:00
Germain 9ea04a539b
Add data attribute to know what header is used (#11735)
* Add data attribute to know what header is used

* Simplify room header type

* update snapshot
2023-10-12 13:17:51 +00:00
Manan Sadana 7dc40e6613
Fix: <detail> HTML elements clickable area too wide. (#11666)
* 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>
2023-10-12 08:50:49 +00:00
Kerry 3a025c4b21
OIDC: refresh tokens (#11699)
* 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

* comments

* prettier

* 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

* update Lifecycle test replaceUsingCreds calls

* 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

---------

Co-authored-by: Richard van der Hoff <1389908+richvdh@users.noreply.github.com>
2023-10-12 00:49:07 +00:00
Michael Telatynski d115e3c7f8
Fix untranslated headings in the devtools dialog (#11734)
* Fix untranslated headings in the devtools dialog

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>
2023-10-11 22:21:03 +00:00
Kerry 5d169afb8a
OIDC: register (#11727)
* update uses of ValidatedDelegatedAuthConfig to broader OidcClientConfig type

* add OIDC register flow to registration page

* pass prompt param to auth url creation

* update type

* lint

* test registration oidc button

* fix: reference state inside setState

* comment
2023-10-11 21:44:46 +00:00
Germain ac32d45bcd
Usability fixes for new room header (#11729)
* Usability fixes for new room header

* lintfix

* Apply padding to both heading and topic

* lintfix

* comment clarity

* Remove title attr
2023-10-11 14:43:01 +00:00
Florian Duros 71f2104632
Element-R: Use `MatrixClient.CryptoApi.getUserVerificationStatus` instead of `MatrixClient.checkUserTrust` in `UserInfo.tsx` (#11709)
* Mock `CryptoApi.getUserVerificationStatus` instead of `checkUserTrust`

* Use `CryptoApi.getUserVerificationStatus` instead of `checkUserTrust` in `UserInfo.DeviceItem`

* Use `CryptoApi.getUserVerificationStatus` instead of `checkUserTrust` in `UserInfo.DevicesSection`

* Use `CryptoApi.getUserVerificationStatus` instead of `checkUserTrust` in `UserInfo.BasicUserInfo`

* Pass `isUserVerified` props to `BasicUserInfo` children

* Removed remaining calls to `checkUserTrust` in `UserInfo-test.tsx`

* Review changes

* Update comments

* Display spinner only when crypto is initialized

* Fix duplicate `cryptoEnabled`

* Remove misleading comment in `DevicesSection`
2023-10-11 11:45:02 +00:00
Manan Sadana 54fa9a572e
Fix: Clicking on members pile does nothing. (#11657)
* Fix: Clicking on pile opens members list

* onClick used on Accessible Component

* Updated snapshots for testing

* Snapshots updated after merging

---------

Co-authored-by: Manan Sadana <manan.sadana@cnhteam.onmicrosoft.com>
2023-10-06 06:54:25 +00:00
Florian Duros d40092c9da
Element-R: Use `MatrixClient.CryptoApi.getUserVerificationStatus` instead of `MatrixClient.checkUserTrust` in `MemberTile.tsx` (#11701)
* Use `MatrixClient.CryptoApi.getUserVerificationStatus` instead of `MatrixClient.checkUserTrust` in `MemberTile.tsx`

* Add tests to `MemberTile.tsx`

* Use `mocked` instead of `spyOn`
2023-10-04 13:01:39 +00:00
Michael Telatynski 9d1f10e4be
Update workflows around i18n to use Localazy (#11455)
* Remove prunei18n

* Update README

* Update matrix-web-i18n

* Iterate

* Add feature=filter_untranslated

* yarn.lock

* Update localazy.json

* Update package.json

* Update localazy.json

* Update matrix-web-i18n and update i18n:lint

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>

* Remove stale workflow

Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>

* Localazy Download

Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>

* i18n

Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>

* Localazy Download

Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>

---------

Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2023-10-04 09:28:09 +00:00
Kerry feb7e9899b
OIDC: persist id token claims (#11691)
* persist idTokenClaims

* tests

* remove unused cde
2023-10-04 05:06:04 +01:00
Michael Telatynski e1cfde0c6e
Migrate more strings to translation keys (#11694) 2023-10-03 19:17:26 +01:00
Will Hunt 677854d318
Fix start_sso / start_cas URLs failing to redirect to a authentication prompt (#11681)
* Show screen before login if using start_sso or start_cas

* Add tests

* Fix lint

* Fix lint

* Add one for CAS

* prettier
2023-10-03 15:19:54 +00:00
Hugh Nimmo-Smith 4fd8ab933a
Use stable get_login_token and remove unstable MSC3882 support (#11001)
* Support for stable MSC3882 get_login_token

* Fix unstable name type

* Remove tests for unstable MSC3882

* Fix up tests
2023-10-03 12:15:41 +00:00
Michael Telatynski 0ab51bc59d
Update AutoDiscoveryUtils.tsx 2023-10-03 11:05:35 +01:00
Kerry 66854039a3
OIDC: extract token persistence functions to utils (#11690)
* extract token persistence functions to utils

* add sugar
2023-10-02 22:09:13 +00:00
Michael Telatynski 41a2325a2a
Migrate more strings to translation keys (#11683) 2023-10-02 13:52:27 +01:00
Michael Telatynski 632d8f4bc7
Update custom translations to support nested fields in structured JSON (#11685)
* Update matrix-web-i18n

Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>

* Fix custom translations for structured JSON nested fields

Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>

* Fix import

Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>

* Fix export

Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>

* Update @matrix-org/react-sdk-module-api

Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>

* Iterate

Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>

* Delint

Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>

* Iterate

Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>

* Update matrix-web-i18n

Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>

* Update matrix-web-i18n

Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>

---------

Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2023-10-02 10:44:25 +00:00
R Midhun Suresh 9a76d6b9a3
Locallazy: Convert even more strings (#11679)
Co-authored-by: Michael Telatynski <7t3chguy@gmail.com>
2023-10-02 11:43:00 +01:00
Michael Telatynski 6af4335db1
Migrate more strings to translation keys (#11680) 2023-09-29 08:49:26 +01:00
Michael Telatynski e0f4b26512
Remove focus-visible polyfill (#11677)
* Remove focus-visible polyfill

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>
2023-09-28 11:52:26 +00:00
Hugh Nimmo-Smith 8442f1cf10
Use .well-known to discover a default rendezvous server for use with Sign in with QR (#11655) 2023-09-28 09:37:44 +00:00
R Midhun Suresh 0518af70ac
Localazy: Convert more strings (#11675) 2023-09-28 08:21:30 +01:00
Kerry ef5a93b702
OIDC: retrieve `refreshToken` from storage (#11250)
* 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

* comments

* prettier

* comment pedantry

* fix code smell - nullish coalesce instead of ||

* more comments
2023-09-28 04:38:31 +00:00
Michael Telatynski fa377cbade
Migrate more strings to translation keys (#11672) 2023-09-27 17:15:22 +01:00
Michael Telatynski 39c4e0c41f
Update FontManager.ts (#11673) 2023-09-27 10:34:07 +00:00
Kerry 0d367a7c7e
Fix: sync intentional mentions push rules with legacy rules (#11667)
* fix monitorSyncedPushRules when primary rule is disabled

* sync intentional mentions rules

* remove debug log
2023-09-27 00:03:38 +00:00
Michael Telatynski 4d0d024e86
Migrate more strings to translation keys (#11671) 2023-09-26 18:35:55 +01:00
Michael Telatynski 5252361d1e
Migrate more strings to translation keys (#11669) 2023-09-26 13:04:17 +01:00
Andy Balaam 875fcb1a32
Merge pull request #11634 from matrix-org/germain-gg/facepile-offset
Revert "Fix regression around FacePile with overflow (#11527)"
2023-09-26 09:49:37 +01:00
Michael Telatynski 54c88c57ed
Migrate more strings to translation keys (#11665) 2023-09-25 18:12:41 +01:00
Michael Telatynski 0f59298f30
Consolidate conjugation i18n strings (#11660) 2023-09-25 12:18:15 +01:00
Germain d99618263a
Merge branch 'develop' into germain-gg/facepile-offset 2023-09-25 11:33:28 +01:00
Manan Sadana f841757906
Message layout will update according to the selected style (#10170)
* message_layout_preview_update

* using_settings_watcher

* Update FontScalingPanel.tsx

* Marked the class property as optional

* Optional variable was still giving error.

* Fix: typescript fail for layoutWatcherRef

* Fix: using value from SettingStore

* Update src/components/views/settings/FontScalingPanel.tsx

Co-authored-by: Michael Telatynski <7t3chguy@gmail.com>

* Fix: Prettier formatting added for ESList checks

---------

Co-authored-by: Manan Sadana <manan.sadana@cnhteam.onmicrosoft.com>
Co-authored-by: Michael Telatynski <7t3chguy@gmail.com>
2023-09-22 16:12:48 +00:00
Michael Telatynski f4d056fd38
Migrate more strings to translation keys (#11651) 2023-09-22 16:39:40 +01:00
Germain 477d79cb92 Fix FacePile 'more' rendering 2023-09-22 16:31:52 +01:00
Richard van der Hoff 6fd46f3bc8
`CreateSecretStorageDialog`: stop using deprecated APIs (#11635)
* Add some tests for `CreateSecretStorageDialog`

* CreateSecretStorageDialog: stop using deprecated APIs
2023-09-22 11:03:05 +00:00
Richard van der Hoff 11f258e62e
`SecureBackupPanel`: stop using deprecated APIs, and other fixes (#11644)
* SecureBackupPanel: replace `isKeyBackupTrusted`

`MatrixClient.isKeyBackupTrusted` -> `CryptoApi.isKeyBackupTrusted`

* SecureBackupPanel: replace `getKeyBackupEnabled`

`MatrixClient.getKeyBackupEnabled` -> `CryptoApi.getActiveSessionBackupVersion`

* SecureBackupPanel: replace `deleteKeyBackupVersion`

`MatrixClient.deleteKeyBackupVersion` -> `CryptoApi.deleteKeyBackupVersion`

* Do not show session count if we have no info

We shouldn't say "zero sessions to back up" if we don't know.

* SecureBackupPanel: distinguish between server and active backup
2023-09-22 10:57:11 +00:00
Germain 224f34c211
Merge branch 'develop' into germain-gg/facepile-offset 2023-09-22 08:46:37 +01:00
Manan Sadana 6504fff25c
Fix: onFinished added which closes the menu (#11647)
Co-authored-by: Manan Sadana <manan.sadana@cnhteam.onmicrosoft.com>
2023-09-21 22:16:47 +00:00
Dominik Henneke 60bed46014
Add an action to upload media files according to MSC4039 (#11311)
Signed-off-by: Dominik Henneke <dominik.henneke@nordeck.net>
2023-09-21 19:03:22 +00:00
Richard van der Hoff 902aea8bc4
LogoutDialog: Remove usage of deprecated keybackup API (#11645)
* tests for LogoutDialog

* LogoutDialog: Remove usage of deprecated keybackup API
2023-09-21 18:34:10 +00:00
Michael Telatynski faa7b1521f
Migrate more strings to translation keys (#11642) 2023-09-21 18:16:04 +01:00
Richard van der Hoff c879882558
Don't start key backups when opening settings (#11640)
* 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
2023-09-21 12:19:38 +00:00
Germain 20fa3f2a14
fix avatar styling in lightbox (#11641) 2023-09-21 11:42:23 +00:00