Skip to content

fix(cli): activate relayfile v3 crash recovery#1245

Merged
khaliqgant merged 1 commit into
mainfrom
codex/relayfile-client-v0-10-21
Jul 11, 2026
Merged

fix(cli): activate relayfile v3 crash recovery#1245
khaliqgant merged 1 commit into
mainfrom
codex/relayfile-client-v0-10-21

Conversation

@khaliqgant

@khaliqgant khaliqgant commented Jul 11, 2026

Copy link
Copy Markdown
Member

Summary

  • pin the Relay CLI to published @relayfile/client@0.10.21
  • remove the temporary 0.10.20 type/runtime bridge and make API-v3 subscription listing mandatory for crash recovery
  • prove retained, workspace-pinned attempts reconcile before a replacement create

Validation

  • npm run typecheck
  • npx vitest run packages/cli/src/cli (483 passed, 11 skipped)
  • released relayfile-cli v0.10.21 contract test (9 passed)
  • Prettier and lockfile dry-run checks

No release, production dispatch, or cleanup sweep is included.

Review in cubic

@khaliqgant khaliqgant requested a review from willwashburn as a code owner July 11, 2026 05:50
@coderabbitai

coderabbitai Bot commented Jul 11, 2026

Copy link
Copy Markdown
Contributor

Review Change Stack

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro Plus

Run ID: e1ee8bc3-405b-4d80-8556-ee9624505398

📥 Commits

Reviewing files that changed from the base of the PR and between 613d72d and 713731d.

⛔ Files ignored due to path filters (1)
  • package-lock.json is excluded by !**/package-lock.json
📒 Files selected for processing (5)
  • CHANGELOG.md
  • packages/cli/package.json
  • packages/cli/src/cli/commands/integration-relayfile-contract.test.ts
  • packages/cli/src/cli/commands/integration-subscribe.test.ts
  • packages/cli/src/cli/commands/integration.ts
✅ Files skipped from review due to trivial changes (1)
  • CHANGELOG.md
🚧 Files skipped from review as they are similar to previous changes (3)
  • packages/cli/package.json
  • packages/cli/src/cli/commands/integration-subscribe.test.ts
  • packages/cli/src/cli/commands/integration.ts

📝 Walkthrough

Walkthrough

The CLI now pins @relayfile/client 0.10.21, requires webhook subscription listing on the relayfile bridge, and uses it during workspace-pinned subscribe recovery and cleanup reconciliation. Tests cover successful reconciliation, listing failures, and missing workspace pins.

Changes

Relayfile recovery contract

Layer / File(s) Summary
Client version and API contract
packages/cli/package.json, packages/cli/src/cli/commands/integration-relayfile-contract.test.ts, CHANGELOG.md
The CLI pins client 0.10.21, verifies the subscription-listing API, updates binding-type documentation, and records the crash-recovery behavior.
Required bridge implementation
packages/cli/src/cli/commands/integration.ts
listWebhookSubscriptions is required and directly delegated to the client; compatibility casts are removed from binding and writeback results.
Subscribe recovery reconciliation
packages/cli/src/cli/commands/integration.ts, packages/cli/src/cli/commands/integration-subscribe.test.ts
Cleanup and subscribe preparation use workspace resolution and subscription listing unconditionally, with tests for reconciliation, list failures, and unavailable workspace pins.

Estimated code review effort: 3 (Moderate) | ~25 minutes

Sequence Diagram(s)

sequenceDiagram
  participant SubscribeCommand
  participant RelayfileBridge
  participant RelayfileClient
  participant Journal
  SubscribeCommand->>RelayfileBridge: prepareSubscribeAttempt
  RelayfileBridge->>RelayfileClient: resolveWritebackBinding
  RelayfileBridge->>RelayfileClient: listWebhookSubscriptions(workspace)
  RelayfileClient-->>RelayfileBridge: pinned subscriptions
  RelayfileBridge->>RelayfileClient: create webhook and relay subscriptions
  RelayfileBridge->>Journal: clear reconciled attempt
Loading

Possibly related PRs

Suggested reviewers: willwashburn

Poem

I’m a rabbit with a webhook tune,
Pinning clients beneath the moon.
Lost cloud creates now find their way,
Journals clear at break of day.
Hop, reconcile, and safely run!

🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Title check ✅ Passed It clearly summarizes the main change: enabling relayfile v3 crash recovery by pinning the client and requiring subscription listing.
Description check ✅ Passed It includes the required summary and validation details, but the template's Test Plan section is not explicitly formatted.
Docstring Coverage ✅ Passed Docstring coverage is 100.00% which is sufficient. The required threshold is 80.00%.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.
✨ Finishing Touches
📝 Generate docstrings
  • Create stacked PR
  • Commit on current branch
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch codex/relayfile-client-v0-10-21

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@gemini-code-assist gemini-code-assist Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Code Review

This pull request upgrades the @relayfile/client dependency from version 0.10.20 to 0.10.21 to enable full crash recovery of interrupted cloud creates. This allows the removal of various temporary compatibility casts, runtime feature-detection checks, and fallback logic associated with the older client version across the CLI integration commands and tests. I have no further feedback to provide as there are no review comments to evaluate.

Important

The consumer version of Gemini Code Assist on GitHub is being sunset. Starting June 18, 2026, new organization installations will be blocked, and all code review activity will officially cease on July 17, 2026.
For more details on the timeline and next steps, please review the Help Documentation.

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 1

🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Inline comments:
In `@CHANGELOG.md`:
- Line 37: Trim the changelog entry to describe only the user-visible
subscription lifecycle behavior and the required `@relayfile/client`@0.10.21
update; remove internal implementation details about journals, leases, recovery
keys, retries, concurrency, and crash handling.
🪄 Autofix (Beta)

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro Plus

Run ID: a57d4f72-85bd-4048-a40c-ce41efe51e35

📥 Commits

Reviewing files that changed from the base of the PR and between 64e8c39 and 613d72d.

⛔ Files ignored due to path filters (1)
  • package-lock.json is excluded by !**/package-lock.json
📒 Files selected for processing (5)
  • CHANGELOG.md
  • packages/cli/package.json
  • packages/cli/src/cli/commands/integration-relayfile-contract.test.ts
  • packages/cli/src/cli/commands/integration-subscribe.test.ts
  • packages/cli/src/cli/commands/integration.ts

Comment thread CHANGELOG.md Outdated
@khaliqgant khaliqgant force-pushed the codex/relayfile-client-v0-10-21 branch from 613d72d to 713731d Compare July 11, 2026 05:57
@khaliqgant khaliqgant merged commit 5b9bc31 into main Jul 11, 2026
46 checks passed
@khaliqgant khaliqgant deleted the codex/relayfile-client-v0-10-21 branch July 11, 2026 06:07
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