feat: display relay provisioning errors in UI #39

Merged
hodlbod merged 1 commits from userAdityaa/caravel:display-errors into master 2026-04-20 18:08:47 +00:00
Contributor

Problem
When Caravel fails to provision a relay in Zooid, the error is stored in the sync_error column of the relay table (set by fail_relay_sync, cleared by complete_relay_sync). However, this field was never surfaced in the UI. As a result, users had no indication of provisioning failures—the relay detail page still appeared normal, and the status badge only showed active or inactive.

Solution
Expose sync_error in the UI at two points:

  • Relay List (RelayListItem.tsx):
    If sync_error is present, show it as a red badge (truncated with max-w-56, full text on hover) instead of the status label.

  • Relay Detail (RelayDetailCard.tsx):
    If sync_error is present, display a red alert banner above the Policy section with a “Provisioning error” label and the full message in monospace.

Both indicators render only when sync_error is non-empty and disappear automatically once a successful sync clears the field.
Screenshot 2026-04-20 at 11.29.19 PM.png
Screenshot 2026-04-20 at 11.29.00 PM.png

closes #32

**Problem** When Caravel fails to provision a relay in Zooid, the error is stored in the `sync_error` column of the relay table (set by `fail_relay_sync`, cleared by `complete_relay_sync`). However, this field was never surfaced in the UI. As a result, users had no indication of provisioning failures—the relay detail page still appeared normal, and the status badge only showed `active` or `inactive`. **Solution** Expose `sync_error` in the UI at two points: * **Relay List (RelayListItem.tsx):** If `sync_error` is present, show it as a red badge (truncated with `max-w-56`, full text on hover) instead of the status label. * **Relay Detail (RelayDetailCard.tsx):** If `sync_error` is present, display a red alert banner above the Policy section with a “Provisioning error” label and the full message in monospace. Both indicators render only when `sync_error` is non-empty and disappear automatically once a successful sync clears the field. <img width="1439" alt="Screenshot 2026-04-20 at 11.29.19 PM.png" src="attachments/5959c8f3-5568-4b55-af35-48804fc87ebf"> <img width="1439" alt="Screenshot 2026-04-20 at 11.29.00 PM.png" src="attachments/244291e2-8604-40fd-90bd-be0913988721"> closes #32
hodlbod added 1 commit 2026-04-20 18:08:40 +00:00
hodlbod force-pushed display-errors from 0ec5a5b23d to 41602e21c2 2026-04-20 18:08:40 +00:00 Compare
hodlbod merged commit 08c9a2920b into master 2026-04-20 18:08:47 +00:00
Sign in to join this conversation.
No Reviewers
No Label
2 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: coracle/caravel#39