Commit graph

531 commits

Author SHA1 Message Date
Christopher Willis-Ford
6c00bb1539 add telemetry reset instructions to README.md 2020-11-17 16:13:18 -08:00
Christopher Willis-Ford
19a47ecde8 split HOC in two: one inside AppStateHOC, one out
`ScratchDesktopOuterComponent` is now responsible for
`showTelemetryModal` which only works if it comes from outside the
`AppStateHOC` since it's used in the `AppStateHOC` constructor. The
outer component also handles a few static props, like
`isScratchDesktop`.

`ScratchDesktopInnerComponent` handles everything else, most notably
anything that interacts with the state established by `AppStateHOC`.
2020-11-17 15:55:43 -08:00
Christopher Willis-Ford
d8f289f35a 3.18.1 2020-10-28 15:54:01 -07:00
Christopher Willis-Ford
bf420cb764 fix fetch script for new library schema 2020-10-28 15:47:58 -07:00
Christopher Willis-Ford
9c3cfef443 3.18.0 2020-10-28 14:47:34 -07:00
Christopher Willis-Ford
421a21cca1 bump scratch-gui for v3.18.0 2020-10-28 14:47:25 -07:00
Christopher Willis-Ford
b053b5ce2e 3.17.1 2020-10-16 11:34:36 -07:00
Christopher Willis-Ford
24ddb8aa9c bump scratch-gui for v3.17.1 2020-10-16 11:21:45 -07:00
Christopher Willis-Ford
4f5a14afeb 3.17.0 2020-10-09 16:50:57 -07:00
Christopher Willis-Ford
d455547ef1 update to scratch-gui#scratch-desktop-v3.17.0
includes svg-renderer on* hotfix
2020-10-09 16:50:26 -07:00
Christopher Willis-Ford
4fe9e5b703 fix lint: long lines 2020-10-07 18:23:50 -07:00
Christopher Willis-Ford
10b2bae670 update privacy policy to October 5, 2020 copy 2020-10-07 18:17:54 -07:00
Christopher Willis-Ford
371bd60a7d move ReactDOM.render() into index.js
This also means we no longer need to disable eslint's
"no-unused-expressions" rule for each route in index.js
2020-10-06 14:34:04 -07:00
Christopher Willis-Ford
73819d8eb7 view built-in privacy policy from telemetry dialog 2020-10-06 14:34:04 -07:00
Christopher Willis-Ford
ca7eeb9b7a add privacy policy link to 'about' dialog 2020-10-06 14:34:03 -07:00
Christopher Willis-Ford
fb26baeac1 app.jsx cleanup 2020-10-06 14:34:03 -07:00
Christopher Willis-Ford
3b1dd4e008 open external links in system browser 2020-10-06 14:34:01 -07:00
Christopher Willis-Ford
8fc98e1c37 add new window for privacy policy 2020-10-06 14:34:01 -07:00
Christopher Willis-Ford
93a94d8253 move About window styling into a CSS file 2020-10-06 14:34:01 -07:00
Christopher Willis-Ford
6b1d93fc93 3.16.1 2020-09-30 09:33:31 -07:00
Christopher Willis-Ford
34db5ceaac during webpack, find modules using require.resolve
This means the module will be found whether linked (as with `npm link`)
or not.
2020-09-30 09:32:54 -07:00
Christopher Willis-Ford
d3fddbe317 3.16.0 2020-09-29 15:38:27 -07:00
Christopher Willis-Ford
a6ed3adc86 update to scratch-gui#scratch-desktop-v3.16.0 2020-09-29 15:38:18 -07:00
Chris Willis-Ford
b05c2c1602
Merge pull request #150 from cwillisf/load-project-from-cli-attempt-2
Support loading project file from command line (attempt 2)
2020-09-29 13:56:30 -07:00
Chris Willis-Ford
0c5993c841
Merge pull request #137 from cwillisf/redo-rename
Revert "Revert "Merge pull request #131 from cwillisf/rename-to-scratch
2020-09-24 13:04:41 -07:00
Christopher Willis-Ford
8091648803 use 'Scratch 3' for external product name
also tweak artifact names to get the "3" part from the version number
2020-09-21 10:46:55 -07:00
Christopher Willis-Ford
7c6e8a97cc Merge branch 'develop' into redo-rename 2020-09-21 10:46:47 -07:00
Christopher Willis-Ford
ac6935660a update README.md for scratch-gui build changes 2020-09-16 16:04:23 -07:00
Christopher Willis-Ford
0fa4c4b2ed handle initial project load errors 2020-09-15 14:52:08 -07:00
Christopher Willis-Ford
a9933242e0 use project state system to load initial project 2020-09-15 14:32:36 -07:00
Christopher Willis-Ford
05e8b26a34 WIP: actually load project from command line
Doing it this way works for the initial load but overrides later actions
like File -> New.
2020-09-04 13:26:36 -07:00
Christopher Willis-Ford
e2f39580df make command line args available to render process 2020-09-04 12:13:29 -07:00
Christopher Willis-Ford
25243b0542 npm i --save-dev minimist 2020-09-03 16:57:53 -07:00
Christopher Willis-Ford
cca18b6d67 fix paths for CopyWebpackPlugin
These files are no longer listed as dependencies of scratch-desktop so
we need to reach into scratch-gui to get them. We should find a better
solution but this will work for now.
2020-09-03 16:57:04 -07:00
Chris Willis-Ford
e0fb2d4c53
Merge pull request #148 from cwillisf/no-package-deps
remove rebuild-deps script, package-deps.json
2020-09-03 15:37:04 -07:00
Christopher Willis-Ford
61fa1d580b rebuild package-lock.json now that scratch-gui PR is merged 2020-09-03 13:04:11 -07:00
Christopher Willis-Ford
307027a873 remove rebuild-deps script, package-deps.json
These are unnecessary if scratch-gui lists its build dependencies in
`dependencies` instead of `devDependencies`.
2020-09-01 12:08:26 -07:00
Christopher Willis-Ford
6d503f2d95 3.15.0 2020-08-27 10:54:01 -07:00
Christopher Willis-Ford
e872ae7d54 update scratch-* dependencies 2020-08-27 10:53:25 -07:00
Chris Willis-Ford
48d151cce8
Merge pull request #143 from cwillisf/fix-mas-file-overwrite
fix MAS file overwrite by deleting existing file
2020-08-27 10:41:09 -07:00
Christopher Willis-Ford
e9e3f06289 save files more safely (temp then move) 2020-08-25 15:28:58 -07:00
Christopher Willis-Ford
75589099f1 fix MAS file overwrite by deleting existing file
From the code comments:
If the file exists the browser will first download to a temp file then rename to the userChosenPath.
The MAS sandbox allows accessing userChosenPath but not the temp file, so overwriting fails on MAS.
Deleting the file first could be considered risky but works around the sandbox problem.
Security bookmarks might work to fix the problem but they're only supported by async showSaveDialog.
Since we need to use showSaveDialogSync (see WARNING below) this workaround might be the best option.
2020-08-25 14:50:03 -07:00
Chris Willis-Ford
a9cfad8df8
Merge pull request #138 from cwillisf/webpack-build-gui
Use scratch-gui source instead of its build output
2020-08-24 13:33:50 -07:00
Chris Willis-Ford
5773d5b17c
Merge pull request #134 from cwillisf/allow-dev-tools-in-release-builds
allow opening dev tools in release builds
2020-08-21 07:40:27 -07:00
Christopher Willis-Ford
324427226e reduce webpack output on CI 2020-08-14 13:48:05 -07:00
Christopher Willis-Ford
1c18c98282 3.14.0 2020-08-14 13:13:26 -07:00
Christopher Willis-Ford
a26ec04491 print a warning if rebuild-deps changes deps 2020-08-14 12:01:56 -07:00
Chris Willis-Ford
ea650178cd
Merge pull request #139 from cwillisf/link-dns-override
make Scratch Link connections work w/o DNS
2020-08-13 15:12:37 -07:00
Christopher Willis-Ford
d1195c5332 make Scratch Link connections work w/o DNS
This effectively hardcodes `device-manager.scratch.mit.edu` to
`127.0.0.1` within Scratch Desktop.

Note that using "host-rules" instead of "host-resolver-rules" doesn't
work: it results in ERR_CERT_COMMON_NAME_INVALID because the browser
expects Scratch Link's certificate to list "127.0.0.1" as its host name.
Using "host-resolver-rules" means that the IP is used for the connection
only, and not for certificate validation.

See here for more details:
https://www.electronjs.org/docs/api/command-line-switches#--host-rulesrules
https://www.electronjs.org/docs/api/command-line-switches#--host-resolver-rulesrules
2020-08-12 15:54:28 -07:00
Christopher Willis-Ford
0e1c90afeb write configs to files in dist/ for debugging purposes 2020-08-11 20:08:32 -07:00