5ca55bf7c1
Records one finalized WebM instead of 250ms fragments. Waits for final audio data before releasing the microphone. Handles startup/finalization failures cleanly. Bumped frontend cache version to .8. Verified JavaScript syntax, JSON, browser rendering, and no console errors. Existing uploaded clips remain unchanged. A real microphone test wasn’t available in the browser runner. References: MDN MediaRecorder, Chromium WebM metadata issue.