hooks.recentsDirty = refreshRecents; bindMedia(); /* the first run. The config is read at boot because the notes on the screens that are empty BECAUSE of it read this store — and the tour itself is offered only once the library and the saved account have both answered. Asked any earlier they are `[]` and `""` on every phone in existence, Kyle's included, and the sheet that must never open on his would open on his. */ const configRead = loadSetup(); const libRead = loadLibrary(); /* the network: subscribe first, then the saved account signs in on its own */ const netRead = bindSlsk().then(() => connectStored()).catch(() => {}); Promise.all([configRead, libRead, netRead]).then(() => maybeOpenFirstRun()).catch(() => {});