thunderbird / thunderbird/thunderbird-android

Remote search progress messages in the list footer are overwritten by incoming results

Open
#11,378 1 comment 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

unconfirmed
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 bug report.
  • I will describe the problem with as much detail as possible.
App

Thunderbird for Android

App version

Development build from current main (commit adb64adc5b). The affected code (LegacyMessageListFragment.setMessageList rebuilding the adapter items without the footer, and updateFooterText recomputing it to null during manual searches) is unchanged in released versions.

Where did you get the app from?

Other (self-built from source)

Android version

Android 15 (emulator, API 35)

Device model

Android Emulator (Pixel)

Steps to reproduce
  1. Set up an IMAP account
  2. Search in a folder for a term with several matches that are only on the server
  3. Trigger "Search messages on server"
  4. Watch the footer while results arrive (easiest against a slow/throttled server)
Expected behavior

The progress messages provided by the MessagingListener callbacks ("Sending query to server", "Fetching N results") stay visible until the remote search completes.

Actual behavior

Each message list update triggered by an arriving result rebuilds the adapter items without the footer item and recomputes the footer text to null for manual searches. The progress message flickers or disappears entirely, so the search looks stuck or broken while it is actually still working.

Logs

Not applicable (no crash, pure UI behavior).

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 in LegacyMessageListFragment, focusing on setMessageList and updateFooterText, then trace the MessagingListener callbacks that provide the remote-search progress messages. Reproduce the issue with a slow or throttled IMAP server while searching messages on the server. Done means “Sending query to server” and “Fetching N results” remain visible until the remote search completes.

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
Quiet
Clarity
Mostly clear
Newbie friendliness
68/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.