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

**URL:** https://forum.makecode.com/t/help-github-project-opens-to-a-white-screen-but-the-extension-imports-correctly/45031
**Category:** Help
**Tags:** extension, make, game, graphics-and-math
**Created:** [July 22, 2026, 9:56pm UTC](https://forum.makecode.com/t/help-github-project-opens-to-a-white-screen-but-the-extension-imports-correctly/45031 "2026-07-22T21:56:47Z")
**Posts on this page:** 13
**Page:** 1

<div class="post-metadata">

### Author: ![CodaKnight](https://sea2.discourse-cdn.com/flex020/user_avatar/forum.makecode.com/codaknight/32/33491_2.png) [@CodaKnight](https://forum.makecode.com/u/CodaKnight)
#### Post date: [July 22, 2026, 9:56pm UTC](https://forum.makecode.com/t/help-github-project-opens-to-a-white-screen-but-the-extension-imports-correctly/45031/1 "2026-07-22T21:56:47Z")

</div>

Hey guys! I’m creating an extension right now and I made it into a GitHub project so I could obv. let you guys use it. The only problem is that for some reason, the actual GitHub project in makecode keeps saying that there’s like a bug and it reloads the project multiple times before just going to a blank white screen. This seemed to happen when I used the extension in another project, and clicked on the pxt.json file and then the file with all the code! It also seems as if I paste the actual GitHub link in the extensions bar, it works perfectly normal as if nothing happened; but when I click the local copy in the extension tab, it breaks. Also, the GitHub code is perfectly normal. If someone like @richard or someone who can trouble shoot or knows how to use GitHub, please help me!!!

Summary:

1. The repository imports fine as an extension using the GitHub URL.
2. The extension functions work.
3. But opening the GitHub project itself (from GitHub in MakeCode) results in a blank white screen.
4. Another extension of mine (RetroFx+) had a similar issue that was eventually fixed by correcting something in `pxt.json`.
5. Since the extension imports successfully, I don’t think the code itself is broken.

> **[GitHub - CrzLe0723/MathX: MathX is a utility extension for MakeCode Arcade...](https://github.com/CrzLe0723/MathX)**
>
> MathX is a utility extension for MakeCode Arcade that includes advanced mathematical functions, vector operations, interpolation, easing, movement helpers, timing utilities, and physics calculations to make game development easier.

---

<div class="post-metadata">

### Author: ![richard](https://sea2.discourse-cdn.com/flex020/user_avatar/forum.makecode.com/richard/32/5417_2.png) [@richard](https://forum.makecode.com/u/richard)
#### Post date: [July 22, 2026, 10:03pm UTC](https://forum.makecode.com/t/help-github-project-opens-to-a-white-screen-but-the-extension-imports-correctly/45031/2 "2026-07-22T22:03:16Z")

</div>

@CodaKnight hmmm, can you send me the console logs in the browser? i’m guessing an error is showing up in there.

in the meantime, you should be able to just re-import your project. from the home screen, click the import button, choose “import URL” (not github repo) and paste in the link to your github repo.

---

<div class="post-metadata">

### Author: ![CodaKnight](https://sea2.discourse-cdn.com/flex020/user_avatar/forum.makecode.com/codaknight/32/33491_2.png) [@CodaKnight](https://forum.makecode.com/u/CodaKnight)
#### Post date: [July 22, 2026, 10:15pm UTC](https://forum.makecode.com/t/help-github-project-opens-to-a-white-screen-but-the-extension-imports-correctly/45031/3 "2026-07-22T22:15:13Z")

</div>

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:

```auto
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.)

```auto
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

```

---

<div class="post-metadata">

### Author: ![richard](https://sea2.discourse-cdn.com/flex020/user_avatar/forum.makecode.com/richard/32/5417_2.png) [@richard](https://forum.makecode.com/u/richard)
#### Post date: [July 22, 2026, 10:29pm UTC](https://forum.makecode.com/t/help-github-project-opens-to-a-white-screen-but-the-extension-imports-correctly/45031/4 "2026-07-22T22:29:35Z")

</div>

ah, i see. those logs are helpful! here, give this link a shot: [https://arcade.makecode.com/app/5771ab511bd5151e6aa133adfdb69d8392fb7138-71509d0054](https://arcade.makecode.com/app/5771ab511bd5151e6aa133adfdb69d8392fb7138-71509d0054)

---

<div class="post-metadata">

### Author: ![CodaKnight](https://sea2.discourse-cdn.com/flex020/user_avatar/forum.makecode.com/codaknight/32/33491_2.png) [@CodaKnight](https://forum.makecode.com/u/CodaKnight)
#### Post date: [July 22, 2026, 11:58pm UTC](https://forum.makecode.com/t/help-github-project-opens-to-a-white-screen-but-the-extension-imports-correctly/45031/5 "2026-07-22T23:58:40Z")

</div>

WHAT!!! How the heck does it work now??? @richard Please tell me!!! Also btw, I created a github project and now it says I can’t open it even though it worked earlier. ):

---

<div class="post-metadata">

### Author: ![richard](https://sea2.discourse-cdn.com/flex020/user_avatar/forum.makecode.com/richard/32/5417_2.png) [@richard](https://forum.makecode.com/u/richard)
#### Post date: [July 23, 2026, 12:08am UTC](https://forum.makecode.com/t/help-github-project-opens-to-a-white-screen-but-the-extension-imports-correctly/45031/6 "2026-07-23T00:08:13Z")

</div>

this bit was the smoking gun:

```auto
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)

```

i peeked at `computeFormattedDiff` and was able to spot the issue pretty quickly; if the change in a file is bigger than our maximum allowed diff size then we hit an exception. here’s the full change if you’re interested (it’s real tiny)

> <https://github.com/microsoft/pxt/pull/11497>
>
> reported on the forum here:
> 
> https://forum.makecode.com/t/help-github-project-…opens-to-a-white-screen-but-the-extension-imports-correctly/45031/3
> 
> if a diff in a github repo is bigger than our maximum allowed diff size, \`computeFormattedDiff()\` will throw an exception since \`compute()\` returns null
> 
> the places where \`computeFormattedDiff()\` is called all had handling for if it returns null/undefined, so clearly i must have broken this at some point in all the version history refactors. this PR fixes it by making sure we propagate any null return values up

as for the second issue, can you give me logs for that one as well? i’ll take a look

---

<div class="post-metadata">

### Author: ![CodaKnight](https://sea2.discourse-cdn.com/flex020/user_avatar/forum.makecode.com/codaknight/32/33491_2.png) [@CodaKnight](https://forum.makecode.com/u/CodaKnight)
#### Post date: [July 23, 2026, 4:56pm UTC](https://forum.makecode.com/t/help-github-project-opens-to-a-white-screen-but-the-extension-imports-correctly/45031/7 "2026-07-23T16:56:20Z")

</div>

Oh okay! So did I somehow break Makecode??? Also, it works now from the link you gave me, but it doesn’t work on this link: ([arcade.makecode.com](http://arcade.makecode.com)) [yours’ seems to have [arcade.makecode.com/app](http://arcade.makecode.com/app)…

> **[Microsoft MakeCode Arcade](https://arcade.makecode.com/#)**
>
> Develop your programming skills by quickly creating and modding retro arcade games with Blocks and JavaScript in the MakeCode editor

---

<div class="post-metadata">

### Author: ![CodaKnight](https://sea2.discourse-cdn.com/flex020/user_avatar/forum.makecode.com/codaknight/32/33491_2.png) [@CodaKnight](https://forum.makecode.com/u/CodaKnight)
#### Post date: [July 23, 2026, 4:57pm UTC](https://forum.makecode.com/t/help-github-project-opens-to-a-white-screen-but-the-extension-imports-correctly/45031/8 "2026-07-23T16:57:30Z")

</div>

Hey @richard, I honestly don’t know how to fix this again, but I accidentally updated the pxt.Json in GitHub and forgot to include a comma and now the project won’t open up.

GitHub:

> **[GitHub - CrzLe0723/sitcc-tutorials: The first tutorial for the SITCC](https://github.com/CrzLe0723/sitcc-tutorials)**
>
> The first tutorial for the SITCC

Console log if needed:

```auto
The FetchEvent for "" resulted in a network error response: the promise was rejected.
The FetchEvent for "" resulted in a network error response: the promise was rejected.
The FetchEvent for "" resulted in a network error response: the promise was rejected.
The FetchEvent for "" resulted in a network error response: the promise was rejected.
The FetchEvent for "" resulted in a network error response: the promise was rejected.
The FetchEvent for "" resulted in a network error response: the promise was rejected.
The FetchEvent for "" resulted in a network error response: the promise was rejected.
The FetchEvent for "" resulted in a network error response: the promise was rejected.
The FetchEvent for "" resulted in a network error response: the promise was rejected.
The FetchEvent for "" resulted in a network error response: the promise was rejected.
The FetchEvent for "" resulted in a network error response: the promise was rejected.
The FetchEvent for "" resulted in a network error response: the promise was rejected.
The FetchEvent for "" resulted in a network error response: the promise was rejected.
The FetchEvent for "" resulted in a network error response: the promise was rejected.
5771ab511bd5151e6aa133adfdb69d8392fb7138-71509d0054---serviceworker:185 Uncaught (in promise) TypeError: Failed to fetch
at handleFetch (5771ab511bd5151e6aa133adfdb69d8392fb7138-71509d0054---serviceworker:185:26)
5771ab511bd5151e6aa133adfdb69d8392fb7138-71509d0054---serviceworker:185 Uncaught (in promise) TypeError: Failed to fetch
at handleFetch (5771ab511bd5151e6aa133adfdb69d8392fb7138-71509d0054---serviceworker:185:26)
5771ab511bd5151e6aa133adfdb69d8392fb7138-71509d0054---serviceworker:296 Received disconnect for undefined
5771ab511bd5151e6aa133adfdb69d8392fb7138-71509d0054---serviceworker:185 Uncaught (in promise) TypeError: Failed to fetch
at handleFetch (5771ab511bd5151e6aa133adfdb69d8392fb7138-71509d0054---serviceworker:185:26)
5771ab511bd5151e6aa133adfdb69d8392fb7138-71509d0054---serviceworker:355 check for existing lock
5771ab511bd5151e6aa133adfdb69d8392fb7138-71509d0054---serviceworker:364 Timed-out check for existing lock
5771ab511bd5151e6aa133adfdb69d8392fb7138-71509d0054---serviceworker:248 Received lock request 264000f8-77bc-40f5-ca2d-99ddbf74a97d
5771ab511bd5151e6aa133adfdb69d8392fb7138-71509d0054---serviceworker:283 Granted lock request 264000f8-77bc-40f5-ca2d-99ddbf74a97d
5771ab511bd5151e6aa133adfdb69d8392fb7138-71509d0054---serviceworker:185 Uncaught (in promise) TypeError: Failed to fetch
at handleFetch (5771ab511bd5151e6aa133adfdb69d8392fb7138-71509d0054---serviceworker:185:26)
5771ab511bd5151e6aa133adfdb69d8392fb7138-71509d0054---serviceworker:296 Received disconnect for 264000f8-77bc-40f5-ca2d-99ddbf74a97d
5771ab511bd5151e6aa133adfdb69d8392fb7138-71509d0054---serviceworker:185 Uncaught (in promise) TypeError: Failed to fetch
at handleFetch (5771ab511bd5151e6aa133adfdb69d8392fb7138-71509d0054---serviceworker:185:26)
5771ab511bd5151e6aa133adfdb69d8392fb7138-71509d0054---serviceworker:355 check for existing lock
5771ab511bd5151e6aa133adfdb69d8392fb7138-71509d0054---serviceworker:364 Timed-out check for existing lock
5771ab511bd5151e6aa133adfdb69d8392fb7138-71509d0054---serviceworker:248 Received lock request 3b7820b2-678d-4d8f-2b63-bad12f005e2d
5771ab511bd5151e6aa133adfdb69d8392fb7138-71509d0054---serviceworker:283 Granted lock request 3b7820b2-678d-4d8f-2b63-bad12f005e2d
5771ab511bd5151e6aa133adfdb69d8392fb7138-71509d0054---serviceworker:185 Uncaught (in promise) TypeError: Failed to fetch
at handleFetch (5771ab511bd5151e6aa133adfdb69d8392fb7138-71509d0054---serviceworker:185:26)
5771ab511bd5151e6aa133adfdb69d8392fb7138-71509d0054---serviceworker:185 Uncaught (in promise) TypeError: Failed to fetch
at handleFetch (5771ab511bd5151e6aa133adfdb69d8392fb7138-71509d0054---serviceworker:185:26)
5771ab511bd5151e6aa133adfdb69d8392fb7138-71509d0054---serviceworker:296 Received disconnect for 3b7820b2-678d-4d8f-2b63-bad12f005e2d
5771ab511bd5151e6aa133adfdb69d8392fb7138-71509d0054---serviceworker:185 Uncaught (in promise) TypeError: Failed to fetch
at handleFetch (5771ab511bd5151e6aa133adfdb69d8392fb7138-71509d0054---serviceworker:185:26)
handleFetch @ 5771ab511bd5151e6aa133adfdb69d8392fb7138-71509d0054---serviceworker:185
5771ab511bd5151e6aa133adfdb69d8392fb7138-71509d0054---serviceworker:355 check for existing lock
5771ab511bd5151e6aa133adfdb69d8392fb7138-71509d0054---serviceworker:364 Timed-out check for existing lock
5771ab511bd5151e6aa133adfdb69d8392fb7138-71509d0054---serviceworker:248 Received lock request 549875a9-d757-4f99-44ea-c5c3c8e167a6
5771ab511bd5151e6aa133adfdb69d8392fb7138-71509d0054---serviceworker:283 Granted lock request 549875a9-d757-4f99-44ea-c5c3c8e167a6
5771ab511bd5151e6aa133adfdb69d8392fb7138-71509d0054---serviceworker:185 Uncaught (in promise) TypeError: Failed to fetch
at handleFetch (5771ab511bd5151e6aa133adfdb69d8392fb7138-71509d0054---serviceworker:185:26)
handleFetch @ 5771ab511bd5151e6aa133adfdb69d8392fb7138-71509d0054---serviceworker:185
5771ab511bd5151e6aa133adfdb69d8392fb7138-71509d0054---serviceworker:296 Received disconnect for 549875a9-d757-4f99-44ea-c5c3c8e167a6
5771ab511bd5151e6aa133adfdb69d8392fb7138-71509d0054---serviceworker:185 Uncaught (in promise) TypeError: Failed to fetch
at handleFetch (5771ab511bd5151e6aa133adfdb69d8392fb7138-71509d0054---serviceworker:185:26)
handleFetch @ 5771ab511bd5151e6aa133adfdb69d8392fb7138-71509d0054---serviceworker:185
5771ab511bd5151e6aa133adfdb69d8392fb7138-71509d0054---serviceworker:296 Received disconnect for undefined
5771ab511bd5151e6aa133adfdb69d8392fb7138-71509d0054---serviceworker:185 Uncaught (in promise) TypeError: Failed to fetch
at handleFetch (5771ab511bd5151e6aa133adfdb69d8392fb7138-71509d0054---serviceworker:185:26)
handleFetch @ 5771ab511bd5151e6aa133adfdb69d8392fb7138-71509d0054---serviceworker:185
5771ab511bd5151e6aa133adfdb69d8392fb7138-71509d0054---serviceworker:355 check for existing lock
5771ab511bd5151e6aa133adfdb69d8392fb7138-71509d0054---serviceworker:364 Timed-out check for existing lock
5771ab511bd5151e6aa133adfdb69d8392fb7138-71509d0054---serviceworker:248 Received lock request 82e04d9d-403e-48b0-a373-64469144e882
5771ab511bd5151e6aa133adfdb69d8392fb7138-71509d0054---serviceworker:283 Granted lock request 82e04d9d-403e-48b0-a373-64469144e882
5771ab511bd5151e6aa133adfdb69d8392fb7138-71509d0054---serviceworker:185 Uncaught (in promise) TypeError: Failed to fetch
at handleFetch (5771ab511bd5151e6aa133adfdb69d8392fb7138-71509d0054---serviceworker:185:26)
5771ab511bd5151e6aa133adfdb69d8392fb7138-71509d0054---serviceworker:296 Received disconnect for 82e04d9d-403e-48b0-a373-64469144e882
react-dom.development.js:26244 Download the React DevTools for a better development experience: https://reactjs.org/link/react-devtools
common.ts:307 Block definition "text" overwrites previous definition.
(anonymous) @ common.ts:307
common.ts:307 Block definition "text_join" overwrites previous definition.
(anonymous) @ common.ts:307
pxtapp.js:938 Browser: chrome 150.0.0.0 on windows
5771ab511bd5151e6aa133adfdb69d8392fb7138-71509d0054---serviceworker:185 Uncaught (in promise) TypeError: Failed to fetch
at handleFetch (5771ab511bd5151e6aa133adfdb69d8392fb7138-71509d0054---serviceworker:185:26)
pxtapp.js:938 workspace: browser
dc.services.visualstudio.com/v2/track:1 Failed to load resource: net::ERR_FAILED
registry.ts:276 Unable to find \[flyoutcursor\]\[cursor\] in the registry.
(anonymous) @ registry.ts:276
react-jsx-runtime.development.js:117 Warning: Each child in a list should have a unique "key" prop.

Check the render method of `Modal`. It was passed a child from ScriptManagerDialog. See https://reactjs.org/link/warning-keys for more information.
at div
at Modal (https://cdn.makecode.com/blob/166fe1608d7c28aab0194a9b1bb34977c1be8a69/main.js:77354:9)
at ScriptManagerDialog (https://cdn.makecode.com/blob/166fe1608d7c28aab0194a9b1bb34977c1be8a69/main.js:72833:9)
at div
at ProjectView (https://cdn.makecode.com/blob/166fe1608d7c28aab0194a9b1bb34977c1be8a69/main.js:31393:9)
printWarning @ react-jsx-runtime.development.js:117
pxtweb.js:169 Performance Report:

Milestones:
	first JS running @ 184ms
	DOM loaded @ 713ms
	workspace init finished @ 977ms
	loading started @ 14s
		id: changeheader
	simulator ready @ 14s

Measurements:
	setAppTarget took ~ 29ms (713ms - 742ms)
	network.request took ~ 120ms (748ms - 868ms)
		url: /api/user/preferences
		method: GET
		sizeInBytes: 23703
		statusCode: 200
	network.request took ~ 84ms (870ms - 954ms)
		url: https://cdn.makecode.com/geo
		method: GET
		sizeInBytes: 2
		statusCode: 200
	network.request took ~ 547ms (978ms - 1s525ms)
		url: /api/user/project
		method: GET
		sizeInBytes: 726216
		statusCode: 200
	network.request took ~ 57ms (1s547ms - 1s603ms)
		url: https://cdn.makecode.com/api/config/arcade/targetconfig/v4.0.14...
		method: GET
		sizeInBytes: 15318
		statusCode: 200
	prepareBlockly took ~ 45ms (1s611ms - 1s656ms)
	loadBlockly took ~ 65ms (1s591ms - 1s656ms)
	network.request took ~ 376ms (14s - 14s)
		url: /api/user/project...
		method: GET
		sizeInBytes: 635
		statusCode: 200
	network.request took ~ 34ms (14s - 14s)
		url: https://api.github.com/repos/crzle0723/sitcc-tutorial-1-your-first-arcade-game/git/commits/bfdfeac80dd581f6c5baf08394a38aa66ccadd87
		method: GET
		sizeInBytes: 516
		statusCode: 200

pxtapp.js:938 invalid package this: invalid pxt.json file
pxtapp.js:938 invalid package this: Syntax error in pxt.json
5771ab5……b7138-71509d0054:14 Uncaught SyntaxError: Expected ',' or '\]' after array element in JSON at position 288 (line 14 column 9)
react-dom.development.js:20085 The above error occurred in the component:

at GithubComponent (https://cdn.makecode.com/blob/166fe1608d7c28aab0194a9b1bb34977c1be8a69/main.js:61540:9)
at div
at div
at div
at ProjectView (https://cdn.makecode.com/blob/166fe1608d7c28aab0194a9b1bb34977c1be8a69/main.js:31393:9)

React will try to recreate this component tree from scratch using the error boundary you provided, ProjectView.
logCapturedError @ react-dom.development.js:20085
5771ab5……b7138-71509d0054:14 Uncaught SyntaxError: Expected ',' or '\]' after array element in JSON at position 288 (line 14 column 9)
react-dom.development.js:20085 The above error occurred in the component:

at GithubComponent (https://cdn.makecode.com/blob/166fe1608d7c28aab0194a9b1bb34977c1be8a69/main.js:61540:9)
at div
at div
at div
at ProjectView (https://cdn.makecode.com/blob/166fe1608d7c28aab0194a9b1bb34977c1be8a69/main.js:31393:9)

React will try to recreate this component tree from scratch using the error boundary you provided, ProjectView.
logCapturedError @ react-dom.development.js:20085
react-dom.development.js:67 Warning: Can't perform a React state update on an unmounted component. This is a no-op, but it indicates a memory leak in your application. To fix, cancel all subscriptions and asynchronous tasks in the componentWillUnmount method.
at ProfileDialog (https://cdn.makecode.com/blob/166fe1608d7c28aab0194a9b1bb34977c1be8a69/main.js:79721:9)
at div
printWarning @ react-dom.development.js:67
react-dom.development.js:67 Warning: Can't perform a React state update on an unmounted component. This is a no-op, but it indicates a memory leak in your application. To fix, cancel all subscriptions and asynchronous tasks in the componentWillUnmount method.
at EditorToolbar (https://cdn.makecode.com/blob/166fe1608d7c28aab0194a9b1bb34977c1be8a69/main.js:58852:9)
printWarning @ react-dom.development.js:67
app.js:1827 Uncaught (in promise) TypeError: Cannot read properties of null (reading 'focus')
5771ab5……1509d0054#editor:14 Uncaught SyntaxError: Expected ',' or '\]' after array element in JSON at position 288 (line 14 column 9)
react-dom.development.js:20085 The above error occurred in the component:

at GithubComponent (https://cdn.makecode.com/blob/166fe1608d7c28aab0194a9b1bb34977c1be8a69/main.js:61540:9)
at div
at div
at div
at ProjectView (https://cdn.makecode.com/blob/166fe1608d7c28aab0194a9b1bb34977c1be8a69/main.js:31393:9)

React will try to recreate this component tree from scratch using the error boundary you provided, ProjectView.
logCapturedError @ react-dom.development.js:20085
pxtapp.js:24364 Uncaught (in promise) Error: TypeError: Cannot read properties of undefined (reading 'replace')
at Object.compile (https://cdn.makecode.com/blob/8c23125c6b42b1c009da4935d5ee9b59f654a86b/pxtworker.js:138458:93)
at runConversionsAndCompileUsingService (https://cdn.makecode.com/blob/8c23125c6b42b1c009da4935d5ee9b59f654a86b/pxtworker.js:143113:39)
at allDiags (https://cdn.makecode.com/blob/8c23125c6b42b1c009da4935d5ee9b59f654a86b/pxtworker.js:142745:31)
at Object.performOperation (https://cdn.makecode.com/blob/8c23125c6b42b1c009da4935d5ee9b59f654a86b/pxtworker.js:143140:31)
at onmessage (https://arcade.makecode.com/app/5771ab511bd5151e6aa133adfdb69d8392fb7138-71509d0054---worker:362:28)
5771ab511bd5151e6aa133adfdb69d8392fb7138-71509d0054---serviceworker:185 Uncaught (in promise) TypeError: Failed to fetch
at handleFetch (5771ab511bd5151e6aa133adfdb69d8392fb7138-71509d0054---serviceworker:185:26)
dc.services.visualstudio.com/v2/track:1 Failed to load resource: net::ERR_FAILED
5771ab5……1509d0054#editor:14 Uncaught SyntaxError: Expected ',' or '\]' after array element in JSON at position 288 (line 14 column 9)
react-dom.development.js:20085 The above error occurred in the component:

at GithubComponent (https://cdn.makecode.com/blob/166fe1608d7c28aab0194a9b1bb34977c1be8a69/main.js:61540:9)
at div
at div
at div
at ProjectView (https://cdn.makecode.com/blob/166fe1608d7c28aab0194a9b1bb34977c1be8a69/main.js:31393:9)

React will try to recreate this component tree from scratch using the error boundary you provided, ProjectView.
logCapturedError @ react-dom.development.js:20085

```

---

<div class="post-metadata">

### Author: ![richard](https://sea2.discourse-cdn.com/flex020/user_avatar/forum.makecode.com/richard/32/5417_2.png) [@richard](https://forum.makecode.com/u/richard)
#### Post date: [July 23, 2026, 5:02pm UTC](https://forum.makecode.com/t/help-github-project-opens-to-a-white-screen-but-the-extension-imports-correctly/45031/9 "2026-07-23T17:02:10Z")

</div>

yeah, that’s because the bug fix isn’t released yet! we’re doing a patch release in august so i’ll make sure it’s included in that. that link i gave you is a version of the app with my fix applied; otherwise it’s identical to the released version of the site.

i think that once you commit your local changes, you should be able to open it in the regular version of the site again. the issue was caused by the diff in your files being bigger than our maximum allowed diff size. if you’re still having troubles, i’d recommend breaking up that big mathx file you have into multiple smaller files.

---

<div class="post-metadata">

### Author: ![richard](https://sea2.discourse-cdn.com/flex020/user_avatar/forum.makecode.com/richard/32/5417_2.png) [@richard](https://forum.makecode.com/u/richard)
#### Post date: [July 23, 2026, 5:06pm UTC](https://forum.makecode.com/t/help-github-project-opens-to-a-white-screen-but-the-extension-imports-correctly/45031/10 "2026-07-23T17:06:29Z")

</div>

ah, i see! i see in github that you corrected the issue, is everything working now?

---

<div class="post-metadata">

### Author: ![CodaKnight](https://sea2.discourse-cdn.com/flex020/user_avatar/forum.makecode.com/codaknight/32/33491_2.png) [@CodaKnight](https://forum.makecode.com/u/CodaKnight)
#### Post date: [July 23, 2026, 6:23pm UTC](https://forum.makecode.com/t/help-github-project-opens-to-a-white-screen-but-the-extension-imports-correctly/45031/11 "2026-07-23T18:23:54Z")

</div>

I did correct the issue, it just won’t let me open up the project. And honestly, I’m pretty new to GitHub so I might not understand some stuff yet. But yeah, I can’t open up the project still.

---

<div class="post-metadata">

### Author: ![richard](https://sea2.discourse-cdn.com/flex020/user_avatar/forum.makecode.com/richard/32/5417_2.png) [@richard](https://forum.makecode.com/u/richard)
#### Post date: [July 23, 2026, 6:24pm UTC](https://forum.makecode.com/t/help-github-project-opens-to-a-white-screen-but-the-extension-imports-correctly/45031/12 "2026-07-23T18:24:10Z")

</div>

you may just have to delete the local project and then re-import it

---

<div class="post-metadata">

### Author: ![CodaKnight](https://sea2.discourse-cdn.com/flex020/user_avatar/forum.makecode.com/codaknight/32/33491_2.png) [@CodaKnight](https://forum.makecode.com/u/CodaKnight)
#### Post date: [July 23, 2026, 10:11pm UTC](https://forum.makecode.com/t/help-github-project-opens-to-a-white-screen-but-the-extension-imports-correctly/45031/13 "2026-07-23T22:11:08Z")

</div>

Alright, let me try that.
