While I appreciate the intent here, this proposal suffers from two flaws:
It's very focused on a specific and relatively rare problem with flags (albeit one that can be quite irritating), namely: some idiot flagging everything in sight just to be annoying. In fact, it is so focused on this particular problem that it ignores the downsides of its implementation to all other scenarios, including those where flags are actually valid.
It relies heavily on moderator handling of flags. This isn't necessarily a problem on chat.SE which is positively lousy with mods... On chat.SO and chat.MSE, there are far fewer moderators available at any given point in time; flags can and sometimes do sit around for a while waiting for enough trusted users to validate or dismiss them.
I'll address each part of your proposal individually:
Don't let a user have more than one active chat flag at a time.
This assumes at least two of three things will usually be true:
- No one will post multiple offensive messages in quick succession (this happens).
- Flags will be handled very quickly (depends on the site, the time of day, how many high-rep users are active, etc.)
- The people handling the flags will be able to anticipate further abuse and empowered to suspend / kick-ban / delete the accounts posting the abusive messages and clean up the mess that's already been made. (Difficult if no mods are around, impossible if no mods or room owners are around)
Show flags in a message's history I'm not sure how this will help... You can already look up a list of flags associated with every author in chat; assuming you can see who wrote the message, you can find the flags. If you're a moderator, that is. It's not clear to me whether you intend this to be public information; if you do, then that's a pretty huge change (folks got kinda upset when flag data was inadvertently public a while back). Otherwise, the only thing novel here is the list of flaggers... Which is useful in cases of flagrant abuse, and (as history has shown), prone to abuse when visible otherwise. Implicitly encouraging moderators to "punish" people for flags they do not feel are warranted has a chilling effect on people's willingness to flag abuse; the end result is that folks leave chat to those willing to put up with an endless stream of abuse and nonsense - probably the opposite of what you're hoping for here.
Let moderators see the history of all flags a user has raised. My only concern here is the same as in the previous part: you explicitly want this so that you can punish abusive flaggers. However, definitions of abuse vary wildly. I've repeatedly heard from folks who detest flagging because they already feel that flagging makes them vulnerable to annoyed moderators who are more interested in tolerating the excesses of their friends than, well, actually moderating; in such a climate, expecting flags to be handled fairly when the tools are altered specifically to encourage retribution toward flaggers is... probably naive.
It's worth noting that moderators can already identify the flaggers associated with each flagged post... If they're handling flags in rooms associated with their own site. I suspect most of the angst here arises from situations where no qualifying moderators are around.
That said... How big of a problem is this, really? I know everyone loves to talk about it, but I have a sneaking suspicion the root cause is simply that bogus flags tend to hang around a bit longer than obviously-justified ones. If a dozen people see the bogus flag and only 1 moderator sees the justified flag, there's gonna be some misconceptions about what gets flagged. With this in mind, I have
A counter-proposal in only two parts
Set a limit for unanimously-declined flags per day. Something fairly low, like... 2 or 3. Hit that limit, and all other pending flags are silently declined and you can raise no more for 24 hours. Leave the option for raising mod-only flags (the ones where you have to type up an actual problem) open, but automatically shut down the avenue for griefing as soon as it becomes plausible that's what's happening. This would suffice to allow both moderators and privileged users to shut down flag abuse without threatening the utility of flags.
Show a recent flag history to moderators. There's a spiffy tool available to folks with access to the internal network here that just lists a bunch of recently-flagged messages along with how many counter-flags they got, how many "meh" responses they got, and whether or not they were deleted. I'd post a screenshot, but when I went to grab one it just made me angry at people who use chat... So just trust me that it's a stunningly beautiful developer UI and also a great way to quickly identify trends in how flags are being raised and handled: I think having this information would make a big difference in how flags are perceived by moderators, and potentially allow them to better identify and address systemic problems.