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
Greyson Parrelli
8aea20f147
Migrate local account data into SignalStore.
2021-11-17 16:14:26 -05:00
Greyson Parrelli
2df303cde7
Add some additional endpoints for PNP.
2021-11-16 17:27:47 -05:00
Greyson Parrelli
732a6324d6
Include auth token in CDSH request.
2021-11-16 17:27:47 -05:00
Greyson Parrelli
54614e67aa
Update CDSH with better error handling.
2021-11-16 17:27:47 -05:00
AsamK
1ad0b0e6ae
Close response body for all storage requests and for unsuccessful requests.
2021-11-16 17:27:47 -05:00
Jordan Rose
7ccc7ec856
Update to libsignal-client 0.10.0, which includes zkgroup.
2021-11-16 17:27:47 -05:00
Alex Hart
882bdcc726
Send user an email after Stripe completes payment for boosts.
2021-11-15 13:48:19 -04:00
Alex Hart
6b94fc82eb
Add and sync displayBadgesOnProfile Flag.
2021-11-11 16:52:08 -04:00
Alex Hart
482a10de02
Improve handling of network timeouts for donor badges.
2021-11-05 15:36:30 -04:00
Cody Henthorne
9827deffd3
Make websocket timeouts stay on IO threads.
2021-11-04 18:29:51 -04:00
Alex Hart
70355aa70e
Add server-based localization of subscription names and badge information.
2021-11-04 17:00:04 -04:00
Greyson Parrelli
56c502c9bf
Update libphonenumber to 8.12.33
2021-11-04 17:00:04 -04:00
Greyson Parrelli
a51bb8e23f
Add LeakCanary to flipper builds.
2021-11-04 16:59:59 -04:00
Greyson Parrelli
3574be913a
Log out sender key state for internal users.
2021-11-04 16:59:59 -04:00
Greyson Parrelli
4615f246ac
Log additional info about 409/410 responses.
2021-11-04 16:57:10 -04:00
Greyson Parrelli
62ee60df82
Add full support for unknown fields in storage service.
2021-11-01 17:07:01 -04:00
Alex Hart
6673da0b04
Add subscriber information to storage service account record.
2021-11-01 16:48:42 -04:00
Greyson Parrelli
5bb48caafd
Strongly type UUIDs as ACIs.
2021-11-01 16:48:41 -04:00
Alex Hart
186bd9db48
Implement new APIs for Boost badging.
2021-11-01 16:48:41 -04:00