Christopher Willis-Ford
56dd49aaed
fix(extensions): try harder to avoid Scratch Link init in non-browser environments
...
Prior to this change, the Scratch Link init would fail in JSDOM. That means it fails in the
scratch-gui integration tests, so that's no good...
2022-08-16 23:42:55 -07:00
Christopher Willis-Ford
2bdea9106d
feat(extensions): support Scratch Link 2.0 browser extension
...
Right now this is only needed for Safari
2022-08-16 08:20:27 -07:00
Christopher Willis-Ford
840ffb5df0
test: don't use process.exit to end tests
...
Newer versions of `tap` run more asynchronously, so sometimes using `process.nextTick(process.exit)`
to end a test would prevent the test from completing correctly. Removing all instances of
`process.nextTick(process.exit)` put tests into three categories:
* the test still worked correctly -- no fixup needed.
* the test would hang because the VM's `_steppingInterval` was keeping
Node alive. These tests call a new `quit()` method which ends the
stepping interval.
* the `load-extensions` test needed special attention because the "Video
Sensing" extension starts its own loop using `setTimeout`. I added a
`_stopLoop()` method on the extension and directly call that from the
test. I'm not completely happy with this solution but anything more
general would likely require a change to the extension spec, so I'm
leaving that as a followup task.
2022-06-07 11:44:06 -07:00
Eric Rosenbaum
0b4b32dcb0
Save and load the origin
2021-04-29 11:32:13 -04:00
DD Liu
e5560b067b
Merge branch 'develop' into removev2SvgAdapter
2021-03-16 16:53:40 -04:00
DD Liu
627e62a339
Remove v2SvgAdapter
2021-03-04 15:32:14 -05:00
DD Liu
04b6963788
Pass on event type from CDM
2020-10-15 19:56:24 -04:00
Eric Rosenbaum
540d9c676c
Merge pull request #2341 from apple502j/patch-9
...
Clear some stats when disposing runtime
2020-06-22 10:25:41 -04:00
adroitwhiz
61a0739950
add comment on hideFromPalette
2020-06-02 16:29:49 -04:00
adroitwhiz
d6e7ede03a
Support extension block filtering per-target
2020-05-28 12:15:22 -04:00
apple502j
3e48cd7df6
Reset counter and timer too
2020-04-06 20:21:31 +09:00
Erik Mejer Hansen
a6d8f6cbf2
Fix indents
2019-11-13 15:00:38 +01:00
Erik Mejer Hansen
700e163abe
Fix handling of custom field types
2019-11-13 14:58:44 +01:00
Karishma Chadha
3859013606
Move inline image specific code into separate helper function. Remove unnecessary todo.
2019-10-17 15:29:04 -04:00
Karishma Chadha
a9e081859e
Remove todo comment about flip_rtl default based on discussion from PR.
2019-09-27 11:48:31 -05:00
Karishma Chadha
470fdb761d
Remove 'alt' from field_image descriptor since it seems to only be used for 'collapsed blocks' from blockly. This is not a feature being used in scratch. Update docs.
2019-09-27 11:46:48 -05:00
Karishma Chadha
b1392572ca
Update tests and fix bug causing type error.
2019-09-27 11:39:15 -05:00
Karishma Chadha
c5879633d5
Make ArgumentTypeMap clearer now that there is an image field which is not technically an argument. Make the color picker consistent with the other arguments so that an extension developer can specify a default color if they wish. Add docs to document this.
2019-09-27 11:04:03 -05:00
Karishma Chadha
6afbe192d8
Log a warning if dataURI property is missing from image argument specification in extension info. Default to empty string if dataURI or alt are not provided.
2019-09-20 16:56:02 -07:00
Karishma Chadha
167f502edc
Add comment for flipRTL property.
2019-09-20 16:02:18 -07:00
Karishma Chadha
7129f8c4a9
Add support for specifying that whether or not the image should be flipped in an RTL language.
2019-09-20 15:47:33 -07:00
Karishma Chadha
21430a5366
Add support for image argument type in extensions. Add example in core example extension.
2019-09-20 15:19:14 -07:00
Karishma Chadha
c499106f85
Revert "Raise params to the next frame when pushing"
2019-07-22 12:59:48 -04:00
Karishma Chadha
9ba9732e8a
Merge pull request #2145 from mzgoddard/raise-params
...
Raise params to the next frame when pushing
2019-07-17 16:12:37 -04:00
Karishma Chadha
aae7607e10
fix extension dropdown menu item conversion
2019-06-18 21:03:17 -07:00
Chris Willis-Ford
eba89d57d8
Merge branch 'develop' into non-droppable-extension-menus
2019-06-18 16:52:47 -07:00
Karishma Chadha
9af2e4c086
Merge pull request #2161 from LLK/e16n
...
Supporting VM changes for extensionification
2019-06-18 18:53:20 -04:00
Christopher Willis-Ford
fd776025e5
refactor _refreshExtensionPrimitives for clarity
...
The previous form made it harder to see that at most one extension
category is handled per call.
2019-06-18 15:08:03 -07:00
Christopher Willis-Ford
3c28f714bb
respond to code review
2019-06-17 21:14:21 -07:00
Chris Willis-Ford and Karishma Chadha
18b1551cdb
remove redundant check
...
Co-Authored-By: Karishma Chadha <kchadha@media.mit.edu >
2019-06-17 13:22:52 -07:00
Christopher Willis-Ford
3fbed88a95
switch from rejectReporters flag to acceptReporters
...
Also add more extensive documentation around extension menu definitions,
including some considerations to think about before making a menu accept
reporters.
2019-06-14 12:29:32 -07:00
Christopher Willis-Ford
e7bf49c8df
support non-droppable menus in extensions
2019-06-14 12:29:32 -07:00
Michael "Z" Goddard
e1254bd8c7
elevate stack block id and frame info into thread
...
- Add pointer member to thread. This is the current executing block.
- Add stackFrame member to thread. This is the current frame
information like procedure parameters.
This is a step potentially towards stack-less threads. With further
modifications we could have stack and stackFrames be null if a script
does not call a procedure.
2019-06-03 18:13:01 -04:00
Michael "Z" Goddard
ffcd0e6518
remove empty procedure_definetion block
...
The engine supports blocks that do not have defined functions.
2019-06-03 15:49:11 -04:00
Paul Kaplan
5e626eb7e9
Initial prototype of configurable scratch link socket
2019-05-24 12:51:58 -04:00
Karishma Chadha
14d2820460
Merge pull request #1648 from mzgoddard/stop-all-next-tick
...
Stop all next tick
2019-05-15 11:25:15 -04:00
Karishma Chadha
39f15d3699
Update comment for new extension update event
2019-04-25 11:36:31 -04:00
Karishma Chadha
92a73fef55
Add a runtime event to track when the toolbox extension blocks need updating.
2019-04-24 11:28:02 -04:00
Christopher Willis-Ford
91f0d59be0
fix extension block color application
2019-04-23 12:31:31 -07:00
Christopher Willis-Ford
a27ea76d25
add "scratch_extension" only if a block has an icon
2019-04-22 17:47:31 -07:00
Christopher Willis-Ford
107e49245f
adjust getBlocksXML to return categories separately
...
before: getBlocksXML returns one big XML string
after: getBlocksXML returns an array of {id,xml}, one entry per category
2019-04-22 12:32:52 -07:00
Christopher Willis-Ford
0247447792
embed extension blockInfo into block XML
2019-04-22 09:53:05 -07:00
Christopher Willis-Ford
bd1aaecdf3
add category info to extension add & update events
2019-04-19 16:06:11 -07:00
Michael "Z" Goddard
548e28480a
add BlocksRuntimeCache; rewrite startHats
2019-04-19 13:22:22 -04:00
Michael "Z" Goddard
c3f9e0945b
determine _pushThread defaults without Object.assign
2019-04-19 13:22:20 -04:00
Christopher Willis-Ford
a308b1e02f
use xmlEscape instead of escape-html for extensions
2019-04-17 16:48:58 -07:00
Karishma Chadha
23136ad9c3
Revert "Cache hat block information for the runtime"
2019-04-17 16:05:24 -04:00
Karishma Chadha
a984d1ae9d
Merge pull request #1930 from mzgoddard/runtime-script-cache
...
Cache hat block information for the runtime
2019-04-17 15:55:47 -04:00
Michael "Z" Goddard
39b18fedde
stop all removes threads from future execution
...
Stop all does not **stop** all threads. It stops the active thread and
removes all other threads from executing in the future.
2019-04-11 14:42:10 -04:00
Christopher Willis-Ford
9eef05a7c5
Use new Scratch-specific callback keys for extension buttons
2019-04-02 22:47:26 -07:00