Files
cc-web/.planning/2026-10-10-mermaid-png-download/task_plan.md
shiyue 69b6db0f5b 修复完整会话历史与长气泡交互并更新 CentOS 7 发布包
提交当前工作区全部源码、回归脚本、任务记录及重新构建的 Bun baseline 发布包。发布单文件 MCP 初始化及前端资源一致性验证通过。
2026-10-10 23:40:16 +08:00

2.3 KiB
Raw Blame History

Mermaid 图片下载

目标:气泡中的 Mermaid 下载 PNG 图片,默认导出尺寸为图表固有尺寸的 2 倍。

阶段

  1. [completed] 定位 Mermaid 下载入口并确认导出约束。
  2. [completed] 将下载改为默认 2 倍 PNG 图片。
  3. [completed] 验证图片格式、尺寸及页面行为。

约束

  • 沿用现有下载按钮与渲染流程。
  • 保留中文标签、图表样式和完整边界,导出比例不受页面缩放或设备像素比影响。
  • 工作区已有其他任务改动,public/app.js 只修改 Mermaid 导出相关区域。
  • 不重启服务,除非确有必要且没有其他运行中的会话。
  • 完成后清理本任务临时 CSV。

错误记录

  • Codebase Memory 读取源码和调用链时 Transport closed;已完成符号定位,降级为已知范围的本地源码阅读,不重复调用失败工具。
  • Mermaid CDN 测试资源直连 25 秒、代理 30 秒未下载完;已切换可续传的后台下载,浏览器验证将使用本地同版本资源。
  • CDN 不支持 Range,取消续传,改为延长总下载上限的异步下载。
  • 首个实现代理出现 upstream encrypted continuation context 验证失败,未完成修改;已重新派发完整且简明的实现上下文。
  • 首轮浏览器验证总计 60 秒超时(Firefox 启动较慢);增加浏览器验证总时限并增加阶段输出,仅对浏览器测试调整时限。
  • 第二轮 Firefox 成功启动但加载页面超出 25 秒;确认主机负载 31,限制隔离浏览器内容进程数并增加页面加载时限。

完成记录

  • 最终实现真实 Firefox 156.0 测试通过:流程图、时序图和中文 HTML 换行标签均成功下载 PNG;尺寸分别为 578×114、900×574、190×346,均为固有宽高的 2 倍。
  • PNG 文件头、MIME、文件名和按钮恢复通过;图形/代码切换正常;抽查导出图片中文、换行与箭头可见且完整。
  • node --check public/app.js、git diff --check -- public/app.js 通过。
  • trellis-update-spec 复核:此次只调整已有前端导出辅助函数和下载入口,没有新增跨层协议;具体导出约定保存在任务 PRD、findings 与 browser-report.json,无需扩充通用规范。
  • 无依赖变更、无服务重启、无提交。