fix: prevent notification close on skip and background audio stall

- playCurrent: set _trackChanging flag and update media session metadata
  before changing src, so the pause event fired by src-swap does not
  set playbackState='paused' and dismiss the Samsung cover screen notification
- Remove stalled->load() handler that silently paused audio with no recovery
- Error handler now retries regardless of paused state (load() causes paused)
- Add .catch() to audio.play() in playCurrent

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
HoneyandClaude Sonnet 4.6 committed 2026-05-03 20:23:51 +02:00
1 parent f2c77f975d
commit 89e169b70a
8 files changed
+632 -9

No files matched your search

+19
View File
@@ -0,0 +1,19 @@
// Run: node scripts/gen-icons.mjs
// Generates public/icon-192.png and public/icon-512.png from public/icon.svg
// Requires: npm install --save-dev sharp
import sharp from 'sharp';
import { readFileSync } from 'fs';
import { fileURLToPath } from 'url';
import { dirname, join } from 'path';
const root = join(dirname(fileURLToPath(import.meta.url)), '..');
const svg = readFileSync(join(root, 'public/icon.svg'));
for (const size of [192, 512]) {
await sharp(svg)
.resize(size, size)
.png()
.toFile(join(root, `public/icon-${size}.png`));
console.log(`icon-${size}.png created`);
}