Closed Bug 955323 Opened 10 years ago Closed 10 years ago

New messages not displayed after detaching and reattaching a conversation tab

Categories

(Instantbird Graveyard :: Conversation, defect)

defect
Not set
major

Tracking

(Not tracked)

RESOLVED FIXED

People

(Reporter: florian, Assigned: florian)

References

Details

(Whiteboard: [1.4-blocking][regression])

Attachments

(1 file)

*** Original post on bio 1888 at 2013-03-07 22:11:00 UTC ***

Not sure of the exact steps to reproduce, but this is serious enough that we don't want to forget it.
Whiteboard: [1.4-blocking]
*** Original post on bio 1888 at 2013-03-14 21:12:03 UTC ***

I've found this error on the console shortly after detaching and reattaching a conversation:

Timestamp: 14.03.2013 22:07:46
Error: TypeError: this._hasBuddy is not a function
Source File: chrome://instantbird/content/conversation.xml
Line: 1360
*** Original post on bio 1888 at 2013-04-12 13:47:32 UTC ***

I haven't been able to reproduce this, but I do get the following warning

Timestamp: 04/12/2013 03:41:19 PM
Warning: ReferenceError: reference to undefined property window.arguments[0]
Source File: chrome://instantbird/content/instantbird.js
Line: 14

and multiple copies of

Timestamp: 04/12/2013 03:43:14 PM
Error: [Exception... "'JavaScript component does not have a method named: "supportsCommand"' when calling method: [nsIController::supportsCommand]"  nsresult: "0x80570030 (NS_ERROR_XPC_JSOBJECT_HAS_NO_FUNCTION_NAMED)"  location: "JS frame :: chrome://global/content/globalOverlay.js :: goUpdateCommand :: line 71"  data: no]
Source File: chrome://global/content/globalOverlay.js
Line: 71

which may also be detach/reattach bugs but don't seem directly related.
Attached patch PatchSplinter Review
*** Original post on bio 1888 as attmnt 2388 at 2013-04-19 00:06:00 UTC ***

The error in comment 1 is causing this bug. It can be reliably reproduced with the following steps:
1. Detach the tab of an IRC channel.
(maybe 1.bis) Have the garbage collector do its stuff.
2. Have someone join the channel or change his nick.
3. Have someone send a message to the channel.

The bind() call at http://hg.instantbird.org/instantbird/rev/38fa9b323195#l3.104 makes the function returned by getShowNickModifier keep a reference to the conversation binding.
As the text modifiers are kept (swapped) the code breaks as soon as a new Show Nick regexp is needed if the original conversation binding is no longer alive.

Requesting review from aleth because he r+'ed Show Nick (bug 954993 (bio 1562)) and feedback from Mic because I think this has some potential to break some extensions using text modifiers, and I think Mic has some.
Attachment #8354155 - Flags: review?(aleth)
Attachment #8354155 - Flags: feedback?(benediktp)
Assignee: nobody → florian
*** Original post on bio 1888 at 2013-04-19 00:13:47 UTC ***

(In reply to comment #2)
> I haven't been able to reproduce this, but I do get the following warning
> 
> Timestamp: 04/12/2013 03:41:19 PM
> Warning: ReferenceError: reference to undefined property window.arguments[0]
> Source File: chrome://instantbird/content/instantbird.js
> Line: 14

This warning is harmless, it happens each time a new conv window is created by detaching a conversation. Would still be worth filing and getting fixed (it's trivial).

> and multiple copies of
> 
> Timestamp: 04/12/2013 03:43:14 PM
> Error: [Exception... "'JavaScript component does not have a method named:
> "supportsCommand"' when calling method: [nsIController::supportsCommand]" 
> nsresult: "0x80570030 (NS_ERROR_XPC_JSOBJECT_HAS_NO_FUNCTION_NAMED)"  location:
> "JS frame :: chrome://global/content/globalOverlay.js :: goUpdateCommand ::
> line 71"  data: no]
> Source File: chrome://global/content/globalOverlay.js
> Line: 71

I have steps to reproduce for this:
1. Detach a conversation (doesn't have to be a MUC).
2. Reattach it (this closes the second window).
3. Open the context menu on the conversation content.

This is something we should fix, as I suspect it's also causing a leak. Not 1.4-blocking, but may be 1.4 wanted.
Blocks: 954993
Whiteboard: [1.4-blocking] → [1.4-blocking][regression]
Comment on attachment 8354155 [details] [diff] [review]
Patch

*** Original change on bio 1888 attmnt 2388 at 2013-04-19 08:19:51 UTC ***

(In reply to comment #3)

> Requesting [...] feedback from Mic because I think this has some
> potential to break some extensions using text modifiers, and I 
> think Mic has some.

"Link Bugzilla" is using text modifiers and this one's not used anymore (one or two daily users at best at the moment). Too bad we can't search the code of all add-ons on AIO.

I think we really need a notification that tells that a conversation was moved for anyone who needs to reapply their changes in this case.
Attachment #8354155 - Flags: feedback?(benediktp) → feedback+
*** Original post on bio 1888 at 2013-04-19 08:34:24 UTC ***

(In reply to comment #5)

> I think we really need a notification that tells that a conversation was moved
> for anyone who needs to reapply their changes in this case.

This is already filed as bug 954607 (bio 1175).
Comment on attachment 8354155 [details] [diff] [review]
Patch

*** Original change on bio 1888 attmnt 2388 at 2013-04-19 11:45:34 UTC ***

Nice job diagnosing this!

I agree with Mic that this is another reason to fix bug 954607 (bio 1175).
Attachment #8354155 - Flags: review?(aleth) → review+
OS: Other → All
Hardware: x86 → All
Whiteboard: [1.4-blocking][regression] → [1.4-blocking][regression][checkin-needed]
*** Original post on bio 1888 at 2013-04-19 11:48:43 UTC ***

(In reply to comment #4)
filed as bug 955378 (bio 1940)
*** Original post on bio 1888 at 2013-04-19 23:00:22 UTC ***

http://hg.instantbird.org/instantbird/rev/b4bc5003679b
Status: NEW → RESOLVED
Closed: 10 years ago
Resolution: --- → FIXED
Whiteboard: [1.4-blocking][regression][checkin-needed] → [1.4-blocking][regression]
Target Milestone: --- → 1.4
You need to log in before you can comment on or make changes to this bug.