RMidhunSuresh
30a384fe1e
Make LogFilter optional
2021-11-15 18:44:25 +05:30
RMidhunSuresh
520e0f1b89
Use interface ILogItem
2021-11-15 17:29:08 +05:30
Bruno Windels
bef12c7a8f
prevent double free on olm account when logging out
...
by ensuring we only dispose the e2ee/Account once, as well as
the Session and other classes
2021-10-28 11:48:25 +02:00
Bruno Windels
67dd929951
put key session check in method
2021-10-26 11:14:46 +02:00
Bruno Windels
ab2f15b5a2
prevent cache hiding better keys in storage (+ tests)
2021-10-25 19:17:13 +02:00
Bruno Windels
3c2604b384
test that sessions get free'd correctly
2021-10-25 17:33:33 +02:00
Bruno Windels
74e8bc3bda
write unit tests
2021-10-25 17:19:48 +02:00
Bruno Windels
6bbce06d93
start writing tests for key loader
2021-10-22 19:01:20 +02:00
Bruno Windels
076f450ec7
this can be const
2021-10-22 18:01:26 +02:00
Bruno Windels
b7e3a54e15
remove now usused code
2021-10-22 17:51:00 +02:00
Bruno Windels
1278288a42
cleanup RoomKey to changes and better naming
2021-10-22 17:50:30 +02:00
Bruno Windels
ac23119838
convert SessionDecryption to TS and adapt to use KeyLoader
2021-10-22 17:48:35 +02:00
Bruno Windels
b55930f084
convert ReplayDetectionEntry to typescript
2021-10-22 17:47:29 +02:00
Bruno Windels
d6e243321b
convert megolm/Decryption to typescript and adapt to KeyLoader
2021-10-22 17:46:39 +02:00
Bruno Windels
2ddb3fbf72
cleanup
2021-10-22 17:45:55 +02:00
Bruno Windels
77d10c93d6
convert groupby and megolm decryption utils to typescript
2021-10-21 14:40:51 +02:00
Bruno Windels
66a77519d7
implement key caching in KeyLoader
...
merging session cache into it so we can better manage and recycle
keys without exposing too low-level public methods on BaseLRUCache.
Using refCount instead of inUse flag as a key can of course be used
by multiple useKey calls at the same time.
2021-10-21 11:12:54 +02:00
Bruno Windels
3bafc89855
remove unused draft code
2021-10-20 15:25:11 +02:00
Bruno Windels
4fa285e85a
convert LRUCache to ts
2021-10-20 15:24:58 +02:00
Bruno Windels
041cedbc58
fix typescript extension change
2021-10-20 15:24:39 +02:00
Bruno Windels
cbf82fcd29
cleanup code so far
2021-10-20 15:14:17 +02:00
Bruno Windels
5dc0c8c0b3
make 'better' better
2021-10-20 13:38:54 +02:00
Bruno Windels
d7407ecf66
WIP
2021-10-20 11:39:01 +02:00
Bruno Windels
fcc06b2754
WIP to add logging to decryption and fetching key backups
2021-03-15 14:39:42 +01:00
Bruno Windels
4b62e0a2ce
extract retry event ids for key before overwriting key on key backup
2021-03-15 13:38:27 +01:00
Bruno Windels
30b056af1c
let devices know we can't claim their OTKs
2021-03-08 16:19:46 +01:00
Bruno Windels
4e0bd16a4e
reuse LRU Cache for session cache
2021-03-05 17:01:38 +01:00
Bruno Windels
5682e715e6
prevent multiple checks if a new room key is better
2021-03-05 10:07:48 +01:00
Bruno Windels
e0d14207ac
make opening a txn async again
...
as we'll need to await a bogus request first thing after opening the txn
funny enough, we originally made it sync to accommodate the same bug
in safari, but that didn't prevent any microtask being awaited
before scheduling a request in the calling code closing the txn.
We'll await a bogus request within the transaction class now so it
doesn't depend on the calling code
2021-03-04 19:47:02 +01:00
Bruno Windels
c6db23bcfb
WIP to store missing session event ids
2021-03-03 14:03:50 +01:00
Bruno Windels
8a39c16a38
fix name conflict with _sessionInfo in parent class
2021-03-02 19:39:04 +01:00
Bruno Windels
a536ea7742
comment to explain replay attack better
2021-03-02 19:39:04 +01:00
Bruno Windels
a33200d926
fix sender key lookup for room key coming from olm
2021-03-02 19:39:04 +01:00
Bruno Windels
fb446167f6
make new sync room keys available during decryption of same sync
2021-03-02 19:39:04 +01:00
Bruno Windels
f321968ac3
add more sync logging
2021-02-18 12:44:19 +01:00
Bruno Windels
bbab1e9ecc
move base64/58 encoding into platform
...
fixes https://github.com/vector-im/hydrogen-web/issues/99
2021-02-12 16:01:54 +01:00
Bruno Windels
de143fdafc
update timestamp when creating a new megolm session
2020-11-10 16:17:56 +01:00
Bruno Windels
c6ff4c2517
finish room encryption part
2020-11-06 18:56:32 +01:00
Bruno Windels
d0d1f68a9c
WIP
2020-11-06 16:56:12 +01:00
Bruno Windels
5d12aef6db
support pre-sharing room keys in room encryption
2020-11-06 10:32:37 +01:00
Bruno Windels
6f82d81f39
better session backup ui
2020-10-19 18:29:13 +02:00
Bruno Windels
07701117cd
reduce megolm sync cache size to 1 session
...
as this is kept around for every e2ee room, and we only have
limited olm memory
2020-10-14 12:43:35 +02:00
Bruno Windels
76381fbca1
open storage transactions synchronously
...
this (almost) makes it work in some browsers that otherwise
have throw a TransactionInactiveError on the first operation
you try to do on a store.
2020-09-28 16:06:41 +02:00
Bruno Windels
1b8e481559
keys from backup need to be imported with import_session, not create
2020-09-17 17:59:02 +02:00
Bruno Windels
5752cca69c
go back to bs58 and use other base64 decoder
...
as base-x isn't meant for base64
2020-09-17 17:56:05 +02:00
Bruno Windels
9d622434fb
integrate session backup with session class
2020-09-17 15:58:46 +02:00
Bruno Windels
17fc249fa8
integrate session backup with room encryption and megolm decryption
2020-09-17 14:20:15 +02:00
Bruno Windels
3941af93d2
more impl of SessionBackup
2020-09-17 14:19:57 +02:00
Bruno Windels
fff8308259
first draft of SessionBackup
2020-09-17 12:34:39 +02:00
Bruno Windels
a2f8731a23
Keep room key with earliest index
2020-09-14 15:47:00 +02:00