Reject empty recording downloads and store WebM with correct MIME.
Deploy Ladill Meet / deploy (push) Successful in 31s

Mark legacy zero-byte placeholders as failed, validate files on show/download, and surface upload errors in the meeting room.

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
isaacclad
2026-07-01 17:59:18 +00:00
co-authored by Cursor
parent 827d36ddc1
commit ceb9ca192e
7 changed files with 108 additions and 9 deletions
+9 -2
View File
@@ -800,7 +800,12 @@ function meetRoom() {
const recordingUuid = data.recording_uuid || this.activeRecordingUuid;
if (blob && recordingUuid) {
await this.uploadRecording(blob, recordingUuid);
const uploaded = await this.uploadRecording(blob, recordingUuid);
if (!uploaded) {
window.alert('Recording upload failed. Open Recordings and try again, or re-record the meeting.');
}
} else if (recordingUuid) {
window.alert('No recording was captured from this meeting. Start recording again while the meeting is live.');
}
this.activeRecordingUuid = null;
@@ -834,11 +839,13 @@ function meetRoom() {
const form = new FormData();
form.append('recording', blob, `${recordingUuid}.webm`);
await fetch(`/room/${this.config.sessionUuid}/recordings/${recordingUuid}/upload`, {
const res = await fetch(`/room/${this.config.sessionUuid}/recordings/${recordingUuid}/upload`, {
method: 'POST',
headers: { 'X-CSRF-TOKEN': this.config.csrf, Accept: 'application/json' },
body: form,
});
return res.ok;
},
async toggleLock() {