fix(intro): splash always honors App's decision + video streams 3x lighter
- SplashScreen no longer re-checks neode_intro_seen itself: it silently skipped the whole logo-tap/typing sequence for any browser that had seen the intro before, even when App.vue explicitly requested it (demo fresh visits, Replay Intro). App.vue is the single decision point. - Intro video re-encoded 12.7MB/12.6Mbps → 4.3MB/4.2Mbps (1920x1080 CRF23 faststart, muted track dropped) — visually identical on this illustrated content; cache-buster bumped to v=8. - Video is <link rel=preload>ed the moment the splash is scheduled (the <video> element only mounts ~20s in, so cold caches used to start the download mid-sequence and stutter). - nginx demo cache regex now covers mp4/webm/mp3/webp/woff2 so repeat visits play from browser cache. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
@@ -187,8 +187,9 @@ http {
|
||||
try_files $uri $uri/ /index.html;
|
||||
}
|
||||
|
||||
# Cache static assets
|
||||
location ~* \.(js|css|png|jpg|jpeg|gif|ico|svg)$ {
|
||||
# Cache static assets (media too — the intro video/audio are versioned
|
||||
# with ?v=N query busters, so immutable is safe)
|
||||
location ~* \.(js|css|png|jpg|jpeg|gif|ico|svg|webp|mp4|webm|mp3|woff2?)$ {
|
||||
expires 1y;
|
||||
add_header Cache-Control "public, immutable";
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user