Commit Graph

52 Commits (1127db05141db7e1e3882bb27a8611092b0001e5)

Author SHA1 Message Date
Hugh Nimmo-Smith 26b771bbf9
Don't show the prompt to enable desktop notifications immediately after registration (#8274)
* Fix MatrixClientPeg.userRegisteredWithinLastHours so that it works

* Try fixing end-to-end test + add case for New search beta

* Remove end-to-end test case for Search beta toast as it only shows up after 5 minutes

* Revert to localStorage based solution + non-inverted logic + test including time advancement
2022-04-13 19:05:08 +01:00
Travis Ralston b667ef9f18 Step 3.2: Stop using `getComponent` in code 2022-03-28 14:02:31 -06:00
Travis Ralston bd1568f4e4 Un-break crypto for soft logout 2022-02-16 12:33:33 -07:00
Travis Ralston aba61fa390 Revert "Support refresh tokens (#7802)"
This reverts commit 839593412c.
2022-02-16 12:32:38 -07:00
J. Ryan Stinnett 0dc1355441
Fix right panel data flow (#7811) 2022-02-16 11:19:28 +00: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
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 aa7cae08aa
Add utility method mxLoginWithAccessToken to login with existing access token (#7261) 2021-12-02 13:46:44 +00:00
Aaron Raimist bdc56be863
Auto fix
Signed-off-by: Aaron Raimist <aaron@raim.ist>
2021-10-22 17:23:37 -05:00
Germain e20ac7bf1e
Implement deep-linking for threads (matrix.to) (#7003) 2021-10-22 09:30:36 +01:00
Dariusz Niemczyk 5290afcc4c Replace console.warn with logger.warn
Related https://github.com/vector-im/element-web/issues/18425
2021-10-18 14:08:23 +02: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
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
Germain Souquet 54a0a869bf PR feedback 2021-08-24 09:09:28 +01:00
Germain Souquet ac0412d238 rename feature flag for Threads 2021-08-19 12:25:29 +01:00
Michael Telatynski ce78cdf4ad Conform to new react and typescript eslint rules 2021-07-19 22:43:11 +01:00
Michael Telatynski d737b4e6ab Use webpack worker-loader to load the IndexedDB worker instead of homegrown hack 2021-07-12 18:43:20 +01:00
Michael Telatynski bd175c6f40 Improve and consolidate typing 2021-07-10 15:43:46 +01:00
Šimon Brandner dcb5557848
Revert some changes due to failing tests
Signed-off-by: Šimon Brandner <simon.bra.ag@gmail.com>
2021-07-02 18:00:07 +02:00
Šimon Brandner 426c79f47d
Delint
Signed-off-by: Šimon Brandner <simon.bra.ag@gmail.com>
2021-07-02 17:25:30 +02:00
Šimon Brandner a4fe2f143f
First batch of burning
Signed-off-by: Šimon Brandner <simon.bra.ag@gmail.com>
2021-07-02 12:12:41 +02:00
J. Ryan Stinnett ae0a8b8da4 Auto-fix lint errors 2021-06-29 13:11:58 +01:00
Hubert Chathi d5b115dd08 don't overwrite callback with undefined if no customization provided 2021-03-22 19:52:09 -04:00
Timo Kösters f575625c7a
fix: make room directory correct when using a homeserver with explicit port
Server names are allowed to contain ':' to specify a port, see https://matrix.org/docs/spec/appendices#server-name
User ids on the other hand are not allowed to contain ':', even
historical user ids, see https://matrix.org/docs/spec/appendices#historical-user-ids

Therefore we can use change the regex to make sure the localpart is not
allowed to contain ':'.
2021-03-15 23:13:16 +01:00
David Baker bb6659f983 Set ICE candidate pool size option
So we can start candidate gathering in advance
2021-02-16 15:48:58 +00:00
Bruno Windels 067b4ca93e
Merge pull request #5397 from matrix-org/bwindels/customise-dehydration-key
Add customisation point for dehydration key
2020-11-04 17:25:52 +00:00
Bruno Windels f3743f3ca1 fix spelling 2020-11-04 16:53:58 +01:00
Bruno Windels 625e03cde3 allow customising the source of dehydration key 2020-11-04 16:51:45 +01:00
Michael Telatynski 0c14de3017 defer some toasts 2020-11-02 17:25:48 +00:00
J. Ryan Stinnett 2698a12a6f Convert `src/SecurityManager.js` to TypeScript
This includes a few small API tweaks as well, only in cases where TS revealed we
were doing something confusing or wrong.

Part of https://github.com/vector-im/element-web/issues/15350
2020-10-09 17:27:03 +01:00
J. Ryan Stinnett 1b255e42c3 Convert src/Lifecycle.ts to TypeScript 2020-10-07 12:53:59 +01:00
J. Ryan Stinnett 11eb9b59e6 Convert src/Login.js to TypeScript 2020-10-07 11:47:27 +01:00
Hubert Chathi 503f32948c try to unlock secret storage with dehydration key 2020-10-01 21:40:49 -04:00
Hubert Chathi 744f46417a update to latest js-sdk changes 2020-09-30 00:52:47 -04:00
Hubert Chathi 4e2397a79d doc fixes and minor code improvement 2020-09-18 20:53:39 -04:00
Hubert Chathi add36ca4ce Merge branch 'develop' into dehydration 2020-09-18 18:00:41 -04:00
Hubert Chathi 4398f1eb94 support setting up dehydration from blank account, SSO support, and other fixes 2020-09-03 16:28:42 -04:00
J. Ryan Stinnett fb2bde94fa Rename CrossSigningManager to SecurityManager
The file encompasses bits of cross-signing and also secret storage / secure
backup.
2020-09-03 14:50:49 +01:00
Hubert Chathi 1c2e05e925 initial version of device rehydration support 2020-08-31 14:40:16 -04:00
Travis Ralston 9c8682428f Fix various TypeScript linting issues 2020-07-29 11:03:43 -06:00
Jorik Schellekens 05d0309081 Lint a few semicolons 2020-06-18 14:32:43 +01:00
Michael Telatynski 5156388fc6 Change well known poll period to 2 hours to match existing Jitsi poll
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2020-06-03 12:25:57 +01:00
Michael Telatynski cbc2aee746 Add js-sdk mechanism for polling client well-known for config
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2020-06-01 22:35:16 +01:00
Hubert Chathi dc4a2191c1 really fix types 2020-05-28 12:04:32 -04:00
Hubert Chathi 0859827910 fix types 2020-05-28 11:56:48 -04:00
Hubert Chathi 30120dc0c7 Merge remote-tracking branch 'upstream/develop' into keytar 2020-05-28 11:15:36 -04:00
Michael Telatynski 0713139dc5 Merge branches 'develop' and 't3chguy/confusing_copy' of github.com:matrix-org/matrix-react-sdk into t3chguy/confusing_copy 2020-05-26 13:35:18 +01:00
Travis Ralston 1c9b5eb42d Appease the tests 2020-05-25 16:14:51 -06:00
Travis Ralston e5c2d17015 Move the instance definition to the Window 2020-05-25 16:06:05 -06:00
Travis Ralston 0cec74cc2b Appease the linter (and the project)
Also export the interface that the project expects to be able to import :|
2020-05-25 15:59:15 -06:00