Version: unspecified (using KDE 4.7.3) OS: Linux Currently i have an internet disconnection every 24 hours. If i'm connected to a xmpp chatroom, telepathy-text-ui disconnect from the chatroom & reconnect automatically but to an « non » existence chatroom : i'm « alone » on this chatroom & i'm not able to send a message to the chatroom. Reproducible: Always Steps to Reproduce: Connect to a xmpp chatroom, reconnect to internet Actual Results: You'll get 2 windows -> the correct chatroom marked as disconnect -> a new window with the same chatroom where you're alone & not able to sent any messages Expected Results: You should be able to reconnect to your previous chatroom. Please note that i'm having a dynamic internet ip. All of this are tested with mageia cauldron running telepathy-kde 0.2. Telepathy-gabble is 0.15.1
*** Bug 291630 has been marked as a duplicate of this bug. ***
Just looked at the code, error is in: ChatTab::onConnectionStatusChanged We need to check the targetHandleType and act appropriately.
Git commit bb2b9dd77f5695bfdf80f98c138aee044ddeff50 by David Edmundson. Committed on 16/01/2012 at 19:38. Pushed by davidedmundson into branch 'master'. Correctly rejoin chatrooms on reconnect Reviewed by: Martin Klapetek M +11 -1 app/chat-tab.cpp A +7 -0 app/defines.h [License: UNKNOWN] * M +3 -1 app/main.cpp The files marked with a * at the end have a non valid license. Please read: http://techbase.kde.org/Policies/Licensing_Policy and use the headers which are listed at that page. http://commits.kde.org/telepathy-text-ui/bb2b9dd77f5695bfdf80f98c138aee044ddeff50
Sorry, need to REOPEN. The committed patch doesn't work here (still doesn't reconnect), while the previous nopasted patch (see below) works just fine. Just verified by locally reverting to the previous commit and testing the "old" patch again. diff --git a/app/chat-tab.cpp b/app/chat-tab.cpp index a8f6626..5a16f45 100644 --- a/app/chat-tab.cpp +++ b/app/chat-tab.cpp @@ -80,6 +80,14 @@ void ChatTab::onConnectionStatusChanged(Tp::ConnectionStatus status) { // request a new text channel for the chat if (status == Tp::ConnectionStatusConnected) { - account()->ensureTextChat(textChannel()->targetId(), QDateTime::currentDateTime(), QLatin1String("org.freedesktop.Telepathy.Client.KTp.TextUi")); + if (textChannel()->targetHandleType() == Tp::HandleTypeContact) { + account()->ensureTextChat(textChannel()->targetId(), + QDateTime::currentDateTime(), + QLatin1String("org.freedesktop.Telepathy.Client.KTp.TextUi")); + } else if (textChannel()->targetHandleType() == Tp::HandleTypeRoom) { + account()->ensureTextChatroom(textChannel()->targetId(), + QDateTime::currentDateTime(), + QLatin1String("org.freedesktop.Telepathy.Client.KTp.TextUi")); + } } }
Git commit 5dfed1cf2127e27901bd8c6571cb682674aa0e3a by Martin Klapetek. Committed on 16/01/2012 at 22:31. Pushed by mklapetek into branch 'master'. Use correct string for text-ui client path M +1 -1 app/defines.h http://commits.kde.org/telepathy-text-ui/5dfed1cf2127e27901bd8c6571cb682674aa0e3a
Works now!