Error calling messages.getFull on a not downloaded message
Categories
(Thunderbird :: Add-Ons: Extensions API, defect)
Tracking
(Not tracked)
People
(Reporter: m, Unassigned)
Details
User Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0
Steps to reproduce:
Using an IMAP accaout set to download only the mail headers, calling messenger.messages.getFull results in this error:
WebExtensions: DOMException: Error while streaming message <imap-message://@/*******#1737>: Status 2153054244
ExtensionError resource://gre/modules/ExtensionUtils.sys.mjs:48
onStopRequest resource:///modules/ExtensionMessages.sys.mjs:465
ext-messages.js:628
If I click con the message in the messages list and call again the getFull it works.
I didn't see this behaviour in TB115.
This is the line that gives the error: https://github.com/micz/SentAutoMove/blob/v1.0.2/js/mzsam-moving-engine.js#L280
Comment 1•29 days ago
|
||
Can you provide steps how to recreate that scenario? I am not able to reach a state, where an IMAP message is known, but not downloaded. I did untick the synchronization settings of my test account. But either the new message is not known to the API at all, or the call to getFull() works.
I reply to an email and then move it to another folder using an add-on like quickmove.
The destination folder is updated at some point, but it's the same to open it to force refresh the messages list without clicking on the recently moved message.
Then I go to the sent folder and run SentAutoMove on that specific message and I get the error.
If I go to the moved message, click on it to load the content and then re-run SentAutoMove it works.
Comment 3•28 days ago
|
||
I still do not know the exact steps. This is what I understood:
- You reply to message A, which causes a new message B to be placed in your send-folder
- You move message B from the send-folder to other-folder via the quickmove add-on - the other-folder is not opened
- How is SentAutoMove involved?
- I reply to message A, which causes a new message B to be placed in your sent-folder
- I move message A to project-folder with the quickmove-addon - the other folder is not opened, but must be updated. You could open it to force the message list refresh, but not open the message A.
- Use SentAutoMove on the message B to move it to the right place (it depends on the configuration, but in this case it never arrives to find message A, due to this error).
I have unchecked the "Keep messages in all folders for this account on this computer" option for the account.
The correct line that gives the error is this one: https://github.com/micz/SentAutoMove/blob/v1.0.2/js/mzsam-moving-engine.js#L397
(I can't update the first comment, that reports the wrong line)
Comment 5•28 days ago
|
||
In order to properly name things, let us call the moved message A (the one that is now in the project-folder) message A2.
I struggle to understand step 3 in your last comment. How does the SentAutoMove add-on fails to find message A2 in the project-folder, if it actually interacts with the message in the send folder, which is message B?
This is how SentAutoMove works from the user prospective: https://micz.it/thunderbird-addon-sentautomove/how-it-works/
At code level, it searches related messages using the message headers.
So it searches the headerMessageId in these headers: in-reply-to, references, thread-index (this is for calendar invites).
To do this it has to download the full message.
SentAutoMove queries a message list with these params, then for every message it's getting the full message to check the thread-index.
Description
•