Skip to content

4.0.1

Choose a tag to compare

@domingogallardo domingogallardo released this 10 Jul 06:26

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 SELECT statements 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.