Reject empty recording downloads and store WebM with correct MIME.
Deploy Ladill Meet / deploy (push) Successful in 31s
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:
@@ -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() {
|
||||
|
||||
Reference in New Issue
Block a user