Three first-visit bugs caught by a new Playwright suite (5 tests, real Chrome, demo stack):
Dashboard entrance oomph was always silent — the login→dashboard route change closes the AudioContext (stopAllAudio) and playDashboardLoadOomph only fetched the dead context; it now recreates one on the login click's sticky activation.
Direct /login load hijacked into the splash — App.vue read route.path before the router resolved the initial navigation, so deep-route boots looked like root boots; the splash decision now reads window.location.pathname.
Replayed intros ran mute + intro shortcut exits skipped the finale — enableCinematicSounds override, archy_onboarding_finale armed on both exits.
Also from this branch (efd1ae41): splash always honors App's decision; intro video re-encoded 3x lighter with detached
Three first-visit bugs caught by a new Playwright suite (5 tests, real Chrome, demo stack):
- **Dashboard entrance oomph was always silent** — the login→dashboard route change closes the AudioContext (stopAllAudio) and playDashboardLoadOomph only fetched the dead context; it now recreates one on the login click's sticky activation.
- **Direct /login load hijacked into the splash** — App.vue read route.path before the router resolved the initial navigation, so deep-route boots looked like root boots; the splash decision now reads window.location.pathname.
- **Replayed intros ran mute + intro shortcut exits skipped the finale** — enableCinematicSounds override, archy_onboarding_finale armed on both exits.
Also from this branch (efd1ae41): splash always honors App's decision; intro video re-encoded 3x lighter with detached <video> warm-up.
Verified: 5/5 e2e, 673/673 unit, vue-tsc clean.
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Three first-visit-experience bugs, all caught by the new e2e suite
(e2e/intro-experience.spec.ts — 5 tests against the demo stack on real
Chrome, instrumenting HTMLMediaElement/WebAudio/MutationObserver since
headless can't hear or see the cinematic):
- playDashboardLoadOomph was always silent: the login→dashboard route
change closes the AudioContext (stopAllAudio), and the oomph only
fetched the dead context. It now recreates one, riding the login
click's sticky user activation.
- A direct /login load in the demo hijacked into the splash: App.vue
read route.path before the router resolved the initial navigation, so
every deep-route boot looked like a root boot. The splash decision now
reads window.location.pathname.
- Replayed intros ran mute (enableCinematicSounds override) and the
intro's shortcut exits skipped the dashboard finale (flag now armed on
both demo and login exits).
Verified: 5/5 e2e, 673/673 unit, vue-tsc clean.
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
lfg2025
merged commit 48d5fd0045 into main2026-07-15 14:29:24 +00:00
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
Three first-visit bugs caught by a new Playwright suite (5 tests, real Chrome, demo stack):
Also from this branch (
efd1ae41): splash always honors App's decision; intro video re-encoded 3x lighter with detachedVerified: 5/5 e2e, 673/673 unit, vue-tsc clean.
🤖 Generated with Claude Code