Repository navigation
DeLector v5.23.4 — 德语学术精读与备考工作台
DeLector v5.23.4 正式发布
本版修掉桌面版「导出假成功」的老问题,并修复一个会让项目装不上的依赖锁文件缺陷。
本版更新
修复
- 桌面版导出不再「假成功」:此前点导出会弹「已导出」,但磁盘上没有文件——桌面壳用的 WebView2 默认不放行下载,
DownloadStarting被静默取消,前端却在发起后就无条件报成功。现在改为由 Python 显式写入磁盘并回传真实路径与字节数,前端只在真正拿到路径时才提示成功;写失败会给出可读的失败提示。Android 仍保持「回退系统下载」的原有行为。 requirements.lock.txt装不上:锁文件里有两个硬冲突——numpy被升到只支持 Python 3.12 的版本(项目虚拟环境固定 3.11),pydantic-core与pydantic要求的精确版本不一致。已回退到与 Python 3.11 兼容的组合。
内部
- 依赖批量升级:fastapi 0.162.2、click 8.5.1、typer 0.28.0、typing-inspection 0.4.5;CI 的缓存动作升到 v6。六个 dependabot PR 合成一笔,避免逐个把锁文件整文件重写。
- 依赖治理判据:CI 只安装
requirements.txt、不读锁文件,所以锁文件被改成不可解组合时 CI 仍然全绿。此后合并任何依赖 PR 前都要先跑uv pip install --dry-run -r requirements.lock.txt验证锁文件可解。 - 新增守卫:
tools/wb_export_probe.mjs(5 个场景,钉住「没有真实路径就不许报成功」)+tests/test_wb_export_save.py(6 个用例)。
已知限制(Known Limitations)
- 桌面导出的验证边界:只在
desktop.py源码运行下验证(提示信息含真实路径、文件字节数一致);冻结后的 exe、真实磁盘写失败路径、macOS / Linux 均未验证。 - arm64 真机仍未点检:v5.23.3 的两处修复(阅读页状态模板、Android 退出重进补载)只在 x86_64 模拟器(
emulator渠道 debug 包)验证。本版 Android 侧无功能变化,但含static/改动,仍需覆盖安装才生效。 - 本地测试环境的既有噪声:本机全量为 3040 passed,另有 2 failed + 3 errors 属环境问题(GBK 控制台解码;
player_tray_probe/probe_json_contract在未改动的 master 上同样失败),CI 上全部通过。 - 重复卡存量未合并:词卡写入侧已幂等,未建 UNIQUE 索引,历史重复仍在库中。
回滚(Rollback)
- 代码 / 产物:可回退至
v5.23.3发布包(v5.23.1白屏、v5.23.2阅读页不可用,均不宜作为回退目标);build-release.yml由 tag 触发。 - Android:
versionCode由52303升至52304,不可回滚;只能卸载重装旧 APK(会清应用私有数据,须先备份);versionCode不得回拨。 - 数据位置 / 格式:未搬移数据目录、未改变数据文件格式。
- Schema:零 DDL、零迁移,旧版可直接读同一 SQLite。
- 配置 / 发布通道:无新增必需配置或密钥;git revert 可回退代码。回退到 v5.23.3 会恢复「导出假成功」的旧行为。
本版资产
| 平台 | 文件 | 大小 |
|---|---|---|
| Windows x64 | DeLector-v5.23.4-Windows-x64-Portable.zip |
86.5 MB |
| macOS | DeLector-v5.23.4-macOS.tar.gz |
58.8 MB |
| Linux x64 | DeLector-v5.23.4-Linux-x64.tar.gz |
122.4 MB |
| Android (arm64-v8a) | DeLector-v5.23.4-Android.apk |
59.4 MB |
完整变更
逐版完整变更(含门禁与回滚说明)见 CHANGELOG.md。