Skip to content

fix(cli): allow slow Relayfile provider status - #1487

Merged
khaliqgant merged 2 commits into
mainfrom
fix/integration-control-plane-timeout
Aug 12, 2026
Merged

fix(cli): allow slow Relayfile provider status#1487
khaliqgant merged 2 commits into
mainfrom
fix/integration-control-plane-timeout

Conversation

@khaliqgant

@khaliqgant khaliqgant commented Aug 11, 2026

Copy link
Copy Markdown
Member

Summary

  • give integration control-plane requests a 30-second budget instead of the @relayfile/client default of 10 seconds
  • add regression coverage that inspects the default bridge request budget

Live reproduction

The branch-built CLI repeatedly failed integration subscribe at exactly 10 seconds while production Relayfile provider status completed in ~9.7 seconds before client overhead. With this change and AgentWorkforce/relayfile#415, the same local CLI command successfully created both the scoped Relay inbound target and Relayfile webhook subscription.

Verification

  • integration-relayfile-contract.test.ts: 11 passed, 4 skipped
  • npm run typecheck: passed
  • changed-file Prettier: passed
  • ESLint: 0 errors; 28 pre-existing warnings in integration.ts

Related end-to-end path-filter fix: #1486.

Review in cubic

@cursor

cursor Bot commented Aug 11, 2026

Copy link
Copy Markdown

Bugbot is not enabled for your account, so this pull request was not reviewed.

Enable Bugbot in the Cursor dashboard to get automatic reviews on future PRs.

@coderabbitai

coderabbitai Bot commented Aug 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: 2b473ade-76c1-4c64-8cf1-ae8b7ce7bca5

📥 Commits

Reviewing files that changed from the base of the PR and between 9058c06 and 56b6275.

📒 Files selected for processing (2)
  • packages/cli/src/cli/commands/integration-relayfile-contract.test.ts
  • packages/cli/src/cli/commands/integration.ts

📝 Walkthrough

Walkthrough

The default Relayfile control-plane client now uses a 30-second request timeout. Tests verify delayed provider-status requests and shared-client cleanup. The changelog documents the updated request budget.

Changes

Relayfile timeout update

Layer / File(s) Summary
Configure control-plane timeout
packages/cli/src/cli/commands/integration.ts
The client-option helper applies a 30-second default timeout and preserves caller-provided options. Explicit and shared clients use the normalized options.
Verify delayed provider-status requests
packages/cli/src/cli/commands/integration-relayfile-contract.test.ts, CHANGELOG.md
Contract tests verify the timeout and successful connectivity after a 10.1-second provider-status delay. The changelog records the patch.

Estimated code review effort: 2 (Simple) | ~10 minutes

Possibly related PRs

Suggested reviewers: willwashburn

Poem

A rabbit set the timeout right,
Thirty seconds guard the flight.
A slow status check crossed the stream,
And GitHub stayed within the scheme.
The relay bridge now completes its dream.

🚥 Pre-merge checks | ✅ 3 | ❌ 2

❌ Failed checks (2 warnings)

Check name Status Explanation Resolution
Linked Issues check ⚠️ Warning The changes implement a 30-second timeout, but direct issue #1486 requires path_glob serialization and related regression coverage, which are absent. Implement the #1486 path_glob serialization and request-body regression test, or link the issue that covers the timeout change.
Out of Scope Changes check ⚠️ Warning The timeout and client-reset changes are unrelated to direct issue #1486, which targets Relayfile subscription path-filter serialization. Link an issue for the timeout change, or remove these unrelated changes from the PR for #1486.
✅ Passed checks (3 passed)
Check name Status Explanation
Title check ✅ Passed The title clearly identifies the main change: allowing slow Relayfile provider-status requests in the CLI.
Description check ✅ Passed The description explains the change, reproduction, and verification, but it does not use the template's Test Plan checkboxes.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
✨ 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 fix/integration-control-plane-timeout

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.

@cubic-dev-ai cubic-dev-ai 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.

All reported issues were addressed across 3 files

Reply with feedback, questions, or to request a fix.

Re-trigger cubic

Comment thread packages/cli/src/cli/commands/integration-relayfile-contract.test.ts Outdated
Comment thread packages/cli/src/cli/commands/integration-relayfile-contract.test.ts Outdated
@khaliqgant
khaliqgant force-pushed the fix/integration-control-plane-timeout branch from 0727494 to 9058c06 Compare August 12, 2026 07:09

@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: 2

🤖 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 `@packages/cli/src/cli/commands/integration-relayfile-contract.test.ts`:
- Around line 236-253: The integration relay contract test currently delays only
10,100 ms, so it does not enforce the required 30-second request budget. Update
the test around defaultRelayfileBridge().isConnected to assert the configured
30,000 ms timeout at the default-client boundary, or increase the mock delay and
test timeout enough to distinguish a 30-second budget from shorter values.
- Around line 243-249: Isolate the test around
defaultRelayfileBridge().isConnected('github') from sharedClient by resetting
sharedClient before and after the test, or by using a newly constructed client
with explicit socket configuration. Ensure RelayfileControlPlaneClient resolves
the current RELAYFILE_SOCK value for this test and cannot retain another test’s
deleted temporary socket.
🪄 Autofix

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: 2d3d3958-2cc3-45aa-90c2-cc55d5d21541

📥 Commits

Reviewing files that changed from the base of the PR and between 0727494 and 9058c06.

📒 Files selected for processing (3)
  • CHANGELOG.md
  • packages/cli/src/cli/commands/integration-relayfile-contract.test.ts
  • packages/cli/src/cli/commands/integration.ts
🚧 Files skipped from review as they are similar to previous changes (2)
  • packages/cli/src/cli/commands/integration.ts
  • CHANGELOG.md

Comment thread packages/cli/src/cli/commands/integration-relayfile-contract.test.ts Outdated

@cubic-dev-ai cubic-dev-ai 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.

All reported issues were addressed across 2 files (changes from recent commits).

Reply with feedback, questions, or to request a fix.

Re-trigger cubic

Comment thread packages/cli/src/cli/commands/integration.ts
@khaliqgant
khaliqgant merged commit 06f147a into main Aug 12, 2026
41 checks passed
@khaliqgant
khaliqgant deleted the fix/integration-control-plane-timeout branch August 12, 2026 07:29
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