Greyson Parrelli
4461d6cf7f
Rename StorageSyncJobV2 -> StorageSyncJob.
2021-04-28 16:36:11 -03:00
Greyson Parrelli
38e64b1f75
Remove old Storage Service V1 code.
2021-04-28 16:36:10 -03:00
Greyson Parrelli
a0e787e424
Disable additional storage service validations for internal users.
2021-04-26 16:44:26 -04:00
Cody Henthorne
ad81b310e3
Blur avatar photos from unknown senders when in message request state.
2021-04-23 14:42:51 -04:00
Greyson Parrelli
b4d0dde129
Always get the storage manifest for internal users.
...
This will hopefully help us track down some of the validation issues
when writing local changes.
2021-04-21 16:43:38 -04:00
Alex Hart
c31146e902
Render gifs in gif search as MP4s.
2021-04-19 18:11:56 -04:00
Greyson Parrelli
c99509a967
Temporarily disable some storage service validations.
2021-04-19 10:26:32 -04:00
Greyson Parrelli
8bf8ecf7fa
Reset manifest version to zero after account restore.
2021-04-18 11:27:59 -04:00
Greyson Parrelli
65a1d165ac
Fix issue where storage dirty state wasn't cleared.
2021-04-18 10:36:40 -04:00
Greyson Parrelli
11a2e8686c
Simplify local changes written to storage service.
2021-04-17 13:03:11 -04:00
Greyson Parrelli
daeeb17142
Restore storage manifest version during StorageAccountRestoreJob.
2021-04-17 10:31:54 -04:00
Greyson Parrelli
35ab2f6704
Rename 'key' to 'id' where appropriate for storage service.
2021-04-17 10:14:59 -04:00
Greyson Parrelli
4676043826
Simplify storage sync write construction.
...
Instead of trying to keep track of changes as we go and hope that lines
up with reality, now we just write all of our changes and do another
diff at the end to build our insert/delete set. Nice and simple.
2021-04-16 18:58:36 -04:00
Greyson Parrelli
64a841487f
Fix storage sync validation error when re-registering with a new number.
2021-04-16 13:22:01 -04:00
Greyson Parrelli
1eef18dcd3
Add a failsafe for deleting storageIds.
2021-04-15 11:08:29 -04:00
Greyson Parrelli
c86ee33371
Skip new validations in old storage sync job.
2021-04-15 11:08:29 -04:00
Greyson Parrelli
60690208de
Fix storage service crash when matching a local contact without an ID.
...
It's possible that we could match a local contact that doesn't have a
storageId, which would crash when we tried to make a model from it for
merging. This isn't an impossible case -- it could be that the manifest
has record of a user that is newly registered (or just registered at
some point and never deleted) and so we need to give our local record a
storageId for merging.
2021-04-15 11:08:29 -04:00
Greyson Parrelli
670aed2074
Move ViewOnceMessageManager and ExpiringMessageManager to AppDependencies.
2021-04-13 14:49:32 -04:00
Greyson Parrelli
20b98122c1
Send an empty group sync when linking devices if no groups exist.
2021-04-13 11:35:42 -04:00
Greyson Parrelli
35c102aa98
Fix issues with StorageSyncV2 bookkeeping.
...
1. I screwed up the comparators in the record processor. Pretty bad, glad this was caught.
2. Previously I was sort of keeping track of which local-only records were accounted for while I was merging, and then hoping everything worked out in the end. Now I just very directly take some set differences and retrieve the appropriate records, so it's clear that we should never fail certain validations.
3. Rev's the feature flag so we don't turn on something broken.
2021-04-13 11:32:24 -04:00
Greyson Parrelli
e096ba27ce
Sync mute status via storage service.
2021-04-12 12:25:09 -04:00
Greyson Parrelli
25ce2a649a
Write additional storage validations based on previous manifest.
2021-04-12 12:25:09 -04:00
Greyson Parrelli
0e200b1fb6
Rewrite storage service change processing.
2021-04-12 12:25:09 -04:00
Greyson Parrelli
5daa027c10
Disallow SMS/MMS sends to UUID-only recipients.
2021-04-09 10:13:00 -04:00
Android Team
fddba2906a
Payments.
...
Co-authored-by: Alan Evans <alan@signal.org>
Co-authored-by: Alex Hart <alex@signal.org>
Co-authored-by: Cody Henthorne <cody@signal.org>
2021-04-06 17:07:19 -03:00
Cody Henthorne
1dc3cf7824
Move calling management out of service.
2021-03-31 16:02:32 -03:00
Greyson Parrelli
b053fbc4a7
Use Log.tag where appropriate.
2021-03-31 16:02:32 -03:00
Greyson Parrelli
41129f7c50
Add tracing to a few critical jobs.
2021-03-19 09:28:04 -04:00
Greyson Parrelli
0172c1e385
Prevent crashing on duplicate gv1 storage records.
2021-03-17 14:12:40 -04:00
Cody Henthorne
a9149c5dc0
Stop backup jobs from continuing to run if backups become disabled.
...
Fixes #10819
2021-03-12 16:08:22 -05:00
Cody Henthorne
75aab4c031
Add Device to Device Transfer UI.
2021-03-12 16:08:22 -05:00
Greyson Parrelli
992b04f8c5
Add more logging around threads in message sends.
2021-03-12 10:30:05 -05:00
Alex Hart
fd9c420dc8
Split system names into first / last.
2021-03-03 09:37:30 -04:00
Greyson Parrelli
ce9d44d010
Move back to async message processing.
2021-02-26 15:24:04 -05:00
Greyson Parrelli
cb0e10c7ab
Inline group migration job feature flag.
2021-02-24 20:18:10 -05:00
Alan Evans
da56c2790f
Ensure no typing indicators can be sent to self or blocked recipients.
2021-02-24 16:04:29 -05:00
Greyson Parrelli
8950100bd7
Decrypt and process messages all in one transaction.
...
Giddy up
2021-02-23 18:34:18 -05:00
Greyson Parrelli
28f3ded4bd
Perform individual decryptions inside a database transaction.
...
Required a lot of random locking work to prevent deadlocking, but
overall this results in about a 2x speed increase for decryptions.
2021-02-20 14:45:36 -05:00
Greyson Parrelli
5cb54b9ad7
Only sync contact names in contact syncs.
2021-02-20 14:45:36 -05:00
Greyson Parrelli
afee8631e1
Do not compress stickers.
2021-02-17 12:33:38 -05:00
Greyson Parrelli
80f3504098
Move BlobProvider storage out of cache and into internal storage.
2021-02-11 13:26:12 -05:00
Cody Henthorne
dc6045ca8b
Fix crash when running shortcut update job on older APIs.
2021-02-11 10:36:02 -05:00
Alan Evans
98cb6b457c
Periodic alarm to check for messages.
2021-02-10 15:21:04 -05:00
Greyson Parrelli
2954c31b5f
Fix issue where group sent transcripts were not put in proper processing queue.
2021-02-10 15:21:03 -05:00
Greyson Parrelli
59d69192c6
Disable conversation shortcuts when screen lock is enabled.
2021-02-10 15:21:03 -05:00
Greyson Parrelli
236e1ba885
Updated image compression parameters.
2021-02-10 09:16:42 -05:00
Greyson Parrelli
3bdf2e7e2c
Add a system to improve app foreground observation.
...
There was previously a crash that occurred when multiple threads tried to use ProcessLifecycleOwner, and this will hopefully resolve that.
2021-02-08 15:37:45 -05:00
AsamK
e0128e7e31
Fix crash when changing contact color without contacts permission.
...
On mulit-device app, after the contact color is changed, a multi-device
contact update job is triggered, which tries to access the system
avatar.
This causes a crash if the user has revoked the contacts permission.
2021-02-08 14:27:49 -05:00
AsamK
8f51bdcb78
Adapt maxInstancesForQueue to only consider instances of the same job.
...
Currently the maxInstancesForQueue limit checks the count of all jobs in a
given queue. If there are already too many jobs, the new job is discarded.
However this is not the expected behavior for the two jobs where it's used:
GroupCallPeekWorkerJob and AutomaticSessionResetJob
For both the expected behavior is that there aren't too many jobs of them
started, but that there will be at least one instance of them started.
Both of them use the same queue as the PushProcessMessageJob and the MarkerJob.
Those two jobs are often in the queue at the same time, effectively preventing
the GroupCallPeekWorkerJob and AutomaticSessionResetJob from being enqueued.
2021-02-08 14:26:59 -05:00
Greyson Parrelli
6264f9b585
Have a much longer backoff maximum for 5xx errors.
2021-01-28 18:51:42 -05:00