Bug 317850

Summary: text-ui window opened from quick chat plasmoid button doesn't send message
Product: [Unmaintained] telepathy Reporter: Ezio Vergine <virgolus>
Component: chat-plasmoidAssignee: Telepathy Bugs <kde-telepathy-bugs>
Status: RESOLVED FIXED    
Severity: normal CC: heri+kde, kde, m4yer+zeug, roland.leissa
Priority: NOR    
Version: 0.6.0   
Target Milestone: 0.6.1   
Platform: Arch Linux   
OS: Linux   
Latest Commit: Version Fixed In:
Sentry Crash Report:

Description Ezio Vergine 2013-04-04 22:37:22 UTC
text-ui window opened from quick chat plasmoid button doesn't send message and does't refresh if new message incoming. If I open new text-ui from contact list I'havent problems. 

Reproducible: Always

Steps to Reproduce:
1. open text-ui from chat plasmoid
2. write a message
Actual Results:  
Message isn't send and new incoming messages isn't visualized

Expected Results:  
message was sent correctly
Comment 1 Dennis Schridde 2013-04-06 10:15:23 UTC
I confirm this behaviour.

The bug appears in a variety of flavours:
* Sometimes the input line in text-ui is greyed out and I cannot enter text at all.
* Sometimes I can enter text, but after pressing enter no message is send to my peer and neither is anything displayed in the chat view above.
* Incomming messages often do not appear in the text-ui.

I also use the quickchat, which works throughout the whole time:
* Incomming messages are always displayed there.
* I can send messages from there.
* After opening the text-ui using the blue button, the quickchat vanishes as intended, but it will always reappear later.
* I do not close my quickchat manually using the X button, because it will reappear on the next incomming message anyway.
Comment 2 David Edmundson 2013-04-06 10:16:46 UTC
Can we get a log from the mission-control tab of ktp-debugger when this is hapenning
Comment 3 David Edmundson 2013-04-06 10:31:35 UTC
This is probably caused by:

Conversation::~Conversation()
{
    kDebug();
    requestClose();
    delete d;
}

We shouldn't be doing a requestClose if we're not handling the channel, which goes back to the problem here: https://bugs.kde.org/show_bug.cgi?id=293637 which is very difficult to fix 
without fixing TpQt
Comment 4 m4yer+zeug 2013-04-06 12:30:34 UTC
mission-control tab of ktp-debugger: http://paste.kde.org/717248/

after opening the ktp-chat-ui from quickchat, the debugger shows nothing, if i send a new message.
Comment 5 m4yer+zeug 2013-04-06 12:31:10 UTC
[14:29:39] <d_ed> could you add in the comment "d_ed says to look at line 43 and 47 and 87"
Comment 6 David Edmundson 2013-04-06 13:08:41 UTC
Proposed plan of action, technically a slightly bodge but we don't have any other option:

 - Add method to Conversation  delegateChannel();
 - Move all calls to ChannelDelegator::delegateChannel() to here (there's one in ConversationsModel)
 - Add private member to Conversation bool isDelegated;  this should be set to default to false
 - Conversation::delegateChannel() will set this to true 
 - Conversation::requestClose() should check "isDelegated == false" before calling channel->requestClose();

I also want something added to our ReleaseTesting wiki page so that we won't be broken in 0.7.0
Comment 7 David Edmundson 2013-04-10 12:20:49 UTC
Git commit f3a30eb36e174a38ca95fd1b7d2ea6a6c17fa281 by David Edmundson.
Committed on 09/04/2013 at 14:40.
Pushed by davidedmundson into branch 'kde-telepathy-0.6'.

Make sure ConversationModel never close a channels it is not handling
Related: bug 293637
REVIEW: 109925

M  +10   -1    KTp/Declarative/conversation.cpp
M  +1    -2    KTp/Declarative/conversations-model.cpp

http://commits.kde.org/telepathy-common-internals/f3a30eb36e174a38ca95fd1b7d2ea6a6c17fa281
Comment 8 David Edmundson 2013-04-16 14:04:58 UTC
*** Bug 318447 has been marked as a duplicate of this bug. ***