mirror of
https://github.com/d4rken-org/capod.git
synced 2026-09-14 18:26:11 -04:00
The debug log header read the flavor's upgrade diagnostics unbounded. A wedged source (a stuck DataStore file lock, a billing store that never answers) left the recorder started but never committed, so the user asking for a log got nothing at exactly the moment the app was misbehaving. The read now runs under a deadline: a source that hangs or fails degrades to "unavailable" and the recording starts. Completion is tracked separately from the value, so a flavor that legitimately has nothing to report (FOSS) still logs no line at all instead of claiming a failure. Cancellation is unchanged: an outer scope death still rolls the uncommitted recorder back. The GPlay diagnostics' pro-history read gets the same bound its billing cache read already had.