chore(audio): diagnostic logs for silent playback on beta#359
Merged
Conversation
…unts MUDProvider swaps its internal component type when setupPromise resolves (MUDContext.Provider → MUDProviderInner), which unmounts the entire SoundProvider subtree. The previous ref-based Howl cache was destroyed mid-load, producing "Decoding audio data failed" on the first Howl and leaving the second mount's Howl in a silent state even though Howler reported playback. Moving the cache, activeTrack, and missingZoneWarned set to module scope means the second mount sees the Howl already playing and no-ops via the keyEq early return. Also strips the diagnostic console.logs now that the root cause is identified, and adds __resetSoundForTests so the test suite can reset module state between runs. All 23 SoundContext tests pass against the new implementation. Co-Authored-By: Claude Opus 4.6 (1M context) <[email protected]>
…tion Module-scope cache fix shipped but audio is still silent on beta. Adding targeted logs to capture: - mount counter + module state at each mount (catches triple-mount edge cases) - keyEq no-op vs fresh-create branch of the playback effect - Howl onload / onloaderror / onplay / onplayerror callbacks - post-play snapshots at +500ms and +3s (playing?, volume?, ctxState?, Howler._muted?) - unlock gesture ctx resume with resolved state All 23 tests still pass; mock extended with Howler._muted and Howler.volume(). Co-Authored-By: Claude Opus 4.6 (1M context) <[email protected]>
|
The latest updates on your projects. Learn more about Vercel for GitHub.
1 Skipped Deployment
|
# Conflicts: # packages/client/src/contexts/SoundContext.tsx
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Module-scope Howl cache (#358) deployed cleanly but beta audio is still silent. Re-adding targeted diagnostic logs so the next hard-refresh captures enough to pinpoint where the chain breaks.
What the logs capture
playing(),volume(),ctxState,Howler._muted,Howler.volume()The post-play snapshots are the key new signal — they tell us whether Howler thinks the Howl is playing at audible volume several seconds after play() was called. If
playing=true, vol=0.25, ctxState='running'but user hears nothing, the issue is below Howler (OS routing, browser tab muted, etc.).Test plan
🤖 Generated with Claude Code