Page MenuHomePhabricator

Create mediawiki.revision_change event stream ... maybe?
Open, Needs TriagePublic

Description

The existent mediawiki.page_change.v1 stream captures changes to a page's current state, including new revisions.

However, past revisions are mutable! Their visibility can change! The page they are attached to can change (history imports and merges!) Maybe other things?!

We need at least a new version of the deprecated mediawiki.revision-visibility-change stream, but it is probably better to instead model that as changes to revision entities themselves. The tricky part is that the main source of 'revision changes' is revision create events, which are already fully covered by mediawiki.page_change and make up the majority of its events.

I don't think we want to emit revision create events in a revision_change stream. But, we do need an event stream that captures mutations to a revision.

Event Timeline

We need at least a new version of the deprecated mediawiki.revision-visibility-change stream

We also need log suppression information in this stream. Currently, suppressed changes omit the performer in the event stream if either side of the change (before or after) was DELETE_RESTRICTED. We will emit visibility change events even on suppression events (so good faith consumers can know they should also purge their copies), but avoid exposing any sensitive details about what was suppressed (other than e.g. the revision id).

For metrics purposes, it will be useful to know explicitly if a visibility change event is suppressed, and if the content it is hiding is suppressed too.

Related slack convo