Large backups still allocate the complete JSON string
The current serialization mechanism matches the OOM trace in issue #400.
Unofficial contributor analysis of seven related backup issues, centered on whether a focused fix for #400 would be welcome.
The detailed audit stays separate. These are the four findings that govern the proposed order.
The current serialization mechanism matches the OOM trace in issue #400.
The backup path ignores that preference, confirming the basis of #302 and the failed workaround in #463.
The code returns no URI, name, size, or destination and can suppress write errors.
A null input stream exits without throwing; device-bound paths are also merged without revalidation.
These links provide context; they are not proposed closures or bulk dispositions. Confidence describes the assessment evidence, not proof that behavior was reproduced.
Only the first step is the initial public ask. Later steps remain separate contributions pending maintainer direction and new collision checks.
Stream JSON without materializing the complete serialized string, surface write failures, and add a large-data regression test.
Initial proposal for #400Use Android Create Document, propose a real .json filename, and return the created URI.
Reject empty or incompatible input before mutation and preserve the current device’s storage destination.
Foundation for reproducing #319Test clean and populated storage, missing EPUBs, duplicate names, changed destinations, and revoked grants.
Keep mechanism claims provisional until reproducedOnly afterwards, decide cadence, persisted folder, retention, and notifications.
Treat #392 as a duplicate candidate of #183Open PR #489 already proposes deliberately minimal issue and pull-request templates in response to #210. This pilot does not replace, extend, or compete with that work.
There are no open backup or restore pull requests in the captured seven-PR set. Any implementation would recheck that immediately before work begins.
The existing #400 thread is the natural decision record. This page does not collect or persist approvals.
Would a small PR that replaces #400’s complete serialized-string allocation, makes write failures observable, and adds a large-data regression test be welcome?
A brief correction or direction in the existing issue is enough; no formal response template is needed.