Commit Graph

17198 Commits

Author SHA1 Message Date
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 v7.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 v7.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