thunderbird / thunderbird/thunderbird-android

Change the way we reference folders and messages

Open
#3,220 2 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

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

Description

Right now we reference folders by name and messages by UID. Those are both identifiers that should be private to the RemoteStore and sync implementations. Everywhere else I want us to eventually use the local (database) ID to reference a folder or message.

Places that need to be changed (feel free to edit):

  • UI code (ideally, the relevant code would be strictly separated from the UI; but that's not how it is right now)
  • MessageReference
  • LocalSearch
  • MessagingController
  • Notification code
  • Home screen widget configuration
  • Special folders configuration (Account.get*Folder())

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 by reviewing the existing LocalSearch, home screen widget configuration, and special-folder configuration changes, then trace the remaining references in MessageReference, MessagingController, UI code, and notification code. Done means the remaining application-facing references use local database IDs while folder names and message UIDs stay private to RemoteStore and sync implementations.

Written by the indexing model from the issue text.

Assessment

Tech stack
android, kotlin
Domain
mobile-dev
Issue type
Refactor
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.