Commit Graph

67 Commits

Author SHA1 Message Date
Fedor Indutny b47a906211
Stickers in storage service 2022-08-03 10:10:49 -07:00
Josh Perez e321e1fea8
Edit distribution lists via story settings menu 2022-07-20 20:07:09 -04:00
Scott Nonnenberg bfc56dd175
Introduce new Profile Fetch service, with centralized queueing 2022-07-13 17:46:46 -07:00
Josh Perez 9155784d56
Sync my stories with primary device 2022-06-30 20:52:03 -04:00
Scott Nonnenberg 2464e0a9c1
Convert signal.js and preload.js to Typescript 2022-06-13 14:39:35 -07:00
Fedor Indutny fcc60202c2
Populate sourceDevice field of ManifestRecord 2022-05-25 12:20:45 -07:00
Fedor Indutny 610ebdd1e3
Batch storage item read requests 2022-04-12 17:50:17 -07:00
Fedor Indutny 2eaacac151
Use --force-long with pbjs 2022-03-23 13:49:27 -07:00
Fedor Indutny a72cf075ef
Optimize initial storage service fetch 2022-03-09 10:22:34 -08:00
Josh Perez eb91eb6fec
Process incoming story messages 2022-03-04 13:14:52 -08:00
Fedor Indutny 3b4106d9dd
Change order of syncs during linking 2022-03-02 14:53:47 -08:00
Fedor Indutny 1a751c07fc
Remove warn log when no account record is fetched 2022-02-28 18:43:45 -08:00
Fedor Indutny 5d035dff86
Drop GV1 records when GV2 records are present 2022-02-22 14:30:59 -08:00
Fedor Indutny a0b05f41e3
Dropped storage keys should not cause upload 2022-02-14 11:36:32 -08:00
Fedor Indutny e0205ffff8
Drop invalid storage service keys 2022-02-11 13:05:24 -08:00
Fedor Indutny cb5131420f
Update storageService logging 2022-02-08 10:00:18 -08:00
Fedor Indutny bbe56e0811
Erase storage service state on key change 2022-02-02 16:15:39 -05:00
Fedor Indutny b6287f4839
Properly propagate 204 to fetchManifest 2022-01-31 11:58:20 -08:00
Scott Nonnenberg 90356d4c0f
Move a number of sync messages to jobs for retry 2022-01-14 13:34:52 -08:00
Fedor Indutny 14861aff50
Process manifest before persisting its version 2022-01-04 09:22:48 -06:00
Evan Hahn 5619eeca83
Upgrade Prettier to 2.4.1 2021-11-11 16:43:05 -06:00
Fedor Indutny f204784afe
Prune invalid conversations from storage service 2021-11-11 13:38:02 -08:00
Evan Hahn 74fde10ff5
Prefer `import type` when importing types 2021-10-26 14:15:33 -05:00
Evan Hahn 3eff5b73d2
Enable storage service for everyone 2021-10-05 12:04:28 -05:00
Josh Perez bfe5a5edae
Do not process records if there are none to process 2021-10-01 20:01:30 -04:00
Fedor Indutny 4ef0bf96cc
Uint8Array migration 2021-09-23 17:49:05 -07:00
Josh Perez 65ddf0a9e8
Import log instead of using it off of window 2021-09-17 14:27:53 -04:00
Josh Perez 0f9b72d1db
Ensure single upload for storage service 2021-09-16 18:25:49 -04:00
Evan Hahn fda21edd23
Remove unnecessary disables of `consistent-return` lint rule 2021-09-16 15:25:55 -05:00
Fedor Indutny c7e7d55af4
UUID-keyed lookups in SignalProtocolStore 2021-09-09 19:38:11 -07:00
Evan Hahn f86f753df9
Add `durations` utility for computing durations 2021-08-26 09:10:58 -05:00
Scott Nonnenberg a42c41ed01
Message Send Log to enable comprehensive resend 2021-07-15 16:48:09 -07:00
Fedor Indutny 570fb182d4
Fully move to protobufjs 2021-07-13 11:54:53 -07:00
Fedor Indutny 8f5086227a
Enforce stronger types for ArrayBuffers and storage 2021-06-14 17:09:37 -07:00
Fedor Indutny 17e6ec468e
Faster WebSocket reconnects 2021-06-09 15:28:54 -07:00
Josh Perez d4875fd8f4
Remove isPrivate, isMe, isGroupV1, isGroupV2 from model 2021-06-07 09:39:13 -07:00
Evan Hahn 8ef14e6f39
When incoming message should've been sealed sender, reply with profile key 2021-05-05 09:39:16 -07:00
Josh Perez 808c7dfb2d
Fixes storage service validation where id already ArrayBuffer 2021-04-28 15:01:29 -04:00
Josh Perez 5e2d48cc2f
Do not populate left pane on initial link 2021-04-20 19:16:49 -04:00
Evan Hahn ea6562b7ac Merge branch 'hiqua-no_lower_limit_query' into next-beta 2021-04-14 14:14:57 -07:00
Josh Perez a2a361f0bf
Extra validations for storage service 2021-04-09 16:12:05 -04:00
Josh Perez 6c0acd09df
Sync mute state 2021-04-09 11:19:38 -05:00
Josh Perez 9438b7b3fe
Fixes pinned conversations sync 2021-04-08 15:27:20 -04:00
Josh Perez e4db9358cf
Storage service logging same 2021-04-06 15:54:47 -07:00
Josh Perez 1264e6da2b Retain protections on gv1 records that match gv2 ids 2021-03-30 20:40:48 -04:00
Fedor Indutny 11bcbded64 Storage Service fixes to prevent crashes on Android
* Merge report v1 group settings into local v2 group

The invariants of Storage Service mandate that the remote data always
takes precendence over the local data. We have to updated
blocked/whitelisted/... of the v2 group even if the record is for the v2
group. After doing such update - sync the manifest back to the Storage
Service with correct v2 record for the group.

* Repair errored records before uploading manifest

Fetch and re-attempt to merge errored records before uploading the
manifest. This is useful in the cases where we were not aware of the V1
group when the remote manifest was fetched, and became aware of it
before the new manifest is generated. In such scenario, we should fetch
the records for things we have failed on last time and attempt to merge
them with our data. If they are merged - we should not let their
storageIDs hang in the new manifest, which would cause group duplicates
and crashes on other clients.

* Create v1 group for storage service record

If we receive storage service record with v1 group that we didn't sync
yet (or just don't have for any other reason) - create it instead of
pushing it to `storage-service-error-records`.
2021-03-19 16:57:36 -04:00
Josh Perez 8dc8a64229 Storage sync before writing 2021-03-19 16:57:35 -04:00
Josh Perez 0fd0fac262 Check for conversation conflicts before writing 2021-03-19 16:57:35 -04:00
Evan Hahn 5de4babc0d Support for creating New Groups 2021-03-19 16:53:52 -04:00
Evan Hahn dd0ea6b3fe Upgrade TypeScript to the latest version, v4.1.3 2021-01-25 18:28:57 -08:00