Michael Telatynski
9f2f08dfd3
Fix more typescript --strict violations ( #2795 )
...
* Stash tsc fixes
* Iterate
* Iterate
* Iterate
* Fix tests
* Iterate
* Iterate
* Iterate
* Iterate
* Add tests
2022-10-25 18:31:40 +01:00
Michael Telatynski
867a0ca7ee
Apply more strict typescript around the codebase ( #2778 )
...
* Apply more strict typescript around the codebase
* Fix tests
* Revert strict mode commit
* Iterate strict
* Iterate
* Iterate strict
* Iterate
* Fix tests
* Iterate
* Iterate strict
* Add tests
* Iterate
* Iterate
* Fix tests
* Fix tests
* Strict types be strict
* Fix types
* detectOpenHandles
* Strict
* Fix client not stopping
* Add sync peeking tests
* Make test happier
* More strict
* Iterate
* Stabilise
* Moar strictness
* Improve coverage
* Fix types
* Fix types
* Improve types further
* Fix types
* Improve typing of NamespacedValue
* Fix types
2022-10-21 11:44:40 +01:00
Valere
1c3dd0e51e
Encryption should not hinder verification ( #2734 )
...
Co-authored-by: Faye Duxovni <fayed@matrix.org >
2022-10-18 15:56:34 -04:00
Michael Telatynski
30570bcce6
Remove node-specific crypto bits, use Node 16's WebCrypto ( #2762 )
2022-10-17 17:54:54 +01:00
Michael Telatynski
34c5598a3f
Modernize http-api - move from browser-request
to fetch
( #2719 )
2022-10-12 18:59:04 +01:00
Faye Duxovni
4ba083e6af
Bump IDB crypto store version ( #2705 )
...
* Bump IDB crypto store version
* lint fix
2022-09-28 15:39:37 +01:00
RiotRobot
a587d7c360
Resolve multiple CVEs
...
CVE-2022-39249
CVE-2022-39250
CVE-2022-39251
CVE-2022-39236
2022-09-28 13:55:15 +01:00
Kerry
9ff11d1f32
test typescriptification - last few unit test files ( #2675 )
...
* renamed: spec/unit/crypto/verification/sas.spec.js -> spec/unit/crypto/verification/sas.spec.ts
* ts issues in sas.spec
* renamed: spec/unit/crypto/verification/secret_request.spec.js -> spec/unit/crypto/verification/secret_request.spec.ts
* ts issues in secret_request.spec
* renamed: spec/unit/crypto/verification/verification_request.spec.js -> spec/unit/crypto/verification/verification_request.spec.ts
* ts fix verification_req.spec
* renamed: spec/browserify/sync-browserify.spec.js -> spec/browserify/sync-browserify.spec.ts
* fix strict
* formatting
2022-09-16 16:00:40 +00:00
Kerry
41ab3337b5
test typescriptification - spec/unit/crypto/verification ( #2673 )
...
* renamed: spec/unit/crypto/verification/request.spec.js -> spec/unit/crypto/verification/request.spec.ts
* renamed: spec/unit/crypto/verification/qr_code.spec.js -> spec/unit/crypto/verification/qr_code.spec.ts
* renamed: spec/unit/crypto/verification/InRoomChannel.spec.js -> spec/unit/crypto/verification/InRoomChannel.spec.ts
* fix ts issues in InRoomChannel.spec
* renamed: spec/unit/crypto/verification/util.js -> spec/unit/crypto/verification/util.ts
* fix ts issues in util.t
* fix strict errors in util.ts
* js lint
2022-09-16 10:46:56 +02:00
RiotRobot
bbaa0e6536
Merge branch 'master' into develop
2022-08-31 16:26:39 +01:00
Travis Ralston
8716c1ab9b
Convert several internal maps to real maps
2022-08-31 09:21:46 -06:00
Faye Duxovni
1c77816dbd
Use deep equality comparisons when searching for outgoing key requests by target ( #2623 )
2022-08-27 03:13:08 +00:00
Faye Duxovni
3762c20aad
Revert "Always block sending keys to unverified devices of verified users ( #2562 )" ( #2571 )
...
This will be rolled out again later with more accompanying UI adjustments, including clearer error messages and possibly the option to disable it per-room.
2022-08-08 12:27:41 -04:00
Faye Duxovni
43b453804b
Always block sending keys to unverified devices of verified users ( #2562 )
2022-08-04 11:11:12 -04:00
Robin
c36bfc821c
Add support for sending user-defined encrypted to-device messages ( #2528 )
...
* Add support for sending user-defined encrypted to-device messages
This is a port of the same change from the robertlong/group-call branch.
* Fix tests
* Expose the method in MatrixClient
* Fix a code smell
* Fix types
* Test the MatrixClient method
* Fix some types in Crypto test suite
* Test the Crypto method
* Fix tests
* Upgrade matrix-mock-request
* Move useRealTimers to afterEach
2022-08-03 16:16:48 +00:00
David Baker
7e784da00a
Retry to-device messages ( #2549 )
...
* Retry to-device messages
This adds a queueToDevice API alongside sendToDevice which is a
much higher-level API that adds the messages to a queue, stored in
persistent storage, and retries them periodically. Also converts
sending of megolm keys to use the new API.
Other uses of sendToDevice are nopt converted in this PR, but could
be later.
Requires https://github.com/matrix-org/matrix-mock-request/pull/17
* Bump matrix-mock-request
* Add more waits to make indexeddb tests pass
* Switch some test expectations to queueToDevice
* Stop straight away if the client has been stopped
Hopefully will fix tests being flakey and logging after tests have
finished.
* Add return types & fix constant usage
* Fix return type
Co-authored-by: Germain <germains@element.io >
* Fix return type
Co-authored-by: Germain <germains@element.io >
* Fix return type
Co-authored-by: Germain <germains@element.io >
* Stop the client in all test cases
Co-authored-by: Germain <germains@element.io >
2022-08-03 13:32:58 +01:00
Kerry
ab89804c55
test typescriptification: unit/crypto/algorithm specs ( #2538 )
...
* typescriptify megolm.spec
* add copyright
* renamed: spec/unit/crypto/algorithms/olm.spec.js -> spec/unit/crypto/algorithms/olm.spec.ts
* fix ts issues in olm.spec
* remove comment
* more types in megolm and olm specs
2022-07-27 17:43:17 +02:00
Hubert Chathi
7e8dfa56d0
Support fixed base64 in SAS verification ( #2320 )
2022-07-20 09:16:40 -04:00
Travis Ralston
08ab51eeac
Remove unstable support for m.room_key.withheld
( #2512 )
...
We no longer send or receive the unstable type.
2022-07-13 08:56:01 -06:00
Kerry
9b7628c103
test typescriptification - backup.spec ( #2468 )
...
* renamed: spec/unit/crypto/crypto-utils.js -> spec/unit/crypto/crypto-utils.ts
* ts fixes in crypto-utils
* renamed: spec/unit/crypto/backup.spec.js -> spec/unit/crypto/backup.spec.ts
* ts fixes in backup.spec
* remove fit
* remove debug
2022-06-27 07:13:18 +00:00
Michael Telatynski
b9ca3ceacd
Remove unused sessionStore ( #2455 )
...
* Remove unused sessionStorage layer
* Move pending event abstraction into its temporary home
* Add test coverage
* Tweak
* Fix tests mocks
* Add coverage
* Add coverage
2022-06-14 21:29:21 +01:00
Jonathan de Jong
78db74dad8
Various changes to src/crypto
files for correctness ( #2137 )
...
* make various changes for correctness
* apply some review feedback
* Address some review feedback
* add some more correctness
* refactor ensureOutboundSession to fit types better
* change variable naming slightly to prevent confusion
* some wording around exception-catching
* Tidy test
* Simplify
* Add tests
* Add more test coverage
* Apply suggestions from code review
Co-authored-by: Travis Ralston <travpc@gmail.com >
* Update crypto.spec.js
* Update spec/unit/crypto.spec.js
Co-authored-by: Faye Duxovni <duxovni@duxovni.org >
Co-authored-by: Michael Telatynski <7t3chguy@gmail.com >
Co-authored-by: Travis Ralston <travpc@gmail.com >
Co-authored-by: Faye Duxovni <duxovni@duxovni.org >
2022-06-13 19:05:03 +00:00
Kerry
2c2686c910
Test typescriptification - cross-signing.spec ( #2441 )
...
* enamed: spec/unit/crypto/secrets.spec.js -> spec/unit/crypto/secrets.spec.ts
Signed-off-by: Kerry Archibald <kerrya@element.io >
* fix ts issues in secrets.spec
Signed-off-by: Kerry Archibald <kerrya@element.io >
* renamed: spec/unit/crypto/outgoing-room-key-requests.spec.js -> spec/unit/crypto/outgoing-room-key-requests.spec.ts
Signed-off-by: Kerry Archibald <kerrya@element.io >
* fix ts issues in outgoing-room-key-requests.spec.ts
Signed-off-by: Kerry Archibald <kerrya@element.io >
* renamed: spec/unit/crypto/DeviceList.spec.js -> spec/unit/crypto/DeviceList.spec.ts
Signed-off-by: Kerry Archibald <kerrya@element.io >
* fix ts issues in DeviceList.spec
Signed-off-by: Kerry Archibald <kerrya@element.io >
* renamed: spec/unit/crypto/CrossSigningInfo.spec.js -> spec/unit/crypto/CrossSigningInfo.spec.ts
Signed-off-by: Kerry Archibald <kerrya@element.io >
* fix ts issues in CrossSigningInfo.spec
Signed-off-by: Kerry Archibald <kerrya@element.io >
* renamed: spec/unit/crypto/cross-signing.spec.js -> spec/unit/crypto/cross-signing.spec.ts
Signed-off-by: Kerry Archibald <kerrya@element.io >
* fix most function call types in cross-signing.spec
Signed-off-by: Kerry Archibald <kerrya@element.io >
* typed events in cross-signing
Signed-off-by: Kerry Archibald <kerrya@element.io >
* type cross signing keys
Signed-off-by: Kerry Archibald <kerrya@element.io >
* convince the rest of the key types in cross-signing.spec
Signed-off-by: Kerry Archibald <kerrya@element.io >
* use correct type for IDevice
2022-06-08 13:03:02 +00:00
Kerry
8f5162c40d
Test typescriptification - crypto unit tests pt 1 ( #2440 )
...
* enamed: spec/unit/crypto/secrets.spec.js -> spec/unit/crypto/secrets.spec.ts
Signed-off-by: Kerry Archibald <kerrya@element.io >
* fix ts issues in secrets.spec
Signed-off-by: Kerry Archibald <kerrya@element.io >
* renamed: spec/unit/crypto/outgoing-room-key-requests.spec.js -> spec/unit/crypto/outgoing-room-key-requests.spec.ts
Signed-off-by: Kerry Archibald <kerrya@element.io >
* fix ts issues in outgoing-room-key-requests.spec.ts
Signed-off-by: Kerry Archibald <kerrya@element.io >
* renamed: spec/unit/crypto/DeviceList.spec.js -> spec/unit/crypto/DeviceList.spec.ts
Signed-off-by: Kerry Archibald <kerrya@element.io >
* fix ts issues in DeviceList.spec
Signed-off-by: Kerry Archibald <kerrya@element.io >
2022-06-08 12:39:08 +02:00
Kerry
518e16e6d5
matrix-mock-request to 2.0.1 ( #2416 )
...
* matrix-mock-request to 2.0.0
Signed-off-by: Kerry Archibald <kerrya@element.io >
* track and destroy timeouts from test client
Signed-off-by: Kerry Archibald <kerrya@element.io >
* remove debug
Signed-off-by: Kerry Archibald <kerrya@element.io >
* fix bad property refernce caught by ts TestClient
Signed-off-by: Kerry Archibald <kerrya@element.io >
* Revert "fix bad property refernce caught by ts TestClient"
This reverts commit 92c9f6cb13
.
* update yarn lock
Signed-off-by: Kerry Archibald <kerrya@element.io >
* correct IUploadKeysRequest type
* fix types in TestClient for typed matrix-mock-request
Signed-off-by: Kerry Archibald <kerrya@element.io >
* update to matrix-mock-request 2.0.1
Signed-off-by: Kerry Archibald <kerrya@element.io >
2022-06-03 08:35:26 +00:00
renovate[bot]
a4a50a4a5c
Update jest monorepo (major) ( #2407 )
...
* Update jest monorepo
* -w
* Fix guest rooms test to use async/await instead of a done callback
The done callback was never being called because it relies on a `process.nextTick()` deep within the mock. For this test we don't get a "next tick" because the event loop is busy, so we instead cargocult some test infrastructure from surrounding tests and verify the expected API call was cleared from the queue.
* Enable github-actions reporter
* Don't override local reporters
* Stop DeviceLists at end of tests
* stop more clients
* Fix tests and DRY typing
* Fix client/crypto stopping in tests
* Fix Buffer c'tor deprecated warnings
* Fix devicelist-integ test being excluded due to poor naming
Co-authored-by: Renovate Bot <bot@renovateapp.com >
Co-authored-by: Travis Ralston <travisr@matrix.org >
Co-authored-by: Michael Telatynski <7t3chguy@gmail.com >
2022-05-27 16:16:00 +01:00
Faye Duxovni
db58a66e19
Add method for checking whether our other devices are cross-signed, even when this device isn't ( #2288 )
2022-04-19 15:02:17 +01:00
Michael Telatynski
d6f1c6cfdc
Fix thread & main timeline partitioning logic ( #2264 )
2022-03-31 13:57:37 +01:00
Kerry
57d71ccd0f
Move test-utils into a directory ( #2236 )
...
* move test-utils.js into directory
Signed-off-by: Kerry Archibald <kerrya@element.io >
* fix imports
Signed-off-by: Kerry Archibald <kerrya@element.io >
2022-03-14 14:55:11 +01:00
Hubert Chathi
17f3920ddd
Send and handle stable name for withheld codes ( #2232 )
...
since MSC2399 is finished FCP and it's in the spec, we can use the stable name
now
2022-03-11 16:21:06 -05:00
Germain
9058dbf289
Switch to using stable values for Threads ( #2228 )
2022-03-11 09:04:17 +00:00
Michael Telatynski
12e525b664
Improve typing around event emitter handlers ( #2180 )
2022-02-22 12:18:07 +00:00
Germain
cfd865bf8b
Fetch server capabilities during client initialisation ( #2093 )
2022-01-11 11:53:30 +00:00
Aaron R
80aaa6c32b
Fix imports to work with new lint rules ( #2003 )
...
* Add eslint-plugin-import
Signed-off-by: Aaron Raimist <aaron@raim.ist >
* Autofix
Signed-off-by: Aaron Raimist <aaron@raim.ist >
* Manual fix
Signed-off-by: Aaron Raimist <aaron@raim.ist >
2021-12-09 15:57:43 -07:00
RiotRobot
8ca3a071f9
Merge branch 'master' into develop
2021-09-14 15:51:45 +01:00
David Baker
32d7272939
Tests for key sharing security fix
...
Tests for 894c24880d
2021-09-14 15:24:15 +01:00
Michael Telatynski
3bbb7df72d
fix tests private field access
2021-09-08 12:57:12 +01:00
Michael Telatynski
0830a30498
Fix tests
2021-09-07 14:36:10 +01:00
Hubert Chathi
ef8e4d6d35
fix the tests that got broken by the last commit
2021-07-08 11:19:46 -04:00
Hubert Chathi
9f4c5af665
fix test
2021-07-07 20:19:23 -04:00
Hubert Chathi
17dc1bda19
Merge branch 'develop' into symmetric_backup
2021-07-07 19:19:56 -04:00
Michael Telatynski
40aa6ba96a
Even moar typescriptification
2021-06-24 19:19:41 +01:00
Hubert Chathi
8c9799d64c
add tests and some fixes
2021-06-23 18:20:00 -04:00
Michael Telatynski
3a5e4ffa91
Fix yet more underscored accesses
2021-06-23 15:54:48 +01:00
Michael Telatynski
e9007429dd
fix more underscored accesses
2021-06-23 15:02:01 +01:00
Michael Telatynski
5a8299f1a5
Convert more of js-sdk crypto and fix underscored field accesses
2021-06-23 14:47:25 +01:00
Travis Ralston
c2fae3bad8
Fix missed conversion fallout
2021-06-03 19:02:46 -06:00
Travis Ralston
f53a32a6b4
Merge branch 'develop' into travis/ts-mtxcli
2021-06-03 18:49:08 -06:00
Hubert Chathi
e22ecc6b6d
Merge branch 'develop' into backup_refactor
2021-06-03 18:43:46 -04:00
Travis Ralston
9156bed961
Tests pass 2
2021-06-02 13:42:20 -06:00