Features
- HitViewerModal: browse search results in a modal instead of routing away by @arkohut
- Clicking a search hit on the home page now opens it in a full-screen modal layered over the search results, so the underlying query, scroll position, and filters stay intact when you close it
- ←/→ step through the hit list in list order (not by timestamp); the bottom floating cluster shows the kbd hints alongside an "Explore context" button that jumps to the full per-entity context page when you want temporal browsing
- State is driven by a transient
opensearch-param so links into a specific hit are shareable and the back button does the right thing
- Entity context page is now strictly temporal by @arkohut
- Dropped the hit-list mixing inside
/entities/$id; the context page is now a pure time-strip view, and hit-list navigation lives in HitViewerModal - Makes the two surfaces have one clear job each: modal for "next/previous result in this search", context page for "what was on screen around this moment"
- Dropped the hit-list mixing inside
- Full i18n pass on entity viewer and context strip by @arkohut
- Modal labels, context-page labels, keyboard-shortcut hints, frames count, and the not-found state are all translated
- "Explore context" button label and tooltip translated in both English and Chinese locales
Bug Fixes
update_entityno longer wipes plugin-written metadata by @arkohutupdate_entityused to delete every metadata row and re-insert only what the payload carried, which meant any follow-up scan PUT would erase OCR, VLM, and structured-VLM outputs that plugins had written asynchronously- Switched to per-key upsert (mirroring
update_entity_metadata_entries); plugin-status reset behaviour is unchanged
- ContextNavigationBar timestamps now match the toolbar's local time by @arkohut
- API timestamps were being interpreted as local time, so the time-strip drifted from the toolbar's displayed time when the server was in UTC
- Treat the timestamps as UTC and convert to local, so both surfaces agree
Full Changelog: v0.35.1...v0.36.0
新特性
- HitViewerModal:在弹层中浏览搜索结果,不再跳转走 by @arkohut
- 在首页点击搜索结果现在会在搜索页之上打开一个全屏弹层,关闭时下方的查询、滚动位置和筛选条件都保持原样
- ←/→ 按搜索结果列表顺序(而非时间顺序)翻页;底部浮动控件区同时展示快捷键提示和"Explore context"按钮,点它会跳到 entity 上下文页用时间轴方式继续浏览
- 用一个临时的
opensearch-param 驱动弹层状态,所以单条 hit 的链接可分享,浏览器的后退按钮也能正常工作
- Entity 上下文页改回纯时间轴 by @arkohut
- 从
/entities/$id中移除了 hit 列表混排,上下文页现在是纯粹的时间条视图,hit 列表导航全部交给 HitViewerModal - 两个界面职责清晰:弹层负责"上一条/下一条搜索结果",上下文页负责"这一时刻前后屏幕上是什么"
- 从
- entity viewer 和上下文条整体国际化 by @arkohut
- 弹层标签、上下文页标签、快捷键提示、frames 数量、未找到状态都加上了翻译
- "Explore context" 按钮文案和 tooltip 也补齐了中英文
Bug 修复
update_entity不再覆盖插件写入的 metadata by @arkohut- 旧实现一遇到带 metadata 的 payload 就先删光所有 metadata 行再写回,这会导致后续一次 scan PUT 把 OCR、VLM、structured_vlm 等插件异步写入的元数据全部抹掉
- 改为按 key upsert(与
update_entity_metadata_entries行为一致);插件状态强制重置的逻辑保持不变
- ContextNavigationBar 的时间条和工具栏时间对齐 by @arkohut
- 之前把 API 返回的时间当作本地时间解析,导致在 UTC 服务器上时间条会与工具栏显示时间错开
- 现在统一按 UTC 解析再转本地,两边时间一致
完整更新日志: v0.35.1...v0.36.0