scratchfoundation / scratch-desktop Goto Github PK
View Code? Open in Web Editor NEWScratch 3.0 as a self-contained desktop application
License: BSD 3-Clause "New" or "Revised" License
Scratch 3.0 as a self-contained desktop application
License: BSD 3-Clause "New" or "Revised" License
Downloaded Scratch Desktop (1.2.0.exe) from the dropbox link (2018-12-28 test) and saw this (note i already clicked the "more info" button to see the publisher info)
I know that there are two parts to the SmartScreen system:
Found by @BryceLTaylor on version 1.2.0 from the Microsoft Store:
From @kathymakes:
Using Scratch Desktop online, Scratch logo takes you to the Scratch.mit.edu homepage. Then if you click on any links within Scratch.mit.edu within electron you get spinny wheel of doom.
It should not take you to the Scratch Homepage.
I've been building this app for myself (for learning), but every time I run BUILD_MODE=dist npm run build it throws another missing package error (I must have installed hundreds of packages in this way). Is there anything I can do to install all the dependencies at once?
I run below commands:
1.git clone scratch-gui && cd scratch-gui && git checkout -b scratch-desktop && npm install && BUILD_MODE=dist npm run build (this step succeed)&& npm link
Everything is fine under scratch-gui folder.
2.git clone scratch-desktop && cd scratch-desktop && npm install && npm link scratch-gui && npm run dist (failed)
The last step under scratch-desktop folder failed with below errors:
`
[email protected] compile C:\godev\src\scratch\scratch3-mit\scratch-desktop > rimraf ./dist/ && electron-webpack --bail --display-error-details --env.minify=false Targeting Electron v4.0.1 Module "main" building in production mode? false Module "renderer" building in production mode? false 40% [1] building 9/11 modules 2 active ...act-dom\cjs\react-dom.production.min.jsModuleNotFoundError: Module not found: Error: Can't resolve 'sc ratch-gui' in 'C:\godev\src\scratch\scratch3-mit\scratch-desktop\src\renderer' at factory.create (C:\godev\src\scratch\scratch3-mit\scratch-desktop\node_modules\webpack\lib\Compilation.js:821:10) at factory (C:\godev\src\scratch\scratch3-mit\scratch-desktop\node_modules\webpack\lib\NormalModuleFactory.js:397:22) at resolver (C:\godev\src\scratch\scratch3-mit\scratch-desktop\node_modules\webpack\lib\NormalModuleFactory.js:130:21) at asyncLib.parallel (C:\godev\src\scratch\scratch3-mit\scratch-desktop\node_modules\webpack\lib\NormalModuleFactory.js:224:22) at C:\godev\src\scratch\scratch3-mit\scratch-desktop\node_modules\neo-async\async.js:2825:7 at C:\godev\src\scratch\scratch3-mit\scratch-desktop\node_modules\neo-async\async.js:6886:13
--
`
The error pointed out that scratch-gui not found in src/render/index.js. Below is the code snippet:
import GUI, {AppStateHOC} from 'scratch-gui';
I then changed it to:
import GUI, {AppStateHOC} from 'scratch-gui/src';
Then run "npm run dist" again under scratch-deskctop folder, but still failed though above error didn't happen again. The new errors are:
`
How to solve this error? Or what I've missed that lead to this error? Thanks!
For Scratch Desktop, the tutorials show as blank after selected because the videos are not available.
Suggested change: replace videos with the thumbnail image for the tutorial (similar to 2.0).
This would be for any tutorial that has gifs after the video. Currently that is the first 10 tutorials: Getting Started, Create Animations that Talk, Animate an Adventure Game, Animate a Name, Make Music, Make a Clicker Game, Make a Chase Game, Animate a Character, Create a Story, and Video Sensing.
We heard that Africa Code Week is planning to deploy Scratch 3.0 offline in 36 countries by handing out Scratch Desktop on a USB drive, starting in July, but ongoing.
Currently when you install Scratch-Desktop on Windows it only installs on one user's account. There should be an option to install for the whole machine so any user can access the program.
From a fresh desk ticket:
"...And it does not help that the current installer installs to "APP Data" in individual user profiles, meaning of course it needs to be installed every time a different user logs on to a computer."
Related to #35
Windows
Scratch Desktop 3.4 installer .exe is not signed as of today.
It should not say "Save Now" in the nav bar when you have unsaved changes, since it is not connected to the server to save.
Create a new project
make changes to the project
Note: in the nav bar a link appears that says "save now"
Note: clicking the "save now" link does nothing
Mac and Windows
Touching the text field in a block or on the sprite info area or the paint/sound editor should bring up the soft keyboard (Microsoft surface). It doesn't.
Windows (Microsoft Surface)
When uploading from desktop, the system does not ask if the user would like to save the current project before uploading a new one.
Reported by the LLK Brazil team
There are a couple of params that control how the telemetry system behaves, but it looks like they are not actually initialized to their values claimed in the documentation:
_attemptsLimit
is one example, another is the queueLimit
property.
This probably leads to a few behaviors with telemetry that are not desired, like it doesn't retry packets when the telemetry server errors.
If you copy something to your clibpoard and then paste it in the search bar on the sprite library, nothing appears in the search bar and the results do not change.
You should be able to paste things in the search bar.
Launch the offline editor
Copy a piece of text to your clipboard (cmd-c) from anywhere
Open the sprite library
Select the search bar for the library
type cmd-v
Note: no text appears in the search bar and the results don't change
Mac
Scratch Desktop should display the project title, similar to the same way that the Scratch website does for a project owned by the current user.
Scratch Desktop should display like this (own project / remix):
Scratch Desktop should not display the title like this (someone else's project):
The same region of the Scratch Desktop UI currently looks like this:
If Scratch Link is running, hardware extensions like the micro:bit, LEGO WeDo 2.0, etc., should work whether or not the computer is connected to the Internet.
Connecting to Scratch Link requires an Internet connection: specifically, we need DNS to resolve the device-manager.scratch.mit.edu
name to an IP.
Scratch Desktop is a different security environment for the Scratch editor, and in particular it can probably be configured to connect to Scratch Link over plain ws://
instead of wss://
. In that scenario we wouldn't need to validate the name on a digital certificate, so we wouldn't need to connect using a DNS name: we could just connect to ws://127.0.0.1:<port>/
and avoid the need for DNS altogether.
This would require Scratch Link to expose a regular ws://
port in addition to its current wss://
port but that should be easy.
When uploading some costumes, sounds etc., I can't select multiple files in dialog.
This feature is supported in browser version.
This problem can be easily fixed by adding the "multiSelections" option to argument of dialog.showOpenDialog(). Here's official documentation about Electron's dialog.showOpenDialog()
A handful of sprites don't load when they are selected, including "Dinosaur5" and "Glass Water". As a side effect, any sprites currently in the project cannot be dragged even after starting a new project.
Some blocks with options (dropdown lists) will reset to a default when a new project is started, but others will stay as the last used option. The difference seems to be between the rounded and squared options - ie. Go To [option] has a rounded option and will reset, while Set Rotation Style [option] has a squared option and doesn't reset.
This has been an issue for us teaching younger children, for example if we challenge them to find the Change [Color] block, but in a previous workshop it was changed to Change [Whirl], it stays as that option when we start the new project and the children miss it without it saying the word Color
I tried to wrap scratch-gui in my own Electron wrapper (not scratch-desktop), but I was getting the below error
"Unfortunately it looks like your browser or computer does not support WebGL. This technology is needed for Scratch 3.0 to run."
I checked my default browser, it is supporting WebGL and WebGL2 (check attached,
). I am not sure why electron browser is not able to open scratch-gui and throwing that WebGL error. Please help.
(PS: I am able to run Scratch3.0 in my browser, also scratch-desktop is working fine for me.)
Currently there are two choices: stay and leave. But people might choose "leave" with some unsaved changes, because most programs allow us to save before quitting. This is worth implementing.
"Save and leave" - leave after saving
"Don't save" - same as current "Leave"
"Go back to the editor" - same as current "Stay"
IT administrators are asking for MSI files to install more efficiently in schools. I think we should make one.
From a freshdesk ticket:
"I am a school ICT Engineer working in 6 schools in Manchester UK. Some of my schools would like to start using version 3.0 which is great of course. But (and this is a rather big "but"), there is no way of rolling out the program using Group Policy on Windows servers, due to no .msi version available at this time.
This makes it very time consuming for network administrators such as myself and my colleagues to install it on school computers."
Windows
I followed the doc and tried to run scratch-desktop,
even the "Prepare scratch-gui" section
Steps after preparing scratch-gui:
npm install
npm start
But still I am getting the below error,
I checked node_modules folder, scratch-gui is there but I am not sure why I am getting the above error.
Machine: Windows 10 x64
We should implement tracking where the current sb3 file is saved and autosave changes to it. Then we can undo the fix to #6.
From @fsih:
The window pops up a little bit too short in width, there is a scrollbar
A report came in from the community saying they couldn't run Scratch Desktop on a Macbook Pro from 2011. It gives them an error saying the computer does not support OpenGL. They say they can use the online editor.
It seems that the offline editor has different system requirements than the online editor. We should probably report the requirements somewhere and/or support the older machines still running the newer OS versions.
Here's their original report:
Further I have an issue with offline/local .app of scratch on my MacBook Pro. More specifically,
I am running MAC OS X 10.13.4, which according to attached specifications is fully compatible with this MAC OS engine. However when I try to launch Scratch the embedded screen freezes and I get the message that Computer or Browser does not support OpenGL etc.
To make more easier to you I am attaching all the required specs of my current Macbook Model:
MacBook Pro (15-inch, Early 2011)
2 GHz Intel Core i7
16 GB 1333 MHz DDR3
AMD Radeon HD 6490M 256 MB
Intel HD Graphics 3000 512 MB
"Therefore, I would be grateful if you can possibly advise wherever is possible to fix the above issue or if my MacBook is incompatible with Scratch.
In addition it is worth to mention, that using Chrome (online platform of Scratch) I have no issue whatsoever. Unfortunately since I am currently on 4G Data Plan online platform is not the best option for me (due heavy data usage) so that's why I really need to make the desktop version to work...."
Sometimes, on one particular older Windows 10 machine, when you first install Scratch Desktop over an older version it appears with the stage blank except for a frowny face.
I'm not sure if the saving over an older version matters.
This was originally discovered by @carljbowman. Here is his original report:
After installing the new version over previously installed version the Desktop editor opened and appeared entirely black. After a few moments the UI loaded, but the “player crashed”:
I know this is not the right place to put issues of Scratch Desktop, but...
Localization for Exit message of Scratch Desktop
It's always in English
Moved from scratchfoundation/scratch-gui#4320
/cc @apple502j
There should be a share button.
There isn't one.
Look in Scratch Desktop.
Windows, Scratch Desktop (installed from windows store)
Moved from scratchfoundation/scratch-gui#4227
/cc @kyleplo
If yes, i think it should be mentioned somewhere.
Thanks
From @picklesrus:
If you add the translate extension and run the "translate [ ] to [ ]" block with no internet connection it tries to run the block constantly.
It should give up at some point
Create a new project
Add the translate extension
Turn off your internet connection
Drag out the "translate..." block
Click it
Note: the block glows and continuously tries to run
Mac
If you open the tutorials menu the whole page becomes blue and it gives you the "oops" message. If you click the "Reload" it brings you back to the editor, but all of your progress is gone.
Open the editor
Drag out a block onto the workspace
Click "Tutorials" in the nav bar
Note: you are on an "oops" page
Click Reload
Note: You are back in the editor but your block you dragged out is gone.
Mac and Windows
Shruti reports that after opening the video sensing extension, she accidentally denied the camera permission. She was then unable to find a way to allow the camera permission.
It looks like on OS 10.13 and lower, it automatically grants permissions, so this is only an issue on 10.14+:
systemPreferences.getMediaAccessStatus(mediaType)
This user consent was not required until macOS 10.14 Mojave,
so this method will always return granted if your system is running
10.13 High Sierra or lower.
When you save a file it should append a .sb3 to the file name. Currently it doesn't. This means that when you go to load a project that you just saved it doesn't show up in the list of files by default.
If you switch to show all files it will show you the file and you can load it and it will work just fine.
Windows
The first time you save a project on a mac the dialog is small, showing you only a title field, tags, and a "where" section that only shows limited number of locations.
If you click the "Down Carrot" button to the right of the Where section it should expand to show a full file browser, but it does not. Canceling and re-choosing save brings up the full file browser version of the save dialog.
Attempting to switch to the smaller version of the dialog has a similar response, where it doesn't change the size but goes through a partial state change. Canceling and opening it again brings up the dialog in the state you had just switched to.
Open the offline editor
Choose File > Save to your computer
Note: the small dialog appears
Click the down carrot button
Note: The dialog does not get any bigger. The "new folder" button appears and the down carrot becomes an up carrot button. Also the word Where disappears.
Click cancel on the dialog
Note: Very briefly the window expands and then disappears with an animation
Choose File > Save to your computer again
Note: the full size save dialog appears
Click the "Up Carrot" button
Note: the file browser disappears but the window does not shrink
Click Cancel
Note: the dialog shrinks quickly and the goes away
Click File > Save one more time
Note: the regular, smaller dialog appears.
Mac
From @benjiwheeler
In desktop editor, within Microbit connection window, “Help” button tries to open external page
(related: so does the scratch logo)
Disconnect from the internet
Create a new project
Add a hardware extension (such as microbit)
On the modal that pops up click the "help" button
Note: it opens a blank page that is titled "_blank"
It should either have the help page stored locally or not have the button.
Mac
If you turn off your internet connection and open the backdrop, costume, or sprite libraries the libraries should still show thumbnails for each item in it.
The sprites are appearing, but the costumes and backdrops are not appearing in their libraries:
Turn off your internet connection
Open the offline editor
Open the backdrop library
Note: no images appear in the tiles
Open the costumes library
Note: no images appear in the tiles
Mac
Choosing "Scratch 3.0 Desktop > Quit" should quit the program, (or File>Quit on windows). Currently it doesn't.
Scratch projects, .sb, .sb2, or a .sb3, that has been saved to your computer can't be "opened with" Scratch Desktop. If you right click on one and choose Open With it does not suggest Scratch Desktop. If you choose Other it opens the browser window and Scratch Desktop is not highlighted as a possible option.
If you change it to from "Recommended Applications" to "All Applications" you can choose Scratch Desktop.app but it just opens Scratch Desktop with the default project open, not the one you were trying to open.
These files can be opened from within the application just fine.
Navigate to a Scratch project file in your file browser
Right click on the file and choose "Open With"
Note: Scratch Desktop does not appear on the short list of options
Choose "Other"
Note: a finder window appears open to Applications, Scratch Desktop is in the list but gray
Change "Recommended Applications" to "All Applications"
Click Scratch Desktop
Note: Scratch Desktop opens but it is to the default project
Mac
In Mac, I'd like to be able to see which version of the Scratch Desktop app I'm running.
Maybe we could make a menu item like File->Version 1.2.0
(wouldn't even have to do anything!)
Or, some kind of more elaborate "About Scratch Desktop" item?
The first time I clicked "File>Load from your computer", the file browser was on the downloads folder and it didn't show me any .sb, .sb2, or .sb3 files. I had previously just saved a project from Scratch Desktop to the downloads folder.
I switched to "All Files" and could see the file I knew was there. The next time I opened it and chose "Custom Files" rather than "All Files", .sb3 files were visible.
This may be the application or operating system learning to associate .sb3 files with Scratch Desktop. It doesn't seem to be the default.
Download or save an .sb3 onto your computer and note where you saved it
Having never opened an .sb3 file on the computer, click File>Load from your computer
Navigate to wherever the saved .sb3 file is
Note: With "Custom Files" chosen the .sb3 does not appear in the list of files.
Windows
Add a modal dialog requesting that the user allow telemetry reporting. The telemetry system must not report any data to the telemetry servers until and unless the user provides a positive response through this dialog.
Every time you choose File > Save to your computer it opens the browser to the Documents folder. It should remember where you last saved/loaded a project and open to that folder.
One exception is the first time you try to save it chooses another folder. I'm having trouble reproducing this, though.
Open the offline editor
Choose File > Save to your computer
Note: it shows you the documents folder
navigate to a different folder on your computer and save the project there
Choose File > Save to your computer
Note: it STILL shows you the documents folder
Choose File > Load from your computer
Note: the file browser starts on whichever folder you last loaded from
Mac
The website now has Scratch Desktop v1.2.1, but the v1.2.0 app I currently have installed didn't notify me of the update. Our organization has it installed on a few hundred laptops, so would like to avoid having to download the full app and replacing it on all of our machines with every update.
I am building Scratch Desktop on my Mac, but when I run npm start
it throws a WDM: failed to compile error. Here are the steps I followed to build the app:
git clone
d scratch-gui and scratch-desktopcd scratch-gui
and then npm install
to installed all the dependenciesgit checkout scratch-desktop
Build_Mode=dist...
thing, but it threw an error, so I run npm install
again and it went without error.npm run fetch
but it threw an error so I rsn npm install
and it went without errorsnpm run start
but wdm refused to compile and no window appeared.A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.