Repository navigation
feat(app-shell): Connect an Agent marks claude.ai (web) and Doubao cloud tasks as not available on a non-public address - #30973
Draft
objectstack-fleet[bot] wants to merge 1 commit into
Draft
objectstack-fleet[bot] wants to merge 1 commit into
objectstack-fleet[bot] wants to merge 1 commit into
Conversation
…t available on a non-public address claude.ai (web) and Doubao Work's cloud tasks reach only a public HTTPS address. On an http:// address, localhost, a single-label or .local host, or a private, loopback or link-local IP, both now show a note with the reason and what makes them available; the local clients are unchanged. Co-Authored-By: Claude <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01L9qibzWZSWpaweunqGyeA9
This branch has not been deployed
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.
Requested by Tesla · project thread
Fixes #30897
Clause-②: no
Metadata-protocol: none
维护者速读
ui/packages/app-shell/src/console/connect/deploymentReach.ts(地址判定)、ConnectAgentWidget.tsx里的Unavailable与两处使用、测试文件末尾新增的 describe。What changes
deploymentReach.ts(new):isPublicHttpsAddress(address)— false for a non-https:address,localhost/*.localhost, a single-label host,.local/.internal, and loopback, private (10/8, 172.16/12, 192.168/16), link-local, CGNAT and unspecified IPv4 literals, plus::1,fc00::/7,fe80::/10and IPv4-mapped private IPv6. A host name with a dot is taken as public (the page cannot see the reader's DNS).ConnectAgentWidget.tsx: when the MCP address is not public HTTPS, the claude.ai / Claude Desktop column shows anUnavailablenote (title, one-sentence reason naming the address's origin, remedy) in place of the static reachability small print, and the Doubao Work steps gain the same note for cloud tasks. Claude Desktop's steps, Claude Code, Codex, Cursor, WorkBuddy and QwenWork are unchanged. On a public HTTPS address nothing renders differently frommain.connectAgent.unreachablein all ten console packs (PR feat(i18n)!: the Console's language packs follow the platform locale table, keyed by its tags, and Traditional Chinese (zh-Hant) ships #30902 is not onmain: today'szh.ts/pt.ts)..changeset/30897-connect-agent-unreachable-address.md(@object-ui/app-shell,@object-ui/i18n: patch).Tests
In
ConnectAgentWidget.keyName-13355.test.tsx(the component's one harness file), a new top-level describe: the address classification table (16 non-public, 5 public); onhttp://localhost:3000the claude.ai note with the address and the Doubao cloud-task note render, Claude Desktop / Claude Code steps stay, Codex and Cursor carry no note; onhttps://crm.example.comno note renders and the original reachability line is back. The testtmock now echoes theaddressoption besidename.Acceptance notes
Verification
Head
1851c124: branch restarted onmain6ddf8272(PR #30943's merge), this card's commit re-applied cleanly; fullpnpm buildon that base (118/118).Live check on a local deployment (showcase with the fresh flag, console Vite dev, admin)
main): onhttp://localhostthe claude.ai column shows the address with a copy button and the static small print "claude.ai (web) connects from Anthropic's servers — the deployment must be reachable over public HTTPS"; the Doubao steps carry the same kind of static line. Nothing reacts to the address.Local tests and gates
pnpm --dir ui exec vitest run packages/app-shell/src/console/connect/ packages/i18n/ packages/app-shell/src/__tests__/product-neutral-renderer.ratchet.test.ts→ 99 files, 1565 passed, 13 skipped (widget file 12/12)pnpm --filter @object-ui/i18n run type-check && pnpm --filter @object-ui/app-shell run type-check→ exit 0packages/app-shell/src/console/connect/→ 0 errors (3 pre-existingno-explicit-anywarnings);pnpm check:new-line-citations→ 0 newdispatch-gates --commandsderived 36 commands on 1851c12; all 36 exit 0 (incl.node scripts/check-sdui-manifest.mjs,pnpm --dir ui exec vitest run scripts/170 files passed);--ranreconciliation: 36 run, 0 NOT-MEASURED, 0 UNRUN.Generated by Claude Code