Bug 163168

Summary: a channel can be open in two tabs at once after /msg #channel
Product: [Applications] konversation Reporter: ais523
Component: generalAssignee: Konversation Developers <konversation-devel>
Severity: normal    
Priority: NOR    
Version: 1.0.1   
Target Milestone: ---   
Platform: unspecified   
OS: Linux   
Latest Commit: Version Fixed In:

Description ais523 2008-06-03 22:43:34 UTC
Version:           1.0.1 (using 3.5.9, Kubuntu (hardy) 4:3.5.9-0ubuntu7.1)
Compiler:          Target: i486-linux-gnu
OS:                Linux (i686) release 2.6.24-17-generic

I was in the channel #irp on irc.freenode.net (although this bug seems not to depend on the channel, I've reproduced it in #esoteric on that network too), and typed the following command (without the quotes) into the text box where messages are typed and pressed Enter: "/msg #irp " (note the trailing space at the end). I expected this to send a null message to that channel. Instead, it caused a new tab to open, also apparently to the channel #irp (it had a log extract at the top, as if I had just joined a query). I repeated this in #esoteric (which was more active), with "/msg #esoteric ", and tried sending messages from both the original #esoteric tab and the new tab that had opened; messages from either tab reached the channel, and all messages from that channel appeared in the original tab.

Further experiment shows that this bug seems to reproduce every time, and that the whitespace at the end is irrelevant (the same effects happen whether there are no spaces or two spaces at the end). Closing the second tab does not cause me to part the channel. I haven't tried closing the original tab in such a test yet.

This is a user interface bug; the current behaviour is counter-intuitive, as having a channel open in two tabs at once makes no sense. I'd expect to either send a blank message, or to get no response from Konversation at all, or possibly an error.
Comment 1 Eike Hein 2008-06-04 14:01:17 UTC
SVN commit 816635 by hein:

* Stop treating '/msg <nick>' as equivalent to '/query <nick>'.
* Make'/msg <nick>' error out when lacking a message parameter.
* Make '/query <recipient> [message]' error out when recipient is a channel.

 M  +3 -0      ChangeLog  
 M  +1 -1      src/commit.h  
 M  +26 -7     src/outputfilter.cpp  

WebSVN link: http://websvn.kde.org/?view=rev&revision=816635