thunderbird / thunderbird/thunderbird-android

Global Database 0.1.7 - Migrate mail storage entry points to repository contracts

Open
#11,464 1 comment 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

tb-team
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

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.