thunderbird / thunderbird/thunderbird-android
Global Database 0.1.11 - Cut over legacy mail storage to the global database
Nobody has claimed this yet.
- Dominant language
- Kotlin
- Stars
- 14k
- Forks
- 2.8k
- Avg merge
- 3d 3h
- Merged PRs (30d)
- 57
Description
Implement the production transition from legacy per-account mail storage to the global mail database. Import durable mail data, validate the result, and establish the durable cutover state that makes global storage authoritative.
Acceptance criteria
- Import covers every mapping in the accepted legacy inventory.
- Derived data, such as search indexes, is rebuilt before validation runs.
- Validation covers imported data, relationships, queued operations, attachments, restart integrity, and search.
- An attachment that fails to copy or validate is recorded in the migration result and fails the migration.
- Before cutover, normal mail access cannot observe imported global data.
- Failed migration leaves legacy storage authoritative.
- Cutover removes legacy database and attachment artifacts.
- After cutover, all mail access uses global storage and cleanup failure does not restore legacy authority.
- If the migration fails due to insufficient storage, the system notifies the user to disable auto-updates and postpone manual version upgrades until sufficient space is cleared.
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
No files or tests are named. Start by locating the legacy per-account and global mail-storage migration entry points and the accepted legacy inventory, then trace import, derived-data rebuilding, validation, cutover, rollback authority, cleanup, and storage-error handling. Done means every acceptance criterion is covered by the production migration and its validation.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- kotlin
- Domain
- databases, mobile
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Active
- Clarity
- Mostly clear
- Newbie friendliness
- 28/100