thunderbird / thunderbird/thunderbird-android
[ML 0.7/LL.02] - Mediator Implementation & Unified Support
Open
@rafaeltonholo is already working on this.
Since Jan 23, 2026.
- Dominant language
- Kotlin
- Stars
- 14k
- Forks
- 2.8k
- Avg merge
- 3d 3h
- Merged PRs (30d)
- 57
Description
🎯 The objective
Implement the heavy lifting of the data layer: the RemoteMediator itself (handling the source of truth between Database and Remote) and the complex logic required to paginate "Unified Folders" across multiple accounts.
🎒 Resources
ℹ️ List all relevant resources like BugZilla meta bugs, Figma files, Notion links and other files. These can be filled in later.
🦮 Rules of the Road
🟢 In Scope
- Implement the
MessageListRemoteMediatorAPI. - Build pagination logic for Unified Folders.
🔴 Out of Scope
- UI Integration and Event triggering.
🚧 Technical and/or Business Requirements
- Remote Mediator Implementation:
- Use the Database as the single source of truth.
- Request data from remote only when the database lacks results.
- Unified Folder Pagination:
- Ideally, we should tackle this only after the database work is done.
- If it is not finalized, we will need to figure out a way to paginate the unified folder.
- Complexity Alert: This requires a "logical cursor" approach:
- Maintain a list of Account IDs with their respective next pagination cursors.
- Calculate limits divided by account count.
- Fetch and merge pages from different accounts, handling sorting and deduplication carefully.
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.
Assessment
This issue has not been assessed yet.