thunderbird / thunderbird/thunderbird-android
[ML 0.1/UI.04.9] - Wire swipe actions to legacy swipe handlers
Open
@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.OnSwipeMessageis handled in the state machine.- A
MessageListEffectis 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
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.