- 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>
20 lines
602 B
JavaScript
20 lines
602 B
JavaScript
// 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`);
|
|
}
|