Repository navigation
fix: harden Android capture, memory and background operations - #34
Merged
Merged
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
A burst of notifications, image allocation failure, corrupt preferences or a stalled HTTP request could exhaust memory, crash a background callback, or leave the UI loading indefinitely. This change contains those failures and keeps queued data available for retry.
Dispatchers.IOboundaries for update operations and cancellation checks during downloads; format diagnostic events/stack traces on the diagnostics worker. Guard startup/update callbacks, check preference writes, tolerate malformed individual fields, and offer Retry when initial settings loading fails.Notification backlog: 32 waiting tasks; SMS backlog: 16. HTTP deadline: 2 minutes. Stored metadata is limited to 8 MiB and the available-memory budget; streamed image files are not subject to that metadata limit. Documented in both testing guides.
Validation
The OOM tests inject allocation errors rather than exhausting the emulator heap. Debug emulator results do not replace signed-release/device acceptance testing.
APK artifacts
Built from commit
c9c4c875by CI run #80.Artifacts expire after 14 days. Neither APK uses the Message487 release key.