-
Notifications
You must be signed in to change notification settings - Fork 0
Issue 13
clean edited this page Sep 17, 2026
·
3 revisions
Issue #13 · PR #16 · 实现方案与验收记录
2026-09-16 从 Issue 迁入的需求与方案快照,保留原始验收勾选状态;当前进度以关联 Issue / PR 为准。实现细节、验收证据和未验证项见上方记录。
- 发布基线:
v0.2.0,对应提交eafe99b。 - 开发基线:
development@7d9aace。dev指development;当前分支相对 tag 新增 3 个提交,见差异。 - 本项状态:已关闭 / TODO Done;PR #16 已合并(
7d9aace),实现与记录中的验证已完成,尚未包含于 v0.2.0。
发布基线 v0.2.0 的“设置 → 版本更新”通过 <pre> 直接展示 releaseNotes,用户看到 Markdown 原文。当前 development 已通过 PR #16 使用安全的 Markdown/GFM 渲染,并保留 PR #14 的 macOS“重启安装”;这些改动尚未包含于公开 v0.2.0 安装包。
将获取到的新版本更新说明解析为排版清晰的内容,默认展示 Markdown 渲染结果,不直接展示 Markdown 源码。
- 对 GitHub Release 的更新说明进行 Markdown 解析和渲染。
- 支持常用标题、段落、有序与无序列表、强调、链接、引用、行内代码、代码块及表格。
- 适配更新弹窗的宽度、滚动区域与应用主题;长链接、代码块和表格不撑破布局。
- 保留空更新说明的提示以及版本信息、检查更新、下载和安装等现有交互。
当前 UpdatePanel.tsx 使用 ReleaseNotes.tsx(react-markdown + remark-gfm)渲染,样式在 index.css。
原始 HTML 被忽略,图片保留替代文字而不请求远程资源;仅允许绝对 HTTP/HTTPS 链接。桌面端通过 external-links.cjs 再次过滤链接,并交给系统浏览器,不创建新的应用窗口。
- 检查到新版本后,更新说明展示解析后的标题、列表、强调和链接等内容,不直接显示原文语法标记。
- 行内代码、代码块及表格可读,代码中的 Markdown 字符保持原样。
- 长内容在弹窗内正常阅读和滚动,不遮挡版本信息与操作按钮。
- 无更新说明时显示明确占位提示,普通文本也能正常展示。
- 外部链接按桌面应用约定打开,更新说明无法执行脚本。
- 检查、下载及安装更新流程保持可用。
使用包含标题、嵌套列表、链接、代码块、表格和长内容的 Release 说明进行界面对比;覆盖空内容、纯文本、原始 HTML 及危险链接输入,并回归更新操作。
已确定使用 Markdown + GFM,支持表格、删除线和只读任务列表;更新说明沿用当前浅色主题与 CSS 变量。主题切换仍由 #15 待开发,需覆盖链接、代码块和表格。渲染依赖带来的主包体积变化与平台验证边界已记录,不能将模拟更新操作视为正式发布包升级验收。
- PR #16 已合并到
development(7d9aace);Issue 已关闭,TODO 为 Done,尚未包含于 v0.2.0。 - 验证记录、截图和复现命令:Web 34 项、Desktop 38 项测试通过,5 个构建任务成功,Electron 两阶段冒烟和浏览器内容/布局/协议检查通过。以上为交付时记录,本次基线同步未重跑 UI 或安装包验收。
- 浏览器更新操作和 Electron 下载/安装使用替身;Windows/Linux 原生运行与真实 RemoteGit 发布包升级未执行。macOS 一键安装的剩余正式验收见 #12。