Greyson Parrelli
af42d5b671
Create system for job migrations.
2019-08-29 11:07:33 -04:00
Greyson Parrelli
c6287547a3
Improve video transcoding exception handling.
...
Previously, we'd crash if we couldn't find the attachment at runtime,
but that's not uncommon if someone deletes before sending. Now we just
fail.
Also, previously we'd fail if we couldn't create a memory file. Now we
will only fail if the attachment is >100mb (same as the other video
failures).
2019-08-24 09:27:08 -04:00
Greyson Parrelli
9257c6ddf3
Fix failure propogation in longer job chains.
2019-08-24 09:09:20 -04:00
Alan Evans
aac9725adc
Move shared attachment job generation code to parent class.
2019-08-22 10:15:56 -04:00
Alan Evans
942154a61f
Separate compression job.
2019-08-22 10:04:23 -04:00
Greyson Parrelli
02ea99254a
Reset message receiver upon REST failure.
...
We've been seeing a lot of socket timeouts on REST requests under
certain conditions. The issue seems to be a problem with the OkHttp
client. Through testing, I've seen that resetting the receiver and
retrying again seems to resolve most issues.
2019-08-22 10:04:23 -04:00
Greyson Parrelli
457ad4c607
Added a central system for message retrieval.
2019-08-22 10:04:23 -04:00
Greyson Parrelli
d0a9bd4c6d
Create a new system for application-level migrations.
2019-08-22 10:04:23 -04:00
Greyson Parrelli
d3bed549f2
Switch back to storing incoming messages in PushDatabase.
...
On a Pixel 3, this adds ~30-40ms of delay, but it's going to be a
requirement for upcoming migrations.
2019-08-22 10:04:23 -04:00
Greyson Parrelli
57835dc8f1
Update view-once message behavior.
2019-08-05 15:46:43 -04:00
Alan Evans
929ee04814
Handle missing video duration.
...
On EncodingException, or no duration metadata found, when video < 100MB, continue with send.
2019-08-05 10:48:18 -04:00
Greyson Parrelli
7ae5159194
Downgrade some job exceptions.
...
Runtime exceptions were being thrown where it'd be safer to either
ignore it or throw a checked, failing exception.
2019-08-02 17:00:48 -04:00
Alan Evans
dcc147d994
Reduce frame timeout crashes.
2019-08-02 15:57:20 -04:00
Greyson Parrelli
17400020b7
Allow RuntimeExceptions thrown by Jobs to crash.
2019-07-31 09:54:46 -04:00
Alan Evans
e8e80e5d05
Transcode video during attachment upload.
2019-07-31 09:54:46 -04:00
Alan Evans
03b1eb4bd5
Prevent attempting to send push media messages to non-phone addresses.
...
Prevents crash loop in #8910
2019-07-22 23:16:01 -04:00
Greyson Parrelli
965de16de1
Fix possible hangup with CellServiceConstraint.
...
On phones with no SIM card, if you manage to enqueue a job with a
CellServiceConstraint, the previous check we were using to check if
there was cell service could hang indefinitely on some devices.
This changes it to a fast check, which all constraints should be.
2019-07-22 23:16:01 -04:00
Greyson Parrelli
beaa86389d
Implement camera-first capture flow.
...
This allows you to take a photo, then choose the recipients after. This
also makes it so we only upload the attachment once.
2019-07-22 23:15:50 -04:00
Greyson Parrelli
c77809fa90
Add support for view-once messages.
2019-07-18 16:10:10 -04:00
Greyson Parrelli
475c54213d
Move from dagger to a service locator pattern.
2019-07-17 16:12:53 -04:00
Greyson Parrelli
6c31d656dd
Fix queueKey for SmsSendJob.
2019-07-16 19:19:56 -04:00
Greyson Parrelli
ed5f5adc9b
Prevented avatar read failures from crashing.
...
There are a handful of devices that refuse to use our AesGcmProvider,
and as a result they would crash with AssertionErrors when downloading
avatars. Still haven't found why, but for now, probably best to stop
these devices from crashing, since it puts them in a crash loop, and the
app is still usable without avatars.
2019-07-02 10:06:20 -04:00
Alan Evans
c089d6cd43
Allow multiple messages on the Generic Foreground Service. Show the oldest still active.
2019-06-27 12:18:52 -04:00
Greyson Parrelli
7f85b61e89
Serialize RotateSignedPreKeyJob.
2019-06-19 12:56:56 -04:00
Alan Evans
0484047b4e
Fix avatar removal.
2019-06-17 13:51:16 -04:00
Alan Evans
42a5504f0d
Do not attempt to retrieve a profile when it is not a number.
...
Fixes #8855
2019-06-17 13:51:16 -04:00
Greyson Parrelli
fb4c9d3bf1
Improve message download reliability.
2019-06-17 12:52:43 -04:00
Greyson Parrelli
b5aa46bb67
Convert to AndroidX.
2019-06-17 12:52:42 -04:00
Greyson Parrelli
922f6d89e9
Render placeholders for unsupported messages.
2019-05-30 20:18:53 -04:00
Greyson Parrelli
4741a76f37
Add support for isRecipientUpdate flag.
2019-05-30 20:16:14 -04:00
Greyson Parrelli
2a644437fb
Add sticker support.
...
No sticker packs are available for use yet, but we now have the
latent ability to send and receive.
2019-05-30 01:08:01 -04:00
Alan Evans
9445555d66
Code analysis - address @NotNull/@Nullable issues.
2019-05-22 13:51:56 -03:00
Greyson Parrelli
7b4299d5da
Bring back conscrypt, improve provider initialization ordering.
2019-05-02 14:32:48 -07:00
Greyson Parrelli
ecea6abeb6
Temporary revert (again) to fix an avatar retrieval issue.
...
This reverts commit 77524ae1f2
.
2019-05-01 08:25:14 -07:00
Greyson Parrelli
77524ae1f2
Revert "Temporary revert to fix an avatar retrieval issue."
...
This reverts commit 267bc32e23
.
2019-04-30 12:51:58 -07:00
Greyson Parrelli
1c47812877
Fix crash when migrating read receipt jobs.
...
Fixes #8764
2019-04-15 15:45:16 -04:00
Greyson Parrelli
4a3c173adb
Migrated to new JobManager.
2019-04-15 10:56:26 -04:00
Alan Evans
9c40de5bf1
Save the SMS setting on a per-conversation basis.
2019-04-15 10:13:35 -04:00
Greyson Parrelli
267bc32e23
Temporary revert to fix an avatar retrieval issue.
...
This reverts commit 8aa185070b
.
2019-04-03 16:32:52 -04:00
Greyson Parrelli
8caaf057e8
Remove unnecessary pre-19 code branches.
...
Now that our minSdk is 19, we can remove a lot of old code paths that
only ran pre-19.
2019-03-21 11:19:06 -07:00
Moxie Marlinspike
8aa185070b
Update libsignalservice to 2.13.0
...
- Eliminate the explicit spongycastle dependency. All access to
primitives is done through the JCE interfaces now, which allows
us to use a secure native-backed provider like conscrypt.
- Use conscrypt for our default security provider. This gives us
fast TLS 1.2 and 1.3 support on all devices, even before they
had platform support (like 4.4).
- Update minSdk to 18. Unfortunately the JCE interfaces for GCM
primitives are JDK 7+ (!) only, which became supported by Android
at 18.
2019-03-21 11:19:06 -07:00
Greyson Parrelli
c646316a97
Block typing indicators from blocked contacts.
2019-03-19 09:39:19 -07:00
Greyson Parrelli
18613e3b6f
Remove generic foreground service condition from Job.
...
I don't think it actually helps at all, meaning it just adds
complexity.
Fixes #8677
2019-03-12 11:29:59 -03:00
Greyson Parrelli
a122bb4899
Created new BlobProvider.
...
One unified place to create blobs for different lifespans.
2019-03-10 15:18:39 -07:00
Greyson Parrelli
a2b6dbda14
Correctly sync Note to Self conversation color.
2019-02-15 14:21:27 -08:00
Greyson Parrelli
a6564f8f84
FCM improvements.
2019-02-15 14:21:23 -08:00
Greyson Parrelli
fe4068afce
Don't preview links if your cursor is touching them.
2019-02-14 20:19:07 -08:00
Greyson Parrelli
c2a86fcc74
Sync self-sends to desktop.
...
Updated UI to show self-conversations as "Note to Self".
2019-02-14 20:19:07 -08:00
Greyson Parrelli
c9a0a66f18
Migrate backup passphrase to be keystore-encrypted when available.
2019-02-14 20:19:06 -08:00
Greyson Parrelli
c364345e1d
Add some additional FCM logging.
2019-02-06 00:53:52 -08:00