Compare commits

..

542 Commits

Author SHA1 Message Date
Michelle Tang
ccb8c1b1b9 Bump version to 7.58.1 2025-09-29 16:18:06 -04:00
Michelle Tang
4aa965144d Update translations and other static files. 2025-09-29 16:09:49 -04:00
Cody Henthorne
786bcc3da7 Fix header case bugs in status code errors. 2025-09-26 12:54:18 -04:00
Cody Henthorne
4447b29e6c Fix upload to archive running while not on wifi. 2025-09-25 13:27:07 -04:00
Jeffrey Starke
3ebbb94a1a Bump version to 7.58.0 2025-09-24 16:39:40 -04:00
Jeffrey Starke
64a7cdafa8 Update translations and other static files. 2025-09-24 16:37:04 -04:00
Cody Henthorne
c3350c0bb0 Clear credentials in pre-restore state. 2025-09-24 16:29:57 -04:00
Cody Henthorne
e2be1e0c79 Prevent IMO from running before registration. 2025-09-24 16:29:57 -04:00
Alex Hart
228a993237 Ignore PNI messages for everything except server delivery receipts. 2025-09-24 16:29:57 -04:00
Alex Hart
04923487c4 Ignore mismatch state if FREE tier user has GPB sub.
Co-authored-by: jeffrey-signal <jeffrey@signal.org>
2025-09-24 16:29:57 -04:00
Alex Hart
9777aa411c Remove transitions from base NavHost. 2025-09-24 16:29:57 -04:00
Alex Hart
d0c1e93b3c Do not display a price if it's been zeroed. 2025-09-24 16:29:57 -04:00
Alex Hart
9b517a14cb Remove separate controllers and consolidate logic. 2025-09-24 16:29:57 -04:00
Alex Hart
369085e162 Add new log sections to backups. 2025-09-24 16:29:57 -04:00
Alex Hart
93815a0504 Add checks to skip check job if we have a pending or pre-pending transaction. 2025-09-24 16:29:57 -04:00
Alex Hart
b88097a6ae Utilize keepLonger throughout BillingApiImpl. 2025-09-24 16:29:57 -04:00
Alex Hart
120cc9c521 Fix padding on button when we have a current tier. 2025-09-24 16:29:57 -04:00
Cody Henthorne
58304a0fb6 Fix RTL ByteSize rendering. 2025-09-24 16:29:57 -04:00
Cody Henthorne
6e867d678c Fix de related crash and bug. 2025-09-24 16:29:57 -04:00
Cody Henthorne
8b2f58e0e7 Remove hard coded message backups remote config. 2025-09-24 16:29:57 -04:00
Cody Henthorne
6976ac7d44 Move v3 classes to base registration package. 2025-09-24 16:29:57 -04:00
Cody Henthorne
8dc2077ad0 Remove regv2. 2025-09-24 16:29:57 -04:00
jeffrey-signal
52fa86046b Fix backups UI scaling issues. 2025-09-24 16:29:57 -04:00
Alex Hart
3352ebaa06 Move large screen check to wrapper. 2025-09-24 16:29:57 -04:00
Cody Henthorne
cbfdc4b57a Improve free tier UX around media. 2025-09-24 16:29:57 -04:00
Greyson Parrelli
c5753b96ff Update BackupMediaSnapshot to be based on attachments in backup frames. 2025-09-24 16:29:57 -04:00
Alex Hart
f39ad24cc1 Increase desired width increment to aleviate situations where certain text would still flow to multiple lines. 2025-09-24 16:29:57 -04:00
Greyson Parrelli
6b6877bae7 Update username link logo.
Resolves #14258
2025-09-24 16:29:57 -04:00
andrew-signal
930254da7b Bump to libsignal v0.81.1. 2025-09-24 16:29:56 -04:00
Alex Hart
3df2fa53e8 Don't exit multiselect mode when swapping screens. 2025-09-24 16:29:56 -04:00
Alex Hart
c901639ce8 Add lint detection for System.out.println add kotlin.io.println usage. 2025-09-24 16:29:56 -04:00
Alex Hart
9e1cec7a60 Fix anchor offset when search or action mode is entered. 2025-09-24 16:29:56 -04:00
Alex Hart
9269c66d1e Add remote config support for large screen UI. 2025-09-24 16:29:56 -04:00
Alex Hart
fd999be41a Add new navigation and pane support. 2025-09-24 16:29:56 -04:00
Alex Hart
146a5f5701 Remove ParcelableGroupId. 2025-09-23 20:21:30 -04:00
Alex Hart
d49ef1dd7d Convert RecipientId to Kotlin. 2025-09-23 20:21:30 -04:00
Greyson Parrelli
49c5fead39 Catch ZK validation error in profile fetch. 2025-09-23 20:21:30 -04:00
Greyson Parrelli
9c705f3a45 Remove unnecessary SMS entrypoint.
Fixes #14213
2025-09-23 20:21:30 -04:00
Alex Hart
bea204ab82 Convert GroupId to Kotlin. 2025-09-23 20:21:29 -04:00
Jeffrey Starke
9350438866 Bump version to 7.57.2 2025-09-23 20:00:39 -04:00
Jeffrey Starke
4d827adc8b Update translations and other static files. 2025-09-23 19:50:47 -04:00
Cody Henthorne
9f839b75fb Improve restore error messaging and actual available restore method options. 2025-09-23 14:32:11 -04:00
Alex Hart
c0482e8247 Ensure api availability is properly loaded in checkout flow. 2025-09-23 15:12:37 -03:00
Greyson Parrelli
17f27f45fc Bump version to 7.57.1 2025-09-18 10:36:19 -04:00
Greyson Parrelli
2401e33222 Update translations and other static files. 2025-09-18 10:35:53 -04:00
Greyson Parrelli
4345179a1d Fix replying to non-media. 2025-09-18 10:10:56 -04:00
Greyson Parrelli
5aa6fc78ee Bump version to 7.57.0 2025-09-17 14:37:30 -04:00
Greyson Parrelli
e0a86ead58 Update translations and other static files. 2025-09-17 14:36:54 -04:00
Alex Hart
169d0fa964 Convert Media to kotlin. 2025-09-17 14:21:43 -04:00
Greyson Parrelli
c5397bc7d2 Fix potential crash in story send.
Fixes #14331
2025-09-17 14:21:43 -04:00
Greyson Parrelli
43f6e0ad8e Fix restore error string formatting. 2025-09-17 14:21:43 -04:00
Alex Hart
736811393f Upgrade Kotlin, AGP, Gradle versions and bring in kotlinx-serialization for use with navigation-compose. 2025-09-17 14:21:43 -04:00
andrew-signal
957ddc82b5 Switch lookupUsernameHash to use libsignal's typed API wrapper. 2025-09-17 14:21:43 -04:00
andrew-signal
16d6e98355 Pass all android.libsignal.* prefixed remote configs down automatically. 2025-09-17 14:21:43 -04:00
Alex Hart
2a90809ba3 Add Billing API and Google API availability error dialogs. 2025-09-17 14:21:43 -04:00
andrew-signal
0713a88ddb Bump to libsignal v0.81.0 2025-09-17 14:21:43 -04:00
Greyson Parrelli
c78b47fbe3 Make max envelope size remote configurable. 2025-09-17 14:21:43 -04:00
jeffrey-signal
5807cbc9e9 Disable autofill for PIN entry fields. 2025-09-17 14:21:43 -04:00
Cody Henthorne
6d90330e86 Improve restore complete dialog for old device. 2025-09-17 14:21:43 -04:00
Michelle Tang
862bab55af Add more logging around notification profile overrides. 2025-09-17 14:21:43 -04:00
jeffrey-signal
7235a3730c Fix crash when opening the change number registration lock screen. 2025-09-17 14:21:43 -04:00
jeffrey-signal
c24993960d Fix inconsistent default PIN keyboard type. 2025-09-17 14:21:43 -04:00
Greyson Parrelli
7f429dc769 Bring back proper archive delete reconciliation. 2025-09-17 14:21:43 -04:00
Michelle Tang
a575626abb Add logging around overrides in notification profiles. 2025-09-17 14:21:43 -04:00
moiseev-signal
0b71b1837c Upgrade to libsignal 0.80.3 and add a new trust root for sealed sender. 2025-09-17 14:21:43 -04:00
jeffrey-signal
f0df1b99e5 Always include english translations for emoji search.
Updates the `emoji_search` table by including English emoji labels alongside existing localized labels, enabling users to search for emojis in both their preferred language and English.
2025-09-17 14:21:43 -04:00
Alex Hart
23b7ea90a1 Add fixes for primary choice when returning to chats. 2025-09-17 14:21:43 -04:00
Alex Hart
53a6b0c719 Fix navigator to ensure we don't end up with a weird backstack. 2025-09-17 14:21:43 -04:00
Alex Hart
bf3135b2d0 Fix various issues in main activity display. 2025-09-17 14:21:43 -04:00
Alex Hart
897461b594 Expand the detail anchor if we select a conversation while the list is maximized. 2025-09-17 14:21:43 -04:00
Alex Hart
63800306a0 Pre-seed navigation when intent is processed before navigator is set. 2025-09-17 14:21:43 -04:00
Greyson Parrelli
b649b8c943 Hide some error states for unregistered users. 2025-09-17 14:21:42 -04:00
andrew-signal
2c0aa40c61 Disable vector drawable rasterization in donations library. 2025-09-17 14:21:42 -04:00
Alex Hart
2eb4f650d8 Convert NotificationsSettingsFragment to compose. 2025-09-17 14:21:42 -04:00
Ehren Kret
7af811eb3f Accept legacy call links. 2025-09-17 14:21:42 -04:00
Alex Hart
d7f43c436e Mark decision state during instrumentation testing. 2025-09-17 14:21:42 -04:00
Cody Henthorne
2792b9e676 Add prompt to re-enable local backups post restore. 2025-09-17 14:21:42 -04:00
Cody Henthorne
bdf2ef5a05 Allow for multiple captchas to be solved during registration. 2025-09-17 14:21:42 -04:00
Alex Hart
23b5a3dcb0 Start conversion from Fragment Nav Framework to utilizing a centralized AppSettingsRouter. 2025-09-17 14:21:42 -04:00
Alex Hart
909ea6b925 Add MainActivity scaffold anchoring. 2025-09-17 14:21:42 -04:00
Greyson Parrelli
a5922c31b1 Fix debuglog spacing. 2025-09-17 14:21:42 -04:00
Greyson Parrelli
d8758bcc4e Add data seeding playground. 2025-09-17 14:21:42 -04:00
Jim Gustafson
f88181cc82 Update to RingRTC v2.57.1 2025-09-17 14:21:42 -04:00
Michelle Tang
c3f1036686 Always fetch remote configs on app update. 2025-09-17 14:21:42 -04:00
Greyson Parrelli
96292cd4a1 Bump version to 7.56.9 2025-09-17 14:20:05 -04:00
Greyson Parrelli
81f6035027 Update translations and other static files. 2025-09-17 14:03:43 -04:00
Greyson Parrelli
52005cf62c Fix bug when replying with a voice note. 2025-09-17 13:30:02 -04:00
Greyson Parrelli
f5effa5be9 Bump version to 7.56.8 2025-09-16 10:48:51 -04:00
Greyson Parrelli
cae7906f04 Mark some archive logs as keep longer. 2025-09-16 10:48:29 -04:00
Greyson Parrelli
7ea8cc6b0a Fix database migrations post-backup-restore. 2025-09-16 09:44:49 -04:00
Greyson Parrelli
8669a3d6e0 Bump version to 7.56.7 2025-09-15 20:42:16 -04:00
Greyson Parrelli
cb3bc91865 Update translations and other static files. 2025-09-15 20:41:54 -04:00
Cody Henthorne
1a0c4b8135 Fix crash with media restore progress banner. 2025-09-15 20:33:58 -04:00
Cody Henthorne
6a456a288d Fix signal backup daily schedule bug. 2025-09-15 20:33:58 -04:00
Cody Henthorne
901a81fb74 Add edit proxy ability to quick restore flow. 2025-09-15 20:33:58 -04:00
Cody Henthorne
b1b99855b2 Improve understanding of last signal backup time in main backup settings screen. 2025-09-15 12:51:41 -04:00
Alex Hart
c6f0b4cf83 Remove frequency row. 2025-09-15 13:20:29 -03:00
Cody Henthorne
1a5dede780 Bump version to 7.56.6 2025-09-12 15:35:19 -04:00
Cody Henthorne
2c8b1c6acb Update translations and other static files. 2025-09-12 15:29:44 -04:00
Greyson Parrelli
d7da56b82f Temporarily disable reconciliation deletes. 2025-09-12 15:21:27 -04:00
Cody Henthorne
d9cfdd1b32 Update backups all set bottom sheet. 2025-09-12 15:21:27 -04:00
Greyson Parrelli
b3b3a4bebf Put invisible marker for keepLonger logs to improve log viewing. 2025-09-12 15:21:27 -04:00
Greyson Parrelli
9021883baa Improve debug logging for reconciliation. 2025-09-12 15:21:27 -04:00
Cody Henthorne
c19017f037 Update svr as part of remote restore. 2025-09-12 14:54:35 -04:00
Alex Hart
bff40ff60b If subscription will cancel at end of period, then show the cancelled state. 2025-09-12 12:24:57 -03:00
Greyson Parrelli
299445d5f9 Fix query for enqueuing thumbnail jobs. 2025-09-12 10:50:19 -04:00
Alex Hart
b2e3d7ba20 Move pending payment check above subscription checks. 2025-09-12 11:17:47 -03:00
Greyson Parrelli
60df7502ee Fix configuration. 2025-09-11 15:49:19 -04:00
Cody Henthorne
28ea4dbc16 Fix stale backup time on backup setting screen. 2025-09-11 15:32:36 -04:00
Cody Henthorne
c4d9942f0e Fix crash when remote key is missing but not null. 2025-09-11 15:14:36 -04:00
Greyson Parrelli
3e50d2318f Try to fix phone numbers if we hit a dupe recipient during archive export. 2025-09-11 13:55:53 -04:00
Greyson Parrelli
040881e5a6 Fix a chat update validation error. 2025-09-11 11:37:27 -04:00
Cody Henthorne
681234ace3 Make failure to trigger backup id a warning log. 2025-09-11 11:00:52 -04:00
Greyson Parrelli
98e9694b35 Support backup4 and backup5 capabilities for linked devices. 2025-09-11 10:44:38 -04:00
andrew-signal
95c46b9d82 Bump libsignal to v0.80.2 2025-09-11 10:04:26 -04:00
andrew-signal
76dfa5d7fe Bump libsignal to v0.80.1 2025-09-11 10:03:42 -04:00
Cody Henthorne
b39d562d56 Include last proto size in internal settion of backups settings. 2025-09-10 16:28:53 -04:00
Cody Henthorne
148cf63a92 Fix bugs around showing 0 bytes for backup size. 2025-09-10 16:05:12 -04:00
Greyson Parrelli
c155b4e025 Update legacy app icons. 2025-09-10 15:54:54 -04:00
Greyson Parrelli
90ae9e1636 Reduce max envelope size for internal users. 2025-09-10 15:33:10 -04:00
jeffrey-signal
79ee14826d Disable keyboard suggestions when typing PIN.
Converts `PinKeyboardType` to Kotlin and introduces methods to consistently configure PIN entry fields throughout the app, including a fix to disable keyboard suggestions.
2025-09-10 14:20:46 -04:00
Greyson Parrelli
179bb6e1da Add mitigation for mentions with unknown recipients.
Relates to #14310
2025-09-10 14:17:23 -04:00
Greyson Parrelli
c393d65ce6 Do not include scheduled messages in the archive. 2025-09-10 14:16:36 -04:00
Alex Hart
eeb8164c18 Always display paid tier but stick a dialog in front of it for non-GPS devices. 2025-09-10 15:12:35 -03:00
Cody Henthorne
ea772cbf55 Fix reglock setting incorrect during backup restore. 2025-09-10 12:57:25 -04:00
Cody Henthorne
dd67398a70 Fix upload media progress bar not showing after backup create. 2025-09-10 11:49:38 -04:00
Greyson Parrelli
d44bed0379 Fix archive handling of mixed error send statuses, add more tests. 2025-09-10 11:42:43 -04:00
Greyson Parrelli
236c79bfbb Update beta labeling string. 2025-09-10 10:22:54 -04:00
Cody Henthorne
7dfee7e315 Bump version to 7.56.5 2025-09-09 16:50:31 -04:00
Cody Henthorne
6600849cc4 Update translations and other static files. 2025-09-09 16:31:03 -04:00
Cody Henthorne
c4255157ac Fix benchmark test. 2025-09-09 16:23:22 -04:00
Cody Henthorne
3bb6a0a560 Fix daily backups being incorrectly scheduled for multiple days away. 2025-09-09 15:55:11 -04:00
Greyson Parrelli
a05d5ff5e6 Fix some issues with BackupMediaSnapshots. 2025-09-09 15:12:02 -04:00
Alex Hart
da6ad2b629 Add fallback biometric handling for older api versions. 2025-09-09 12:48:49 -03:00
Cody Henthorne
09a05c9f4c Fix dangling progress state prior to progress status determination. 2025-09-09 11:48:15 -04:00
Greyson Parrelli
57319d3189 Perform additional APNG validations.
Special thank you to Stanislav Fort of Aisle Research (stanislav.fort@aisle.com)
for finding this issue, bringing it to our attention, and offering a solution!
2025-09-09 11:45:04 -04:00
Alex Hart
40ba967192 Don't fail backup redemption pipeline after 24hrs. 2025-09-09 11:46:59 -03:00
Greyson Parrelli
3c7534f7fa Add some job logging improvements. 2025-09-09 10:38:02 -04:00
Greyson Parrelli
79ec47f901 Fix archive tests around optimize storage. 2025-09-08 16:21:57 -04:00
Greyson Parrelli
6108b5ab77 Another attempt to fix validation errors around invalid long text attachments. 2025-09-08 16:18:21 -04:00
Michelle Tang
49417bdf9d Update edit text fields for pins. 2025-09-08 14:28:04 -04:00
Alex Hart
d2fcb191b6 Add new text label for when backups are off. 2025-09-08 14:59:59 -03:00
Alex Hart
dca876e40d Don't mark deletion failure if we are in an IDLE state. 2025-09-08 14:50:12 -03:00
Alex Hart
5e35c209c2 Fix backup state observation and expand logging. 2025-09-08 14:29:46 -03:00
Greyson Parrelli
22382bc8a3 Keep some message backup logs for longer. 2025-09-08 13:22:27 -04:00
Greyson Parrelli
bf9e75d983 Ensure that permanent thumbnail failures can be properly marked as such. 2025-09-08 11:05:06 -04:00
Greyson Parrelli
f96e29c9c9 Fix thumbnail query in debug attachment stats. 2025-09-08 11:05:06 -04:00
Greyson Parrelli
0bf2f9aca7 Add extra buttons to the Backup Playground. 2025-09-08 11:05:06 -04:00
Greyson Parrelli
2ba427e3dd Do not attempt archive restore when data hash is null. 2025-09-08 11:05:06 -04:00
Greyson Parrelli
624ae32a0e Bump version to 7.56.4 2025-09-06 00:02:21 -04:00
Greyson Parrelli
1339c44892 Fix potential crash when backing up attachment. 2025-09-05 23:38:57 -04:00
Greyson Parrelli
8499402831 Remove unnecessary BackupSubscriptionJob tests cases. 2025-09-05 19:37:38 -04:00
Greyson Parrelli
4df6b87c13 Fix attachment table archive eligibility tests. 2025-09-05 19:33:50 -04:00
Greyson Parrelli
7d16e857d4 Fix unit tests around quote deduping. 2025-09-05 16:56:52 -04:00
Greyson Parrelli
a6c215801b Delay the first archive reconciliation. 2025-09-05 16:42:07 -04:00
andrew-signal
b3a9b92717 Bump libsignal to v0.80.0 2025-09-05 16:14:56 -04:00
Alex Hart
071496e0c1 Bump version to 7.56.2 2025-09-05 16:23:00 -03:00
Alex Hart
af36b9adbd Update translations and other static files. 2025-09-05 16:22:42 -03:00
Greyson Parrelli
630f998ea4 Add some better debug info around backup state. 2025-09-05 15:00:00 -04:00
Greyson Parrelli
9058f7ed55 Ignore invalid long text attachment pointers. 2025-09-05 14:31:14 -04:00
Alex Hart
0dac6344ab Access configuration via cache layer when evaluating state. 2025-09-05 14:44:49 -03:00
Greyson Parrelli
8adb16912f Update string describing backup frequency. 2025-09-05 11:02:25 -04:00
Alex Hart
21868878cf Bump version to 7.56.1 2025-09-05 10:42:15 -03:00
Alex Hart
51e0142f10 Update translations and other static files. 2025-09-05 10:42:03 -03:00
Alex Hart
e8e851dbe0 Remove billing factory override from website variant. 2025-09-05 10:23:26 -03:00
Greyson Parrelli
8809b8f77c Bump version to 7.56.0 2025-09-04 17:00:43 -04:00
Greyson Parrelli
f8aa3644aa Update translations and other static files. 2025-09-04 17:00:20 -04:00
Greyson Parrelli
e1e41b6f7f Revert "Add logging when registration can't be completed."
This reverts commit 2c47cd2422.
2025-09-04 17:00:20 -04:00
jeffrey-signal
b1f067536b Disable saving PIN to password manager.
We haven't found a reliable way to make the auto-fill framework differentiate between the PIN and backup key, so we are disabling prompts to save Signal PINs to password managers to avoid accidentally overwriting a saved backup key with a PIN value.

Co-authored-by: Michelle Tang <mtang@signal.org>
2025-09-04 17:00:20 -04:00
Cody Henthorne
217a6187c2 Add run restore media job to internal settings. 2025-09-04 17:00:20 -04:00
Cody Henthorne
1d1f0c0b3a Fix wallpaper attachments not being restored. 2025-09-04 17:00:20 -04:00
Greyson Parrelli
ba3c30f768 Enable Signal Secure Backups for external users. 2025-09-04 17:00:20 -04:00
Greyson Parrelli
bc85552ded Fix possible crash during restore. 2025-09-04 16:35:06 -04:00
Greyson Parrelli
ccf1be2359 Add failsafe for clearing abandoned backup progress. 2025-09-04 16:35:06 -04:00
Greyson Parrelli
0d3727f08b Handle thumbnail generation failing more gracefully. 2025-09-04 16:35:06 -04:00
Cody Henthorne
94b464e37c Call mark registration complete in more places. 2025-09-04 16:35:06 -04:00
Greyson Parrelli
ca2cc722d4 Add separate column to track archive thumbnail status. 2025-09-04 16:35:06 -04:00
Alex Hart
2c47cd2422 Add logging when registration can't be completed. 2025-09-04 16:35:06 -04:00
Greyson Parrelli
1c9d68a932 Fix thumbnail job precondition. 2025-09-04 16:35:06 -04:00
Greyson Parrelli
807d10837b Do not include view-once or long text in the media snapshot table. 2025-09-04 16:35:06 -04:00
Cody Henthorne
6e5c569f7e Update various registration related logs as keep-longer. 2025-09-04 16:35:06 -04:00
Greyson Parrelli
4179592ae7 Disable the 'optimize storage' feature for production users. 2025-09-04 16:35:06 -04:00
Cody Henthorne
1f40c7ab7e Improve archive restore progress tracking and UX. 2025-09-04 16:35:06 -04:00
Greyson Parrelli
89a0541574 Ensure we don't archive thumbnails or stories. 2025-09-04 16:35:06 -04:00
Greyson Parrelli
5294bd8a1a Show 'calculating' while loading backup size. 2025-09-04 16:35:06 -04:00
Alex Hart
2d9c572c01 Fix several backup related problems. 2025-09-04 16:35:06 -04:00
Greyson Parrelli
8520108bb2 Limit quote bodies to 2kib on export. 2025-09-04 16:35:06 -04:00
Greyson Parrelli
2572dac8a7 Remove backup frequency setting. 2025-09-04 16:35:06 -04:00
andrew-signal
54b31514ba Bump libsignal to v0.79.1 2025-09-04 16:35:06 -04:00
Greyson Parrelli
1166b99d01 Add backupVersion to RegistrationProvisioning.proto 2025-09-04 16:35:06 -04:00
Greyson Parrelli
b44cd5d4c4 Clear some tooltips after restore, remove some legacy ones entirely. 2025-09-04 16:35:06 -04:00
Greyson Parrelli
08a8c56d5c Only allow archive tier overrides on staging. 2025-09-04 16:35:05 -04:00
Michelle Tang
33645c302b Update backup related strings. 2025-09-04 16:35:05 -04:00
Greyson Parrelli
a7ac138ea3 Add quote reconstruction job for free-tier restores. 2025-09-04 16:35:05 -04:00
Greyson Parrelli
06b85cc3cb Improve quote deletion, remove file deletes from transactions. 2025-09-04 16:35:05 -04:00
Greyson Parrelli
662404d335 Migrate quotes to have a separate quoteTargetContentType. 2025-09-04 16:35:05 -04:00
Greyson Parrelli
631b51baf2 Add a migration to generate thumbnails for existing quotes. 2025-09-04 16:35:05 -04:00
Greyson Parrelli
c29d77d4a5 Do not generate archive thumbnails for quotes. 2025-09-04 16:35:05 -04:00
Greyson Parrelli
d4c1c39179 Generate thumbnails for quote attachments. 2025-09-04 16:35:05 -04:00
Greyson Parrelli
71dd1d9d8b Add backstop for ensuring attachment archive jobs are enqueued. 2025-09-04 16:35:05 -04:00
Michelle Tang
3b715bc461 Catch foreground service not allowed exceptions. 2025-09-04 16:35:05 -04:00
Greyson Parrelli
712616e569 Do not prompt prod users to enable backups. 2025-09-04 16:35:05 -04:00
Michelle Tang
c18cb6a926 Set remote fetch time for remote config v2. 2025-09-04 16:35:05 -04:00
Greyson Parrelli
b975e2ed69 Ensure that memory-only jobs do not get lost due to cache eviction. 2025-09-04 16:35:05 -04:00
Greyson Parrelli
b87a060251 Use more sensible numberings for JobRunner ids. 2025-09-04 16:35:05 -04:00
Greyson Parrelli
c493fc1c4c Fix name of thread dump log sections. 2025-09-04 16:35:05 -04:00
Alex Hart
e083076e40 Add additional information to entitlement level log-line of context job. 2025-09-04 16:35:05 -04:00
Greyson Parrelli
a5c4c3b54a Small JobManager tweaks to scale more often and improve debugging info. 2025-09-04 16:35:05 -04:00
Cody Henthorne
3bcfb5ab61 Fix received stickers for installed packs without a data_hash_end. 2025-08-28 12:04:43 -04:00
Cody Henthorne
8ce17e3e2d Remove set pin after aep reg megaphone. 2025-08-28 11:30:23 -04:00
Greyson Parrelli
460b097a71 Ensure that all SignalValues are having the correct overrides called. 2025-08-28 09:50:02 -04:00
Michelle Tang
8e9dc78957 Bump version to 7.55.0 2025-08-27 16:09:44 -04:00
Michelle Tang
1ee5d32322 Update translations and other static files. 2025-08-27 15:59:54 -04:00
Michelle Tang
42905b5bb8 Remove phantom restore media notification. 2025-08-27 15:55:18 -04:00
Cody Henthorne
b8c25a4d78 Re-enable large image loading. 2025-08-27 15:55:18 -04:00
Cody Henthorne
cdbe2c1c71 Revert "Disable all fixes for large image loading."
This reverts commit a16ac3394c.
2025-08-27 15:55:18 -04:00
Michelle Tang
d4f08e6d46 Update unsupported message UI. 2025-08-27 15:55:18 -04:00
Michelle Tang
8322bf3ecc Choose manual profile over scheduled profile if active. 2025-08-27 15:55:18 -04:00
Cody Henthorne
21363f085e Add sticker specific restore flow and fix archive related sticker bugs. 2025-08-27 15:55:18 -04:00
Greyson Parrelli
9903a664d4 Allow NEEDS_RESTORE attachments to be considered as 'couldBeOnArchiveCdn'. 2025-08-27 15:55:18 -04:00
Greyson Parrelli
1a1ddbfa39 Add additional logging around JobRunners. 2025-08-27 15:55:18 -04:00
Greyson Parrelli
23bbe704ab Add a reserved runner for attachment operations. 2025-08-27 15:55:18 -04:00
Greyson Parrelli
0dda3d54c9 Add SendDeliveryReceiptJob to the reserved runner. 2025-08-27 15:55:18 -04:00
Greyson Parrelli
dde1d9b2c8 Ensure that debuglog search queries are escaped.
Thank you to Aref Alotaibi <arefalotaibi.cs@gmail.com> for discovering
and reporting this issue!
2025-08-27 15:55:18 -04:00
Cody Henthorne
7bb0b513e8 Don't set archive states when importing from no-media backup. 2025-08-27 15:55:18 -04:00
Greyson Parrelli
2046b44fce Clear incrementalMac if we discover it's bad during playback. 2025-08-27 15:55:18 -04:00
Alex Hart
45c64f825d Migrate DataAndStorageFragment to compose. 2025-08-27 15:55:18 -04:00
Jim Gustafson
94ed0650dc Calling: Remove unnecessary hangups 2025-08-27 15:55:18 -04:00
Cody Henthorne
0d390769d4 Add key reuse to create keys operation in backup job. 2025-08-27 15:55:18 -04:00
Alex Hart
2872020c1f Convert ChatsSettings screen to compose. 2025-08-27 15:55:18 -04:00
Michelle Tang
8723fd9a24 Check remaining attachment size before launching service. 2025-08-27 15:55:18 -04:00
Greyson Parrelli
9a9661149b Run unit tests in parallel. 2025-08-27 15:55:18 -04:00
Michelle Tang
5dfbfccc08 Add media restore tier to debuglogs. 2025-08-27 15:55:18 -04:00
Alex Hart
a344618c63 Update logging of timestamps in Remote Backups section. 2025-08-27 15:55:18 -04:00
Alex Hart
24b93fb517 Fix IAP insertion timestamp. 2025-08-27 15:55:18 -04:00
Greyson Parrelli
f052b1fd90 Ignore expensive AttachmentCipherTests.
They can take up to 15 seconds to run, and they've already proven
their usefulness. We can un-ignore them temporarily if we ever need
to make changes.
2025-08-27 15:55:18 -04:00
Greyson Parrelli
a234896438 Ensure that we clear incrementalMac's that will be invalidated during archive. 2025-08-27 15:55:18 -04:00
Alex Hart
bed718347c Fix navigation bar gap when opening keyboard in split pane view. 2025-08-27 15:55:18 -04:00
Cody Henthorne
53f2049c48 Use same cipher version for registration and linking provisioning messages. 2025-08-27 15:55:18 -04:00
andrew-signal
00d425356d Bump to libsignal v0.79.0 2025-08-27 15:55:18 -04:00
Cody Henthorne
6c42ce411b Add JUnit-based database consistency test. 2025-08-27 15:55:18 -04:00
Alex Hart
1833248c96 Don't bother with the empty item if we are on the new calling UI. 2025-08-27 15:55:18 -04:00
Cody Henthorne
f5b1857866 Fix various attachment reuse bugs causing archive issues. 2025-08-27 15:55:18 -04:00
Alex Hart
114524adc6 Add support for resizing pane on main activity. 2025-08-25 18:01:22 -04:00
Michelle Tang
47fb0deca4 Add foreground service when restoring backup media. 2025-08-25 18:01:22 -04:00
Michelle Tang
98f4baa7b2 Bump version to 7.54.1 2025-08-25 16:27:56 -04:00
Michelle Tang
e051939adb Update translations and other static files. 2025-08-25 16:24:12 -04:00
Cody Henthorne
a16ac3394c Disable all fixes for large image loading. 2025-08-25 14:49:44 -04:00
Jeffrey Starke
62fdf3d1aa Bump version to 7.54.0 2025-08-21 15:09:51 -04:00
Jeffrey Starke
9969b10c02 Update baseline profile. 2025-08-21 15:06:08 -04:00
Jeffrey Starke
ac656e4cb5 Update translations and other static files. 2025-08-21 15:01:36 -04:00
Greyson Parrelli
b3d2e31bae Add dynamic scaling to our JobRunner system. 2025-08-21 14:52:34 -04:00
Alex Hart
c117082f23 Update self-pip placement in compose screen. 2025-08-21 14:52:34 -04:00
Alex Hart
3c02ff0894 Fix background corners on Foldables / Tablet layout. 2025-08-21 14:52:34 -04:00
gram-signal
e917d39a8e Add 'spqr' capability to uploaded AppCapabilities. 2025-08-21 14:52:34 -04:00
Alex Hart
38bb15ed44 Fix participant overflow sizing on tablets. 2025-08-21 14:52:34 -04:00
Alex Hart
2db87c36a3 Convert AppearanceSettingsFragment to compose. 2025-08-21 14:52:34 -04:00
Alex Hart
92d31ee6ff Convert AppUpdatesSettingsFragment to compose. 2025-08-21 14:52:34 -04:00
Alex Hart
d92286297f Convert AdvancedPrivacySettingsFragment to compose. 2025-08-21 14:52:34 -04:00
Michelle Tang
7d35cf1374 Use remote config v2. 2025-08-21 14:52:34 -04:00
Alex Hart
dcce8ea35a Convert AccountSettingsFragment from DSL to Compose. 2025-08-21 14:52:34 -04:00
Alex Hart
71c34e17eb Various backup strings updates. 2025-08-21 14:52:34 -04:00
Alex Hart
ecddf34083 Convert AddAllowedMembersFragment to compose. 2025-08-21 14:52:34 -04:00
Michelle Tang
958dde0f6e Fix bugs for chat folders in storage sync. 2025-08-21 14:52:34 -04:00
Greyson Parrelli
d636ef8ec9 Add debug logging for attachment restore speeds. 2025-08-21 14:52:34 -04:00
Greyson Parrelli
eb4abf2a9e Allow RestoreAttachmentJob to be retried multiple times. 2025-08-21 14:52:34 -04:00
Jordan Rose
3a06f604fd Remove direct uses of libsignal internals 2025-08-21 14:52:34 -04:00
Alex Hart
8992ed047d Remove restriction on proximity lock in landscape calling. 2025-08-21 14:52:34 -04:00
Greyson Parrelli
dfdadc9d7a Update SVRB error handling. 2025-08-21 14:52:34 -04:00
Greyson Parrelli
03c6094ea3 Bump libsignal to v0.78.2 2025-08-21 14:52:34 -04:00
Rishabh Bhatia
ccd36f199a Fixes a significant memory leak in the sticker keyboard, which caused UI lag and system slowdowns, particularly on lower-end devices.
Closes signalapp/Signal-Android#14283
Fixes signalapp/Signal-Android#13770
2025-08-21 14:52:34 -04:00
Alex Hart
7c7f2ff2aa Fix unresponsiveness of calling screen when in landscape. 2025-08-21 14:52:33 -04:00
jeffrey-signal
47508495ed Improve organization of glide packages.
Generic image processing classes were scattered alongside Signal-specific Glide code across multiple packages: `org.signal.glide`, `org.thoughtcrime.securesms.glide` and `org.thoughtcrime.securesms.mms`.

This change provides a clearer separation of concerns:
- `org.signal.glide` contains generic image loading components
- `org.thoughtcrime.securesms.glide` contains Signal-specific Glide integrations
- Feature-specific loaders are moved to their respective domain packages (e.g. `.badges`, `.contacts`)
2025-08-21 14:52:33 -04:00
Greyson Parrelli
cc43add7af Add in extra check for serviceId in send job. 2025-08-21 14:52:33 -04:00
Jim Gustafson
19b3d6d1d3 Update to RingRTC v2.57.0 2025-08-21 14:52:33 -04:00
Greyson Parrelli
1c7f6a68e4 Inline deleteSync and SSREv2 capabilities. 2025-08-21 14:52:33 -04:00
Greyson Parrelli
8df8cdf28d Fix potential crash in notification message generation. 2025-08-21 14:52:33 -04:00
Alex Hart
dd01cd15ca Fix full-screen mode for compose call screen. 2025-08-21 14:52:33 -04:00
Alex Hart
1e2b1a8b78 Fix state restoration when switching between inner and outer screens. 2025-08-21 14:52:33 -04:00
Cody Henthorne
734aa485ce Fix restore progress bar not clearing after cancel. 2025-08-21 14:52:33 -04:00
Cody Henthorne
2b56e00e89 Prevent potential deadlock when canceling jobs. 2025-08-21 14:52:33 -04:00
Greyson Parrelli
6f051ce4c2 Add progress log for dummy message inserts. 2025-08-21 14:52:33 -04:00
Alex Hart
f7bd2ee020 Upgrade compose to BOM 2025.08.00 2025-08-21 14:52:33 -04:00
Greyson Parrelli
a542b65f51 Add support for OutgoingMessageDetails.dateReceived. 2025-08-21 14:52:33 -04:00
Greyson Parrelli
4c59a746a5 Update to latest backup tests. 2025-08-21 14:52:33 -04:00
Greyson Parrelli
73ad6221a6 Add performance metrics for archive uploads. 2025-08-21 14:52:33 -04:00
Cody Henthorne
9ccdbb8e40 Rotate profile key when learning of a block by a linked device. 2025-08-21 14:52:33 -04:00
jeffrey-signal
cd26929d39 Prevent password managers from overwriting backup key with Signal PIN.
Adding a hidden username field provides additional context for the autofill service, so it knows the username associated with the confirmed PIN should be "Signal PIN" rather than "Signal backup key".
2025-08-21 14:52:33 -04:00
Cody Henthorne
d7714a2067 Do not archive view-once media. 2025-08-21 14:52:33 -04:00
Alex Hart
1056e79361 Enable edgeToEdge support for compose CallScreen. 2025-08-21 14:52:33 -04:00
Alex Hart
515f3dd43f Add proper picture in picture support to compose CallScreen component. 2025-08-21 14:52:33 -04:00
Jeffrey Starke
affe97a060 Bump version to 7.53.4 2025-08-21 14:50:05 -04:00
Jeffrey Starke
ad57b7a2db Update baseline profile. 2025-08-21 12:42:06 -04:00
Jeffrey Starke
91cd4641f2 Update translations and other static files. 2025-08-21 12:37:41 -04:00
Jeffrey Starke
f919961cb2 StreamFactoryApngDecoder handles PNG types. 2025-08-21 12:18:49 -04:00
Jeffrey Starke
9dd1f0d17d Bump version to 7.53.3 2025-08-19 20:39:21 -04:00
Jeffrey Starke
286ad3873f Update baseline profile. 2025-08-19 20:37:05 -04:00
Jeffrey Starke
748b94e6ba Update translations and other static files. 2025-08-19 20:33:30 -04:00
jeffrey-signal
d983538122 Fix broken animations for some sticker packs.
Makes a few tweaks to the APNG handling to make sure images of that type are properly identified and decoded by the StreamFactoryApngDecoder.
2025-08-19 20:12:25 -04:00
Jeffrey Starke
50ed455717 Bump version to 7.53.2 2025-08-18 19:41:09 -04:00
Jeffrey Starke
f23622d498 Update baseline profile. 2025-08-18 19:35:48 -04:00
Jeffrey Starke
625941e2e2 Update translations and other static files. 2025-08-18 19:32:30 -04:00
jeffrey-signal
a2444ffa69 Fix GIF animations.
`StreamBitmapDecoder` was handling GIF images and rendering them as static bitmaps. This change fixes that by adding a `StreamBitmapDecoder` wrapper that returns `handles=false` for images of type GIF and APNG, to enable `StreamFactoryGifDecoder` to decode GIF images.

- Resolves signalapp/Signal-Android#14300
2025-08-18 18:19:29 -04:00
Greyson Parrelli
ff708eb4ee Bump version to 7.53.1 2025-08-15 16:22:02 -04:00
Greyson Parrelli
4f3f48aa2f Update baseline profile. 2025-08-15 16:21:37 -04:00
Greyson Parrelli
b93937e866 Avoid flashing white when opening debuglog in dark theme. 2025-08-15 09:44:53 -04:00
Greyson Parrelli
0ed4785935 Detect priority-related unsatisfiable dependencies in jobs. 2025-08-14 16:56:10 -04:00
Greyson Parrelli
939dcc9295 Jump to search result while typing in debuglog viewer. 2025-08-14 16:11:19 -04:00
Greyson Parrelli
0d596af187 Hide mobile context menu in debug log viewer. 2025-08-14 15:54:05 -04:00
Greyson Parrelli
1944b5c61e Bump version to 7.53.0 2025-08-13 23:24:12 -04:00
Greyson Parrelli
b823e0a9af Update baseline profile. 2025-08-13 23:24:12 -04:00
Greyson Parrelli
117baf7b65 Update translations and other static files. 2025-08-13 23:24:12 -04:00
Greyson Parrelli
33f7fdedfa Fix race condition where not all logs would be added to the viewer. 2025-08-13 23:24:11 -04:00
Greyson Parrelli
a34ccd8ce7 Ensure uploaded logs match debug log viewer. 2025-08-13 21:44:24 -04:00
Cody Henthorne
fc1cd6d262 Fix edit message import data bugs. 2025-08-13 21:44:24 -04:00
Alex Hart
859bb02c86 Implement BackupSubscriptionCheckJob integration tests. 2025-08-13 21:44:24 -04:00
Alex Hart
638f718d7c Rework MainActivity navigation to properly suppor empty state. 2025-08-13 21:44:24 -04:00
Alex Hart
58d2fbc94e Fix proximity locking during voice calls. 2025-08-13 12:39:02 -03:00
Cody Henthorne
0bbbee645d Improve link device good citizenship with backups. 2025-08-12 14:33:47 -04:00
Greyson Parrelli
2190a4a58d Fix issue where we could enqueue unsatisfiable jobs during registration. 2025-08-12 13:00:35 -04:00
Michelle Tang
b1feffa627 Sync deletion of profiles with storage service. 2025-08-12 10:36:34 -04:00
Cody Henthorne
150e98bbc1 Fix attachment reconciliation bugs stemming from incorrect base64 encoded remote_key. 2025-08-12 09:57:29 -04:00
jeffrey-signal
709ff90d35 Fix PNG animations.
Adds an `InputStreamFactory` APNG decoder so images animate correctly when loaded via the new `DecryptableUriStreamLoader`.
2025-08-12 09:56:46 -04:00
Michelle Tang
ee657cb075 Fix notification profile override crash. 2025-08-11 15:55:06 -04:00
Greyson Parrelli
86ef32cd4c Do not load entire log into memory. 2025-08-11 13:02:13 -04:00
Alex Hart
2988e22612 Add logging when we display different alert sheets via the delegate. 2025-08-11 13:02:13 -04:00
Michelle Tang
be41c2e8cb Remove old manual overrides for notification profiles. 2025-08-11 13:02:13 -04:00
Greyson Parrelli
f518862dc3 Add debug info for archive upload progress. 2025-08-11 13:02:13 -04:00
Greyson Parrelli
3995608fd8 Fix a race condition with debuglogs viewing. 2025-08-11 13:02:13 -04:00
Alex Hart
9f7a78bf3c Update remote backup size display to indicate loading while accessing data. 2025-08-11 13:02:13 -04:00
Greyson Parrelli
71a588da39 Do not retry thumbnails on terminal status codes. 2025-08-11 13:02:13 -04:00
Greyson Parrelli
17b42f76a2 Ensure long text is excluded from pending archive size calculation. 2025-08-11 13:02:13 -04:00
lisa-signal
5e8d72e19e Fix potential ANR in debug log viewer. 2025-08-11 13:02:13 -04:00
Alex Hart
308f4c817f Perform zk check in check job. 2025-08-11 13:02:13 -04:00
lisa-signal
75df8c0e2a Allow back button to remove debug log filter. 2025-08-11 13:02:13 -04:00
jeffrey-signal
1edc94d5ad Dynamically calculate Glide stream mark limit based on device memory.
Replaces the hardcoded `InputStreamRewinder.MARK_READ_LIMIT` with a value that is calculated dynamically based on the device's RAM (scaling the mark read limit linearly between 5 to 8 MB).

A larger limit will avoid unnecessary fail & retries on high-end devices and improve performance.
2025-08-11 13:02:13 -04:00
lisa-signal
c0f826808b Add filter by log level feature in debug log screen. 2025-08-11 13:02:13 -04:00
Alex Hart
e93f889115 BackupDeleteJob integration tests. 2025-08-11 13:02:13 -04:00
Alex Hart
995215be2a Skip media restoration if we're on the free tier. 2025-08-11 13:02:13 -04:00
jeffrey-signal
784a64c353 Fix large image file loading failures.
Replaces `DecryptableStreamUriLoader` with `DecryptableUriStreamLoader`, which addresses `InvalidMarkException` errors that were occurring when loading large image files with Glide. This new model loader provides a more robust approach via multiple fallback mechanisms to try to recover gracefully from errors related to displaying large images.
2025-08-11 13:02:13 -04:00
Greyson Parrelli
a549fff6fa Add parallelization options for archive attachment restoration. 2025-08-11 13:02:13 -04:00
Greyson Parrelli
7b88b07170 Increase parallelization of attachment archive uploads. 2025-08-11 13:02:12 -04:00
Greyson Parrelli
3273787a05 Do not make all instrumentation tests internal users. 2025-08-11 13:02:12 -04:00
Cody Henthorne
27ddc97ea4 Use server rereg flag to show post reg restore flows. 2025-08-11 13:02:12 -04:00
Greyson Parrelli
f255160c4a Default the number of JobRunners to 8. 2025-08-11 13:02:12 -04:00
Greyson Parrelli
7cf170ab3d Fix debug tool to insert messages with attachments. 2025-08-11 13:02:12 -04:00
Cody Henthorne
8e6664f41c Fix backup instrumentation tests. 2025-08-11 13:02:12 -04:00
Michelle Tang
2ced30b557 Add notification profile size to local metrics. 2025-08-11 13:02:12 -04:00
Greyson Parrelli
1a531548e8 Ensure various log database indexes are used. 2025-08-11 13:02:12 -04:00
Alex Bakon
d0b53f21bd Use correct index when deleting old log lines. 2025-08-11 13:02:12 -04:00
Greyson Parrelli
3772df146a Bump version to 7.52.2 2025-08-11 12:59:34 -04:00
Greyson Parrelli
9a1a6e5c5d Update translations and other static files. 2025-08-11 12:59:12 -04:00
emir-signal
c4c9fd9f65 Make epoch optional in backups and storage service. 2025-08-11 12:40:40 -04:00
Cody Henthorne
47faefaff7 Bump version to 7.52.1 2025-08-08 12:51:46 -04:00
Cody Henthorne
a09cd7a432 Update baseline profile. 2025-08-08 12:46:37 -04:00
Cody Henthorne
9d69a123d9 Update translations and other static files. 2025-08-08 12:41:15 -04:00
andrew-signal
afcc13c8be Bump libsignal to v0.78.1. 2025-08-07 09:45:06 -04:00
Cody Henthorne
4339187ab6 Bump version to 7.52.0 2025-08-06 16:16:00 -04:00
Cody Henthorne
453781cd6d Update translations and other static files. 2025-08-06 16:04:06 -04:00
andrew-signal
303174c864 Add remote config to split libsignal-net support for standard vs proxied. 2025-08-06 15:51:27 -04:00
Cody Henthorne
95ff2886cd Add more linked device checks to various jobs. 2025-08-06 15:50:16 -04:00
Alex Hart
0df5ec458b Utilize the correct method for converting signal service amount to fiat money. 2025-08-06 15:50:16 -04:00
jeffrey-signal
7d35e685b2 Add Glide Downsampler. 2025-08-06 15:50:16 -04:00
Cody Henthorne
7ca1ac4efb Add rudimentary link+sync support. 2025-08-06 15:50:16 -04:00
Alex Hart
1a68b8768d Fix redemption error details. 2025-08-06 15:50:16 -04:00
Alex Hart
53a80589e3 Add Out of Remote Storage sheet. 2025-08-06 15:50:16 -04:00
Verryx-02
50d809029e Save media attachments to Signal subdirectories.
Closes #14277
2025-08-06 15:50:16 -04:00
Michelle Tang
eb7012b7ae Remove plaintext device creation timestamp. 2025-08-06 15:50:16 -04:00
Greyson Parrelli
9dcc704a9e Add specific registration error cases for SVRB. 2025-08-06 15:50:16 -04:00
Jordan Rose
0726c29528 Swap between two log buffers to save on copying 2025-08-06 15:50:16 -04:00
Jordan Rose
7074684474 Avoid reallocation inserting logs into database 2025-08-06 15:50:16 -04:00
lisa-signal
57454a2661 Add filter functionality to debug log screen. 2025-08-06 15:50:16 -04:00
Cody Henthorne
f8b18b6ea9 Add missing unmockk calls in various unit tests. 2025-08-06 15:50:16 -04:00
Greyson Parrelli
949bc8fb95 Add additional logging around JobManager memory state. 2025-08-06 15:50:14 -04:00
Cody Henthorne
6379f9f453 Cancel may have messages notification from FcmJobService. 2025-08-06 15:49:25 -04:00
Greyson Parrelli
26df14124b Make our loggers singletons. 2025-08-06 15:49:22 -04:00
Greyson Parrelli
ec7a2f734a Update to latest backup tests. 2025-08-06 15:48:22 -04:00
Sagar
418ce68a97 Add unit tests for FindByViewModel.
Closes #14145
2025-08-06 15:48:22 -04:00
Greyson Parrelli
92e1f68c6d Remove legacy attachment fields from Backup.proto 2025-08-05 11:00:54 -04:00
Greyson Parrelli
5aeca1deb1 Add initial SVRB support. 2025-08-05 11:00:54 -04:00
Cody Henthorne
f6ab408fc8 Add developer only crude link device UX. 2025-08-05 11:00:54 -04:00
Cody Henthorne
e29abdea91 Add device linking infrastructure. 2025-08-05 11:00:54 -04:00
Cody Henthorne
e6e869e074 Fix identity key update failure when profile key verification failed. 2025-08-05 11:00:54 -04:00
Alex Hart
a60f3a26fb Disable current tier from being selected. 2025-08-05 11:00:54 -04:00
lisa-signal
5e0aa830bf Add search functionality to debug log screen. 2025-08-05 11:00:54 -04:00
Alex Hart
962375e422 Clear auth credentials post restore and when a user disables backups. 2025-08-05 11:00:54 -04:00
Cody Henthorne
9fd9760264 Bump version to 7.51.2 2025-08-05 10:55:46 -04:00
Cody Henthorne
d2a9d201dd Update baseline profile. 2025-08-05 10:49:20 -04:00
Cody Henthorne
35c6392d16 Update translations and other static files. 2025-08-05 10:39:30 -04:00
Michelle Tang
87af103012 Add additional foreground service timeout check. 2025-08-05 10:20:20 -04:00
Alex Hart
2ace1e75e1 Bump version to 7.51.1 2025-08-02 20:55:46 -03:00
Alex Hart
8e6408a90c Update translations and other static files. 2025-08-02 20:50:50 -03:00
Alex Hart
386744fa72 Fix crash when launching app for non-internal users. 2025-08-02 20:46:43 -03:00
Greyson Parrelli
aebda41fdc Fix long message sends in groups. 2025-08-01 10:29:59 -04:00
Alex Hart
68fa3b5f95 Bump version to 7.51.0 2025-07-31 15:21:46 -03:00
Alex Hart
4b6940e2ef Update translations and other static files. 2025-07-31 15:18:21 -03:00
Michelle Tang
d0d44ed7ce Update target SDK to 35. 2025-07-31 13:55:48 -04:00
Alex Hart
87a694c87c Implement io-free state update and fallback mechanism for backups state. 2025-07-31 14:16:56 -03:00
Alex Hart
bdeb5aa96a Retry deletion job on verification failure. 2025-07-31 13:11:36 -03:00
jeffrey-signal
b37bbcaaa5 Convert DecryptableUri to Kotlin. 2025-07-31 08:29:54 -04:00
lisa-signal
02420fce2a View debug log screen through WebView through a module. 2025-07-30 14:47:50 -04:00
Alex Hart
1f243bca74 Add job after registration to try to redeem subscription data. 2025-07-30 13:26:06 -03:00
Greyson Parrelli
65e114e55f Handle 400 errors for message backup uploads. 2025-07-30 11:51:48 -04:00
Greyson Parrelli
9204c9a1b8 Fix handling of resumable upload errors in archive uploads. 2025-07-30 11:46:54 -04:00
Greyson Parrelli
1ee606de9e Register backupIds for all users. 2025-07-30 10:55:53 -04:00
Greyson Parrelli
90c381f0ba Rotate MRBK when rotating AEP. 2025-07-30 09:59:16 -04:00
andrew-signal
faecbf5ea9 Bump libsignal to v0.77.1 2025-07-30 09:58:02 -04:00
andrew-signal
e87946141e Add debug logging for network capabilities. 2025-07-29 12:01:36 -04:00
Alex Hart
b8300f373d Polish various bits of backups UI. 2025-07-29 11:09:53 -03:00
Alex Hart
ab458a5bb8 Add several state presentation fixes in the delete / enable cycle. 2025-07-28 15:31:18 -03:00
Alex Hart
d3030e143b Fix E2E happy path tests for backups. 2025-07-28 12:18:17 -03:00
Greyson Parrelli
42ee5267c9 Ensure that contact cursors used for size calculations are closed. 2025-07-25 14:26:22 -04:00
Greyson Parrelli
149ee5ad36 Fix bug where editing the message body pauses video playback. 2025-07-25 14:21:28 -04:00
Greyson Parrelli
6af3f2ce42 Do not upload long text attachments to the archive. 2025-07-25 13:30:45 -04:00
Greyson Parrelli
7295787e08 Fix and update archive tests. 2025-07-25 13:04:31 -04:00
Cody Henthorne
3b028d49a5 Initial pass to properly check multi-device environment in various spots. 2025-07-25 12:19:59 -04:00
Alex Hart
e458a5fdb3 Add check for proper backup entitlement level. 2025-07-25 13:09:07 -03:00
Greyson Parrelli
00e740ee14 Add migration to fix FREE tier setting. 2025-07-25 12:08:51 -04:00
Greyson Parrelli
e8bea19927 Rename /v2/backup to /v2/svr. 2025-07-25 11:33:33 -04:00
Alex Hart
53ee0648c0 Fix backups deletion pipeline. 2025-07-25 11:02:47 -04:00
Jim Gustafson
3bb2ab3a0c Update to RingRTC v2.56.0 2025-07-25 11:02:47 -04:00
Greyson Parrelli
759a746e46 Mark some archive reconciliation logs as keepLonger. 2025-07-25 11:02:47 -04:00
Cody Henthorne
7499bd77b4 Clean up GSE usage and remove combined-UAK fallback for multi-recipient send. 2025-07-25 11:02:47 -04:00
Alex Hart
99fb70c20c Remove unused string. 2025-07-25 11:02:46 -04:00
Cody Henthorne
2da3ac5b20 Update link device provisioning proto. 2025-07-25 11:02:46 -04:00
Alex Hart
5a1bb0c231 Filter subscriber record from backup data if user is on the free tier to avoid validation error. 2025-07-25 11:02:46 -04:00
Michelle Tang
dac649ceed Bump version to 7.50.1 2025-07-25 10:26:57 -04:00
Michelle Tang
8785a9f591 Update translations and other static files. 2025-07-25 10:20:08 -04:00
lisa-signal
3cbb2ffd3f Revert using WebView for debug log screen. 2025-07-24 12:27:01 -04:00
Greyson Parrelli
a249fbb38f Migrate to new SVR2 enclave. 2025-07-24 12:13:13 -04:00
Greyson Parrelli
a19cdc923c Bump libsignal-client to v0.76.7 2025-07-24 12:12:58 -04:00
Michelle Tang
109715e64c Bump version to 7.50.0 2025-07-23 15:38:12 -04:00
Michelle Tang
502ef7da7d Update translations and other static files. 2025-07-23 15:28:25 -04:00
Alex Hart
b9cd128b1b Fix shadowed variable warning. 2025-07-23 15:22:26 -04:00
Alex Hart
dd79348b6a Update how our check job handles mismatched tokens. 2025-07-23 15:22:26 -04:00
Michelle Tang
8a61f464ab Fix cut off linking text. 2025-07-23 15:22:26 -04:00
Alex Hart
8ed34fb4a0 Increase log coverage for processing backup refresh and credential submission. 2025-07-23 15:22:26 -04:00
Alex Hart
16776ad843 Filter messages that will expire within 24hrs from including attachments in backups. 2025-07-23 15:22:26 -04:00
Cody Henthorne
635aa8791f Respect rate limit in send jobs. 2025-07-23 15:22:26 -04:00
Cody Henthorne
d1c02ac454 Add server message to group patch exception. 2025-07-23 15:22:26 -04:00
Greyson Parrelli
eca75ca3fb Include backup size when fetching archive upload form. 2025-07-21 13:02:42 -04:00
Alex Hart
b95a3a2554 Don't show x on complete. 2025-07-21 13:33:28 -03:00
Henry Holtzman
bf4b09bdc4 Update to MobileCoin enclave measurements. 2025-07-21 08:20:05 -04:00
jeffrey-signal
8a057168ae Improve conversation scroll performance.
Fixes a performance bottleneck in `ConversationFragment` caused by expensive calculations in `ConversationItemDecorations.hasHeader()`. This method is invoked in `RecyclerView.ItemDecoration.getItemOffsets()`, which runs on every layout pass and happens frequently during scrolling.

The most expensive calculation in `hasHeader()` is `toEpochDay()`. That method calls `Long.toLocalDate()`, which clones a `TimeZone` object on each call. Upon opening one conversation (without scrolling), I observed that `toEpochDay()` was called over 1000 times in less than a second, rapidly allocating memory and causing garbage collection pressure that potentially leads to ANRs.

We only need to calculate `hasHeader()` once for each conversation element, so caching the result of that method will eliminate the unnecessary calculations and improve the memory usage of `ConversationFragment`.
2025-07-18 16:36:17 -04:00
Greyson Parrelli
1cef53d82e Truncate message length based on utf8-byte size. 2025-07-18 16:27:41 -04:00
Alex Hart
84c6719d03 Attempt to heal if we have everything we need but no entitlement. 2025-07-18 16:58:24 -03:00
Cody Henthorne
e0df5e6df0 Exclude disappearing attachments from archive size estimation. 2025-07-18 15:57:35 -04:00
Michelle Tang
eae0b43858 Generalize device authentication education sheet for backups. 2025-07-18 13:03:49 -04:00
Alex Hart
b188c45cd9 Do not include view-once media in regular message backups. 2025-07-18 12:10:11 -03:00
Alex Hart
36de1284c7 Allow user to rotate AEP. 2025-07-18 10:36:49 -03:00
Greyson Parrelli
a9455b95ac Inline long text attachments into backup files. 2025-07-17 16:50:22 -04:00
Miriam Zimmerman
6553c416f8 Revert attempts to fix broken camera issue 2025-07-17 15:30:06 -04:00
Jim Gustafson
b0d89ccc97 Update to RingRTC v2.55.0 2025-07-17 14:53:06 -04:00
Alex Hart
a6761127ac Do not refresh on concurrent matching upload states. 2025-07-17 13:49:00 -03:00
Alex Hart
7918c3dabd Add log lines for state refresh. 2025-07-17 13:47:06 -03:00
Michelle Tang
85ff27d830 Fix missing chat folder crash. 2025-07-16 14:34:50 -04:00
Cody Henthorne
8ee80b0d27 Fix backup message job cancel and start bugs. 2025-07-16 14:21:59 -04:00
Michelle Tang
141faf3fb6 Avoid uploading story-only media to backups. 2025-07-16 13:10:32 -04:00
lisa-signal
559539dc3b Create search functionality for debug log page. 2025-07-16 12:42:36 -04:00
Greyson Parrelli
ded98c0d50 Fix rules for link+syncing expiring messages. 2025-07-16 12:42:36 -04:00
Greyson Parrelli
4b75b9f1d6 Improve reconciliation task to reduce possible churn. 2025-07-16 12:42:36 -04:00
Greyson Parrelli
cfa96f4737 Remove internal-only crash during archive status reset. 2025-07-16 12:42:36 -04:00
Cody Henthorne
2148eb8760 Prevent IMO retries when network unavailable. 2025-07-16 12:42:36 -04:00
Cody Henthorne
269d5752c4 Fix add 1000 messages copy/paste error during compose conversion. 2025-07-16 12:42:36 -04:00
Cody Henthorne
9180917b7c Adjust domain scrubbing. 2025-07-16 12:42:36 -04:00
Cody Henthorne
1a1e1ea631 Select first backup subscription if selection is unavailable. 2025-07-16 12:42:36 -04:00
Greyson Parrelli
015a34f8d6 Only enqueue attachment archive syncing jobs if the user backs up media. 2025-07-16 12:42:36 -04:00
Greyson Parrelli
e6aed8534a Use libsignal for deriving thumbnail transit keys. 2025-07-16 12:42:36 -04:00
AnonAlly
f7d14c77b1 Migrate ChangeNumberFragment to compose. 2025-07-16 12:42:36 -04:00
Greyson Parrelli
3c07a731c4 Add additional checks for serviceId during sending flow. 2025-07-16 12:42:36 -04:00
Alex Hart
049e9460a0 Ensure we are restoring media per spec with full media and thumbnail rules. 2025-07-16 12:42:36 -04:00
jeffrey-signal
1137bbd8a5 Fix missing prompt to save PIN to password manager on Android < 14.
On Android versions older than 14, users were not prompted to save their PIN to their device password manager due to an autofill session conflict.

The `CreateSvrPinFragment.input` field triggered an autofill session, so when `ConfirmSvrPinFragment` later attempted to save the PIN using `CredentialManager`, the system incorrectly assumed the credential had already been saved by autofill and skipped the save prompt.
2025-07-16 12:42:36 -04:00
lisa-signal
24360a41ff Change debug log from RecyclerView to WebView. 2025-07-16 12:42:36 -04:00
Alex Hart
b45fb28dbe Wire in NetworkResult for Types. 2025-07-16 12:42:36 -04:00
Michelle Tang
7753aadbf0 Adjust turn on backups megaphone schedule. 2025-07-16 12:42:36 -04:00
Michelle Tang
359f473b59 Add verify key megaphone. 2025-07-16 12:42:35 -04:00
FineFindus
c6afa17330 Preserve text when toggling view once.
Fixes an issue, where the written text would be lost if a user toggled view
once in the `AddMessageDialogFragment`. This is unexpected, as when toggling
view once from the `MediaReviewFragment` the previously written text is
preserved.
2025-07-16 12:42:35 -04:00
Alex Hart
11d6234d91 Do not run subscription check if override is set. 2025-07-16 12:42:35 -04:00
Jeffrey Starke
dbd79cd0a5 Bump version to 7.49.1 2025-07-15 18:08:38 -04:00
Jeffrey Starke
70698c7b23 Update baseline profile. 2025-07-15 18:04:23 -04:00
Jeffrey Starke
ffd57ca591 Update translations and other static files. 2025-07-15 18:00:57 -04:00
Jeffrey Starke
00781e34f8 Update translations and other static files. 2025-07-15 17:51:03 -04:00
Michelle Tang
661fc9dd9e Add check before running backup jobs. 2025-07-15 17:45:30 -04:00
gram-signal
0dbfdaa4a6 Use non-global remote config for usePqRatchet. 2025-07-11 11:48:42 -07:00
Alex Hart
c41d7c672d Bump version to 7.49.0 2025-07-10 09:26:25 -03:00
Alex Hart
43f11015c4 Update translations and other static files. 2025-07-10 09:20:40 -03:00
Alex Hart
f0335f0385 Print active session count while attempting APK Upgrade. 2025-07-10 09:12:48 -03:00
jeffrey-signal
a88394ffe4 Fix crash when attempting to clear pending GlideImage loads.
Hold a reference to the Glide RequestManager instead of creating a new instance when attempting to clear pending loads and free resources for the target.
2025-07-10 09:12:48 -03:00
Alex Hart
e6ca41c0f9 Avoid crash when not connected to the network. 2025-07-10 09:12:48 -03:00
jeffrey-signal
6d58e89c18 Prompt to save PIN to device password manager.
Fixes an issue where the system auto-fill could overwrite the Signal backup key saved to the device password manager with the Signal PIN. The PIN confirmation screen now explicitly uses `CredentialManager` to save the `Signal PIN` under a separate username from the `Signal Backups` key, allowing both credentials to be stored and auto-filled correctly.

- Add `com.google.android.libraries.identity.googleid` dependency so `CredentialManager` works on Android < 14.
- Prompt to save Signal PIN to credential manager after PIN is created/edited.
2025-07-10 09:12:48 -03:00
jeffrey-signal
ef874c4091 Show settings button in backup key save error dialog only when password manager settings are accessible.
To prevent crashes when the "go to settings" button is clicked in the backup key save to password manager error dialog, the "go to settings" button will only be displayed in cases where the intent resolves successfully.
2025-07-10 09:12:48 -03:00
Michelle Tang
177504a897 Fix database consistency test. 2025-07-10 09:12:48 -03:00
Michelle Tang
7d7c6c5130 Ensure story attachment data is deleted after expiration. 2025-07-10 09:12:48 -03:00
emir-signal
b42dcece48 Add support for call link epochs. 2025-07-10 09:12:48 -03:00
Greyson Parrelli
5d0f71e02c Fix duplicate numbers, remove shortcodes entirely. 2025-07-10 09:12:48 -03:00
Alex Hart
1ba34bb685 Remove trailing space from backup key transform. 2025-07-10 09:12:48 -03:00
adel-signal
06fda21143 Update to ringrtc 2.54.0 2025-07-10 09:12:48 -03:00
Alex Hart
06f90c73a9 Add view settings button to backup settings screen. 2025-07-10 09:12:48 -03:00
Cody Henthorne
5ce5326721 Migrate away from placeholder revision to support exporting pending approval groups. 2025-07-10 09:12:48 -03:00
Greyson Parrelli
dc8e93a9d3 Add additional debug info for the backups alpha. 2025-07-10 09:12:48 -03:00
Abdullah Emad
869b5aa3d5 Highlight all the message search matches.
It is expected that when a user search for a message, that all the
matches within the same messages are highlighted (if there are more than
one match) not just the first match. This is also consistent with how
the search in the desktop app is implemented.

Resolves #13960
2025-07-10 09:12:48 -03:00
Cody Henthorne
dfdb8f699a Fix group update item bugs caused by backup support changes. 2025-07-10 09:12:48 -03:00
Cody Henthorne
347005bec6 Fix benchmark test setup. 2025-07-10 09:12:48 -03:00
Alex Hart
a88fcd6e0b Close all previous activities when launching into the main activitiy from restore backups. 2025-07-10 09:12:48 -03:00
Alex Hart
943c1b0ac3 Bump version to 7.48.1 2025-07-10 09:11:15 -03:00
Alex Hart
4c604475e5 Update translations and other static files. 2025-07-10 09:10:32 -03:00
andrew-signal
a384bf5e35 Add REST fallback to RemoteConfig fetch. 2025-07-03 13:34:52 -04:00
Greyson Parrelli
45d8dbc35c Bump version to 7.48.0 2025-07-02 16:03:33 -04:00
Greyson Parrelli
78e6aa3021 Update translations and other static files. 2025-07-02 15:51:31 -04:00
Cody Henthorne
8b094de4bd Fix wrapping long buttons on registrationv3 screens. 2025-07-02 15:35:33 -04:00
Cody Henthorne
253c8ff2ff Fix db test leak warning. 2025-07-02 15:16:11 -04:00
Cody Henthorne
437b1a3d98 Restore timestamp instead of tier during manual registration remote backup restore flow. 2025-07-02 11:24:36 -04:00
andrew-signal
ec8bb17bff Rotate libsignal-net remote config flag name in anticipation of scale up. 2025-07-02 09:45:13 -04:00
andrew-signal
1bddd2815a Bump libsignal to v0.76.3. 2025-07-02 09:44:49 -04:00
Greyson Parrelli
f68c344c4b Clean up additional data when viewing view-once messages. 2025-07-01 17:00:49 -04:00
Greyson Parrelli
82fd8cf282 Fix lint. 2025-07-01 16:25:29 -04:00
Cody Henthorne
f540886bb8 Attempt to resend pending messages if job creation failed. 2025-07-01 13:02:03 -04:00
gram-signal
173983a1ab Use RemoteConfig for UsePqRatchet.
Co-authored-by: Greyson Parrelli <greyson@signal.org>
2025-07-01 13:02:03 -04:00
Greyson Parrelli
f6b74ad2a0 Replace MissingAddressError with more specific variants. 2025-07-01 13:02:03 -04:00
Greyson Parrelli
9317491321 Fix androidTest issue with deviceId generation. 2025-07-01 13:02:03 -04:00
Jordan Rose
1ce6aacec6 Add link preview support for raw images. 2025-07-01 13:02:03 -04:00
lisa-signal
3b0878f493 Prevent system from displaying -1 other groups in common when there is 0 group in common. 2025-07-01 13:02:03 -04:00
andrew-signal
b98e09aedd Revert "Rotate libsignal-net remote config." 2025-07-01 13:02:03 -04:00
Alex Hart
1732567128 Hide optimize storage if billing not available. 2025-07-01 13:02:03 -04:00
Alex Hart
64f854c29d Flow beta tag to next row if there isn't enough room. 2025-07-01 13:02:02 -04:00
jeffrey-signal
fdf1238905 Improve backup key password manager save error handling.
- Add "go to settings" button to missing credential manager error dialog.
- Add handling for disabled password manager save prompt on Android API <= 33.
2025-07-01 13:02:02 -04:00
andrew-signal
0a17cd1c99 Rotate libsignal-net remote config. 2025-07-01 13:02:02 -04:00
Alex Hart
f1ac2282ff Ensure proper thread snippet restore. 2025-07-01 13:02:02 -04:00
Alex Hart
7a0b7c045e Only display failure sheet if there is actually a failure reported. 2025-07-01 13:02:02 -04:00
Alex Hart
9725d98c4a Hide paragraph if not during manual restore. 2025-07-01 13:02:02 -04:00
Greyson Parrelli
68d3103e4c Bump version to 7.47.2 2025-07-01 13:01:42 -04:00
Greyson Parrelli
6064943b47 Update translations and other static files. 2025-07-01 13:00:31 -04:00
Cody Henthorne
6aab622c96 Fix edit messages showing as new notifications bug. 2025-07-01 12:57:44 -04:00
Greyson Parrelli
939f2f82b1 Fix crash when skipping in BetterCipherInputStream. 2025-07-01 12:50:16 -04:00
Greyson Parrelli
516b505059 Fix crash with missing sessions.
We were excluding prekey bundles if they were missing EC prekeys, but
that's a valid state to be in -- those aren't required, and we shouldn't
have been excluding them.
2025-07-01 12:49:31 -04:00
Cody Henthorne
4b9cac43a8 Bump version to 7.47.1 2025-06-26 15:25:02 -04:00
Cody Henthorne
25669fae4f Update translations and other static files. 2025-06-26 15:14:03 -04:00
Greyson Parrelli
fdd9e07918 Add internal tool to reset sender key state. 2025-06-26 15:07:39 -04:00
Greyson Parrelli
0f16be81b0 Bump libsignal to 0.76.0 2025-06-26 15:07:39 -04:00
Alex Hart
bc10cd0d03 Add check for <= 0 time duration for Never case. 2025-06-26 14:26:18 -03:00
Alex Hart
c75cafd5f5 Add click handling to choose backup type learn more. 2025-06-26 14:14:28 -03:00
Cody Henthorne
0947d5b7b5 Fix deadlock/ANR in IncomingMessageObserver and SignalWebSOcket. 2025-06-26 10:32:16 -04:00
1361 changed files with 80204 additions and 54339 deletions

View File

@@ -12,6 +12,7 @@ plugins {
alias(libs.plugins.jetbrains.kotlin.android)
alias(libs.plugins.ktlint)
alias(libs.plugins.compose.compiler)
alias(libs.plugins.kotlinx.serialization)
id("androidx.navigation.safeargs")
id("kotlin-parcelize")
id("com.squareup.wire")
@@ -21,8 +22,8 @@ plugins {
apply(from = "static-ips.gradle.kts")
val canonicalVersionCode = 1557
val canonicalVersionName = "7.47.0"
val canonicalVersionCode = 1593
val canonicalVersionName = "7.58.1"
val currentHotfixVersion = 0
val maxHotfixVersions = 100
@@ -214,9 +215,10 @@ android {
buildConfigField("String[]", "SIGNAL_CDSI_IPS", rootProject.extra["cdsi_ips"] as String)
buildConfigField("String[]", "SIGNAL_SVR2_IPS", rootProject.extra["svr2_ips"] as String)
buildConfigField("String", "SIGNAL_AGENT", "\"OWA\"")
buildConfigField("String", "SVR2_MRENCLAVE_LEGACY", "\"9314436a9a144992bb3680770ea5fd7934a7ffd29257844a33763a238903d570\"")
buildConfigField("String", "SVR2_MRENCLAVE", "\"093be9ea32405e85ae28dbb48eb668aebeb7dbe29517b9b86ad4bec4dfe0e6a6\"")
buildConfigField("String", "UNIDENTIFIED_SENDER_TRUST_ROOT", "\"BXu6QIKVz5MA8gstzfOgRQGqyLqOwNKHL6INkv3IHWMF\"")
buildConfigField("String", "SVR2_MRENCLAVE_LEGACY_LEGACY", "\"9314436a9a144992bb3680770ea5fd7934a7ffd29257844a33763a238903d570\"")
buildConfigField("String", "SVR2_MRENCLAVE_LEGACY", "\"093be9ea32405e85ae28dbb48eb668aebeb7dbe29517b9b86ad4bec4dfe0e6a6\"")
buildConfigField("String", "SVR2_MRENCLAVE", "\"29cd63c87bea751e3bfd0fbd401279192e2e5c99948b4ee9437eafc4968355fb\"")
buildConfigField("String[]", "UNIDENTIFIED_SENDER_TRUST_ROOTS", "new String[]{ \"BXu6QIKVz5MA8gstzfOgRQGqyLqOwNKHL6INkv3IHWMF\", \"BUkY0I+9+oPgDCn4+Ac6Iu813yvqkDr/ga8DzLxFxuk6\"}")
buildConfigField("String", "ZKGROUP_SERVER_PUBLIC_PARAMS", "\"AMhf5ywVwITZMsff/eCyudZx9JDmkkkbV6PInzG4p8x3VqVJSFiMvnvlEKWuRob/1eaIetR31IYeAbm0NdOuHH8Qi+Rexi1wLlpzIo1gstHWBfZzy1+qHRV5A4TqPp15YzBPm0WSggW6PbSn+F4lf57VCnHF7p8SvzAA2ZZJPYJURt8X7bbg+H3i+PEjH9DXItNEqs2sNcug37xZQDLm7X36nOoGPs54XsEGzPdEV+itQNGUFEjY6X9Uv+Acuks7NpyGvCoKxGwgKgE5XyJ+nNKlyHHOLb6N1NuHyBrZrgtY/JYJHRooo5CEqYKBqdFnmbTVGEkCvJKxLnjwKWf+fEPoWeQFj5ObDjcKMZf2Jm2Ae69x+ikU5gBXsRmoF94GXTLfN0/vLt98KDPnxwAQL9j5V1jGOY8jQl6MLxEs56cwXN0dqCnImzVH3TZT1cJ8SW1BRX6qIVxEzjsSGx3yxF3suAilPMqGRp4ffyopjMD1JXiKR2RwLKzizUe5e8XyGOy9fplzhw3jVzTRyUZTRSZKkMLWcQ/gv0E4aONNqs4P+NameAZYOD12qRkxosQQP5uux6B2nRyZ7sAV54DgFyLiRcq1FvwKw2EPQdk4HDoePrO/RNUbyNddnM/mMgj4FW65xCoT1LmjrIjsv/Ggdlx46ueczhMgtBunx1/w8k8V+l8LVZ8gAT6wkU5J+DPQalQguMg12Jzug3q4TbdHiGCmD9EunCwOmsLuLJkz6EcSYXtrlDEnAM+hicw7iergYLLlMXpfTdGxJCWJmP4zqUFeTTmsmhsjGBt7NiEB/9pFFEB3pSbf4iiUukw63Eo8Aqnf4iwob6X1QviCWuc8t0LUlT9vALgh/f2DPVOOmR0RW6bgRvc7DSF20V/omg+YBw==\"")
buildConfigField("String", "GENERIC_SERVER_PUBLIC_PARAMS", "\"AByD873dTilmOSG0TjKrvpeaKEsUmIO8Vx9BeMmftwUs9v7ikPwM8P3OHyT0+X3EUMZrSe9VUp26Wai51Q9I8mdk0hX/yo7CeFGJyzoOqn8e/i4Ygbn5HoAyXJx5eXfIbqpc0bIxzju4H/HOQeOpt6h742qii5u/cbwOhFZCsMIbElZTaeU+BWMBQiZHIGHT5IE0qCordQKZ5iPZom0HeFa8Yq0ShuEyAl0WINBiY6xE3H/9WnvzXBbMuuk//eRxXgzO8ieCeK8FwQNxbfXqZm6Ro1cMhCOF3u7xoX83QhpN\"")
buildConfigField("String", "BACKUP_SERVER_PUBLIC_PARAMS", "\"AJwNSU55fsFCbgaxGRD11wO1juAs8Yr5GF8FPlGzzvdJJIKH5/4CC7ZJSOe3yL2vturVaRU2Cx0n751Vt8wkj1bozK3CBV1UokxV09GWf+hdVImLGjXGYLLhnI1J2TWEe7iWHyb553EEnRb5oxr9n3lUbNAJuRmFM7hrr0Al0F0wrDD4S8lo2mGaXe0MJCOM166F8oYRQqpFeEHfiLnxA1O8ZLh7vMdv4g9jI5phpRBTsJ5IjiJrWeP0zdIGHEssUeprDZ9OUJ14m0v61eYJMKsf59Bn+mAT2a7YfB+Don9O\"")
@@ -236,7 +238,7 @@ android {
buildConfigField("String", "STRIPE_BASE_URL", "\"https://api.stripe.com/v1\"")
buildConfigField("String", "STRIPE_PUBLISHABLE_KEY", "\"pk_live_6cmGZopuTsV8novGgJJW9JpC00vLIgtQ1D\"")
buildConfigField("boolean", "TRACING_ENABLED", "false")
buildConfigField("boolean", "MESSAGE_BACKUP_RESTORE_ENABLED", "false")
buildConfigField("boolean", "LINK_DEVICE_UX_ENABLED", "false")
ndk {
abiFilters += listOf("armeabi-v7a", "arm64-v8a", "x86", "x86_64")
@@ -316,6 +318,7 @@ android {
isMinifyEnabled = false
matchingFallbacks += "debug"
buildConfigField("String", "BUILD_VARIANT_TYPE", "\"Spinner\"")
buildConfigField("boolean", "LINK_DEVICE_UX_ENABLED", "true")
}
create("perf") {
@@ -375,7 +378,6 @@ android {
buildConfigField("boolean", "MANAGES_APP_UPDATES", "true")
buildConfigField("String", "APK_UPDATE_MANIFEST_URL", "\"${apkUpdateManifestUrl}\"")
buildConfigField("String", "BUILD_DISTRIBUTION_TYPE", "\"nightly\"")
buildConfigField("boolean", "MESSAGE_BACKUP_RESTORE_ENABLED", "true")
}
create("prod") {
@@ -399,9 +401,10 @@ android {
buildConfigField("String", "SIGNAL_CDN3_URL", "\"https://cdn3-staging.signal.org\"")
buildConfigField("String", "SIGNAL_CDSI_URL", "\"https://cdsi.staging.signal.org\"")
buildConfigField("String", "SIGNAL_SVR2_URL", "\"https://svr2.staging.signal.org\"")
buildConfigField("String", "SVR2_MRENCLAVE_LEGACY", "\"38e01eff4fe357dc0b0e8ef7a44b4abc5489fbccba3a78780f3872c277f62bf3\"")
buildConfigField("String", "SVR2_MRENCLAVE", "\"2e8cefe6e3f389d8426adb24e9b7fb7adf10902c96f06f7bbcee36277711ed91\"")
buildConfigField("String", "UNIDENTIFIED_SENDER_TRUST_ROOT", "\"BbqY1DzohE4NUZoVF+L18oUPrK3kILllLEJh2UnPSsEx\"")
buildConfigField("String", "SVR2_MRENCLAVE_LEGACY_LEGACY", "\"38e01eff4fe357dc0b0e8ef7a44b4abc5489fbccba3a78780f3872c277f62bf3\"")
buildConfigField("String", "SVR2_MRENCLAVE_LEGACY", "\"2e8cefe6e3f389d8426adb24e9b7fb7adf10902c96f06f7bbcee36277711ed91\"")
buildConfigField("String", "SVR2_MRENCLAVE", "\"a75542d82da9f6914a1e31f8a7407053b99cc99a0e7291d8fbd394253e19b036\"")
buildConfigField("String[]", "UNIDENTIFIED_SENDER_TRUST_ROOTS", "new String[]{\"BbqY1DzohE4NUZoVF+L18oUPrK3kILllLEJh2UnPSsEx\", \"BYhU6tPjqP46KGZEzRs1OL4U39V5dlPJ/X09ha4rErkm\"}")
buildConfigField("String", "ZKGROUP_SERVER_PUBLIC_PARAMS", "\"ABSY21VckQcbSXVNCGRYJcfWHiAMZmpTtTELcDmxgdFbtp/bWsSxZdMKzfCp8rvIs8ocCU3B37fT3r4Mi5qAemeGeR2X+/YmOGR5ofui7tD5mDQfstAI9i+4WpMtIe8KC3wU5w3Inq3uNWVmoGtpKndsNfwJrCg0Hd9zmObhypUnSkfYn2ooMOOnBpfdanRtrvetZUayDMSC5iSRcXKpdlukrpzzsCIvEwjwQlJYVPOQPj4V0F4UXXBdHSLK05uoPBCQG8G9rYIGedYsClJXnbrgGYG3eMTG5hnx4X4ntARBgELuMWWUEEfSK0mjXg+/2lPmWcTZWR9nkqgQQP0tbzuiPm74H2wMO4u1Wafe+UwyIlIT9L7KLS19Aw8r4sPrXZSSsOZ6s7M1+rTJN0bI5CKY2PX29y5Ok3jSWufIKcgKOnWoP67d5b2du2ZVJjpjfibNIHbT/cegy/sBLoFwtHogVYUewANUAXIaMPyCLRArsKhfJ5wBtTminG/PAvuBdJ70Z/bXVPf8TVsR292zQ65xwvWTejROW6AZX6aqucUjlENAErBme1YHmOSpU6tr6doJ66dPzVAWIanmO/5mgjNEDeK7DDqQdB1xd03HT2Qs2TxY3kCK8aAb/0iM0HQiXjxZ9HIgYhbtvGEnDKW5ILSUydqH/KBhW4Pb0jZWnqN/YgbWDKeJxnDbYcUob5ZY5Lt5ZCMKuaGUvCJRrCtuugSMaqjowCGRempsDdJEt+cMaalhZ6gczklJB/IbdwENW9KeVFPoFNFzhxWUIS5ML9riVYhAtE6JE5jX0xiHNVIIPthb458cfA8daR0nYfYAUKogQArm0iBezOO+mPk5vCNWI+wwkyFCqNDXz/qxl1gAntuCJtSfq9OC3NkdhQlgYQ==\"")
buildConfigField("String", "GENERIC_SERVER_PUBLIC_PARAMS", "\"AHILOIrFPXX9laLbalbA9+L1CXpSbM/bTJXZGZiuyK1JaI6dK5FHHWL6tWxmHKYAZTSYmElmJ5z2A5YcirjO/yfoemE03FItyaf8W1fE4p14hzb5qnrmfXUSiAIVrhaXVwIwSzH6RL/+EO8jFIjJ/YfExfJ8aBl48CKHgu1+A6kWynhttonvWWx6h7924mIzW0Czj2ROuh4LwQyZypex4GuOPW8sgIT21KNZaafgg+KbV7XM1x1tF3XA17B4uGUaDbDw2O+nR1+U5p6qHPzmJ7ggFjSN6Utu+35dS1sS0P9N\"")
buildConfigField("String", "BACKUP_SERVER_PUBLIC_PARAMS", "\"AHYrGb9IfugAAJiPKp+mdXUx+OL9zBolPYHYQz6GI1gWjpEu5me3zVNSvmYY4zWboZHif+HG1sDHSuvwFd0QszSwuSF4X4kRP3fJREdTZ5MCR0n55zUppTwfHRW2S4sdQ0JGz7YDQIJCufYSKh0pGNEHL6hv79Agrdnr4momr3oXdnkpVBIp3HWAQ6IbXQVSG18X36GaicI1vdT0UFmTwU2KTneluC2eyL9c5ff8PcmiS+YcLzh0OKYQXB5ZfQ06d6DiINvDQLy75zcfUOniLAj0lGJiHxGczin/RXisKSR8\"")
@@ -413,7 +416,6 @@ android {
buildConfigField("String", "BUILD_ENVIRONMENT_TYPE", "\"Staging\"")
buildConfigField("String", "STRIPE_PUBLISHABLE_KEY", "\"pk_test_sngOd8FnXNkpce9nPXawKrJD00kIDngZkD\"")
buildConfigField("boolean", "MESSAGE_BACKUP_RESTORE_ENABLED", "true")
}
create("backup") {
@@ -425,7 +427,6 @@ android {
buildConfigField("boolean", "MANAGES_APP_UPDATES", "true")
buildConfigField("String", "BUILD_ENVIRONMENT_TYPE", "\"Backup\"")
buildConfigField("boolean", "MESSAGE_BACKUP_RESTORE_ENABLED", "true")
}
}
@@ -499,6 +500,7 @@ dependencies {
implementation(project(":device-transfer"))
implementation(project(":image-editor"))
implementation(project(":donations"))
implementation(project(":debuglogs-viewer"))
implementation(project(":contacts"))
implementation(project(":qr"))
implementation(project(":sticky-header-grid"))
@@ -556,6 +558,7 @@ dependencies {
}
implementation(libs.google.play.services.maps)
implementation(libs.google.play.services.auth)
implementation(libs.google.signin)
implementation(libs.bundles.media3)
implementation(libs.conscrypt.android)
implementation(libs.signal.aesgcmprovider)
@@ -601,9 +604,9 @@ dependencies {
implementation(libs.rxdogtag)
implementation(libs.androidx.credentials)
implementation(libs.androidx.credentials.compat)
implementation(libs.kotlinx.serialization.json)
"playImplementation"(project(":billing"))
"nightlyImplementation"(project(":billing"))
implementation(project(":billing"))
"spinnerImplementation"(project(":spinner"))
@@ -634,6 +637,9 @@ dependencies {
testImplementation(testFixtures(project(":libsignal-service")))
testImplementation(testLibs.espresso.core)
testImplementation(testLibs.kotlinx.coroutines.test)
testImplementation(libs.androidx.compose.ui.test.junit4)
"perfImplementation"(libs.androidx.compose.ui.test.manifest)
androidTestImplementation(platform(libs.androidx.compose.bom))
androidTestImplementation(libs.androidx.compose.ui.test.junit4)
@@ -732,13 +738,18 @@ fun getMapsKey(): String {
}
fun Project.languageList(): List<String> {
// In API 35, language codes for Hebrew and Indonesian now use the ISO 639-1 code ("he" and "id").
// However, the value resources still only support the outdated code ("iw" and "in") so we have
// to manually indicate that we support these languages.
val updatedLanguageCodes = listOf("he", "id")
return fileTree("src/main/res") { include("**/strings.xml") }
.map { stringFile -> stringFile.parentFile.name }
.map { valuesFolderName -> valuesFolderName.replace("values-", "") }
.filter { valuesFolderName -> valuesFolderName != "values" }
.map { languageCode -> languageCode.replace("-r", "_") }
.distinct()
.sorted() + "en"
.sorted() + updatedLanguageCodes + "en"
}
fun String.capitalize(): String {

Some files were not shown because too many files have changed in this diff Show More