- Move AI config/CLI guides under /ai with redirect stubs at old /usage paths
- Rewrite why-chatlab: lead with value, drop table for a two-item list
- Rename nav items ("为什么选择 ChatLab", "对接 ChatLab") for clarity
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Treat more than two real senders as stronger evidence than a conflicting private marker while preserving genuine private chats with system placeholders.
Use timestamp and message ID as the stable viewer cursor so historical messages imported later remain in chronological order. Resolve timeline anchors by message time and cover out-of-order IDs with SQLite regressions.
Share auto-import planning between preview and write paths, expose a machine-readable CLI result envelope, and preserve explicit parser options during analysis.
Keep the sidebar header below the fixed 32px title bar after removing the outer margin. This prevents header controls from being covered on non-macOS platforms.
Route Desktop JSON dry-runs through a shared read-only push analyzer so validation, deduplication, and member inference match actual writes. Keep JSONL on the file analyzer path and cover new and incremental predictions without database mutations.
Use the long-running worker timeout and refresh Desktop caches after successful push imports.
Align auto-created member metadata and counts across initial and incremental imports, exclude SYSTEM from member updates, and keep existing-session writes validated and atomic.
Thread ownerId and member aliases through the TS and native parsers. Persist aliases across full and incremental imports so exported ChatLab JSON retains user identity metadata.
Stream members and messages in one pass so nested member metadata is parsed structurally. Cover exports whose complete member list exceeds the filtered messages.
Remove persisted annual summary snapshots whenever a session is deleted through shared or desktop cleanup paths. Drop cached in-memory snapshots when their backing files disappear so stale responses cannot expose deleted session data.