Commit graph

1891 commits

Author SHA1 Message Date
Christopher Willis-Ford
ae878b2050 Simplify extension duplication prevention station
Since we will only have builtin extensions for a while, the
more-complicated, watchdog-based extension duplication prevention has
been replaced with one that treats the extension URL as equivalent to
the extension ID. This is true only for built-in extensions, so once we
start supporting third-party extensions we will likely need to bring
back the watchdog (commit e4381b4693) and
the more-complex duplication prevention (commit
670e51d335).

The code here should be treated as a last resort: ideally the GUI should
check if a particular extension is loaded (maybe by calling the
Extension Manager's new `isExtensionLoaded` method) and avoid calling
`loadExtensionURL` if it is.
2017-10-31 12:35:18 -07:00
Christopher Willis-Ford
670e51d335 Refuse to register second extension with same ID
If an extension attempts to register with the same ID as another
extension which has already registered, the new registration is refused.
If the extension is in a worker and no other extension is successfully
registered by that worker, the watchdog system will terminate the
"empty" worker.
2017-10-31 12:24:26 -07:00
Christopher Willis-Ford
e4381b4693 Add an init watchdog for extension workers
If an extension worker does not complete initialization in a reasonable
amount of time (currently 15 seconds) then the worker will be
terminated. A complete initialization includes registering an extension.
2017-10-31 11:28:56 -07:00
Paul Kaplan
fe30683d37
Merge pull request #737 from paulkaplan/fix-say-non-string
Fix say/think with non-string inputs
2017-10-31 09:16:12 -04:00
Paul Kaplan
48d3b20d69 Stringify things before saying 2017-10-30 15:38:56 -04:00
Ray Schamp
dfd28fbc1f Merge pull request #679 from aeons/unqualified-paths
Use unqualified paths in package.json scripts
2017-10-26 09:21:43 -04:00
Paul Kaplan
4f7d6e8f5c Merge pull request #731 from paulkaplan/fix-global-local-variable-creation
Prevent imported local variables from being duplicated on the stage.
2017-10-25 16:26:17 -04:00
Paul Kaplan
aaa107dbe5 Merge pull request #730 from paulkaplan/fix-undefined-proc-execution
Fix undefined procedure execution
2017-10-25 13:18:23 -04:00
Paul Kaplan
d126f799d8 Prevent imported local variables from being duplicated on the stage. 2017-10-25 11:17:29 -04:00
Paul Kaplan
bbbd3dd64b Make test pass for undefined proc execution 2017-10-25 10:29:07 -04:00
Paul Kaplan
ec1d8c657e Add failing test for callNoReturn on undefined proc 2017-10-25 10:29:07 -04:00
Paul Kaplan
f07c70938a Merge pull request #729 from paulkaplan/fix-say-think-moving
Fix several say/think bugs
2017-10-24 08:40:29 -04:00
Paul Kaplan
c14155c26d Fix comment on drawableVisible property 2017-10-24 08:17:31 -04:00
greenkeeper[bot]
5e4bdb2bc3 chore(package): update worker-loader to version 1.1.0
Closes #680
2017-10-24 02:08:45 +00:00
Paul Kaplan
09bb01893c Add back the visibility optimization in a simpler way. 2017-10-23 14:24:54 -04:00
Paul Kaplan
24d550d860 Remove "visible" state flag and use target visibility directly.
This fixes several other bugs like "saying" from a hidden sprite.
2017-10-23 13:26:08 -04:00
Eric Rosenbaum
9ffbd60bad Merge pull request #725 from ericrosenbaum/feature/pen-extension
Set/change pen color blocks with color, brightness, saturation, transparency
2017-10-23 11:25:09 -04:00
Paul Kaplan
5ca58c7ceb Fix new bubbles not moving with their owning sprite.
This was the original issue #728 that spurred these changes.
2017-10-23 11:20:46 -04:00
Paul Kaplan
87a0224790 Stop hide timeouts from sticking around through green flag/stop. 2017-10-23 11:19:39 -04:00
Paul Kaplan
44ca62fefc Fix event listeners not being cleaned up
Eventually if you hit the green flag a million times with a "green flag
=> say" stack, you'd get an event emitter memory leak error.
2017-10-23 11:17:39 -04:00
greenkeeper[bot]
b74c82a08a chore(package): update socket.io-client to version 2.0.4 2017-10-22 13:19:34 +00:00
Eric Rosenbaum
0a18ce7287 Lint 2017-10-18 13:16:24 -04:00
Eric Rosenbaum
bddabdbac6 JSDocs 2017-10-18 11:48:45 -04:00
Eric Rosenbaum
b5ad5e1f6b Warn on set or change unknown color parameter 2017-10-18 11:33:52 -04:00
Eric Rosenbaum
aab1b834d6 On set color using picker, reset transparency to 0 2017-10-17 23:13:05 -04:00
Eric Rosenbaum
a32f7a6402 Default color setting matches default RGB values
For color (hue) in range 0-100, to get RGB (0, 0, 1), we need to use 100 * 2/3 = 66.66
2017-10-17 23:10:58 -04:00
Eric Rosenbaum
240c48ad0c Set or change color param with a single function 2017-10-17 19:31:51 -04:00
Chris Willis-Ford
d8a3e659d5 Playground: use UMD to load storage as global (#722)
* Playground: use UMD to load storage as global

It appears that `expose-loader` is not compatible with WebPack's UMD
exporter, so the VM playground broke when I converted `scratch-storage`
to use UMD. This change causes the playground to load `scratch-storage`
as an independent script and relies on its UMD loader to expose it as a
global. Bonus points: we get better source mapping this way.

* Playground: tell eslint about global ScratchStorage
2017-10-17 17:40:11 -04:00
Eric Rosenbaum
086df4652e Remove references to pen shade 2017-10-17 12:23:38 -04:00
Eric Rosenbaum
264042b4cc Use the word “color” instead of “hue” 2017-10-17 12:22:53 -04:00
Eric Rosenbaum
4f8782cc84 Remove unused function 2017-10-17 11:27:46 -04:00
Eric Rosenbaum
3d6644609f Add new set/change color param blocks with menu
And remove set/change color and shade blocks. All 4 params are now scaled 0-100.
2017-10-17 11:25:22 -04:00
Eric Rosenbaum
22e70ce095 Remove unused arguments for “clear” block 2017-10-17 11:25:22 -04:00
DD Liu
ceb47bd765 Merge pull request #718 from fsih/updateSvgStorage
Update storage when the SVG updates
2017-10-13 19:11:41 -04:00
Chris Willis-Ford
c4e79c9732 Merge pull request #713 from cwillisf/fix-extension-hats
Fix extension hats
2017-10-13 16:03:51 -07:00
DD
82efc42a13 Update storage when the SVG updates 2017-10-13 17:45:03 -04:00
Chris Willis-Ford
a8ae7bc5b4 Merge pull request #700 from cwillisf/extension-menus
Extensions: implement drop-down menus
2017-10-13 09:49:42 -07:00
Chris Willis-Ford
7051ccfd69 Merge pull request #687 from cwillisf/builtin-extensions
Builtin extensions
2017-10-13 09:48:56 -07:00
Christopher Willis-Ford
1a9e28bfc9 Small WeDo 2.0 fixups 2017-10-13 01:48:25 -07:00
Christopher Willis-Ford
96fa7315d5 Don't overwrite hat block's fields
Due to a typo (I believe) we were overwriting a horizontal hat block's
fields list when collecting hat block inputs. Now we collect inputs into
a temporary object in this case.
2017-10-13 01:46:35 -07:00
Paul Kaplan
c807f02e37 Merge pull request #703 from paulkaplan/fix-say-think-loop
️ Fix the infinite loop in say/think 
2017-10-12 08:08:17 -04:00
Paul Kaplan
4599a71dd7 Try to pin the bubbles within the left/right bounds 2017-10-11 16:34:50 -04:00
Paul Kaplan
b00a619e2d Only flip bubble if it would fit the other way 2017-10-11 16:27:51 -04:00
Christopher Willis-Ford
309f02542f Throw if extension tries to build a dynamic menu
Dynamic menus are not yet supported for extension menus, though they are
part of the extension spec. This change provides more thorough feedback
if an extension tries to register an unsupported dynamic menu.
2017-10-11 11:41:03 -07:00
Paul Kaplan
f09c4d0bb9 Merge pull request #691 from paulkaplan/say-think
Add say/think functionality to looks blocks
2017-10-11 14:24:10 -04:00
Paul Kaplan
fa2db053a7 Fix copy paste error on targetWasRemoved 2017-10-11 14:19:15 -04:00
Paul Kaplan
8ac348d931 Merge pull request #698 from paulkaplan/update-custom-procedures
Changing parsing of custom procedures for new style
2017-10-11 13:37:26 -04:00
Paul Kaplan
9af9eb1d92 Fix hide/show 2017-10-10 15:35:48 -04:00
Paul Kaplan
8d722b9073 Fix opcode, which isn't actually used in the code... 2017-10-10 15:10:03 -04:00
Paul Kaplan
e8c5bbbf80 Fix tests and make chain more resilient 2017-10-10 12:19:27 -04:00