jim800121chen 3d30fdc580 feat(local-agent): TLS skip opt-in for self-signed stage + exchange envelope 對齊
- 新增 VISIONA_INSECURE_SKIP_TLS_VERIFY(DEV/TEST ONLY、須明確 opt-in "true"):
  pairing exchange HTTP client、tunnel WSS dialer、設定頁 TestConnection 三路徑
  共用 TLSConfigForDial(含 ALPN 釘 http/1.1);NewApp 唯一 env 讀取點注入欄位
- exchangeResponse 對齊雲端 /api/pairing/exchange success envelope
  (account/relay_url 選填 fallback 保留、舊頂層格式回歸防護)
- .gitignore:.env.stage* + !.env.stage.example + *.pptx(堵 secrets 誤入)
- start-agent.sh(新增):public 模式 export skip env + 預檢 curl https 帶 -k
- 測試:自簽 TLS server 行為級(預設拒絕驗 x509 / 開啟通過)+ opt-in 規則
  11+5 案例 + TestConnection 3 測試;go build/vet/test 3 packages 全綠
- review:2 輪通過(.autoflow/05-implementation/review/tls-skip-uncommitted-batch-review.md)

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-10 09:01:10 +08:00

11 lines
3.1 KiB
Plaintext

1:"$Sreact.fragment"
2:I[44674,["/_next/static/chunks/594c88e889e6e4db.js","/_next/static/chunks/da91cad579900bca.js","/_next/static/chunks/f81ac11fa6af3b6b.js"],"LocaleProvider"]
3:I[88918,["/_next/static/chunks/594c88e889e6e4db.js","/_next/static/chunks/da91cad579900bca.js","/_next/static/chunks/f81ac11fa6af3b6b.js"],"LocaleSync"]
4:I[27423,["/_next/static/chunks/594c88e889e6e4db.js","/_next/static/chunks/da91cad579900bca.js","/_next/static/chunks/f81ac11fa6af3b6b.js"],"ThemeProvider"]
5:I[46798,["/_next/static/chunks/594c88e889e6e4db.js","/_next/static/chunks/da91cad579900bca.js","/_next/static/chunks/f81ac11fa6af3b6b.js"],"TooltipProvider"]
6:I[3097,["/_next/static/chunks/594c88e889e6e4db.js","/_next/static/chunks/da91cad579900bca.js","/_next/static/chunks/f81ac11fa6af3b6b.js"],"default"]
7:I[99299,["/_next/static/chunks/594c88e889e6e4db.js","/_next/static/chunks/da91cad579900bca.js","/_next/static/chunks/f81ac11fa6af3b6b.js"],"default"]
8:I[13354,["/_next/static/chunks/594c88e889e6e4db.js","/_next/static/chunks/da91cad579900bca.js","/_next/static/chunks/f81ac11fa6af3b6b.js"],"Toaster"]
:HL["/_next/static/chunks/6c9a7a09adf93ec8.css","style"]
0:{"buildId":"xUG58KEr_UmI6n37ubQud","rsc":["$","$1","c",{"children":[[["$","link","0",{"rel":"stylesheet","href":"/_next/static/chunks/6c9a7a09adf93ec8.css","precedence":"next"}],["$","script","script-0",{"src":"/_next/static/chunks/594c88e889e6e4db.js","async":true}],["$","script","script-1",{"src":"/_next/static/chunks/da91cad579900bca.js","async":true}],["$","script","script-2",{"src":"/_next/static/chunks/f81ac11fa6af3b6b.js","async":true}]],["$","html",null,{"lang":"zh-Hant","suppressHydrationWarning":true,"children":["$","body",null,{"className":"min-h-dvh","children":["$","$L2",null,{"children":[["$","$L3",null,{}],["$","$L4",null,{"children":["$","$L5",null,{"delayDuration":0,"children":[["$","$L6",null,{"parallelRouterKey":"children","template":["$","$L7",null,{}],"notFound":[[["$","title",null,{"children":"404: This page could not be found."}],["$","div",null,{"style":{"fontFamily":"system-ui,\"Segoe UI\",Roboto,Helvetica,Arial,sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\"","height":"100vh","textAlign":"center","display":"flex","flexDirection":"column","alignItems":"center","justifyContent":"center"},"children":["$","div",null,{"children":[["$","style",null,{"dangerouslySetInnerHTML":{"__html":"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}"}}],["$","h1",null,{"className":"next-error-h1","style":{"display":"inline-block","margin":"0 20px 0 0","padding":"0 23px 0 0","fontSize":24,"fontWeight":500,"verticalAlign":"top","lineHeight":"49px"},"children":404}],["$","div",null,{"style":{"display":"inline-block"},"children":["$","h2",null,{"style":{"fontSize":14,"fontWeight":400,"lineHeight":"49px","margin":0},"children":"This page could not be found."}]}]]}]}]],[]]}],["$","$L8",null,{"richColors":true,"closeButton":true,"position":"top-right"}]]}]}]]}]}]}]]}],"loading":null,"isPartial":false}