Commit Graph
1342 Commits
Author SHA1 Message Date
digua 7cc11c2439 feat(docs): remember language preference
Persist the active documentation locale and restore it when users revisit the root URL. Open the VitePress development site automatically on startup.
2026-07-23 14:59:22 +08:00
digua 651e9c1935 feat(analysis): add private chat journey insight 2026-07-22 23:26:57 +08:00
digua ce5dfe08e9 feat(relationship): redesign interaction timeline 2026-07-22 21:39:49 +08:00
digua 69ee6716b1 feat(web): align Web WASM session insight navigation 2026-07-22 19:00:39 +08:00
digua 53bd6750af feat(analysis): merge session overview into insights 2026-07-22 19:00:39 +08:00
digua 795e9234d5 refactor(analysis): organize session insight components 2026-07-22 19:00:39 +08:00
digua 723831c04e docs: streamline onboarding documentation 2026-07-22 18:07:32 +08:00
digua a66d77f80f docs(docker): document shared data setup 2026-07-22 13:31:53 +08:00
digua 179b8c12c2 release: v0.33.0 v0.33.0 2026-07-22 10:14:31 +08:00
KokerZhou f15a9989b4 docs(docker): bind published ports to localhost 2026-07-22 09:59:50 +08:00
KokerZhou a0712f0b3a fix(docker): persist CLI system state 2026-07-22 09:59:50 +08:00
KokerZhou 383f0ec749 docs: bind Docker quick start to localhost 2026-07-22 09:59:50 +08:00
KokerZhou 48761d7fa3 docs: add Docker deployment guide 2026-07-22 09:59:50 +08:00
KokerZhou 5806a1fcb5 ci: publish multi-arch ChatLab CLI image 2026-07-22 09:59:50 +08:00
digua 21b40358c2 fix(web): keep member filters out of proximity queries
Preserve time bounds for group proximity analysis without pre-filtering the message stream to a single sender.
2026-07-22 09:44:17 +08:00
digua d5582f456c fix(analysis): align browser word frequency totals
Compute total and unique word counts after the minimum-frequency filter while keeping them independent from the displayed top-N limit.
2026-07-22 09:44:17 +08:00
digua 915aa19a20 feat(web): add session insights 2026-07-22 09:44:17 +08:00
digua 83bbc06366 feat(web): add insight query capabilities 2026-07-22 09:44:17 +08:00
digua c42fefd227 fix(web): stabilize session overview interactions
Keep filter-only route changes on the current session page, prevent superseded analysis results from overwriting the latest time range, and hide unsupported capture controls in Web WASM.
2026-07-20 23:23:49 +08:00
digua 985ce4276d feat(web): add session overview 2026-07-20 23:23:49 +08:00
digua 8e6cd5c6e6 feat(web): refine import homepage 2026-07-20 23:23:49 +08:00
digua 73c6de364e chore(web): add Web WASM development workflow 2026-07-20 17:24:55 +08:00
digua 8ca8b4f623 fix(web): prevent concurrent OPFS access 2026-07-20 17:24:55 +08:00
KokerZhou 8e9e098391 fix: bundle frontend icons locally 2026-07-20 16:36:32 +08:00
digua 5f92d953c0 feat(web): add Web WASM application shell 2026-07-20 11:51:17 +08:00
digua ff6a397d4f refactor(frontend): extract reusable browser services 2026-07-20 10:14:59 +08:00
digua d888771670 feat(parser): add wasm-bindgen browser parser 2026-07-20 00:14:51 +08:00
digua cc104cd07c feat(web): add browser SQLite import runtime 2026-07-20 00:14:51 +08:00
digua 6bd288a2cd refactor(parser): expose browser-safe parsers 2026-07-19 21:27:23 +08:00
digua 344bd0b12f refactor(import): share parsed message writer 2026-07-19 21:27:23 +08:00
digua 1d183cbe6a fix(parser): align ChatLab JSONL validation
Keep automatic format detection consistent with accepted JSONL syntax and reject unresolved owner metadata. Regenerate the standalone skill validators from the canonical implementation.
2026-07-19 15:16:29 +08:00
digua b0380a6689 feat(skills): support conversion without ChatLab CLI 2026-07-19 15:16:29 +08:00
digua 1049f79800 feat(skills): add chat record conversion skills 2026-07-19 15:16:29 +08:00
digua 3a995f6491 feat(cli): add ChatLab format validator 2026-07-19 15:16:29 +08:00
digua e5ec60aaaf refactor(format): centralize ChatLab format version 2026-07-19 15:16:29 +08:00
digua 9c8210e18c docs(ai): clarify analysis and privacy benefits 2026-07-19 15:16:29 +08:00
digua 98ffd88670 fix(electron): block overlapping legacy migrations
Resolve legacy and active data directories through real paths and reject parent-child overlaps before any recursive deletion. Cover settings migration, parent paths, and path aliases in the desktop path regression test.
2026-07-19 00:24:50 +08:00
digua 23e145427c fix(electron): prevent active data directory deletion 2026-07-19 00:24:50 +08:00
digua dd6765baf3 release: v0.32.0 v0.32.0 2026-07-18 17:44:15 +08:00
digua 5d30254c17 fix(parser): preserve JSONL member metadata
Emit explicit members before the first streamed message batch so merge previews do not retain metadata-free member stubs. Add parser ordering and temporary database regression coverage.
2026-07-18 17:38:12 +08:00
digua c0942a72f0 fix(import): stabilize large and multi-file imports 2026-07-18 17:38:12 +08:00
digua 4518a3aaa9 docs(data): explain skipped-file cleanup policy
Clarify that skipped files can leave unique data on either side, so cleanup records intentionally remain unchanged and deletion performs the final active-path safety check.
2026-07-18 16:15:19 +08:00
digua d4c837b367 fix(data): keep retry sources out of cleanup
A retried migration can skip stale files already copied to the target. Keep the source directory outside manual cleanup whenever any files were skipped so newer source data cannot be deleted.
2026-07-18 16:15:19 +08:00
digua 1f3069f359 fix(data): harden migration cleanup flow
Show the pending cleanup notice in CLI Web after initialization while excluding the browser-only runtime.\n\nStub config persistence in the cleanup test so it cannot overwrite the user's real data directory settings.
2026-07-18 16:15:19 +08:00
digua 355d6cfd4d style(storage): refine local storage management 2026-07-18 16:15:19 +08:00
digua 739f8c7522 fix(data): preserve old directory after migration 2026-07-18 16:15:19 +08:00
digua 058c3448ca fix(security): harden desktop app lock
Keep the renderer fail-closed until lock state is known, use native modal dialogs without unmounting business state, and coordinate overlapping dialogs while locked. Isolate desktop E2E data from real user settings and keep startup migration inspection read-only.
2026-07-18 11:49:09 +08:00
digua e7dd418642 fix(security): throttle app lock PIN attempts
Persist failed unlock attempts in the lock flag so restarting the desktop app cannot reset the limit. Block further attempts for 30 seconds after five failures and surface the remaining cooldown on the lock screen.
2026-07-18 11:49:09 +08:00
digua 10ead5a306 refactor(security): simplify desktop app lock 2026-07-18 11:49:09 +08:00
xyz-225648 7e46e47d3c fix(security): 汇总应用锁安全审计修复
严格校验应用锁 canonical 配置,并通过临时文件原子替换避免写入中断损坏配置。

补充密码、手动锁定、闲置锁定、启动锁定和崩溃恢复回归测试。
2026-07-18 11:49:09 +08:00