We currently hook into MediaWiki to detect changes in visibility attributes for a revision, including whether the author's name should be visible. However, RESTBase is unaware of when a user is blocked/suppressed across the entire wiki, and continues to make this information available.
This issue has a lot of moving pieces, so I'm going to start laying them out, and creating subtasks as necessary:
== Define events ==
[[https://github.com/wikimedia/mediawiki-event-schemas/|Event schemas]] needs to be defined, and added to the event service topic config.
== Produce events ==
MediaWiki needs to produce the above event(s), (via the EventBus extension for the time being).
== Consume events, persist a suppression set ==
As events are produced, a consumer will be needed to update a set of hidden users. Lookups against this set must be fast (they will be in-lined with every request that exposes author information).
See: https://en.wikipedia.org/wiki/Bloom_filter
== Suppress user information ==
#RESTBase will need to be updated to utilize the suppression set, and filter out user information accordingly.