PR #30318 real dev verification main: 7c22e24e3fa1a3bb3a95f27aea000067f198fe7f PR: 41c67f7cca47f313f829cd65c8d9b9faf7fd3f8b Linux; Node 24.22.1; Chrome UI 151.0.7922.108; capture shell 156.0.8078.80, sandbox enabled Web UI -> Codex gpt-6.1-sol -> T3 stdio MCP -> running dev server -> html_preview Both runs set DBUS_SESSION_BUS_ADDRESS=unix:path=/tmp/pr30318-no-session-bus to avoid VM desktop keyring startup wait. Real Mihomo v1.19.33 on 127.0.0.1:15353; systemd-resolved routing domain ~cdn.jsdelivr.net node:dns.lookup(cdn.jsdelivr.net,{all:true}) -> [{address:198.18.0.4,family:4}] No DNS function stubs, proxy patches or fixtures. Project and threads created in web UI. Matching HTML SHA256: 23ca3475c4db47dc247712828a1079a9ede776a70eccd0e5ccf59d0df5c087f4 MAIN consoleMessages: [ { "level": "error", "text": "Failed to load resource: net::ERR_SOCKS_CONNECTION_FAILED https://cdn.jsdelivr.net/npm/mermaid@11/dist/mermaid.min.js" }, { "level": "error", "text": "external-script-failed" } ] PR consoleMessages: [ { "level": "error", "text": "Failed to load resource: net::ERR_SOCKS_CONNECTION_FAILED https://cdn.jsdelivr.net/npm/mermaid@11/dist/mermaid.min.js" }, { "level": "error", "text": "external-script-failed" }, { "level": "warning", "text": "DNS returned blocked 198.18.0.0/15 addresses, which may come from Clash or Mihomo fake-IP DNS. Inline the resource, add its host to fake-ip-filter, or switch DNS to redir-host. Affected host: cdn.jsdelivr.net (198.18.0.4)" } ] Both contentHeight=131; returned screenshot PNG bytes identical; external script stays blocked. Focused Blacksmith checks: publicProxy.test.ts 4/4 passed; HtmlRender.test.ts real browser 11/11 passed. INLINE CONTROL via web + Codex gpt-6.1-sol: { "width": 800, "contentHeight": 131, "capturedHeight": 131, "consoleMessages": [ { "level": "log", "text": "inline-script-loaded" } ], "screenshot": { "mimeType": "image/png", "width": 800, "height": 131 } } PUBLIC DNS CONTROL via web + Codex gpt-6.1-sol, identical HTML: restored public DNS with resolvectl revert and flush-caches; node:dns.lookup returns public IPv4/IPv6 addresses. { "width": 800, "contentHeight": 131, "capturedHeight": 131, "consoleMessages": [], "screenshot": { "mimeType": "image/png", "width": 800, "height": 131 } }