Tre endringer som sammen gir brukeren innsyn i FFmpeg-feil:
1. Backend: Nytt GET /query/job_status-endepunkt i queries.rs.
Frontenden pollet allerede denne URLen, men endepunktet manglet.
Returnerer status, result og error_msg fra job_queue.
2. RenderDialog: Ny error-tilstand med formatFfmpegError() som
trekker ut lesbar feilmelding fra FFmpeg stderr-dump. Viser
kort oppsummering + ekspanderbar full feilmelding via <details>.
3. Studio-side: Sender renderError til RenderDialog som errorMessage.
Toast-varselet vises kun når dialogen er lukket (unngår duplisering).
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Tre forbedringer i studio-siden:
1. Interval/timeout-opprydding ved navigering: Polling-interval og
timeout lagres i komponent-variabler og ryddes opp via $effect
cleanup når komponenten demonteres. Forhindrer memory leaks og
ghost-requests etter navigering bort fra studio-siden.
2. Feilmelding etter N mislykkede polling-forsøk: Etter 5 feilede
statussjekker (nettverksfeil eller HTTP-feil) vises en
feilmelding til brukeren i stedet for stille ignorering.
Timeout-feil og jobb-feil vises også i UI.
3. Metadata JSON.parse i try/catch: Hindrer at ugyldig metadata-JSON
krasjer hele studio-siden. Logger feilen og returnerer null.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Lydstudioet var kun desktop-optimalisert med fast sidebar (w-72).
Nå responsivt med to moduser:
- Desktop (lg+): Sidebar med verktøypanel til høyre, som før
- Mobil/tablet (< lg): Waveform fyller full bredde, verktøypanel
tilgjengelig via flytende knapp som åpner bottom sheet (modal).
Operation-badge på knappen viser antall aktive operasjoner.
Header: Kompaktere padding på mobil, tittel truncates, audio-info
skjules på små skjermer. min-w-0 på hovedområdet hindrer overflow.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>