Skip to content

fix(self-hosted-artifacts): 编辑器 HTML 与聊天可视化改走局域网分享 - #70

Merged
Fartown merged 1 commit into
fork/integrationfrom
feat/self-hosted-artifacts-cloud-entries
Oct 26, 2026
Merged

Fartown merged 1 commit into
fork/integrationfrom
feat/self-hosted-artifacts-cloud-entries

Conversation

@Fartown

@Fartown Fartown commented Oct 26, 2026 •

Copy link
Copy Markdown
Owner
Files Added Deleted Net
Test 4 $\color{#1a7f37}{\Huge{\mathbf{+}}}$​112 $\color{#cf222e}{\Huge{\mathbf{−}}}$​55 $\color{#1a7f37}{\Huge{\mathbf{+}}}$​57
Prod 11 $\color{#1a7f37}{\Huge{\mathbf{+}}}$​164 $\color{#cf222e}{\Huge{\mathbf{−}}}$​107 $\color{#1a7f37}{\Huge{\mathbf{+}}}$​57

问题

编辑器里打开 HTML 文件后点分享,弹层显示「无法检查现有链接」,重试也没有用。

原因:上游 stablyai#27608(随 2026-10-21 的同步进入 fork)给编辑器里的非 Markdown 文件加了云端「分享为工件」按钮,聊天内联可视化用的也是这个按钮。fork 有意不注册云端工件服务,artifacts.* 接口一律返回「Artifact sharing isn't available on this Orca server.」,所以这两个入口只会失败。

改动

  • 编辑器顶栏:所有可分享的文档(Markdown 与 HTML)都用局域网分享入口。
  • 聊天内联可视化:由运行该聊天的电脑在局域网分享(NativeChatVisualLanShareButton)。
  • 停止分享:弹层和 Artifacts 页共用 useConfirmStopSharing,并遵守「常规 → 删除工件前确认」设置。此前这个设置对局域网分享不起作用。
  • 防回归:新增架构门禁 self-hosted-artifacts-no-cloud-share-entries,renderer 再引用云端 ArtifactPublishButton 时 check:architecture-policies 失败。
  • 登记:NativeChatInlineVisual.tsx 与其测试登记为接缝,补充依赖与 checks;同步更新需求 REQ-301/306/309、测试用例 AT-09/AT-15 和 journal。

验证

  • pnpm tc、三项本地化、check:fork-features、check:fork-docs、check:code-quality:changed -- fork/integration 均通过。功能登记的 checks 通过(258 + 11 项)。
  • check:architecture-policies 只报两个本地未跟踪的 mobile 生成文件,它们不在这次提交里。
  • 真机验证在隐藏的隔离实例中进行:
    • 本地 6 步全部通过。编辑器 HTML、聊天可视化生成的链接返回 200,停止后返回 404;停止时默认弹确认,关闭设置后不弹。
    • SSH 工作区(经本机 sshd 连接,远端由 orcad 执行,远端 HOME 已隔离):分享请求发到 SSH 主机,弹层显示该主机的判定,没有云端错误。

已知问题(不在本 PR 范围)

  • orcad 执行的 SSH 主机打不开局域网分享开关:上游禁止经 RPC 授予这个能力,那台电脑上的桌面 Orca 写的又是另一个设置库,所以 SSH 工作区里的文件目前拿不到链接。REQ-301 已改为部分实现,修复方式另行确定。
  • 聊天可视化分享的工作区名显示为 scratch 目录的哈希。

🤖 Generated with Claude Code

上游 stablyai#27608 给编辑器里的非 Markdown 文件留了云端「分享为工件」按钮,聊天内联
可视化也用同一个按钮;fork 不注册云端服务,点了只会显示「无法检查现有链接」。

- 编辑器顶栏对所有可分享文档统一用局域网分享入口
- 聊天内联可视化由运行该聊天的电脑在局域网分享
- 弹层与 Artifacts 页的停止分享共用一个确认,遵守「删除工件前确认」设置
- 新增架构门禁 self-hosted-artifacts-no-cloud-share-entries,禁止 renderer 再引用云端分享按钮
- REQ-301 改为部分实现:orcad 执行的 SSH 主机打不开分享开关,另行定方案

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@Fartown
Fartown merged commit 188620f into fork/integration Oct 26, 2026
32 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant