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
22361bdf42
don't need to dispose room keys anymore, they are owned by the loader
2021-10-22 18:08:09 +02:00
Bruno Windels
076f450ec7
this can be const
2021-10-22 18:01:26 +02:00
Bruno Windels
6d8ec69a4d
fix lint
2021-10-22 18:01:17 +02:00
Bruno Windels
b7e3a54e15
remove now usused code
2021-10-22 17:51:00 +02:00
Bruno Windels
2943cb525f
add comment about possible future optimization
2021-10-22 17:50:45 +02:00
Bruno Windels
1278288a42
cleanup RoomKey to changes and better naming
2021-10-22 17:50:30 +02:00
Bruno Windels
66a93ee108
adapt Session and RoomEncryption to megolm/Decryption API changes
2021-10-22 17:48:53 +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
45dc2162dc
fix unit tests
2021-10-22 17:30:20 +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
Melroy van den Berg
a20fe2b5a6
Add HTML title & icon
...
Add missing HTML title and icon
2021-10-06 20:38:39 +02:00
Bruno Windels
cc58d27122
the build currently does not like override for some reason
2021-10-01 14:07:58 +02:00
Bruno Windels
c1d20cb9f9
also call this -Path
2021-10-01 12:56:36 +02:00
Bruno Windels
d2eeaab5f5
get assets paths with import "asset?url" specifically for vitejs
2021-10-01 12:49:41 +02:00
Bruno Windels
aac0e74b9d
also export LoadStatus
2021-10-01 12:49:30 +02:00
Bruno Windels
f89d169ef3
provide library entry point that provides convenient reexports of the public classes
2021-10-01 11:30:42 +02:00
Bruno Windels
1c06e36c1c
add override keyword
2021-10-01 10:07:17 +02:00
Bruno Windels
3de3481765
prefer optional syntax over '| null'
2021-10-01 10:05:56 +02:00
Bruno Windels
6b50a63e95
missing space
2021-10-01 10:02:32 +02:00
Bruno Windels
393e2f809e
make subscription handle return undefined, so we can reassign optional members in one statement
2021-10-01 10:01:52 +02:00
Bruno Windels
a0f443ccc3
Merge pull request #521 from DanilaFe/typescript-observable
...
Start migrating Observable code to TypeScript.
2021-10-01 09:54:29 +02:00
Bruno Windels
e42739ec81
scroll room list to top when entering query first
2021-09-30 17:19:42 +02:00
Bruno Windels
89add8b684
fix sssskey not being migrated properly
2021-09-30 10:18:03 +02:00
Bruno Windels
d10d27c1d6
clear relations for room when forgetting room
2021-09-30 09:49:45 +02:00
Bruno Windels
4cebe26186
Merge pull request #523 from vector-im/bwindels/clear-cache-after-515
...
clear history cache to purge potential timeline corruption from #515
2021-09-30 09:41:24 +02:00
Bruno Windels
f8f4bb4eac
Merge pull request #520 from vector-im/bwindels/fix-139
...
Keep backup of e2ee identity in localStorage when idb gets cleared
2021-09-30 09:28:56 +02:00
Bruno Windels
42f1603d81
use correct prefix to remove local storage value
2021-09-30 09:25:35 +02:00
Bruno Windels
ae68264db4
don't use switch where single if/else works
2021-09-30 08:42:00 +02:00
Bruno Windels
ccda93cc82
remove leftover logging
2021-09-30 08:40:49 +02:00
Bruno Windels
3556878a1e
clear history cache to purge potential timeline corruption from #515
2021-09-30 08:37:33 +02:00
Danila Fedorin
c80dfb10a2
Add type annotations to BaseMappedList
2021-09-29 18:41:30 -07:00
Danila Fedorin
99164eb0d8
Rename BaseMappedList to TypeScript
2021-09-29 18:17:38 -07:00
Danila Fedorin
bf53449f66
Add type annotations to common
2021-09-29 18:13:49 -07:00
Danila Fedorin
e53f3d23d5
Rename common to TypeScript
2021-09-29 18:10:09 -07:00
Danila Fedorin
64ba656043
Update ListView and TimelineListView
2021-09-29 18:08:13 -07:00
Danila Fedorin
414280ada9
Add type annotations to BaseObservableList
2021-09-29 18:05:30 -07:00
Danila Fedorin
3952c3b969
Rename BaseObservableList to TypeScript
2021-09-29 17:46:51 -07:00
Danila Fedorin
ab6ce62551
Add type annotations to ObservableValue
2021-09-29 17:43:17 -07:00
Danila Fedorin
a7360f409e
Rename ObservableValue to TypeScript
2021-09-29 17:42:57 -07:00
Danila Fedorin
319027e2e3
Add type annotations to BaseObservable
2021-09-29 17:42:57 -07:00
Danila Fedorin
d73dea797a
Rename BaseObservable to TypeScript
2021-09-29 17:18:22 -07:00
Bruno Windels
e0b9a3fa50
create e2ee identity also when storage got cleared without backup
2021-09-29 20:07:42 +02:00
Bruno Windels
a1c66738db
migration to initialize & restore e2ee identity backup
2021-09-29 19:39:26 +02:00
Bruno Windels
3a064d6796
a IDBRequest when opening the database does not have a source
2021-09-29 19:21:42 +02:00
Bruno Windels
2ef7251079
move ssssKey to e2ee prefix as well so it gets backed up too
2021-09-29 19:21:06 +02:00
Bruno Windels
77bd0d3f3c
store e2ee session values as well in localStorage
2021-09-29 11:49:58 +02:00
Bruno Windels
004aa5d3dc
Merge pull request #519 from vector-im/bwindels/rickfixes
...
Fix immediate errors for sdk usage
2021-09-29 11:12:17 +02:00
Bruno Windels
e31d3abc97
fix ts errors in TimelineEventStore unit tests
2021-09-28 14:20:54 +02:00
Bruno Windels
ec2f1b9833
add unit tests for findExistingKeys
2021-09-28 14:20:21 +02:00
Bruno Windels
edc3a1d33c
convert storage mock to TS and add utility for mock raw database
2021-09-28 14:19:59 +02:00
Bruno Windels
9036b21b5c
don't interpret hex as decimal when decoding the key
...
this fixes #515 as it was causing the gap not to be closed,
because the fragment id was never equal.
2021-09-28 11:34:55 +02:00
Bruno Windels
0846fcc05d
add more logging during gap filling
2021-09-27 16:34:12 +02:00
Bruno Windels
f55f450850
fix findExistingKeys too many (existing but not requested) keys
2021-09-27 16:27:52 +02:00
Bruno Windels
6982f55cd7
move over word-break lines
...
this didn't get moved over when converting the timeline tile css to css grid
2021-09-24 18:42:47 +02:00
Bruno Windels
71bd797dd4
automatically position popups using a simpler algorithm
2021-09-24 18:28:06 +02:00
Bruno Windels
b75e2fe0ce
decode straight to EventKey object
2021-09-24 15:40:33 +02:00
Bruno Windels
0d798178b0
log neighbor fragment id when closing gap
2021-09-23 18:50:40 +02:00
Bruno Windels
c6ed0abfd7
eventIds is missing
2021-09-23 18:49:23 +02:00
Bruno Windels
e6f7f213ec
don't (re)link fragments in fill, close gap if overlap w linked fragment
2021-09-23 18:02:05 +02:00
Bruno Windels
45917eae1d
Merge pull request #494 from vector-im/DanilaFe/backfill-changes
...
Unit tests for GapWriter, using a new timeline mock utility
2021-09-23 10:15:37 +02:00
Bruno Windels
4b7cb6da9e
make backfill limit explicit
2021-09-23 10:10:22 +02:00
Bruno Windels
dd71fdbe08
add comment
2021-09-23 10:04:58 +02:00
Bruno Windels
498c00fe3c
no need for try catch here as we already catch in getKeys
2021-09-22 10:38:29 +02:00
Bruno Windels
ac5a4c2bc6
pass log item everywhere to tryInsert
2021-09-22 10:33:40 +02:00
Bruno Windels
b58e10521f
don't log tryInsert failures anymore as everything is logged in Store
2021-09-22 10:23:28 +02:00
Bruno Windels
1963635dd7
also log index keys for a value when write fails in Store
2021-09-22 10:22:52 +02:00
Bruno Windels
a19d93dbef
don't swallow anything that isn't a request error
2021-09-22 09:36:26 +02:00
Bruno Windels
704d7b32da
add tests
2021-09-21 21:04:29 +02:00
Bruno Windels
6cded5319a
change timelineEventStore.insert to tryInsert
2021-09-21 21:04:10 +02:00
Bruno Windels
12add19c31
add Store.tryAdd, which prevent abort on ConstraintError
2021-09-21 21:03:29 +02:00
Bruno Windels
0d486a14f6
add the logger property to the null logger as well, forgot this before
2021-09-21 21:01:35 +02:00
Danila Fedorin
92dcc6c980
Remove duplicated lines
2021-09-21 09:39:09 -07:00
Bruno Windels
b8548afb71
export temporary vm typ def
2021-09-21 10:41:01 +02:00
Bruno Windels
07c6bf7055
Merge pull request #503 from vector-im/bwindels/fix-reactions-vm-null
...
use mapped value rather than reading parent vm again
2021-09-21 10:09:05 +02:00
Bruno Windels
a020febf8d
use mapped value rather than reading parent vm again
2021-09-21 10:02:17 +02:00
Danila Fedorin
a3a743881d
Make test adjustments requested in PR.
2021-09-20 19:37:39 -07:00
Danila Fedorin
50c8b995c3
Undo GapWriter algorithm changes
2021-09-20 18:41:01 -07:00
Danila Fedorin
9f6c48cf0c
Merge branch 'master' into DanilaFe/backfill-changes
2021-09-17 15:19:16 -07:00
Danila Fedorin
6d84cc0a81
Fix util import
2021-09-17 14:51:20 -07:00
Danila Fedorin
820b048272
Finish up the more difficult tests
2021-09-17 10:57:51 -07:00
Bruno Windels
53a0d29244
example how to get more context for the failure of a write operation
2021-09-17 18:25:28 +02:00
Bruno Windels
f5467a653c
fix stores returning the delete promise which isn't returned anymore
...
I checked these aren't awaited in any js file
2021-09-17 18:24:24 +02:00
Bruno Windels
ad45016b87
process write errors on complete or abort in transaction
2021-09-17 18:23:31 +02:00
Bruno Windels
533b0f40d3
pass write errors in a store to the transaction
2021-09-17 18:21:48 +02:00
Bruno Windels
aeedb948cc
pass logger to Storage and make it available in Transaction
2021-09-17 18:19:26 +02:00
Danila Fedorin
82c35355b6
Start translating GapWriter tests to using MockTimeline
2021-09-16 23:54:13 -07:00
Danila Fedorin
7d27b46873
Make the response of TimelineMock look like a room sync response
2021-09-16 23:53:38 -07:00
Danila Fedorin
bcfca9ad9a
Make event ID function public
2021-09-16 21:53:56 -07:00