thunderbird / thunderbird/thunderbird-android

Global Database 0.1.5 - Add mail database module

Open
#11,295 1 comment 0 reactions 1 assignee View on GitHub

@wmontwe is already working on this.

Since Jul 22, 2026.

tb-team type: enhancement
Dominant language
Kotlin
Stars
14k
Forks
2.8k
Avg merge
3d 3h
Merged PRs (30d)
57

Description

Implement the internal mail database module that provides one global, legacy-compatible mail store for the application. It is the persistence implementation used by the global repository implementations.

The module owns mail schema, mappings, local data sources, and attachment access. core:database owns the domain-neutral Room 3 backend. Migration, validation, and cutover are separate work.

Acceptance criteria
  • The module provides one global mail store for the application.
  • It represents every durable mail record, queued operation, and downloaded attachment in the legacy table inventory.
  • Account scope remains explicit and global identifiers are available where repository contracts require them.
  • Downloaded attachment content remains file-backed.
  • Mail schema and storage implementation types remain internal and do not escape repository contracts.
  • The implementation supports Android and JVM desktop.
  • Tests cover schema creation, migrations, transactions, and restart recovery.

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.

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.