Page MenuHomePhabricator

Calculate non-text diffs between page HTML
Open, Needs TriagePublic

Description

This task is optional, depending on how many RC rows remain unexplained after accounting for visible text diffs.

  • Normalize out meaningless changes, eg. by stripping the Parsoid id attribute from all elements.
  • Choose a library (native Python or an external command-line tool) which produces a diff between two HTML documents.
    • Ideally, this diff will itself be HTML so that it's possible to view the changes in the context of the document in a browser.
    • Ideally, invisible changes for example inside of data-mw attributes can be suppressed or listed separately as invisible_changes: true/false
  • Test this algorithm thoroughly on a few actual old/new pairs from our sample—the real-world diffs are numerous and annoying. Iterate by normalizing out anything we don't care about.
  • Automate some of the classification of these diffs if that makes sense: for example, img alt attributes.