thunderbird / thunderbird/thunderbird-android

[ML 0.1/UI.04.9] - Wire swipe actions to legacy swipe handlers

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

@rafaeltonholo is already working on this.

Since Apr 2, 2026.

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

Description

Blocked by

  • #10775

Description

The Compose UI detects swipe gestures and dispatches MessageItemEvent.OnSwipeMessage(message, swipeAction), but the state machine has no handler for this event. The legacy MessageListFragment.onSwipeAction() method contains all the business logic (archive, delete, spam, move, toggle read, toggle star, toggle selection) but is never invoked.

Connect MessageItemEvent.OnSwipeMessage to the legacy swipe action handlers so that swiping a message executes the corresponding action, matching legacy behaviour.

Acceptance Criteria

  • MessageItemEvent.OnSwipeMessage is handled in the state machine.
  • A MessageListEffect is emitted that triggers the appropriate legacy action.
  • The side effect or bridge invokes MessageListFragment's existing swipe handler.
  • All swipe action types are supported: Archive, Delete, Spam, Move, Toggle Read, Toggle Star, Toggle Selection.
  • No swipe action business logic is migrated - only wiring.
  • Behaviour matches the legacy swipe actions.

Out of Scope:

  • Changing swipe gesture detection or thresholds.
  • Modifying the legacy swipe action implementations.

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.