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.
14 lines
866 B
Plaintext
14 lines
866 B
Plaintext
<!-- the announcement: one node, always here, so a change of its words
|
|
is what gets read out. The toasts below stay where they were and
|
|
say nothing on their own — two announcers say everything twice -->
|
|
<div class="sr-live" data-live aria-live="polite" aria-atomic="true">{announce}</div>
|
|
{#if player.error || lib.error}
|
|
<div class="toast" onclick={() => { player.error = ""; lib.error = ""; }} role="button" tabindex="0" onkeydown={() => {}} aria-label="Dismiss this message">{player.error || lib.error}</div>
|
|
{/if}
|
|
{#if notice.text}
|
|
<div class="toast notice">
|
|
<span class="nt" aria-hidden="true">{notice.text}</span>
|
|
{#if notice.action}<button class="na" onclick={() => { const f = notice.action.fn; clearNote(); f?.(); }}>{notice.action.label}</button>{/if}
|
|
</div>
|
|
{/if}
|