ce2a9d7036
Fix test
2023-01-25 10:59:03 +00:00
40a4c8d954
Merge branch 'develop' into megolm-cancellation
2023-01-24 12:20:42 -05:00
7ed787b86a
Fix bug in getRoomUpgradeHistory's verifyLinks functionality ( #3089 )
2023-01-24 13:44:03 +00:00
a58a36e062
Tests for getRoomUpgradeHistory ( #3088 )
2023-01-24 10:45:04 +00:00
d6b8332567
Element-R: stub implementations of some methods ( #3075 )
...
These are all called by the react-sdk when showing an encrypted event:
* `getEventEncryptionInfo`
* `checkUserTrust`
* `checkDeviceTrust`
I don't particularly want to keep this API, but as a rapid means to an end,
let's stub them for now.
2023-01-18 12:07:49 +00:00
1ee487a2ff
Make prepareToEncrypt cancellable.
...
NOTE: This commit introduces a backwards-compatible API change.
Adds the ability to cancel `MegolmEncryption#prepareToEncrypt` by returning
a cancellation function. The bulk of the processing happens in
`getDevicesInRoom`, which now accepts a 'getter' that allows the caller to
indicate cancellation.
See https://github.com/matrix-org/matrix-js-sdk/issues/1255
Closes #1255
Signed-off-by: Clark Fischer <clark.fischer@gmail.com >
2023-01-16 10:23:13 -08:00
b76e7ca782
Reduce blocking while pre-fetching Megolm keys
...
Currently, calling `Client#prepareToEncrypt` in a megolm room has the potential
to block for multiple seconds while it crunches numbers.
Sleeping for 0 seconds (approximating `setImmediate`) allows the engine to
process other events, updates, or re-renders in between checks.
See
- https://github.com/vector-im/element-web/issues/21612
- https://github.com/vector-im/element-web/issues/11836
Signed-off-by: Clark Fischer <clark.fischer@gmail.com >
2023-01-16 10:11:37 -08:00
ddce1bcd28
Add async setImmediate
util
...
Adds an async/promise-based version of `setImmediate`. Note that, despite being
poorly adopted, `setImmediate` is polyfilled, and should be more performant
than `sleep(0)`.
Signed-off-by: Clark Fischer <clark.fischer@gmail.com >
2023-01-16 10:11:37 -08:00
a34d06c7c2
Correctly handle limited sync responses by resetting the thread timeline ( #3056 )
...
* Reset thread livetimelines when desynced
* Implement workaround for https://github.com/matrix-org/synapse/issues/14830
2023-01-16 16:27:28 +00:00
7b10fa367d
Merge pull request #3066 from matrix-org/dbkr/olm_savesession_undecryptable_todevice_debug
...
Add some debugging & a debug event for decryption
2023-01-13 21:40:36 +00:00
7f5d7091de
Fix typos in src/webrtc/
( #3065 )
2023-01-13 19:56:55 +01:00
96f673ae92
Merge branch 'develop' into dbkr/olm_savesession_undecryptable_todevice_debug
2023-01-13 18:36:22 +00:00
79faee7a67
Add emit so tests don't throw
2023-01-13 18:32:21 +00:00
bc78784688
Extract v1 extensible events polls types out of the events-sdk ( #3062 )
...
* Extract v1 extensible events polls out of events-sdk
* Appease tsdoc?
* Appease naming standards
* Bring the tests over too
2023-01-13 10:02:27 -07:00
d23c3cb8b2
Improve logging in legacy megolm code ( #3043 )
...
* Use a PrefixedLogger throughout `megolm.ts`
Rather than manually adding `in ${this.roomId}` to each log line, use a
PrefixedLogger to achieve the same effect more consistently.
* Clean up logging in megolm.ts
Where we log a list of devices, we don't need the whole deviceinfo, just the
device id. All that noise makes it very hard to read the logs.
* Log users that we find in the room when encrypting
* Reduce log verbosity on decryption retries
2023-01-12 11:49:32 +00:00
8e29f8ead0
Improve hasUserReadEvent and getUserReadUpTo realibility with threads ( #3031 )
...
Co-authored-by: Patrick Cloke <clokep@users.noreply.github.com >
Co-authored-by: Richard van der Hoff <1389908+richvdh@users.noreply.github.com >
2023-01-11 09:53:27 +00:00
c6090325b3
Update id string to reflect spec
2023-01-10 13:29:06 +00:00
7de4164444
Factor out a (public) function to find a room's predecessor
2023-01-10 10:16:22 +00:00
e2ce379b56
Merge pull request #3038 from andybalaam/andybalaam/tests-for-getVisibleRooms
...
Tests for getVisibleRooms
2023-01-10 10:07:53 +00:00
424212cd65
Merge pull request #2915 from matrix-org/madlittlemods/stablize-msc3030-timestamp-to-event
...
Prefer stable `/timestamp_to_event` endpoint first - MSC3030
2023-01-09 17:01:10 +00:00
8a4c95ee72
Tests for getVisibleRooms
2023-01-09 12:17:53 +00:00
fdb80ad259
Remove video track when muting video ( #3028 )
2023-01-06 12:09:01 -05:00
981acf0044
Rename test to fit renamed function.
...
Co-authored-by: Eric Eastwood <erice@element.io >
2023-01-06 16:38:02 +00:00
f00f70bfb8
Merge branch 'develop' into madlittlemods/stablize-msc3030-timestamp-to-event
2023-01-06 15:38:08 +00:00
12cc7be31c
Test 400, 429 and 502 responses
2023-01-06 15:33:48 +00:00
628bcbf33a
Fall back to the unstable endpoint if we receive a 405 status
2023-01-06 15:22:58 +00:00
c4ca0b2e07
Refactor timestampToEvent tests
2023-01-06 15:13:44 +00:00
d7442147b9
Rename convertQueryDictToMap
2023-01-06 14:21:35 +00:00
b1566ee540
Switch to a Map for convertQueryDictToStringRecord
2023-01-06 14:20:24 +00:00
ca98d9ff11
Tests for convertQueryDictToStringRecord
2023-01-06 14:20:24 +00:00
bb23df9423
Add alt event type matching in Relations model ( #3018 )
...
* allow alt event types in relations model
* remove unneccesary checks on remove relation
* comment
* assert on event emitted
2023-01-05 20:00:12 +00:00
d02559cf3c
Make error handling in decryptionLoop more generic ( #3024 )
...
Not everything is a `DecryptionError`, and there's no real reason that we
should only do retries for `DecryptionError`s
2023-01-05 15:02:19 +00:00
ec6272aa3d
Fix outgoing messages for rust-crypto ( #3025 )
...
It turns out that MatrixClient uses a `FetchHttpApi` instance with
`opts.onlyData = true`, so it was returning the json-parsed response rather
than the raw response. Change the way we call `authedRequest` so that we get
the raw body back.
2023-01-05 15:00:37 +00:00
695b773f8b
Fix false key requests after verifying new device ( #3029 )
2023-01-05 15:27:09 +01:00
030abe1563
Pass to-device messages into rust crypto-sdk ( #3021 )
...
We need a separate API, because `ClientEvent.ToDeviceEvent` is only emitted for
successfully decrypted to-device events
2023-01-05 09:54:56 +00:00
9ac7165e99
Handle outgoing requests from rust crypto SDK ( #3019 )
...
The rust matrix-sdk-crypto has an `outgoingRequests()` method which we need to poll, and make the requested requests.
2023-01-04 12:17:42 +00:00
6168cedf32
Avoid triggering decryption errors when decrypting redacted events ( #3004 )
2023-01-03 11:06:54 -05:00
7d37bb1edb
Remove usage of v1 Identity Server API ( #3003 )
...
* Remove usage of v1 Identity Server API
It's been deprecated for over a year at this point - everyone should be able to support v2.
* Missed one.
2023-01-03 00:59:12 -07:00
aead401005
Apply edits discovered from sync after thread is initialised ( #3002 )
2022-12-22 08:54:55 +00:00
45f6c5b079
Add exportRoomKeys
to CryptoBackend
( #2970 )
...
Element-web calls `exportRoomKeys` on logout, so we need a stub implementation
to get it EW working with the rust crypto sdk.
2022-12-20 11:11:00 +00:00
b83c372848
Implement MSC3912: Relation-based redactions ( #2954 )
2022-12-20 09:22:26 +01:00
6d58a54039
Don't use RoomMember
as a calls
a key on GroupCall
( #2993 )
2022-12-19 14:53:08 +01:00
4683fbe848
Merge branch 'develop' into madlittlemods/stablize-msc3030-timestamp-to-event
...
Conflicts:
spec/unit/matrix-client.spec.ts
2022-12-16 00:56:06 -06:00
447319737a
Merge pull request #2920 from Anderas/resume-todevice-queue
...
Resume to-device message queue after resumed sync
2022-12-14 14:27:47 +00:00
b2a10e6db3
Support MSC3391: Account data deletion ( #2967 )
...
* add deleteAccountData endpoint
* check server support and test
* test current state of memorystore
* interpret account data events with empty content as deleted
* add handling for (future) stable version of endpoint
* add getSafeUserId
* user getSafeUserId in deleteAccountData
* better jsdoc for throws documentation
2022-12-14 04:14:21 +00:00
a0aa5074ed
Fix prefix lint
...
See https://github.com/matrix-org/matrix-js-sdk/pull/2915#discussion_r1043951639
2022-12-13 16:37:47 -06:00
70a033c2fd
Prettier fixes
2022-12-13 16:26:14 -06:00
fcf12b49e3
Merge branch 'develop' into madlittlemods/stablize-msc3030-timestamp-to-event
...
Conflicts:
spec/unit/matrix-client.spec.ts
src/client.ts
2022-12-13 16:18:33 -06:00
193c38523c
Fix messages loaded during initial fetch ending up out of order ( #2971 )
...
* Fix messages loaded during initial fetch ending up out of order
2022-12-13 15:23:43 +01:00
11ac3d9e58
Add unit tests
2022-12-13 12:26:52 +00:00