thunderbird / thunderbird/thunderbird-android

Read mails momentarily revert to unread

Open
#5,572 1 comment 2 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

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

Description

Describe the bug
When reading mails in an IMAP account with PUSH active, messages that have been read will snap back to the unread state for a few seconds before the action fully syncs to the server, after which the message will correctly return to the read state. This wreaks havoc when the sorting mode is set to "unread first", as pressing the "next" button will often switch to an older message in the thread.

To Reproduce
Steps to reproduce the behavior:

  1. Open an IMAP folder with PUSH active
  2. Open a thread full of unread messages
  3. Move through them rapidly with the next button
  4. Observe older messages popping in to the sequence
  5. Press back to see the thread list, watch read messages switch into unread state, then switch back to read state

Expected behavior
K-9 should locally remember the read status of messages and sync them back to the server in the background.

Environment (please complete the following information):

  • K-9 Mail version: 5.802 (F-Droid)
  • Android version: 11 (LineageOS 18.1)
  • Device: OnePlus 3T
  • Account type: IMAP (Dovecot backend server)

Let me know if you think logs would be helpful for this issue.

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

No files, tests, or entry points are named. Start by reproducing the issue with an IMAP folder using PUSH active, then inspect the read-state synchronization flow. Done means read messages remain locally marked as read while rapid navigation and the thread list update, with changes syncing to the server in the background.

Written by the indexing model from the issue text.

Assessment

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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.