Commit Graph
1400 Commits
Author SHA1 Message Date
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
kelaocai d48745f00b fix(cli): declare sqlite-vec and @huggingface/transformers as runtime dependencies
The CLI tsup build inlines @openchatlab/node-runtime into dist chunks.
Both sqlite-vec and @huggingface/transformers load platform-specific
native packages at runtime (sqlite-vec-linux-arm64, onnxruntime-node,
sharp), so inlining them breaks global/npm and Docker installs of
chatlab-cli: the bundled chunks reference native packages that were
never installed, and configuring the semantic index vector model fails
with HTTP 500 (Cannot find package 'sqlite-vec-linux-arm64').

Declare both packages as chatlab-cli dependencies and mark them as tsup
external so they are installed from npm with their native bindings,
matching how better-sqlite3 and @node-rs/jieba are already handled.
2026-08-01 11:33: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
digua 4a1f0b54a1 fix(build): declare native parser benchmark dependency
Declare the native parser workspace package used by the benchmark so workspace dependency validation passes in CI.
2026-07-30 21:01:20 +08:00
digua 2e8ca2bebd fix(parser): preprocess large native fallbacks
Retry strict native fallback through the slim QQ export path so compatible large imports retain the existing memory safeguard.
2026-07-30 21:01:20 +08:00
digua 5d943ab0b3 feat(parser): add shuakami/qq-chat-exporter native parser 2026-07-30 21:01:20 +08:00
digua 917740ca07 fix(home): prioritize agreement before changelog
Run the automatic changelog check only after the current agreement is already accepted or the user accepts it during startup. This prevents upgraded users from seeing overlapping modals and marking release notes as read too early.
2026-07-30 16:08:55 +08:00
digua fef493155f docs: update user agreement 2026-07-30 16:08:55 +08:00
digua 860bf52d62 feat(analytics): add privacy-safe product telemetry
Add self-hosted Umami reporting alongside existing telemetry across Desktop and CLI Web.

Track normalized startup, import, feature, and AI usage with a stable anonymous ID and strict privacy allowlists. Keep incremental usage platform-independent and preserve accurate failure classifications and platform metadata across import paths.
2026-07-29 14:28:48 +08:00
digua db60339829 release: v0.34.1 v0.34.1 2026-07-27 23:57:06 +08:00
digua faedaa852a fix(parser): verify QQ manifest fallbacks
Require the chunked marker before a manifest filename can override normal format detection.
2026-07-27 23:21:03 +08:00
digua 9847e30855 fix(parser): detect large QQ chunked manifests
Use the manifest entry filename when sender statistics push the chunk metadata beyond the sniffer head.
2026-07-27 23:21:03 +08:00
digua eb2d1ea3bf fix(parser): support current QQ chunked exports 2026-07-27 23:21:03 +08:00
digua 4777ca9f63 fix(web-ai): harden Web WASM AI chat
Stabilize browser model setup, tool execution, retries, cancellation, and error reporting.
2026-07-27 00:09:33 +08:00
digua 7dcf5d9070 feat(web): add Web WASM AI chat 2026-07-27 00:09:33 +08:00
digua 78bc9d392e fix(ai): avoid logging user message content 2026-07-27 00:09:33 +08:00
digua 964221537f feat(demo): reduce example sessions 2026-07-26 12:12:47 +08:00
digua 1f0528ebd0 refactor(import): simplify demo import implementation 2026-07-26 01:43:43 +08:00
digua cf3fd2ab85 fix(import): enforce reserved system sender contract
Restrict the ChatLab SYSTEM sender to system and recall events, keep bundled validators synchronized, and canonicalize its identity consistently in Node and Browser runtimes. Preserve ordinary participants named SYSTEM in non-ChatLab formats.
2026-07-26 01:43:43 +08:00
digua dc20320041 fix(demo): harden cross-platform demo imports
Rebase official Demo timelines against the browser timezone, bound stalled downloads, and roll back partial batches across Desktop, CLI Web, and Web WASM. Document the platform cleanup hook's established best-effort boundary.
2026-07-26 01:43:43 +08:00
digua 9e7c76fb89 feat(demo): add rolling cross-platform imports 2026-07-26 01:43:43 +08:00
digua e9004ca71f fix(database): support early segment schema migrations 2026-07-25 19:54:03 +08:00
digua 14657847fe feat(web): streamline Web WASM locale startup 2026-07-25 01:14:04 +08:00
digua 088d3ee54d fix(web): harden multi-tab workspace leases
Cancel queued Web Locks promptly, keep import parsing outside the workspace lease, and defer cancellation until active SAH pools can pause before lock release.

Add regression coverage for queued cancellation, scoped imports, and pool activation cleanup.
2026-07-24 09:35:08 +08:00
digua ce603bdc52 fix(web): support multi-tab workspace access 2026-07-24 09:35:08 +08:00
digua d0a9a03f7c release: v0.34.0 v0.34.0 2026-07-23 22:20:46 +08:00
digua 99de252081 fix(relationships): scope friend search results
Limit friends-mode search results to nodes in the friend graph so selecting an off-scope groupmate cannot replace the canvas with an empty neighborhood.
2026-07-23 22:05:18 +08:00
digua ac64cb72fb feat(ui): add branded startup loading animation 2026-07-23 22:05:18 +08:00
digua c6676e68a5 fix(relationships): enforce friends-only galaxy scope 2026-07-23 22:05:18 +08:00