thunderbird / thunderbird/thunderbird-android

Make hotkeys trigger batch operation when multiple messages are selected

Open
#4,012 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

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

Description

Expected behavior

Select multiple e-mails then on hardware keyboard press M (for move). It asks in which folder to move them.

Actual behavior

It moves only one mail instead of all of the selected. If I use the "right click" menu, then all the selected e-mails are moved.

Environment

K-9 Mail version: 5.600

Android version: 8.0.0

Account type (IMAP, POP3, WebDAV/Exchange): IMAP

Please take some time to retrieve logs and attach them here:

04-07 18:10:07.636 13473 13473 W ViewRootImpl[ChooseFolder]: Cancelling event due to no window focus: KeyEvent { action=ACTION_UP, keyCode=KEYCODE_M, scanCode=50, metaState=0, flags=0x28, repeatCount=0, eventTime=319986052, downTime=319986003, deviceId=14, source=0x101 }
04-07 18:10:07.637 13473 13473 I chatty  : uid=10221(u0_a221) com.fsck.k9 identical 7 lines
04-07 18:10:07.637 13473 13473 W ViewRootImpl[ChooseFolder]: Cancelling event due to no window focus: KeyEvent { action=ACTION_UP, keyCode=KEYCODE_M, scanCode=50, metaState=0, flags=0x28, repeatCount=0, eventTime=319986052, downTime=319986003, deviceId=14, source=0x101 }
04-07 18:10:10.889 13473 13490 I MessagingController: Running command 'moveMessagesInThread', seq = 13 (background priority)
04-07 18:10:10.896 13473 13490 D LocalStore: Query = SELECT subject, sender_list, date, uid, flags, messages.id, to_list, cc_list, bcc_list, reply_to_list, attachment_count, internal_date, messages.message_id, folder_id, preview, threads.id, threads.root, deleted, read, flagged, answered, forwarded, message_part_id, messages.mime_type, preview_type, header FROM messages LEFT JOIN threads ON (threads.message_id = messages.id) LEFT JOIN message_parts ON (message_parts.id = messages.message_part_id) LEFT JOIN folders ON (folders.id = messages.folder_id) WHERE (empty = 0 AND deleted = 0) AND (threads.root = ?) ORDER BY date DESC
04-07 18:10:10.919 13473 13473 W IInputConnectionWrapper: requestCursorAnchorInfo on inactive InputConnection
04-07 18:10:11.011 13473 13490 I MessagingController: moveOrCopyMessageSynchronous: source folder = INBOX, 1 messages, destination folder = <redacted>, isCopy = false
04-07 18:10:11.013 13473 13490 D LocalFolder: Updating folder_id to 20 for message with UID 36165, id 24716 currently in folder INBOX
04-07 18:10:11.131 13473 13490 I MessagingController:  Command 'moveMessagesInThread' completed

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 tracing the hardware-keyboard handling for the M action and the moveMessagesInThread command shown in the logs. Check how the selected messages are passed into the move operation, then reproduce the issue with multiple selected e-mails and verify that the operation moves all of them, as the context-menu action already does.

Written by the indexing model from the issue text.

Assessment

Tech stack
android, kotlin
Domain
mobile
Issue type
Bug
Difficulty
3/5
Estimated time
1-2 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
38/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.