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.
18 lines
893 B
Plaintext
18 lines
893 B
Plaintext
/* ── the first run stamps when it goes away, whatever closed it ────
|
|
The foot's button calls finishSetup itself; the scrim, the back
|
|
gesture and the Soulseek row (which navigates, and navigating clears
|
|
the half sheet) do not — and a tour that ran is a tour that ran.
|
|
finishSetup writes only in boot mode and only once, so all four
|
|
doors land in the same place, and a PREVIEW opened from You writes
|
|
nothing at all.
|
|
|
|
untrack is not optional here: finishSetup calls closeHalf, which
|
|
reads nav.half, which is exactly what this effect tracks. Read your
|
|
own write in a Svelte 5 effect and the subtree dies painted. */
|
|
let setupWasUp = false;
|
|
$effect(() => {
|
|
const up = nav.half?.kind === "setup";
|
|
if (setupWasUp && !up) untrack(() => { void finishSetup(); });
|
|
setupWasUp = up;
|
|
});
|