SWISH JavaScript issue on FireFox

Since recent, opening SWISH using FF (117 on Ubuntu) often results in just showing the (empty) navbar :frowning: The debug window says what is below.

Uncaught Error: Mismatched anonymous define() module: ()=>(()=>{var e={184:(e,t)=>{var n;
/*!
	Copyright (c) 2018 Jed Watson.
	Licensed under the MIT License (MIT), see
	http://jedwatson.github.io/classnames
*/!function(){"use strict";var r={}.hasOwnProperty;function o(){for(var e=[],t=0;t<arguments.length;t++){var n=arguments[t];if(n){var a=typeof n;if("string"===a||"number"===a)e.push(n);else if(Array.isArray(n)){if(n.length){var l=o.apply(null,n);l&&e.push(l)}}else if("object"===a){if(n.toString!==Object.prototype.toString&&!n.toString.toString().includes("[native code]")){e.push(n.toString());continue}for(var i in n)r.call(n,i)&&n[i]&&e.push(i)}}}return e.join(" ")}e.exports?(o.default=o,e.exports=o):void 0!==(n=function(){return o}.apply(t,[]))&&(e.exports=n)}()},66:(e,t,n)=>{"use strict";n.d(t,{Z:()=>i});var r=n(81),o=n.n(r),a=n(645),l=n.n(a)()(o());l.push([e.id,".e6fJSwD4pjZgu_8xYali {\n  display: flex;\n  font-size: 14.5px;\n}\n\n.FvxKWukQNSOunydq8rnd {\n  display: inline-block;\n  width: 82px…
    makeError http://localhost:3050/js/require.js:168
    intakeDefines http://localhost:3050/js/require.js:1254
    localRequire http://localhost:3050/js/require.js:1452
    setTimeout handler*req.nextTick< http://localhost:3050/js/require.js:1815
    localRequire http://localhost:3050/js/require.js:1449
    requirejs http://localhost:3050/js/require.js:1797
    config http://localhost:3050/js/require.js:1805
    <anonymous> http://localhost:3050/js/swish-min.js:1

However, I can’t find Watson or classnames anywhere in the source. There are several SO articles on this issue, but little I can relate too. Someone around with enough JavaScript experience who can (help) solving this?

To reproduce, first see whether this also happens for your FF on SWISH. The issue is not deterministic and for me it works ok in about 1 out of 5 times to load the site.

If it reproduces, clone GitHub - SWI-Prolog/swish: SWI-Prolog for SHaring: a SWI-Prolog web IDE run

 make yarn
 make min

start swish using swipl run.pl and open FF on the indicated address.

I think @jamesnvc is quite an expert in javascript, perhaps he can figure out what is going on.

1 Like

Hm, interesting that it only happens sometimes…I don’t see it happening for me, with Firefox 117 on macOS. Could it be an extension injecting something into the page that sometimes fails?

Require.js is largely concurrent AFAIK, so I guess it may depend on the number of CPUs, etc. Or is that not possible when dealing with single .js file?

Bingo :slight_smile: I had the Life reload extension. After disabling the problem seems gone!

Thanks — Jan

2 Likes