Everything written this session that has not been through the device: rounds 43 to 48 (each patch adversarially verified, 43's transient-notice expectation fixed), a partial round 49, the pipeline scripts, the Android Auto design and the icon comparison mock. Also the two harness changes that were never A/B'd — adaptive waits, which may only shorten a declared wait and never lengthen it, and a ship that runs the mock walk and the deploy at the same time. The A/B and its 255-step baseline are in handoff/tools; main stays at what the phone has actually walked.
30 lines
1.7 KiB
Plaintext
30 lines
1.7 KiB
Plaintext
android: what the phone says when things go wrong
|
|
|
|
Fifty-nine places put a raw Rust string into a field a person reads, and
|
|
the red toast drew it verbatim — a phone in a lift showed "could not reach
|
|
server: io: failed to lookup address information" under the password box.
|
|
One translator, src/mobile/trouble.js, called where an error is DRAWN
|
|
rather than where it is caught: the stores keep what Rust said and only
|
|
the sentence on screen is ours, so every sink is fixed at once. Five
|
|
screens that drew a failed read as an empty answer stop lying — Tracks no
|
|
longer reports a broken database as an empty library, a playlist that
|
|
could not be read is not an empty playlist, the lyrics face says a lookup
|
|
failed instead of "no lyrics" and finally carries the ⋯ that reaches Paste
|
|
lyrics, Gaps says why it could not reach the catalogue, and Search signed
|
|
out says so where it used to render nothing at all. The room list, which
|
|
is fire-and-forget over the wire, gets a twelve-second end and a Try
|
|
again.
|
|
|
|
rescan_library ran prune_missing() first, which deletes every track row
|
|
whose file does not exist — so one tap on You → Rescan library with the
|
|
folder unreachable emptied the whole index and returned Ok(()). It now
|
|
makes the root if it is merely not there yet and refuses if it cannot be
|
|
read, and You draws the path with what to do about it.
|
|
|
|
The mock grew a weather system so the walk can drive all of this: fail,
|
|
answer, offline and clear, checked before dispatch so a plugin command
|
|
arms like any other. Nine mock steps and one on the phone — the first
|
|
steps in thirty rounds that ever made a command reject or saw the client
|
|
signed out — and the last of them puts the weather away and leaves the app
|
|
as it found it.
|