Conference Room island: TODO view stubs + hardcoded LiveKit fallback + N+1 list + ConfirmDialog #110

Open
opened 2026-04-21 15:23:58 +00:00 by zaelgohary · 0 comments
Member

Audit of the Conference Room island against development head.

HIGH

  • services/room_service.rs:30-34 — if a room's livekit_server_url is None, the service falls back to wss://livekit.example.com (placeholder domain). Production rooms silently fail to connect to a non-resolvable host.

MED

  • island.rs:133-140RoomView::NewRoom and RoomView::RoomDetail both rsx! { // TODO: ... RoomsListView {} } — routing to either view silently falls back to the list. Confirmed still present.
  • services/room_service.rs:107-121list_rooms does list_sids → for sid in sids { get(&sid).await }; N+1 on every mount.
  • views/rooms_list.rs:118 — delete-room action fires directly with no ConfirmDialog.

LOW

  • island.rs view parse::<RoomView>().unwrap() calls at lines 51 and 75 are safe — FromStr for RoomView is Infallible, so the unwrap cannot panic. Keep as-is (false-positive finding, flagged here so we don't re-audit).

Fix scope: implement NewRoomView + RoomDetailView (or surface an explicit error instead of silent fallback), drop the wss://livekit.example.com fallback in favour of an explicit error, parallel list_rooms, ConfirmDialog on room delete.

Audit of the Conference Room island against `development` head. **HIGH** - `services/room_service.rs:30-34` — if a room's `livekit_server_url` is `None`, the service falls back to `wss://livekit.example.com` (placeholder domain). Production rooms silently fail to connect to a non-resolvable host. **MED** - `island.rs:133-140` — `RoomView::NewRoom` and `RoomView::RoomDetail` both `rsx! { // TODO: ... RoomsListView {} }` — routing to either view silently falls back to the list. Confirmed still present. - `services/room_service.rs:107-121` — `list_rooms` does `list_sids → for sid in sids { get(&sid).await }`; N+1 on every mount. - `views/rooms_list.rs:118` — delete-room action fires directly with no ConfirmDialog. **LOW** - `island.rs` view `parse::<RoomView>().unwrap()` calls at lines 51 and 75 are safe — `FromStr for RoomView` is `Infallible`, so the unwrap cannot panic. Keep as-is (false-positive finding, flagged here so we don't re-audit). Fix scope: implement NewRoomView + RoomDetailView (or surface an explicit error instead of silent fallback), drop the `wss://livekit.example.com` fallback in favour of an explicit error, parallel `list_rooms`, ConfirmDialog on room delete.
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
lhumina_code/hero_archipelagos#110
No description provided.