Version: (using KDE KDE 3.5.5) Installed from: Debian testing/unstable Packages When kicked from a channel, or losing connection to the server, channel tabs are closed. This potentially makes it difficult or impossible to see what happened prior to leaving the channel. While this may be expected behavior by some users, it's somewhat uninutitive and confusing, and depending on whether or not logging was active, potentially results in data loss (loss of the scrollback buffer for the channel in question). I'd like to see a preference, defaulting to "on", to the effect of "Keep channel tabs open until explicitly closed", with the following behavior. When activated, the channel tab is only closed under the following conditions. - A user initiated /part command. For the purposes of this, if the part /part is generated by the server, by /quote, or by /cycle, or any other means outside the normal user interface, it's not "user-initiated". (In other words, it has to come from a context menu or by typing /part) - A user initiated /join 0 (part all channels), (provided this isn't otherwise blocked in the client to prevent the common user error/social engineering case of /join #2,000 etc) - The user, or an installed addin (once plugins or scripts are an option) closes the channel tab or parent server tab explicitly. The following behaviors should also apply (possibly configurable). - When reestablishing a server connection, the client will attempt to join all channels for which a channel tab already exists. - The event removing the client from the channel should be shown in the channel tab if the keep channel tabs open preference is selected, or shown in the status window if the keep channel tabs open preference is not selected. (ie, kick, server part, quit, or server kill) - When a channel tab persists after leaving the channel, for whatever reason, a visual indication should be made that the channel is no longer active, persisting until the channel tab is closed or the channel is successfully rejoined. -When trying to rejoin a channel for which a channel tab exists, messages associated with the attempt should appear in that channels's tab (banned, invite only, channel is full, channel requires key, etc)
*** Bug 139715 has been marked as a duplicate of this bug. ***
Yup, that is really annoying strange behaviour, and half a year without resolving...
I'm taking a renewed interest in this one. Renamed for clarity. First of, the opening statement of the report is no longer true; losing connection to the server doesn't result in the views being closed. It's been that way for a while now. That creates an actual propblem, however, in that it makes the behavior inconsistent between connection loss and other reasons for a channel being PARTed by other means than a manual close, e.g. a kick. That's not good enough; it should either close every time, or stay open in both scenarios. If we opt for the latter, the challenge becomes giving clear and hard-to-miss indication that a channel is not joined despite the view being open. We currently wipe a channel's nickname list on loss of connection, and the same should be done when keeping it open after a kick. Additionally, we need to make sure that an appropriate message always ends up being in that view, and at the end of the buffer. Furthermore, greying out the tab label might be nice to do, and showing a Rejoin action in the tab context menu.
SVN commit 797886 by argonel: prevent channel from closing when kicked, can rejoin with tab context menu or /join. BUG:137074 M +47 -18 channel.cpp M +4 -2 channel.h M +1 -1 commit.h M +2 -0 konversationmainwindow.cpp M +14 -15 outputfilter.cpp M +1 -1 server.cpp M +44 -1 viewcontainer.cpp M +1 -0 viewcontainer.h WebSVN link: http://websvn.kde.org/?view=rev&revision=797886