Cody Henthorne
a7a5f2e8c6
Add batch identity checks to stories and share/forward flows.
2022-07-27 13:26:28 -04:00
Alex Hart
b18542a839
Ensure images sent to stories respect media quality settings.
...
Stories should always use "Standard" quality, not L3 (high quality). This change ensures that we:
1. Always send stories at the appropriate quality
2. Do not corrupt or overwrite pre-existing image attachments
3. Close several streams when done (thanks StrictMode!)
2022-07-21 13:18:19 -04:00
Cody Henthorne
c4bef8099f
Add GV2 accept by PNI invite.
2022-07-21 13:18:19 -04:00
Alex Hart
f9c0156757
Fix crash when outcomeReason is null.
2022-07-18 09:28:57 -03:00
Alex Hart
efb82369b6
Bump version to 5.43.0
2022-07-11 14:04:57 -03:00
Cody Henthorne
b0dc7fe6df
Add batch identity key check call for improved safety number change performance.
2022-07-11 13:35:53 -03:00
Greyson Parrelli
3beb730edb
Prefer ServiceIds over SignalServiceAddresses.
2022-07-11 13:35:53 -03:00
Greyson Parrelli
314ef3452f
Improving logging of 401 errors.
2022-07-05 15:46:06 -04:00
Cody Henthorne
7b805e4041
Remove use of PNI Credential.
2022-06-30 15:51:59 -04:00
Greyson Parrelli
61ce39b5b6
Improve implementation and testing on PNP contact merging.
2022-06-29 15:32:26 -04:00
Cody Henthorne
89a6730efe
Add Storage Service plugin to Spinner.
2022-06-29 15:32:25 -04:00
Cody Henthorne
9bc25132c3
Add new My Story privacy settings.
2022-06-29 15:32:25 -04:00
Greyson Parrelli
9ab275195f
Add support for CDSI.
2022-05-18 11:54:17 -04:00
Cody Henthorne
3c08b070fc
Fetch PNI Credential during own profile refresh.
2022-05-18 11:54:17 -04:00
Greyson Parrelli
dda5ce4809
Add basic CDSv2 database writes and unit tests.
2022-05-18 11:54:17 -04:00
Cody Henthorne
ec3540e200
Fix long text in Safety Number Change dialog.
2022-05-18 11:54:17 -04:00
Alex Hart
af9465fefe
Add sent story syncing.
2022-05-12 10:42:21 -03:00
Alex Hart
8ca0f4baf4
Add support for replying to gift badges.
2022-05-12 10:42:21 -03:00
Alex Hart
a4a4665aaa
Implement badge gifting behind feature flag.
2022-05-02 15:25:55 -04:00
Alex Hart
33236ea8e6
Add retry when user resubscribes after canceling.
2022-04-28 14:33:30 -03:00
Greyson Parrelli
eccb796199
Ensure that destinationUuid is always populated.
2022-04-26 12:16:58 -04:00
Cody Henthorne
657a9c7b0a
Add ability to reject group invite by PNI.
2022-04-26 12:16:58 -04:00
Victor Ding
e5aea7c49e
Replace non-ASCII characters in comments to their ASCII equivalent
...
Fixes #12201
2022-04-26 12:15:50 -04:00
Greyson Parrelli
f5173fa6f5
Update libsignal-client to 0.16.0
2022-04-26 12:12:17 -04:00
Cody Henthorne
2f551ee3f2
Do not auto-leave groups you have requested to join.
2022-04-21 11:30:13 -04:00
Alex Hart
115f7063d5
Add support and tracking of ChargeFailure in ActiveSubscription.
2022-04-18 16:37:12 -03:00
Greyson Parrelli
35a9fddbb2
Add basic support for receiving messages at your PNI.
...
We haven't implemented merging yet, so this is still very basic, but it
"works".
2022-04-15 16:07:14 -04:00
Greyson Parrelli
b34ca8ca2f
Improve handling of unknown IDs in storage service.
2022-04-06 12:37:43 -04:00
Alex Hart
c359b0134a
Implement StoryDistributionListRecord and processing.
2022-04-06 12:37:43 -04:00
Chris Eager
086e3ed4ec
Update message reporting to use sender ACI instead of E164.
...
Co-authored-by: Greyson Parrelli <greyson@signal.org>
2022-04-06 12:37:43 -04:00
Greyson Parrelli
c149e008fd
Update apostrophes in code comments.
2022-03-30 09:37:12 -04:00
Greyson Parrelli
8d4419705b
Update to libsignal-client 0.15.0
2022-03-28 19:07:20 -04:00
Greyson Parrelli
2b5d65ae04
Revert "Update to libsignal-client 0.15.0"
...
This reverts commit 3d5f04eba757563dd92366d994a96cf323b8d540.
2022-03-28 19:07:20 -04:00
Jordan Rose
1e316ea19f
Update to libsignal-client 0.15.0
2022-03-28 19:07:20 -04:00
Cody Henthorne
6890973ce8
Enforce limit for total number of blocked requests.
2022-03-28 19:07:20 -04:00
Greyson Parrelli
2edaba39a0
Fix support for PniIdentity sync message.
2022-03-28 19:07:20 -04:00
Greyson Parrelli
83c3b16b92
Add ContactDiscovery abstraction for doing CDS refreshes.
2022-03-28 19:07:19 -04:00
Cody Henthorne
e6ac40a07c
Fix various corner case block/reject join request bugs.
2022-03-18 11:03:38 -04:00
Cody Henthorne
445ff263c6
Fix receiving group invite bug.
2022-03-18 11:03:38 -04:00
Cody Henthorne
9d28caac00
Fix bug preventing adding and inviting by phone number.
2022-03-17 16:02:43 -04:00
Cody Henthorne
d3049a3433
Add block request action button to collapsed join request events.
2022-03-17 12:12:56 -04:00
Greyson Parrelli
057231b9c3
Update libsignal-client to 0.14.0
2022-03-17 12:12:56 -04:00
Greyson Parrelli
b45740884b
Only upload your avatar if it's being changed.
...
New server param means we don't have to upload the avatar if we want to
keep it the same.
2022-03-17 12:12:56 -04:00
Cody Henthorne
eed45b57a1
Prevent rejected/kicked group members from joining again via group link.
2022-03-17 12:12:56 -04:00
Cody Henthorne
c17ba30cfc
Show different messages based on join group link error header.
2022-03-17 12:12:56 -04:00
Greyson Parrelli
e552b5160f
Implement CdshV2Service.
2022-03-17 12:12:55 -04:00
Greyson Parrelli
7e063e8ad8
Refactor CDSH to allow for code reuse.
2022-03-17 12:12:55 -04:00
Greyson Parrelli
c1181478dd
Remove GV2 capability check.
2022-03-17 12:12:55 -04:00
Greyson Parrelli
15f51ea26e
Fix crash if synced pinned contact is malformed.
2022-03-10 11:14:55 -05:00
Cody Henthorne
66f93e0d32
Do not drop 1:1 messages with mentions due to iOS and desktop regression.
...
iOS and Desktop both regressed in multi-forwarding by including mentions
in 1:1 forwards instead of replacing them with plain text. Android by
default drops these as invalid messages. Since there are clients in the
wild that do this now, we have to stop dropping them and try to resolve
them per normal mechanisms.
2022-03-09 12:09:46 -05:00
Alex Hart
35cd36e9fe
Implement support for 'allows replies' toggle.
2022-03-08 10:41:37 -04:00
Cody Henthorne
e701e4bff0
Don't allow rate limit responses to end all group sends.
2022-03-08 10:41:37 -04:00
Cody Henthorne
69dc31681d
Apply server returned group patch instead of local only.
2022-03-08 10:41:37 -04:00
Jon Chambers
372dd13eba
Accept both HTTP/413 and HTTP/429 as rate-limit responses.
2022-03-08 10:41:37 -04:00
Alex Hart
174cd860a0
Implement Stories feature behind flag.
...
Co-Authored-By: Greyson Parrelli <37311915+greyson-signal@users.noreply.github.com>
Co-Authored-By: Rashad Sookram <95182499+rashad-signal@users.noreply.github.com>
2022-03-08 10:41:36 -04:00
Greyson Parrelli
935dd7de45
Remove E164s most places and prefer ServiceId more places.\
2022-03-08 10:41:36 -04:00
gram-signal
88d2d4d9c7
Switch from binary to streaming protos when using CDSHv1.
...
Co-authored-by: Greyson Parrelli <greyson@signal.org>
2022-03-01 10:47:23 -05:00
Cody Henthorne
bd18b731c8
Add metrics logging around get resumable upload url request.
2022-03-01 10:47:23 -05:00
Greyson Parrelli
80598814bd
Remove unused PushServiceSocket method.
2022-03-01 10:47:23 -05:00
Greyson Parrelli
7ca2420287
Move from ACI to a generic ServiceId.
2022-02-17 17:09:26 -05:00
Cody Henthorne
6f788ee3df
Improve GV2 state change processing speed.
2022-02-17 17:09:26 -05:00
Greyson Parrelli
dec1902dc7
Add provisioning support for PNP.
2022-02-17 17:09:25 -05:00
Greyson Parrelli
e8ad1e8ed1
Support PNI prekeys.
2022-02-16 14:12:34 -05:00
Greyson Parrelli
267897b133
Improve UD handling for fallback REST sends.
...
Special thanks to @stevie553 for the wonderfully-detailed bug report!
Fixes #11991
2022-02-14 14:58:09 -05:00
Alex Hart
5a6d77bae4
Add better error handling for subscriptions.
2022-02-10 14:26:59 -04:00
Greyson Parrelli
ae0d6b5926
Handle unsealed PlaintextContent messages.
...
Closes #11885
Co-authored-by: AsamK <asamk@gmx.de>
2022-02-10 11:01:18 -05:00
Greyson Parrelli
0558d5f0b3
Clear sender key shared state on archive and prekey message receive.
...
We need to clear the sender key shared state whenever a registrationId
changes. We don't have good hooks for that on Android, so instead we're
just going to reset on every archive and prekey receive. It's a little
overzealous, but given these are rare events anyway, it shouldn't be a
big deal.
2022-02-10 10:35:22 -05:00
Cody Henthorne
bb1e6ffae0
Improve GV2 update speed by only requesting a full snapshot when necessary.
2022-02-09 14:52:01 -05:00
Greyson Parrelli
80a2e1e3cc
Support syncing dontNotifyIfMuted on GV2Records.
2022-02-09 10:03:31 -05:00
Greyson Parrelli
0877d6a25e
Improve handling of unknown fields in storage service.
...
Improve handling of unknown fields in storage service.
Found a lovely bug today where unmuting chats on mobile didn't sync to my linked devices. Turns out this was a result of the unknown field merging.
1. When a proto has unknown fields, we store the entire proto in a column in our database.
2. After building a proto that we want to write remotely, we merge the saved proto with unknown fields into constructed proto. Most of the time this is fine.
3. _However_, if one of the values you're trying to set happens to be the same as the default value for the given data type (e.g. setting a long like mutedUntil = 0), then when the protos merge, it treats that field as unset and can override it with the field from the proto with unknown fields.
4. Because we currently have unknown fields in every GV2 record, we could never unmute a GV2 group :(
This changes the order of things so that unknown fields are the first thing applied in the record builder. I did this by requiring them in the builder constructors. That way start off with the unknown fields and then can manually set whatever you want, and it'll be guaranteed to override it.
2022-02-08 16:49:49 -04:00
Greyson Parrelli
83ee4c0147
Break storage reads into pages of 1000.
2022-02-08 16:49:49 -04:00
Cody Henthorne
8af7c5043a
Fix bug with sending after safety number changes.
2022-02-04 17:33:32 -05:00
Cody Henthorne
a05776551f
Fix sending reactions to note to self.
2022-02-03 17:12:30 -05:00
Cody Henthorne
d690a52fd7
Add additional timing logs for getting resumable upload spec.
2022-02-02 16:50:58 -05:00
Cody Henthorne
8348badcd6
Periodically fetch release notes.
2022-02-02 16:50:58 -05:00
Cody Henthorne
7a241e5fb5
Use group state paging always.
2022-02-02 16:50:58 -05:00
Greyson Parrelli
33f4bb0000
Add the ability to have separate ACI and PNI protocol stores.
2022-02-01 13:41:31 -05:00
Cody Henthorne
053b19846b
Add additional log around change number and set PNI.
2022-01-26 15:13:52 -05:00
AsamK
523e21f3be
Improve handling of group send errors over websocket.
...
- Correctly parse error responses from send group message via websocket.
- Reduce logging output for mismatched/stale devices exceptions.
- Only fallback from websocket to socket if there were technical errors.
Closes #11918
2022-01-25 10:02:26 -04:00
Greyson Parrelli
35c5a8106d
Migrate to the new KBS and CDS enclaves.
2022-01-24 14:46:51 -05:00
Cody Henthorne
22c396067d
Add storage sync support for linked devices.
2022-01-24 12:05:29 -05:00
Cody Henthorne
c548816daa
Add contact and key sync message receive support.
2022-01-24 12:04:48 -05:00
Cody Henthorne
7203228626
Add partial support for operating as a linked device.
2022-01-24 12:04:48 -05:00
Greyson Parrelli
b5dcf8e8f1
Improve handling of inbound UD messages.
2022-01-21 12:51:22 -05:00
Cody Henthorne
791c1ee8dd
Fix group send with sender key failure due to mistmatch identity.
2022-01-20 20:41:06 -05:00
Greyson Parrelli
8bc7d1b7f5
Drop messages that have a story context.
2022-01-07 14:41:42 -04:00
Cody Henthorne
e41c73f293
Fix OOM when paging lots of group updates.
2022-01-07 14:41:42 -04:00
Alan Evans
ac90eeb42f
Protoc update to 3.18.0
...
Windows and M1 gradle verification sha256 values.
Using: gradlew --write-verification-metadata sha256 help
But aapt2 artifact had to be manually added.
Fixes #11871 , Fixes #11878 , Closes #11877
2022-01-03 10:17:17 -05:00
Greyson Parrelli
a17fd447a7
Add logging to help diagnose ratelimit issues.
2021-12-20 13:31:18 -05:00
Alex Hart
9177f5637a
Add support for manual cancellation proto field.
2021-12-20 13:31:18 -05:00
Rashad Sookram
4ae129d2af
Use Gradle dependency verification.
...
Generated by running:
./gradlew --write-verification-metadata sha256 qa --rerun-tasks
2021-12-16 14:48:25 -05:00
Greyson Parrelli
c93457402c
Store your own PNI.
2021-12-06 12:18:42 -05:00
Greyson Parrelli
562a255478
Update libsignal-client to 0.11.0
2021-12-03 18:09:52 -05:00
Alex Hart
ae1f834619
Add new subscription multi device sync message.
2021-11-30 17:13:14 -05:00
Ehren Kret
dccfafa9e8
Remove dead code referencing the old way directory lookup was performed.
2021-11-30 17:13:10 -05:00
Cody Henthorne
c5d7188dcb
Fix country specific translations for badges.
2021-11-24 16:41:12 -05:00
Greyson Parrelli
11aa168a6b
Improve handling of unregistered failure during sender key send.
2021-11-23 17:00:47 -05:00
Greyson Parrelli
cd1f0632fa
Improve recognition of failed payment states.
2021-11-22 22:44:10 -05:00
Alex Hart
f260633c9d
Update payment failure ux.
2021-11-19 16:28:39 -05:00
Alex Hart
8a00caabd7
Update how we deal with failed or in progress subscriptions.
2021-11-19 16:28:39 -05:00