fix(client): intercept the alpha chat file-open funnel (remote.session.openWorkspacePath)

0.1.2-alpha 宿主删除了 ctx.workspaces.openPath,聊天文件点击全部改走
remote 命名空间,旧拦截成为死代码(点击穿透到 xdg-open)。改为在
ctx.inject(['remote.session']) 内以 defineProperty 遮蔽该方法(accessor
属性,赋值无效),接管时返回 RemoteResult 成功包络。语义不变,

设计:docs/plans/2026-08-31-openpath-intercept-alpha-design.md
This commit is contained in:
Cyancat
2026-09-02 23:13:57 +08:00
committed by Menghuan1918
parent dde0923980
commit 26d37c1a8f
9 changed files with 425 additions and 126 deletions
+3 -3
View File
@@ -63,9 +63,9 @@ export interface SidebarPrefs {
/**
* Whether chat-side file opens (tool-row path links, the produced-files
* row, prose file mentions — every path that funnels through the client
* runtime's `ctx.workspaces.openPath`) open in the sidebar editor instead
* of the Host OS's default application. On by default; the editor tab's
* own enable switch gates it too (both must be on for the takeover).
* runtime's `remote.session.openWorkspacePath`) open in the sidebar editor
* instead of the Host OS's default application. On by default; the editor
* tab's own enable switch gates it too (both must be on for the takeover).
*/
interceptOpenPath: boolean
/**