calcom/cal.diy · error · Error
Something went wrong! Unable to checkIfRoomNameMatchesInReco
Error message
Something went wrong! Unable to checkIfRoomNameMatchesInRecording. ${err} What it means
Thrown by checkIfRoomNameMatchesInRecording. It fetches a single recording via GET /recordings/<recordingId>, parses with recordingItemSchema, and compares room_name. Unlike its siblings, this catch DOES interpolate the original error (${err}), so the real cause is visible in the message string.
Source
Thrown at packages/app-store/dailyvideo/lib/VideoApiAdapter.ts:504
)?.[0]?.id;
if (!transcriptJobId) return [];
const accessLinkRes = await getBatchProcessorJobAccessLink(transcriptJobId);
return accessLinkRes.transcription;
} catch (err) {
console.log("err", err);
throw new Error("Something went wrong! can't get transcripts");
}
},
checkIfRoomNameMatchesInRecording: async (roomName: string, recordingId: string): Promise<boolean> => {
try {
const recording = await fetcher(`/recordings/${recordingId}`).then(recordingItemSchema.parse);
return recording.room_name === roomName;
} catch (err) {
console.error("err", err);
throw new Error(`Something went wrong! Unable to checkIfRoomNameMatchesInRecording. ${err}`);
}
},
getMeetingInformation: async (roomName: string): Promise<TGetMeetingInformationResponsesSchema> => {
try {
const res = await fetcher(`/meetings?room=${encodeURIComponent(roomName)}`).then(
getMeetingInformationResponseSchema.parse
);
return res;
} catch (err) {
console.error("err", err);
throw new Error("Something went wrong! Unable to get meeting information");
}
},
};
};
export default DailyVideoApiAdapter;
View on GitHub (pinned to 176037d0af)
Solutions
- Read the interpolated ${err} portion of the message for the precise cause.
- Confirm the recordingId is current (re-fetch recordings for the room).
- Verify Daily credentials.
- Update recordingItemSchema if the Daily recording shape changed.
- Treat a 404 as 'no match' (return false) instead of throwing, if business logic allows.
Example fix
// before
const recording = await fetcher(`/recordings/${recordingId}`).then(recordingItemSchema.parse);
return recording.room_name === roomName;
// after - treat missing recording as no-match
const resp = await fetcher(`/recordings/${recordingId}`);
if (!resp.ok) {
if (resp.status === 404) return false;
throw new Error(`Daily recordings lookup failed (${resp.status}) for ${recordingId}`);
}
const recording = recordingItemSchema.parse(await resp.json());
return recording.room_name === roomName; Defensive patterns
Strategy: try-catch
Validate before calling
if (!recordingId || !roomName) throw new TypeError("recordingId and roomName required"); Type guard
const isRecordingItem = (v: unknown): v is { room_name: string } =>
typeof v === "object" && v !== null && typeof (v as any).room_name === "string"; Try / catch
try {
const matches = await adapter.checkIfRoomNameMatchesInRecording(roomName, recordingId);
} catch (err) {
// err.message interpolates the original cause - read it
if (/404/.test(err.message)) return false; // recording gone -> no match
throw err;
} Prevention
- Read the interpolated ${err} suffix for the precise HTTP status.
- Treat a 404 as 'no match' instead of an exception.
- Cache recording lookups to avoid repeated 404s on deleted recordings.
When it happens
Trigger: GET /recordings/<recordingId> returns 404 (recording deleted), Daily returns non-2xx, recordingItemSchema.parse fails on a shape change, or the recordingId is malformed.
Common situations: Recording expired or deleted on Daily side; recordingId passed from a stale booking reference; Daily API key revoked; recording payload schema drift.
Related errors
- Booking with uid=${bookingUid} was not found in the database
- Something went wrong! Unable to get transcription access lin
- Something went wrong! Unable to submit batch processor job
- Something went wrong! Unable to get meeting information
- ApiKeysService -Cannot set both apiKeyDaysValid and apiKeyNe
AI-assisted analysis of calcom/cal.diy@176037d0af (2026-08-12).
Data as JSON: /api/errors/c520b9774112cfb5.
Report an issue: GitHub.