Bruno Windels
f4bb420f35
mark key backup properly as disabled
2022-02-01 11:27:42 +01:00
Bruno Windels
02f06724d0
don't block reenabling 4s if already enabled
2022-02-01 11:26:00 +01:00
Bruno Windels
fd4eb6b50d
distinguish between "waiting to go online" vs "backup not configured"
2022-02-01 11:08:13 +01:00
Bruno Windels
9c599d53aa
allow to inject max delay in key backup
2022-01-31 17:31:01 +01:00
Bruno Windels
62acd458c6
also ask for new key if backup version is not found
2022-01-31 17:30:51 +01:00
Bruno Windels
17275a5390
backup 200 keys per request
2022-01-31 17:30:15 +01:00
Bruno Windels
830786b2fd
fixes and cleanup
2022-01-31 16:26:14 +01:00
Bruno Windels
6541aacf98
don't discount already finished keys in total for previous iterations
2022-01-31 16:23:48 +01:00
Bruno Windels
a757fb3696
better error handling in key backup, cleanup and not overuse observables
2022-01-31 14:37:05 +01:00
Bruno Windels
7eb0d347f5
flush key backup after coming online
2022-01-31 14:36:35 +01:00
Bruno Windels
ae5cc17290
mark all inbound sessions to be backed up again when changing version
2022-01-31 14:36:04 +01:00
Bruno Windels
a97d235cf5
flush after enabling key backup
2022-01-28 16:36:42 +01:00
Bruno Windels
eabd303c8e
count on the index if we're using one, don't always take the store
2022-01-28 15:14:58 +01:00
Bruno Windels
504f420293
make keyBackup an observable and don't have separate needs-key flag
2022-01-28 15:13:58 +01:00
Bruno Windels
eb134a6c47
only take into account non-backed up keys for counting
2022-01-28 13:18:03 +01:00
Bruno Windels
7d3e3b992b
some more typing
2022-01-28 13:14:38 +01:00
Bruno Windels
c47bdd5715
flush key backup when creating a new room key
2022-01-28 13:14:11 +01:00
Bruno Windels
b692b3ec4f
move key backup operation and flush bookkeeping inside KeyBackup
...
so we can flush from other places than Session
2022-01-28 13:13:23 +01:00
Bruno Windels
ebc7f1ecd7
needs to be awaited
2022-01-28 13:11:52 +01:00
Bruno Windels
b30db544a3
use idb key range to select non-backed up keys
2022-01-28 13:11:32 +01:00
Bruno Windels
a499689bd8
also write room key that we create ourselves with RoomKey infrastructure
...
so all keys are written in one place and the flags are always correct
2022-01-28 13:10:48 +01:00
Bruno Windels
c81dde53e7
store key source in inbound session
2022-01-28 10:03:30 +01:00
Bruno Windels
dd2b41ff95
use backup flag in key backup rather than separate store
2022-01-27 16:07:18 +01:00
Bruno Windels
48e72f9b69
replace SessionsNeedingBackup store with backup field on inbound session
2022-01-27 16:00:46 +01:00
Bruno Windels
6f1484005b
stop key backup when on the wrong version
...
users can then enter the new key in the settings to start backing up
again
2022-01-27 15:14:29 +01:00
Bruno Windels
0b4954a9ca
log key backup upload requests
2022-01-27 14:20:04 +01:00
Bruno Windels
bf08c0d850
deal with errors when enabling key backup
...
fixes #449
2022-01-27 14:19:37 +01:00
Bruno Windels
e80acd4d57
add migration when backup is enabled
2022-01-26 16:30:40 +01:00
Bruno Windels
60ed276b8a
add progress notification and cancellation to key backup flush
2022-01-26 15:19:31 +01:00
Bruno Windels
524090e27d
support idb store/index.count
2022-01-26 15:12:11 +01:00
Bruno Windels
a791641b34
move types to separate file
2022-01-26 12:10:20 +01:00
Bruno Windels
85155a43bb
cleanup types
2022-01-26 10:17:31 +01:00
Bruno Windels
cfb94206f9
move curve25519 code to separate file
2022-01-26 10:13:01 +01:00
Bruno Windels
86caa5f9b1
rename session backup to key backup to be consistent with RoomKey
2022-01-26 09:51:48 +01:00
Bruno Windels
933a1b4636
draft of session backup writing + some refactoring
2022-01-25 18:48:19 +01:00
Bruno Windels
ffece4f357
move some validation of into session backup
2022-01-25 18:48:03 +01:00
Bruno Windels
8f4e3c62ce
add hs endpoint for backup keys upload
2022-01-25 18:47:42 +01:00
Bruno Windels
290aaad63a
add sessionsNeedingBackup store
2022-01-25 18:47:27 +01:00
Bruno Windels
a3e294bb60
small cleanup
2022-01-25 18:45:39 +01:00
Bruno Windels
5d87d8bde3
change store.get return type when no value is found to undefined
...
IDBRequest.result is undefined according to the official TS type decls.
2022-01-25 18:43:44 +01:00
Bruno Windels
993a86ddb2
convert SessionBackup to typescript and pass in keyloader
2022-01-20 11:16:08 +01:00
Bruno Windels
a4d924acd1
make KeyLoader use proper olm types
2022-01-20 11:15:48 +01:00
Bruno Windels
c6c1d3b3d8
refactor logout in client so we don't need a fully loaded session
...
instead, we pass the session id in
this will make it easier to first dispose the client when leaving the
/session/<id> and just creating a client without fully loading it
to log out. This way sync is already not running anymore.
2022-01-17 16:29:01 +01:00
Bruno Windels
000c8b27c3
Merge pull request #637 from vector-im/bwindels/timeline-readme
...
add basic readme for updates in the timeline
2022-01-14 19:16:25 +01:00
Bruno Windels
a8a8355ea4
fix unit test
2022-01-14 19:05:53 +01:00
Bruno Windels
3d00881508
don't look in remoteEntries when already found
2022-01-14 19:05:30 +01:00
Bruno Windels
7197e5427f
don't emit an update when the context entry is loaded sync
...
also load context entries in parallel
2022-01-14 18:16:52 +01:00
Bruno Windels
3243ce2a90
fix unit test that failed after it finished
...
crashing the runner on node 16
2022-01-14 18:15:46 +01:00
RMidhunSuresh
cfefe6962a
Remove stray space
2022-01-14 18:17:49 +05:30
RMidhunSuresh
0ae3c60d6d
Remove .js file from rebase
2022-01-14 18:17:49 +05:30
RMidhunSuresh
35a13842af
Implement context endpoint
2022-01-14 18:17:49 +05:30
RMidhunSuresh
65f957f023
WIP
2022-01-14 18:17:49 +05:30
R Midhun Suresh
4fb0a84d0a
Return property from super
...
Co-authored-by: Bruno Windels <brunow@matrix.org>
2022-01-14 18:16:38 +05:30
RMidhunSuresh
30b8e5b5ea
use withReply
2022-01-14 18:15:26 +05:30
RMidhunSuresh
8cd430ac07
Improve test logic
2022-01-14 17:48:25 +05:30
RMidhunSuresh
75012eda9c
Fix tests
2022-01-14 17:28:31 +05:30
RMidhunSuresh
e9a49fdf74
Use hsApi mock
2022-01-14 17:07:06 +05:30
RMidhunSuresh
315acf2fbc
Remove dead code from test
2022-01-14 16:54:16 +05:30
RMidhunSuresh
310790c84e
Use mock storage
2022-01-14 16:51:06 +05:30
RMidhunSuresh
277638b107
Override methods in NonPersistedEventEntry
...
This will prevent redactions to entries fetched from hs showing "message
is being redacted" and will instead show "message is redacted"
2022-01-14 16:15:16 +05:30
RMidhunSuresh
b238357c53
Use emitUpdateForEntry
2022-01-14 16:14:42 +05:30
RMidhunSuresh
4fa32bac2f
check only in remoteEntries
2022-01-14 16:14:06 +05:30
Bruno Windels
58f2192a7e
add basic readme for updates in the timeline
2022-01-14 11:13:21 +01:00
RMidhunSuresh
3c28ee1adf
Remove unused getter
2022-01-13 21:05:18 +05:30
RMidhunSuresh
2c4610c132
add param to emitUpdateForEntry
2022-01-13 19:20:37 +05:30
RMidhunSuresh
239d16747d
Clean test code; try not to peek into internals
2022-01-13 19:14:28 +05:30
RMidhunSuresh
764541d3ca
Remove unused method
2022-01-13 18:32:18 +05:30
RMidhunSuresh
ca1831fef6
update contextForEntries
2022-01-13 14:38:05 +05:30
RMidhunSuresh
2f4c0623d0
Restore earlier name
2022-01-12 19:20:32 +05:30
RMidhunSuresh
ed88184757
Remove statement
2022-01-12 19:14:38 +05:30
RMidhunSuresh
d0f7570f5e
Fix tests
2022-01-12 18:44:17 +05:30
RMidhunSuresh
acafae7d3a
Implement offline support for context entries
2022-01-11 20:58:27 +05:30
RMidhunSuresh
a59bf7c002
Fix looking in allEntries
2022-01-11 20:57:29 +05:30
RMidhunSuresh
5c1813888c
Check in all entries for context
2022-01-11 14:57:22 +05:30
RMidhunSuresh
73733ce145
Guard entry from storage being processed by method
2022-01-11 14:49:59 +05:30
RMidhunSuresh
bf6dfcfcad
update comment
2022-01-11 13:28:35 +05:30
RMidhunSuresh
f605608098
getTrackedEntry -> findLoadedEventById
2022-01-11 13:20:42 +05:30
RMidhunSuresh
31a8227e53
stylistic change
2022-01-11 13:14:13 +05:30
RMidhunSuresh
62dcb61536
Rename updateEntry -> emitUpdateForEntry
2022-01-11 13:11:50 +05:30
RMidhunSuresh
fda211e7b3
Remove dead code
2022-01-11 13:10:40 +05:30
RMidhunSuresh
63b6564f70
Pass prop change
2022-01-11 11:54:41 +05:30
RMidhunSuresh
93bbeee400
Don't pass relatedEntry in param
2022-01-11 11:49:06 +05:30
RMidhunSuresh
66fa8d84a7
Make setAsContextOf private
2022-01-10 18:51:12 +05:30
RMidhunSuresh
091b55a265
Rename method and add comment
2022-01-10 18:05:33 +05:30
RMidhunSuresh
ec8f6e8e0a
use addLocalRelation
2022-01-10 12:58:45 +05:30
RMidhunSuresh
7ad73bb453
Move check down
2022-01-07 19:56:31 +05:30
RMidhunSuresh
3fecce6fe6
Fix tests
2022-01-07 19:39:51 +05:30
RMidhunSuresh
9d161a0bcf
Refactor + put redaction in NonPersistedEventEntry
2022-01-07 19:38:57 +05:30
RMidhunSuresh
8cc04e4c25
Keep calls internal to class
2022-01-07 17:50:36 +05:30
RMidhunSuresh
0a09a50ab9
Move line into if
2022-01-07 17:29:17 +05:30
RMidhunSuresh
c6484f1eac
Replace entry in contextEntryNotInTimeline
2022-01-07 17:11:42 +05:30
RMidhunSuresh
cfbb6d4250
Add explaining comment
2022-01-06 15:37:58 +05:30
RMidhunSuresh
7adce08eee
add more jsdoc comments
2022-01-06 15:33:00 +05:30
RMidhunSuresh
f76217dcce
Change method name
2022-01-06 15:14:13 +05:30
RMidhunSuresh
a2ab36480f
Add jsdoc comment
2022-01-06 15:02:44 +05:30
RMidhunSuresh
90c9018aa4
Update comment
2022-01-06 12:07:10 +05:30
RMidhunSuresh
595deb3a3d
Also copy over contextEntry from otherEntry
2022-01-06 12:07:10 +05:30
RMidhunSuresh
78f97c6532
Remove await from tests
2022-01-06 12:07:10 +05:30
RMidhunSuresh
9f1764c325
Update comment
2022-01-06 12:07:10 +05:30
RMidhunSuresh
4418700589
Add test for move code
2022-01-06 12:07:10 +05:30