Can't spawn conversation in new chat tab from message header or address book if other conversations in progress

RESOLVED FIXED in Thunderbird 17.0

Status

Thunderbird
Instant Messaging
RESOLVED FIXED
5 years ago
5 years ago

People

(Reporter: mconley, Assigned: mconley)

Tracking

15 Branch
Thunderbird 17.0
x86
All

Thunderbird Tracking Flags

(thunderbird15+ fixed, thunderbird16+ fixed)

Details

Attachments

(1 attachment)

STR:

1)  Open an IM conversation with one or more contacts
2)  Close the chat tab
3)  In a message header that is showing presence for one of your chat contacts (that was not part of the conversations in part 1), click on the indicator to open up a conversation with that user.

What happens?

The chat tab is opened and focused, but no conversation for the selected user appears. What's more, manually opening a conversation with the contact from part 3 is now impossible, and throws the following error:

JavaScript error: chrome://messenger/content/chat/chat-messenger-overlay.js, line 457: conv is undefined.

What's expected?

The conversations should open properly with the selected contact.


I believe this is related to the code in openTab for the chat tab, which only appears to call _addConversation for the UI Conversations iff the element after conversationsGroup is searchResultConv.
OS: Windows 7 → All
Assignee: nobody → mconley
Florian:

Why do we only call _addConversation in the chat tab openTab function when conversationsGroup is next to searchResultConv?

http://mxr.mozilla.org/comm-central/source/mail/components/im/content/chat-messenger-overlay.js#107

-Mike
(In reply to Mike Conley (:mconley) from comment #1)
> Florian:
> 
> Why do we only call _addConversation in the chat tab openTab function when
> conversationsGroup is next to searchResultConv?
> 
> http://mxr.mozilla.org/comm-central/source/mail/components/im/content/chat-
> messenger-overlay.js#107
> 
> -Mike

That code (lines 108-116) builds the displayed list of conversations the first time the chat tab is opened. "conversationsGroup is next to searchResultConv" is a way to test that the list of displayed conversations is currently empty.

After that, new conversations are added when the new-ui-conversation notification is received. The bug here is because when receiving new-ui-conversation we test gChatTab as a way to know if the chat tab is opened, but we should instead test if it has ever been opened, or something like that.
Created attachment 647997 [details] [diff] [review]
Patch v1

Something like this?
Attachment #647997 - Flags: review?(florian)
Comment on attachment 647997 [details] [diff] [review]
Patch v1

This patch is ok with me if it fixes the issue (I'm assuming again that you have verified it does ;)).
Attachment #647997 - Flags: review?(florian) → review+
Attachment #647997 - Flags: approval-comm-beta?
Attachment #647997 - Flags: approval-comm-aurora?
comm-central: https://hg.mozilla.org/comm-central/rev/c31a57d9fdfc
Status: NEW → RESOLVED
Last Resolved: 5 years ago
tracking-thunderbird15: --- → ?
tracking-thunderbird16: --- → ?
Resolution: --- → FIXED
Target Milestone: --- → Thunderbird 17.0
tracking-thunderbird15: ? → +
tracking-thunderbird16: ? → +
Attachment #647997 - Flags: approval-comm-beta?
Attachment #647997 - Flags: approval-comm-beta+
Attachment #647997 - Flags: approval-comm-aurora?
Attachment #647997 - Flags: approval-comm-aurora+
comm-aurora: https://hg.mozilla.org/releases/comm-aurora/rev/60d11d425271
comm-beta: https://hg.mozilla.org/releases/comm-beta/rev/a4b3e0cbff5d
status-thunderbird15: --- → fixed
status-thunderbird16: --- → fixed
You need to log in before you can comment on or make changes to this bug.