Commit graph

1533 commits

Author SHA1 Message Date
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
RMidhunSuresh 9b315d1564 Replace object with Record 2021-12-03 11:40:26 +05:30
RMidhunSuresh 57d24dcf90 Treat wrapper hsapi as HomeServerApi 2021-12-03 11:40:26 +05:30
RMidhunSuresh 8387215efd Add comment 2021-12-03 11:40:26 +05:30
RMidhunSuresh 885abc59be Add return types 2021-12-03 11:40:26 +05:30
RMidhunSuresh 7403cbc389 WIP - HomeServerApi.js to ts conversion 2021-12-03 11:40:26 +05:30
RMidhunSuresh 145b40f28d Fomatting fix 2021-12-03 11:40:26 +05:30
RMidhunSuresh cf54b78af7 Convert RequestScheduler.js to ts 2021-12-03 11:40:26 +05:30
RMidhunSuresh 0aae31a450 Change year in copyright notice 2021-12-03 11:40:26 +05:30
RMidhunSuresh f120ce50e6 Convert Reconnector.js to ts 2021-12-03 11:40:26 +05:30
RMidhunSuresh 90e3fde35d Convert MediaRepository.js to ts 2021-12-03 11:40:26 +05:30
RMidhunSuresh ff53c2757d Convert HomeServerRequest.js to ts 2021-12-03 11:40:26 +05:30
RMidhunSuresh e1a823400a Convert ExponentialRetryDelay.js to ts 2021-12-03 11:40:26 +05:30
RMidhunSuresh 3a24019d96 Convert common.js to ts 2021-12-03 11:40:26 +05:30
RMidhunSuresh 9688a561b3 Move interface to common.ts 2021-12-03 11:40:26 +05:30
RMidhunSuresh 9bffd31ee3 Remove typeof 2021-12-03 11:36:51 +05:30
R Midhun Suresh 6dcebde69d Alias namespace as Olm
Co-authored-by: Bruno Windels <brunow@matrix.org>
2021-12-03 11:36:51 +05:30
RMidhunSuresh e06a0e9e5a Use olm type from dependency 2021-12-03 11:36:51 +05:30
RMidhunSuresh 7362e38413 Convert interface to type 2021-12-03 11:36:51 +05:30
RMidhunSuresh d2c09933c7 Type encrypted data 2021-12-03 11:36:51 +05:30
RMidhunSuresh b2efcb9515 Convert SecretStorage.js to ts 2021-12-03 11:36:51 +05:30
RMidhunSuresh 814c0bed2e Convert recoveryKey.js to ts 2021-12-03 11:36:51 +05:30
RMidhunSuresh e45f66a199 Convert passphrase.js to ts 2021-12-03 11:36:51 +05:30
RMidhunSuresh dd4704b818 Fix imports 2021-12-03 11:36:49 +05:30
RMidhunSuresh 9b8ab9fd8d Convert index.js to index.ts 2021-12-03 11:35:12 +05:30
RMidhunSuresh f9f59fec39 Convert common.js to ts 2021-12-03 11:34:09 +05:30
Bruno Windels d91aaabeb3
Merge pull request #596 from vector-im/ts-conversion-matrix-sessioninfo
Convert matrix/sessioninfo to typescript
2021-12-02 09:29:11 +01:00
Bruno Windels 9042520916
Merge pull request #595 from vector-im/ts-conversion-matrix-push
Convert /matrix/push to typescript
2021-12-02 09:28:59 +01:00
Bruno Windels d3ab961364
Merge pull request #593 from vector-im/ts-conversion-matrix-login
Convert /matrix/login to typescript
2021-12-02 09:28:47 +01:00
RMidhunSuresh 0c46460861 Add comment 2021-12-02 11:20:40 +05:30
RMidhunSuresh 9f82e7f7fc Add proper type 2021-12-02 11:17:41 +05:30
Bruno Windels 1a618dd106 only import fake-indexeddb in tests
as it is a devDependency and can end up in the legacy bundle
under circumstances
2021-12-01 17:25:07 +01:00
Bruno Windels 7e1818b285 Merge branch 'master' into bwindels/vite-mvp 2021-12-01 12:30:33 +01:00
Bruno Windels fc3eb7f57f Merge branch 'master' into bwindels/typescript-observable-2 2021-11-30 16:37:43 +01:00
Bruno Windels ef712b16f5
Merge pull request #584 from vector-im/ts-conversion-utils
Convert /utils to typescript
2021-11-30 14:13:09 +01:00
Bruno Windels ae7d4d07df use .name so we don't need an import 2021-11-25 15:42:36 +01:00
Bruno Windels 229c584138 don't fail login if dehydrated devices are not supported 2021-11-25 15:38:13 +01:00
RMidhunSuresh bb18af414b Convert SessionInfoStorage.js to ts 2021-11-25 15:18:03 +05:30
RMidhunSuresh 3d9fbb685a Convert Pusher.js to ts 2021-11-25 13:23:05 +05:30
RMidhunSuresh 346e95c33c Change return type 2021-11-25 12:33:12 +05:30
RMidhunSuresh a31860dc5f Fix formatting 2021-11-24 14:55:44 +05:30
RMidhunSuresh c54ca168ed Convert SSOLoginHelper.js to ts 2021-11-24 14:49:08 +05:30
RMidhunSuresh a1367f8e72 Fix password login 2021-11-24 14:00:26 +05:30
RMidhunSuresh 64037cb32a Convert TokenLoginMethod to ts 2021-11-24 13:56:47 +05:30
RMidhunSuresh e4c443c73a Convert PasswordLoginMethod to ts 2021-11-24 13:47:26 +05:30
RMidhunSuresh 91f2a96403 Make LoginMethod an interface 2021-11-24 13:40:04 +05:30
RMidhunSuresh 0c424cb77f Fix imports 2021-11-17 20:28:44 +05:30
RMidhunSuresh ea0adb4407 Convert RetainedValue.js to ts 2021-11-17 20:28:44 +05:30
RMidhunSuresh 88ec1b575d Convert mergeMap.js to ts 2021-11-17 20:28:44 +05:30
RMidhunSuresh 1549d8add0 Convert LockMap to ts 2021-11-17 20:28:44 +05:30
RMidhunSuresh c8eb7ea7ac Convert Lock.js to ts 2021-11-17 20:28:44 +05:30
RMidhunSuresh 4ce7634201 Convert error.js to ts 2021-11-17 20:28:44 +05:30
RMidhunSuresh ef53a12f7a Fix imports 2021-11-17 20:28:44 +05:30
Bruno Windels 695996d6e2 add ILogger and ILogExport interface, to give export correct return type
also move logging related types to own file
2021-11-17 11:39:12 +01:00
RMidhunSuresh 14eaa57434 No need for type assertion here 2021-11-16 13:14:11 +05:30
RMidhunSuresh 3ee1607298 Convert utils to typescript 2021-11-16 12:32:49 +05:30
Bruno Windels 2da450d69d log signature verification failure in logger, not console 2021-11-15 15:27:57 +01:00
RMidhunSuresh 7097ba07d1 Replace LogLabelOrNull type with undefined 2021-11-15 18:59:33 +05:30
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
RMidhunSuresh a7d059b3ed Fix imports 2021-11-14 19:42:18 +05:30
RMidhunSuresh 29a8260514 Add explicit types for return in methods 2021-11-12 23:12:15 +05:30
Bruno Windels b6fda8865f make all dependencies use vite and remove post-install script / lib dir 2021-11-08 11:10:34 +01:00
Bruno Windels faa0246e28 setup new dehydrated device when claiming one 2021-11-05 20:53:04 +01:00
Bruno Windels 0749073120 clone key as olm clears it 2021-11-05 20:52:50 +01:00
Bruno Windels 790b9cbc13 require a flag to enable account setup during login
as it blocks login from progressing, any sdk usage should enable
to indicate they are listening for the AccountSetup status.
2021-11-03 02:28:01 +01:00
Bruno Windels bffe34fe0a await write key 2021-11-03 02:20:27 +01:00
Bruno Windels a8022077f6 add minimal logging 2021-11-03 02:20:11 +01:00
Bruno Windels 80a98f04c7 pickle clears the key, so slice it before calling so we can reuse for 4s 2021-11-03 02:08:27 +01:00
Bruno Windels 8a36eb4532 check mac of dehydrated key to match default 4s key mac before adopting 2021-11-03 02:07:57 +01:00