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
719 B
Plaintext
14 lines
719 B
Plaintext
const subs = [];
|
|
const pending = [];
|
|
/* Tauri's `listen` is an invoke like any other, so eight of them one
|
|
behind the other is eight bridge round trips each waiting on the one
|
|
before. They never depended on one another: all eight go out at once
|
|
and the wait happens once, at the end. The ordering that does matter
|
|
is kept — bindSlsk still does not return until every handler is
|
|
registered, so connectStored() cannot let a fast `connected` land
|
|
with nobody listening. */
|
|
const on = (name, fn) => {
|
|
pending.push(listen(name, (ev) => fn(ev.payload)).then((u) => { subs.push(u); }, () => { /* not a phone */ }));
|
|
};
|
|
on("soulseek:state", (ev) => {
|