Skip to content

v0.7.12 — 全项目体检整改

Choose a tag to compare

@Andiii208 Andiii208 released this 28 Sep 15:27
· 43 commits to master since this release

v0.7.12 — 全项目体检整改(2026-09-28)

发版宣发前的一次全方位体检收口:四路并行审计(main / renderer / 契约测试 / 构建依赖)实测 30 项问题,分九批修复。测试 1467→1572,smoke 40/40,打包产物 asar 抽验 620 文件 sha256 一致。

安全(两条红线)

  • B 站出站 URL 白名单:字幕轨 URL 来自 B站接口响应体、封面来自 view 响应体、短链是输入框透传——此前三者均可指向任意主机,带 SESSDATA 登录态的请求会把会话送到响应体指定的主机(SSRF + 会话外带)。现在统一过白名单(scheme 限 https、host 精确或前导点后缀匹配),短链解析 b23.tv 短码后自行规范化。
  • registerIpc 二次注册状态分裂:窗口重建(activate)后旧任务的取消、在跑守卫、缓存根切换守卫全部失效——已把队列/取消控制器提升到 ctx,重注册只做 handler 绑定。
  • 主进程 fetch 会话感知(provider 与登录探活跟随系统代理;school/bilibili 因 Electron net.fetch 不支持 manual redirect 暂留,上游支持后收口)。
  • CAS 登录「保存失败不再记成功」;SEU_*_PATH 测试缝隙加 app.isPackaged 门。

用户可见修正

  • 笔记文本渲染纪律 28 处:时间线条目、金句、章节标题/摘要、导图边标签、PDF 讲义中的模型自由文本不再印出 **加粗** / ==高亮== 字面符号(SVG 内新增 tspan 分段方案)。
  • 切课残留笔记、PDF 导出可永久卡死(加 8s 兜底)、PDF 与其它导出并发弹双保存框——三个真 bug 修复。
  • 浅色系统上手动选深色时,==高亮== 不再用亮黄底铺暗色正文。
  • 普通 /login 平台跳转不再误报「会话过期」触发重登录。
  • 九处按钮补在途态(取消任务/取消排队/显示更多/B站退出/设置重试/缓存浏览/复制 Markdown/抓取课时目录/收藏)。

工程与契约

  • 测试假桥 as unknown as 降级为类型标注 + 契约测试把 makeBridge ⇄ bridge.ts ⇄ smoke EXPECTED_BRIDGE 三方钉死(同类漂移曾让四门禁全绿而 smoke 抓到桥面形状问题)。
  • providers:test / settings:chooseCacheDir 两个零验证 handler 补测;smoke CI paths 补 notes 模块。
  • schema:at 空串不再静默变 0 秒;丢弃计数补四项口径。
  • 声明层如实化:删除零引用的 Tailwind 许可残留;ffprobe 许可 MIT→GPL-3.0-or-later(实测二进制 --enable-gpl);README IPC 62→66。
  • main 卫生:日志 rotate 每行一次→每分钟至多一次;PPT 页附件 MIME 按魔数推断;下载流写背压。

安装:下载 Flash.Summary.Setup.0.7.12.exe(Windows x64,约 152 MB)。许可与源码要约见安装目录 legal/ 与 THIRD-PARTY-NOTICES.md。