Commit Graph

390 Commits

Author SHA1 Message Date
Travis Ralston
aba61fa390 Revert "Support refresh tokens (#7802)"
This reverts commit 839593412c.
2022-02-16 12:32:38 -07:00
Travis Ralston
839593412c Support refresh tokens (#7802)
MSC: https://github.com/matrix-org/matrix-doc/pull/2918
Fixes https://github.com/vector-im/element-web/issues/18698
Fixes https://github.com/vector-im/element-web/issues/20648
**Requires https://github.com/matrix-org/matrix-js-sdk/pull/2178**

**Note**: There's a lot of logging in this PR. That is intentional to ensure that if/when something goes wrong we can chase the exact code path. It does not log any tokens - just where the code is going. Overall, it should be fairly low volume spam (and can be relaxed at a later date).

----

This approach uses indexeddb (through a mutex library) to manage which tab actually triggers the refresh, preventing issues where multiple tabs try to update the token. If multiple tabs update the token then the server might consider the account hacked and hard logout all the tokens.

If for some reason the timer code gets it wrong, or the user has been offline for too long and the token can't be refreshed, they should be sent to a soft logout screen by the server. This will retain the user's encryption state - they simply need to reauthenticate to get an active access token again.

This additionally contains a change to fix soft logout not working, per the issue links above.

Of interest may be the IPC approach which was ultimately declined in favour of this change instead: https://github.com/matrix-org/matrix-react-sdk/pull/7803
2022-02-15 20:16:49 +00:00
Michael Telatynski
8d4e83084c Remove Countly analytics integration (#7808) 2022-02-15 16:58:30 +00:00
J. Ryan Stinnett
6199c337ea Fix spacing errors (#7484) 2022-01-10 12:57:20 +00:00
Kerry
fed53a268b A11y - fix anchors-as-buttons (#7444)
* add link_inline accessiblebutton variant

* valid anchors in SecurityRoomSettingsTab

Signed-off-by: Kerry Archibald <kerrya@element.io>

* new room intro link button

Signed-off-by: Kerry Archibald <kerrya@element.io>

* replace anchor with button in rerequest encryption keys message

Signed-off-by: Kerry Archibald <kerrya@element.io>

* inline button in UrlPreviewSettings

Signed-off-by: Kerry Archibald <kerrya@element.io>

* ButtonResetDefault mixin

Signed-off-by: Kerry Archibald <kerrya@element.io>

* inline link buttons in TextForEvent

Signed-off-by: Kerry Archibald <kerrya@element.io>

* fix anchors in InviteDialog

Signed-off-by: Kerry Archibald <kerrya@element.io>

* fix anchors in DevToolsDialog

Signed-off-by: Kerry Archibald <kerrya@element.io>

* fix anchors in login/registration/reset pword flows

Signed-off-by: Kerry Archibald <kerrya@element.io>

* fix types after fixing anchors in devtools

Signed-off-by: Kerry Archibald <kerrya@element.io>

* fix anchors in MemberEventListSummary

Signed-off-by: Kerry Archibald <kerrya@element.io>

* fix anchors in ReactionsRow and RoomUpgrade

Signed-off-by: Kerry Archibald <kerrya@element.io>

* fix anchors in ReplyChain

Signed-off-by: Kerry Archibald <kerrya@element.io>

* fix more anchors

Signed-off-by: Kerry Archibald <kerrya@element.io>

* fix anchors in auth comps

* stylelint fixes

Signed-off-by: Kerry Archibald <kerrya@element.io>

* remove ignore of jsx-a11y rule that is not added yet

Signed-off-by: Kerry Archibald <kerrya@element.io>

* devtools style important explainer

Signed-off-by: Kerry Archibald <kerrya@element.io>

* translate button alt in devtools dialog

Signed-off-by: Kerry Archibald <kerrya@element.io>

* AccessibleButton is reactionsrow

Signed-off-by: Kerry Archibald <kerrya@element.io>

* fix viewsourcevent button placement, use AccessibleButton

Signed-off-by: Kerry Archibald <kerrya@element.io>

* use AccessibleButton in EventTile

Signed-off-by: Kerry Archibald <kerrya@element.io>

* unignore jsx-a11y/anchor-is-valid

Signed-off-by: Kerry Archibald <kerrya@element.io>

* fix lint issue in test jsx

Signed-off-by: Kerry Archibald <kerrya@element.io>

* update coment

Signed-off-by: Kerry Archibald <kerrya@element.io>
2022-01-07 10:40:53 +01:00
Faye Duxovni
a4fda7e25d Consistently use the word "device", rather than "session" or "login", in verification dialog (#7474) 2022-01-06 16:57:49 -05:00
Michael Telatynski
7033f8696a Improve typing (#7349) 2021-12-14 15:34:54 +00:00
Aaron Raimist
2e8a93834b Auto fix
Signed-off-by: Aaron Raimist <aaron@raim.ist>
2021-12-09 09:10:23 +00:00
Aaron Raimist
7b94e13a84 Merge branch 'develop' into sort-imports
Signed-off-by: Aaron Raimist <aaron@raim.ist>
2021-12-09 08:34:20 +00:00
Michael Telatynski
675901f629 Fixes more instances of double-translation (#7259) 2021-12-02 13:42:47 +00:00
Michael Telatynski
5e77822bcc Fix broken i18n in Forgot & Change password (#7252) 2021-12-01 17:33:55 +00:00
Paulo Pinto
646f87b2db In forgot password screen, show validation errors inline in the form, instead of in modals (#7113) 2021-11-12 11:39:39 +00:00
Šimon Brandner
f08c0b3592 Remove sdk.getComponent() where possible (#7091) 2021-11-08 10:27:52 +00:00
Michael Telatynski
e26abbba72 Do pre-submit availability check on username during registration (#6978) 2021-11-04 10:25:26 +00:00
Faye Duxovni
d61a83a7b9 Remove all directional quotation marks in the codebase (#7059) 2021-10-29 21:59:21 -04:00
Faye Duxovni
d88b8efd19 Improve device list in Security & Privacy settings (#7004)
Overhaul the device list in the "Security and Privacy" settings tab to include device trust status, provide buttons for verifying unverified devices, and improve overall usability and style. This should now be the primary interface for checking and changing the trust status of your own devices, rather than looking at your own user profile in the right panel.
2021-10-29 18:11:39 -04:00
Aaron Raimist
f738ad51bd Autofix
Signed-off-by: Aaron Raimist <aaron@raim.ist>
2021-10-27 21:53:12 -05:00
Aaron Raimist
f3867ad0a9 Merge branch 'develop' into sort-imports 2021-10-27 21:50:56 -05:00
Paulo Pinto
6a3fb5cbb4 Add EmailField component for login, registration and password recovery screens (#7006)
Co-authored-by: Michael Telatynski <7t3chguy@gmail.com>
2021-10-27 09:52:34 +01:00
Aaron Raimist
bdc56be863 Auto fix
Signed-off-by: Aaron Raimist <aaron@raim.ist>
2021-10-22 17:23:37 -05:00
Michael Telatynski
a9c27e22b5 Handle and i18n M_THREEPID_IN_USE during registration (#6986) 2021-10-19 15:31:07 +00:00
Paulo Pinto
9c786717b8 Validate email address in forgot password dialog (#6983) 2021-10-19 16:22:27 +01:00
Dariusz Niemczyk
5e73a212f4 Replace console.error with logger.error
Related https://github.com/vector-im/element-web/issues/18425
2021-10-18 14:08:23 +02:00
Faye Duxovni
9a16b4636f Make cross-signing dialog clearer and more context-aware
- Don't show loading spinners while waiting for user action
- When checking if there are other devices we can verify against, only
  look for devices that are actually cross-signed.
- Adjust displayed options depending on whether other devices and/or
  recovery keys exist, and add an option to reset cross-signing keys
  if necessary.
- Various minor clarifying adjustments to UI styling/text

Signed-off-by: Faye Duxovni <fayed@element.io>
2021-10-05 00:54:20 -04:00
Dariusz Niemczyk
2d1d42b90e Globally replace all console.logs via codemod (#6827)
This commit replaces all the `console.log` to `logger.log` via an automated script.
Related: vector-im/element-web#18425
2021-09-21 09:48:09 -06:00
Dariusz Niemczyk
f50d9b729f Update src/components/structures/auth/ForgotPassword.tsx
Co-authored-by: Šimon Brandner <simon.bra.ag@gmail.com>
2021-08-19 10:08:42 +02:00
Dariusz Niemczyk
01ecdd2e6b Update src/components/structures/auth/ForgotPassword.tsx
Co-authored-by: Šimon Brandner <simon.bra.ag@gmail.com>
2021-08-19 10:08:37 +02:00
Dariusz Niemczyk
b9604d1fb5 Make ForgotPassword UX slightly more user friendly 2021-08-19 09:12:52 +02:00
Michael Telatynski
f5630acea7 Adhere to better eslint rules 2021-07-23 10:35:10 +01:00
Michael Telatynski
ce78cdf4ad Conform to new react and typescript eslint rules 2021-07-19 22:43:11 +01:00
David Baker
72acd5a611 Merge pull request #6330 from matrix-org/dbkr/tsify_secretstorage
Update import location for types
2021-07-08 09:18:31 +01:00
David Baker
086a8cbbb3 Update import location for types
Apparently all the types themselves are fine, even though some of
the function signatures have been updated to return Promises... we
were alreaady await-ing on them.
2021-07-07 20:19:52 +01:00
Šimon Brandner
14303a4ca8 Delint
Signed-off-by: Šimon Brandner <simon.bra.ag@gmail.com>
2021-07-07 17:20:31 +02:00
Šimon Brandner
f91b35a0a0 Merge remote-tracking branch 'upstream/develop' into burn-sdk-get-comp-with-fire
Signed-off-by: Šimon Brandner <simon.bra.ag@gmail.com>
2021-07-07 17:12:19 +02:00
Germain Souquet
f4ec197513 Migrate ForgotPassword to TypeScript 2021-07-03 11:55:10 +01:00
Germain Souquet
298a338676 Migrate CompleteSecurity to TypeScript 2021-07-03 11:38:51 +01:00
Germain Souquet
dbd102541e Migrate E2eSetup to TypeScript 2021-07-03 11:37:06 +01:00
Šimon Brandner
68011056cc Eleventh and final batch of burning
Signed-off-by: Šimon Brandner <simon.bra.ag@gmail.com>
2021-07-03 12:24:07 +02:00
Šimon Brandner
5d054519dc Tenth batch of burning
Signed-off-by: Šimon Brandner <simon.bra.ag@gmail.com>
2021-07-03 11:57:05 +02:00
Šimon Brandner
916589e2b9 Eighth batch of burning
Signed-off-by: Šimon Brandner <simon.bra.ag@gmail.com>
2021-07-03 11:24:33 +02:00
Šimon Brandner
9d569c378e Second batch of burning
Signed-off-by: Šimon Brandner <simon.bra.ag@gmail.com>
2021-07-02 17:08:27 +02:00
David Baker
80f5232217 Comply with new member-delimiter-style rule
Just `eslint --fix` with rule from
https://github.com/matrix-org/eslint-plugin-matrix-org/pull/9 in place
2021-07-01 23:23:03 +01:00
David Baker
c6d1dc7e8e lint 2021-07-01 15:11:18 +01:00
David Baker
16fb24fa09 Remove unused prop 2021-07-01 14:03:01 +01:00
David Baker
642405dbd0 Use new types 2021-07-01 13:55:57 +01:00
David Baker
70a3679d43 more ts 2021-07-01 13:49:58 +01:00
David Baker
46b2f0404a Basic ts-ification of SetupEncryptionBody 2021-07-01 13:45:33 +01:00
J. Ryan Stinnett
0551becafd Fix long lines 2021-06-29 13:42:51 +01:00
J. Ryan Stinnett
ae0a8b8da4 Auto-fix lint errors 2021-06-29 13:11:58 +01:00
J. Ryan Stinnett
538165d515 Fix phase enum usage in JS modules as well
https://github.com/matrix-org/matrix-react-sdk/pull/6185 converted
`SetupEncryptionStore` to TS, including moving the phase states to an enum. The
calling JS modules were forgotten, so they got a bit confused.

Fixes https://github.com/vector-im/element-web/issues/17689
Regressed by https://github.com/matrix-org/matrix-react-sdk/pull/6185
2021-06-18 14:05:12 +01:00