Commit Graph

47248 Commits (7638790095f8f033a8c72627180dd4c589892917)

Author SHA1 Message Date
Kerry 5056c12b38
configure feature_oidc_native_flow as a feature setting, update copy (#11773) 2023-10-19 06:00:29 +00:00
Dharshan 3902ce9c40
Fix CSS for uploading-files in threads (#11751)
* Fix CSS for uploading-files in threads

* fix-close button to stick at top of container

* re-align close button

* re-align close button

---------

Co-authored-by: Kerry <kerrya@element.io>
2023-10-19 04:07:38 +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
Kerry eb7ce666b7
remove problematic big emoji style (#11757) 2023-10-18 21:39:47 +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
Andy Balaam 73f91cbafa
Enable tests that have been fixed by matrix-js-sdk#3798 (#11762)
* Disable two tests that flake after matrix-js-sdk#3798

* Enable tests that have been fixed by matrix-js-sdk#3798

* Disable two flaking tests

* Disable another flaking test
2023-10-18 16:12:35 +00:00
Richard van der Hoff 888d01cad8
Re-enable QR verification cypress test for Element-R (#11771)
* Re-enable QR verification cypress test for Element-R

This test was disabled by
https://github.com/matrix-org/matrix-react-sdk/pull/11710. The impl has now
been fixed, so it should be possible to re-enable it now.

While we're here, rename a couple of the tests for clarity.

* fix lint
2023-10-18 13:27:32 +00:00
Richard van der Hoff ff35107e9c
Update comment on disabled cypress test (#11772)
It still doesn't work, but the reason has changed
2023-10-18 11:25:31 +00:00
Richard van der Hoff f09ec2cf26
Cypress: distinguish logs from bot clients (#11770)
When we instantiate a `MatrixClient` for a "bot" user, give it a custom
`Logger` which will add a prefix to any logs written by that client.
2023-10-18 10:52:07 +00:00
Manan Sadana 01714d9c83
Fix: Bubble layout design is broken (#11763)
* Fixed the layout, added border to match design

* Border fixed for hover and highlighted messages

* moved some selectors up to avoid duplicate selectors
2023-10-18 09:46:09 +00:00
Kerry d92273957d
try to stabilise Configured room on IRC layout snapshot (#11769) 2023-10-18 09:14:01 +00:00
renovate[bot] ea19aa17e1
Update dependency @testing-library/dom to v9 (#11768)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-10-17 16:09:35 +00:00
renovate[bot] 36d7f8947e
Update cypress-io/github-action digest to 2d4bd63 (#11616)
* Update cypress-io/github-action digest to 2d4bd63

* Update cypress.yaml

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Michael Telatynski <7t3chguy@gmail.com>
2023-10-17 16:08:54 +00:00
renovate[bot] 6e19bf6b86
Update browser-actions/setup-chrome digest to 905ab04 (#11705)
* Update browser-actions/setup-chrome digest to 905ab04

* Update cypress.yaml

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Michael Telatynski <7t3chguy@gmail.com>
2023-10-17 16:06:33 +00:00
renovate[bot] 3bf5bcbd2b
Update dependency emojibase-regex to v15.2.0 (#11767)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-10-17 16:00:10 +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] 49cfde82de
Update sentry-javascript monorepo to v7.74.0 (#11626)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-10-17 15:20:56 +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
renovate[bot] aaa11323d4
Update dependency axe-core to v4.8.2 (#11622)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-10-17 15:20:08 +00:00
renovate[bot] 2849f3c9ec
Update dependency @percy/cli to v1.27.3 (#11707)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-10-17 15:20:03 +00:00
dependabot[bot] 00c7152ef5
Bump @babel/traverse from 7.22.15 to 7.23.2 (#11758)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-10-17 16:15:00 +01:00
ElementRobot b09251db69 v3.83.0-rc.1 2023-10-17 15:18:58 +01:00
ElementRobot 47bf16af11 Prepare changelog for v3.83.0-rc.1 2023-10-17 15:18:57 +01:00
ElementRobot a00e27d6b2 Upgrade matrix-js-sdk to 29.1.0-rc.1 2023-10-17 15:12:23 +01:00
Andy Balaam 94ca061cda
Disable two tests that flake after matrix-js-sdk#3798 (#11761) 2023-10-17 14:08:58 +00: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
Michael Telatynski 7f37699566
Update localazy_upload.yaml 2023-10-17 10:49:53 +01:00
Manan Sadana 6d1aea49db
Fix: Message shield alignment is not right. (#11703)
* Message shield alignment fixed

* Alignment fixed in all layouts

* Fixed for all font sizes
2023-10-17 07:01:37 +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 5a0ebbfdaa
Clean up docker containers created by cypress tests (#11747)
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2023-10-16 13:33:03 +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
Michael Telatynski 479ed55ad0
Write mdbook summary (#11750)
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2023-10-16 07:40:13 +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 a267b86fef
Fix some of the peer dependency unmet warnings (#11745)
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2023-10-13 13:39:28 +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
Michael Weimann e22fa2efc1
Disable spotlight unknown people test (#11740)
This is probably a Synapse issue:
https://github.com/matrix-org/synapse/issues/16472
Waiting for the profile to be available via API before the tests didn't help.
2023-10-13 08:58:13 +00:00
Andy Balaam 6a9942576d
Increase the timeout for the bot to enter the room (#11742)
in an attempt to fix flakes like:

* https://github.com/vector-im/element-web/issues/26298
* https://github.com/vector-im/element-web/issues/26341

which appear to fail when using Rust crypto, possibly because the client
takes a while to start up.
2023-10-13 08:50:16 +00:00
Andy Balaam 38728069e2
Always use cypress-multi-reporters XML report, not just in CI (#11731) 2023-10-13 08:50:05 +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
renovate[bot] 3bd6dd9143
Update vector-im (#11621)
* Update vector-im

* Update snapshots

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Michael Telatynski <7t3chguy@gmail.com>
2023-10-12 11:12:59 +00:00