Skip to content

Update to Blockly 13 - #4069

Open
mjgallag wants to merge 32 commits into
mit-cml:masterfrom
mjgallag:update-to-blockly-13
Open

Update to Blockly 13#4069
mjgallag wants to merge 32 commits into
mit-cml:masterfrom
mjgallag:update-to-blockly-13

Conversation

@mjgallag

@mjgallag mjgallag commented Aug 15, 2026

Copy link
Copy Markdown
Contributor

What does this PR accomplish?

Description

What does this PR accomplish?

josmas/blockly-plugins#6
mit-cml/blockly-plugins#88
mit-cml/workspace-multiselect#154

TEST HERE
https://arched-branch-471517-f9.uc.r.appspot.com/

I had to map all of the single letter shortcuts due to typeblocking. I went with option/alt as it seemed to lack system conflicts.
Note the Blockly keyboard shortcut help dialog we had in 12 is not in 13 as Blockly did not move it into core from https://github.com/raspberrypifoundation/blockly-keyboard-experimentation.

Context for the changes

If this PR changes anything related to the companion make sure you have used the ucr branch. For all other changes use master or provide context for having used a different branch.
See a summary of git branches in the docs: App Inventor Developer Overview

If your code changes how something works on the device (i.e., it affects the companion):

  • I have made no changes that affect the companion

  • I branched from ucr

  • My pull request has ucr as the base

Further, if you've changed the blocks language or another user-facing designer/blocks API (added a SimpleProperty, etc.):

  • I have updated the corresponding version number in appinventor/components/src/.../common/YaVersion.java
  • I have updated the corresponding upgrader in appinventor/appengine/src/.../client/youngandroid/YoungAndroidFormUpgrader.java (components only)
  • I have updated the corresponding entries in appinventor/blocklyeditor/src/versioning.js

For all other changes:

  • I have made no changes that affect the master branch

  • I branched from master

  • My pull request has master as the base

General items:

  • I have updated the relevant documentation files under docs/
  • My code follows the:
  • ant tests passes on my machine

Stage the BlocklyPanel element in a hidden div before initializing the workspace.
GWT later moves it into the ProjectEditor deck when the editor is added.
Blockly measures a hidden workspace using computed CSS, which requires
the workspace element to be attached to the document.
RaspberryPiFoundation/blockly#8572
Removes staging of BlocklyPanel element in a hidden div before initializing the workspace workaround.
@mjgallag
mjgallag marked this pull request as ready for review August 15, 2026 00:28
@mjgallag
mjgallag requested a review from a team August 15, 2026 00:28
new YaBlocksEditor(this, (YoungAndroidBlocksNode) source));
YaBlocksEditor newBlocksEditor = new YaBlocksEditor(this, (YoungAndroidBlocksNode) source);
addBlocksEditor(((YoungAndroidBlocksNode) source).getFormName(), newBlocksEditor);
newBlocksEditor.initWorkspace();

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I disagree with this change. Initializing the workspace is an implementation detail of the blocks editor class and it shouldn't be up to the caller to have to manually do it. In other branches where we've introduced block editors for other platforms we will need to remember to make this change when we merge upstream.

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@ewpatton good point, fixed & deployed.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants