Repository navigation
Conversation
`harness-runtime connections create` waited for authorization with no bound. It polled until the connection read active or the user pressed Ctrl-C. harness-api marks an abandoned connection expired, and a revoked one revoked, but doctl ignored both. It kept polling a connection that could never complete, which hangs scripts and CI jobs. The legacy `harness-runtime auth <provider>` wait had the same shape. The connections wait now fails on the first poll that reads expired or revoked, with a hint to re-run create. Both waits also end at the server's expires_at plus a 30s grace, or after 15 minutes when the server sends no expiry. Unrecognized statuses keep polling up to that deadline. Success, Ctrl-C and --no-wait are unchanged. Blast radius: doctl harness-runtime connections create and auth <provider>, including the GitHub prompt in create --gh-repo; an abandoned authorization now exits 1 instead of hanging. Rollback: revert; no state or stored data is involved. MARSOHS-2174 Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
doctl harness-runtime connections createandauth <provider>wait for browser authorization with no limit. An abandoned or revoked authorization keeps them polling until someone kills the process, which hangs scripts and CI jobs. Both waits now end at the server's expiry, and the connections wait also ends onexpiredorrevoked.Jira: MARSOHS-2174
Scope
Blast radius
🔴 Services: doctl (
harness-runtime connections create,harness-runtime auth <provider>, the GitHub prompt inharness-runtime createandlaunchwith--gh-repo) · Customers: an authorization that is not completed now exits 1 instead of waiting forever — verify that success, Ctrl-C and--no-waitoutput are unchanged.Rollout
Decisions
expired; anexpires_atin the past clamps to now. (authWaitDeadline)createandlaunchinstead of continuing: the user chose to connect, so a session without access would fail later.Evidence
The new
expired,revokedand deadline tests failed onmain(an unexpected extra poll, or a hang untilgo test -timeout) and pass here;go test ./commands/... ./do/...passes exceptTestRegistryLogout, which fails the same way onmain; a local build was validated against a live environment.🤖 Generated with Claude Code