Repository navigation
WeChat Archive v0.3.0
Builds on v0.2.0 with a substantially better Archive Viewer browsing experience: a derived search index, jump-to-date, bidirectional cursor paging, right-click actions and keyboard shortcuts, and more reliable quoted-message rendering.
New
- Derived FTS search index. The first time an archive is opened, the viewer builds a private, disposable full-text search index under local Application Support (directory
0700, file0600), containing only the message text fields needed to display search results — never the source database, raw rows, or any key. When the index isn't available (not yet built, cancelled, the local SQLite lacks FTS support, or the index file is corrupt), the viewer automatically falls back to a read-onlyLIKEsearch — normal use is unaffected. - Jump to date. A new calendar entry lets you browse by the years/months that actually have messages in the current conversation; selecting a date jumps to that day's first message.
- Bidirectional cursor paging. After a search or date jump, the timeline can keep loading in both the older and newer directions using stable cursors, avoiding duplicates or gaps at identical timestamps.
- Context menu and keyboard shortcuts. Text messages can be copied; images, video, and voice can be saved elsewhere or revealed in Finder.
⌘Fopens global search,⌘Eexports the current conversation,⌘Jjumps to the latest message. - Better quoted-message rendering. WeChat's quote-reply messages no longer show their internal XML verbatim — they're parsed into a readable "Quoting 'sender': summary + reply text" format.
Fixed
- Quoted-message parsing no longer mishandles the rare case where the reply text itself contains a fragment matching the XML closing tag (e.g.
</msg>), which previously caused part of the reply to be misclassified and truncated. - A corrupted derived search index file no longer requires manual deletion — re-indexing now detects and rebuilds it automatically instead of getting stuck in read-only LIKE fallback indefinitely.
- Removed a data race between a background thread writing the search index path and the main thread reading it.
- The sidebar conversation context menu's "Open" item previously did nothing; now fixed.
- "Copy text, sender, and time" is no longer offered on your own messages in a group chat (it previously copied a placeholder instead of an actual sender name).
Performance
- Jumping to a message no longer performs a redundant full-table position scan.
- Search result avatars are now resolved once per result set instead of being re-queried on every UI refresh.
Privacy
- Same as previous versions: all processing is local. The new derived search index is likewise stored only in a local private directory — never uploaded, and deletable at any time.
Distribution
- The macOS Apple Silicon App bundles SQLCipher and its required OpenSSL runtime; third-party licenses are included inside the App bundle.
- Signing: AD-HOC.
- Notarization: NOT DONE.
- Because the build is not notarized, macOS may show a security warning on first launch.