Skip to content

Agent Timeline v0.7.1

Choose a tag to compare

@github-actions github-actions released this 30 Jul 13:15
· 16 commits to main since this release

分页交互轮:双端「加载更多」按钮改为滚到底自动加载;修一个设置窗口的 i18n 遗留 bug。

变更(双端)

  • 分页入口:撤掉底部「加载更多」按钮,改为滚到底自动加载。起因是用户看 Windows
    主窗口底部那颗按钮,判断它像多余功能——核实结论是功能不多余,入口形式多余
    真实库轻松涨到成百上千条,不翻页只能看最新一批;但按钮常驻占一行(Windows)/
    需要手动点击(mac)都不够顺手。改成滚到接近底部即自动取下一页,按钮撤掉:
    • Windows:判据抽成 Core/PanelGeometry.ShouldLoadMore 纯函数(9 条断言,逐闸
      变异反证);顺带把重排套用方式从「每次 Clear() 整表重加」改成保留公共前后缀、
      只动真变的槽位(新增 Core/ItemDiff.cs)——自动翻页后单次会话轻松涨到两三千条,
      每来一个新节点都要重排一次,冒烟 421 → 432;
    • macOS:TimelineView.swift 里的按钮换成 LazyVStack 尾部一个近乎不可见的哨兵
      视图,靠惰性渲染「进入视口才实例化」本身当滚到底判据,loadMore() 加重入门;
      用真实二进制 + 一次性合成的 3000 条数据集实机验证,90 步慢滚(约 540 次滚轮
      事件)精确触发 2 次加载(500→1000→1500),未见连锁拉全库;swift test 89 → 92;
    • 两端都复现但都未修的存量缺陷:把滚动条直接拖到最底(或等价的一次性大跳)
      会让正文稳定空白、小幅回滚不自愈,只有大幅滚开才恢复。Windows 端是
      ItemsRepeater 对未测量内容的 extent 估算问题;macOS 端 LazyVStack 复现了
      几乎相同的症状。均已确认与本轮改动无关(Windows 用 worktree 对照过旧版本一样
      会空白),留作已知问题、不阻塞本次发布;
    • design/strings.jsontimeline.loadMore 键保留不删——两端代码都不再引用,
      但它不是存储契约,留着不影响门禁,将来想加回来也不必重新过一次双端同源关。

修复(macOS)

  • 设置窗口标题的语言硬编码AppDelegate.openSettings()window.title 写死了
    一段中文拼接字符串,四语接线那轮漏改,导致设置窗标题不跟随界面语言切换;改用
    Strings.f("app.settingsTitle", version),并在语言切换通知里补一次刷新(此前该
    通知只重建了状态栏菜单,没重设已经打开的设置窗标题)。

内部

  • 演示数据集补齐日语/韩语正文scripts/demo_dataset.py):此前 Ja/Ko 只能切
    界面 chrome、时间线内容退回英文;现补上 12 条节点 + 6 个代号定义 + 1 条调研摘录
    的自然日语/韩语翻译(非逐字机翻),scripts/check-demo-dataset.py 从硬编码
    zh/en 泛化为遍历四语的结构一致性 + 文案两两不同 + 两端等价校验。纯开发/截图
    工具链改动,不影响已发布二进制。