digua
7bf7768c03
refactor(ai): unify LLM configuration storage
2026-07-23 19:46:22 +08:00
digua
c11ca38472
refactor(electron): remove redundant main-process wrappers
2026-07-23 17:37:50 +08:00
digua
e02ca569e3
refactor(electron): simplify archive import runtime
2026-07-23 17:37:50 +08:00
digua
a8e59174af
refactor: remove obsolete import and database code
2026-07-23 17:37:50 +08:00
digua
cac8c22d4f
feat(insight): add monthly direct contact trend
2026-07-23 16:50:05 +08:00
digua
755a0b5a76
feat(insight): add annual activity rhythm metrics
2026-07-23 16:50:05 +08:00
digua
66311a2412
docs: expand Chinese troubleshooting FAQ
2026-07-23 15:04:06 +08:00
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
2026-07-22 10:14:31 +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
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
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
digua
32bd268af4
release: v0.31.3
2026-07-17 11:17:22 +08:00
digua
e6059ffd75
fix(ai): enable all tools for default assistants
2026-07-17 10:29:59 +08:00
digua
79e2027b43
fix(ai): initialize and migrate default assistants
...
Load standalone CLI assistant configs through the shared manager so fresh data directories receive locale defaults. Back up custom assistants that occupy newly reserved default IDs before installing canonical templates.
2026-07-17 00:42:04 +08:00
digua
713776a7c4
refactor(ai): inline assistant upgrade skip check
2026-07-17 00:42:04 +08:00
digua
c73d18208e
feat(ai): safely upgrade customized default assistants
2026-07-17 00:42:04 +08:00
digua
3dc8fb3157
fix(ai): share default assistants across runtimes
2026-07-17 00:42:04 +08:00
digua
e4eb7fa683
feat(ai): improve default assistant experience
2026-07-17 00:42:04 +08:00
digua
6d2ad097a3
fix(analysis): preserve catchphrase member filter
2026-07-16 23:28:17 +08:00
digua
4925fa0676
docs(analysis): clarify private lab scope
...
Document that private-chat Lab intentionally exposes SQL only and that keyword ranking remains limited to group chats.
2026-07-16 23:28:17 +08:00
digua
d75793c5ca
fix(ranking): show list counts in card headers
2026-07-16 23:28:17 +08:00
digua
abd7027d38
feat(ranking): move keyword analysis into rankings
2026-07-16 23:28:17 +08:00
digua
f762b2af35
feat(navigation): reorganize analysis and ranking views
2026-07-16 23:28:17 +08:00
digua
788793d096
feat(analysis): improve catchphrase insights
2026-07-16 23:28:17 +08:00
digua
6967779650
refactor(analysis): simplify ranking cards
2026-07-16 21:12:21 +08:00
digua
041d2191da
fix(http): preserve batch delete client errors
...
Let status-coded 4xx errors reach the shared Fastify handler so missing sessions remain distinguishable from transaction failures. Add regression coverage for the missing-session response.
2026-07-16 20:09:18 +08:00
digua
c4ad84cb7a
fix(api): preserve REST member display name
...
Normalize member responses from both database and Desktop providers so the public REST endpoint keeps its legacy name field while retaining the newer detailed fields.
2026-07-16 20:09:18 +08:00
digua
c64c7b29a0
docs(runtime): clarify temp workspace ownership
...
Document the single-OS-user product boundary beside the default private temp root so future reviews do not treat unsupported multi-UID sharing as a regression.
2026-07-16 20:09:18 +08:00
digua
47ca785779
fix(electron): resolve temp workspace source alias
...
Add an exact Vite alias before the workspace catch-all so Electron main-process imports resolve the exported temp-workspace source instead of a nonexistent package-root path.
2026-07-16 20:09:18 +08:00
digua
0227a8cc6b
fix(migration): make Electron path test cross-platform
...
Resolve Electron userData fixtures for macOS, Windows, and Linux so the migration regression test exercises the path selected by the current runner.
2026-07-16 20:09:18 +08:00
digua
7d156040f8
fix(runtime): contain and clean temporary workspaces
2026-07-16 20:09:18 +08:00
digua
c34f71ed2d
chore(workspace): enforce dependency declarations
2026-07-16 20:09:18 +08:00
digua
756daf04bf
refactor(http): split route contexts and registration
2026-07-16 20:09:18 +08:00
digua
4b52a7d2f8
refactor(http): organize shared route package
2026-07-16 20:09:18 +08:00
digua
bf7004d0e0
refactor(http): share server infrastructure
2026-07-16 20:09:18 +08:00
digua
2d69e836ea
refactor(import): share JSON push protocol
2026-07-16 20:09:18 +08:00
digua
e563183e62
refactor(http): share system and session routes
2026-07-16 20:09:18 +08:00
digua
f949c7a8f9
refactor(http): unify API error model
2026-07-16 20:09:18 +08:00
digua
a14de9fc10
refactor(electron): organize desktop runtime modules
2026-07-16 20:09:18 +08:00
digua
45d9813d05
refactor(electron): split desktop startup and window modules
2026-07-16 20:09:18 +08:00
digua
c6ae5d4cfa
refactor(electron): modularize path management
2026-07-16 20:09:18 +08:00
digua
68e33cd0b0
refactor(electron): formalize runtime import boundaries
2026-07-16 20:09:18 +08:00
digua
fdd2a943f2
feat(members): support batch deletion
2026-07-16 20:09:18 +08:00
digua
5a5fae880a
refactor: remove redundant re-export proxies
2026-07-16 20:09:18 +08:00
digua
35c696b1a4
release: v0.31.2
2026-07-16 11:30:01 +08:00
digua
b893cf27ca
chore(vscode): update recommended extensions
2026-07-16 11:23:39 +08:00
digua
f5f7596822
feat(members): unify private member management
2026-07-16 11:23:39 +08:00
digua
15d0158a40
feat(members): align member table interactions
2026-07-16 11:23:39 +08:00
digua
3275591c11
fix(capture): remove unsupported snapdom option
2026-07-16 11:23:39 +08:00
digua
d2cd841168
fix(members): stabilize member management table
2026-07-16 11:23:39 +08:00
digua
b2da72ac6f
fix(analysis): wrap section filters by content width
2026-07-16 00:35:19 +08:00
digua
9438cb2a23
fix(capture): preserve inline padding after screenshots
...
Restore only the padding properties changed by each capture mode so partial inline padding is not cleared after cleanup.
2026-07-16 00:34:16 +08:00
digua
142f2f03b1
fix(web): support image clipboard copy
2026-07-16 00:34:16 +08:00
digua
3c8b83d571
fix(capture): restore AI screenshot framing
2026-07-16 00:34:16 +08:00
digua
1b940143fd
style(ai): refine chat message backgrounds
2026-07-16 00:23:47 +08:00
digua
774eeb2ce2
feat(import): add home auto-import hint
2026-07-16 00:23:47 +08:00
digua
e2d4ef9831
chore(deps): upgrade TypeScript and Nuxt UI
2026-07-15 23:23:52 +08:00
digua
8ae3e42e4f
chore(workspace): refine editor and formatting setup
2026-07-15 23:23:52 +08:00
digua
6e4af0a798
fix(capture): keep word clouds stable during screenshots
2026-07-15 22:12:44 +08:00
digua
03af25e238
fix(capture): limit progressive narrowing to AI chat
2026-07-15 22:03:13 +08:00
digua
0aafed0f60
fix(sidebar): limit titlebar inset to macOS
2026-07-15 22:00:35 +08:00