Problem:
Edits on the repo that affect the clients are dispatched to the clients in order to show the change in recent changes and watchlist there as well as to purge the pages that are affected by the edit. The tracking that this relies on does currently not take into account edits to descriptions unless the client is subscribed to the whole Item (which we discourage). This is causing a problem since descriptions are implicitly used in various places like article header, search bar and link picker. Vandalism to a description might pass by the usual patrolling because it doesn't show up on watchlists and in recent changes. We need to make description changes show up there.
BDD
GIVEN an edit to a description of an Item on the repository in language X
WHEN saving the edit
THEN the change is propagated to all clients subscribed to the Item that have content language X
AND the change shows up in the client's recent changes and watchlists
Acceptance criteria:
- a change of the description on Wikidata triggers that change to be propagated to the clients that are subscribed to that Item
- a change is only propagated for a change of the description if the content language of the client wiki is the same as the language of the description that was changed
Open questions:
- Can we determine if a local overwrite is in place for the description on that wiki and not propagate a change in this case?
- What about locally overwritten descriptions via local magic word? We shouldn't track it in that case.
Notes:
- We ultimately care about this because our editors want to be notified about a change happening on Wikidata that affects their article. This happens via Recent Changes and watchlist. They also look at listings like https://en.wikipedia.org/w/index.php?title=V._Gordon_Childe&action=info to see which other resources affect their article.
- Purging or re-parsing the connected pages is not necessary – if the page directly used the description, it should already have an explicit usage on the description.