MobileFrontend provides an InlineDifferenceEngine which rather than displaying the diff in a 2 column layout displays it in a single column (e.g. unified). This seems like it would be useful for core as most websites these days offer unified as well as 2 column layout diffs and the former is extremely useful on mobile.
The Mobilefrontend diff has been a nuisance point in recent changes to revisions (e.g. Multi content revisions) and it would be helpful to make unified diffs a first class citizen in some form. This inconsistency causes confusion due to the completely different implementations: (see T123413)
- Put the MobileDiff code in core with any necessary modifications (The code for includes/diff/DifferenceEngine.php is pretty messy and is likely to need heavy refactoring to achieve this).
- It should be possible that https://en.wikipedia.org/w/index.php?title=San_Francisco&type=revision&diff=687927333&oldid=687926997&diffonly=1&useskin=minerva&mode=inline renders a single column diff and replicates the functionality of https://en.m.wikipedia.org/wiki/Special:MobileDiff/687926997
- Update MobileFrontend to use this link and retire Special:MobileDiff page
- Update core special page to allow switching between the 2 types of diff and surface this in the desktop UI.
- Consider hiding or surfacing side by side diffs in mobile
- What other solutions provide inline diffs? Is MobileFrontend implementation the best one?
- What refactors are necessary in core / to mobile code to support such a change if the mobile implementation is favoured.