fix(agent-runtime): keep saved credentials for loopback controllers - #269
Draft
Dixith-dev wants to merge 1 commit into
Draft
fix(agent-runtime): keep saved credentials for loopback controllers#269Dixith-dev wants to merge 1 commit into
Dixith-dev wants to merge 1 commit into
Conversation
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.
I hit this while running the packaged desktop app with a local controller.
The controller itself was healthy and the normal proxy routes worked, but Workbench kept showing that it could not authenticate.
/api/agent/modelswas returning a 401 even though the controller key had already been saved in the app.The issue was in the controller merge logic. When the frontend sent an active controller URL without a browser-stored key, the agent runtime treated that request as a complete override and dropped the key from server-side settings. It was especially easy to trigger when one side used
localhostand the other used127.0.0.1.This change:
localhost,127.0.0.1, and::1as the same loopback endpointI added regression coverage for the matching URL, loopback alias, explicit key, and different-host cases.
Tested with:
npm run test:integration— 64 passing/api/agent/modelsreturned 200