DingLater v2.3.0
DingLater v2.3.0
这次更新集中改善 Windows 版的消息列表、提醒可靠性、数据一致性和便携包交付。
消息与提醒
- 刷新复用未变化的会话和消息对象,保持选择;并发刷新合并执行,减少重复读取和解密。
- 搜索复用会话缓存,输入延迟 180 毫秒后筛选;无结果时可一键清除搜索。
- “稍后提醒”按到期时间排序,会话列表显示下一次提醒时间;点击提醒自动清除阻碍定位的搜索条件。
- 所有提醒共用一个计时器,每分钟核对系统时间。系统睡眠或时钟调整后按实际时间检查,过期消息不再弹出提醒。
- 提醒必须严格早于消息清理时间;重复设置、取消和退出释放经过回归验证。
数据与后台稳定性
- 留存期设置、过期消息删除、失效稍后提醒释放在同一 SQLite 事务内提交,写入失败时整体回滚。
- 恢复捕获失败后回到暂停状态;取消批次不再被当作成功接收。
- 较旧的程序拒绝打开未来 schema,避免降低版本号;损坏数据库隔离文件使用唯一名称。
- 程序退出期间忽略迟到的 UI 刷新,减少后台任务访问已释放界面的风险。
下载与验证
- 发布包:
DingLater-2.3.0-win-x64-portable.zip,同时提供SHA256SUMS.txt。 - ZIP 内增加
package-files.json与Verify-Portable.ps1,可定位解压不完整或文件损坏。 - 发布流程实际解压 ZIP,逐文件验证长度和 SHA-256,再以隔离合成数据启动真实 WinUI 界面并检查退出。
- 校验通过后才替换
BuildOutput,构建失败保留上一版;新增 Windows CI 执行测试和格式检查。
下载后先退出旧版,将 ZIP 完整解压到新文件夹。消息继续使用当前 Windows 用户的 %LOCALAPPDATA%\DingLater 数据,无需搬移。
验证边界
发布前本机 Release 测试:79 项通过、1 项真实数据库探针跳过;NuGet 已知漏洞检查未发现受影响依赖。ZIP 的 575 个文件通过完整解压、逐文件校验和实际窗口启动检查。
自动化覆盖 Windows/Core 单元与集成回归、打包完整性和本机窗口启动。真实钉钉 V3 数据库探针默认跳过;双账号发送方“未读”、真实设备睡眠唤醒和独立 Windows 用户隔离仍需环境验收。当前钉钉格式兼容性见 COMPATIBILITY.md。