Repository navigation
[上游同步] 2026-11-03:上游 v3.17.2 本地预览/诊断/权限收紧(遥测保持移除) / [Upstream Sync] 2026-11-03: Upstream v3.17.2 local preview, diagnostics and permission tightening (telemetry stays removed) - #113
Open
github-actions[bot] wants to merge 1 commit into
Conversation
Sync non-telemetry upstream v3.17.2 changes (a60ba6a7..a9fe401e): - local HTML preview admission for the embedded browser - MCP failure diagnostics and stdio stderr redaction - custom-command ! shell blocks handed off to the Bash tool - tighter subagent permission inheritance and plugin profile restriction - macOS application icon fallback via NSWorkspace - Windows packaged incompatible platform dependency prune Telemetry and upload paths remain removed. Changes depending on the unmerged v3.17.1 sync PR #103 are deferred and documented in issue #112.
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.
@SudoUserReal
a60ba6a7e5a06742270ca605f5d2cc2766afa7e1..a9fe401eede6e6e5e01be9048679c206fe6f02d9同步内容 / Synced changes
browser-local-preview模块、zcode-html://协议、main 导航校验与 renderer 接线(commit:a9fe401e)/ Embedded-browser local HTML preview admission: newbrowser-local-previewmodule,zcode-html://scheme, main navigation admission and renderer wiring (commit:a9fe401e).a9fe401e)/ MCP failure diagnostics and stderr redaction: settings "suggested steps + error details", zh/en strings, recent stdio stderr attachment and credential redaction (commit:a9fe401e).!shell 块改交模型 Bash 工具:新增handOffCustomCommandShellBlocks,CLI/bootstrap 共用,删除解析期 shell 执行器(commit:a9fe401e)/ Custom-command!shell blocks handed off to the model's Bash tool: addshandOffCustomCommandShellBlocks, shared by CLI/bootstrap, and deletes the parse-time shell executor (commit:a9fe401e).restrictPermissionMode、插件 profile 只能收紧、Explore 继承父模式/权限服务、恢复时覆盖执行状态、Plan 下非只读 MCP 询问且无「始终允许」(commit:a9fe401e)/ Tighter subagent permission inheritance:restrictPermissionMode, plugin profiles may only tighten, Explore inherits the parent mode/permission service, resumed children get the current execution state, and non-read-only MCP tools in Plan mode ask without "always allow" (commit:a9fe401e)..icns全透明时经 NSWorkspace/Assets.car读取真实图标,最后才回退app.getFileIcon(commit:a9fe401e)/ macOS file-application icon fallback: when.icnsis fully transparent, read the real icon via NSWorkspace/Assets.carbefore falling back toapp.getFileIcon(commit:a9fe401e).pruneIncompatiblePlatformPackages,仅在ZCODE_PRUNE_PACKAGED_PLATFORM_DEPENDENCIES=1时对 win32-x64 afterPack 生效(commit:a9fe401e)/ Windows packaged platform dependency prune: addspruneIncompatiblePlatformPackages, enabled only whenZCODE_PRUNE_PACKAGED_PLATFORM_DEPENDENCIES=1for win32-x64 afterPack (commit:a9fe401e).剥离的遥测 / 上传行为 / Stripped telemetry or uploads
未同步 / Not synced
useMarketPluginUi/useRecommendedUiPlugins/ plugin-ui pane 契约,main 尚未合入 PR [上游同步] 2026-10-30:上游 v3.17.1 远端诊断/CLI/文件菜单(遥测已剥离) / [Upstream Sync] 2026-10-30: Upstream v3.17.1 remote diagnostics, CLI and file menu (telemetry stripped) #103。/ Draft plugin-UI prewarm-session reuse, side-pane binding and model-context retention depend onuseMarketPluginUi/useRecommendedUiPlugins/ plugin-ui pane contracts introduced in v3.17.1; PR [上游同步] 2026-10-30:上游 v3.17.1 远端诊断/CLI/文件菜单(遥测已剥离) / [Upstream Sync] 2026-10-30: Upstream v3.17.1 remote diagnostics, CLI and file menu (telemetry stripped) #103 is not merged.0010_remote_task_ownership:session-lifecycle/controller.ts、project-storage/repository-contract.ts等文件在 main 不存在,无法单独应用。/ Session-lifecycle workspace validation, fork ownership and the0010_remote_task_ownershipmigration cannot be applied alone becausesession-lifecycle/controller.ts,project-storage/repository-contract.tsand related files do not exist in main.mcp-status的官方 MCP 身份头路由:依赖 v3.17.1 官方 MCP 链路与zcodeAgentService上下文。/ Official MCP identity-header routing for the settingsmcp-statuslane depends on the v3.17.1 official-MCP chain andzcodeAgentServicecontext.OpenSplitButton、message.tsx、AssistantPreviewCards)与file-open-apps/*路径规范化:依赖 v3.17.1 文件菜单重构,main 缺少file-open-apps/*。/ File-manager reveal/open-with UI (OpenSplitButton,message.tsx,AssistantPreviewCards) andfile-open-apps/*path normalization depend on the v3.17.1 file-menu refactor; main lacksfile-open-apps/*.冲突检查 / Conflict check
Warning
上一个审计增量 v3.17.1 的同步 PR #103 仍未合入 main,部分文件在 main 不存在或仍为旧结构,因此本次只同步可独立验证的 6 项改动。/ The previous v3.17.1 sync PR #103 is still unmerged, so some files do not exist in main or still use the older structure; only the 6 independently verifiable changes are synced.
packages/desktop/src/main/index.ts:本仓库已移除遥测装配,上游文件仍包含conversation-telemetry/localTtft引用;只提取本地预览协议注册与安装,保持遥测相关导入移除。/ The fork already removed telemetry wiring while the upstream file still referencesconversation-telemetry/localTtft; only the local-preview scheme registration and installation were taken, keeping telemetry imports removed.packages/ui/src/browser-use/UnifiedBrowserView.tsx:上游补丁上下文包含 v3.17.1 的下载/恢复辅助函数,本仓库没有;只加入loadBrowserUrl导航准入并保留现有加载逻辑。/ The upstream patch context includes v3.17.1 download/restore helpers that the fork lacks; onlyloadBrowserUrlnavigation admission was added, keeping the existing load logic.apps/zcode-cli/packages/core/src/runtime/methods/subagent.ts:与 v3.17.1ownedRuntimes重构冲突;保留本仓库结构,只应用权限模式、执行状态覆盖与权限服务继承。/ Conflicts with the v3.17.1ownedRuntimesrefactor; kept the fork's structure and applied only permission mode, execution-state override and permission-service inheritance.apps/zcode-cli/packages/core/tests/permission-service.test.ts:上游新用例引用本仓库不存在的automationSelfPauseCapability,已移除该条目;其余断言保留。/ An upstream test entry referencedautomationSelfPauseCapability, which does not exist in the fork; that entry was removed and the remaining assertions kept.验证 / Verification
Done in 35s using pnpm v10.33.2。 / Succeeded; output ended withDone in 35s using pnpm v10.33.2.0(tsc -b覆盖 rpc/provider/shared/services/client/server/zcode-server-cli/ui/web/dev-docs/e2e-report/desktop host+e2e)。 / Passed, exit code0(tsc -bover rpc/provider/shared/services/client/server/zcode-server-cli/ui/web/dev-docs/e2e-report/desktop host+e2e).0,输出Found 116 warnings and 0 errors.。 / Passed, exit code0, outputFound 116 warnings and 0 errors.architecture: OK,violations: 0,new: 0。 /architecture: OK,violations: 0,new: 0.node --test packages/desktop/tests/no-telemetry.test.mjs:3 通过 / 1 失败(4 项)。失败项unexpected runtime import: ./desktopWebRemoteControlIpc.js在干净origin/mainworktree 中同样复现,属既有失败;本次未改动相关文件。 / 3 passed / 1 failed (4 tests). The failingunexpected runtime import: ./desktopWebRemoteControlIpc.jsalso reproduces in a cleanorigin/mainworktree, so it is pre-existing; this PR does not touch those files.keeps HTTP failures separate from recent stdio stderr、redacts quoted and escaped credential values before exposing stderr)。 / New MCP redaction tests: 2/2 passed.TUI custom command expansion hands shell blocks to the model like the app path)。 / New CLI custom-command test: 1/1 passed.packages/desktop/test/packagedPlatformDependencyPrune.test.ts1/1 通过。 / Packaging prune test:packages/desktop/test/packagedPlatformDependencyPrune.test.ts1/1 passed.apps/zcode-cli/packages/cli/tests/cli.unit.test.ts还有 2 项 doctor/品牌断言失败(期望zcode、实际zcodium),不在本次改动范围;完整mcp.test.ts的既有 OAuth 用例在回退本次改动后仍失败,已确认与本次无关。 / The fullapps/zcode-cli/packages/cli/tests/cli.unit.test.tsstill has 2 doctor/branding assertion failures (expectszcode, getszcodium) outside this change; the existing OAuth failures in the fullmcp.test.tsstill occur after reverting this change and are unrelated.