4.0.1
Performance
- Batch-load chat sessions, group members, media items, reaction receipts, and reply references once per chat export.
- Cache resolved participant authors for the lifetime of each export.
- Process messages and copy media without holding a database read open.
- Optimize duplicate-document reaction lookup with an in-memory bounded search.
On the full 112,616-message fixture, the chat-message regression benchmark improved from an average of 44.52 seconds to 8.93 seconds (about 5x faster, a 79.9% reduction).
Reliability
- Preserve the existing public API and JSON contract.
- Add a regression test proving that the number of
SELECTstatements remains constant as message count grows. - Preserve author, reply, media, and WhatsApp Web reaction behavior on the full fixture.
Verification
swift test— 82 tests, 7 fixture-backed tests skipped, 0 failures.SWIFT_WA_RUN_FULL_FIXTURE_TESTS=1 swift test— 82 tests, 0 skipped, 0 failures in 37.27 seconds.