Compare commits

..

485 Commits

Author SHA1 Message Date
Michelle Tang ba3755bd85 Bump version to 7.53.5 2025-08-25 16:08:03 -04:00
Cody Henthorne 8c6a6f2470 Disable all fixes for large image loading. 2025-08-25 14:45:45 -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
Cody Henthorne 5126b76214 Bump version to 7.47.0 2025-06-25 16:33:26 -04:00
Cody Henthorne 5e6d69b6fb Update baseline profile. 2025-06-25 16:26:36 -04:00
Cody Henthorne 3381d37086 Update translations and other static files. 2025-06-25 16:21:32 -04:00
Greyson Parrelli 1c596490c9 Add link+sync support for the backup4 capability. 2025-06-25 16:14:32 -04:00
Cody Henthorne a043b4e573 Try to run IncomingMessageObserver more aggressively. 2025-06-25 16:14:32 -04:00
Greyson Parrelli c0340be3ce Fix archive thumbnail decryption. 2025-06-25 16:14:32 -04:00
Greyson Parrelli b1063f69f9 Remove archive_transfer_file column. 2025-06-25 16:14:32 -04:00
Greyson Parrelli 03dc014c08 Add the backup alpha build flavor. 2025-06-25 16:14:32 -04:00
Greyson Parrelli 7b7e153281 Populate legacy locatorInfo fields. 2025-06-25 16:14:32 -04:00
Greyson Parrelli ec5452744d Allow normal attachments to be validated with plaintextHashes. 2025-06-25 16:14:32 -04:00
Greyson Parrelli 607b83d65b Validate plaintext hashes for archived attachments. 2025-06-25 16:14:31 -04:00
Greyson Parrelli 38c8f852bf Do most of the proto and database groundwork for the new mediaName. 2025-06-25 16:14:31 -04:00
Alex Hart e705495638 Add 30 day reminder for manual backups.
Co-authored-by: Michelle Tang <mtang@signal.org>
2025-06-25 16:14:31 -04:00
Alex Hart 82531630c7 Add megaphone to prompt user to enable backups. 2025-06-25 16:14:31 -04:00
Alex Hart 322a9cd97a Suppress backup messaging if device is unregistered. 2025-06-25 09:47:59 -03:00
Alex Hart 63f038873b Add module dependency verification entries to support AS Narwhal stable release. 2025-06-25 09:45:55 -03:00
jeffrey-signal 143b8a6356 Fix crash when saving backup key to credential manager on Android 13 and earlier. 2025-06-24 17:03:20 -04:00
Alex Hart 6e0faee30f Remove launchMode from MainActivity. 2025-06-24 14:22:43 -03:00
Alex Hart ccc4acdef9 Prevent "Free" tier from being upgraded in the background. 2025-06-24 11:11:32 -03:00
Cody Henthorne 1719122f5e Move restore messages out of durable job. 2025-06-24 08:49:31 -04:00
Greyson Parrelli 93161aa425 Only delete archived media from CDN 3. 2025-06-23 15:57:36 -04:00
Cody Henthorne a181b35e8d Remove notification state cleanup based on displayed notifications. 2025-06-23 15:57:36 -04:00
jeffrey-signal 79de5f733f Prevent backup from being triggered while a restore is in progress. 2025-06-23 15:57:36 -04:00
Alex Hart 18f7a88d66 Add support filter after backup export failure. 2025-06-23 15:57:36 -04:00
jeffrey-signal eeae9579d9 Fix progress bar stuck at 100% after successful backup restore. 2025-06-23 15:57:36 -04:00
jeffrey-signal 3b9dec5d42 Reset backup restore state after media restoration completes.
Fixes an issue where the SignalStore.backup.restoreState is never updated from RESTORING_MEDIA after completion of the media restoration.
2025-06-23 15:57:35 -04:00
andrew-signal bbec0f5f48 Stop STOPPED typing indicator timers on message send. 2025-06-23 15:57:35 -04:00
Cody Henthorne 2723ea7975 Bump version to 7.46.1 2025-06-23 15:55:36 -04:00
Cody Henthorne 550ad7b56c Update baseline profile. 2025-06-23 15:47:24 -04:00
Cody Henthorne 3e4364ede7 Update translations and other static files. 2025-06-23 15:40:59 -04:00
Greyson Parrelli abbcdbc6b9 Fix bug where network sink would sometimes be closed early. 2025-06-23 12:05:51 -04:00
Michelle Tang c3ba07e5d7 Bump version to 7.46.0 2025-06-18 17:04:58 -04:00
Michelle Tang 1d239f7b56 Update translations and other static files. 2025-06-18 16:49:19 -04:00
Michelle Tang f21edf7e3c Adjust iDEAL string. 2025-06-18 16:45:42 -04:00
Cody Henthorne be45bdb562 Fix legacy restore options in new restore flows. 2025-06-18 16:45:42 -04:00
Michelle Tang 3ea2c01c15 Fix alignment in group title. 2025-06-18 16:45:42 -04:00
Michelle Tang c75a6c9715 Sync backup tier to account record. 2025-06-18 16:45:42 -04:00
Alex Hart fc1ed8934c Add custom 404 retry logic. 2025-06-18 16:45:42 -04:00
Cody Henthorne 5f603cd57a Improve message notification determination. 2025-06-18 16:45:42 -04:00
lisa-signal b826352ce7 Add deprecation notification when build expires. 2025-06-18 16:45:42 -04:00
Greyson Parrelli 4f6a5de227 Refactor AttachmentCipherInputStream. 2025-06-18 16:45:41 -04:00
Cody Henthorne 9798f5cc7c Fix contact receive desugar crash on Android 6. 2025-06-18 16:45:41 -04:00
Miriam Zimmerman 5fd4ac0a06 Add logging to debug flipping from broken camera 2025-06-18 16:45:41 -04:00
Greyson Parrelli ee0ee98cb6 Convert AttachmentCipherInputStream to kotlin. 2025-06-18 16:45:41 -04:00
Greyson Parrelli 2e79e257a3 Convert AttachmentCipherOutputStream to kotlin. 2025-06-17 16:26:20 -04:00
Greyson Parrelli 381c0e186f Move some cipher finalization into close() instead of flush(). 2025-06-17 16:26:20 -04:00
Michelle Tang 2c752ab5ba Avoid uploading onboarding story media during restore. 2025-06-17 16:26:20 -04:00
Alex Hart b35b1db4bc Add wiring and notification for out of remote space error. 2025-06-17 16:26:20 -04:00
lisa-signal fed6a0db5e Add enable contact permission banner when adding members to groups. 2025-06-17 16:26:20 -04:00
lisa-signal e4d34c1cb6 Show verified safety number users in New Chat selection screen. 2025-06-17 16:26:20 -04:00
Greyson Parrelli 3571e22a79 Use different icon for 'fetching messages'.
Relates to #12904
2025-06-17 16:26:20 -04:00
Cody Henthorne f051ec43d4 Update okhttp mockserver to 5.0.0-alpha.16 2025-06-17 16:26:20 -04:00
lisa-signal f3857ed933 Prevent notification sound when voice recording. 2025-06-17 16:26:20 -04:00
lisa-signal e7140a14a3 Show credit card input as LTR even for RTL languages. 2025-06-17 16:26:20 -04:00
Alex Hart 76e8695000 Convert AdvancedPinPreferencesFragment to compose. 2025-06-17 16:26:20 -04:00
lisa-signal e62f14b6d3 Don't keep screen on for voice calls. 2025-06-17 16:26:20 -04:00
Alex Hart c0dfe9bd53 Utilize ImageVector instead of Painter in SettingsScaffold. 2025-06-17 16:26:20 -04:00
Alex Hart 297c712c0f Change re-enable button color to Tonal. 2025-06-17 16:26:20 -04:00
lisa-signal 2f514622e0 Prevent trailing whitespace from being considered an edit. 2025-06-17 16:26:20 -04:00
Alex Hart e6ea66f9c5 Add proper turn off backups string for paid tier. 2025-06-17 16:26:20 -04:00
Alex Hart a5ff92b831 Add additional backup screen states. 2025-06-17 16:26:20 -04:00
Cody Henthorne 9bde632c6d Keep screen on and hold wake lock during important parts of backup restore. 2025-06-17 16:26:20 -04:00
Alex Hart 88f17e29aa Improve display of backup details when upload is in progress. 2025-06-17 16:26:19 -04:00
jeffrey-signal eb620374e2 Fix resource leaks when uploading backup attachments. 2025-06-17 16:26:19 -04:00
Alex Hart 4a1baa75a8 Do not check if purchase was within last month. 2025-06-17 16:26:19 -04:00
jeffrey-signal 0ab77e159d Update notification message for large backup attachment uploads. 2025-06-17 16:26:19 -04:00
Alex Hart a5496c692f Allow different accounts on same Google account to subscribe to backups. 2025-06-17 16:26:19 -04:00
Alex Hart 5c61832d82 Use now for watermarking. 2025-06-17 16:26:19 -04:00
Michelle Tang f82b5eb72d Bump version to 7.45.3 2025-06-17 15:31:15 -04:00
Michelle Tang f4d482c6ee Update translations and other static files. 2025-06-17 15:27:35 -04:00
Cody Henthorne 3c4f27f3f4 Fix profile fetch debounce bug when profile key changes. 2025-06-17 14:38:25 -04:00
Michelle Tang 01c106fd3e Bump version to 7.45.2 2025-06-16 12:53:57 -04:00
Michelle Tang 1e46c23cb9 Update translations and other static files. 2025-06-16 12:45:06 -04:00
Cody Henthorne f245fc2b57 Force okhttp usage regardless of remote config. 2025-06-16 10:08:59 -04:00
Cody Henthorne f9ea7be65f Bump version to 7.45.1 2025-06-13 15:30:10 -04:00
Cody Henthorne 96033c701b Update baseline profile. 2025-06-13 15:19:09 -04:00
Cody Henthorne d42a276bc2 Update translations and other static files. 2025-06-13 15:14:11 -04:00
Cody Henthorne 5ff795b25d Bump to okhttp 5.0.0-alpha.16 2025-06-13 12:35:07 -04:00
Cody Henthorne ca6a7baace Revert "Do not send app level keep-alives for unauth WebSocket."
This reverts commit 54a2628797.
2025-06-13 11:30:09 -04:00
Cody Henthorne 4df6f89fcf Fix potential crash in RemoteDeleteSendJob. 2025-06-12 10:54:18 -04:00
Greyson Parrelli f4af90d3c5 Bump version to 7.45.0 2025-06-11 12:59:42 -04:00
Greyson Parrelli 09fd22d5c6 Update baseline profile. 2025-06-11 12:59:16 -04:00
Greyson Parrelli e72c78be68 Update translations and other static files. 2025-06-11 12:49:13 -04:00
jeffrey-signal cd18db613a Upload large backup attachments using a foreground service. 2025-06-11 12:02:23 -04:00
Greyson Parrelli f8d8558cdb Convert AttachmentCipherTest to kotlin. 2025-06-11 11:58:40 -04:00
Michelle Tang a46e1a451f Add foreign key reference to notification profile members. 2025-06-11 10:40:13 -04:00
Greyson Parrelli f80d5d54ca Log inserted messageIds. 2025-06-10 16:51:57 -04:00
Cody Henthorne 2394972620 Add archive state indicator to media chat items. 2025-06-10 15:24:18 -04:00
Greyson Parrelli 536b599449 Remove deprecated PNI initialization job. 2025-06-10 14:35:48 -04:00
Alex Hart 9361acd72f Add check before setting downgrade flag. 2025-06-10 14:33:09 -03:00
Alex Hart c4da61cd93 Add backup alert fragment tag to prevent concurrent opens. 2025-06-10 14:06:05 -03:00
Alex Hart faa12bf377 Do not run subscription check if backups are disabled. 2025-06-10 13:51:50 -03:00
Alex Hart 8446c8d60f Show entire create backup sheet. 2025-06-10 13:44:33 -03:00
lisa-signal 844d511b72 Update edit message timestamp. 2025-06-10 12:14:42 -04:00
Cody Henthorne 178c468436 Prevent viewing backup key when unregistered. 2025-06-10 11:04:01 -04:00
Cody Henthorne fa9229779e Fix copy for no backup key bottom sheet. 2025-06-10 10:53:30 -04:00
Cody Henthorne 38adb519e3 Improve speed/feedback of final steps of backup restore. 2025-06-10 10:32:45 -04:00
Alex Hart 37c3578329 Fix crash when accessing backup settings without being logged into Google. 2025-06-10 11:32:31 -03:00
Alex Hart 0c98439070 Add proper media ttl to restore screen. 2025-06-10 11:29:35 -03:00
Greyson Parrelli 5fe114c0eb Update archiveReconciliationSyncInterval to use global config. 2025-06-10 08:23:56 -04:00
Alex Hart 3588d646d2 Don't skip cancelled google purchase when checking subscription state in check job. 2025-06-09 20:21:06 -04:00
Alex Hart dd5941b884 Add UX for out of remote storage space error presentation. 2025-06-09 20:21:06 -04:00
Alex Hart 1424dd6892 Add new dialog and sheet for handling offloaded media after a subscription is canceled or expires. 2025-06-09 20:21:06 -04:00
Cody Henthorne 18b5354944 Fix backup receipt crash. 2025-06-09 20:21:06 -04:00
Michelle Tang bf4049d002 Fix lint. 2025-06-09 20:21:06 -04:00
Michelle Tang 59b747ee63 Add insufficient storage error message to link+sync. 2025-06-09 20:21:06 -04:00
Michelle Tang e0726ce62f Fix missing profile avatars on restore. 2025-06-09 20:21:06 -04:00
Greyson Parrelli 828fa238c5 Update optimize media threshold to 7 days. 2025-06-09 20:21:06 -04:00
Greyson Parrelli c8f389028e Ensure that we have the latest recipient copy after refreshing serviceIds.
Fixes #14163
2025-06-09 20:21:06 -04:00
lisa-signal e2c32c1172 Fix multiselect to make in memory messages unselectable. 2025-06-09 20:21:06 -04:00
Michelle Tang d20abec813 Update remove from group copy. 2025-06-09 20:21:06 -04:00
Greyson Parrelli 6edfcfdc4e Properly order attachment archive copies. 2025-06-09 20:21:06 -04:00
Greyson Parrelli 9860b990e5 Split archive deletes and reconciliations into separate jobs. 2025-06-09 20:21:06 -04:00
Greyson Parrelli e7115a3a71 Switch the snapshot table to use incrementing versions. 2025-06-09 20:21:06 -04:00
lisa-signal 8c1e221afd Fix chat folder test. 2025-06-09 20:21:06 -04:00
lisa-signal 64ddc24720 Add test case for folder without chat. 2025-06-09 20:21:06 -04:00
Alex Hart f9ee222d5d Add logging to check purchase information on RemoteBackupsSettings screen. 2025-06-09 20:21:06 -04:00
Alex Hart 23d8969015 Allow staging users to utilize internal backup switch. 2025-06-09 20:21:06 -04:00
Cody Henthorne 882a11c420 Calculate remote backup media quota usage locally. 2025-06-09 20:21:06 -04:00
Cody Henthorne efa9dd6ec3 Fix path escaping issues.
Acknowledgment to Mouad & Ostorlab team for bringing this to our attention.
2025-06-09 20:21:06 -04:00
gram-signal 2767e298c4 API changes associated with update to libsignal 0.74.0 2025-06-09 20:21:06 -04:00
Michelle Tang cc7b26d342 Fix read calls being shown as unread in backups. 2025-06-09 20:21:06 -04:00
jeffrey-signal bf0c9ec1c7 Fix story reactions rendering improperly after restoring a backup. 2025-06-09 20:21:06 -04:00
Jim Gustafson a9475ef153 Update to RingRTC v2.53.0 2025-06-09 20:21:05 -04:00
Michelle Tang 6b6980811b Use config to determine deletion lifespan in storage service. 2025-06-09 20:21:05 -04:00
Cody Henthorne df2e88eaac Reset backup auth credentials on verification failure. 2025-06-09 20:21:05 -04:00
Alex Hart 297bca4c0f Fix archive export tests. 2025-06-09 20:21:05 -04:00
Alex Hart b40c7d0e06 Add crossfade to action-mode toolbar. 2025-06-09 20:21:05 -04:00
Greyson Parrelli 9f54de8b39 Bump version to 7.44.2 2025-06-09 20:19:31 -04:00
Greyson Parrelli 976d3670c9 Update translations and other static files. 2025-06-09 20:19:00 -04:00
Greyson Parrelli ef797f6ed8 Fix possible crash in story send. 2025-06-09 20:08:47 -04:00
Michelle Tang 59cc8c636d Ignore non-existing recipients in notification profiles storage sync. 2025-06-09 14:59:28 -04:00
Cody Henthorne e147d4762d Bump version to 7.44.1 2025-06-06 13:57:51 -04:00
Cody Henthorne d3b7219352 Update baseline profile. 2025-06-06 13:33:50 -04:00
Cody Henthorne 6abf55dc55 Update translations and other static files. 2025-06-06 13:29:01 -04:00
andrew-signal 7bd52e661d Refactor LibSignalChatConnection to use an explicit queue sendRequest handling while CONNECTING. 2025-06-06 08:14:20 -04:00
Cody Henthorne 89944d778b Bump version to 7.44.0 2025-06-04 15:42:03 -04:00
Cody Henthorne 357f82809a Update baseline profile. 2025-06-04 15:34:00 -04:00
Cody Henthorne 4222c70b4a Update translations and other static files. 2025-06-04 15:28:35 -04:00
lisa-signal a66031cfce Fix chat folder to not show mute option if there isn't any chat. 2025-06-04 15:17:37 -04:00
Alex Hart cf0dfdceb1 Display resume over cellular only if awaiting wifi. 2025-06-04 15:17:37 -04:00
Cody Henthorne 26b6019b28 Add internal backup stats tab. 2025-06-04 15:17:37 -04:00
Cody Henthorne be4af1d560 Use dynamic quality and webp for archive thumbnail generation. 2025-06-04 15:17:37 -04:00
Michelle Tang e3ee3d3dba Add notification profiles to storage service. 2025-06-04 15:17:37 -04:00
lisa-signal 07d961fc09 Fix cut off string in stories. 2025-06-04 15:17:37 -04:00
andrew-signal 7bcb3fa4d9 Make .tool-versions more specific. 2025-06-04 15:17:37 -04:00
Alex Hart 5e07e428c0 Fix instrumentation tests for message backups checkout flow. 2025-06-04 15:17:37 -04:00
Alex Hart a85b8c49d9 Rework billing client integration. 2025-06-04 15:17:37 -04:00
Alex Hart c3dcdd2010 Check network tier on export. 2025-06-04 15:17:37 -04:00
lisa-signal 74d9195d94 Fix action mode to use our own action mode toolbar instead of the built in androidx one. 2025-06-04 15:17:37 -04:00
lisa-signal 4db60ac63f Fix select all count in conversation list to be accurate. 2025-06-04 15:17:37 -04:00
jeffrey-signal 17bfb118d8 Update missing password manager dialog copy.
Updates the copy of the dialog that shows when attempting to save a backup key, but there is no credential manager configured on the device that supports saving passwords.
2025-06-04 15:17:37 -04:00
Alex Hart d6dd2cc633 Polish backup type selection UI. 2025-06-04 15:17:37 -04:00
Alex Hart dd2e219272 Add additional method tracing. 2025-06-04 15:17:37 -04:00
Alex Hart 88ec96bf2d Ensure connection status logs are kept for monitoring in debug logs. 2025-06-04 15:17:37 -04:00
Alex Hart e17a4c80b2 Various UI polish items for backups. 2025-06-04 15:17:37 -04:00
Alex Hart c0f3189a5b Add restore type check and download specific messaging. 2025-06-04 15:17:36 -04:00
Alex Hart ac9f6c0b4a Fix spelling error. 2025-06-04 15:17:36 -04:00
Alex Hart 5903551cdb When we move to awaiting download state, display dialog. 2025-06-04 15:17:36 -04:00
Cody Henthorne 54a2628797 Do not send app level keep-alives for unauth WebSocket. 2025-06-04 15:17:36 -04:00
Cody Henthorne 0f2a066a30 Increase WebSocket idle delayed disconnect timings. 2025-06-04 15:17:36 -04:00
Alex Hart 2ff0df9ef6 Add skip dialog for during deletion. 2025-06-04 15:17:36 -04:00
Alex Hart ad652dbaf2 Backup delete resub flow state fix. 2025-06-04 15:17:36 -04:00
lisa-signal 109d37c0d2 Fix audio duck due to MP4 gif. 2025-06-04 15:17:36 -04:00
jeffrey-signal 015fc9be2c Add ability to save remote backup key to device password manager.
Co-authored-by: Cody Henthorne <cody@signal.org>
2025-06-04 15:17:36 -04:00
Alex Hart 7616ec1fd2 Add rememberRecipientField composable function for reading live recipient fields. 2025-06-04 15:17:36 -04:00
Alex Hart df170dac32 Polish deletion UX. 2025-06-04 15:17:36 -04:00
andrew-signal ccce37d023 Bump to libsignal v0.73.2; revert ProGuard workaround. 2025-06-04 15:17:36 -04:00
Cody Henthorne 13ddd067ef Update to latest backup protos; Bump to libsignal v0.73.1 2025-06-04 15:17:36 -04:00
Miriam Zimmerman 340b94f849 Improve handling of missing camera during calls. 2025-06-04 15:17:36 -04:00
Greyson Parrelli faf0b630c1 Move profile fetches to ProfileApi. 2025-06-04 15:17:36 -04:00
Cody Henthorne b2f1867787 Exclude remote megaphones from local backups. 2025-06-04 15:17:36 -04:00
Greyson Parrelli 3bd4e39093 Add more backup cancellation checks. 2025-06-04 15:17:36 -04:00
Alex Hart 98e06081af Fix advanced pin settings routing. 2025-06-04 15:17:36 -04:00
Alex Hart 0d51faf618 Fix rendering after rotation. 2025-06-04 15:17:36 -04:00
Cody Henthorne 21e53e360e Remove Media tab from backup playground. 2025-06-04 15:17:36 -04:00
andrew-signal 9083359b33 Silence noisy double stack trace when a LibSignalChatConnection connect() is canceled. 2025-05-29 11:57:30 -04:00
Cody Henthorne 7b30ac1524 Fix various archive related attachment bugs.
Co-authored-by: Greyson Parrelli <greyson@signal.org>
2025-05-29 11:34:09 -04:00
andrew-signal 4b41d7afaa Only fetch profiles if we haven't fetched them in the last five minutes. 2025-05-29 11:00:15 -04:00
Alex Hart 38a9452de0 Cache product pricing for 24hrs. 2025-05-29 11:10:23 -03:00
Alex Hart 1bd638be46 Allow badge to update in toolbar when user changes their featured badge. 2025-05-28 16:26:39 -03:00
Cody Henthorne e912bf3bc8 Attempt to fix reproducible build issue caused by EditProxyFragment. 2025-05-28 14:52:25 -04:00
Greyson Parrelli 13d7bc54d3 Re-run the e164 formatting application migration. 2025-05-28 13:33:58 -04:00
Greyson Parrelli 5bdf10b1bd Fix crash in storage sync validation. 2025-05-28 12:26:16 -04:00
Alex Hart 6a40f4a4f4 Perform backup deletion in a durable job. 2025-05-28 13:07:09 -03:00
lisa-signal 8900721064 Fix scheduled message logo from Signal logo to Calendar logo. 2025-05-28 09:59:53 -04:00
lisa-signal 7738e6bc9a Fix backtrack symbol to change from ic_arrow_left_24 to symbol_arrow_start_24. 2025-05-28 09:39:12 -04:00
Alex Hart 7c7833263a Fix possible crash in conversation activity. 2025-05-27 14:33:47 -03:00
Alex Hart 96d6a0e68d Launch checkout flow on renew press. 2025-05-27 13:20:08 -03:00
Greyson Parrelli 7c04b56a32 Fix validation errors around bad e164s in SSE's and merge events. 2025-05-27 10:29:13 -04:00
Jim Gustafson 5009e86d56 Update to RingRTC v2.52.3 2025-05-27 10:03:11 -04:00
Alex Hart daa3e5d95a Convert InternalConversationSettings to compose. 2025-05-27 10:48:34 -03:00
Michelle Tang 6879778f4b Fix missing avatars in notifications. 2025-05-22 14:32:11 -04:00
Jeffrey Starke de12691cfe Add new sticker pack preview screen.
Adds a new jetpack compose and kotlin implementation of the sticker pack preview screen, which will soon replace `StickerPackPreviewActivity.java` and `StickerPackPreviewViewModel.java`.
2025-05-22 11:23:23 -04:00
lisa-signal dce883bcf5 Fix clear filter position. 2025-05-22 11:23:23 -04:00
Michelle Tang be02c1bc0a Update editorconfig with new ktlint rules. 2025-05-22 11:23:23 -04:00
Cody Henthorne 52c7a9a214 Add copy media backup id to backup playground. 2025-05-22 11:23:23 -04:00
Alex Bakon ea0b8fc594 Remove unused code. 2025-05-22 11:23:23 -04:00
Jeffrey Starke 15aa941436 Limit delete archived media requests to 1000 items at a time.
Fixes an error that occurs when attempting to delete all archived media caused by exceeding the API's 1000 item limit.
2025-05-22 11:23:23 -04:00
Alex Hart 8e92ddbd53 Fix skipping subsequent call links. 2025-05-21 15:49:20 -04:00
Michelle Tang 23669c3c37 Bump version to 7.43.1 2025-05-21 15:20:18 -04:00
Michelle Tang ea970c1936 Update translations and other static files. 2025-05-21 15:17:26 -04:00
Cody Henthorne 52ffe4408d Fix NoSuchMethodError on CompletableFuture crash. 2025-05-21 15:14:03 -04:00
Michelle Tang b753990ee3 Bump version to 7.43.0 2025-05-21 12:20:12 -04:00
Michelle Tang 9642e19d53 Update translations and other static files. 2025-05-21 12:02:05 -04:00
Michelle Tang 7dc4cb4ce7 Ensure default chat folder exists. 2025-05-21 11:33:13 -04:00
andrew-signal 4f6bedf323 Rotate key for libsignalWebSocket RemoteConfig. 2025-05-21 11:28:08 -04:00
Cody Henthorne ca16d0e6f8 Fix decryption errors post remote restore. 2025-05-21 09:24:33 -04:00
Cody Henthorne 690b171d57 Default remote backups to daily. 2025-05-21 08:58:17 -04:00
Alex Bakon 2254b7f680 Remove unused CdsiSocket class. 2025-05-21 07:49:04 -04:00
andrew-signal a6540880c9 Cancel chatConnectionFuture when we get disconnect() while CONNECTING. 2025-05-21 07:43:18 -04:00
andrew-signal e7e59d9481 Bump to libsignal v0.73.0 2025-05-21 07:41:02 -04:00
lisa-signal b5b71c6464 Fix ability to remove link preview without changing message text. 2025-05-20 15:47:07 -04:00
lisa-signal 437a1755ce Fixed color of Get started text. 2025-05-20 15:33:19 -04:00
Cody Henthorne 14dbaa7d05 Prevent safety number changes during quick restore flow. 2025-05-20 15:14:29 -04:00
Alex Hart 58e462de06 Fix scrolling highlight on backups checkout page. 2025-05-20 16:10:43 -03:00
Alex Hart b6b6f7a527 Allow free tier subscription if Google Play Billing is not available. 2025-05-20 16:09:43 -03:00
Alex Hart 09e47dba3a Add support for cancelling an in-progress archive upload.
Co-authored-by: Jeffrey Starke <jeffrey@signal.org>
2025-05-20 15:46:24 -03:00
Cody Henthorne 3751052697 Force new auth WebSocket during various IMO recovery flows. 2025-05-20 14:42:54 -04:00
Cody Henthorne da639d086f Attempt to fix duplicate e164s due to short codes. 2025-05-19 14:45:34 -04:00
Sagar 59a9a38c1f Fix country code filtering by removing "+" prefix handling.
Closes #14137
2025-05-19 14:45:34 -04:00
Alex Hart dd634343d7 Change button size on backups management screen. 2025-05-19 14:45:34 -04:00
Alex Hart 7ee1b1386b Backups ui polish. 2025-05-19 14:45:34 -04:00
Alex Hart 0e4c09224c Ensure all billing states are emitted. 2025-05-19 14:45:34 -04:00
Alex Hart fc5aae34f3 Add cancellation support and renew support for canceled subscriptions. 2025-05-19 14:45:34 -04:00
Alex Hart 1aa2c85edd Fix alignment of progress spinner when waiting for network.: 2025-05-19 14:45:34 -04:00
Alex Hart a6bfeebb24 Add UI for when the user's grace period expires or while they are in the grace period. 2025-05-19 14:45:34 -04:00
Alex Bakon 5e9824a180 Update test client prekey usage to include kyber keys. 2025-05-19 14:45:34 -04:00
Cody Henthorne 3644466263 Bump version to 7.42.2 2025-05-19 14:44:07 -04:00
Cody Henthorne e9b43e7c25 Update baseline profile. 2025-05-19 14:43:05 -04:00
Cody Henthorne e9e53d6d84 Update translations and other static files. 2025-05-19 14:38:15 -04:00
Cody Henthorne 03f2feb335 Fix megaphone missing asset crash. 2025-05-19 14:31:48 -04:00
1355 changed files with 75872 additions and 44524 deletions
+2
View File
@@ -18,6 +18,8 @@ ktlint_standard_statement-wrapping = disabled
internal:ktlint-suppression = disabled internal:ktlint-suppression = disabled
ktlint_standard_unnecessary-parentheses-before-trailing-lambda = disabled ktlint_standard_unnecessary-parentheses-before-trailing-lambda = disabled
ktlint_standard_value-parameter-comment = disabled ktlint_standard_value-parameter-comment = disabled
ktlint_standard_class-signature = disabled
ktlint_standard_function-expression-body = disabled
# Disable ktlint on generated source code, see # Disable ktlint on generated source code, see
# https://github.com/JLLeitschuh/ktlint-gradle/issues/746 # https://github.com/JLLeitschuh/ktlint-gradle/issues/746
+1
View File
@@ -16,6 +16,7 @@
<option name="ALIGN_MULTILINE_TEXT_BLOCKS" value="true" /> <option name="ALIGN_MULTILINE_TEXT_BLOCKS" value="true" />
<option name="IMPORT_LAYOUT_TABLE"> <option name="IMPORT_LAYOUT_TABLE">
<value> <value>
<package name="" withSubpackages="true" static="false" module="true" />
<package name="android" withSubpackages="true" static="false" /> <package name="android" withSubpackages="true" static="false" />
<emptyLine /> <emptyLine />
<package name="androidx" withSubpackages="true" static="false" /> <package name="androidx" withSubpackages="true" static="false" />
+1 -1
View File
@@ -1 +1 @@
java 17.0.2 java openjdk-17.0.2
+37 -8
View File
@@ -21,14 +21,16 @@ plugins {
apply(from = "static-ips.gradle.kts") apply(from = "static-ips.gradle.kts")
val canonicalVersionCode = 1544 val canonicalVersionCode = 1576
val canonicalVersionName = "7.42.1" val canonicalVersionName = "7.53.5"
val currentHotfixVersion = 0 val currentHotfixVersion = 1
val maxHotfixVersions = 100 val maxHotfixVersions = 100
val keystores: Map<String, Properties?> = mapOf("debug" to loadKeystoreProperties("keystore.debug.properties")) val keystores: Map<String, Properties?> = mapOf("debug" to loadKeystoreProperties("keystore.debug.properties"))
val selectableVariants = listOf( val selectableVariants = listOf(
"nightlyBackupRelease",
"nightlyBackupSpinner",
"nightlyProdSpinner", "nightlyProdSpinner",
"nightlyProdPerf", "nightlyProdPerf",
"nightlyProdRelease", "nightlyProdRelease",
@@ -70,6 +72,8 @@ wire {
protoPath { protoPath {
srcDir("${project.rootDir}/libsignal-service/src/main/protowire") srcDir("${project.rootDir}/libsignal-service/src/main/protowire")
} }
// Handled by libsignal
prune("signalservice.DecryptionErrorMessage")
} }
ktlint { ktlint {
@@ -210,8 +214,9 @@ android {
buildConfigField("String[]", "SIGNAL_CDSI_IPS", rootProject.extra["cdsi_ips"] as String) 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_SVR2_IPS", rootProject.extra["svr2_ips"] as String)
buildConfigField("String", "SIGNAL_AGENT", "\"OWA\"") buildConfigField("String", "SIGNAL_AGENT", "\"OWA\"")
buildConfigField("String", "SVR2_MRENCLAVE_LEGACY", "\"9314436a9a144992bb3680770ea5fd7934a7ffd29257844a33763a238903d570\"") buildConfigField("String", "SVR2_MRENCLAVE_LEGACY_LEGACY", "\"9314436a9a144992bb3680770ea5fd7934a7ffd29257844a33763a238903d570\"")
buildConfigField("String", "SVR2_MRENCLAVE", "\"093be9ea32405e85ae28dbb48eb668aebeb7dbe29517b9b86ad4bec4dfe0e6a6\"") buildConfigField("String", "SVR2_MRENCLAVE_LEGACY", "\"093be9ea32405e85ae28dbb48eb668aebeb7dbe29517b9b86ad4bec4dfe0e6a6\"")
buildConfigField("String", "SVR2_MRENCLAVE", "\"29cd63c87bea751e3bfd0fbd401279192e2e5c99948b4ee9437eafc4968355fb\"")
buildConfigField("String", "UNIDENTIFIED_SENDER_TRUST_ROOT", "\"BXu6QIKVz5MA8gstzfOgRQGqyLqOwNKHL6INkv3IHWMF\"") buildConfigField("String", "UNIDENTIFIED_SENDER_TRUST_ROOT", "\"BXu6QIKVz5MA8gstzfOgRQGqyLqOwNKHL6INkv3IHWMF\"")
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", "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", "GENERIC_SERVER_PUBLIC_PARAMS", "\"AByD873dTilmOSG0TjKrvpeaKEsUmIO8Vx9BeMmftwUs9v7ikPwM8P3OHyT0+X3EUMZrSe9VUp26Wai51Q9I8mdk0hX/yo7CeFGJyzoOqn8e/i4Ygbn5HoAyXJx5eXfIbqpc0bIxzju4H/HOQeOpt6h742qii5u/cbwOhFZCsMIbElZTaeU+BWMBQiZHIGHT5IE0qCordQKZ5iPZom0HeFa8Yq0ShuEyAl0WINBiY6xE3H/9WnvzXBbMuuk//eRxXgzO8ieCeK8FwQNxbfXqZm6Ro1cMhCOF3u7xoX83QhpN\"")
@@ -233,6 +238,7 @@ android {
buildConfigField("String", "STRIPE_PUBLISHABLE_KEY", "\"pk_live_6cmGZopuTsV8novGgJJW9JpC00vLIgtQ1D\"") buildConfigField("String", "STRIPE_PUBLISHABLE_KEY", "\"pk_live_6cmGZopuTsV8novGgJJW9JpC00vLIgtQ1D\"")
buildConfigField("boolean", "TRACING_ENABLED", "false") buildConfigField("boolean", "TRACING_ENABLED", "false")
buildConfigField("boolean", "MESSAGE_BACKUP_RESTORE_ENABLED", "false") buildConfigField("boolean", "MESSAGE_BACKUP_RESTORE_ENABLED", "false")
buildConfigField("boolean", "LINK_DEVICE_UX_ENABLED", "false")
ndk { ndk {
abiFilters += listOf("armeabi-v7a", "arm64-v8a", "x86", "x86_64") abiFilters += listOf("armeabi-v7a", "arm64-v8a", "x86", "x86_64")
@@ -312,6 +318,7 @@ android {
isMinifyEnabled = false isMinifyEnabled = false
matchingFallbacks += "debug" matchingFallbacks += "debug"
buildConfigField("String", "BUILD_VARIANT_TYPE", "\"Spinner\"") buildConfigField("String", "BUILD_VARIANT_TYPE", "\"Spinner\"")
buildConfigField("boolean", "LINK_DEVICE_UX_ENABLED", "true")
} }
create("perf") { create("perf") {
@@ -395,8 +402,9 @@ android {
buildConfigField("String", "SIGNAL_CDN3_URL", "\"https://cdn3-staging.signal.org\"") buildConfigField("String", "SIGNAL_CDN3_URL", "\"https://cdn3-staging.signal.org\"")
buildConfigField("String", "SIGNAL_CDSI_URL", "\"https://cdsi.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", "SIGNAL_SVR2_URL", "\"https://svr2.staging.signal.org\"")
buildConfigField("String", "SVR2_MRENCLAVE_LEGACY", "\"38e01eff4fe357dc0b0e8ef7a44b4abc5489fbccba3a78780f3872c277f62bf3\"") buildConfigField("String", "SVR2_MRENCLAVE_LEGACY_LEGACY", "\"38e01eff4fe357dc0b0e8ef7a44b4abc5489fbccba3a78780f3872c277f62bf3\"")
buildConfigField("String", "SVR2_MRENCLAVE", "\"2e8cefe6e3f389d8426adb24e9b7fb7adf10902c96f06f7bbcee36277711ed91\"") buildConfigField("String", "SVR2_MRENCLAVE_LEGACY", "\"2e8cefe6e3f389d8426adb24e9b7fb7adf10902c96f06f7bbcee36277711ed91\"")
buildConfigField("String", "SVR2_MRENCLAVE", "\"a75542d82da9f6914a1e31f8a7407053b99cc99a0e7291d8fbd394253e19b036\"")
buildConfigField("String", "UNIDENTIFIED_SENDER_TRUST_ROOT", "\"BbqY1DzohE4NUZoVF+L18oUPrK3kILllLEJh2UnPSsEx\"") buildConfigField("String", "UNIDENTIFIED_SENDER_TRUST_ROOT", "\"BbqY1DzohE4NUZoVF+L18oUPrK3kILllLEJh2UnPSsEx\"")
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", "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", "GENERIC_SERVER_PUBLIC_PARAMS", "\"AHILOIrFPXX9laLbalbA9+L1CXpSbM/bTJXZGZiuyK1JaI6dK5FHHWL6tWxmHKYAZTSYmElmJ5z2A5YcirjO/yfoemE03FItyaf8W1fE4p14hzb5qnrmfXUSiAIVrhaXVwIwSzH6RL/+EO8jFIjJ/YfExfJ8aBl48CKHgu1+A6kWynhttonvWWx6h7924mIzW0Czj2ROuh4LwQyZypex4GuOPW8sgIT21KNZaafgg+KbV7XM1x1tF3XA17B4uGUaDbDw2O+nR1+U5p6qHPzmJ7ggFjSN6Utu+35dS1sS0P9N\"")
@@ -411,6 +419,18 @@ android {
buildConfigField("String", "STRIPE_PUBLISHABLE_KEY", "\"pk_test_sngOd8FnXNkpce9nPXawKrJD00kIDngZkD\"") buildConfigField("String", "STRIPE_PUBLISHABLE_KEY", "\"pk_test_sngOd8FnXNkpce9nPXawKrJD00kIDngZkD\"")
buildConfigField("boolean", "MESSAGE_BACKUP_RESTORE_ENABLED", "true") buildConfigField("boolean", "MESSAGE_BACKUP_RESTORE_ENABLED", "true")
} }
create("backup") {
initWith(getByName("staging"))
dimension = "environment"
applicationIdSuffix = ".backup"
buildConfigField("boolean", "MANAGES_APP_UPDATES", "true")
buildConfigField("String", "BUILD_ENVIRONMENT_TYPE", "\"Backup\"")
buildConfigField("boolean", "MESSAGE_BACKUP_RESTORE_ENABLED", "true")
}
} }
lint { lint {
@@ -483,6 +503,7 @@ dependencies {
implementation(project(":device-transfer")) implementation(project(":device-transfer"))
implementation(project(":image-editor")) implementation(project(":image-editor"))
implementation(project(":donations")) implementation(project(":donations"))
implementation(project(":debuglogs-viewer"))
implementation(project(":contacts")) implementation(project(":contacts"))
implementation(project(":qr")) implementation(project(":qr"))
implementation(project(":sticky-header-grid")) implementation(project(":sticky-header-grid"))
@@ -540,6 +561,7 @@ dependencies {
} }
implementation(libs.google.play.services.maps) implementation(libs.google.play.services.maps)
implementation(libs.google.play.services.auth) implementation(libs.google.play.services.auth)
implementation(libs.google.signin)
implementation(libs.bundles.media3) implementation(libs.bundles.media3)
implementation(libs.conscrypt.android) implementation(libs.conscrypt.android)
implementation(libs.signal.aesgcmprovider) implementation(libs.signal.aesgcmprovider)
@@ -583,6 +605,8 @@ dependencies {
implementation(libs.rxjava3.rxandroid) implementation(libs.rxjava3.rxandroid)
implementation(libs.rxjava3.rxkotlin) implementation(libs.rxjava3.rxkotlin)
implementation(libs.rxdogtag) implementation(libs.rxdogtag)
implementation(libs.androidx.credentials)
implementation(libs.androidx.credentials.compat)
"playImplementation"(project(":billing")) "playImplementation"(project(":billing"))
"nightlyImplementation"(project(":billing")) "nightlyImplementation"(project(":billing"))
@@ -714,13 +738,18 @@ fun getMapsKey(): String {
} }
fun Project.languageList(): List<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") } return fileTree("src/main/res") { include("**/strings.xml") }
.map { stringFile -> stringFile.parentFile.name } .map { stringFile -> stringFile.parentFile.name }
.map { valuesFolderName -> valuesFolderName.replace("values-", "") } .map { valuesFolderName -> valuesFolderName.replace("values-", "") }
.filter { valuesFolderName -> valuesFolderName != "values" } .filter { valuesFolderName -> valuesFolderName != "values" }
.map { languageCode -> languageCode.replace("-r", "_") } .map { languageCode -> languageCode.replace("-r", "_") }
.distinct() .distinct()
.sorted() + "en" .sorted() + updatedLanguageCodes + "en"
} }
fun String.capitalize(): String { fun String.capitalize(): String {
+3
View File
@@ -44,4 +44,7 @@
<issue id="OptionalUsedAsFieldOrParameterType" severity="ignore" /> <issue id="OptionalUsedAsFieldOrParameterType" severity="ignore" />
<issue id="SameParameterValue" severity="ignore" /> <issue id="SameParameterValue" severity="ignore" />
<!-- Disables check for digital asset linking in manifest. It's not needed, since we are not using CredentialManager for passkey support. -->
<issue id="CredManMissingDal" severity="ignore" />
</lint> </lint>

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