11 KiB
缺陷清单进度
docs/BugList.md 的 93 条,按清单次序逐条处理:先核对当前代码,已由先前改动修好的写明出处,其余修好、审查、提交、推送后勾上。
0.1.2 先做(用户 2026-10-09 定:先修致命与高,加自动更新,发布 0.1.2;其余随后按清单次序)
次序:S-03、P-01、X-01、D-01、D-02、P-02、P-03、P-04、M-01、X-02、X-03、K-01(Linux、Windows,本机不能运行)、UPD-1、REL-1、REL-2。K-01 不进 0.1.2:只影响 Linux 与 Windows 的 worker,本机不能运行验证,0.1.2 只发 macOS;留在下面的清单里,未勾。T-05 已改一半(审查查出缩放后尺寸不重测),暂放,补丁存在草稿区。
-
UPD-1 自动更新:应用内检查新版本、下载、校验,经用户同意后替换并重启;发布时生成更新清单,不再要点 GitHub 链接 — 启动检查默认关、菜单“检查更新…”、退出后再装、失败记录先于重开、经 Gitea API 找清单;R1–R4 授权、提交点、保存询问、版本绑定、横幅位置、取消退出、记录先后;R5 两处(启动检查失败记日志、以替身 open 断言先后)已修并以变异验证,五轮上限后由 UPD-2 复核通过
-
T-01 内核的图块与命中按像素网格,Ely 的光标、选区、表头按文档 twips,越远越错位 — R2.16 已修(图块 twips 与打印 twips 互换)
-
T-02 单元格光标露出边缘即把视图滚到中央,点击与拖选时视图跳动 — R1 拖选中仍滚、超宽格跳回起点;R2 PASS
-
T-03 视口比工作表宽时网格先居中再左移一次 — 载入回复带文档种类,表格不居中;R1 测试漏几何到达前的首帧;R2 PASS
-
T-04 从不调用
setClientZoom,内核命中与几何按默认缩放算 — R2.16 已修(worker 每次报可见区前 setClientZoom) -
T-05 文档尺寸按内核像素取整,表尾被裁
-
T-06 滚轮向下被内核平铺区卡住
-
T-07 表头点选、行高列宽拖动是“按编号的命令”,而每次点击与拖选都推进修订,紧接着的表头操作被当作过期拒绝
-
T-08 自动筛选的列菜单对光标所在的表而不是按钮所在的表筛选、排序
-
T-09 导入文本文件时整文件的 UTF-8 校验在界面线程跑
-
T-10 CSV 导入对话框开着时打开任何别的对话框,待导入的文件静默消失
-
T-11 对话框比其标签活得久:导出、定义名称、重命名不可见却“开着”,挡住导入;名称表的“转到”激活已关闭的标签
-
T-12 打印区域是整列或整行时页面设置无法应用
-
T-13 打印失败报成“导出失败”(非 macOS 必现)
-
T-14 导入扫描把整个文件的每个字段都建成字符串
-
T-15 非 UTF-8 文本的默认编码跟系统区域而不是界面语言
-
S-01 切换幻灯片后主画布不重画
-
S-02
deck.rs超过 500 行 — 随 S-03 把 Extra 移到 extra.rs,deck.rs 463 行 -
S-03 ElyShow 的缩放一两帧后弹回“适合幻灯片”,缩放功能不可用 — 只在标签首次观察时适合一次;R1 PASS
-
S-04 选屏对话框被别的对话框顶掉后,
show_starting卡住、放映副本泄漏 -
S-05 一条批注的时间恰为午夜或只有日期,整个批注栏不显示
-
S-06 导出或打印的“从–到”填 0 时导出全部幻灯片
-
S-07 母版视图下演示检查的行按幻灯片序号跳转
-
S-08 刚编辑过幻灯片就进备注栏键入,备注可能丢
-
S-09 改尺寸失败后
size_asked一直留着 -
S-10 开始放映的两处拒绝无提示(规则 2)
-
P-01 文件系统的
PermissionDenied被拼成不存在的文案键,应用崩溃 — worker 的拒绝改为自有错误类型 Refused;R1 测试不跨平台、不看提示;组件库 f834f55 加 Toaster::shown;R2 PASS -
P-02 每次编辑落地清掉全部图块与缩略图,页面空白、刚画的墨迹消失 — 图块随 R2.6;缩略图在编辑后留到重画;R1、R2 测试未证实际绘制;R3 PASS
-
P-03 “编辑文字和图片”先命中图片对象再命中文字;一点抖动就移动了背景图 — 包住文字块的对象让位于文字,移动须过 3 个窗口像素;R1 漏掉同点的小图;R2 PASS
-
P-04
TEXT_BLOCKS对每个文字块重跑一遍整页内容过滤,编辑工具长时间无反应 — 整页一遍干跑判定全部文字块(1000 块 1.5 s→0.1 s);R1 转向文字后错位、共用原点只计一块;R2 PASS -
P-05 连续快画或快点被拒:“文档在此间已改动,未执行”
-
P-06 默认字体“原字体”在 Type 1/Type 3 字体的文件上失败,只给引擎原话
-
P-07 含连字的文字块永远不可编辑
-
P-08 页面读取失败后每帧重试、每帧弹提示
-
P-09 识别文字的写入被拒后仍弹“成功”
-
P-10 预览回复被丢弃时“应用”静默无事
-
P-11 撤销或重做在 MuPDF 侧失败后 worker 的步数不再同步
-
P-12
unhook中途抛出时泄漏保留的对象 -
P-13 优化导出的“之前”大小取磁盘文件而非当前文档
-
P-14 文字块含控制字符时 JSON 回复不可解析
-
D-01 导出或打印对话框开着时关闭其标签即崩溃 — Docs 实现 tab_closed,关标签即撤下其导出对话框;R1 PASS
-
D-02 邮件合并以当前标签为模板,预览后生成的每份都是同一条记录 — 选数据时记下模板标签,预览副本不作模板;R1 测试绕过选 CSV 入口;R2 PASS
-
D-03 界面线程同步持 worker 锁读内核(样式、字体、书签、公式、分节名)
-
D-04 一条批注的时间读不出,全部批注与修订都不显示
-
D-05 邮件合并某条记录失败时内核文档泄漏
-
D-06 导航栏大纲点击按当前列表取下标,后台重读后可能越界
-
D-07 导航栏隐藏时仍随每次光标移动重读大纲与书签
-
D-08 Linux、Windows 上“打印…”可用,导出 PDF 后才报“此平台未构建”
-
M-01 键入期间外部以相同内容重写文件,丢掉上次停顿之后键入的全部文字 — 先等页面送出未送的键;同文只接过文件与字节、标签为已保存;磁盘回到上次保存的文字时保留编辑并恢复自动保存;R1–R4 字节、自动保存、在途写入、已保存基线;R5 PASS
-
M-02
refresh归零版本计数却不换代,在途的一键让标签一直“未落定” -
M-03 干净标签接过磁盘文字后关闭仍问“是否保存”
-
M-04 第二次打印或导出 PDF 悄悄取消第一次,没有文件也没有错误
-
M-05 点页面里的链接什么也不发生
-
M-06
on_app_quit无条件删恢复点与崩溃锁,AppKit 直接终止时丢未保存内容 -
M-07 崩溃恢复的未命名副本按“第一个显示的未命名标签”配对,内容可能落错标签
-
M-08 页面重载后悬着的渲染回调永不完成,导出既不成功也不报错
-
M-09 导出的保存面板出错被当作取消
-
M-10 关闭查找框只清当前标签的高亮
-
M-11 页面把搜索词写进应用日志
-
M-12 浏览器创建完成前
WebView已释放,浏览器泄漏 -
M-13 编辑器构建失败时页面空白且不上报
-
M-14
render_pdf在界面线程内嵌图片并写文件 -
G-01 打开“文件历史”或“逐行追溯”后,中间区不再响应任何别的选择
-
G-02 进行中操作读取失败被吞掉;
git am冲突无提示条无错误 -
G-03 新建的空仓库在“仓库”页显示两段 Git 致命错误(引用日志、LFS)
-
G-04 停止取回/拉取/推送失败的提示写成“克隆没有停下”
-
G-05 合并结果保存失败报成“Git 失败”,
tree.error.save是死文案 -
G-06 首次提交后紧接着取消暂存,按过期的“已有提交”判定跑成
git rm --cached -
G-07 任一引用没有创建日期,整个分支页读不出
-
G-08 清理预览后文件被外部删除,对话框只给裸 OS 错误
-
G-09 后台读取回来的对话框覆盖用户同时打开的对话框
-
G-10 选中的分支、标签、位置是窗口级的,跨仓库标签串台
-
G-11 已选边的冲突块再选另一边,提示“结果已手改”
-
G-12 符号链接父目录下,当前打开的工作树被当成别的工作树而可“移除”
-
G-13 非 macOS 平台的死入口
-
G-14
repo.rs的孤立文档注释 -
K-01 非 macOS 的 worker 不运行 VCL 主循环,内核的回调与异步输入永远不送达
-
K-02 图块的代际在画完之后才取,画到一半的作废被盖掉
-
K-03
rect_of宽容解析把读不出的载荷悄悄吞掉 -
K-04
Sheets.current用as u64转有符号的 part -
X-01 设置窗口在前时 Cmd+Q 直接退出,跳过未保存询问并抹掉恢复点 — 退出一律经主窗口宿主的流程(route_quit),延后到动作结束、先把宿主窗口提到前面;R1 主窗口 Cmd+Q 不问;R2 询问被设置窗口挡住;R3 PASS
-
X-02 共用
settings.json读不出时 Doc、Table、Show 根本起不来 — 作者名取启动时读入的设置;R1 重启失败丢作者、脚本退出码、client.rs 超行;R2 作者更新的先后与停机期间的更新;R3 PASS -
X-03 第二个实例启动即清掉运行中实例的工作目录与恢复点 — 每个应用一个实例锁,第二份被拒并报出持锁进程(Unix fcntl F_GETLK);R1–R3 进程号竞争、Windows 断言;R4 PASS
-
X-04 属性栏字号菜单的
expect("sizes are numbers")是脆弱点,但当前不可达 -
X-05 恢复点写不成时每 10 秒弹一次提示
-
X-06
session.lock空或损坏即永久关闭恢复功能 -
X-07 加密文档的恢复点每次写入都解密全部已有点,且持 worker 锁
-
X-08 另存为在等待关闭或退出时被拒绝,关闭链悬空,ElyMark 的会话清单冻结
-
X-09 保存期间落地的编辑可能让自动保存停摆
-
X-10 别的标签的文件所在卷消失时,本标签的另存为失败并被标为保存失败
-
X-11 worker 的 stderr 中继遇到第一行非 UTF-8 即永久停止
-
X-12 恢复路径在界面线程做文件 I/O
-
X-13 非 macOS 构建里仍提供只会报“未构建”的入口
-
X-14
agents.md引用的docs/engineering-risks.md不存在
0.1.2 发布
- UPD-2 复核 UPD-1 第五轮的两处修复:启动检查(含 Gitea 查询)失败写日志;失败记录先于重开,以替身 open 断言 — R1 PASS
- REL-1 dmg 里有指向“应用程序”的快捷方式,可直接拖入安装(用户 2026-10-09 报) — release.sh 在 dmg 里放“应用程序”替身,随 UPD-1 审查
- REL-2 修完上列各条后打包、发布 0.1.2,官网指向新发布页 — v0.1.2 发在 git.zacharyzhang.com(六个 dmg、两个源码包、六份更新清单;release-macos.sh 通过;经 API 取清单与 dmg 散列核对一致),官网显示 0.1.2