RealRaven2000 / QuickFolders

Thunderbird Add-on: QuickFolders
http://quickfolders.org/
Other
48 stars 9 forks source link

Intermittent move failure, Thunderbird 78.9, Windows : moving >=1 email from unified inbox fails silently #130

Open LinuxOnTheDesktop opened 3 years ago

LinuxOnTheDesktop commented 3 years ago

Just now I tried to move several emails, all at once, from my unified inbox to a QuickFolder. I made the attempt by dragging. The dragging had no effect. I tried again with a single email: that too had no effect. I restarted Thunderbird and then the moving worked. I am unsure whether other source (or indeed destination) folders are affected. I have not seen this problem at any other time (not in the recent past, anyway).

QF 5.4.2 Thunderbird 78.9 Windows 10

RealRaven2000 commented 3 years ago

Next time you encounter the problem - can you open Error Console (Ctrl+Shift+J) to see if anything is logged when you drag to the QuickFolders tab?

LinuxOnTheDesktop commented 3 years ago

I have encountered the problem again. Upon the generation of the problem the console seemed to receive no new output. Yet I attach what the console showed already.

consoleLog.txt

LinuxOnTheDesktop commented 3 years ago

The problem reoccured, again. ConsoleLog.txt

I can add that, at least on this occasion, the problem occurred after I had been away from the computer overnight.

PS: It would be nice were it easier to open the github issues page, in a proper browser, via QuickFolders in Thunderbird.

RealRaven2000 commented 3 years ago

Just before the undefinded QuickFolders object there is a mention of BrowserElementParent.jsm - which is a Javascript component that is not defined in Thunderbird 78 but it will be in later versions - I guess this is some code from Firefox / mozilla-central, I don't know much about that. Essential part:

sendFlags=000012c2 encryption.jsm:385:13
TypeError: browser is null
BrowserElementParent.jsm:81:21
Uncaught ReferenceError: QuickFolders_TabURIregexp is not defined
    onclick chrome://messenger/content/messenger.xhtml:1
messenger.xhtml:1:1

Looking at the module in m-c (78 branch), I cannot quite find a line that references browser. https://searchfox.org/mozilla-esr78/source/dom/browser-element/BrowserElementParent.jsm#82

If the line reference :81:21 is correct this is roughly happening within the function setFrameLoader() - not sure what it does.

The global variable QuickFolders_TabURIregexpis used when QF opens a new Tab, most likely when opening a web page. Since there was a update pushed (QuickFolders 5.5 cam out) it's most likely that it tried to open the change log in a tab. This shouldn't really affect moving mails though...

RealRaven2000 commented 3 years ago

It might be helpful to enable "Show Timestamps" to see whether the 2 calls mentioned above were close together: image

RealRaven2000 commented 3 years ago

Update: One test - you currently cannot use the advanced search option "only show results from current mail account" when working from Unified folders:

image

this will lead to no search results in the quickJump / quickMove search box.

LinuxOnTheDesktop commented 3 years ago

Sorry: which two calls? I attach a timestamp-enabled log anyway - and despite the fact that, after enabling the timestamps, the intermittent problem at issue has not manifested itself. I did though - during the period of the most recent capture - move an email using QuickFolders. Note also that I am unsure that I am reproducing the console text properly; to upload it here I have simply selected it all - all the output from the 'debug' tab - and copied and pasted it.

ConsoleLog - new.txt

PS: 'One test': I do not understand. Do you want me to see whether I still have the problem after I have disabled that option? Well, having found that option, I see that it is disabled already. (I did, though - just now - disable 'Display next mail after moving current one'. For, I do not want that behaviour.)

RealRaven2000 commented 3 years ago

Sorry: which two calls?

TypeError: browser is null
BrowserElementParent.jsm:81:21
Uncaught ReferenceError: QuickFolders_TabURIregexp is not defined
    onclick chrome://messenger/content/messenger.xhtml:1

I attach a timestamp-enabled log anyway - and despite the fact that, after enabling the timestamps, the intermittent problem at issue has not manifested itself. I did though - during the period of the most recent capture - move an email using QuickFolders. Note also that I am unsure that I am reproducing the console text properly; to upload it here I have simply selected it all - all the output from the 'debug' tab - and copied and pasted it.

ConsoleLog - new.txt

PS: 'One test': I do not understand. Do you want me to see whether I still have the problem after I have disabled that option?

if you enable the option, you will not get results from a Unified folder. So disable it. I need tro investigate how to solve this - it obviously works best when in a real folder. But I also made it work when in a single message tab. I disable the feature when in a search result or "view message in conversation" which doesn't have a designated source folder. I suspect I have to do the same when in a unified folder. But this option is not switched on by default, so unless you turned it on you shouldn't see any side effects from it.

RealRaven2000 commented 3 years ago

There are no error messages from QuickFolders in the second log.

here is what happens in Windows when I drag some messages from a unified inbox to the quickMove box (using QuickFolders 5.5)

image

Here is the debug log:

toolbarDragObserver:DnD dragenter QuickFolders-Toolbar quickfolders.js:1051:12
toolbarDragObserver:DnD dragenter QuickFolders-left quickfolders.js:1051:12
toolbarDragObserver:DnD dragenter QuickFolders-oneButtonPanel quickfolders.js:1051:12
toolbarDragObserver:DnD dragenter QuickFolders-quickMove quickfolders.js:1051:12
toolbarDragObserver:DnD dragenter QuickFolders-Toolbar quickfolders.js:1051:12
toolbarDragObserver:DnD dragenter QuickFolders-left quickfolders.js:1051:12
toolbarDragObserver:DnD dragenter QuickFolders-Category-Selection quickfolders.js:1051:12
toolbarDragObserver:DnD dragenter QuickFolders-Category-Box quickfolders.js:1051:12
toolbarDragObserver:DnD dragenter QuickFolders-mainPopup quickfolders.js:1051:12
toolbarDragObserver:DnD dragenter QuickFolders-readingList quickfolders.js:1051:12
toolbarDragObserver:DnD dragenter QuickFolders-quickMove quickfolders.js:1051:12
RealRaven2000 commented 3 years ago

Expected behavior: the red text panel should open up and show the last entered location. Once I start typing over the contents new target folders are suggested:

image

PS: that console log should be there all the time with the current source code (but I actually don't want that because it clutters up the error console, so I make these messages optional in the next maintenance version)

LinuxOnTheDesktop commented 3 years ago

Thank you for your work. '[W]hen I drag some messages from a unified inbox to the quickMove box': aha - I am not using that box. Rather, and to quote my first post, I am dragging 'from my unified inbox to a QuickFolder'. That is, I'm dragging to one of these: image

RealRaven2000 commented 3 years ago

Ok - I just tested that - but it works for me. Did you drag it onto "Films" by any chance? The "brush" icon is only displayed for tabs that point to an invalid (non existent) folder - you can fix that one by clicking on it.

To get additional debug output for troubleshooting, enable "Debug mode" on the QuickFolders settings Advanced tab.

Expected output:

toolbarDragObserver:DnD dragenter QuickFolders-Toolbar quickfolders.js:1051:12
toolbarDragObserver:DnD dragenter QuickFolders-Folders-Pane quickfolders.js:1051:12
toolbarDragObserver:DnD dragenter quickfolders.js:1051:12
QuickFolders 18:31:39.197  [5130 ms]     
util.touch(Addons-dev)
1618939899
20/4 18:31:39
QuickFolders 18:31:39.209  [12 ms]   
util.touch(Addons-dev)
1618939899
20/4 18:31:39
QuickFolders 18:31:39.209  [0 ms]    
buttonDragObserver.drop DropTarget = toolbarbutton0  Target Folder:Addons-dev

Let's see if we get any exception / error message in between these lines.

RealRaven2000 commented 3 years ago

I made some additional tests dragging from the unified inbox with messages from the same Inbox and then from a mix (2 different inboxes). To better keep track I tagged these messages so I can see them in the target folder.

From what I can see as soon as I dragged from mails in 2 different Inboxes in one operations just even once dragging mails seems to my tabs stopped working.

Technical detail: In my call to nsIMsgCopyService.CopyMessages I pass a single source folder which is the physical folder of the first highlighted email, followed by a list of messages. I think that somehow upsets the copy service and spoils it while I am in my unified inbox. The only way I could make the copy service work again was by restarting Thunderbird. Don't know what is happening here but at least I can now reproduce the behavior; my guess is that the database gets confused by the fact that the list of messages comes from different folder locations.

I need to see what happens if I drag the mails to a folder in the tree - is the "CopyMessages" function called once or multiple times? If it is called once, is the sourceFolder parameter passed empty?

RealRaven2000 commented 3 years ago

Note: in the previous test I did move mail to an Imap folder, so mails would be uploaded to an Imap server, so I am not sure whether this is also a side effect of my slow internet connection... I will do some more tests moving to a local folder to rule out that part of the problem. ... generally I think it would be a good idea to break up the copy operations into different source folders - probably not something I think of generally in my ordinary day-to-day usage of Thunderbird...

RealRaven2000 commented 3 years ago

Note: in the previous test I did move mail to an Imap folder, so mails would be uploaded to an Imap server, so I am not sure whether this is also a side effect of my slow internet connection... I will do some more tests moving to a local folder to rule out that part of the problem. ... generally I think it would be a good idea to break up the copy operations into different source folders - probably not something I think of generally in my ordinary day-to-day usage of Thunderbird...

Having said that, obviously for performance reasons I would prefer a single operation (at least one per originating source folder) - obviously breaking up the flow like this isn't trivial ...

LinuxOnTheDesktop commented 3 years ago

I was not dragging to the broken 'films' folder.

I have had the problem - which, as I have said, is intermittent (indeed, only very occasional) - whilst dragging a single email.

I have as of now enabled QF's debug mode. Then I moved a single email to one of my QF folders (not using the 'quickMove' function) and undid the move. I attach my console output. I may contain nothing relevant.

ConsoleLog - new.txt

'I am not sure whether this is also a side effect of my slow internet connection': I have a fast Internet connection; yet, sending email with my main email provider, namely Mailfence, seems to be a little slow - I think this is caused by that email provider.

RealRaven2000 commented 3 years ago

Thanks for the log - looks like absolutely nothing is happening after you enabled it. are you sure you dragged an email somewhere. Just to be clear we are talking about the same console - I open it with Tools / Devloper Tools / Error console (In Windows I can also use Ctrl+shift+J) and have the following options enabled in it: image

Errors, Warnings, Logs, Info and Debug. I disable CSS XHRand Requestsbecause they are more for web-pages and content, which is not where I currently run QuickFolders (it's all privileged code). You should see a lot more activity from QuickFolders with debug enabled if you do anything at all with it (clicking a tab / dragging mail etc.)

LinuxOnTheDesktop commented 3 years ago

Apologies: I had some of the log tabs disabled. Also, previously I may have forgotten to drag an email to a quickFolder rather than to merely a folder. I have corrected all that. I attach a new log. Note though that the action that should have some corresponding data in this log - I dragged an email to quickFolder - is not problematic in the following sense: this time. everything worked. For, as I say: the problem is intermittent.

20-04-2021-10-14.txt

fredstluka commented 3 years ago

It might be helpful to enable "Show Timestamps" to see whether the 2 calls mentioned above were close together:

Nice!  I was wondering why the Error Console didn't show timestamps.  It didn't occur to me that such a useful feature would exist but be off by default.  So I didn't even think to look for a way to turn them on.  Thanks for the tip!

--Fred

Fred Stluka -- http://bristle.com -- Glad to be of service! Open Source: Without walls and fences, we need no Windows or Gates.

sometimegithubuser commented 1 year ago

I am having the same issue on TB 102.5.1 and QuickFolders Pro 5.14. The symptoms are trying to drag one email from the unified inbox to any of the folder tabs just below the menu row. The problem is intermittent. Simply turning off the add-on and then back on, without even restarting TB, fixes it. Or restarting TB fixes it. I just found this bug report and will try to capture some of the logs mentioned the next time it happens. console-export-2022-12-11_17-48-52.txt

sometimegithubuser commented 1 year ago

Just a quick note to mention that this issue is still happening with Quick Folders 5.17.1 and TB 102.14.0. It's intermittent and simply disabling QF and re-enabling it fixes the issue for as long as TB is running.