thunderbird / thunderbird/thunderbird-android
Global Database 0.1.7 - Migrate mail storage entry points to repository contracts
Nobody has claimed this yet.
- Dominant language
- Kotlin
- Stars
- 14k
- Forks
- 2.8k
- Avg merge
- 3d 3h
- Merged PRs (30d)
- 57
Description
Move the mail entry points identified in #11440 behind focused repository contracts.
The contracts let application composition select the legacy implementation before cutover and the global implementation afterward.
Acceptance criteria
- Every production mail entry point in the #11440 inventory is migrated.
- Contracts follow the proposed ADR 0010 and do not expose persistence or legacy storage types.
- Foreground and background mail work use the same repository boundary.
- Tests cover representative behavior before and after cutover.
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
Start with the mail entry-point inventory in #11440 and the proposed ADR 0010. Map each production entry point, including foreground and background work, to the repository boundary before checking the existing tests. Done means every inventoried entry point uses a contract, the contract hides persistence and legacy types, and representative pre- and post-cutover behavior is covered.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- kotlin
- Domain
- mobile
- Issue type
- Refactor
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Active
- Clarity
- Mostly clear
- Newbie friendliness
- 48/100