Reusing emoji cleaning also removed ordinary bracketed labels from language vocabulary. Preserve unknown bracketed text for language profiles while retaining known emoji filtering and the existing word-frequency behavior. Add a regression for annotated chat messages.
Released Chinese and Traditional Chinese clients install chatlab-import-cn from the default branch. Keep a deprecated, self-contained English entry so those commands continue to work, and document migration to the unified skill.
Separate warning titles, bodies, and closing fences with blank lines so VitePress renders the privacy notices correctly and Prettier preserves their structure.
Voice transcription normalization can remove every phrase for a member while leaving an empty member entry. Filter those entries from the result so overview and selected-member views retain their empty states.
Add a regression test for single-use transcriptions alongside another member with valid catchphrases.
Clamp cluster look-ahead values at the shared core boundary so invalid inputs cannot create oversized candidate matrices. Add a regression test that keeps oversized values equivalent to the supported maximum.
Treat equivalent session time ranges as the same analytics scope so remounting the selector does not cancel requests or reload Insights, while preserving reloads for real range changes.
Mark the in-memory analysis scope stale after imports and member mutations so returning to Insights reloads fresh statistics without giving up normal tab reuse.
Preserve repeated same-second WeFlow and EchoTrace messages while consuming existing fallback occurrences one for one across overlapping imports and merged sources.
Track SQL Lab usage from the nested More tab after resolving its persisted selection. Remove the obsolete top-level lab mapping so Debug visits are not misclassified.
中文:错误流的 done 只终止传输,不再覆盖错误状态或误报发送成功。
English: Treat done as stream termination after an error, preserving the error phase and returning failed sends correctly.
Capture the conversation active message when the agent turn completes so an automatically persisted compression summary becomes the expected parent for the pending user message. Add an integration regression covering summary persistence, memory creation, message-pair persistence, and source linking.
Remove the wall-clock expiry from in-flight memory provenance so long agent investigations can still link memories to their source messages. Clean up completed turns without memory changes immediately and retain changed turns until the client consumes them.
Keep compression summaries before the in-flight question and let the Node runtime validate and atomically replace only the terminal question-answer round.
Replace the edited user message, old assistant response, and regenerated response in one SQLite transaction. This prevents a failed replacement insert from leaving a partially rewritten conversation.
中文:将用户与助手消息合并为单事务写入,失败时不再留下孤儿消息或误报成功。
English: Persist user and assistant messages in one transaction so failures leave no orphaned turn or false success.
中文:避免同秒消息跨摘要边界,防止已压缩内容重复回放或后续消息丢失。
English: Keep equal-timestamp messages on one boundary side so compressed content is not replayed and later messages remain visible.