StarCitizenTools / mediawiki-extensions-TabberNeue

A MediaWiki extension that allows wiki to create tabs.
https://www.mediawiki.org/wiki/Extension:TabberNeue
GNU General Public License v3.0
10 stars 15 forks source link

JS error with 2.2.1 on Firefox #148

Closed Fyren closed 2 months ago

Fyren commented 2 months ago

A secondhand report on the Dustloop Discord server said tabbers were broken on mobile for someone. I tried the specific page mentioned (https://www.dustloop.com/w/GGST/Nagoriyuki/Okizeme) and I could rarely get the following JS error (once per tabber on the page):

12:58:54.177 Uncaught TypeError: this.activeTab is null
    getActiveTabpanel https://www.dustloop.com/w/GGST/Nagoriyuki/Okizeme line 10 > injectedScript:120
    resume https://www.dustloop.com/w/GGST/Nagoriyuki/Okizeme line 10 > injectedScript:122
    init https://www.dustloop.com/w/GGST/Nagoriyuki/Okizeme line 10 > injectedScript:122
    init https://www.dustloop.com/w/GGST/Nagoriyuki/Okizeme line 10 > injectedScript:125
    setTimeout handler*init https://www.dustloop.com/w/GGST/Nagoriyuki/Okizeme line 10 > injectedScript:124
    load https://www.dustloop.com/w/GGST/Nagoriyuki/Okizeme line 10 > injectedScript:125
More stack, probably not helpful
    load https://www.dustloop.com/w/GGST/Nagoriyuki/Okizeme line 10 > injectedScript:125
    main https://www.dustloop.com/w/GGST/Nagoriyuki/Okizeme line 10 > injectedScript:125
    js https://www.dustloop.com/w/GGST/Nagoriyuki/Okizeme line 10 > injectedScript:125
    add https://www.dustloop.com/w/GGST/Nagoriyuki/Okizeme line 10 > injectedScript:151
    js https://www.dustloop.com/w/GGST/Nagoriyuki/Okizeme line 10 > injectedScript:125
    runScript https://www.dustloop.com/wiki/load.php?lang=en&modules=startup&only=scripts&raw=1&skin=citizen:12
    cssHandle https://www.dustloop.com/wiki/load.php?lang=en&modules=startup&only=scripts&raw=1&skin=citizen:12
    flushCssBuffer https://www.dustloop.com/wiki/load.php?lang=en&modules=startup&only=scripts&raw=1&skin=citizen:4
    addEmbeddedCSS https://www.dustloop.com/wiki/load.php?lang=en&modules=startup&only=scripts&raw=1&skin=citizen:5
    execute https://www.dustloop.com/wiki/load.php?lang=en&modules=startup&only=scripts&raw=1&skin=citizen:13
    doPropagation https://www.dustloop.com/wiki/load.php?lang=en&modules=startup&only=scripts&raw=1&skin=citizen:6
    requestIdleCallback handler*setAndPropagate https://www.dustloop.com/wiki/load.php?lang=en&modules=startup&only=scripts&raw=1&skin=citizen:7
    implement https://www.dustloop.com/wiki/load.php?lang=en&modules=startup&only=scripts&raw=1&skin=citizen:18
     https://www.dustloop.com/w/GGST/Nagoriyuki/Okizeme line 10 > injectedScript:1
    domEval https://www.dustloop.com/wiki/load.php?lang=en&modules=startup&only=scripts&raw=1&skin=citizen:10
    asyncEval https://www.dustloop.com/wiki/load.php?lang=en&modules=startup&only=scripts&raw=1&skin=citizen:15
    requestIdleCallback handler*asyncEval https://www.dustloop.com/wiki/load.php?lang=en&modules=startup&only=scripts&raw=1&skin=citizen:15
    work https://www.dustloop.com/wiki/load.php?lang=en&modules=startup&only=scripts&raw=1&skin=citizen:17
    enqueue https://www.dustloop.com/wiki/load.php?lang=en&modules=startup&only=scripts&raw=1&skin=citizen:11
    load https://www.dustloop.com/wiki/load.php?lang=en&modules=startup&only=scripts&raw=1&skin=citizen:18
    <anonymous> https://www.dustloop.com/wiki/load.php?lang=en&modules=startup&only=scripts&raw=1&skin=citizen:39
    <anonymous> https://www.dustloop.com/wiki/load.php?lang=en&modules=startup&only=scripts&raw=1&skin=citizen:39

I could reproduce on Firefox nightly on Windows and the current Firefox release on Android, but it would often take 10-20 refreshes for it to break. Trying a similar number of times on Chrome on both never errored, but maybe it's just less likely for whatever reason. Other user was reportedly using Chrome on Android.

The broken tabbers look like this: image

Clicking one of the greyed out tab names makes the content disappear.