Alex Hart
8724d904b7
Add NotInCallConstraint, restrict auto-download of media and documents when on an active voice or video call.
2021-01-13 19:43:23 -05:00
Greyson Parrelli
01152ead61
Move the JobDatabase to a separate physical database.
...
Also removes maxInstancesPerFactory from DB, which was only used during job submission and had no need to be persisted.
2021-01-06 17:03:21 -04:00
Greyson Parrelli
cdd7b2deb9
Improve and streamline Application#onCreate.
2021-01-06 17:03:20 -04:00
Greyson Parrelli
9f8e31db78
Change WebsocketDrainedConstraint to DecryptionsDrainedConstraint.
2020-12-08 18:10:04 -05:00
Greyson Parrelli
c3d7b88cf6
Add support for setting max instances per job queue.
2020-12-07 17:30:05 -05:00
Greyson Parrelli
8e93bf9075
Create a core-util module with some common utilities.
2020-12-05 13:44:13 -05:00
Greyson Parrelli
97047bccde
Remove job adds from database transactions.
2020-12-05 13:44:13 -05:00
Greyson Parrelli
7868c3094b
Make FastJobStorage synchronous again.
2020-12-05 13:44:13 -05:00
Alex Hart
ce44e3949c
Add new VIEWED item in RecieptMessage enumeration.
...
Also includes necessary Database changes for supporting this as well as View-Once receipt support.
2020-11-25 11:37:13 -04:00
Greyson Parrelli
6bb9d27d4e
Add the ability to migrate GV1 groups to GV2.
...
Co-authored-by: Alan Evans <alan@signal.org>
2020-11-04 16:05:35 -04:00
Alex Hart
ee3d7a9a35
Implement new workflow for scoped storage backup selection.
2020-10-15 16:19:17 -04:00
Alan Evans
8de4290c5b
Fix can create backups when timed backup is waiting for charging constraint.
2020-10-02 10:32:04 -03:00
Greyson Parrelli
19cc43c442
Add a charging constraint to the backup job.
2020-09-23 16:54:38 -04:00
Greyson Parrelli
7108fc81a9
Prevent redundant JobScheduler jobs.
...
Some devices actually enforce a scheduling rate, and will crash if you
submit more than, say, 250 jobs in 1 minute. This can happen when
catching up with messages and scheduling a lot of
PushDecryptMessageJobs.
While it'd be tricky to limit jobs with constraints, this just does the
simple thing of not enqueueing unnecessary jobs for constraint-less
jobs.
2020-09-23 16:54:38 -04:00
Greyson Parrelli
e89285a219
Reduce log noise.
2020-09-23 16:54:38 -04:00
Greyson Parrelli
662f0b8fb6
Improve detection of websocket drained status.
...
Will now work when you lose and regain network. Also removes the
unnecessary InitialMessageRetriever.
2020-07-21 10:38:42 -04:00
Greyson Parrelli
e89655f793
Resolve newly-entered numbers before starting a conversation.
2020-07-19 09:32:16 -04:00
Greyson Parrelli
152578e576
Add reserved job runners for inbound and outbound messages.
2020-06-25 18:14:54 -04:00
Greyson Parrelli
87a59b6a9b
Add support for memory-only jobs.
2020-06-25 18:14:54 -04:00
Greyson Parrelli
9e98b6616e
Log job run time.
2020-06-25 08:29:48 -04:00
Greyson Parrelli
f8a0988e5f
Various JobManager performance improvements.
2020-06-25 08:29:48 -04:00
Greyson Parrelli
854b3feb36
Reduce verbosity of job logs.
2020-06-24 20:00:42 -04:00
Greyson Parrelli
3fad007ae0
Cancel typing jobs when you send a group message.
2020-06-12 10:06:20 -04:00
Greyson Parrelli
2751fd7efc
Retrieve profiles in parallel.
2020-06-09 12:47:11 -04:00
Greyson Parrelli
1234899ea1
Add support for non-blocking media sends.
2020-06-06 20:25:02 -04:00
Greyson Parrelli
6b2e000e61
Prevent waiting for old queues in our retrieval strategies.
2020-05-29 19:14:37 -04:00
Greyson Parrelli
ea8e13b1c8
Create a WebsocketDrainedConstraint.
2020-05-29 09:51:21 -04:00
Greyson Parrelli
f099c3591c
Run PushProcessMessageJobs in parallel.
2020-05-14 11:22:28 -03:00
Greyson Parrelli
310ec8f296
Remove CellServiceConstraint in favor of NetworkOrCellServiceConstraint.
...
If a job was enqueued with a CellServiceConstraint (which is currently
only SMS jobs), then it'll never run until it gets service, even if you
flip the "enable SMS sending over wifi" toggle.
This has created bad situations in the past, where SMS jobs just get
stuck on devices that never report having cell service (like VM's or
wifi only devices).
This fixes it by *always* using NetworkOrCellServiceConstraint, and then
deciding whether a constraint is met by checking the "wifi SMS" setting
at decision-time.
2020-05-13 16:18:18 -04:00
Greyson Parrelli
35f4f3f81e
Add support for passing data between jobs.
2020-04-21 13:33:41 -04:00
Alan Evans
1d63970a25
Hardcode all class names in old work manager migration.
2020-04-21 13:33:33 -04:00
Alan Evans
2b1ffac564
Groups V2 avatar download job.
2020-04-21 13:33:33 -04:00
Greyson Parrelli
4d0dbbc6cd
Add ability to listen to jobs based on a filter.
2020-03-26 17:37:51 -04:00
Greyson Parrelli
6184e5f828
Update the storage service.
2020-02-26 17:11:34 -05:00
Alex Hart
9e5f64c431
Improve message requests, add megaphone.
2020-02-26 17:08:27 -05:00
Greyson Parrelli
fadcc606f8
Optimize uploads during media composition.
...
By uploading in advance (when on unmetered connections), media messages
can send almost instantly.
2020-01-24 10:54:38 -05:00
Greyson Parrelli
06757153b3
Add support for adding jobs with existing dependencies.
2020-01-24 10:54:38 -05:00
Greyson Parrelli
38597aea00
Add support for canceling Jobs.
2020-01-24 10:54:38 -05:00
Alan Evans
9ebe920195
Move all files to natural position.
2020-01-06 11:08:30 -05:00