thorwe / CrossTalk

A Teamspeak 3 plugin that enhances the general audio experience and provides advanced features for commanders.
https://www.myteamspeak.com/addons/9ddfa0b2-25c2-4302-8a43-07f8819af9a9
MIT License
47 stars 12 forks source link

Client Group whisper system is leaking to others in channel #13

Closed wohali closed 10 years ago

wohali commented 10 years ago

With a fully upgraded set of clients running 3.0.13.1 and 1.5.0, we're having people who are not in any channel group getting whispers from client channel groups they're not in. This is also leaking out to people who don't even have CrossTalk installed at all. This appears to have started with the 1.5.0 upgrade and/or 3.0.13.1. I don't have an easy way to backlevel and have people try a different version.

As it stands we no longer can use this function and have had to go back to manual whisper lists :(

thorwe commented 10 years ago

I'll investigate asap.

wohali commented 10 years ago

We found the problem seems to occur more frequently with >5 people in a channel.

thorwe commented 10 years ago

Hm, I think I found the bugger, but this'd mean it's not working at all currently (as in whispering to anyone in the channel). Will verify tomorrow, since I tend to not trust my judgement at 3am ;) Since I seem to have broken another thing with the latest update, when would be next time you need that functionality? Fingers crossed I might be able to fix both until then.

wohali commented 10 years ago

We regularly use this functionality on Wednesday and Thursday nights, Eastern time. You have all week to fix it :)

thorwe commented 10 years ago

Ah well, then I can delay until tuesday. Kidding ;)

wohali commented 10 years ago

:) As to your other comment, it's definitely whispering to people who have no channel group set (Guest, i.e. default).

thorwe commented 10 years ago

Interestingly enough, I think even earlier versions should've been affected, just maybe not as much. If short testing is accurate, the fix https://github.com/thorwe/CrossTalk/commit/7aefc3390a89199b6f6d0ee980a891722a23d98d is comming soon to a build near you.

thorwe commented 10 years ago

v1.5.1 should fix that. Changelog: http://forum.teamspeak.com/showthread.php/81565-RELEASE-CrossTalk?p=365851#post365851

wohali commented 10 years ago

Sorry, this is happening right now, can you please reopen? When we have 6 or more people in a channel, with 2 people in a group, if one uses the whisper, everyone can hear it.

Not everyone in channel has the plugin, but everyone that does have it, has v1.5.1.

If you're around I can demonstrate the problem to you.

thorwe commented 10 years ago

I've uploaded a nightly version to the beta channel (accessible via options -> plugins -> crosstalk -> settings).

The version contains both some experimental fixes as well as extensive logging output. While the fixes could explain "works with x, but not with x+1", I'm not sure if I got 'em all.

Could you send me the logging output of a "leaked" whisper (extras->client log: debug checkbox checked) if I happen to not have fixed it in that run? Note that recipients don't need that version, only a brave send-tester.

wohali commented 10 years ago

Looks like the patch works. I tested it in a channel of 12 people, with 3 people in the target group - myself and 2 others (they were still running 1.5.1). No one heard my targeted whisper other than the 2 in the target group.

The debug is useful for diagnostic purposes to see who gets the whisper, you might want to leave that in. Not sure if it affects performance, but it shouldn't too too much.

Please release a 1.5.2! :dancer: :alien: :)

thorwe commented 10 years ago

Glad to hear it does work again finally :dancer:

I'll have to think about how exactly I'll deal with logging as there are a couple of issues to consider. I'd say it's fairly sure logging is non-blocking in a seperate thread as iirc the Qt logging classes feature that already. However, the client's log folder can grow indefinitely, there's no mechanism that deletes old log files. Excessive logging can lead to quite huge files and eaten up disk space. I could either add a functionality to delete old log files, which imo should rather be a client option, or only enable excessive logging via a checkbox, which might be option overkill with the "debug, info etc." already in existence. We'll see ;)

However, a simple one-liner per whisper shouldn't hurt for basic logging, I'll be at least leaving that one in without the requirement to opt-in.

thorwe commented 10 years ago

Closing bug ticket, take two ;)