thunderbird / thunderbird/thunderbird-android
Make hotkeys trigger batch operation when multiple messages are selected
Nobody has claimed this yet.
- 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
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.
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