Page MenuHomePhabricator

Linter shows false positives (missing and stripped tags) in case of <maplink> tag
Closed, ResolvedPublic

Description

Within the last hours we got thousands of missing-end-tag and stripped-tag errors. It seems that the inline maplink tag is wrongly interpreted. On my user page https://de.wikivoyage.org/wiki/Benutzer:RolandUnger/Karten I demonstrated this behavior. I added two paragraphs with a template showing the same results. The first line shows the template itself, the second one the expanded one.

[1st paragraph] Not expanded: {{Marker | type = city | lat = 28.080311 | long = 30.820084 | name= Neu-el-Minya | format = f3 }}

[2nd paragraph] Same, expanded: <span class="h-card vcard listing-coordinates"><span class="p-geo geo"><abbr class="p-latitude latitude">28.080311</abbr><abbr class="p-longitude longitude">30.820084</abbr></span><span class="plainlinks printNoLink poi listing-map" style="background-color: #0000FF; border-color: #0000FF;" title="KLICK: direkt zur Nummer in der Karte"><maplink group="stadt" latitude="28.080311" longitude="30.820084" show="mask,around,buy,city,do,drink,eat,error,go,listing,other,see,sleep,target,vicinity,view,aktivitaet,anderes,anreise,ausgehen,aussicht,fehler,kaufen,kueche,sehenswert,stadt,umgebung,unterkunft,black,blue,brown,chocolate,forestgreen,gold,gray,grey,lime,magenta,maroon,mediumaquamarine,navy,orange,plum,purple,red,royalblue,silver,steelblue,teal" zoom="17">{"type":"Feature","geometry":{"coordinates":[30.820084,28.080311],"type":"Point"},"properties":{"marker-symbol":"-number-city","title":"Neu-el-Minya","marker-color":"0000FF"}}</maplink></span> <span class="listing-dms-coordinates printNoLink plainlinks">[https://de.wikivoyage.org/w/index.php?title=Special%3AMapsources&params=28.080311_N_30.820084_E_type%3Alandmark_globe%3Aearth&locname=Neu-el-Minya <span class="coordStyle" title="Breitengrad">28° 4′ 49″ N</span> <span class="coordStyle" title="Längengrad">30° 49′ 12″ O</span>]</span><span class="p-name fn org listing-name" style="display: none">Neu-el-Minya</span></span>

Results:

  1. missing-end-tag: complete first paragraph
  2. missing-end-tag: <span class="plainlinks printNoLink poi listing-map" ...> before <maplink ...> in the second paragraph not including <maplink ...>
  3. missing-end-tag: complete part before <maplink ...> in the second paragraph

Of course, the parts following the closing tag </maplink> are presented with stripped-tag errors.

Event Timeline

ssastry closed this task as Resolved.EditedMay 16 2017, 8:39 PM
ssastry claimed this task.
ssastry added a subscriber: Legoktm.

I think this is another side-effect of https://gerrit.wikimedia.org/r/#/c/350634 being accidentally rolled out to production before being reverted on Friday (May 12) as https://gerrit.wikimedia.org/r/#/c/353572/. T165139 was another instance of how Parsoid was impacted which in turn affected downstream clients. We now have made fixes to Parsoid to handle this change to the core parser output.

You can verify that this bug is no longer present by visiting https://de.wikivoyage.org/api/rest_v1/#!/Transforms/post_transform_wikitext_to_lint_title_revision and pasting the wikitext from your user page there. That returns an empty array [] indicating that there were no lint errors found.

@Legoktm this is another instance where we have stale lint entries in the database that would need clearing. We need to figure out how to handle this in the general case, i.e. purging invalid entries from the database.