fix(webapp): auto-recover replication services after stream errors

Merged
DE
5mo ago
+194113-17610

Auto-recovers replication services when stream errors occur, preventing service downtime.

Changes

  • New
    eplicationErrorRecovery.server.ts\ service
  • Adds reconnect strategy for leader-election-lost scenarios
  • Handles subscribe() failures and stopped streams
  • Scope recovery to reconnect strategy only

Files changed (8)

  • apps/webapp/app/services/replicationErrorRecovery.server.ts (new)
  • apps/webapp/app/services/runsReplicationService.server.ts
  • apps/webapp/app/services/sessionsReplicationService.server.ts
  • apps/webapp/app/env.server.ts
  • Added errorRecovery.test.ts

Closes #3613


Summary by cubic

Automatically recovers the runs and sessions replication services after stream errors (e.g., leader loss or failover) so replication resumes without manual intervention and avoids dashboard/data gaps.

  • Bug Fixes
    • New replicationErrorRecovery.server.ts with a focused reconnect strategy.
    • Handles leader-election-lost, subscribe() failures, and stopped streams by resubscribing.
    • Scopes recovery to reconnect-only behavior to prevent unwanted restarts.
    • Adds tests (errorRecovery.test.ts) and minor env wiring updates.