Feature - Implemented Removal of "Update" Function (Discuss!)

Theraze

Active member
And as Veracity alluded to... if it's all available regardless in Vanilla KoL with the right scripts, the only thing that mafia should probably do is document that it exists. We aren't offering up anything that KoL isn't giving them anyways...
 

holatuwol

Developer
I'd also like to hear again why hola added this and what he currently thinks about it.
I added it because it made use of a feature that was happening already to benefit other people in the clan, and it seemed really cool at the time. If I were to change anything about it, I'd have it check against the result of "/who clan" and also clear it whenever you change clans. I don't see anything fundamentally wrong with the feature other than that, but I don't know what kind of data might have been leaked by accident either.
 

Orbrisa

Member
If you ask me it is still really cool. I use it daily. I'd be sad if it went away.

That said, I understand the concerns about the feature.
 

Veracity

Developer
Staff member
It would be trivial to make it opt-in, but there seemed to be resistance to that before.
I have no problem with that. But, if even one single person in your clan - or one of the people with a whitelist - happens to opt-in, they will happily provide updates, whether or not other people in the clan want it. It seems pointless.

When switching clans, clearing the list of people in your clan and on the whitelist should be done regardless (it looks like a bug that it wasn't happening before), and clearing the list of messages wouldn't be hard.
I agree with that. When you switch clans, your clan history should be cleared, so if you happen to provide an update, it will include only things from your current clan.

I'm at least going to add some output so people know what is going on. Unless there's a serious objection to it, I plan to add a non-GUI setting to make the feature opt-in, though I will also provide output that tells people what's going on so they can turn it on if someone sends them "update" and it fails.
Are you currently told if you are the target of an update? I think it'd be fine if you were told "xxx requested a clan chat update. Done." or "xxx requested a clan chat update. Declined.". Although, the message in your Outbox makes that obvious, should you happen to notice it later.
 

Orbrisa

Member
Are you currently told if you are the target of an update? I think it'd be fine if you were told "xxx requested a clan chat update. Done." or "xxx requested a clan chat update. Declined.". Although, the message in your Outbox makes that obvious, should you happen to notice it later.

I think most people don't regularly look at their outboxes ... but it's pretty easy to notice that someone has PMed you with "update", at least if you are using some form of tabbed chat that separates out individual PMs.
 

Veracity

Developer
Staff member
I've just seen a report that you can leave a clan and request an update from somebody still in the old clan. That seems like a problem. The following code in ChatManager would seem to prevent that:

Code:
		if ( channel.equals( "" ) && content.equalsIgnoreCase( "update" ) )
		{
			if ( !ClanManager.isMember( sender ) )
			{
				return;
			}
... except that ClanManager caches the member list. In many cases, that would be a simplification that reduces server hits, but in this case (and also in telling the clan buffbot to log off :)) I think it should force a refresh on the member list before honoring the request.

I'll look into it.
 

Veracity

Developer
Staff member
It was actually worse than that; it accepted "logoff" and "update" commands from anybody on the clan whitelist, whether or not the person is currently in the clan.

Revision 11354 attempts to address both issues: it forces a refresh of the current clan member list, and it looks at the current member list, not the clan whitelist.
 

Hairy

New member
I, and I suspect a lot of other people, see a very real difference between clan _members_ and clan _visitors_, even though KOL itself doesn't recognise such a distinction. While it's all very well for a member to have a convenient way to catch up with what's been happening in chat, there are obviously all sorts of reasons why one might not want a conversation shared unexpectedly with a visitor. Now sure, a visitor might happen to pop up just at in inopportune moment regardless, but Mafia's behaviour significantly expands the chances of that happening.

I like Theraze's suggestion from nearly two years ago -- people have to opt in to participating in chat sharing (so they're clearly aware of the feature) and they have to approve the action when an update is requested from them (so they only send what they're comfortable to have shared). Not a perfect solution, but I like to think that most of the time my clannies will try to be sensible.
 

Veracity

Developer
Staff member
I ... see a very real difference between clan _members_ and clan _visitors_, even though KOL itself doesn't recognise such a distinction.
Me too - but there doesn't seem to be a programmatic way to tell the difference; if somebody is visiting your clan they are, effectively, in your clan. If they don't have a whitelist, they are clearly a member, not a visitor, but if they have a whitelist, they might be a member or a visitor.

While it's all very well for a member to have a convenient way to catch up with what's been happening in chat, there are obviously all sorts of reasons why one might not want a conversation shared unexpectedly with a visitor. Now sure, a visitor might happen to pop up just at in inopportune moment regardless, but Mafia's behaviour significantly expands the chances of that happening.
Nobody has ever asked me for an "update". Since you have to ask for an update from somebody who is running KoLmafia, I would seem to be an obvious candidate, but it's never happened. So, who ARE people asking?

(I did get 4 requests for an "update" yesterday. They were all attached to bricks that were thrown through the windows of my house. KoLmafia did not send any chat history in response. :))

I like Theraze's suggestion from nearly two years ago -- people have to opt in to participating in chat sharing (so they're clearly aware of the feature) and they have to approve the action when an update is requested from them (so they only send what they're comfortable to have shared). Not a perfect solution, but I like to think that most of the time my clannies will try to be sensible.
The opt-in has been proposed - and I am OK with it. I think confirmation before responding is technically difficult. Other devs are welcome to chime in. :)
 

shoptroll

Member
But when somebody makes a pushy demand in the G-D thread - not even coming here to discuss it

Feel free to tell me to shove off, but I think if you want people to bring up issues like this here you need to make that clearer in the G-D Q&A thread. I expect that the majority of KoLers see that thread as the primary communication point regarding all things Mafia and aren't aware of this forum. G-D threads, as I'm sure you're aware, in general have a very gruff demeanor. If you'd like to bring more discussion regarding Mafia into your house I could bring it up with the rest of the mods.

The opt-in has been proposed - and I am OK with it. I think confirmation before responding is technically difficult. Other devs are welcome to chime in. :)

I'm not a dev, but I really think there needs to be an opt-in setting, especially because it sounds like Mafia responds to "logoff" which is that would be prone to abuse in the right circumstances.

EDIT: Although it seems like in testing on a older version (13311) "logoff" doesn't seem to do anything*, but I would still prefer an opt-in on the "update" feature.

Upon looking at the code for ChatManager you need to be in buffbot mode which explains it. My bad.
 
Last edited:

Veracity

Developer
Staff member
Feel free to tell me to shove off, but I think if you want people to bring up issues like this here you need to make that clearer in the G-D Q&A thread. I expect that the majority of KoLers see that thread as the primary communication point regarding all things Mafia and aren't aware of this forum. G-D threads, as I'm sure you're aware, in general have a very gruff demeanor. If you'd like to bring more discussion regarding Mafia into your house I could bring it up with the rest of the mods.
G-D is a cesspool. I have mostly completely abandoned posting there, although I am participating in this particular discussion.

I would like the G-D thread to be used when people have questions about "how do I do such and such". Part of the job description of a Minion from this forum is to look at that thread and be helpful with questions like that when other users do not step up and answer, which also happens a lot. They do a good job.

I would like bug report and feature requests to go here, as well as discussions of major changes to existing features - like this thread. Again, a Minion is supposed to "vet" those and bring them up over here, if they are worthwhile. As it happens, I and some of the other devs still read the G-D thread and will often go ahead and fix them without a bug report being generated.

You need not do anything with G-D mods to direct people away from the KoLmafia thread there. It serves its purpose. And, to be honest, a number of the people who post in it are idiots and/or dicks and I don't especially want to see them come here. I definitely have one or two in mind from the discussion on the update feature. *shudder*

Upon looking at the code for ChatManager you need to be in buffbot mode which explains it. My bad.
Yes. "logoff" is the command to allow a clan member to shut down the clan buffbot. If you've looked at the code, perhaps you noticed that if you are not in the clan and you tell the buffbot to do that, it baleets you. :)
 

Orbrisa

Member
Me too - but there doesn't seem to be a programmatic way to tell the difference; if somebody is visiting your clan they are, effectively, in your clan. If they don't have a whitelist, they are clearly a member, not a visitor, but if they have a whitelist, they might be a member or a visitor. ...

I think confirmation before responding is technically difficult.

Would it be at all feasible to allow KoLMafia to only give updates to (or, I guess, accept the logoff command from) people who are only of a certain rank and/or degree? I know a lot of clans use the rank system to distinguish between full members and people who are only there to hang out? I understand if the answer to this is "We'd have to write a lot of code and don't think it's worth it" but figured I'd throw the question out there.
 

lostcalpolydude

Developer
Staff member
Would it be at all feasible to allow KoLMafia to only give updates to (or, I guess, accept the logoff command from) people who are only of a certain rank and/or degree? I know a lot of clans use the rank system to distinguish between full members and people who are only there to hang out? I understand if the answer to this is "We'd have to write a lot of code and don't think it's worth it" but figured I'd throw the question out there.

Ranks can be just about anything. You can only see degree if you have the ability to change ranks and they are a lower degree than you (or if you're the clan leader, but that's not most people). Not even thinking in terms of mafia code, I can't think of a sane way to approach that feature.
 

Veracity

Developer
Staff member
Well, there are actually some non-dicks who have persuaded me that making this feature opt-in is desirable. So, revision 11361 adds the "chatServesUpdates" setting, off by default, visible and changeable in the "chat" section of Preferences.

I'm a little sad, because I think this will make it less and less likely that Orbrisa, for example, will be able to benefit from this feature, since most people will probably not trouble to enable it and those who are all "clan chat is SEKRIT even from fellow clan members!" will make sure to NOT enable it.

I'm at least going to add some output so people know what is going on. Unless there's a serious objection to it, I plan to add a non-GUI setting to make the feature opt-in, though I will also provide output that tells people what's going on so they can turn it on if someone sends them "update" and it fails.
If you still feel like doing this, it would be useful and I'd be appreciative.

I'm planning on spinning a new major release tomorrow, since there is a bunch of new content that people who don't use hourly builds don't have yet.

P.S. I think we've fixed all the bugs in the feature. It no longer serves updates to people who are not in the clan at the the moment they request the update - so no more peeking into N.O's clan chat just because you happen to have a WL there - and when you switch clans, it clears clan chat history, so members of the new clan don't get to see what happened in the other clan.
 
Last edited:

lostcalpolydude

Developer
Staff member
11362 provides some user output when "update" is received, regardless of the result. It even tells people that they have the feature disabled, which is likely to get people to enable it if it's something they want. I wanted to put more information in the message, but for practical purposes the message size is limited.
 

shoptroll

Member
G-D is a cesspool. I have mostly completely abandoned posting there, although I am participating in this particular discussion.

I would like the G-D thread to be used when people have questions about "how do I do such and such". Part of the job description of a Minion from this forum is to look at that thread and be helpful with questions like that when other users do not step up and answer, which also happens a lot. They do a good job.

I would like bug report and feature requests to go here, as well as discussions of major changes to existing features - like this thread. Again, a Minion is supposed to "vet" those and bring them up over here, if they are worthwhile. As it happens, I and some of the other devs still read the G-D thread and will often go ahead and fix them without a bug report being generated.

You need not do anything with G-D mods to direct people away from the KoLmafia thread there. It serves its purpose. And, to be honest, a number of the people who post in it are idiots and/or dicks and I don't especially want to see them come here. I definitely have one or two in mind from the discussion on the update feature. *shudder*

Thanks Veracity. I'm not a G-D mod and figured it was worth checking over here to see if there's anything that can be done on our end. Glad to hear you already have this all worked out :)

Thanks everyone. A nice and very fast change.

Yes, much appreciated. Thank you!
 
Last edited:
Top