Skip to content

SpecReader AI v1.1.0

Choose a tag to compare

@github-actions github-actions released this 22 Sep 14:20
· 0 commits to f3b67191cdf776f7b3227b062e28519653e39090 since this release

Changed

  • Windows 安装包改为内嵌 WebView2 引导程序(embedBootstrapper):未预装 WebView2 的 Windows 10 机器安装后可直接自举运行,不再装完即死。
  • 自动更新源调序:优先 Gitee 固定 release,GitHub Release 兜底——国内用户不再每次检查更新先等 GitHub 超时。
  • Tab 休眠的内存预算记账纳入 canvas 位图估算(每个存活 viewer 按约 52MB 记账):小文件多开 tab 时也会按真实内存压力触发休眠,macOS 预算下约 7-8 个存活 tab 即开始顶替。
  • 前端代码分割:首屏 JS 从 1.9MB 单 chunk 降到约 480KB(gzip 约 147KB);pdfjs、Markdown/KaTeX、pdf-lib 打印链均改为按需异步加载。
  • E2E 新增 4 条主路径覆盖:并排对照(按钮 + 拖拽)、解读流式输出、条款链接悬停预览、全文搜索。

Fixed

  • 快捷键速查浮层更正:PageUp / PageDown 标注为「上一屏 / 下一屏」(翻屏),与 ← / → 的按页跳转区分。

Security

  • 收紧 CSP:connect-src 移除 https: 授权,webview 不再能向任意 HTTPS 端点外发数据(LLM / 词典 / 更新请求本就在后端发起,不受影响)。
  • Base URL 强制加密连接:自定义平台配置明文 http:// 外网地址时后端拒绝发请求并提示改用 https(本地 localhost / 127.0.0.1 / ::1 网关除外),避免 API Key 与选中文本明文过网。
  • 导出命令收窄:export_text_file / export_binary_file 增加扩展名白名单(.md/.txt 与 .pdf)并拒绝写入应用数据目录;PDF 授权命令要求文件真实存在并以规范化路径入白名单,消除符号链接绕过。
  • 修复钥匙串旧条目迁移缺陷:旧版单条 API Key 迁移到按平台分条目时,先确认新条目写入成功才删除旧条目,避免迁移失败永久丢 Key。

Fixed

  • 修复流式进行中关窗后会话永久卡在「生成中」的问题:流式期间落盘的脏 isStreaming 会话在加载时自动复位,正在生成的回复追加「上次生成未结束」中断提示,重开后可正常追问,PDF 标记呼吸态不再常亮(与翻译批注的加载侧自愈对齐)。
  • 修复批注与会话写盘失败被静默吞掉的问题:保存失败现在会向上抛错,「失败保留脏标记、稍后重试」机制真正生效,写盘失败不再静默丢数据。
  • 修复中止解读/追问后立即再次追问时,旧任务迟到的收尾可能误清新一轮流式状态的问题;hook 层补充流式中追问防御。
  • 修复长时间流式生成期间增量内容一直不落盘的问题:流式中每 5 秒强制持久化一次,崩溃/断电最多丢失最近几秒内容。
  • 修复关闭 PDF tab 不中断其「自由提问」会话流的问题:空来源的锚定会话现在随 tab 关闭一并中止,不再白烧 token。
  • 修复删除解读生成中的批注时不中止其 LLM 流的问题。
  • 修复 Agent Tools 的 search_in_pdf 在超长页面(超过 8000 字符截断点之后的内容)上搜索漏报的问题:搜索现在基于页面全文,仅 read_pdf_page 的返回内容截断。
  • 修复一次拖入多个 PDF 时并发打开各自持过期状态、内存预算预测失真的问题:批量拖放改为逐个串行打开。
  • 修复启动后立即打开文件时,新打开记录可能被异步加载完成的最近文件列表覆盖丢失的问题。
  • 修复点击当前已激活的 tab 会静默取消在飞的跳页跳转(如点批注跳页后、目标页尚未就位时点了一下当前 tab)的问题。
  • 修复深度缩放 + 高倍屏下单页 canvas 位图无尺寸上限(可达数百 MB)的问题:超出像素预算时自动降低渲染精度,CSS 显示尺寸不变。
  • 修复条款链接悬停预览在「悬停满 2 秒后、目标页解析完成前移开鼠标」时弹出后不再自动关闭的幽灵弹窗问题。
  • 修复设置页测试连接成功后修改配置(平台/模型/地址/Key)仍显示旧成功状态、以及测试在飞期间改配置导致结果张冠李戴的问题。
  • 修复首次配置向导中测试通过后回头改 Key、仍可用未验证的 Key 完成向导的问题。
  • 修复打印弹窗点「导出」后在系统保存对话框点「取消」会连带关闭打印弹窗、丢失已选项的问题。
  • 修复通过批注/暂存进入解读会话后,另一屏暂存内容变化会把右侧面板自动切走的问题。
  • 修复旧版本数据目录迁移中途失败(如遇到符号链接)后永久半迁移、批注/设置看似丢失的问题:迁移改为先拷临时目录、全部成功后原子重命名,失败可重试。
  • 修复同目录下同名不同扩展名的导出(如 报告.md 与 报告.pdf)并发写临时文件可能内容串位的问题;所有落盘文件写入后先 fsync 再改名,掉电更安全。
  • 修复 PDF 文件在读取期间被替换可能缓存到错误文件 hash(批注键错位)的问题:读后复核元数据,不一致则不写缓存;元数据读取失败时不再信任缓存。
  • 修复词典下载断点续传不校验 Content-Range 起点可能错位拼接、以及解压大小上限在写盘后才校验(zip 炸弹先撑满磁盘)的问题。
  • 修复快速连续打印两次时第二次打印会删掉第一次尚未被阅读器读取的临时文件的问题:打印临时文件名加唯一后缀,清理改为宽限期策略(仅删除 10 分钟前的旧文件)。