Skip to content

feat: resilient Pulse registration via NewWithRetry#4

Merged
davidfic merged 1 commit intomainfrom
feat/resilient-pulse-integration
Apr 16, 2026
Merged

feat: resilient Pulse registration via NewWithRetry#4
davidfic merged 1 commit intomainfrom
feat/resilient-pulse-integration

Conversation

@davidfic
Copy link
Copy Markdown
Contributor

Summary

Same change as pilot#4 — switches Prism's Pulse integration from `sdk.New()` to `sdk.NewWithRetry()`. Registration retries with exponential backoff (~2 min), then continues standalone if Pulse is unavailable. Pins pulse SDK to v0.2.0.

Test plan

  • CI green
  • Prism starts standalone when Pulse is unavailable
  • Prism registers with Pulse when available and syncs download clients within 30s

Switches from sdk.New() to sdk.NewWithRetry() which retries
registration with exponential backoff (~2 min). If Pulse is
unreachable after all retries, Prism continues in standalone mode
and download clients must be configured manually via the web UI.

The existing SyncDownloadClients() loop automatically picks up any
download-client services (like Haul) that register with Pulse and
get auto-created as download-client entries. No new discovery code
is needed — the plumbing already exists.

Pins pulse SDK to v0.2.0 (NewWithRetry, ServiceAPIKey, resilient
heartbeat with re-registration on persistent failure).

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
@davidfic davidfic merged commit bf963ef into main Apr 16, 2026
7 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant