thunderbird / thunderbird/thunderbird-android

Rework App Launch

Open
#10,403 0 comments 0 reactions 1 assignee View on GitHub

@wmontwe is already working on this.

Since Jan 21, 2026.

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

Description

🎯 The objective

Decouple the App Launch from the Message List and establish a standalone MainActivity that manages app state and navigation.

🦮 Rules of the Road

🟢 In Scope
  • Decoupling of MainActivity from the Message List logic.
  • Creation of a new MainActivity as the primary entry point and single point for navigation decisions.
  • Integration of FeatureLauncherActivity functionality into the new MainActivity.
  • Implementation of a unified navigation strategy using a Navigation Library. (Navigation 3?)
  • Migration of app-level state management to a dedicated MainScreenViewModel.
  • Handling of all external intents (Launcher, Notifications, Widgets) in the new MainActivity.
  • Renaming the existing MainActivity to MessageListActivity.
🔴 Out of Scope
  • Redesign of the Message List UI (beyond decoupling from the Activity).
  • Migration of all app features to Compose (only the navigation shell is initially targeted).
  • Changes to the backend or synchronization logic.
🚧 Technical and/or Business Requirements

Technical Requirements

  • Use MVI architecture for the MainScreenViewModel.
  • Ensure compatibility with existing Fragment-based destinations.
  • The new MainActivity must be the designated LAUNCHER activity.

Business Requirements

  • Maintain existing deep-linking and notification entry point functionality.
  • Provide a more stable and maintainable foundation for future improvements.

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.