Valider fase 15–16: fiks minnelekkasje, skrivefeil + marker ferdig

- SoundPadGrid: spor setTimeout-IDer og rydd opp ved komponent-destroy
  (unngår oppdatering av tilstand etter unmount)
- Admin usage: fiks skrivefeil "1 ar" → "1 år"
- tasks.md: marker 23.7 som fullført
This commit is contained in:
vegard 2026-03-18 15:42:34 +00:00
parent 1e34c3c67a
commit b5f419486a
3 changed files with 12 additions and 6 deletions

View file

@ -40,6 +40,7 @@
let loadingPads = $state(new Set<number>());
let playingPads = $state(new Set<number>());
let configMode = $state(false);
let playingTimeouts: Map<number, ReturnType<typeof setTimeout>> = new Map();
// Edit state for config mode
let editLabel = $state('');
@ -78,6 +79,9 @@
return () => {
unloadAllPads();
// Clear visual feedback timeouts
for (const t of playingTimeouts.values()) clearTimeout(t);
playingTimeouts.clear();
};
});
@ -122,13 +126,16 @@
ensureAudioContext();
playPad(padId);
// Visual feedback
// Visual feedback — track timeout for cleanup on destroy
playingPads = new Set([...playingPads, index]);
setTimeout(() => {
const prev = playingTimeouts.get(index);
if (prev) clearTimeout(prev);
playingTimeouts.set(index, setTimeout(() => {
const next = new Set(playingPads);
next.delete(index);
playingPads = next;
}, 300);
playingTimeouts.delete(index);
}, 300));
}
async function handlePadPress(index: number) {

View file

@ -176,7 +176,7 @@
{ value: 7, label: '7 dager' },
{ value: 30, label: '30 dager' },
{ value: 90, label: '90 dager' },
{ value: 365, label: '1 ar' }
{ value: 365, label: '1 år' }
];
</script>

View file

@ -301,8 +301,7 @@ med spesifikasjon for det som trenger en dedikert sesjon.
- [x] 23.4 Valider fase 910 (visninger + AI): kanban drag-and-drop, kalender, dagbok, kunnskapsgraf, LiteLLM-ruting, AI-foreslåtte edges, oppsummering, TTS.
- [x] 23.5 Valider fase 11 (produksjon): LiveKit-oppsett, sanntidslyd, pruning-logikk, podcast-RSS.
- [x] 23.6 Valider fase 1314 (traits + publisering): trait-validering, pakkevelger, Tera-templates, HTML-rendering, forside, slot-håndtering, redaksjonell flyt, planlagt publisering, A/B-testing.
- [~] 23.7 Valider fase 1516 (admin + lydmixer): systemvarsler, graceful shutdown, jobbkø-oversikt, ressursstyring, serverhelse, Web Audio mixer, delt kontroll, sound pads, EQ, stemmeeffekter.
> Påbegynt: 2026-03-18T15:30
- [x] 23.7 Valider fase 1516 (admin + lydmixer): systemvarsler, graceful shutdown, jobbkø-oversikt, ressursstyring, serverhelse, Web Audio mixer, delt kontroll, sound pads, EQ, stemmeeffekter.
- [ ] 23.8 Valider fase 1718 (lydstudio-utbedring + AI-verktøy): responsivt layout, FFmpeg-validering, fade/silence, AI-presets, direction-logikk, drag-and-drop integrasjon.
- [ ] 23.9 Valider fase 1920 (arbeidsflaten + universell overføring): canvas pan/zoom, BlockShell, layout-persistering, snarveier, transfer service, alle panelreworks (chat, kanban, kalender, editor, studio).
- [ ] 23.10 Valider fase 21 (CLI-verktøy): kjør hvert synops-*-verktøy, verifiser --help, --payload-json, output-format, feilhåndtering, synops-common integrasjon.