Page MenuHomePhabricator

Username suppression code should be relocated from the Blocking system code
Open, Needs TriagePublic

Description

Problem
The Blocking system allows privileged users to suppress (or hide) a username from all of MediaWiki. This functionality is outside of the scope of blocks, who's domain is access control (of the target) rather than removing the user.

Solution
This functionality should be moved onto the User itself (since the functionality is effectively a soft delete), or should be in a separate system.

Related tasks
T25310: Global suppression does not work properly when the target has already been locally blocked
{T205460}

Event Timeline

TBolliger subscribed.

This is a large project not within the scope of the Anti-Harassment team at this time.

Are you suggesting to remove 'hideuser'?

Hidden users are within block's scope (I'd argue) since they usually violates local policy (only reason they're allowed to hidden under OS policy - is usually blockable offense as it's username like revi is a fuc*king b*tch living in Some Place. We do not want those accounts to edit, so unless other compelling reason to move hideuser off block, I'd say it is block's job.

I think @dbarratt is suggesting a technology separation in this task. The oversight/suppression code and logic is messy inside of the block code. (We've discovered this as we've been fixing T210002).

There is an unprioritized task to ideate potential UX changes on Special:Block at T213972: Consider updating the Oversight/Suppress UX on Special:Block which is about the workflows performed.

+1

I guess hideuser / suppress user are should be stored in user table instead of ipblocks table. and they should be handled by User class. not a Block class.

TBolliger renamed this task from Username suppression should be removed from the Blocking system to Username suppression code should be removed from the Blocking system code.Jan 17 2019, 6:21 PM
TBolliger renamed this task from Username suppression code should be removed from the Blocking system code to Username suppression code should be relocated from the Blocking system code.

@TBolliger: that's assuring. As long as the actual button for 'hideuser' stays in Special:Block, I'll happily leave any backend improvements to knowing devs :-)

Rxy updated the task description. (Show Details)

Unless that does not mean breaking it into a two-step process for stewards, that's fine.

Yes to all of this. :)

I'm not making any suggestions on what the design would change (or not change at all if it works well the way it is), but the username suppression option being a part of the blocking system (as far as the code and database are concerned) doesn't make a lot of sense.

As long as user name suppression continues to exist and the checkbox to perform that operation remains in Special:Block, like @revi said, I don't care much where such code is hosted; but this is an absolutely needed anti-harassment feature that needs to be kept. Also, it sort of makes sense that it was added as part of the block. There's no logical case in which you want a suppressed user account to continue editting, and having us to double our work for when we have to use the feature wouldn't make sense either. Thanks.