Repository navigation
fix(gateway): reconnect hibernated read-only sessions - #158
Open
jmwhite310 wants to merge 3 commits into
Open
jmwhite310 wants to merge 3 commits into
jmwhite310 wants to merge 3 commits into
Conversation
Current Grok Bot desktop builds write gateway-descriptor.json version 3, which keeps the version 2 entries layout (adds savedAtMs per entry). Every command failed with "Unsupported Grok Bot gateway descriptor version 3". Treat v3 like v2; the multiple-entries safety check stays. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01F7jcCQRFPBA9cNGeLvEoJi
Exercise the existing Windows DPAPI key-provider path with synthetic v3 fixtures, including invalid entries and AES-GCM authentication failure. Run the built doctor command for v2 and v3 under isolated app-data paths on Windows as well as macOS/Linux, covering the flight worker bundle. Refresh the artifact source snapshot while preserving its executable mode.
Load active desktop credentials through Safe Storage, detect the installed client version, and coalesce a single account-bound refresh for explicit AnyRun hibernation responses. Retry only allowlisted reads; preserve explicit routing overrides and never replay mutations. Add reconnect/security regressions and rebuild distribution artifacts. Verified 67 gateway/session tests, 97 route tests, typecheck, and live read-only connectivity. Co-Authored-By: Warp <agent@warp.dev>
🦋 Changeset detectedLatest commit: e76b5a0 The changes in this PR will be included in the next version bump. This PR includes changesets to release 1 package
Not sure what this means? Click here to learn what changesets are. Click here if you're a maintainer who wants to add another changeset to this PR |
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
Recover allowlisted read-only gateway calls when a cached desktop route points to a hibernated pod. A locally decryptable descriptor does not establish that its remote computer is reachable.
The observed failure was HTTP 417 with
x-anyrun-error-source: anyrun-proxy,x-anyrun-failure-reason: pod_hibernated, and proxy errordestination_unavailable.Relationship to existing work
This branch builds on open PR #154 and includes its descriptor-v3 compatibility and Windows regression commits, preserving Nicolas Mertens's and Lee SiHyeon's original authorship. The new reconnect commit is
e76b5a0.Related: #143, #145, #147, #149, #152. Active-account credential loading and app-version handling follow the desktop storage structure documented in #152. This adds recovery when a descriptor is present but points to a hibernated pod, rather than only when the descriptor is absent.
Behavior and safety boundaries
EnsureSandBoxbackend to obtain a fresh gateway URL, bearer credential, and routing headers.listAgents,getAgentWorkflows,getAgentTranscriptTail, andgetAgentThread.Validation
Passed on Windows with Node 24.13.0 and Grok Bot Desktop 0.71.2:
--no-host-validation.git diff --check.External Claude host validation is not claimed: the default build stopped with AB6022 from the installed Claude developer validator. The supported
--no-host-validationoption was used for build/artifact verification. A prior broader targeted run also exposed a CRLF/LF frontmatter assertion incodex-commands.test.js; the full cross-platform suite is not claimed green.Live read-only acceptance
listAgentsreturned 417 /pod_hibernated.EnsureSandBoxrequest returned 200 using the installed app version.listAgentsreturned 200 on a changed route.dist/bin/gbot.mjs bots list --gateway --jsonsucceeded.No Bot messages or mutations were sent during live verification. Credentials, account identifiers, roster contents, and conversation content are excluded from this report.
Development artifacts
Co-Authored-By: Warp agent@warp.dev