Commit graph

1502 commits

Author SHA1 Message Date
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
RMidhunSuresh d2c7eec8e0 No need to delete before update on map 2022-01-06 12:07:10 +05:30
RMidhunSuresh 8ec75ce4bb Rename methods 2022-01-06 12:07:10 +05:30
RMidhunSuresh a060d54468 Make tests pass 2022-01-06 12:07:10 +05:30
RMidhunSuresh 3fe824dbd1 Propagate updates 2022-01-06 12:07:10 +05:30
RMidhunSuresh 7ef79c92f5 Remove entry from map 2022-01-06 12:07:10 +05:30
RMidhunSuresh 2d5bb82077 Fix bug 2022-01-06 12:07:10 +05:30
RMidhunSuresh 6f8001bd82 Add tests 2022-01-06 12:07:10 +05:30
RMidhunSuresh 640a3fb9fa Check if contextEvent was found 2022-01-06 12:07:10 +05:30
RMidhunSuresh 05d2defa2d Rename fetchedEntries --> contextEntriesNotInTimeline 2022-01-06 12:07:10 +05:30
RMidhunSuresh c3bef6d4d2 Rename dependents --> contextForEntries 2022-01-06 12:07:10 +05:30
RMidhunSuresh d1818d2a57 Reuse code in getOrLoadEntry 2022-01-06 12:07:10 +05:30
RMidhunSuresh f5fadf700e Move event to remoteEntries if needed 2022-01-06 12:07:10 +05:30
RMidhunSuresh d924dbb723 Add explaining comment 2022-01-06 12:07:10 +05:30
RMidhunSuresh 544dca3b18 Use _updateEntry 2022-01-06 12:07:10 +05:30
RMidhunSuresh 39f68e8c2f Refactor out magic string 2022-01-06 12:07:10 +05:30
RMidhunSuresh 5c0bbdd4c8 Move methods into Timeline 2022-01-06 12:07:10 +05:30
RMidhunSuresh 51b7b21082 Implement readById() in TimelineReader 2022-01-06 12:07:10 +05:30
RMidhunSuresh 0da94e51e0 Use map and fetch from Map if available 2022-01-06 12:07:10 +05:30
RMidhunSuresh 4a6293dcdc Made code more readable 2022-01-06 12:07:10 +05:30
RMidhunSuresh 287212956b findAndUpdate instead of update 2022-01-06 12:07:10 +05:30
RMidhunSuresh 7a91dd9595 Improve comment 2022-01-06 12:07:10 +05:30
RMidhunSuresh 4a81e06e96 Track fetched entries for redactions 2022-01-06 12:07:10 +05:30
RMidhunSuresh ea89c272b9 Support redaction changes in remoteEntries 2022-01-06 12:07:10 +05:30
RMidhunSuresh c690de9f7b Support decryption on entries fetched from hs 2022-01-06 12:07:10 +05:30
RMidhunSuresh 7cc3d4b91a Emit updated entries 2022-01-06 12:07:10 +05:30
RMidhunSuresh 053dcf39a5 Use NonPersistedEventEntry 2022-01-06 12:07:10 +05:30
RMidhunSuresh d191b327c6 Change comment 2022-01-06 12:07:10 +05:30
RMidhunSuresh 06864a65b7 Add contextEventId 2022-01-06 12:07:10 +05:30
RMidhunSuresh 764e38f8c9 Use 'context' instead of 'related' 2022-01-06 12:07:10 +05:30
RMidhunSuresh 696980aca4 Parse display name and avatar of event 2022-01-06 12:07:10 +05:30
RMidhunSuresh 0c42f53a2f Implement context endpoint 2022-01-06 12:07:06 +05:30
RMidhunSuresh e901142661 await on loading related events 2022-01-06 11:59:58 +05:30
RMidhunSuresh 2265d198a6 Formatting fix 2022-01-06 11:59:58 +05:30
RMidhunSuresh b753507b8d WIP 2022-01-06 11:59:58 +05:30
Bruno Windels c9d11d6f19 missing otk count does not mean 0 but rather no change 2022-01-05 14:26:15 +01:00
Bruno Windels aabfbf507e typo in comments 2022-01-05 14:25:42 +01:00
Bruno Windels ba27d20b24 only pass platform into Client
simplifying the API for SDK
2021-12-22 17:20:37 +01:00
Bruno Windels fe26f48c47 rename SessionContainer to Client 2021-12-22 17:09:52 +01:00
Bruno Windels dacdc1aec6
Merge pull request #597 from vector-im/ts-conversion-matrix-ssss
Convert matrix/ssss to typescript
2021-12-09 18:54:25 +01:00
Bruno Windels 21a41e192b Merge branch 'master' into ts-conversion-matrix-net 2021-12-09 18:49:54 +01:00
Bruno Windels 8d315f2741 Merge branch 'master' into bwindels/log-signature-failure 2021-12-09 18:34:36 +01:00
Bruno Windels 0ec86b6dc1 Merge branch 'master' into bwindels/vite-mvp 2021-12-09 18:07:17 +01:00
RMidhunSuresh 734ecccb9c Use object instead of Record here 2021-12-03 17:34:23 +05:30
RMidhunSuresh e2abc312d3 Fix typescript errors 2021-12-03 11:48:01 +05:30
RMidhunSuresh d6378133d8 Remove length property 2021-12-03 11:40:26 +05:30
RMidhunSuresh 49a56efa82 Remove comment 2021-12-03 11:40:26 +05:30
RMidhunSuresh 640cd88b6e make type string 2021-12-03 11:40:26 +05:30
RMidhunSuresh 66b4f9bfe5 LogItem --> ILogItem 2021-12-03 11:40:26 +05:30
RMidhunSuresh 0541cf8f2b Change object to Record 2021-12-03 11:40:26 +05:30
RMidhunSuresh bf93bd79c9 types.js --> types 2021-12-03 11:40:26 +05:30
RMidhunSuresh f89b937ee7 Use object instead of Record 2021-12-03 11:40:26 +05:30
RMidhunSuresh 82de3c9867 Prefer type over interface 2021-12-03 11:40:26 +05:30
RMidhunSuresh b328c54da8 Change type from Ctor to Options 2021-12-03 11:40:26 +05:30
RMidhunSuresh e9cea73357 Remove comment 2021-12-03 11:40:26 +05:30
R Midhun Suresh 3fbf65355d Rename Ctor to Options
Co-authored-by: Bruno Windels <brunow@matrix.org>
2021-12-03 11:40:26 +05:30
RMidhunSuresh b5438f2ba8 Do not set content-length 2021-12-03 11:40:26 +05:30
RMidhunSuresh 4f43398db0 Fix promise resolve type 2021-12-03 11:40:26 +05:30
RMidhunSuresh 05121e32b1 Pull interface out for HomeServerApi 2021-12-03 11:40:26 +05:30
RMidhunSuresh a8870f2d24 Extract ctor types out 2021-12-03 11:40:26 +05:30
RMidhunSuresh 238b9aafb1 Convert replay.js to ts 2021-12-03 11:40:26 +05:30
RMidhunSuresh 2e6b909173 No need to pass undefined 2021-12-03 11:40:26 +05:30
RMidhunSuresh 4bdcafad4b Rename file to types.ts 2021-12-03 11:40:26 +05:30
RMidhunSuresh 69e67ad5ac Make more functions private 2021-12-03 11:40:26 +05:30
RMidhunSuresh 2dd050bd90 Change object to Record 2021-12-03 11:40:26 +05:30