Frontend: Schedule rows crash on null recorder_id (orphaned schedule) #117

Closed
opened 2026-05-26 18:20:52 -04:00 by zgaetano · 1 comment
Owner

Fixed in 04ce096. Schedule status pills and list rows now guard s.recorder_id before calling .slice(0, 8) and fall back to "unassigned".

Fixed in 04ce096. Schedule status pills and list rows now guard `s.recorder_id` before calling `.slice(0, 8)` and fall back to `"unassigned"`.
Author
Owner

Fix Plan — #117 Schedule rows crash on null recorder_id

Root cause: screens-ingest.jsx:1026,1040,1569 call s.recorder_id.slice(0,8) with no null guard. Deleted recorder + orphaned schedule → null.slice → TypeError → white screen.

Fix (frontend):

// before:
{s.recorder_id.slice(0, 8)}

// after:
{(s.recorder_id || "").slice(0, 8) || "—"}

Fix (DB): Add ON DELETE CASCADE to recorder_schedules.recorder_id.

Files: screens-ingest.jsx:1026,1040,1569, migration for FK cascade
Effort: ~30min
**Priority: P1 — crash fix

## Fix Plan — #117 Schedule rows crash on null recorder_id **Root cause:** `screens-ingest.jsx:1026,1040,1569` call `s.recorder_id.slice(0,8)` with no null guard. Deleted recorder + orphaned schedule → null.slice → TypeError → white screen. **Fix (frontend):** ```js // before: {s.recorder_id.slice(0, 8)} // after: {(s.recorder_id || "").slice(0, 8) || "—"} ``` **Fix (DB):** Add `ON DELETE CASCADE` to `recorder_schedules.recorder_id`. **Files:** `screens-ingest.jsx:1026,1040,1569`, migration for FK cascade **Effort:** ~30min **Priority: P1 — crash fix
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference: WildDragonLLC/dragonflight#117
No description provided.