Skip to content

移除对话内 HTML Preview ​

状态:implemented 类型:simplification Owner:frontend/src/shared/lib/markdown_preview.js

问题 ​

用户要求移除 HTML Preview。对话可视化由有限widget承担,旧Skill、Markdown围栏与iframe执行/高度同步构成另一条生成和渲染路径。用户明确将重建环境,旧安装状态不需要应用内迁移。

决策 ​

实现方案 ​

删除内置html-preview Skill、HTML围栏renderer、MarkdownPreview的iframe高度消息及样式。旧html:preview围栏按普通代码块显示;SVG、引用定位和widget继续由各自Owner拥有。节点复用只保留widget,使用方法见组件决定。

内置同步沿原实现只发布当前Skill定义,不查询、删除或撤下旧html-preview索引/投影。运行环境重建后同步当前目录;本变更不包含旧数据库/文件迁移。独立HTML文件交付物属于文件预览链路,入口保留。中间演示页、示例数据和新增专项测试脚本一并移除。

替代方案 ​

  • 仅删除Skill:历史围栏仍执行iframe,未满足移除渲染要求。
  • 保留兼容renderer:留下用户要求删除的维护路径。
  • 启动时清理旧索引/投影:用户将重建环境,不承担这个兼容consumer,删除特殊分支与迁移测试。
  • 删除独立HTML文件预览:扩大到研究交付物,超出当前对话预览消费者范围。

后果 ​

历史HTML围栏显示源码是公开行为变化。旧环境中的数据库、安装副本和用户投影不会由启动自动清理,环境重建是本次交付前提。此变更不删除用户文件或自定义Skill。

验证 ​

旧能力不存在:当前builtin发布目录无html-preview,Markdown没有HTML预览parser、iframe创建、高度同步或对应导出;旧完整、未闭合和嵌套围栏按代码显示。Widgets演示路由、示例文件和新增专项脚本不存在,正式renderer与按需Skill保留。

重新引入条件:有明确当前消费者、独立协议/权限边界及真实数据与浏览器验证,再提案。

验收主张失败面语义 Owner直接证据 / 命令负向案例当前结果
旧围栏显示代码Markdown、DOMmarkdown_preview/MarkdownPreview阶段3个unit与12种真实DOM案例;当前已有layout脚本完整/流式未闭合/嵌套/旧内部标记均无iframePassed,阶段专项脚本按用户要求移除
当前发布不含旧能力,无清理特例shipping、启动builtin discovery/shared.py目录发现unit、源码diff与符号搜索当前发布缺少旧Skill;同步代码恢复原实现Inspected,最终unit结果见组件决定
widget与引用仍可用Vue生命周期、主题、引用MarkdownPreview/SessionWorkspace阶段草稿、引用/复制与正式天气DOM值/节点丢失或历史两图缺失失败Passed,当前回归结果见组件决定

删除前的真实PostgreSQL旧安装清理测试曾通过,但该分支与专项测试均已删除,不作为当前能力证据。阶段HTTP目录与文件回读无旧builtin只说明该已清理环境,不能证明现有代码迁移旧安装。

当前常规gate、正式天气双主题和刷新验证与独立Review结果由组件决定维护。已有turnReferenceBoundaries脚本已适配旧围栏源码行为,其历史专用fixture未在隔离环境重建;引用交互由已有markdownPreviewLayout真实DOM验证。

本项目基于 MIT License 开源,欢迎使用和贡献。