hoo added a comment.

I suggest replacing the Diff in DiffChange with a new EntityDiffChangedAspects object. Initially both should be present, but only one should be in the serialized form (EntityChange::getSerializedInfo).

I would introduce a new boolean feature flag which changes which of the two are included in the serialization. Once all Client code works with the EntityDiffChangedAspects object, we can change the flag and remove it + the legacy client code N days after.

The new class would probably look something like this:

class EntityDiffChangedAspects {
	private int $formatVersion = 123;
	private array[] $siteLinkChanges = [ 'dewiki' => [ /* means sitelink changed or removed or added */ ], 'enwiki' => [ 'badges' ] ];
	private string[] $labelChanges = [ 'de', 'en' ];
	private string[] $descriptionChanges = [ 'de', 'es' ];
	private string[] $changedStatements = [ 'P31', 'P1337' ];
}

TASK DETAIL
https://phabricator.wikimedia.org/T113468

EMAIL PREFERENCES
https://phabricator.wikimedia.org/settings/panel/emailpreferences/

To: hoo
Cc: PokestarFan, hoo, gerritbot, aude, Aklapper, daniel, GoranSMilovanovic, QZanden, Izno, Wikidata-bugs, Mbch331
_______________________________________________
Wikidata-bugs mailing list
Wikidata-bugs@lists.wikimedia.org
https://lists.wikimedia.org/mailman/listinfo/wikidata-bugs

Reply via email to