ssastry@scandium:/srv/deployment/parsoid/deploy/src/bin$ node diff.html.js ru.wikipedia.org 'Пишляйка' ----- JS:[12882, 15574] ----- <span typeof="mw:Extension/indicator" about="#mwtX" data-mw='{"name":"indicator","attrs":{"name":"0-coord"},"body":{"extsrc":"<span class=\"coordinates plainlinks nourlexpansion\" data-param=\"53.191627_N_41.475502_E_scale:100000_region:RU_type:river\"><span title=\"Показать карту\"><maplink lang=\"ru\" latitude=\"53.191627\" longitude=\"41.475502\" text=\"53°11′30″&amp;nbsp;с.&amp;nbsp;ш. 41°28′32″&amp;nbsp;в.&amp;nbsp;д.\" title=\"Пишляйка, устье\" zoom=\"12\">[ {\n\t\t\"type\": \"Feature\",\n\t\t\"geometry\": {\n\t\t\t\"type\": \"Point\",\n\t\t\t\"coordinates\": [\n\t\t\t\t41.475502,\n\t\t\t\t53.191627\t\t\t]\n\t\t},\n\t\t\"properties\": {\n\t\t\t\"title\": \"Пишляйка, устье\",\n\t\t\t\"marker-symbol\": \"water\",\n\t\t\t\"marker-color\": \"#3366cc\"\n\t\t}\n\t} , {\n\t\t\t\"type\": \"ExternalData\",\n\t\t\t\"service\": \"geoline\",\n\t\t\t\"ids\": \"Q3720985\",\n\t\t\t\"properties\": {\n\t\t\t\t\"stroke\": \"#FF9999\"\n\t\t\t}\n\t\t}, {\n\t\t\t\"type\": \"ExternalData\",\n\t\t\t\"service\": \"geoshape\",\n\t\t\t\"ids\": \"Q3720985\",\n\t\t\t\"properties\": {\n\t\t\t\t\"fill\": \"#FF0000\",\n\t\t\t\t\"fill-opacity\": 0.1,\n\t\t\t\t\"stroke\": \"#FF9999\"\n\t\t\t}\n\t\t} ]</maplink></span><sup class=\"geo-services noprint\"><span class=\"geo-geohack\" title=\"Карты и инструменты на GeoHack\">[//tools.wmflabs.org/geohack/geohack.php?language=ru&pagename=%D0%9F%D0%B8%D1%88%D0%BB%D1%8F%D0%B9%D0%BA%D0%B0&params=53.191627_N_41.475502_E_scale:100000_region:RU_type:river&title=%D0%9F%D0%B8%D1%88%D0%BB%D1%8F%D0%B9%D0%BA%D0%B0%2C+%D1%83%D1%81%D1%82%D1%8C%D0%B5 <span>H</span>]</span><span class=\"geo-google\" title=\"Это место на «Картах Google»\">[//maps.google.com/maps?ll=53.191627,41.475502&q=53.191627,41.475502&spn=0.1,0.1&t=h&hl=ru <span>G</span>]</span><span class=\"geo-yandex\" title=\"Это место на «Яндекс.Картах»\">[//yandex.ru/maps/?ll=41.475502,53.191627&pt=41.475502,53.191627&spn=0.1,0.1&l=sat,skl <span>Я</span>]</span><span class=\"geo-osm\" title=\"Это место на карте OpenStreetMap\">[http://www.openstreetmap.org/?mlat=53.191627&mlon=41.475502&zoom=12 <span>O</span>]</span><span class=\"geo-loadmap\" style=\"display: none;\" title=\"Это место на картах ГШ и ГУГК\">[http://loadmap.net/ru?q=53.191627%2041.475502&z=12&s=0 <span>L</span>]</span></sup></span>"}}'> </span> ... +++++ PHP:[15891, 18352] +++++ <link typeof="mw:Extension/indicator" about="#mwtX" data-mw='{"name":"indicator","attrs":{"name":"0-coord"},"body":{"extsrc":"<span class=\"coordinates plainlinks nourlexpansion\" data-param=\"53.191627_N_41.475502_E_scale:100000_region:RU_type:river\"><span title=\"Показать карту\"><maplink lang=\"ru\" latitude=\"53.191627\" longitude=\"41.475502\" text=\"53°11′30″&amp;nbsp;с.&amp;nbsp;ш. 41°28′32″&amp;nbsp;в.&amp;nbsp;д.\" title=\"Пишляйка, устье\" zoom=\"12\">[ {\n\t\t\"type\": \"Feature\",\n\t\t\"geometry\": {\n\t\t\t\"type\": \"Point\",\n\t\t\t\"coordinates\": [\n\t\t\t\t41.475502,\n\t\t\t\t53.191627\t\t\t]\n\t\t},\n\t\t\"properties\": {\n\t\t\t\"title\": \"Пишляйка, устье\",\n\t\t\t\"marker-symbol\": \"water\",\n\t\t\t\"marker-color\": \"#3366cc\"\n\t\t}\n\t} , {\n\t\t\t\"type\": \"ExternalData\",\n\t\t\t\"service\": \"geoline\",\n\t\t\t\"ids\": \"Q3720985\",\n\t\t\t\"properties\": {\n\t\t\t\t\"stroke\": \"#FF9999\"\n\t\t\t}\n\t\t}, {\n\t\t\t\"type\": \"ExternalData\",\n\t\t\t\"service\": \"geoshape\",\n\t\t\t\"ids\": \"Q3720985\",\n\t\t\t\"properties\": {\n\t\t\t\t\"fill\": \"#FF0000\",\n\t\t\t\t\"fill-opacity\": 0.1,\n\t\t\t\t\"stroke\": \"#FF9999\"\n\t\t\t}\n\t\t} ]</maplink></span><sup class=\"geo-services noprint\"><span class=\"geo-geohack\" title=\"Карты и инструменты на GeoHack\">[//tools.wmflabs.org/geohack/geohack.php?language=ru&pagename=%D0%9F%D0%B8%D1%88%D0%BB%D1%8F%D0%B9%D0%BA%D0%B0&params=53.191627_N_41.475502_E_scale:100000_region:RU_type:river&title=%D0%9F%D0%B8%D1%88%D0%BB%D1%8F%D0%B9%D0%BA%D0%B0%2C+%D1%83%D1%81%D1%82%D1%8C%D0%B5 <span>H</span>]</span><span class=\"geo-google\" title=\"Это место на «Картах Google»\">[//maps.google.com/maps?ll=53.191627,41.475502&q=53.191627,41.475502&spn=0.1,0.1&t=h&hl=ru <span>G</span>]</span><span class=\"geo-yandex\" title=\"Это место на «Яндекс.Картах»\">[//yandex.ru/maps/?ll=41.475502,53.191627&pt=41.475502,53.191627&spn=0.1,0.1&l=sat,skl <span>Я</span>]</span><span class=\"geo-osm\" title=\"Это место на карте OpenStreetMap\">[http://www.openstreetmap.org/?mlat=53.191627&mlon=41.475502&zoom=12 <span>O</span>]</span><span class=\"geo-loadmap\" style=\"display: none;\" title=\"Это место на картах ГШ и ГУГК\">[http://loadmap.net/ru?q=53.191627%2041.475502&z=12&s=0 <span>L</span>]</span></sup></span>"}}'/>
Description
Event Timeline
This is not because of the indicator extension but because of the maplink extension that surrounds it. This was traced to the ParserAfterParse parser hook not being invoked for the Kartographer extension.
Change 543167 had a related patch set uploaded (by Subramanya Sastry; owner: Subramanya Sastry):
[mediawiki/services/parsoid@master] WIP: Run more hooks for extension parses
This is not because of the indicator extension but because of the maplink extension that surrounds it. This was traced to the ParserAfterParse parser hook not being invoked for the Kartographer extension.
A link gets created when the extension doesn't return a body,
https://github.com/wikimedia/parsoid/blob/master/lib/wt2html/tt/ExtensionHandler.js#L207-L210
On the JS side, it looks like the content of the parse is just a newline and a category, which is the result of the mangling we do to the parse response and is fixed by,
https://github.com/wikimedia/parsoid/commit/3551920a2c2c0cf5a1cb1baba85850aa848335f3