microsoft / pxt-arcade

Arcade game editor based on Microsoft MakeCode
https://arcade.makecode.com
MIT License
477 stars 206 forks source link

Issue With Makecode Arcade on Chromebooks. #4308

Open ConnerPhillis opened 2 years ago

ConnerPhillis commented 2 years ago

When loading Makecode on Chromebooks, the editor will sometimes not load, or previous progress on a project won't have saved. This is happening to about ~15% of the students I'm teaching. They are all using identical machines.

To Reproduce Steps to reproduce the behavior:

  1. Open makecode arcade on a chromebook
  2. Open a project
  3. The gamepad will spin indefinitely while it tries to load a project OR progress from the last working session will not be present.

Expected behavior Gamepad loads and project saves.

Desktop:

Additional context I feel like I have to go ahead and apologize for the sparseness of the details. The school that I'm teaching in has their students' chromebooks extremely locked down, making it very hard for me to collect any details on what is causing these failures. I personally have a windows laptop, and I'm a volunteer at the school so it's hard for me to get access to resources that I need to diagnose problems.

All that I can conclusively say is that it is random, and in the event that it either fails to load, or progress is lost, everything goes back to normal after dumping all of the browser data. Typically I have the kids export their project and then save the link to restore it.

This makes me think that it's a problem with their chromebooks' cache filling up and makecode not having enough room to write, but I was hoping that someone here may have seen an issue like this before and possibly have a solution or some idea as to what I can do to reduce the chance of this happening.

Note that the students do not have Microsoft accounts, and I can't get approval for them to use github. 🙃

abchatra commented 2 years ago

@ConnerPhillis can you verify if the school has unblocked all the domains? See list of domains here: https://arcade.makecode.com/faq

abchatra commented 2 years ago

Some schools erase the chromebooks periodically as well. That might be the other issue.

abchatra commented 2 years ago

Sharing links is a good alternative as you mentioned.

ConnerPhillis commented 2 years ago

@abchatra Hey Abhijith, I emailed them with the link, and they told me they were too busy to check and would get back to me in two weeks 🙃.

In the meantime I've spun up a google classroom and I've been sharing links with them that are the most up to date versions of the stuff that I'm teaching them. Some kids' laptops still sputter out on that but at least they're not being left behind for the next class.

Thanks for your help, I guess I'll get back to you in a few weeks.

abchatra commented 2 years ago

Sure I would love to help here. I will keep this issue open if new things pop up. Thanks for the support.

ConnerPhillis commented 2 years ago

Hey @abchatra,

The school's IT department has (finally) explicitly allowed those domains, unfortunately we still ran in to the same issue :/

abchatra commented 2 years ago

@ConnerPhillis Is it possible to schedule a call where we can debug the Chromebook which is showing these issues?

ConnerPhillis commented 2 years ago

@abchatra

I would bet the answer would be no, the school is incredibly tight with security (they do a background check on me every time I walk in) and the chromebooks have devtools disabled by default.

I'm afraid that unless there's another way to access the makecode dev tools that doesn't involve inspect element I may not be able to provide you with sufficient details to diagnose the issue. I've sat on the other end of "debug with zero information" and I don't want to waste your time doing the same to you, so I'm going to go ahead and close this issue.

If one day I can reliably reproduce what's happening I'll open up a new one. Sorry for wasting your time.

abchatra commented 2 years ago

Sorry @ConnerPhillis I am not of much help here. However, if you see any new symptom and to brainstorm feel free to use this issue.

I have also heard some schools erase all the browser cache every day to ensure nothing is saved. We store local projects in the browser cache, and I can see why kids will lose their projects in that scenario.

ConnerPhillis commented 2 years ago

Hey @abchatra,

So I may have finally found a clue as to why this is happening.

On one of the kids' chromebooks I opened the javascript section while the spinner was stuck on the game player thingy. After trying to click away I was told that the javascript could not be converted.

There was nothing wrong with the javascript as far as I could tell, so I completely removed all javascript code placed by makecode, leaving the file completely empty. I was still told that the code couldn't be converted.

This seems to primarily be happening when the assets are loading, so I'm wondering if something about assets loading too slowly and leaving corrupted JS files???

Idk, curious to hear your thoughts.

Thanks!

abchatra commented 2 years ago

Thanks for the update. @ConnerPhillis