Bruno Windels
920fedae5e
merge master into bwindels/calls
2023-01-20 16:24:38 +01:00
Bruno Windels
155f4beba8
add devicesForUser to fetch devices for untracked room
...
and use it when fetching senders to verify.
2022-11-10 17:53:11 +01:00
Bruno Windels
3d5a733267
split up _devicesForUserIds to reuse with different outdated criteria
2022-11-10 17:51:40 +01:00
Bruno Windels
c78bed846e
create unknown userIdentity when processing /keys/query response
...
this can happen when the room isn't tracked yet, which is a use case
we add support for in the next commit to verify senders that we don't
know about yet (e.g. when the room isn't tracked).
2022-11-10 17:28:18 +01:00
Bruno Windels
31579b4945
when tracking room, check roomId isn't on user we shouldn't share with
2022-11-10 17:26:50 +01:00
Bruno Windels
47d557b38d
expand comment how to handle race here
2022-11-10 17:20:59 +01:00
Bruno Windels
25c8f1cf04
always return a promise from this method, even if nothing to verify
2022-11-03 16:36:31 +01:00
Bruno Windels
cd5343414a
fix lint
2022-10-28 17:16:32 +02:00
Bruno Windels
6dbcd46d80
cleanup of ctor
2022-10-28 16:31:00 +02:00
Bruno Windels
fcb1546fba
fetch keys as part of afterSyncCompleted step
...
remove needsAfterSyncCompleted step as well, performance difference
should be neglible
2022-10-28 16:25:31 +02:00
Bruno Windels
9c13b2b4a4
add method to fetch missing sender keys
2022-10-28 16:09:03 +02:00
Bruno Windels
c544819b42
rename and refactor method to verify locally known senders a bit
...
to differentiate with method to come for verifying senders that need to
be fetched still, and also allow reuse of verification logic by said new
method.
Also get rid of roomTracked flag in DecryptionResult as once we fetch
unknown senders (in commit to come), we should now always have a device,
unless the device isn't known on the server,
in which case we should shout.
2022-10-28 15:35:31 +02:00
Bruno Windels
6f0e781b49
WIP
2022-09-26 19:15:13 +02:00
Bruno Windels
7ce5cdfc4a
prevent concurrent calls of OlmEncryption.encrypt to OOM olm wasm heap
...
This is being triggered by connecting to many call members at once,
while encrypting the signaling messages. This keeps many olm.Session
objects into memory at the same time, which makes olm run out of
wasm heap memory.
2022-09-22 13:19:56 +02:00
Bruno Windels
cb0ac846c7
remove obsolete comment
2022-07-29 16:22:01 +02:00
Bruno Windels
62b3a67e33
write unit tests for correctly reading history visibility when needed
2022-07-28 17:09:41 +02:00
Bruno Windels
319ec37864
fix typos preventing to load the history visibility
2022-07-28 11:44:50 +02:00
Bruno Windels
0df66b5aea
track room before listing user ids when sharing key
2022-07-27 12:06:55 +02:00
Bruno Windels
f18520a2fe
let loadMembers use own txn in case members haven't been fetched yet
...
if they haven't, it will need a network request, meaning that the txn
will get closed, so we can't reuse it afterwards
2022-07-27 11:39:50 +02:00
Bruno Windels
50b6ee91d7
don't need history visibility here
2022-07-27 11:39:36 +02:00
Bruno Windels
544afef902
test adding and removing when tracking multiple rooms
2022-07-26 17:41:26 +02:00
Bruno Windels
dd878bb8d6
also take rejecting invites into account to remove user identity
2022-07-26 16:58:07 +02:00
Bruno Windels
dea3852425
add some tests for sharing keys with invitees
2022-07-26 16:57:28 +02:00
Bruno Windels
4c17612b05
allow passing txn to loadMembers so we can do it as part of sync txn
...
to rewrite useridentities upon receiving new history visibility
2022-07-26 16:53:02 +02:00
Bruno Windels
a23df8a545
pass history visibility to device tracker
...
and delegate adding and removing members to share keys with to it
2022-07-22 17:49:59 +02:00
Bruno Windels
17f42f523a
add write method for when history visibility changes
...
also returning added and removed user ids
2022-07-22 17:49:26 +02:00
Bruno Windels
f6011f3f34
take history visibility into account in device tracker
...
and return added and removed userids to their userIdentity for the given
room, so room encryption can share and discard the keys for them
2022-07-22 17:48:26 +02:00
Bruno Windels
86c0e9e669
logic for whether a key should be shared by membership and h. visibility
2022-07-22 17:46:53 +02:00
Bruno Windels
f337940202
this migration shouldn't be needed anymore
...
and undoes the export of addRoomToIdentity, which is somewhat internal
2022-07-22 17:46:29 +02:00
Bruno Windels
c8a8eb10b5
get user ids for sharing a new key when the message is sent
...
rather than when the key happens to get sent
2022-07-20 15:21:33 +02:00
Bruno Windels
d79e5f7806
create key share operations for invitees when history visibility=invited
2022-07-20 15:20:23 +02:00
Bruno Windels
a014740e72
don't throw when we can't encrypt, just fall back to sending unencrypted
2022-06-01 15:55:43 +02:00
Bruno Windels
9efe294a79
fetch and verify keys on olm call signalling message
2022-06-01 15:29:24 +02:00
Bruno Windels
6f0ebeacb7
fetch single device key in DeviceTracker
2022-06-01 15:27:00 +02:00
Bruno Windels
9384fdc885
Merge branch 'bwindels/fix-tracker-changed-key-check' into bwindels/calls
2022-05-31 13:46:10 +02:00
Bruno Windels
c62c8da10b
fix changed key not being ignored
2022-05-31 13:39:35 +02:00
Bruno Windels
bc51644868
reassignment is not used later on, remove
2022-05-31 13:39:23 +02:00
Bruno Windels
3d3d590334
add failing test for device with changed key being returned
2022-05-31 13:39:05 +02:00
Bruno Windels
11d7535c23
add some basic tests (with mock utils) for DeviceTracker
2022-05-31 13:38:34 +02:00
Bruno Windels
0a37fd561e
just enough view code to join a call
2022-03-29 12:01:47 +02:00
Bruno Windels
07bc0a2376
move observable values each in their own file
2022-03-29 12:01:46 +02:00
Bruno Windels
6da4a4209c
WIP: work on group calling code
2022-03-29 12:01:46 +02:00
Bruno Windels
46ebd55092
WIP
2022-03-29 12:01:46 +02:00
Bruno Windels
b6d9993ed0
remove unused import
2022-03-01 17:08:49 +01:00
Bruno Windels
8adc5a9fae
these were public actually
2022-02-18 17:24:55 +01:00
Bruno Windels
3f9f0e98c7
remove unused olm property in SenderKeyDecryption
2022-02-18 17:21:27 +01:00
Bruno Windels
82299e5aea
Update src/matrix/e2ee/olm/Decryption.ts
...
Co-authored-by: R Midhun Suresh <hi@midhun.dev>
2022-02-18 17:18:33 +01:00
Bruno Windels
3330530f68
Update src/matrix/e2ee/DecryptionResult.ts
...
Co-authored-by: R Midhun Suresh <hi@midhun.dev>
2022-02-18 17:18:25 +01:00
Bruno Windels
620409b3f0
fixup: ctor argument order
...
as it was an object before, order didn't matter
2022-02-18 17:17:24 +01:00
Bruno Windels
78e0bb1ff0
replace isPreKeyMessage with const enum
2022-02-18 17:00:56 +01:00