Commit Graph
100 Commits
Author SHA1 Message Date
digua fc373bccf2 feat(ui): add internal UI primitives 2026-08-11 11:44:20 +08:00
digua 502b781024 fix(insight): lazily initialize route preferences 2026-08-11 10:38:05 +08:00
digua a2e66d07da feat(insight): refine annual and time investment reports 2026-08-11 10:38:05 +08:00
digua 2747a9f1d0 feat(owner): exclude sessions without current user 2026-08-11 10:38:05 +08:00
digua ae1ed4a946 feat(insight): refine time investment rhythm 2026-08-11 10:38:05 +08:00
digua 8e90434032 feat(insight): add cross-chat time investment 2026-08-10 22:20:38 +08:00
digua af7c8a5573 docs(agents): require evidence for edge-case reviews 2026-08-10 16:52:19 +08:00
digua 7c81d19d39 fix(topics): synchronize progress and highlights 2026-08-10 16:52:19 +08:00
digua 73601ebe26 fix(topics): coordinate session lifecycle across runtimes 2026-08-10 16:52:19 +08:00
digua e00b74a330 fix(summary): preserve generated summary correctness 2026-08-10 16:52:19 +08:00
digua 6b87e0796d fix(topics): harden generation and snapshot reuse 2026-08-10 16:52:19 +08:00
digua 3b6a00ad18 feat(memory): add AI-generated chat topics 2026-08-10 16:52:19 +08:00
digua 3c55352d4b fix(summary): track source message coverage 2026-08-10 16:52:19 +08:00
digua 2a412b228a fix(memory): rename records tab to chat memories 2026-08-10 16:52:19 +08:00
digua d6877c27fd fix(memory): keep index load failures non-destructive
Show a retry-only state when summary index reads fail so transient errors cannot expose the full rebuild action and erase summaries. Also align newly added implementation comments with repository style.
2026-08-09 18:44:40 +08:00
digua ed7360f8ac feat(memory): add linked chat records view 2026-08-09 18:44:40 +08:00
digua 3b8fec78cc fix(i18n): escape at sign in relationship galaxy messages 2026-08-09 18:44:40 +08:00
digua 6d95780bb2 fix(layout): restore header tools outside debug mode
Treat the persisted side position as debug-only at runtime so upgraded users retain a visible header entry while their original preference remains available when debug mode is enabled again.
2026-08-09 14:04:34 +08:00
digua c9a0670ea7 fix(settings): hide tools position outside debug mode 2026-08-09 14:04:34 +08:00
digua 73dca90a51 refactor: inline trivial single-use helpers 2026-08-09 14:04:34 +08:00
digua b002fbebec feat(changelog): allow disabling automatic popup 2026-08-09 14:04:34 +08:00
digua b12018b916 release: v0.35.0 2026-08-09 12:01:23 +08:00
digua d314f46778 fix(ui): preserve full-height insight views
Give the transition container and panes a definite height so asynchronously loaded relationship canvases initialize against the full available viewport.
2026-08-09 11:49:42 +08:00
digua 8531415ed3 fix(insight): simplify annual summary card styling 2026-08-09 11:49:42 +08:00
digua a8e4d8297f fix(analysis): clear galaxy detail inset
Reapply the camera projection whenever the detail safe area changes so closing the panel removes its stale view offset without resetting the user's camera.
2026-08-09 10:57:24 +08:00
digua 214fcee571 perf(analysis): lazy-load group galaxy view
Keep the Three.js renderer out of session detail route chunks until the relationship tab is opened.
2026-08-09 10:57:24 +08:00
digua f82a3a90b9 fix(analysis): keep galaxy member totals complete
Aggregate member detail signals from the full weighted edge set so visualization pruning cannot truncate interaction counts or timestamps.
2026-08-09 10:57:24 +08:00
digua bac896d12b fix(web): declare shared types dependency 2026-08-09 10:57:24 +08:00
digua 3aee46df28 fix(analysis): preserve galaxy canvas during refresh 2026-08-09 10:57:24 +08:00
digua 0630ed1b7b feat(analysis): reorganize group relationship navigation 2026-08-09 10:57:24 +08:00
digua cd2a401c3b refactor(insight): remove legacy mention graph 2026-08-09 10:57:24 +08:00
digua 2f5f97f0bf feat(insight): add group relationship galaxy view 2026-08-09 10:57:24 +08:00
digua 03520b4cc0 refactor(charts): share relationship galaxy renderer 2026-08-09 10:57:24 +08:00
digua 2148eaffdc feat(insight): connect relationship galaxy across runtimes 2026-08-09 10:57:24 +08:00
digua 051203027a feat(insight): add group relationship galaxy core 2026-08-09 10:57:24 +08:00
digua 096d1cf26a fix(insight): make annual calendar container-responsive
Choose month columns from the calendar card width so expanded sidebars do not compress day cells at desktop breakpoints.
2026-08-08 23:26:43 +08:00
digua 137cd6b27f feat(ui): unify page-level loading feedback 2026-08-08 23:26:43 +08:00
digua 0b5079c5c5 fix(startup): keep animation on refresh 2026-08-08 23:26:43 +08:00
digua 9dd18f66d5 feat(insight): refresh annual summary visuals 2026-08-08 23:26:43 +08:00
digua 5e7e88fc84 fix(startup): benchmark full presentation samples
Create the CDP target on a blank page and reset the session playback marker before retained samples so warmups cannot turn splash timing into reload timing.
2026-08-08 21:47:47 +08:00
digua b8f1c37eb2 fix(startup): retry initialization after CLI Web login
Defer one-shot background initialization when the presentation request discovers authentication is required, so preferences, LLM state, and sessions initialize only after a successful login.
2026-08-08 21:47:47 +08:00
digua 55c9e1dd25 docs: strengthen evidence rules for AI reviews 2026-08-08 21:47:47 +08:00
digua 52b80960e4 feat(startup): skip full animation after first load 2026-08-08 21:47:47 +08:00
digua 967bfe1084 feat(startup): use splash animation as preload window 2026-08-08 21:47:47 +08:00
digua 5e8d1caf30 perf(sessions): reuse validated overview cache on startup 2026-08-08 21:47:47 +08:00
digua 3b123b15f2 perf(startup): progressively initialize renderer shell 2026-08-08 21:47:47 +08:00
digua 3db40375b6 fix(electron): default Windows close to background
Remove the one-time close prompt and remembered-choice path so Windows close behavior is always explicit and predictable. New installations now minimize to the system tray by default, while users can still choose to quit from settings.
2026-08-07 20:29:37 +08:00
digua 35880228b7 feat(electron): add Windows close-to-tray behavior 2026-08-07 20:29:37 +08:00
digua b7f59a75ea fix(ai): bound bootstrap context compression
Compress oversized browser history in model-sized stages so switching to a smaller model can recover. Bound the recent-history fallback when summarization fails without deleting persisted messages.
2026-08-07 15:35:29 +08:00
digua 9ded83c7ad fix(ai): use conservative custom model context windows
Avoid matching OpenAI-compatible model IDs across providers. Use an 8K fallback so automatic compression runs before unknown providers reject long conversations.
2026-08-07 15:35:29 +08:00
digua 17320045dc feat(ai): enable automatic context compression 2026-08-07 15:35:29 +08:00
digua 5c7ad41b23 docs: thank OpenAI for open source support 2026-08-07 15:35:29 +08:00
digua 5c8b5df2d3 fix(web): normalize AI conversation timestamps
Convert Browser Runtime millisecond timestamps at the Web presentation boundary so the shared conversation list keeps its seconds-based contract.
2026-08-07 13:40:39 +08:00
digua 23bfd7aec4 feat(web): unify Web WASM AI experience 2026-08-07 13:40:39 +08:00
digua 11eef47a7e feat(insight): add customizable report card themes
Give color-only theme controls localized positional labels and expose their selected state without adding visible scheme names.
2026-08-06 22:19:52 +08:00
digua 25071890b2 ci(release): streamline stable and prerelease publishing
Limit prereleases to desktop artifacts, keep stable releases gated on CLI success, and start Docker publishing as soon as the npm package is available.
2026-08-06 16:02:40 +08:00
digua 78e90abb3f fix(electron): close export database handles
Close the uncached readonly adapter after every Desktop export so Windows can delete the session without restarting. Add regression coverage for the successful export lifecycle.
2026-08-06 15:17:44 +08:00
digua 1a774592ff fix(electron): close worker database before deleting sessions 2026-08-06 15:17:44 +08:00
digua b130e43e73 release: v0.34.3 2026-08-06 14:29:39 +08:00
digua 202b9d70f7 fix(insight): restore activity calendar colors 2026-08-05 22:24:32 +08:00
digua b569293846 fix(import): stabilize QQ automatic session matching
Match ownerless QQ exports safely across UID and UIN drift, preserve merged message scopes through single and batch imports, and apply only sender mappings proven by overlapping platform message IDs. Reject incomplete group mappings to avoid member identity corruption.
2026-08-05 22:16:24 +08:00
digua f0d4fdeeb3 fix(merge): preserve valid session identity metadata
Carry owner metadata through merge exports when every source agrees and the owner resolves to a merged member. Drop conflicting or unmappable owner identifiers.
2026-08-05 22:16:24 +08:00
digua 9ac7f1abeb fix(parser): omit unreliable QQ owner metadata
QCE exports can mix UIN and UID namespaces while exposing only observed senders. Keep owner metadata unset across TypeScript, chunked, and native parser paths unless it can be mapped safely.
2026-08-05 22:16:24 +08:00
digua c883e6ab47 fix(merge): isolate ambiguous private exports
Keep one-member private exports source-local until exact message overlap proves they belong to the same chat. This prevents unrelated outgoing-only chats from losing messages when platform IDs collide.
2026-08-05 17:02:09 +08:00
digua 691293b46f fix(merge): preserve messages during deduplication
Carry platform and reply IDs through merge and shared import paths so stable IDs drive deduplication.

Keep unrelated chats isolated, bridge only verified overlapping sources, and backfill stable IDs onto retained fallback copies.
2026-08-05 17:02:09 +08:00
digua d5f34af445 refactor(parser): standardize format identifiers 2026-08-04 17:29:09 +08:00
digua fdd0856b5d docs: clarify branch workflow 2026-08-04 17:29:09 +08:00
digua 750bfc03b8 docs: require feature branches for commits 2026-08-03 18:45:00 +08:00
digua 3e080d21c4 perf(import): avoid loading existing messages for dedup 2026-08-03 18:45:00 +08:00
digua 883fa0896d docs(search): record FTS removal benchmarks 2026-08-03 17:28:19 +08:00
digua 256e93605a refactor(database): remove legacy session FTS 2026-08-03 17:28:19 +08:00
digua ef4f8de74d refactor(search): stop maintaining session FTS 2026-08-03 17:28:19 +08:00
digua 50a390b2de refactor(search): use LIKE and dense retrieval 2026-08-03 17:28:19 +08:00
digua 084b950ab2 fix(relationships): replace removed button groups 2026-08-03 10:45:11 +08:00
digua aef17058d1 fix(insights): unify loading transitions 2026-08-03 10:45:11 +08:00
digua ec10d0dded fix(ranking): correct dynamic keyword analysis
Forward the selected keywords through the shared HTTP route without persistent caching, keep large templates out of the request URL, and reject empty keyword sets before building a regular expression. Ignore superseded analysis responses so rapid keyword changes cannot restore stale rankings or loading state.
2026-08-02 23:41:47 +08:00
digua 5f4eb4bb68 fix(release): publish macOS for Apple Silicon only 2026-08-01 18:06:48 +08:00
digua 034f0b768f release: v0.34.2 2026-08-01 17:09:49 +08:00
digua 1e339875e1 fix(import): ignore AppleDouble database sidecars 2026-08-01 17:00:09 +08:00
digua 8eae64df8e test(frontend): replace source scans with behavior checks 2026-08-01 16:41:30 +08:00
digua 2bb5eb3715 test(apps): strengthen application and build verification 2026-08-01 16:41:30 +08:00
digua bdfe4bbeb5 test(runtime): improve shared behavior coverage 2026-08-01 16:41:30 +08:00
digua 7bdd1fe751 fix(runtime): harden migration and cleanup safety 2026-08-01 16:41:30 +08:00
digua 43c9229935 docs(test): define value-based testing rules 2026-08-01 16:41:30 +08:00
digua df5f335f53 docs(logging): clarify logging guidelines
Keep the agent guidance focused on decisions developers must make while leaving rotation and other automatic logger behavior to the implementation.
2026-08-01 13:19:41 +08:00
digua 69a2b981c7 fix(logging): preserve preload polling errors
Record background preload polling failures with the original Error and clarify that logging review severity and tests should follow user impact rather than mechanical rules.
2026-08-01 13:19:41 +08:00
digua 7d20f70870 fix(ai): release worker after model preload
Continue model status tracking after UI polling stops so completed or failed preloads can enter the normal idle-close lifecycle.
2026-08-01 13:19:41 +08:00
digua 39644b2507 fix(cli): verify embedding runtime before atomic rename 2026-08-01 13:19:41 +08:00
digua f96fef7b46 feat(cli): install local embedding runtime on demand 2026-08-01 13:19:41 +08:00
digua 93fc26fb83 fix(cli): avoid installing local embedding runtime 2026-08-01 13:19:41 +08:00
digua 982f37ced6 chore(import): remove obsolete streaming benchmark
Remove the one-off synthetic streaming import benchmark and its script-only tests now that the performance investigation and results have been finalized.
2026-07-31 20:22:50 +08:00
digua 3debb13ff9 fix(import): wire batch adapters and failure diagnostics
Preserve batch support through telemetry, forward item-scoped progress across Desktop and CLI Web, and retain original backend failure details for diagnostics and unfinished results.
2026-07-31 20:22:50 +08:00
digua 62b7104f1f feat(import): add safe batch coordinator 2026-07-31 20:22:50 +08:00
digua 4155386676 fix(import): generate session index once 2026-07-31 17:22:05 +08:00
digua 8c4689b304 perf(import): optimize write and FTS batches 2026-07-31 17:04:56 +08:00
digua b67a85b5db fix(import): account for transaction phase timings
Measure message transaction boundaries separately so final commits are included in message write diagnostics without double counting callback work. Accumulate intermediate and final WAL checkpoint durations in the checkpoint phase.
2026-07-31 16:49:27 +08:00
digua bd7c838c3f fix(import): make performance baselines trustworthy
Run benchmarks in isolated GC-enabled workers, report sparse RSS samples accurately, and hash canonical imported output. Require the Rust Native WeFlow kernel and reject any measured import that falls back to TypeScript so timing and memory baselines remain comparable.
2026-07-31 16:37:40 +08:00
digua bbbd0bb3c6 perf(import): establish end-to-end import baseline 2026-07-31 16:37:40 +08:00
digua dab38f1b1c perf(parser): optimize WhatsApp text parsing 2026-07-30 22:35:26 +08:00
digua f0bdba63fb perf(parser): optimize browser parsing hot paths 2026-07-30 22:15:13 +08:00