Page MenuHomePhabricator

Wikispeech doesn't work on SVWP
Closed, ResolvedPublic24 Estimated Story PointsBUG REPORT

Description

When trying to play on SVWP it doesnt work. Producer does work, which is why I don't really understand why it doesn't work on SVWP. The error in the console (without even trying to play first) is:

jQuery.Deferred exception: can't access property "textContent", firstNode is null ext.wikispeech.storage.js/loadUtterances/<@https://wikispeech-producer.wmcloud.org/w/load.php?lang=sv&skin=vector-2022&raw=1&safemode=1&modules=ext.wikispeech:18:1025
fire@https://sv.wikipedia.org/w/load.php?lang=sv&modules=jquery%2Coojs-ui-core&skin=vector-2022&version=1pr45:42:76
fireWith@https://sv.wikipedia.org/w/load.php?lang=sv&modules=jquery%2Coojs-ui-core&skin=vector-2022&version=1pr45:43:264
mightThrow@https://sv.wikipedia.org/w/load.php?lang=sv&modules=jquery%2Coojs-ui-core&skin=vector-2022&version=1pr45:45:586
Deferred/then/resolve/</process<@https://sv.wikipedia.org/w/load.php?lang=sv&modules=jquery%2Coojs-ui-core&skin=vector-2022&version=1pr45:45:643
Deferred/then/resolve/<@https://sv.wikipedia.org/w/load.php?lang=sv&modules=jquery%2Coojs-ui-core&skin=vector-2022&version=1pr45:45:862
mightThrow@https://sv.wikipedia.org/w/load.php?lang=sv&modules=jquery%2Coojs-ui-core&skin=vector-2022&version=1pr45:44:983
Deferred/then/resolve/</process<@https://sv.wikipedia.org/w/load.php?lang=sv&modules=jquery%2Coojs-ui-core&skin=vector-2022&version=1pr45:45:643
setTimeout handler*Deferred/then/resolve/<@https://sv.wikipedia.org/w/load.php?lang=sv&modules=jquery%2Coojs-ui-core&skin=vector-2022&version=1pr45:46:54
fire@https://sv.wikipedia.org/w/load.php?lang=sv&modules=jquery%2Coojs-ui-core&skin=vector-2022&version=1pr45:42:76
fireWith@https://sv.wikipedia.org/w/load.php?lang=sv&modules=jquery%2Coojs-ui-core&skin=vector-2022&version=1pr45:43:264
fire@https://sv.wikipedia.org/w/load.php?lang=sv&modules=jquery%2Coojs-ui-core&skin=vector-2022&version=1pr45:43:308
fire@https://sv.wikipedia.org/w/load.php?lang=sv&modules=jquery%2Coojs-ui-core&skin=vector-2022&version=1pr45:42:76
fireWith@https://sv.wikipedia.org/w/load.php?lang=sv&modules=jquery%2Coojs-ui-core&skin=vector-2022&version=1pr45:43:264
Deferred/</deferred[tuple[0]]@https://sv.wikipedia.org/w/load.php?lang=sv&modules=jquery%2Coojs-ui-core&skin=vector-2022&version=1pr45:46:810
ajax/xhr<@https://sv.wikipedia.org/w/load.php?lang=sv&modules=mediawiki.api&skin=vector-2022&version=6by0p:4:962
fire@https://sv.wikipedia.org/w/load.php?lang=sv&modules=jquery%2Coojs-ui-core&skin=vector-2022&version=1pr45:42:76
fireWith@https://sv.wikipedia.org/w/load.php?lang=sv&modules=jquery%2Coojs-ui-core&skin=vector-2022&version=1pr45:43:264
done@https://sv.wikipedia.org/w/load.php?lang=sv&modules=jquery%2Coojs-ui-core&skin=vector-2022&version=1pr45:125:734
send/callback/<@https://sv.wikipedia.org/w/load.php?lang=sv&modules=jquery%2Coojs-ui-core&skin=vector-2022&version=1pr45:129:323
EventHandlerNonNull*send@https://sv.wikipedia.org/w/load.php?lang=sv&modules=jquery%2Coojs-ui-core&skin=vector-2022&version=1pr45:129:544
ajax@https://sv.wikipedia.org/w/load.php?lang=sv&modules=jquery%2Coojs-ui-core&skin=vector-2022&version=1pr45:124:475
ajax@https://sv.wikipedia.org/w/load.php?lang=sv&modules=mediawiki.api&skin=vector-2022&version=6by0p:4:341
resources/src/mediawiki.ForeignApi/mediawiki.ForeignApi.core.js/module.exports</CoreForeignApi.prototype.ajax@https://sv.wikipedia.org/w/load.php?lang=sv&modules=mediawiki.ForeignApi.core&skin=vector-2022&version=1uzut:3:134
CentralAuthForeignApi.prototype.ajax/<@https://sv.wikipedia.org/w/load.php?lang=sv&modules=ext.centralauth.ForeignApi&skin=vector-2022&version=155py:4:793
mightThrow@https://sv.wikipedia.org/w/load.php?lang=sv&modules=jquery%2Coojs-ui-core&skin=vector-2022&version=1pr45:44:983
Deferred/then/resolve/</process<@https://sv.wikipedia.org/w/load.php?lang=sv&modules=jquery%2Coojs-ui-core&skin=vector-2022&version=1pr45:45:643
setTimeout handler*Deferred/then/resolve/<@https://sv.wikipedia.org/w/load.php?lang=sv&modules=jquery%2Coojs-ui-core&skin=vector-2022&version=1pr45:46:54
fire@https://sv.wikipedia.org/w/load.php?lang=sv&modules=jquery%2Coojs-ui-core&skin=vector-2022&version=1pr45:42:76
fireWith@https://sv.wikipedia.org/w/load.php?lang=sv&modules=jquery%2Coojs-ui-core&skin=vector-2022&version=1pr45:43:264
fire@https://sv.wikipedia.org/w/load.php?lang=sv&modules=jquery%2Coojs-ui-core&skin=vector-2022&version=1pr45:43:308
fire@https://sv.wikipedia.org/w/load.php?lang=sv&modules=jquery%2Coojs-ui-core&skin=vector-2022&version=1pr45:42:76
fireWith@https://sv.wikipedia.org/w/load.php?lang=sv&modules=jquery%2Coojs-ui-core&skin=vector-2022&version=1pr45:43:264
mightThrow@https://sv.wikipedia.org/w/load.php?lang=sv&modules=jquery%2Coojs-ui-core&skin=vector-2022&version=1pr45:45:586
Deferred/then/resolve/</process<@https://sv.wikipedia.org/w/load.php?lang=sv&modules=jquery%2Coojs-ui-core&skin=vector-2022&version=1pr45:45:643
Deferred/then/resolve/<@https://sv.wikipedia.org/w/load.php?lang=sv&modules=jquery%2Coojs-ui-core&skin=vector-2022&version=1pr45:45:862
mightThrow@https://sv.wikipedia.org/w/load.php?lang=sv&modules=jquery%2Coojs-ui-core&skin=vector-2022&version=1pr45:44:983
Deferred/then/resolve/</process<@https://sv.wikipedia.org/w/load.php?lang=sv&modules=jquery%2Coojs-ui-core&skin=vector-2022&version=1pr45:45:643
setTimeout handler*Deferred/then/resolve/<@https://sv.wikipedia.org/w/load.php?lang=sv&modules=jquery%2Coojs-ui-core&skin=vector-2022&version=1pr45:46:54
fire@https://sv.wikipedia.org/w/load.php?lang=sv&modules=jquery%2Coojs-ui-core&skin=vector-2022&version=1pr45:42:76
fireWith@https://sv.wikipedia.org/w/load.php?lang=sv&modules=jquery%2Coojs-ui-core&skin=vector-2022&version=1pr45:43:264
fire@https://sv.wikipedia.org/w/load.php?lang=sv&modules=jquery%2Coojs-ui-core&skin=vector-2022&version=1pr45:43:308
fire@https://sv.wikipedia.org/w/load.php?lang=sv&modules=jquery%2Coojs-ui-core&skin=vector-2022&version=1pr45:42:76
fireWith@https://sv.wikipedia.org/w/load.php?lang=sv&modules=jquery%2Coojs-ui-core&skin=vector-2022&version=1pr45:43:264
mightThrow@https://sv.wikipedia.org/w/load.php?lang=sv&modules=jquery%2Coojs-ui-core&skin=vector-2022&version=1pr45:45:586
Deferred/then/resolve/</process<@https://sv.wikipedia.org/w/load.php?lang=sv&modules=jquery%2Coojs-ui-core&skin=vector-2022&version=1pr45:45:643
setTimeout handler*Deferred/then/resolve/<@https://sv.wikipedia.org/w/load.php?lang=sv&modules=jquery%2Coojs-ui-core&skin=vector-2022&version=1pr45:46:54
fire@https://sv.wikipedia.org/w/load.php?lang=sv&modules=jquery%2Coojs-ui-core&skin=vector-2022&version=1pr45:42:76
fireWith@https://sv.wikipedia.org/w/load.php?lang=sv&modules=jquery%2Coojs-ui-core&skin=vector-2022&version=1pr45:43:264
fire@https://sv.wikipedia.org/w/load.php?lang=sv&modules=jquery%2Coojs-ui-core&skin=vector-2022&version=1pr45:43:308
fire@https://sv.wikipedia.org/w/load.php?lang=sv&modules=jquery%2Coojs-ui-core&skin=vector-2022&version=1pr45:42:76
fireWith@https://sv.wikipedia.org/w/load.php?lang=sv&modules=jquery%2Coojs-ui-core&skin=vector-2022&version=1pr45:43:264
Deferred/</deferred[tuple[0]]@https://sv.wikipedia.org/w/load.php?lang=sv&modules=jquery%2Coojs-ui-core&skin=vector-2022&version=1pr45:46:810
ajax/xhr<@https://sv.wikipedia.org/w/load.php?lang=sv&modules=mediawiki.api&skin=vector-2022&version=6by0p:4:962
fire@https://sv.wikipedia.org/w/load.php?lang=sv&modules=jquery%2Coojs-ui-core&skin=vector-2022&version=1pr45:42:76
fireWith@https://sv.wikipedia.org/w/load.php?lang=sv&modules=jquery%2Coojs-ui-core&skin=vector-2022&version=1pr45:43:264
done@https://sv.wikipedia.org/w/load.php?lang=sv&modules=jquery%2Coojs-ui-core&skin=vector-2022&version=1pr45:125:734
send/callback/<@https://sv.wikipedia.org/w/load.php?lang=sv&modules=jquery%2Coojs-ui-core&skin=vector-2022&version=1pr45:129:323
EventHandlerNonNull*send@https://sv.wikipedia.org/w/load.php?lang=sv&modules=jquery%2Coojs-ui-core&skin=vector-2022&version=1pr45:129:544
ajax@https://sv.wikipedia.org/w/load.php?lang=sv&modules=jquery%2Coojs-ui-core&skin=vector-2022&version=1pr45:124:475
ajax@https://sv.wikipedia.org/w/load.php?lang=sv&modules=mediawiki.api&skin=vector-2022&version=6by0p:4:341
get@https://sv.wikipedia.org/w/load.php?lang=sv&modules=mediawiki.api&skin=vector-2022&version=6by0p:2:472
mw.Api.prototype.getCentralAuthToken@https://sv.wikipedia.org/w/load.php?lang=sv&modules=ext.centralauth.ForeignApi&skin=vector-2022&version=155py:1:174
CentralAuthForeignApi.prototype.ajax/tokenPromise<@https://sv.wikipedia.org/w/load.php?lang=sv&modules=ext.centralauth.ForeignApi&skin=vector-2022&version=155py:4:250
mightThrow@https://sv.wikipedia.org/w/load.php?lang=sv&modules=jquery%2Coojs-ui-core&skin=vector-2022&version=1pr45:44:983
Deferred/then/resolve/</process<@https://sv.wikipedia.org/w/load.php?lang=sv&modules=jquery%2Coojs-ui-core&skin=vector-2022&version=1pr45:45:643
setTimeout handler*Deferred/then/resolve/<@https://sv.wikipedia.org/w/load.php?lang=sv&modules=jquery%2Coojs-ui-core&skin=vector-2022&version=1pr45:46:54
fire@https://sv.wikipedia.org/w/load.php?lang=sv&modules=jquery%2Coojs-ui-core&skin=vector-2022&version=1pr45:42:76
fireWith@https://sv.wikipedia.org/w/load.php?lang=sv&modules=jquery%2Coojs-ui-core&skin=vector-2022&version=1pr45:43:264
fire@https://sv.wikipedia.org/w/load.php?lang=sv&modules=jquery%2Coojs-ui-core&skin=vector-2022&version=1pr45:43:308
fire@https://sv.wikipedia.org/w/load.php?lang=sv&modules=jquery%2Coojs-ui-core&skin=vector-2022&version=1pr45:42:76
fireWith@https://sv.wikipedia.org/w/load.php?lang=sv&modules=jquery%2Coojs-ui-core&skin=vector-2022&version=1pr45:43:264
Deferred/then/resolve/</process<@https://sv.wikipedia.org/w/load.php?lang=sv&modules=jquery%2Coojs-ui-core&skin=vector-2022&version=1pr45:45:826
Deferred/then/resolve/<@https://sv.wikipedia.org/w/load.php?lang=sv&modules=jquery%2Coojs-ui-core&skin=vector-2022&version=1pr45:45:862
mightThrow@https://sv.wikipedia.org/w/load.php?lang=sv&modules=jquery%2Coojs-ui-core&skin=vector-2022&version=1pr45:44:983
Deferred/then/resolve/</process<@https://sv.wikipedia.org/w/load.php?lang=sv&modules=jquery%2Coojs-ui-core&skin=vector-2022&version=1pr45:45:643
 undefined

Event Timeline

The issue seems to be that the XPath generated for the title (e.g. //h1/span/text()) does not match the actual DOM structure on svwp, the title is nested deeper (more like //h1/span/span/text()), so the XPath does not resolve to any node.

Because of this, getNodeForItem() returns null for the title

I think the issue might be in Cleaner::cleanHtmlDom(), where the title XPath is built using getNodePath(). It seems to produce a path that matches the local structure, but not the actual title DOM on svwp

After further debugging and discussion on mediawiki-l mailing list, it seems this issue is related to the recent rollout of Parsoid based read view rendering on svwp.

As clarified in the mail, the reason we are seeing this now is:

“we rolled out Parsoid-based-read-view rendering to svwp recently”

This means that on svwp, the actual DOM structure of the title in the page can differ from what is returned by the API.


Wikispeech currently assumes that the title structure from the API can be mapped directly to the live DOM

This is what is caused by a mismatch between API output and actual DOM due to Parsoid rollout, and the issue is not specific to Wikispeech alone, but require us to look over our backend handling of DOM.
Until upstream fixes is in place, we likely need to:

  • temporarily avoid relying on exact DOM matching for titles.
  • handle titles more defensively

I tried making the Xpath expression for the title more general by changing //h1/... to //h1//.... This works on both SVWP and ENWP.

Change #1268976 had a related patch set uploaded (by Sebastian Berlin (WMSE); author: Sebastian Berlin (WMSE)):

[mediawiki/extensions/Wikispeech@master] Allow arbitrary nodes between h1 and span in titles' Xpath

https://gerrit.wikimedia.org/r/1268976

I think 1268976 should fix the issue with the new span wrapper for the title. It works when I test locally, but there are some frontend issues that prevents playing. Quick hack to remove the window parameter in ext.wikispeech.storage.requestListen() was required to play and there was still an highlighting error on SVWP.

ENWP
09:33:21.638 jQuery.Deferred exception: can't access property "location", window is undefined requestListen@http://localhost:8080/w/load.php?lang=en&skin=vector-2022&raw=1&safemode=1&modules=ext.wikispeech:23:635
requestTts@http://localhost:8080/w/load.php?lang=en&skin=vector-2022&raw=1&safemode=1&modules=ext.wikispeech:24:165
loadAudio@http://localhost:8080/w/load.php?lang=en&skin=vector-2022&raw=1&safemode=1&modules=ext.wikispeech:22:655
prepareUtterance@http://localhost:8080/w/load.php?lang=en&skin=vector-2022&raw=1&safemode=1&modules=ext.wikispeech:21:989
ext.wikispeech.storage.js/loadUtterances/<@http://localhost:8080/w/load.php?lang=en&skin=vector-2022&raw=1&safemode=1&modules=ext.wikispeech:21:286
mightThrow@https://en.wikipedia.org/w/load.php?lang=en&modules=jquery%2Cvue&skin=vector-2022&version=17xz7:44:983
Deferred/then/resolve/</process<@https://en.wikipedia.org/w/load.php?lang=en&modules=jquery%2Cvue&skin=vector-2022&version=17xz7:45:643
setTimeout handler*Deferred/then/resolve/<@https://en.wikipedia.org/w/load.php?lang=en&modules=jquery%2Cvue&skin=vector-2022&version=17xz7:46:54
fire@https://en.wikipedia.org/w/load.php?lang=en&modules=jquery%2Cvue&skin=vector-2022&version=17xz7:42:76
fireWith@https://en.wikipedia.org/w/load.php?lang=en&modules=jquery%2Cvue&skin=vector-2022&version=17xz7:43:264
fire@https://en.wikipedia.org/w/load.php?lang=en&modules=jquery%2Cvue&skin=vector-2022&version=17xz7:43:308
fire@https://en.wikipedia.org/w/load.php?lang=en&modules=jquery%2Cvue&skin=vector-2022&version=17xz7:42:76
fireWith@https://en.wikipedia.org/w/load.php?lang=en&modules=jquery%2Cvue&skin=vector-2022&version=17xz7:43:264
mightThrow@https://en.wikipedia.org/w/load.php?lang=en&modules=jquery%2Cvue&skin=vector-2022&version=17xz7:45:586
Deferred/then/resolve/</process<@https://en.wikipedia.org/w/load.php?lang=en&modules=jquery%2Cvue&skin=vector-2022&version=17xz7:45:643
Deferred/then/resolve/<@https://en.wikipedia.org/w/load.php?lang=en&modules=jquery%2Cvue&skin=vector-2022&version=17xz7:45:862
mightThrow@https://en.wikipedia.org/w/load.php?lang=en&modules=jquery%2Cvue&skin=vector-2022&version=17xz7:44:983
Deferred/then/resolve/</process<@https://en.wikipedia.org/w/load.php?lang=en&modules=jquery%2Cvue&skin=vector-2022&version=17xz7:45:643
setTimeout handler*Deferred/then/resolve/<@https://en.wikipedia.org/w/load.php?lang=en&modules=jquery%2Cvue&skin=vector-2022&version=17xz7:46:54
fire@https://en.wikipedia.org/w/load.php?lang=en&modules=jquery%2Cvue&skin=vector-2022&version=17xz7:42:76
fireWith@https://en.wikipedia.org/w/load.php?lang=en&modules=jquery%2Cvue&skin=vector-2022&version=17xz7:43:264
fire@https://en.wikipedia.org/w/load.php?lang=en&modules=jquery%2Cvue&skin=vector-2022&version=17xz7:43:308
fire@https://en.wikipedia.org/w/load.php?lang=en&modules=jquery%2Cvue&skin=vector-2022&version=17xz7:42:76
fireWith@https://en.wikipedia.org/w/load.php?lang=en&modules=jquery%2Cvue&skin=vector-2022&version=17xz7:43:264
Deferred/</deferred[tuple[0]]@https://en.wikipedia.org/w/load.php?lang=en&modules=jquery%2Cvue&skin=vector-2022&version=17xz7:46:810
ajax/xhr<@https://en.wikipedia.org/w/load.php?lang=en&modules=mediawiki.api&skin=vector-2022&version=vcs9e:4:962
fire@https://en.wikipedia.org/w/load.php?lang=en&modules=jquery%2Cvue&skin=vector-2022&version=17xz7:42:76
fireWith@https://en.wikipedia.org/w/load.php?lang=en&modules=jquery%2Cvue&skin=vector-2022&version=17xz7:43:264
done@https://en.wikipedia.org/w/load.php?lang=en&modules=jquery%2Cvue&skin=vector-2022&version=17xz7:125:734
send/callback/<@https://en.wikipedia.org/w/load.php?lang=en&modules=jquery%2Cvue&skin=vector-2022&version=17xz7:129:323
EventHandlerNonNull*send@https://en.wikipedia.org/w/load.php?lang=en&modules=jquery%2Cvue&skin=vector-2022&version=17xz7:129:544
ajax@https://en.wikipedia.org/w/load.php?lang=en&modules=jquery%2Cvue&skin=vector-2022&version=17xz7:124:475
ajax@https://en.wikipedia.org/w/load.php?lang=en&modules=mediawiki.api&skin=vector-2022&version=vcs9e:4:341
resources/src/mediawiki.ForeignApi/mediawiki.ForeignApi.core.js/module.exports</CoreForeignApi.prototype.ajax@https://en.wikipedia.org/w/load.php?lang=en&modules=mediawiki.ForeignApi.core&skin=vector-2022&version=1uzut:3:134
CentralAuthForeignApi.prototype.ajax/<@https://en.wikipedia.org/w/load.php?lang=en&modules=ext.centralauth.ForeignApi&skin=vector-2022&version=155py:4:793
mightThrow@https://en.wikipedia.org/w/load.php?lang=en&modules=jquery%2Cvue&skin=vector-2022&version=17xz7:44:983
Deferred/then/resolve/</process<@https://en.wikipedia.org/w/load.php?lang=en&modules=jquery%2Cvue&skin=vector-2022&version=17xz7:45:643
setTimeout handler*Deferred/then/resolve/<@https://en.wikipedia.org/w/load.php?lang=en&modules=jquery%2Cvue&skin=vector-2022&version=17xz7:46:54
fire@https://en.wikipedia.org/w/load.php?lang=en&modules=jquery%2Cvue&skin=vector-2022&version=17xz7:42:76
fireWith@https://en.wikipedia.org/w/load.php?lang=en&modules=jquery%2Cvue&skin=vector-2022&version=17xz7:43:264
fire@https://en.wikipedia.org/w/load.php?lang=en&modules=jquery%2Cvue&skin=vector-2022&version=17xz7:43:308
fire@https://en.wikipedia.org/w/load.php?lang=en&modules=jquery%2Cvue&skin=vector-2022&version=17xz7:42:76
fireWith@https://en.wikipedia.org/w/load.php?lang=en&modules=jquery%2Cvue&skin=vector-2022&version=17xz7:43:264
mightThrow@https://en.wikipedia.org/w/load.php?lang=en&modules=jquery%2Cvue&skin=vector-2022&version=17xz7:45:586
Deferred/then/resolve/</process<@https://en.wikipedia.org/w/load.php?lang=en&modules=jquery%2Cvue&skin=vector-2022&version=17xz7:45:643
Deferred/then/resolve/<@https://en.wikipedia.org/w/load.php?lang=en&modules=jquery%2Cvue&skin=vector-2022&version=17xz7:45:862
mightThrow@https://en.wikipedia.org/w/load.php?lang=en&modules=jquery%2Cvue&skin=vector-2022&version=17xz7:44:983
Deferred/then/resolve/</process<@https://en.wikipedia.org/w/load.php?lang=en&modules=jquery%2Cvue&skin=vector-2022&version=17xz7:45:643
 undefined jquery.js:3783:18
SVWP after hack; first content utterance
09:34:35.291 Uncaught TypeError: can't access property "splitText", firstNode is null
    wrapTextNodes ext.wikispeech.highlighter.js:116
    highlightToken ext.wikispeech.highlighter.js:210
    startTokenHighlighting ext.wikispeech.highlighter.js:154
    prepareUtterance ext.wikispeech.storage.js:118
    jQuery 8
    prepareUtterance ext.wikispeech.storage.js:107
    play ext.wikispeech.storage.js:127
    jQuery 9
    prepareUtterance ext.wikispeech.storage.js:125
    loadUtterances ext.wikispeech.storage.js:81
    jQuery 20
    xhr index.js:333
    jQuery 6
    ajax index.js:305
    ajax mediawiki.ForeignApi.core.js:124
    ajax ext.centralauth.ForeignApi.js:161
    jQuery 13
ext.wikispeech.highlighter.js:116:4

Change #1269366 had a related patch set uploaded (by Sebastian Berlin (WMSE); author: Sebastian Berlin (WMSE)):

[mediawiki/extensions/Wikispeech@master] Restore `window` parameter in call to `ext.wikispeech.storage.requestTts()`

https://gerrit.wikimedia.org/r/1269366

The first issue was just a parameter that got lost by accident in e6d04ffb.

Looks like there's another difference between output on SVWP and ENWP. The former have section elements wrapping (see below). It looks like theres one section per h2. This means that the paths for all the content segments won't match.

New section on SVWP
<section data-mw-section-id="0" id="mwAQ"><style data-mw-deduplicate="TemplateStyles:r53696904" typeof="mw:Extension/templatestyles mw:Transclusion" about="#mwt1" data-mw="{&quot;name&quot;:&quot;templatestyles&quot;,&quot;attrs&quot;:{&quot;src&quot;:&quot;Mall:Faktamall/styles.css&quot;},&quot;parts&quot;:[{&quot;template&quot;:{&quot;target&quot;:{&quot;wt&quot;:&quot;Infobox Brottsling\n&quot;,&quot;href&quot;:&quot;./Mall:Infobox_Brottsling&quot;},&quot;params&quot;:{&quot;namn&quot;:{&quot;wt&quot;:&quot;John och Christopher Wright&quot;},&quot;bild&quot;:{&quot;wt&quot;:&quot;[[Fil:John and christopher wright.jpg|200px]]&quot;},&quot;bildtext&quot;:{&quot;wt&quot;:&quot;[[Gravyr]] av John (höger) och Christopher Wright (vänster), gjord av [[Crispin de Passe den äldre]].&quot;},&quot;födelsedatum&quot;:{&quot;wt&quot;:&quot;januari 1568 (John)&lt;br&gt;1570 (Christopher)&quot;},&quot;födelseplats&quot;:{&quot;wt&quot;:&quot;[[Yorkshire]], [[England]]&quot;},&quot;dödsdatum&quot;:{&quot;wt&quot;:&quot;8 november 1605&lt;br&gt;(John: 37 år)&lt;br&gt;(Christopher: 34–35 år)&quot;},&quot;dödsplats&quot;:{&quot;wt&quot;:&quot;[[Holbeche House]], [[Staffordshire]], [[England]]&quot;},&quot;dödsorsak&quot;:{&quot;wt&quot;:&quot;Skjutna&quot;},&quot;alias&quot;:{&quot;wt&quot;:&quot;Jack Wright (John)&lt;ref name=\&quot;JohnJack\&quot;&gt;{{webbref|författare=Herber, David |titel=John (Jack) Wright |utgivare=Britannia.com |datum= |url=http://www.britannia.com/history/j-wright.html |arkivurl=https://web.archive.org/web/20121010131341/http://www.britannia.com/history/j-wright.html |arkivdatum=10 oktober 2012 |språk=engelska |hämtdatum=5 februari 2013 }}&lt;/ref&gt;&lt;br&gt;Kit Wright, möjligtvis Anthony Dutton (Christopher)&lt;ref name=\&quot;ChristopherKit\&quot;&gt;{{webbref|författare=Herber, David |titel=Christopher (Kit) Wright |utgivare=Britannia.com |datum= |url=http://www.britannia.com/history/c-wright.html |arkivurl=https://web.archive.org/web/20121010130021/http://www.britannia.com/history/c-wright.html |arkivdatum=10 oktober 2012 |språk=engelska |hämtdatum=5 februari 2013 }}&lt;/ref&gt;&lt;ref name=\&quot;NichollsTidskrift\&quot; /&gt;&quot;},&quot;yrke&quot;:{&quot;wt&quot;:&quot;&quot;},&quot;partner&quot;:{&quot;wt&quot;:&quot;Dorothy (John)&lt;ref name=\&quot;JohnJack\&quot; /&gt;&lt;br&gt;[[Margaret Ward]] (Christopher)&lt;ref name=\&quot;ChristopherKit\&quot; /&gt;&lt;ref name=\&quot;FraserHundraAttioEtt\&quot;&gt;{{Harvnb|Fraser|2005|p=181}}&lt;/ref&gt;&quot;},&quot;föräldrar&quot;:{&quot;wt&quot;:&quot;Robert Wright, Ursula Rudston&quot;},&quot;barn&quot;:{&quot;wt&quot;:&quot;En dotter (John)&quot;},&quot;kuppnamn&quot;:{&quot;wt&quot;:&quot;[[Krutkonspirationen]]&quot;},&quot;roll&quot;:{&quot;wt&quot;:&quot;Icke-specifik&quot;},&quot;värvad&quot;:{&quot;wt&quot;:&quot;Tidigt under 1604 (John)&lt;br /&gt;mars 1605 (Christopher)&quot;},&quot;gripen&quot;:{&quot;wt&quot;:&quot;&quot;},&quot;motiv&quot;:{&quot;wt&quot;:&quot;Återinsätta en [[Romersk-katolska kyrkan|katolsk]] [[monark]]&quot;},&quot;tillvägagångssätt&quot;:{&quot;wt&quot;:&quot;Lönnmörda [[Jakob I av England|Jakob I]] genom att spränga det [[Brittiska överhuset|engelska överhuset]] i [[Westminsterpalatset]]&quot;},&quot;åtal&quot;:{&quot;wt&quot;:&quot;&quot;},&quot;dom&quot;:{&quot;wt&quot;:&quot;&quot;},&quot;straff&quot;:{&quot;wt&quot;:&quot;&quot;}},&quot;i&quot;:0}}]}" id="mwAg">.mw-parser-output .infobox{border:1px solid #aaa;background-color:#f9f9f9;color:black;margin:.5em 0 .5em 1em;padding:.2em;float:right;clear:right;width:22em;text-align:left;font-size:88%;line-height:1.6em}.mw-parser-output .infobox td,.mw-parser-output .infobox th{vertical-align:top;padding:0 .2em}.mw-parser-output .infobox caption{font-size:larger}.mw-parser-output .infobox.bordered{border-collapse:collapse}.mw-parser-output .infobox.bordered td,.mw-parser-output .infobox.bordered th{border:1px solid #aaa}.mw-parser-output .infobox.bordered .borderless td,.mw-parser-output .infobox.bordered .borderless th{border:0}.mw-parser-output .infobox-showbutton button,.mw-parser-output .infobox-showbutton .mw-collapsible-text{color:inherit}.mw-parser-output .infobox.bordered .mergedtoprow td,.mw-parser-output .infobox.bordered .mergedtoprow th{border:0;border-top:1px solid #aaa;border-right:1px solid #aaa}.mw-parser-output .infobox.bordered .mergedrow td,.mw-parser-output .infobox.bordered .mergedrow th{border:0;border-right:1px solid #aaa}.mw-parser-output .infobox.geography{border:1px solid #ccd2d9;text-align:left;border-collapse:collapse;line-height:1.2em;font-size:90%}.mw-parser-output .infobox.geography td,.mw-parser-output .infobox.geography th{border-top:solid 1px #ccd2d9;padding:0.4em 0.6em 0.4em 0.6em}.mw-parser-output .infobox.geography .mergedtoprow td,.mw-parser-output .infobox.geography .mergedtoprow th{border-top:solid 1px #ccd2d9;padding:0.4em 0.6em 0.2em 0.6em}.mw-parser-output .infobox.geography .mergedrow td,.mw-parser-output .infobox.geography .mergedrow th{border:0;padding:0 0.6em 0.2em 0.6em}.mw-parser-output .infobox.geography .mergedbottomrow td,.mw-parser-output .infobox.geography .mergedbottomrow th{border-top:0;border-bottom:solid 1px #ccd2d9;padding:0 0.6em 0.4em 0.6em}.mw-parser-output .infobox.geography .maptable td,.mw-parser-output .infobox.geography .maptable th{border:0;padding:0}</style><table class="infobox " style="border-spacing:3px; " about="#mwt1" id="mwAw"><tbody><tr><td colspan="2" class="" style="padding:2px; text-align:center; font-size: 125%; font-weight: bold; ">John och Christopher Wright</td></tr><tr><td colspan="2" class="" style="text-align:center; "> <span typeof="mw:File"><a href="https://commons.wikimedia.org/wiki/File:John_and_christopher_wright.jpg" class="mw-file-description"><img resource="//sv.wikipedia.org/wiki/Fil:John_and_christopher_wright.jpg" src="//upload.wikimedia.org/wikipedia/commons/thumb/c/c1/John_and_christopher_wright.jpg/250px-John_and_christopher_wright.jpg" decoding="async" data-file-width="458" data-file-height="600" data-file-type="bitmap" height="262" width="200" srcset="//upload.wikimedia.org/wikipedia/commons/c/c1/John_and_christopher_wright.jpg 2x" class="mw-file-element"></a></span> <div style=""><a rel="mw:WikiLink" href="//sv.wikipedia.org/wiki/Gravyr" title="Gravyr">Gravyr</a> av John (höger) och Christopher Wright (vänster), gjord av <a rel="mw:WikiLink" href="//sv.wikipedia.org/wiki/Crispin_de_Passe_den_äldre" title="Crispin de Passe den äldre">Crispin de Passe den äldre</a>.</div></td></tr><tr><th colspan="2" style="text-align:center;">Personlig information</th></tr><tr><th style="text-align:left; ">Alias</th><td class="" style="">Jack Wright (John)<sup about="#mwt5" class="mw-ref reference" id="cite_ref-JohnJack_1-0" rel="dc:references" typeof="mw:Extension/ref" data-mw="{&quot;name&quot;:&quot;ref&quot;,&quot;attrs&quot;:{&quot;name&quot;:&quot;JohnJack&quot;},&quot;body&quot;:{&quot;id&quot;:&quot;mw-reference-text-cite_note-JohnJack-1&quot;}}"><a href="#cite_note-JohnJack-1" id="mwBA"><span class="mw-reflink-text" id="mwBQ"><span class="cite-bracket" id="mwBg">[</span>1<span class="cite-bracket" id="mwBw">]</span></span></a></sup><br>Kit Wright, möjligtvis Anthony Dutton (Christopher)<sup about="#mwt8" class="mw-ref reference" id="cite_ref-ChristopherKit_2-0" rel="dc:references" typeof="mw:Extension/ref" data-mw="{&quot;name&quot;:&quot;ref&quot;,&quot;attrs&quot;:{&quot;name&quot;:&quot;ChristopherKit&quot;},&quot;body&quot;:{&quot;id&quot;:&quot;mw-reference-text-cite_note-ChristopherKit-2&quot;}}"><a href="#cite_note-ChristopherKit-2" id="mwCA"><span class="mw-reflink-text" id="mwCQ"><span class="cite-bracket" id="mwCg">[</span>2<span class="cite-bracket" id="mwCw">]</span></span></a></sup><sup about="#mwt9" class="mw-ref reference" id="cite_ref-NichollsTidskrift_3-0" rel="dc:references" typeof="mw:Extension/ref" data-mw="{&quot;name&quot;:&quot;ref&quot;,&quot;attrs&quot;:{&quot;name&quot;:&quot;NichollsTidskrift&quot;}}"><a href="#cite_note-NichollsTidskrift-3" id="mwDA"><span class="mw-reflink-text" id="mwDQ"><span class="cite-bracket" id="mwDg">[</span>3<span class="cite-bracket" id="mwDw">]</span></span></a></sup></td></tr><tr><th style="text-align:left; ">Född</th><td class="" style="">januari 1568 (John)<br>1570 (Christopher)<br><a rel="mw:WikiLink" href="//sv.wikipedia.org/wiki/Yorkshire" title="Yorkshire">Yorkshire</a>, <a rel="mw:WikiLink" href="//sv.wikipedia.org/wiki/England" title="England">England</a></td></tr><tr><th style="text-align:left; ">Död</th><td class="" style="">8 november 1605<br>(John: 37 år)<br>(Christopher: 34–35 år)<br><a rel="mw:WikiLink" href="//sv.wikipedia.org/wiki/Holbeche_House" title="Holbeche House">Holbeche House</a>, <a rel="mw:WikiLink" href="//sv.wikipedia.org/wiki/Staffordshire" title="Staffordshire">Staffordshire</a>, <a rel="mw:WikiLink" href="//sv.wikipedia.org/wiki/England" title="England">England</a></td></tr><tr><th style="text-align:left; ">Dödsorsak</th><td class="" style="">Skjutna</td></tr><tr><th style="text-align:left; ">Partner</th><td class="" style="">Dorothy (John)<sup about="#mwt10" class="mw-ref reference" id="cite_ref-JohnJack_1-1" rel="dc:references" typeof="mw:Extension/ref" data-mw="{&quot;name&quot;:&quot;ref&quot;,&quot;attrs&quot;:{&quot;name&quot;:&quot;JohnJack&quot;}}"><a href="#cite_note-JohnJack-1" id="mwEA"><span class="mw-reflink-text" id="mwEQ"><span class="cite-bracket" id="mwEg">[</span>1<span class="cite-bracket" id="mwEw">]</span></span></a></sup><br><a rel="mw:WikiLink" href="//sv.wikipedia.org/wiki/Margaret_Ward" title="Margaret Ward">Margaret Ward</a> (Christopher)<sup about="#mwt11" class="mw-ref reference" id="cite_ref-ChristopherKit_2-1" rel="dc:references" typeof="mw:Extension/ref" data-mw="{&quot;name&quot;:&quot;ref&quot;,&quot;attrs&quot;:{&quot;name&quot;:&quot;ChristopherKit&quot;}}"><a href="#cite_note-ChristopherKit-2" id="mwFA"><span class="mw-reflink-text" id="mwFQ"><span class="cite-bracket" id="mwFg">[</span>2<span class="cite-bracket" id="mwFw">]</span></span></a></sup><sup about="#mwt13" class="mw-ref reference" id="cite_ref-FraserHundraAttioEtt_4-0" rel="dc:references" typeof="mw:Extension/ref" data-mw="{&quot;name&quot;:&quot;ref&quot;,&quot;attrs&quot;:{&quot;name&quot;:&quot;FraserHundraAttioEtt&quot;},&quot;body&quot;:{&quot;id&quot;:&quot;mw-reference-text-cite_note-FraserHundraAttioEtt-4&quot;}}"><a href="#cite_note-FraserHundraAttioEtt-4" id="mwGA"><span class="mw-reflink-text" id="mwGQ"><span class="cite-bracket" id="mwGg">[</span>4<span class="cite-bracket" id="mwGw">]</span></span></a></sup></td></tr><tr><th style="text-align:left; ">Föräldrar</th><td class="" style="">Robert Wright, Ursula Rudston</td></tr><tr><th style="text-align:left; ">Barn</th><td class="" style="">En dotter (John)</td></tr><tr><th colspan="2" style="text-align:center;">Juridisk information</th></tr><tr><th style="text-align:left; ">Brottsnamn</th><td class="" style=""><a rel="mw:WikiLink" href="//sv.wikipedia.org/wiki/Krutkonspirationen" title="Krutkonspirationen">Krutkonspirationen</a></td></tr><tr><th style="text-align:left; ">Motiv</th><td class="" style="">Återinsätta en <a rel="mw:WikiLink" href="//sv.wikipedia.org/wiki/Romersk-katolska_kyrkan" title="Romersk-katolska kyrkan">katolsk</a> <a rel="mw:WikiLink" href="//sv.wikipedia.org/wiki/Monark" title="Monark">monark</a></td></tr><tr><th style="text-align:left; ">Tillvägagångssätt</th><td class="" style="">Lönnmörda <a rel="mw:WikiLink" href="//sv.wikipedia.org/wiki/Jakob_I_av_England" title="Jakob I av England">Jakob I</a> genom att spränga det <a rel="mw:WikiLink" href="//sv.wikipedia.org/wiki/Brittiska_överhuset" title="Brittiska överhuset">engelska överhuset</a> i <a rel="mw:WikiLink" href="//sv.wikipedia.org/wiki/Westminsterpalatset" title="Westminsterpalatset">Westminsterpalatset</a></td></tr><tr><th style="text-align:left; ">Roll</th><td class="" style="">Icke-specifik</td></tr><tr><th style="text-align:left; ">Värvad</th><td class="" style="">Tidigt under 1604 (John)<br>mars 1605 (Christopher)</td></tr>
</tbody></table>
<p id="mwHA"><b id="mwHQ">John Wright</b>, född i januari <a rel="mw:WikiLink" href="//sv.wikipedia.org/wiki/1568" title="1568" id="mwHg">1568</a> i <a rel="mw:WikiLink" href="//sv.wikipedia.org/wiki/Yorkshire" title="Yorkshire" id="mwHw">Yorkshire</a>, död <a rel="mw:WikiLink" href="//sv.wikipedia.org/wiki/8_november" title="8 november" id="mwIA">8 november</a> <a rel="mw:WikiLink" href="//sv.wikipedia.org/wiki/1605" title="1605" id="mwIQ">1605</a> i <a rel="mw:WikiLink" href="//sv.wikipedia.org/wiki/Holbeche_House" title="Holbeche House" id="mwIg">Holbeche House</a>, och <b id="mwIw">Christopher Wright</b>, född cirka <a rel="mw:WikiLink" href="//sv.wikipedia.org/wiki/1570" title="1570" id="mwJA">1570</a> i <a rel="mw:WikiLink" href="//sv.wikipedia.org/wiki/Yorkshire" title="Yorkshire" id="mwJQ">Yorkshire</a>, död 8 november 1605 i Holbeche House, var två bröder som försökte lönnmörda <a rel="mw:WikiLink" href="//sv.wikipedia.org/wiki/Jakob_I_av_England" title="Jakob I av England" id="mwJg">Jakob I av England</a> genom att spränga det <a rel="mw:WikiLink" href="//sv.wikipedia.org/wiki/Brittiska_överhuset" title="Brittiska överhuset" id="mwJw">engelska överhuset</a> i <a rel="mw:WikiLink" href="//sv.wikipedia.org/wiki/Westminsterpalatset" title="Westminsterpalatset" id="mwKA">Westminsterpalatset</a>, i vad som kallas för <a rel="mw:WikiLink" href="//sv.wikipedia.org/wiki/Krutkonspirationen" title="Krutkonspirationen" id="mwKQ">krutkonspirationen</a> 1605. John var en av de första <a rel="mw:WikiLink" href="//sv.wikipedia.org/wiki/Konspiratör" title="Konspiratör" class="mw-redirect" id="mwKg">konspiratörerna</a> att ansluta sig medan Christopher värvades i mars 1605.</p>

<p id="mwKw">Bröderna Wright hade båda varit elever på <a rel="mw:WikiLink" href="//sv.wikipedia.org/wiki/St_Peter's_School,_York" title="St Peter's School, York" id="mwLA">St Peter's School</a> i <a rel="mw:WikiLink" href="//sv.wikipedia.org/wiki/York" title="York" id="mwLQ">York</a>, där även konspiratören <a rel="mw:WikiLink" href="//sv.wikipedia.org/wiki/Guy_Fawkes" title="Guy Fawkes" id="mwLg">Guy Fawkes</a> hade utbildat sig. Både John och Christopher var gifta, med Dorothy respektive Margaret, och John hade en dotter som föddes sent under 1590-talet. Deras syster, Martha, gifte sig med konspiratören <a rel="mw:WikiLink" href="//sv.wikipedia.org/wiki/Thomas_Percy_(konspiratör)" title="Thomas Percy (konspiratör)" id="mwLw">Thomas Percy</a> 1591. Av försiktighetsskäl greps de båda bröderna upprepade gånger under <a rel="mw:WikiLink" href="//sv.wikipedia.org/wiki/Elisabet_I_av_England" title="Elisabet I av England" class="mw-redirect" id="mwMA">Elisabet I av Englands</a> tid som <a rel="mw:WikiLink" href="//sv.wikipedia.org/wiki/Drottning" title="Drottning" id="mwMQ">drottning</a>; bland annat greps de 1601 för inblandning i <a rel="mw:WikiLink" href="//sv.wikipedia.org/wiki/Robert_Devereux,_2:e_earl_av_Essex" title="Robert Devereux, 2:e earl av Essex" id="mwMg">Robert Devereux, 2:e earl av Essex</a> uppror. Detta uppror sammanföll med Johns konvertering till <a rel="mw:WikiLink" href="//sv.wikipedia.org/wiki/Katolicismen" title="Katolicismen" class="mw-redirect" id="mwMw">katolicismen</a> och efter att han hade konverterat blev han kallad för "en man med ett föredömligt liv".</p>

<p id="mwNA">Brödernas exakta roll i <a rel="mw:WikiLink" href="//sv.wikipedia.org/wiki/Krutkonspirationen" title="Krutkonspirationen" id="mwNQ">krutkonspirationen</a> är oklar, men John engagerade sig starkt i planerna och han flyttade hela sin familj till <a rel="mw:WikiLink" href="//sv.wikipedia.org/wiki/Lapworth" title="Lapworth" id="mwNg">Lapworth</a> i <a rel="mw:WikiLink" href="//sv.wikipedia.org/wiki/Warwickshire" title="Warwickshire" id="mwNw">Warwickshire</a>, nära själva hjärtat av <a rel="mw:WikiLink" href="//sv.wikipedia.org/wiki/Konspiration" title="Konspiration" id="mwOA">konspirationen</a>. Den 5 november 1605, när nyheten spreds om att Fawkes hade misslyckats med sitt uppdrag och blivit gripen, flydde bröderna tillsammans med flera av de andra konspiratörerna till Holbeche House, nära gränsen till <a rel="mw:WikiLink" href="//sv.wikipedia.org/wiki/Staffordshire" title="Staffordshire" id="mwOQ">Staffordshire</a>. På morgonen den 8 november anlände <a rel="mw:WikiLink" href="//sv.wikipedia.org/wiki/Richard_Walsh" title="Richard Walsh" id="mwOg">Richard Walsh</a>, som var High Sheriff of Worcestershire, tillsammans med en styrka på omkring tvåhundra man till Holbeche House och en eldstrid bröt ut. Både John och Christopher träffades och avled av sina skador.</p>

<meta property="mw:PageProp/toc" data-mw="{&quot;autoGenerated&quot;:true}" id="mwOw"></section>

Looks like the parameter usearticle for the parse action helps. When I set it to true for requests to remote wikis it could read the first paragraph on SVWP. In the second paragraph it just skips to the next utterance immediately.

Change #1269366 merged by jenkins-bot:

[mediawiki/extensions/Wikispeech@master] Restore `window` parameter in call to `ext.wikispeech.storage.requestTts()`

https://gerrit.wikimedia.org/r/1269366

Change #1268976 merged by jenkins-bot:

[mediawiki/extensions/Wikispeech@master] Allow arbitrary nodes between h1 and span in titles' Xpath

https://gerrit.wikimedia.org/r/1268976

When I tried again now everything seems to work when usearticle is set. I've tried with multiple articles.

I think the reason it didn't work before was that there were some old utterances and/or segments still hanging around. I got the same behaviour for the article above, but when I flushed the utterances it worked.

Change #1270475 had a related patch set uploaded (by Sebastian Berlin (WMSE); author: Sebastian Berlin (WMSE)):

[mediawiki/extensions/Wikispeech@master] Set `usearticle` in parse requests to consumer wikis

https://gerrit.wikimedia.org/r/1270475

Change #1270475 merged by jenkins-bot:

[mediawiki/extensions/Wikispeech@master] Set `usearticle` in parse requests to consumer wikis

https://gerrit.wikimedia.org/r/1270475

Sebastian_Berlin-WMSE renamed this task from Wikispeech doesnt work on SVWP to Wikispeech doesn't work on SVWP.Apr 13 2026, 3:16 PM