Commit Graph

249 Commits

Author SHA1 Message Date
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 db534cd376 Migrate identity keys to SignalStore. 2022-02-16 14:12:34 -05:00
Greyson Parrelli b3f4e0a7fe Move scrubber to proper package. 2022-02-16 14:12:34 -05:00
Greyson Parrelli 4db58a27a1 Add an ipv4 scrubber. 2022-02-16 14:12:34 -05:00
Cody Henthorne e01574c6b4 Fix GV2 state change bug. 2022-02-16 14:01:42 -05:00
Greyson Parrelli e2aec496c5 Add more tests around mixed direction text. 2022-02-14 14:42:48 -05:00
Greyson Parrelli 9802724baa Don't shorten message footers for mixed-direction text. 2022-02-09 16:08:21 -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 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
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 bf28dfee66 Add test for double encoded html in link preview tags. 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 1b1001b0e9 Add UI components for Release Channel. 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
Greyson Parrelli a0031298d8 Disallow visually-empty profile names. 2022-01-25 10:02:27 -04:00
Rashad Sookram 8aefd59eaa Update ktlint-gradle. 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
Cody Henthorne bfdedd57d1 Update jumbomoji processing and downloading. 2022-01-21 10:31:43 -05:00
Cody Henthorne 50b37e0402 Fix notification profile disable bug.
Fixes #11892
2022-01-12 12:27:06 -05:00
Rashad Sookram 89b918fbd2 Update ktlint-gradle. 2022-01-12 12:27:06 -05:00
Cody Henthorne 0dd2397fb4 Fix notification profile manually enabled and scheduled bug. 2022-01-03 18:47:11 -05:00
Cody Henthorne adcb1bae13 Fix bug with schedule end being set to midnight. 2021-12-20 13:31:18 -05:00
Cody Henthorne 8c34357cc6 Fix phone number format crash. 2021-12-20 13:31:18 -05:00
Cody Henthorne a8a104242a Fix various issues regarding Notification Profile scheduling.
- Timezone conversion when detecting scheduled profile
- Not automatically enabling a scheduled profile on creation regardless
  of when other profiles were enabled/disabled
2021-12-08 20:49:45 -05:00
Cody Henthorne 6c608e955e Add Notification profiles. 2021-12-08 15:07:22 -05:00
Ehren Kret 63c98e92f2 Remove old chat server hostnames. 2021-12-08 15:07:22 -05:00
Greyson Parrelli c93457402c Store your own PNI. 2021-12-06 12:18:42 -05:00
Greyson Parrelli a346dd33d9 Do not allow recipient merges to remove your own E164.
This would only happen in some niche change number cases where an
unregistered device would continue to send sealed sender messages to you
using your old number.
2021-12-03 18:10:01 -05:00
Cody Henthorne 0fa3b2f8f9 Revert "Enable Change Number."
This reverts commit 97642f555e8a1cb89c7bae209b218a1c63532ada.
2021-12-03 18:10:01 -05:00
Greyson Parrelli c0a83e7956 Migrate RecipientDatabase to Kotlin. 2021-12-03 18:10:01 -05:00
Alex Hart e3638791d9 Revert "Improve text entry for boosts."
This reverts commit 84833c9ad3.
2021-12-03 17:58:03 -04:00
Alex Hart 84833c9ad3 Improve text entry for boosts. 2021-12-03 13:55:42 -04:00
Alex Hart 54d937d036 Improve text entry for donations. 2021-12-02 17:20:21 -04:00
Alex Hart f9a2208832 Fix non-standard numeral entry. 2021-12-01 15:53:55 -04:00
Cody Henthorne 510a295198 Fix crash in custom boost input. 2021-11-24 16:41:12 -05:00
Cody Henthorne 6ed797c031 Fix custom input formatting and display bugs. 2021-11-23 17:00:47 -05:00
Greyson Parrelli 843ed24bbb Introduce SignalDatabase as the main database entrypoint. 2021-11-18 12:36:52 -05:00
Greyson Parrelli 8aea20f147 Migrate local account data into SignalStore. 2021-11-17 16:14:26 -05:00
Jordan Rose 7ccc7ec856 Update to libsignal-client 0.10.0, which includes zkgroup. 2021-11-16 17:27:47 -05:00
Greyson Parrelli 270ab34c6a After review, everything looks good. Update MobileCoin Payments Beta country codes.
This reverts commit 0cb53f40f4.
2021-11-12 22:14:57 -05:00
Alex Hart 0cb53f40f4 Update MobileCoin Payments Beta country codes. 2021-11-12 14:53:35 -04:00
Alex Hart cc64a922d7 Change to country codes for Payments Beta. 2021-11-11 18:12:24 -04:00
Alex Hart 5047fc54f2 Enable Payments Beta for more country codes. 2021-11-11 13:45:48 -04:00
Greyson Parrelli 5bb48caafd Strongly type UUIDs as ACIs. 2021-11-01 16:48:41 -04:00
Alex Hart 6c7d837964 Update badge copy with new strings. 2021-11-01 16:48:41 -04:00
Alex Hart c1820459b7 Implement further features for badges.
* Add Subscriptions API
* Add Accept-Language header to profile requests
* Fix several UI bugs, add error dialogs, etc.
2021-10-21 17:11:46 -04:00
Greyson Parrelli 5711b8a0fa Add instrumented tests for RecipientDatabase. 2021-10-21 17:11:46 -04:00