thunderbird / thunderbird/thunderbird-android
Deletions actioned locally but often not on the servers
Nobody has claimed this yet.
- Dominant language
- Kotlin
- Stars
- 14k
- Forks
- 2.8k
- Avg merge
- 3d 3h
- Merged PRs (30d)
- 57
Description
Checklist
- I have used the search function to see if someone else has already submitted the same feature request.
- I will describe the problem with as much detail as possible.
- This issue only contains a request for one single feature, not multiple (related) features.
App version
6.700 on Android 7
Problem you are trying to solve
This probably relates to closed #4653. After many years of using K9 on this device, a couple of months ago some deletions started failing to be actioned on the server. I mark several messages in the Unified folder, delete them, they disappear from the K9 list, and I close K9. When I check later on my desktop, Thunderbird downloads the supposedly deleted message from the servers. The more complex the deletion (ie several messages across several accounts) and the quicker I close K9, the more likely this will occur.
Suggested solution
My guess is that K9 correctly deletes the messages locally and queues the server instructions which are not executed before I close K9 either because K9 + my device are slow, or, more likely, because an unresponsive server delays the execution of the queued instructions.
This didn't happen at all or as much before, so I am wondering if something has changed in K9. Could the process be accelerated by executing instructions on different servers concurrently? Otherwise, if the process can't be accelerated, could K9 continue doing its job in the background? If that's not possible, possibly because my overwhelmed Android kills the backgrounded task, can K9 indicate somehow that it is busy so that users wait before they close K9?
I believe that the queued instructions are eventually executed if I wait long enough, force K9 to refresh, or rerun it, but when none these happen and you find later that deleted messages are still on the server it is confusing and annoying.
EDIT: When I rerun K9, the messages that were supposed to have been deleted previously, reappear and they show as unread too. This may be a bug after all.
Screenshots / Drawings / Technical details
No response
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
No files, entry points, or tests are named. Start by reproducing deletion from the Unified folder across multiple accounts, then trace how local deletions queue and execute server commands when the app closes or resumes. Done means failed deletions are reliably completed or surfaced to the user, with regression coverage for the observed behavior.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- android, kotlin
- Domain
- backend, mobile
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 25/100