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.
16 lines
768 B
Plaintext
16 lines
768 B
Plaintext
/* two subscriptions that never depended on one another. `listen` is
|
|
an invoke like any other, so one behind the other is two bridge
|
|
round trips at launch for nothing. */
|
|
await Promise.all([
|
|
listen("soulseek:library-changed", () => {
|
|
clearTimeout(timer);
|
|
timer = setTimeout(async () => {
|
|
try { lib.albums = await api.libraryAlbums(); } catch { /* keep */ }
|
|
await refreshRecents();
|
|
void refreshStats();
|
|
}, 600);
|
|
}),
|
|
/* a playlist mutation (the desktop's commands emit it) re-lists them */
|
|
listen("soulseek:playlists-changed", () => { void refreshPlaylists(); }),
|
|
]);
|