Closed Bug 408480 Opened 12 years ago Closed 10 years ago

data loss using extensions (notably lightning): Ctrl+C (and other keys) in standalone message window deletes mail, missing or empty menus

Categories

(Thunderbird :: Message Reader UI, defect, critical)

defect
Not set
critical

Tracking

(Not tracked)

RESOLVED FIXED
Thunderbird 3.0rc1

People

(Reporter: michelangelo, Assigned: philor)

References

Details

(Keywords: dataloss)

Attachments

(2 files)

User-Agent:       Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1.11) Gecko/20071127 Firefox/2.0.0.11
Build Identifier: 2.0.0.9 (20071031)

if i press ctrl+c to copy text in a standalone message window, the message gets sent to the trash folder. if i have a deleted message open in the standalone message window (i opened a message in the trash) and try and copy text with ctrl+c it permanently deletes the message with no questions! 

Reproducible: Always

Steps to Reproduce:
1. open a message in the standalone message window
2. press ctrl+c 

Actual Results:  
your message is sent to the trash or permanently deleted (depending on where the message is located)

Expected Results:  
text is copied, your message is not deleted

i have these addons installed:
birdiesync
Lightning
MoreFunctionsForAddressBook
Plaxo
Just checked and this only happens when the MoreFunctionsForAddressBook addon is active, i have tested and will contact the add on author
Status: UNCONFIRMED → RESOLVED
Closed: 12 years ago
Resolution: --- → INVALID
Duplicate of this bug: 432928
I reported the bugs again to the author (kaosmos@nic-nac-project.org) today.

The bug is still in the plugin(0.5.2.2), I am using TB 2.0.0.17 in Windows.
I found that the same thing happens if pressing ctrl+p.

Moreover some menu items disappear in the standalone window:
See my screencast: http://screencast.com/t/MtIxzFJtkl
This bug seems to come and go, but from investigation is not related to the actual extensions, but more with order files are overlaid.

Adding a direct overlay of utilityOverlay.xul in mailWindowOverlay.xul fixed the bug for me, but it would be nice to find the root cause.
Status: RESOLVED → UNCONFIRMED
OS: Windows XP → All
Hardware: PC → All
Resolution: INVALID → ---
Summary: data loss: Ctrl+C in standalone message window deletes mail → data loss: Ctrl+C (and other keys) in standalone message window deletes mail, missing or empty menus
Status: UNCONFIRMED → NEW
Ever confirmed: true
I've seen this in Lightning too, and since the failure mode is really bad, this needs to block Thunderbird 3.  Adding qawanted in the hopes that someone can spend some time narrowing down a reproducible test case.
Flags: blocking-thunderbird3+
Keywords: dataloss, qawanted
Summary: data loss: Ctrl+C (and other keys) in standalone message window deletes mail, missing or empty menus → data loss using extensions (notably lightning): Ctrl+C (and other keys) in standalone message window deletes mail, missing or empty menus
Unless we believe that it's still a frequent occurrence, or someone tracks down steps to reproduce, we can't block Tb3 on this.  Michaelangelo/wodka: would you guys be willing to try a nightly build on a fresh profile and see if you can come up with reliable steps to reproduce?

If someone does come up with reliable steps to reproduce, please renominate to block Thunderbird 3.
Flags: blocking-thunderbird3+ → blocking-thunderbird3-
so what is the extension doing that causes the lossage?
Component: Mail Window Front End → Message Reader UI
QA Contact: front-end → message-reader
I am the author of MoreFunctionsForAddressBook.

It exists another bug similar to this one: https://bugzilla.mozilla.org/show_bug.cgi?id=503656

On the base of some tests performed with the owner of bug 503656, I found out that this problem comes out - just on some installation - when are installed and enabled MoreFunctionsForAddressBook and Lightning.

I've found out that deleting the overlay of my extension for messageWindow.xul, the bug seems to disappear.

But in my extension there is nothing that can cause deletion of messages by pressing a combination of keys in message window, as you can see in the attached xul file.

Maybe the problem is caused by the overlay procedure with Lightning, as suggested in comments  #3 and #4.

Unfortunately I can't reproduce this bug; in next version I'll remove the overlay for messageWindow.xul, but this is not a solution, because in my opinion this is a Lightning problem that could involve also other extensions.

Of course everyone can inspect the code of my extension to find out a solution for this.
I attached here the files that will be removed from 0.5.5.2 versions.
As noted, I don't think this is an extension issue. The problem is that when utilityOverlay doesn't correctly overlay the mailWindowOverlay then there is an element <key id="...delete message..." oncommand="..."/> which catches all keypresses, and causes messages to disappear.

Dan, does anything speak against directly overlaying mailWindowOverlay with utilityOverlay, as previously suggested? This caused the bug to go away for me back when I tested, and I don't think it causes any further harm.
I give some details more.

The test made by the owner of bug 503656 gave these results:

1) Lightning and MoreFunctionsForAddressBook disabled --> no bug
2) Lightning enabled and MoreFunctionsForAddressBook disabled --> no bug
3) Lightning disabled and MoreFunctionsForAddressBook enabled --> no bug
4) Lightning and MoreFunctionsForAddressBook (0.5.5.1 version) enabled --> bug
5) Lightning and MoreFunctionsForAddressBook (0.5.5.1 version without overlay on messageWindow.xul) enabled --> no bug

So extensions seem to be involved in some way.

Notice that in the case of bug 503656, there is no corruption in menus and the bug is always present.

Unfortunately I couldn't reproduce the bug , even reporting the same settings of the owner of bug 503656.
I had another report of this kind with a different combination of extensions (PrintingTools and QuickMenuMC), but the same result (deletion of the message from message window, clicking CTRL-P).

This could be potentially a big problem in future, if it will be present also in Thunderbird 3.

The explaination in comment #10 seems correct, but I can't understand why the element <key id="...delete message..." oncommand="..."/> catches all keypresses.
A <key> element without a |key| attribute automatically catches all keystrokes.
Thanks for the explanation Philipp.
Anyway in these bug reports, users say that just a combination of keys (CTRL-C or CTRL-P or arrow keys or others) cause deletion of the message, not every key.
So this doesn't sound like a TB bug. It's either a Xul or xul related one. Shall I close as invalid or move to Xul ?
I'm not really sure it is. It may be a general conceptional issue that race conditions can occur regarding overlays, but I think the problem is that mailWindowOverlay expects utilityOverlay to already be loaded, which may not always be the case. Can't we just add the overlay using the overlay tag?
Philor, any thoughts on this?
One: I think I'm going to be sick.
Assignee: nobody → philringnalda
Status: NEW → ASSIGNED
Attached patch As little as possible β€” β€” Splinter Review
Sort of fun to patch right now, when we don't want to touch much and so far I don't know of anyone who can still reproduce it.

The right fix is probably something with bug 359748 - we totally misuse utilityOverlay and we should just stop, but not now. However, this shouldn't change anything: we'll still have the horrible conglomeration of both an oncommand and a command on the merged keys, we just won't have any time or way to have an action of either sort, but no key/keycode, so it wants to handle all keys.
Attachment #405624 - Flags: review?(bugzilla)
Attachment #405624 - Flags: review?(bugzilla)
Attachment #405624 - Flags: review+
Attachment #405624 - Flags: approval-thunderbird3+
Keywords: qawanted
Whiteboard: [ready to land]
Target Milestone: --- → Thunderbird 3.0rc1
http://hg.mozilla.org/comm-central/rev/823732e204db
Status: ASSIGNED → RESOLVED
Closed: 12 years ago10 years ago
Resolution: --- → FIXED
Whiteboard: [ready to land]
You need to log in before you can comment on or make changes to this bug.