Page MenuHomePhabricator

Echo notifications when new items are flagged
Open, Needs TriagePublic

Description

Summary

When new edits are tagged as "likely contains personal information", create a notification to users with viewsuppressed who have opted-in to receive Echo notifications. This allows for faster time-to-suppress and reduces likelihood of efficient processing of the bad edit (by not having additional revisions on top of the problematic revision).

Notes

  • Until the special page exists, the link from the notification can take the user to Special:RecentChanges?tagfilter=mw-private-personal-info
  • If the revision is suppressed, we should no longer display the notification in the web UI

Acceptance criteria

  • Users with viewsuppressed can opt-in to a Echo notification to be alerted when revisions are flagged as containing "likely contains personal information"
  • Instrumentation exists for knowing if users interact with this notification

Event Timeline

How might we handle a situation where the revision is dealt with and so the echo notification no longer is needed? Just thinking if we end up pinging 10 oversighters to handle an edit, we then risk all 10 of them trying to deal with the same revision at once or even some of the 10 clicking the notification only to find that it's already been dealt with

I'd recommend we work on ways to avoid notifying too many OSers at once, perhaps we could consider:

  • At first only recommending to users who are active (we could use https://apersonbot.toolforge.org/recently-active/ as a basis for the logic of what we consider "recently active")
  • Batch the notifications or limit them to some upper bound to avoid pinging everyone at once
  • (Maybe) Only pinging one OSer per revision

How might we handle a situation where the revision is dealt with and so the echo notification no longer is needed? Just thinking if we end up pinging 10 oversighters to handle an edit, we then risk all 10 of them trying to deal with the same revision at once or even some of the 10 clicking the notification only to find that it's already been dealt with

I'd recommend we work on ways to avoid notifying too many OSers at once, perhaps we could consider:

  • At first only recommending to users who are active (we could use https://apersonbot.toolforge.org/recently-active/ as a basis for the logic of what we consider "recently active")
  • Batch the notifications or limit them to some upper bound to avoid pinging everyone at once
  • (Maybe) Only pinging one OSer per revision

Echo supports removing the notification if it's no longer relevant. Won't help if the user has opted into email alerts, but would help for the on-wiki notification case. My guess is that only a small number of OS users would opt in to this, so the risk of collision is low. We could also batch the notifications every N hours, as you've suggested.

Change #1314757 had a related patch set uploaded (by Mpostoronca; author: Mpostoronca):

[mediawiki/extensions/WikimediaAntiAbuse@master] Notify opted-in oversighters when an edit is flagged

https://gerrit.wikimedia.org/r/1314757

Change #1314758 had a related patch set uploaded (by Mpostoronca; author: Mpostoronca):

[mediawiki/extensions/WikimediaAntiAbuse@master] Hide the flag notification preference from ineligible users

https://gerrit.wikimedia.org/r/1314758

Change #1314759 had a related patch set uploaded (by Mpostoronca; author: Mpostoronca):

[mediawiki/extensions/WikimediaAntiAbuse@master] Remove the flag notification when the revision is suppressed

https://gerrit.wikimedia.org/r/1314759

Change #1314803 had a related patch set uploaded (by Mpostoronca; author: Mpostoronca):

[integration/config@master] zuul: Add Echo dependency for WikimediaAntiAbuse

https://gerrit.wikimedia.org/r/1314803

Change #1314885 had a related patch set uploaded (by Mpostoronca; author: Mpostoronca):

[mediawiki/extensions/Echo@master] Make Event::isDeleted() work for events loaded from the database

https://gerrit.wikimedia.org/r/1314885

Change #1314885 merged by jenkins-bot:

[mediawiki/extensions/Echo@master] Make Event::isDeleted() work for events loaded from the database

https://gerrit.wikimedia.org/r/1314885

Change #1314803 merged by jenkins-bot:

[integration/config@master] zuul: Add Echo dependency for WikimediaAntiAbuse

https://gerrit.wikimedia.org/r/1314803

Change #1319086 had a related patch set uploaded (by Mpostoronca; author: Mpostoronca):

[operations/mediawiki-config@master] WikimediaAntiAbuse: Document required load order after Echo

https://gerrit.wikimedia.org/r/1319086

Change #1319821 had a related patch set uploaded (by Mpostoronca; author: Mpostoronca):

[mediawiki/extensions/WikimediaAntiAbuse@master] Clear personal-info notifications when a recipient loses tag access

https://gerrit.wikimedia.org/r/1319821

Change #1319822 had a related patch set uploaded (by Mpostoronca; author: Mpostoronca):

[mediawiki/extensions/WikimediaAntiAbuse@master] Link the personal-info notification preference to a help page

https://gerrit.wikimedia.org/r/1319822

Change #1314757 merged by jenkins-bot:

[mediawiki/extensions/WikimediaAntiAbuse@master] Notify opted-in oversighters when an edit is flagged

https://gerrit.wikimedia.org/r/1314757

Change #1314758 merged by jenkins-bot:

[mediawiki/extensions/WikimediaAntiAbuse@master] Hide the flag notification preference from ineligible users

https://gerrit.wikimedia.org/r/1314758

Change #1314759 merged by jenkins-bot:

[mediawiki/extensions/WikimediaAntiAbuse@master] Remove the flag notification when the revision is suppressed

https://gerrit.wikimedia.org/r/1314759

Change #1319821 merged by jenkins-bot:

[mediawiki/extensions/WikimediaAntiAbuse@master] Clear personal-info notifications when a recipient loses tag access

https://gerrit.wikimedia.org/r/1319821

Change #1319086 merged by jenkins-bot:

[operations/mediawiki-config@master] WikimediaAntiAbuse: Document required load order after Echo

https://gerrit.wikimedia.org/r/1319086

Mentioned in SAL (#wikimedia-operations) [2026-08-04T14:05:02Z] <mszwarc@deploy1003> Started scap sync-world: Backport for [[gerrit:1320757|stream: pageview.trending.relative.v1 (T432204)]], [[gerrit:1319086|WikimediaAntiAbuse: Document required load order after Echo (T432452)]], [[gerrit:1320781|UIC: Add user name to server-side instrumentation events (T433816)]], [[gerrit:1320782|UIC: Add user name to server-side instrumentation events (T433816)]]

Mentioned in SAL (#wikimedia-operations) [2026-08-04T14:07:05Z] <mszwarc@deploy1003> javiermonton, mszwarc, mpostoronca: Backport for [[gerrit:1320757|stream: pageview.trending.relative.v1 (T432204)]], [[gerrit:1319086|WikimediaAntiAbuse: Document required load order after Echo (T432452)]], [[gerrit:1320781|UIC: Add user name to server-side instrumentation events (T433816)]], [[gerrit:1320782|UIC: Add user name to server-side instrumentation events (T433816)]] synced to the testser

Mentioned in SAL (#wikimedia-operations) [2026-08-04T14:13:00Z] <mszwarc@deploy1003> Finished scap sync-world: Backport for [[gerrit:1320757|stream: pageview.trending.relative.v1 (T432204)]], [[gerrit:1319086|WikimediaAntiAbuse: Document required load order after Echo (T432452)]], [[gerrit:1320781|UIC: Add user name to server-side instrumentation events (T433816)]], [[gerrit:1320782|UIC: Add user name to server-side instrumentation events (T433816)]] (duration: 07m 58s)

Change #1319822 merged by jenkins-bot:

[mediawiki/extensions/WikimediaAntiAbuse@master] Link the personal-info notification preference to a help page

https://gerrit.wikimedia.org/r/1319822