Commit Graph
386 Commits
Author SHA1 Message Date
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-FordandKarishma 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