A bed that finishes loading wakes the context it was started for
Oliver's hunch was right: the tap unlocks audio and starts a 768 KB fetch, but the source starts seconds later inside a promise with no gesture near it. iOS suspends an idle context in that gap, and a source started into a suspended context is silent for good — nothing on the splash ever asks for audio again. Resume once more when the buffer lands, which the first tap has already authorised, and again when the app comes back to the foreground. Intermittent because it only bites when the decode outlasts the browser's patience: a phone, a cold cache, a slow radio. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
1 parent
3b639e743b
commit
1daa3e9d6a
4 files changed
+35
-4
No files matched your search
+1
-1
@@ -221,7 +221,7 @@ function farB(z) {
|
||||
// Asset cache-buster — bump with main.js?v=N (see the img.src note below). EXPORTED because the
|
||||
// menu screens hang <img> tags on the same files, and two copies of this number is one copy too
|
||||
// many: the one that does not get bumped is the one that serves a cached 404.
|
||||
export const SPRV = 131;
|
||||
export const SPRV = 132;
|
||||
// The boot bar in main.js watches this. Nothing here CHANGES when things load — every sprite was
|
||||
// already requested at import — it just makes the wait visible and holds the menu back until the
|
||||
// last sheet has landed. See the onerror note below for the other half of "sometimes missing".
|
||||
|
||||
Reference in new issue
Block a user