Bug 284994 - The "Hide Join/Part/Nick events except for nicks active within the last..." option doesn't work for joining
Summary: The "Hide Join/Part/Nick events except for nicks active within the last..." o...
Status: CONFIRMED
Alias: None
Product: konversation
Classification: Applications
Component: general (show other bugs)
Version: 1.5-rc1
Platform: Arch Linux Linux
: NOR normal
Target Milestone: ---
Assignee: Konversation Developers
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2011-10-26 08:59 UTC by Victor Gavrish
Modified: 2013-04-15 02:24 UTC (History)
1 user (show)

See Also:
Latest Commit:
Version Fixed In:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Victor Gavrish 2011-10-26 08:59:44 UTC
Version:           Git (using KDE 4.7.2) 
OS:                Linux

A person who was active within the last hour parted from IRC twice, but didn't eneter in between those events (apparently)

Reproducible: Didn't try

Steps to Reproduce:
1. Enable the option.
2. Have a friend enter a channel with you on it, say a few words, leave, then enter again.

Actual Results:  
You can see your friend leave, but not enter.

Expected Results:  
You should see your friend reenter, since he was active within the last hour.

OS: Linux (x86_64) release 3.1.0-1-ARCH
Compiler: gcc
Comment 1 Eike Hein 2011-10-26 18:10:53 UTC
That is basically intended behavior, because Konversation always errs on the side of caution when it comes to claiming that a person named X is the same person that was named X previously. For example, query tabs will show when people leave IRC when that information is available (because you share some channel with them), but it won't show when they return, because there is no secure way to claim that it's actually the same person.

Services authentication theoretically does allow to make that claim, but is racy already in the query example - we'd have to WHOIS first and wait for reply to find out the person is authenticated, and the person could talk before we get the reply. With the join example that's even more problematic - delaying showing the join until we have established identity would easily throw off the proper ordering of events in the display.

You can make the argument that it should work naively nickname-based, and I don't entirely disagree, because clearly the feature would be more useful then in the common case. The security aspect also isn't as critical as in the query scenario, because in a query you might tell someone some secret information, but a join is at least one more step removed from that (e.g. opening a query). We'll think about it, but it's not easy to get past the queasy feeling of doing something insecure by making it nick-based.
Comment 2 Victor Gavrish 2011-10-26 18:49:23 UTC
I somehow doubt that someone will use Konversation's optional feature of showing a person's comings and goings only if they were active for some malicious intent. It's too rare an occurance. First, you need to know that the victim is running Konversation; second - that he's got that non-default option turned on; third - that he would trust someone on IRC anyway. There are many easier methods of forgery. Plus, it's easy to intuit that just because Konversation said that somebody left and then somebody joined with the same nick (even with the option turned) it doesn't guarantee that it's the same person. It doesn't know any more than you do.

Still, I see your point.
Comment 3 Victor Gavrish 2011-10-26 18:57:36 UTC
Also, the option explicitly states: "Hide Join/Part/Nick events except for nicks active within the last..." - it doesn't say for active PEOPLE, it says for active NICKS. Seems straightforward for me: if someone with that nick said something within the last (period), that nick's comings and goings are displayed. Konversation doesn't imply that it will make sure it's the same person, so I would argue that even if Konversation knew it were a different person with the same nick and hid his joining the channel because of it, it would still be technically a bug because it would do something that conflicts with what the option says literally.
Comment 4 Eike Hein 2011-10-26 19:09:56 UTC
Right, that's a pretty good argument.
Comment 5 Eike Hein 2011-10-26 19:11:31 UTC
(Comment #3, that is. :)