Help: GitHub project opens to a white screen, but the extension imports correctly

Thanks @richard!

I also tried using Import → Import URL with my GitHub repo, but that still results in the same blank white screen. Interestingly, if I add the exact same GitHub URL as an extension inside another MakeCode project, it imports and works correctly with all the files present.

So the repository seems to work as an extension, but trying to open/import it as a project results in the white screen.

Hey Richard, I checked the console logs. A main error I think I found is:

error: main.ts(1,11): error TS2552: Cannot find name 'MathX'. Did you mean 'Math'?

It looks like the project loads, but the MathX extension isn’t being recognized after importing. I also saw some Blockly warnings, but I think they are unrelated.

Console log: (Sorry if I’m not supposed to send the whole thing.)

main.js:18 Block definition "text" overwrites previous definition.
Ba.defineBlocks$$module$build$src$core$common @ main.js:18
Ue @ main.js:18
je @ main.js:18
137.blockly @ main.js:6
r @ main.js:1
(anonymous) @ main.js:1
135../fieldString @ main.js:6
r @ main.js:1
(anonymous) @ main.js:1
30.../plugins/text @ main.js:1
r @ main.js:1
(anonymous) @ main.js:1
26../field_animation @ main.js:1
r @ main.js:1
(anonymous) @ main.js:1
70../fieldEditorRegistry @ main.js:1
r @ main.js:1
(anonymous) @ main.js:1
17../constants @ main.js:1
r @ main.js:1
(anonymous) @ main.js:1
77../builtins/functions @ main.js:1
r @ main.js:1
(anonymous) @ main.js:1
115.../../compiler/util @ main.js:6
r @ main.js:1
(anonymous) @ main.js:1
107../msg @ main.js:6
r @ main.js:1
(anonymous) @ main.js:1
112../blocks/argumentEditorBlocks @ main.js:6
r @ main.js:1
(anonymous) @ main.js:1
74../blockDragger @ main.js:1
r @ main.js:1
(anonymous) @ main.js:1
245.../../pxtblocks @ main.js:6
r @ main.js:1
(anonymous) @ main.js:1
370../compiler @ main.js:6
r @ main.js:1
(anonymous) @ main.js:1
243.../../pxtblocks @ main.js:6
r @ main.js:1
(anonymous) @ main.js:1
333.../../pxteditor @ main.js:6
r @ main.js:1
(anonymous) @ main.js:1
345../cloudsync @ main.js:6
r @ main.js:1
(anonymous) @ main.js:1
242../core @ main.js:6
r @ main.js:1
(anonymous) @ main.js:1
402.../../pxtblocks @ main.js:6
r @ main.js:1
(anonymous) @ main.js:1
231.../../pxtblocks @ main.js:6
r @ main.js:1
e @ main.js:1
(anonymous) @ main.js:1
main.js:18 Block definition "text_join" overwrites previous definition.
Ba.defineBlocks$$module$build$src$core$common @ main.js:18
Ue @ main.js:18
je @ main.js:18
136.../../fields/field_imagenotext @ main.js:6
r @ main.js:1
(anonymous) @ main.js:1
135../fieldString @ main.js:6
r @ main.js:1
(anonymous) @ main.js:1
30.../plugins/text @ main.js:1
r @ main.js:1
(anonymous) @ main.js:1
26../field_animation @ main.js:1
r @ main.js:1
(anonymous) @ main.js:1
70../fieldEditorRegistry @ main.js:1
r @ main.js:1
(anonymous) @ main.js:1
17../constants @ main.js:1
r @ main.js:1
(anonymous) @ main.js:1
77../builtins/functions @ main.js:1
r @ main.js:1
(anonymous) @ main.js:1
115.../../compiler/util @ main.js:6
r @ main.js:1
(anonymous) @ main.js:1
107../msg @ main.js:6
r @ main.js:1
(anonymous) @ main.js:1
112../blocks/argumentEditorBlocks @ main.js:6
r @ main.js:1
(anonymous) @ main.js:1
74../blockDragger @ main.js:1
r @ main.js:1
(anonymous) @ main.js:1
245.../../pxtblocks @ main.js:6
r @ main.js:1
(anonymous) @ main.js:1
370../compiler @ main.js:6
r @ main.js:1
(anonymous) @ main.js:1
243.../../pxtblocks @ main.js:6
r @ main.js:1
(anonymous) @ main.js:1
333.../../pxteditor @ main.js:6
r @ main.js:1
(anonymous) @ main.js:1
345../cloudsync @ main.js:6
r @ main.js:1
(anonymous) @ main.js:1
242../core @ main.js:6
r @ main.js:1
(anonymous) @ main.js:1
402.../../pxtblocks @ main.js:6
r @ main.js:1
(anonymous) @ main.js:1
231.../../pxtblocks @ main.js:6
r @ main.js:1
e @ main.js:1
(anonymous) @ main.js:1
pxtapp.js:1 Browser: chrome 150.0.0.0 on windows
The FetchEvent for "https://dc.services.visualstudio.com/v2/track" resulted in a network error response: the promise was rejected.
---serviceworker:1  Uncaught (in promise) TypeError: Failed to fetch
at ---serviceworker:1:10978
(anonymous) @ ---serviceworker:1
await in (anonymous)
(anonymous) @ ---serviceworker:1
network request
I @ ai.2.min.js:5
v. @ ai.2.min.js:5
r @ ai.2.min.js:5
v.flush @ ai.2.min.js:5
r @ ai.2.min.js:5
(anonymous) @ ai.2.min.js:5
iterate @ ai.2.min.js:5
(anonymous) @ ai.2.min.js:5
(anonymous) @ ai.2.min.js:5
wn @ ai.2.min.js:5
I @ ai.2.min.js:5
flush @ ai.2.min.js:5
ue @ ai.2.min.js:5
r @ ai.2.min.js:5
s @ ai.2.min.js:5
(anonymous) @ ai.2.min.js:5
setTimeout
e @ ai.2.min.js:5
(anonymous) @ ai.2.min.js:5
setTimeout
e @ ai.2.min.js:5
l @ ai.2.min.js:5
i. @ ai.2.min.js:5
r @ ai.2.min.js:5
x. @ ai.2.min.js:5
r @ ai.2.min.js:5
(anonymous) @ ai.2.min.js:5
r @ ai.2.min.js:5
(anonymous) @ ai.2.min.js:5
(anonymous) @ (index):146
s.emptyQueue @ ai.2.min.js:5
r @ ai.2.min.js:5
(anonymous) @ ai.2.min.js:5
Ir @ ai.2.min.js:5
s. @ ai.2.min.js:5
r @ ai.2.min.js:5
dg.getAppInsights @ ai.2.min.js:5
(anonymous) @ ai.2.min.js:5
(anonymous) @ ai.2.min.js:5
(anonymous) @ ai.2.min.js:5
PendingScript
(anonymous) @ (index):146
setTimeout
(anonymous) @ (index):146
(anonymous) @ (index):146
window.loadAppInsights @ (index):146
l @ pxtweb.js:1
e.initAnalyticsAsync @ pxtweb.js:1
(anonymous) @ (index):195
ai.2.min.js:5  POST https://dc.services.visualstudio.com/v2/track net::ERR_FAILED
I @ ai.2.min.js:5
v. @ ai.2.min.js:5
r @ ai.2.min.js:5
v.flush @ ai.2.min.js:5
r @ ai.2.min.js:5
(anonymous) @ ai.2.min.js:5
iterate @ ai.2.min.js:5
(anonymous) @ ai.2.min.js:5
(anonymous) @ ai.2.min.js:5
wn @ ai.2.min.js:5
I @ ai.2.min.js:5
flush @ ai.2.min.js:5
ue @ ai.2.min.js:5
r @ ai.2.min.js:5
s @ ai.2.min.js:5
(anonymous) @ ai.2.min.js:5
setTimeout
e @ ai.2.min.js:5
(anonymous) @ ai.2.min.js:5
setTimeout
e @ ai.2.min.js:5
l @ ai.2.min.js:5
i. @ ai.2.min.js:5
r @ ai.2.min.js:5
x. @ ai.2.min.js:5
r @ ai.2.min.js:5
(anonymous) @ ai.2.min.js:5
r @ ai.2.min.js:5
(anonymous) @ ai.2.min.js:5
(anonymous) @ (index):146
s.emptyQueue @ ai.2.min.js:5
r @ ai.2.min.js:5
(anonymous) @ ai.2.min.js:5
Ir @ ai.2.min.js:5
s. @ ai.2.min.js:5
r @ ai.2.min.js:5
dg.getAppInsights @ ai.2.min.js:5
(anonymous) @ ai.2.min.js:5
(anonymous) @ ai.2.min.js:5
(anonymous) @ ai.2.min.js:5
PendingScript
(anonymous) @ (index):146
setTimeout
(anonymous) @ (index):146
(anonymous) @ (index):146
window.loadAppInsights @ (index):146
l @ pxtweb.js:1
e.initAnalyticsAsync @ pxtweb.js:1
(anonymous) @ (index):195
pxtapp.js:1 workspace: browser
main.js:18 Unable to find \[flyoutcursor\]\[cursor\] in the registry.
r @ main.js:18
s @ main.js:18
addFlyout @ main.js:10
addWorkspace @ main.js:10
addWorkspace @ main.js:10
ge @ main.js:10
initAccessibleBlocks @ main.js:6
prepareBlockly @ main.js:6
(anonymous) @ main.js:6
Promise.then
loadBlocklyAsync @ main.js:6
loadBlocklyAsync @ main.js:6
componentDidMount @ main.js:6
await in componentDidMount
fa @ main.js:83
Ol @ main.js:83
n.unstable_runWithPriority @ main.js:205
Hr @ main.js:83
Il @ main.js:83
ml @ main.js:83
dl @ main.js:83
Zl @ main.js:83
(anonymous) @ main.js:83
yl @ main.js:83
nc @ main.js:83
n.render @ main.js:83
(anonymous) @ main.js:6
Promise.then
(anonymous) @ main.js:6
pxtsim.js:1 Simulator ServiceWorker registration successful with scope:  https://trg-arcade.userpxt.io/
pxtweb.js:1 Performance Report:


Milestones:
	first JS running @ 190ms
	DOM loaded @ 796ms
	workspace init finished @ 1s150ms
	simulator ready @ 3s283ms

Measurements:
	setAppTarget took ~ 62ms (796ms - 858ms)
	network.request took ~ 146ms (872ms - 1s18ms)
		url: /api/user/preferences
		method: GET
		sizeInBytes: 23703
		statusCode: 200
	network.request took ~ 92ms (1s22ms - 1s114ms)
		url: https://cdn.makecode.com/geo
		method: GET
		sizeInBytes: 2
		statusCode: 200
	network.request took ~ 515ms (1s151ms - 1s666ms)
		url: /api/user/project
		method: GET
		sizeInBytes: 719675
		statusCode: 200
	network.request took ~ 450ms (1s676ms - 2s126ms)
		url: /api/user/project
		method: POST
		sizeInBytes: 42
		statusCode: 200
	network.request took ~ 139ms (2s138ms - 2s277ms)
		url: /api/user/project/6c40a3e1-be14-4678-45b4-8fbb79389e7c
		method: GET
		sizeInBytes: 329870
		statusCode: 200
	prepareBlockly took ~ 28ms (2s340ms - 2s368ms)
	loadBlockly took ~ 40ms (2s328ms - 2s368ms)
	network.request took ~ 59ms (2s310ms - 2s370ms)
		url: https://cdn.makecode.com/api/config/arcade/targetconfig/v4.0.14...
		method: GET
		sizeInBytes: 15318
		statusCode: 200
	network.request took ~ 629ms (2s389ms - 3s17ms)
		url: /api/user/project...
		method: GET
		sizeInBytes: 552
		statusCode: 200
	network.request took ~ 138ms (3s19ms - 3s157ms)
		url: /api/user/project/6c40a3e1-be14-4678-45b4-8fbb79389e7c
		method: GET
		sizeInBytes: 329870
		statusCode: 200


main.js:83 TypeError: Cannot read properties of null (reading 'length')
at Object.r \[as computeFormattedDiff\] (pxtapp.js:1:183551)
at k.createTextDiffJSX (main.js:6:1045708)
at d (main.js:6:1042675)
at k.showDiff (main.js:6:1044475)
at main.js:6:1049456
at Array.map ()
at k.renderCore (main.js:6:1049444)
at k.render (main.js:6:907297)
at Hs (main.js:83:71482)
at $s (main.js:83:71282)
aa @ main.js:83
o.componentDidCatch.n.callback @ main.js:83
uo @ main.js:83
fa @ main.js:83
Ol @ main.js:83
n.unstable_runWithPriority @ main.js:205
Hr @ main.js:83
Il @ main.js:83
ml @ main.js:83
(anonymous) @ main.js:83
n.unstable_runWithPriority @ main.js:205
Hr @ main.js:83
Wr @ main.js:83
Vr @ main.js:83
dl @ main.js:83
enqueueSetState @ main.js:83
m.setState @ main.js:167
onErrorChanges @ main.js:6
setVisible @ main.js:6
(anonymous) @ main.js:6
(anonymous) @ main.js:6
Promise.then
updateEditorFileAsync @ main.js:6
(anonymous) @ main.js:6
Promise.then
componentDidUpdate @ main.js:6
fa @ main.js:83
Ol @ main.js:83
n.unstable_runWithPriority @ main.js:205
Hr @ main.js:83
Il @ main.js:83
ml @ main.js:83
(anonymous) @ main.js:83
n.unstable_runWithPriority @ main.js:205
Hr @ main.js:83
Wr @ main.js:83
Vr @ main.js:83
dl @ main.js:83
enqueueSetState @ main.js:83
m.setState @ main.js:167
internalLoadHeaderAsync @ main.js:6
await in internalLoadHeaderAsync
loadHeaderAsync @ main.js:6
await in loadHeaderAsync
(anonymous) @ main.js:6
Promise.then
(anonymous) @ main.js:6
pxtapp.js:1 Uncaught (in promise) TypeError: Cannot read properties of null (reading 'parentElement')
at e.remove (pxtapp.js:1:560677)
at main.js:6:421954
e.remove @ pxtapp.js:1
(anonymous) @ main.js:6
Promise.then
(anonymous) @ main.js:6
---serviceworker:1 check for existing lock
pxtapp.js:1 error: main.ts(1,11): error TS2552: Cannot find name 'MathX'. Did you mean 'Math'?

\---serviceworker:1 Timed-out check for existing lock
---serviceworker:1 Received lock request cfaf1e47-5a43-4982-e89c-1bb6306fbd7b
---serviceworker:1 Granted lock request cfaf1e47-5a43-4982-e89c-1bb6306fbd7b
pxtapp.js:1 error: main.ts(1,11): error TS2552: Cannot find name 'MathX'. Did you mean 'Math'?

The FetchEvent for "https://dc.services.visualstudio.com/v2/track" resulted in a network error response: the promise was rejected.
---serviceworker:1  Uncaught (in promise) TypeError: Failed to fetch
at ---serviceworker:1:10978
(anonymous) @ ---serviceworker:1
await in (anonymous)
(anonymous) @ ---serviceworker:1
network request
I @ ai.2.min.js:5
v. @ ai.2.min.js:5
(anonymous) @ ai.2.min.js:5
setTimeout
\_ @ ai.2.min.js:5
v.processTelemetry @ ai.2.min.js:5
(anonymous) @ ai.2.min.js:5
(anonymous) @ ai.2.min.js:5
Ir @ ai.2.min.js:5
c @ ai.2.min.js:5
processTelemetry @ ai.2.min.js:5
o. @ ai.2.min.js:5
(anonymous) @ ai.2.min.js:5
(anonymous) @ ai.2.min.js:5
wn @ ai.2.min.js:5
I @ ai.2.min.js:5
processTelemetry @ ai.2.min.js:5
(anonymous) @ ai.2.min.js:5
(anonymous) @ ai.2.min.js:5
Ir @ ai.2.min.js:5
c @ ai.2.min.js:5
processTelemetry @ ai.2.min.js:5
o. @ ai.2.min.js:5
o. @ ai.2.min.js:5
t. @ ai.2.min.js:5
(anonymous) @ ai.2.min.js:5
(anonymous) @ ai.2.min.js:5
Ir @ ai.2.min.js:5
c @ ai.2.min.js:5
processTelemetry @ ai.2.min.js:5
o. @ ai.2.min.js:5
o. @ ai.2.min.js:5
x.processTelemetry @ ai.2.min.js:5
(anonymous) @ ai.2.min.js:5
(anonymous) @ ai.2.min.js:5
Ir @ ai.2.min.js:5
c @ ai.2.min.js:5
processTelemetry @ ai.2.min.js:5
o. @ ai.2.min.js:5
o. @ ai.2.min.js:5
ol.processTelemetry @ ai.2.min.js:5
(anonymous) @ ai.2.min.js:5
(anonymous) @ ai.2.min.js:5
Ir @ ai.2.min.js:5
c @ ai.2.min.js:5
processTelemetry @ ai.2.min.js:5
o. @ ai.2.min.js:5
o. @ ai.2.min.js:5
r.processTelemetry @ ai.2.min.js:5
(anonymous) @ ai.2.min.js:5
(anonymous) @ ai.2.min.js:5
Ir @ ai.2.min.js:5
c @ ai.2.min.js:5
processTelemetry @ ai.2.min.js:5
o. @ ai.2.min.js:5
J.track @ ai.2.min.js:5
(anonymous) @ ai.2.min.js:5
(anonymous) @ ai.2.min.js:5
Ir @ ai.2.min.js:5
e.track @ ai.2.min.js:5
x.trackEvent @ ai.2.min.js:5
(anonymous) @ ai.2.min.js:5
(anonymous) @ ai.2.min.js:5
(anonymous) @ pxtweb.js:1
track @ pxtweb.js:1
e.aiTrackEvent @ pxtweb.js:1
e.tickEvent @ pxtapp.js:1
(anonymous) @ main.js:6
Promise.then
(anonymous) @ main.js:6
Promise.then
(anonymous) @ main.js:6
ai.2.min.js:5  POST https://dc.services.visualstudio.com/v2/track net::ERR_FAILED
I @ ai.2.min.js:5
v. @ ai.2.min.js:5
(anonymous) @ ai.2.min.js:5
setTimeout
\_ @ ai.2.min.js:5
v.processTelemetry @ ai.2.min.js:5
(anonymous) @ ai.2.min.js:5
(anonymous) @ ai.2.min.js:5
Ir @ ai.2.min.js:5
c @ ai.2.min.js:5
processTelemetry @ ai.2.min.js:5
o. @ ai.2.min.js:5
(anonymous) @ ai.2.min.js:5
(anonymous) @ ai.2.min.js:5
wn @ ai.2.min.js:5
I @ ai.2.min.js:5
processTelemetry @ ai.2.min.js:5
(anonymous) @ ai.2.min.js:5
(anonymous) @ ai.2.min.js:5
Ir @ ai.2.min.js:5
c @ ai.2.min.js:5
processTelemetry @ ai.2.min.js:5
o. @ ai.2.min.js:5
o. @ ai.2.min.js:5
t. @ ai.2.min.js:5
(anonymous) @ ai.2.min.js:5
(anonymous) @ ai.2.min.js:5
Ir @ ai.2.min.js:5
c @ ai.2.min.js:5
processTelemetry @ ai.2.min.js:5
o. @ ai.2.min.js:5
o. @ ai.2.min.js:5
x.processTelemetry @ ai.2.min.js:5
(anonymous) @ ai.2.min.js:5
(anonymous) @ ai.2.min.js:5
Ir @ ai.2.min.js:5
c @ ai.2.min.js:5
processTelemetry @ ai.2.min.js:5
o. @ ai.2.min.js:5
o. @ ai.2.min.js:5
ol.processTelemetry @ ai.2.min.js:5
(anonymous) @ ai.2.min.js:5
(anonymous) @ ai.2.min.js:5
Ir @ ai.2.min.js:5
c @ ai.2.min.js:5
processTelemetry @ ai.2.min.js:5
o. @ ai.2.min.js:5
o. @ ai.2.min.js:5
r.processTelemetry @ ai.2.min.js:5
(anonymous) @ ai.2.min.js:5
(anonymous) @ ai.2.min.js:5
Ir @ ai.2.min.js:5
c @ ai.2.min.js:5
processTelemetry @ ai.2.min.js:5
o. @ ai.2.min.js:5
J.track @ ai.2.min.js:5
(anonymous) @ ai.2.min.js:5
(anonymous) @ ai.2.min.js:5
Ir @ ai.2.min.js:5
e.track @ ai.2.min.js:5
x.trackEvent @ ai.2.min.js:5
(anonymous) @ ai.2.min.js:5
(anonymous) @ ai.2.min.js:5
(anonymous) @ pxtweb.js:1
track @ pxtweb.js:1
e.aiTrackEvent @ pxtweb.js:1
e.tickEvent @ pxtapp.js:1
(anonymous) @ main.js:6
Promise.then
(anonymous) @ main.js:6
Promise.then
(anonymous) @ main.js:6