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:
parent
1e34c3c67a
commit
b5f419486a
3 changed files with 12 additions and 6 deletions
|
|
@ -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) {
|
||||
|
|
|
|||
|
|
@ -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>
|
||||
|
||||
|
|
|
|||
3
tasks.md
3
tasks.md
|
|
@ -301,8 +301,7 @@ med spesifikasjon for det som trenger en dedikert sesjon.
|
|||
- [x] 23.4 Valider fase 9–10 (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 13–14 (traits + publisering): trait-validering, pakkevelger, Tera-templates, HTML-rendering, forside, slot-håndtering, redaksjonell flyt, planlagt publisering, A/B-testing.
|
||||
- [~] 23.7 Valider fase 15–16 (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 15–16 (admin + lydmixer): systemvarsler, graceful shutdown, jobbkø-oversikt, ressursstyring, serverhelse, Web Audio mixer, delt kontroll, sound pads, EQ, stemmeeffekter.
|
||||
- [ ] 23.8 Valider fase 17–18 (lydstudio-utbedring + AI-verktøy): responsivt layout, FFmpeg-validering, fade/silence, AI-presets, direction-logikk, drag-and-drop integrasjon.
|
||||
- [ ] 23.9 Valider fase 19–20 (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.
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue