Commit graph

1642 commits

Author SHA1 Message Date
Bruno Windels 75bbde598d also consider rooms without a name and just you and the other a DM
as we don't process m.direct account data yet
2022-02-10 14:39:18 +01:00
Bruno Windels 147810864f add support to set alias and federation flag in create room 2022-02-10 14:09:18 +01:00
Bruno Windels b5536830d0 improve RoomBeingCreatedView, allow removing the roombeingcreated 2022-02-10 11:07:29 +01:00
Bruno Windels 20493f9e87 cleanup 2022-02-10 11:07:13 +01:00
Bruno Windels f12841b2d3 better error handling in RoomBeingCreated 2022-02-10 11:06:20 +01:00
Bruno Windels d6d1af13d0 rename RoomBeingCreated.localId to id 2022-02-10 11:03:52 +01:00
Bruno Windels 74f7879cb6 fix unrelated bug: invite sorting order wasn't stable in left panel
as the timestamp is the same when you receive the invite during your
first sync
2022-02-10 09:40:03 +01:00
Bruno Windels 83d2b58bad add avatar support to creating room 2022-02-09 19:00:00 +01:00
Bruno Windels afe8e17a6f remove debugging code 2022-02-08 17:00:06 +01:00
Bruno Windels 5325b0b466 cleanup logging 2022-02-08 14:58:29 +01:00
Bruno Windels 45c8e3a793 mark room as DM based on synced state events,rather than just inviteData
as that does not work for rooms we create ourselves
2022-02-08 14:34:34 +01:00
Bruno Windels e04463c143 WIP for finding DM room 2022-02-07 18:58:53 +01:00
Bruno Windels 26fa2a5d60 add option 2022-02-07 18:58:43 +01:00
Bruno Windels e1fbd1242e WIP 4 2022-02-07 16:30:44 +01:00
Bruno Windels 0bb3cfcfad WIP3 2022-02-04 17:49:10 +01:00
RMidhunSuresh 28931f4103 Use async/await 2022-02-04 17:48:42 +05:30
RMidhunSuresh f7f32ac806 responseCodeReject may not exist 2022-02-04 17:39:52 +05:30
RMidhunSuresh a163cee18d Remove dead imports 2022-02-04 17:25:30 +05:30
RMidhunSuresh 0828ac12b1 Fix params 2022-02-04 17:25:15 +05:30
RMidhunSuresh b59f916824 Merge branch 'registration' of github.com:vector-im/hydrogen-web into registration 2022-02-04 17:16:32 +05:30
R Midhun Suresh 2ac63e78ca
mark method as internal
Co-authored-by: Bruno Windels <bruno@windels.cloud>
2022-02-04 17:16:15 +05:30
RMidhunSuresh 028b96e4c5 Let type also be undefined 2022-02-04 17:11:33 +05:30
RMidhunSuresh 22d5505a2b Create registration stage in Registration itself 2022-02-04 16:50:22 +05:30
RMidhunSuresh e66549a067 Remove dead code 2022-02-04 16:40:49 +05:30
RMidhunSuresh e8c480426a Remove error code 2022-02-04 16:37:43 +05:30
RMidhunSuresh 891375a885 Rename allowerErrors -> allowedStatusCodes 2022-02-04 16:35:47 +05:30
RMidhunSuresh 32af7e6f09 Make more changes
- make setter a method
- lazily create promise
2022-02-04 16:23:39 +05:30
RMidhunSuresh 3d8b9cce41 Fix responseCode in Request 2022-02-04 15:41:37 +05:30
Bruno Windels bc09ede09f WIP 2022-02-03 17:57:35 +01:00
RMidhunSuresh b6e1d4a7d5 Implement responseCode() 2022-02-03 19:41:14 +05:30
RMidhunSuresh 89a97537b0 Make methods private + some props readonly 2022-02-03 19:41:14 +05:30
RMidhunSuresh 8a3c0afba6 Fix incorrect types 2022-02-03 19:41:11 +05:30
RMidhunSuresh 0ad0ecfcc2 Check response code instead of existence of props 2022-02-03 19:40:25 +05:30
RMidhunSuresh c4894f2c24 completed is not always present 2022-02-03 19:40:25 +05:30
RMidhunSuresh e64f4ad7b2 Refactor code
- Move all code that does /register to Registration.ts
- RegistrationStage only deals with the generation of auth data
- Change API so that undefined is returned instead of string when
  registration is over
2022-02-03 19:40:25 +05:30
R Midhun Suresh 2aad5546bf No need for Object.assign here either
Co-authored-by: Bruno Windels <brunow@matrix.org>
2022-02-03 19:40:25 +05:30
RMidhunSuresh 7bacbec5e9 Remove type directory 2022-02-03 19:40:25 +05:30
RMidhunSuresh e13040a49e Don't mutate flows 2022-02-03 19:40:25 +05:30
R Midhun Suresh 30cb9f6d15 Use includes instead of elaborate find
Co-authored-by: Bruno Windels <brunow@matrix.org>
2022-02-03 19:40:25 +05:30
RMidhunSuresh a351a185a0 Give proper names 2022-02-03 19:40:25 +05:30
RMidhunSuresh fe0add01ee Use union of types for RegistrationResponse 2022-02-03 19:40:25 +05:30
RMidhunSuresh a249a1b2b5 Implement flow seclector 2022-02-03 19:40:25 +05:30
RMidhunSuresh 6798a5e429 Move types to types.ts 2022-02-03 19:40:25 +05:30
RMidhunSuresh 3a67da8830 Refactor type
- Change name
- Move union type down
2022-02-03 19:40:25 +05:30
RMidhunSuresh 1d4b079d0c Type RegistrationResponse 2022-02-03 19:40:25 +05:30
RMidhunSuresh 49ade61ef6 Fill in ts types + change names 2022-02-03 19:40:25 +05:30
RMidhunSuresh b482d478b4 Add a tos getter 2022-02-03 19:40:25 +05:30
RMidhunSuresh ac7108b882 Throw error instead of returning it 2022-02-03 19:40:25 +05:30
RMidhunSuresh 7bb7189c6a No need for this export 2022-02-03 19:40:25 +05:30
RMidhunSuresh 6eba60bd75 Use typescript style that was agreed on earlier 2022-02-03 19:40:25 +05:30
RMidhunSuresh 5de1fc1453 Remove unnecessary getters 2022-02-03 19:40:25 +05:30
RMidhunSuresh 2f3865d8cc firstStage should be a local variable 2022-02-03 19:40:25 +05:30
RMidhunSuresh 2d4c106542 REFACTOR: Inline method 2022-02-03 19:40:25 +05:30
RMidhunSuresh a91ba4370d Change type to show that username is optional 2022-02-03 19:40:25 +05:30
RMidhunSuresh 550a560f40 Remove space 2022-02-03 19:40:25 +05:30
RMidhunSuresh 5f11790f6b Object.assign is overkill here 2022-02-03 19:40:25 +05:30
RMidhunSuresh e8dbbd876c Give default values to parameters 2022-02-03 19:40:25 +05:30
RMidhunSuresh 755f934eb2 No need to explicitly pass in inhibitLogin 2022-02-03 19:40:25 +05:30
RMidhunSuresh 5e93e048ab Don't cache GET requests 2022-02-03 19:40:25 +05:30
RMidhunSuresh bb6a885116 Specify what errors are ignored in options 2022-02-03 19:40:25 +05:30
RMidhunSuresh 420c12f202 Copy over username only if it exists 2022-02-03 19:40:25 +05:30
RMidhunSuresh 792d5c62c5 Return username when registration is completed 2022-02-03 19:40:25 +05:30
RMidhunSuresh fa2e2bc8f3 Allow register without providing username 2022-02-03 19:40:25 +05:30
RMidhunSuresh 170d7a5e55 Add startRegistration method 2022-02-03 19:40:25 +05:30
RMidhunSuresh 8ab8726b8f Implement m.login.terms stage 2022-02-03 19:40:25 +05:30
RMidhunSuresh 18e2fc1089 Pass in params to BaseRegistrationStage 2022-02-03 19:40:25 +05:30
RMidhunSuresh a59b67ec45 Fix errors 2022-02-03 19:40:25 +05:30
RMidhunSuresh d76a059525 Temporary fix for 401 errors 2022-02-03 19:40:25 +05:30
RMidhunSuresh d28ab919bb Implement dummy registration logic 2022-02-03 19:40:25 +05:30
RMidhunSuresh eb146830ba Implement registration endpoint 2022-02-03 19:40:25 +05:30
RMidhunSuresh 618d02d838 fetch registration flows 2022-02-03 19:40:25 +05:30
Bruno Windels 348de312f9 draft code in matrix layer to create room 2022-02-02 10:19:49 +01:00
Bruno Windels 2e3616e05d call cursor.update during backup field migration, needs new version 2022-02-01 12:31:10 +01:00
Bruno Windels 00c5e747d2 log total backed up keys during flush operation 2022-02-01 12:30:45 +01:00
Bruno Windels b29ecd339d add more logging to backup storage migration 2022-02-01 12:18:28 +01:00
Bruno Windels f4fa013ebc mark as not configured yet when re-enabling key backup 2022-02-01 11:32:53 +01:00
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
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