Closed Bug 1851074 Opened 1 year ago Closed 6 months ago

messenger.messages.getFull never resolves if the mail server is unreachable

Categories

(Thunderbird :: Add-Ons: Extensions API, defect)

Thunderbird 115
defect

Tracking

(thunderbird_esr115 wontfix)

RESOLVED FIXED
120 Branch
Tracking Status
thunderbird_esr115 --- wontfix

People

(Reporter: 52qtuqm9, Assigned: TbSync)

References

Details

Attachments

(2 files)

  1. Configure a working IMAP account.
  2. Turn off message synchronization on the account.
  3. Change the mail server host name on the account to something unreachable, e.g., nosuchhost.example.com, and restart Thunderbird.
  4. Call messenger.messages.getFull from an add-on on one of the messages in the account.

The promise that messenger.messages.getFull returns never resolves.

In the case of nosuchhost.example.com it should reject immediately, since the host name can't be resolved so Thunderbird should know immediately that the message can't be downloaded. This is also what should happen if, e.g., the server is reachable but Thunderbird is unable to log into the server with the stored credentials.

In the case of a mail server whose host name resolves but is unreachable, i.e., the server is offline, then I imagine the promise might take a while to reject but it really should reject at some point, not make the add-on wait for it forever.

Status: UNCONFIRMED → NEW
Ever confirmed: true

If there are connection issues, this is called with an error code (2152398878), but not this. So the connection is terminated, but the streaming process is not notified.

A second attempt will be skipped, because this returns an ongoing streaming process, which however will never return (because it is already dead), even if the connection is becoming stable again. So even if the connection is stable again, any message which was attempted to be streamed while the connection was unstable, will not be streamed until next restart.

Only gloda is affected. Displaying a message in the UI will work after the connection is stable again.

If the system is set to offline mode, this throws, but is never caught in here.

Assignee: nobody → john
Status: NEW → ASSIGNED
Blocks: 1854361
No longer blocks: 1854361
Depends on: 1854361
Depends on: 1854578
Depends on: 1854586
Target Milestone: --- → 120 Branch

Pushed by kaie@kuix.de:
https://hg.mozilla.org/comm-central/rev/b15d19eccfb9
Fix WebExtension getMimeMessage() function to reject properly on errors. r=mkmelin

The remaining issues the messages API could run into are connection
timeouts and empty responses. Both are now considdered as read errors
and cause message read requests to fail.

Depends on D202210

Pushed by micah@thunderbird.net:
https://hg.mozilla.org/comm-central/rev/d89230238ddb
Cover remaining connection errors for message reading. r=mkmelin
Status: ASSIGNED → RESOLVED
Closed: 6 months ago
Resolution: --- → FIXED
Keywords: leave-open
Regressions: 1907603
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: