fix(android): a worker crash lands in the log instead of dying silent
The diagnostics page showed the status job "waiting" while its runs and the report-now kick died without a trace: any exception before the first log line was invisible, indistinguishable from a job that never starts. Every worker now wraps its run — a crash logs its type, message, and first frame; a cancellation logs as such and rethrows. The screen gains the report-now kick's own row (a one-time job's empty list is "never run", not an error) and the tap lands in the log, so the next stale-row mystery names its cause instead of hiding it.
This commit is contained in:
1 parent
7225dfddd3
commit
5e9952ac6d
7 files changed
+85
-16
No files matched your search
+4
-2
@@ -29,8 +29,10 @@ manages the device fleet the claw keeps.
|
||||
auto-detected system checks (battery optimization, background
|
||||
restriction, notifications) each with a jump into the exact settings
|
||||
page when the setting is wrong, a "report now" kick of the status
|
||||
worker, and the workers' in-memory flight recorder (a 200-line ring,
|
||||
newest first, copyable) where every run logs its outcome.
|
||||
worker (its one-time job has a row of its own, and every worker
|
||||
crash-lands in the log instead of dying silently), and the workers'
|
||||
in-memory flight recorder (a 200-line ring, newest first, copyable)
|
||||
where every run logs its outcome.
|
||||
Trade-off: the token is stored in plain DataStore rather than
|
||||
EncryptedSharedPreferences; `androidx.security:security-crypto` is an
|
||||
alpha-quality, unmaintained artifact, and the OS app sandbox already covers
|
||||
|
||||
Reference in new issue
Block a user