Here is a talk page diff:
https://fr.wikiquote.org/w/index.php?diff=246302
and here it is with mobile diff:
https://fr.wikiquote.org/wiki/Sp%C3%A9cial:MobileDiff/246302
Here is a talk page diff:
https://fr.wikiquote.org/w/index.php?diff=246302
and here it is with mobile diff:
https://fr.wikiquote.org/wiki/Sp%C3%A9cial:MobileDiff/246302
What does "broken" mean exactly?
I even get an exception on that page:
[WCR5bgpAMEcAAB-DrM8AAABQ] 2016-11-10 13:43:10: Erreur fatale de type « MWException »
2016-11-10 13:43:10 [WCR5bgpAMEcAAB-DrM8AAABQ] mw1236 frwikiquote 1.29.0-wmf.2 exception ERROR: [WCR5bgpAMEcAAB-DrM8AAABQ] /wiki/Sp%C3%A9cial:MobileDiff/246302 MWException from line 841 of /srv/mediawiki/php-1.29.0-wmf.2/includes/diff/DifferenceEngine.php: Diff not implemented for Flow\Content\BoardContent; override generateContentDiffBody to fix this. {"exception_id":"WCR5bgpAMEcAAB-DrM8AAABQ"}
[Exception MWException] (/srv/mediawiki/php-1.29.0-wmf.2/includes/diff/DifferenceEngine.php:841) Diff not implemented for Flow\Content\BoardContent; override generateContentDiffBody to fix this.
#0 /srv/mediawiki/php-1.29.0-wmf.2/includes/diff/DifferenceEngine.php(783): DifferenceEngine->generateContentDiffBody(Flow\Content\BoardContent, Flow\Content\BoardContent)
#1 /srv/mediawiki/php-1.29.0-wmf.2/extensions/MobileFrontend/includes/specials/SpecialMobileDiff.php(243): DifferenceEngine->getDiffBody()
#2 /srv/mediawiki/php-1.29.0-wmf.2/extensions/MobileFrontend/includes/specials/SpecialMobileDiff.php(136): SpecialMobileDiff->showDiff()
#3 /srv/mediawiki/php-1.29.0-wmf.2/extensions/MobileFrontend/includes/specials/MobileSpecialPage.php(53): SpecialMobileDiff->executeWhenAvailable(string)
#4 /srv/mediawiki/php-1.29.0-wmf.2/includes/specialpage/SpecialPage.php(522): MobileSpecialPage->execute(string)
#5 /srv/mediawiki/php-1.29.0-wmf.2/includes/specialpage/SpecialPageFactory.php(584): SpecialPage->run(string)
#6 /srv/mediawiki/php-1.29.0-wmf.2/includes/MediaWiki.php(283): SpecialPageFactory::executePath(Title, RequestContext)
#7 /srv/mediawiki/php-1.29.0-wmf.2/includes/MediaWiki.php(861): MediaWiki->performRequest()
#8 /srv/mediawiki/php-1.29.0-wmf.2/includes/MediaWiki.php(522): MediaWiki->main()
#9 /srv/mediawiki/php-1.29.0-wmf.2/index.php(43): MediaWiki->run()
#10 /srv/mediawiki/w/index.php(3): include(string)
#11 {main}For future testing (after the fix):
Still seen.
[{exception_id}] {exception_url} MWException from line 895 of /srv/mediawiki/php-1.32.0-wmf.16/includes/diff/DifferenceEngine.php:
Diff not implemented for Flow\Content\BoardContent; override generateContentDiffBody to fix this.
type: mediawiki
level: ERROR
channel: exception
reqId: W3bdxApAIDcAAIdWPDsAAACA
http_method: GET
#0 /srv/mediawiki/php-1.32.0-wmf.16/includes/diff/DifferenceEngine.php(803): DifferenceEngine->generateContentDiffBody(Flow\Content\BoardContent, Flow\Content\BoardContent)
#1 /srv/mediawiki/php-1.32.0-wmf.16/includes/api/ApiComparePages.php(138): DifferenceEngine->getDiffBody()
#2 /srv/mediawiki/php-1.32.0-wmf.16/includes/api/ApiMain.php(1579): ApiComparePages->execute()
#3 /srv/mediawiki/php-1.32.0-wmf.16/includes/api/ApiMain.php(533): ApiMain->executeAction()
#4 /srv/mediawiki/php-1.32.0-wmf.16/includes/api/ApiMain.php(504): ApiMain->executeActionWithErrorHandling()
#5 /srv/mediawiki/php-1.32.0-wmf.16/api.php(83): ApiMain->execute()
#6 /srv/mediawiki/w/api.php(3): include(string)
#7 {main}URL:
https://www.mediawiki.org/w/api.php?action=compare&format=json&prop=ids%7Ctitle&fromrev=2528291&torelative=prev
The issue does not seem to be fixed - re-checked in wmf.4 and also checked T206090: Certain Special:MobileDiff urls fatal with "Bad value for parameter $old: must be a TextContent" which doesn't seem to be actually fixed either. Special:Mobilediff will display 'Error' page (as in per links in the task) for any revision of any flow-based page.
@Etonkovidova the fix was to display an error but not totally break the page display by throwing an uncaught exception. Before, if you visited those URLs, you'd get a fatal error from PHP. Since diff isn't implemented, we return an error but don't prevent the rest of the page from loading.