Skip to content

TimeNote v1.0.11(预发布 · 供真机验证)

Pre-release
Pre-release

Choose a tag to compare

@github-actions github-actions released this 11 Nov 08:39
· 10 commits to main since this release

⚠️ 预发布(Pre-release):供真机验证,请勿当作稳定版

DEC-023~027 五轮架构重构后的第一个可安装产物。设计目标是「行为与重构前等价」,但尚未在真机上验证过,因此先以预发布形式提供。

这版改了什么

main.ts 从 3,617 行降到 1,052 行,拆成五层单仓结构(无破坏性变更,插件功能与设置项不变):

层 内容
core/ 纯逻辑:时间轴数学、解析、配色、跨天
ui/ 渲染引擎 TimenoteRenderer、DOM 垫片、零依赖日期实现
sources/ NoteSource 契约 + 5 个实现(memos / Blinko API / Blinko 本地导出 / 本地日记)
hosts/ HostAdapter 契约 + Obsidian / 内存两套实现
apps/ 装配入口,多宿主共用

顺带修掉两个重构引入的真机隐患:

  • 订阅泄漏 —— 关掉视图后不再持续监听 vault 变更(原实现会随开关不断累加监听)
  • 装配时机 —— 视图改在 onOpen 时才挂载,避免 contentEl 尚未就绪就被固定引用

重点验证这几项

  1. 第一次打开时间笔记视图 → 是否正常渲染
  2. 反复开关视图 3~5 次,再编辑任意笔记 → 日历是否自动刷新、不卡不重复
  3. 拖拽时间块改起止 / 拖时间点线 → 是否写入成功并提示「已更新」
  4. 勾选任务、跨天拖动 → 是否正常写回
  5. 若 vault 里有 Blinko/Notes 导出 → 是否显示为时间点线、点击能否跳转

安装

下载 timenote-1.0.11.zip,解压到 <vault>/.obsidian/plugins/timenote/,覆盖三个文件后重载 Obsidian(Ctrl+R)。

也可以只替换 main.js / styles.css / manifest.json 这三个文件。

已知限制

  • 本地 Blinko 导出的条目不能改时间(时间存在 frontmatter 的 date: 里)。历史注释称「一直可拖拽」,经实测不成立 —— 写方法对该类条目全部返回 false、零写入,本轮已修正注释并加了反证断言。
  • readonly 目前兼「禁止回写」与「是否有本地文件可跳转」两个语义,待拆分。

Full Changelog: v1.0.10...v1.0.11