Files
damus/damusTests
Daniel D’Aquino 2af65320ef Improve large-DB compaction UX and add developer auto-compact testing
mode

- Skip automatic compaction when `data.mdb` is 10GB or larger, and
  surface an in-app notification instead of surprising users with a long
  startup wait
- Keep manual compaction available for large databases by tracking
  whether a next-launch compaction request was scheduled automatically
  or explicitly by the user
- Add a large-database explanation to the compaction loading screen to
  clarify that long runtimes are expected for oversized databases and
  are usually a one-time catch-up cost
- Add a developer-only `Every minute` auto-compact schedule to make
  rollout and reminder behavior easier to test locally
- Add and update unit tests covering large-database auto-compaction
  skips, request-source persistence, reminder scheduling, and the
  developer testing interval

Motivation:
TestFlight users with long-lived databases were hitting the brand-new
compaction flow for the first time, which could turn startup into a
multi-minute wait. These changes make automatic compaction less
disruptive for very large databases, preserve an explicit manual path
for users who want to optimize immediately, and add a fast
developer-only schedule to make the new behavior easier to validate
during testing.

This is an enhancement for an unreleased feature, so therefore no
changelog is needed.

Closes: https://github.com/damus-io/damus/issues/3730
Changelog-None

Signed-off-by: Daniel D’Aquino <daniel@daquino.me>
2026-04-29 14:40:18 -07:00
..
2026-01-05 17:28:06 -08:00
2023-08-03 13:20:36 -07:00
2025-01-24 10:36:46 -08:00
2025-08-11 16:40:01 -07:00
2025-02-12 11:05:58 -08:00
2026-01-05 17:28:06 -08:00
2025-08-11 16:40:01 -07:00
2023-03-15 17:12:05 -06:00
2025-10-13 15:16:54 -07:00
2025-08-11 16:40:01 -07:00