Skip to content

Support Blockly 13 (blocked: peerDeps <12 + FocusManager / IFocusableTree) #153

Description

@SebCanet

Check for duplicates

  • I have searched for similar issues before opening a new one.

Problem

We would like to use @mit-app-inventor/blockly-plugin-workspace-multiselect with Blockly 13.x. Today the published package is incompatible both at the dependency level and at the runtime API level introduced in Blockly 12+.

Context: BlocklyDuino will be updated with blockly@^13.2.1 and the official @blockly/* plugins at ^13.2.0. Multiselect cannot be adopted until the plugin supports that line.

Current package constraints

Item Value
Package @mit-app-inventor/blockly-plugin-workspace-multiselect@1.0.2
Declared peer dependency blockly: ">=11 <12"
Our app blockly@^13.2.1

npm therefore rejects (or warns on) installation alongside Blockly 13 without overrides/forcing, and even with an override the plugin is not known to work.

Runtime breakage (Blockly 12+, still relevant for 13)

Already reported for Blockly 12 in #103:
TypeError: Cannot read properties of null (reading 'canBeFocused') at FocusManager.focusNode at Object.setSelected at MultiselectControls.updateMultiselect at Multiselect.eventListenerAll_

Maintainer note on #103: MultiselectDraggable needs to implement IFocusableTree for Blockly 12’s focus system.

So the incompatibility is not only a semver peer range: the plugin still assumes the pre–FocusManager selection model from Blockly 11.

Related work

Request

  1. Land Blockly 12 support (Update to Blockly 12 #133 / successor) and publish a release with an updated peer range (e.g. >=12 <13 or whatever is accurate).
  2. Plan / track Blockly 13 compatibility (peerDeps + any further API breaks after the focus-manager work).
  3. Optionally document known conflicts with other plugins (e.g. official @blockly/plugin-cross-tab-copy-paste), since hosts on Blockly 13 often enable that plugin by default.

I hope this could help, many thanks!

Alternatives considered

No response

Additional context

No response

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions