Bruno Windels
47a238f498
Merge pull request #81 from vector-im/bwindels/e2ee
...
Implement end-to-end encryption
2020-09-11 12:48:04 +00:00
Bruno Windels
f3d3e3c014
Merge pull request #90 from vector-im/bwindels/room_key_share_operation
...
Store room key shares in operations store
2020-09-11 12:47:13 +00:00
Bruno Windels
e763771cc2
cleanup
2020-09-11 14:45:38 +02:00
Bruno Windels
96119b4e58
load all pending operations when starting the session, pass to room
2020-09-11 14:41:40 +02:00
Bruno Windels
ab1fe711ad
implement room key sharing with operations store
2020-09-11 14:41:12 +02:00
Bruno Windels
b00865510f
add operation store
2020-09-11 14:40:05 +02:00
Bruno Windels
9f6822f362
remove needsRoomKey flag on member
2020-09-11 14:38:36 +02:00
Bruno Windels
bba53b3477
dont store duplicated key values for replay detection
2020-09-11 12:08:06 +02:00
Bruno Windels
0dece5b04f
make continuation logic work well with pending events
...
- don't use display name to compare but user id
(pending doesn't have display name yet)
- use current time as timestamp
2020-09-11 11:43:40 +02:00
Bruno Windels
2c186554a1
this works better in ie11 for some reason
2020-09-11 11:36:08 +02:00
Bruno Windels
843e3e6b1c
show encrypted status of room
2020-09-11 11:35:53 +02:00
Bruno Windels
0e3084cce3
provide alternative spinner for ie11
2020-09-11 11:28:59 +02:00
Bruno Windels
95c6fd5a5b
reenable only using worker when wasm is not supported
2020-09-11 10:53:15 +02:00
Bruno Windels
df25382616
Merge pull request #89 from vector-im/bwindels/olm_account_create_in_worker
...
Create olm account and OTKs in worker
2020-09-11 08:48:10 +00:00
Bruno Windels
b8ce97e739
remove duplicate code in build script
2020-09-11 10:44:08 +02:00
Bruno Windels
e0d9d703b7
offload olm account creation in worker
2020-09-11 10:43:17 +02:00
Bruno Windels
0b26e6f53a
compress new e2ee stores into one new idb version
2020-09-11 08:40:43 +02:00
Bruno Windels
2f835238c8
Merge pull request #88 from vector-im/bwindels/megolm-decryption-worker
...
Run megolm decryption in a worker
2020-09-10 16:58:44 +00:00
Bruno Windels
78fecd003a
cleanup
2020-09-10 18:57:29 +02:00
Bruno Windels
af36c71a59
load worker in main and pass paths so it works both on compiled and non-compiled
2020-09-10 18:41:23 +02:00
Bruno Windels
de1cc0d739
abort decrypt requests when changing room
2020-09-10 17:43:01 +02:00
Bruno Windels
0bf1723d99
Worker WIP
2020-09-10 15:40:30 +01:00
Bruno Windels
fdbc5f3c1d
WIP worker work
2020-09-10 13:00:11 +02:00
Bruno Windels
17412bbb2f
more validation
2020-09-10 12:12:39 +02:00
Bruno Windels
94b0cfbd72
add prepareSync and afterPrepareSync steps to sync, run decryption in it
2020-09-10 12:11:43 +02:00
Bruno Windels
1c77c3b876
expose multi-step decryption from RoomEncryption, adjust room timeline
...
sync code hasn't been adjusted yet
2020-09-10 12:11:25 +02:00
Bruno Windels
7c1f9dbed0
split up megolm decryption so it can happen in multiple steps,see README
2020-09-10 12:05:53 +02:00
Bruno Windels
a4c8e56ab0
fix getKey not working on IE11
2020-09-09 11:42:26 +01:00
Bruno Windels
18a8f291dc
make build script work on windows
2020-09-09 10:32:05 +01:00
Bruno Windels
f8e3a75471
fix typo
2020-09-09 10:22:29 +02:00
Bruno Windels
a18d2c0e78
update comment
2020-09-09 09:51:48 +02:00
Bruno Windels
212efe823c
fix memberlist not containing all members
...
we were using the prev_batch of the last sync to pass to
/members, but this points at the timeline *before* the last
sync, so wouldn't contain all members. Use the sync token instead.
2020-09-09 09:50:03 +02:00
Bruno Windels
1f9d6191c2
this happens often when room is not tracked yet, so don't log
2020-09-08 18:32:51 +02:00
Bruno Windels
0ed2d14887
log OTK claim failures
2020-09-08 18:32:12 +02:00
Bruno Windels
da4b710e49
don't return promise here, not used
2020-09-08 18:30:45 +02:00
Bruno Windels
4ca5ff9b9f
only load 50 olm sessions at once
2020-09-08 18:30:06 +02:00
Bruno Windels
10b5614fd9
m.dummy events don't have content
2020-09-08 18:27:49 +02:00
Bruno Windels
9a7abb1899
make logic more explicit
2020-09-08 18:27:35 +02:00
Bruno Windels
4a2faed198
don't assume roomKeys is an array
2020-09-08 18:27:12 +02:00
Bruno Windels
4c1aaaf416
show "setting up encryption keys..." step during login
2020-09-08 17:16:34 +02:00
Bruno Windels
36a8ec0110
dont attempt to decrypt redacted events
...
this will show them as undecryptable for now though
2020-09-08 17:16:01 +02:00
Bruno Windels
773cb3420f
ignore duplicate curve25519 keys in /keys/query response
2020-09-08 17:14:23 +02:00
Bruno Windels
b653022a5a
do store our own device, otherwise need special case verifying own msgs
2020-09-08 15:25:36 +02:00
Bruno Windels
1cd93df81c
Merge pull request #87 from vector-im/bwindels/megolm-member-changes
...
Rotate and share room key on membership changes
2020-09-08 13:07:29 +00:00
Bruno Windels
65660a1e3b
remove double jsdoc
2020-09-08 15:06:44 +02:00
Bruno Windels
650df6fea8
forgot await
2020-09-08 15:00:29 +02:00
Bruno Windels
5a8aac57ac
there might not be a member yet
2020-09-08 15:00:20 +02:00
Bruno Windels
7bba83aa9e
add outbound session store to sync txn
2020-09-08 15:00:00 +02:00
Bruno Windels
5e65eb10ef
docs
2020-09-08 14:39:33 +02:00
Bruno Windels
1aa044667c
try sending out pending room keys after first sync
2020-09-08 14:39:07 +02:00