# \[ANNOUNCEMENT\] node-red-contrib-blockly version 2.1.0 & 2.2.0 & 2.3.0

**URL:** https://discourse.nodered.org/t/announcement-node-red-contrib-blockly-version-2-1-0-2-2-0-2-3-0/82126
**Category:** Share Your Nodes
**Created:** [17 October 2023 18:25 UTC](https://discourse.nodered.org/t/announcement-node-red-contrib-blockly-version-2-1-0-2-2-0-2-3-0/82126 "2023-10-17T18:25:15Z")
**Posts on this page:** 20
**Page:** 1

<div class="post-metadata">

### Author: ![BartButenaers](https://sea2.discourse-cdn.com/flex026/user_avatar/discourse.nodered.org/bartbutenaers/32/10476_2.png) [@BartButenaers](https://discourse.nodered.org/u/BartButenaers)
#### Post date: [17 October 2023 18:25 UTC](https://discourse.nodered.org/t/announcement-node-red-contrib-blockly-version-2-1-0-2-2-0-2-3-0/82126/1 "2023-10-17T18:25:15Z")

</div>

Hi folks,

For the people that prefer programming graphically by dragging and dropping Blockly blocks (instead of typing Javascript code in a function node), [node-red-contrib-blockly](https://github.com/bartbutenaers/node-red-contrib-blockly/blob/master/README.md) version _ **2.1.0** _ is now available in your palette.

Thanks to my Blockly partner in crime (@cymplecy) to test this new version!

Summary of the changes:

1. Upgrade from Blockly _ **6.x** _ to _ **10.x** _

2. Ability to _ **search blocks in the toolbox** _, to avoid having to search manually through all the available categories:

3. A _ **minimap view** _ (in fullscreen mode) that shows an overview of your entire workspace, and which part of the workspace is currently being rendered on your screen:

Have fun with it!!  
Bart

---

<div class="post-metadata">

### Author: ![cymplecy](https://sea2.discourse-cdn.com/flex026/user_avatar/discourse.nodered.org/cymplecy/32/2773_2.png) [@cymplecy](https://discourse.nodered.org/u/cymplecy)
#### Post date: [17 October 2023 18:32 UTC](https://discourse.nodered.org/t/announcement-node-red-contrib-blockly-version-2-1-0-2-2-0-2-3-0/82126/2 "2023-10-17T18:32:02Z")

</div>

@BartButenaers Excellent work as always 🙂

---

<div class="post-metadata">

### Author: ![cymplecy](https://sea2.discourse-cdn.com/flex026/user_avatar/discourse.nodered.org/cymplecy/32/2773_2.png) [@cymplecy](https://discourse.nodered.org/u/cymplecy)
#### Post date: [18 October 2023 09:40 UTC](https://discourse.nodered.org/t/announcement-node-red-contrib-blockly-version-2-1-0-2-2-0-2-3-0/82126/3 "2023-10-18T09:40:35Z")

</div>

I'm encountering a problem (can't edit any Blockly) node on my main NR instance (works fine on my Win11 instance)

[edit] Uninstalling and re-installing seems to have cured it so just treating as a glitch in my matrix 🙂

Carry on 🙂

---

<div class="post-metadata">

### Author: ![stone](https://avatars.discourse-cdn.com/v4/letter/s/c89c15/32.png) [@stone](https://discourse.nodered.org/u/stone)
#### Post date: [18 October 2023 18:39 UTC](https://discourse.nodered.org/t/announcement-node-red-contrib-blockly-version-2-1-0-2-2-0-2-3-0/82126/4 "2023-10-18T18:39:30Z")

</div>

when are you gonna fix it so it display correctly in dark mode?

 ![Screenshot 2023-10-18 at 1.38.36 PM](https://us1.discourse-cdn.com/flex026/uploads/nodered/original/3X/e/6/e655705c3846f29ef477458ff75008d0ecb26a91.png)

---

<div class="post-metadata">

### Author: ![ralphwetzel](https://sea2.discourse-cdn.com/flex026/user_avatar/discourse.nodered.org/ralphwetzel/32/53713_2.png) [@ralphwetzel](https://discourse.nodered.org/u/ralphwetzel)
#### Post date: [18 October 2023 18:44 UTC](https://discourse.nodered.org/t/announcement-node-red-contrib-blockly-version-2-1-0-2-2-0-2-3-0/82126/5 "2023-10-18T18:44:20Z")

</div>

> [@stone](#):
>
> when are you gonna fix it so it display correctly in dark mode?

I'm sure @BartButenaers would accept a PR from you contributing that fix to his (brilliant!) project!

---

<div class="post-metadata">

### Author: ![stone](https://avatars.discourse-cdn.com/v4/letter/s/c89c15/32.png) [@stone](https://discourse.nodered.org/u/stone)
#### Post date: [18 October 2023 18:49 UTC](https://discourse.nodered.org/t/announcement-node-red-contrib-blockly-version-2-1-0-2-2-0-2-3-0/82126/6 "2023-10-18T18:49:33Z")

</div>

its been that way for years now, i figured someone had already spoken up.

---

<div class="post-metadata">

### Author: ![BartButenaers](https://sea2.discourse-cdn.com/flex026/user_avatar/discourse.nodered.org/bartbutenaers/32/10476_2.png) [@BartButenaers](https://discourse.nodered.org/u/BartButenaers)
#### Post date: [18 October 2023 19:06 UTC](https://discourse.nodered.org/t/announcement-node-red-contrib-blockly-version-2-1-0-2-2-0-2-3-0/82126/7 "2023-10-18T19:06:58Z")

</div>

There are now some blockly theme plugins available. I tried last week to load them. But my entire worspace was messed up. Since I had not enough free time to found the root cause, I have removed my code for that again.

So unless somebody wants to contribute, it will stay like this for a while...

---

<div class="post-metadata">

### Author: ![BartButenaers](https://sea2.discourse-cdn.com/flex026/user_avatar/discourse.nodered.org/bartbutenaers/32/10476_2.png) [@BartButenaers](https://discourse.nodered.org/u/BartButenaers)
#### Post date: [18 October 2023 20:21 UTC](https://discourse.nodered.org/t/announcement-node-red-contrib-blockly-version-2-1-0-2-2-0-2-3-0/82126/8 "2023-10-18T20:21:55Z")

</div>

Since the backend part of the Blockly node was originally based on the core Function node, I try to keep both nodes in sync ones and a while. However I forgot to do that in release 2.1.0, so I published now version _ **2.2.0** _ to NPM.

Thanks again to @cymplecy for testing this one in a short notice!!

This new version contains following changes:

1. The backend code has been synced with the core Function node of Node-RED version 3.1.0

2. Similar to the core Function node, the Blockly node now also has a _ **timeout** _ field:

3. Similar to the core Function node, the Blockly node now also allows to get the _ **path** _ (_(sub)flowId/nodeId_) of this node:

---

<div class="post-metadata">

### Author: ![BartButenaers](https://sea2.discourse-cdn.com/flex026/user_avatar/discourse.nodered.org/bartbutenaers/32/10476_2.png) [@BartButenaers](https://discourse.nodered.org/u/BartButenaers)
#### Post date: [18 October 2023 21:03 UTC](https://discourse.nodered.org/t/announcement-node-red-contrib-blockly-version-2-1-0-2-2-0-2-3-0/82126/9 "2023-10-18T21:03:45Z")

</div>

> [@BartButenaers](#):
>
> So unless somebody wants to contribute, it will stay like this for a while...

@stone,  
I have put all my code changes (to support Blockly themes) in a separate branch on my Github repository. And I have described my changes in this [issue](https://github.com/bartbutenaers/node-red-contrib-blockly/issues/106).

_ **If anybody wants to troubleshoot why these theme plugins mess up the Blockly workspace, all help is appreciated!** _ If nobody jumps in, it will probably stay like this due to lack of free time...

---

<div class="post-metadata">

### Author: ![cymplecy](https://sea2.discourse-cdn.com/flex026/user_avatar/discourse.nodered.org/cymplecy/32/2773_2.png) [@cymplecy](https://discourse.nodered.org/u/cymplecy)
#### Post date: [19 October 2023 09:45 UTC](https://discourse.nodered.org/t/announcement-node-red-contrib-blockly-version-2-1-0-2-2-0-2-3-0/82126/10 "2023-10-19T09:45:16Z")

</div>

FYI There's a slight issue \>= 2.1.0 - any node with a function in it seems to have editing issues

Just editing issues - exisiting nodes work just fine - Bart is aware via github so discussion taking place there

---

<div class="post-metadata">

### Author: ![BartButenaers](https://sea2.discourse-cdn.com/flex026/user_avatar/discourse.nodered.org/bartbutenaers/32/10476_2.png) [@BartButenaers](https://discourse.nodered.org/u/BartButenaers)
#### Post date: [21 October 2023 05:43 UTC](https://discourse.nodered.org/t/announcement-node-red-contrib-blockly-version-2-1-0-2-2-0-2-3-0/82126/11 "2023-10-21T05:43:23Z")

</div>

> [@cymplecy](#):
>
> FYI There's a slight issue \>= 2.1.0 - any node with a function in it seems to have editing issues

I have a Zoom session monday evening with Maribeth from the Blockly team to debug this, because the behaviour is far from expected. To be continued.

> [@BartButenaers](#):
>
> So unless somebody wants to contribute, it will stay like this for a while...

@stone,  
I didn't expect it this soon, but @ralphwetzel has been so kind to send me a pull request to fix my issue with the Blockly themes. Kudos to Ralph for this one 🙏

I have shameless copied Ralph's animation (from [here](https://github.com/bartbutenaers/node-red-contrib-blockly/issues/106#issuecomment-1773356802)) which shows how to change from the Classic to the Dark theme:

![BlocklyThemes](https://us1.discourse-cdn.com/flex026/uploads/nodered/original/3X/a/f/afb4dd7fd3eb9bf6849807da775b129a346c28a0.gif)

This feature is **not** available on NPM yet! I will create a new release when the Blockly team has solved Simon's problem.

---

<div class="post-metadata">

### Author: ![dokoral](https://sea2.discourse-cdn.com/flex026/user_avatar/discourse.nodered.org/dokoral/32/39381_2.png) [@dokoral](https://discourse.nodered.org/u/dokoral)
#### Post date: [22 October 2023 19:40 UTC](https://discourse.nodered.org/t/announcement-node-red-contrib-blockly-version-2-1-0-2-2-0-2-3-0/82126/13 "2023-10-22T19:40:47Z")

</div>

Just installed Blockly 2.2.0 and getting this warning. Should I be concerned?

22 Oct 15:20:07 - [info] Windows\_NT 10.0.19045 x64 LE  
22 Oct 15:20:08 - [info] Loading palette nodes  
22 Oct 15:20:09 - [warn] [Blockly] Registered invalid property name 'functionExternalModules'. Properties for this node must start with 'blockly'  
22 Oct 15:20:09 - [info] Dashboard version 3.6.0 started at /ui  
22 Oct 15:20:10 - [info] Settings file : C:\Users\Owner.node-red\settings.js  
22 Oct 15:20:10 - [info] Context store : 'memoryOnly' [module=memory]

---

<div class="post-metadata">

### Author: ![BartButenaers](https://sea2.discourse-cdn.com/flex026/user_avatar/discourse.nodered.org/bartbutenaers/32/10476_2.png) [@BartButenaers](https://discourse.nodered.org/u/BartButenaers)
#### Post date: [22 October 2023 21:03 UTC](https://discourse.nodered.org/t/announcement-node-red-contrib-blockly-version-2-1-0-2-2-0-2-3-0/82126/14 "2023-10-22T21:03:22Z")

</div>

> [@dokoral](#):
>
> 22 Oct 15:20:09 - [warn] [Blockly] Registered invalid property name 'functionExternalModules'.

@dokoral,  
I keep the backend of the Blockly node in sync (as much as possible) with the core Function node. Perhaps I copied a bit too much code from the Function [node](https://github.com/node-red/node-red/blob/master/packages/node_modules/%40node-red/nodes/core/function/10-function.js#L524) (i.e. this statement):

```auto
    RED.nodes.registerType("Blockly",BlocklyNode, {
        dynamicModuleList: "libs",
        settings: {
            functionExternalModules: { value: true, exportable: true },
            functionTimeout: { value:0, exportable: true }
        }
    });

```

Perhaps I should just ditch the `settings` part. Not sure what it is used for, but I don't think we need it in the Blockly node. Then at least you get rid of the warning. But I don't think it can do any harm.

---

<div class="post-metadata">

### Author: ![dokoral](https://sea2.discourse-cdn.com/flex026/user_avatar/discourse.nodered.org/dokoral/32/39381_2.png) [@dokoral](https://discourse.nodered.org/u/dokoral)
#### Post date: [23 October 2023 14:38 UTC](https://discourse.nodered.org/t/announcement-node-red-contrib-blockly-version-2-1-0-2-2-0-2-3-0/82126/15 "2023-10-23T14:38:42Z")

</div>

Removed that code and the waring is gone. Blockly node still works fine. Thank you for your help!

---

<div class="post-metadata">

### Author: ![cymplecy](https://sea2.discourse-cdn.com/flex026/user_avatar/discourse.nodered.org/cymplecy/32/2773_2.png) [@cymplecy](https://discourse.nodered.org/u/cymplecy)
#### Post date: [23 October 2023 15:24 UTC](https://discourse.nodered.org/t/announcement-node-red-contrib-blockly-version-2-1-0-2-2-0-2-3-0/82126/16 "2023-10-23T15:24:20Z")

</div>

As head of QA testing department , I'll try to remember to check the log next time there's a change 🙂

---

<div class="post-metadata">

### Author: ![BartButenaers](https://sea2.discourse-cdn.com/flex026/user_avatar/discourse.nodered.org/bartbutenaers/32/10476_2.png) [@BartButenaers](https://discourse.nodered.org/u/BartButenaers)
#### Post date: [23 October 2023 19:57 UTC](https://discourse.nodered.org/t/announcement-node-red-contrib-blockly-version-2-1-0-2-2-0-2-3-0/82126/17 "2023-10-23T19:57:11Z")

</div>

> [@dokoral](#):
>
> Removed that code and the waring is gone. Blockly node still works fine

Ah thanks a lot for the confirmation!  
I have removed the `settings` property on Github (not on npm yet).

> [@cymplecy](#):
>
> As head of QA testing department

My congratulations with your promotion!  
You earned it.  
The right man for the right job:

 ![image](https://us1.discourse-cdn.com/flex026/uploads/nodered/original/3X/b/5/b5f7acc6df5ec3952bbc09e913175e58a9835856.jpeg)

> [@BartButenaers](#):
>
> I have a Zoom session monday evening with Maribeth from the Blockly team to debug this, because the behaviour is far from expected. To be continued.

Ok I had tonight the Zoom debug session with Maribeth. Very friendly lady!  
But the behaviour of Blockly was totally unexpected for her too.  
So she is going to install Node-RED and our blockly node locally, and trying to figure out what is going wrong. Hopefully she is able to find the root cause...

---

<div class="post-metadata">

### Author: ![BartButenaers](https://sea2.discourse-cdn.com/flex026/user_avatar/discourse.nodered.org/bartbutenaers/32/10476_2.png) [@BartButenaers](https://discourse.nodered.org/u/BartButenaers)
#### Post date: [24 October 2023 21:42 UTC](https://discourse.nodered.org/t/announcement-node-red-contrib-blockly-version-2-1-0-2-2-0-2-3-0/82126/18 "2023-10-24T21:42:08Z")

</div>

> [@BartButenaers](#):
>
> So she is going to install Node-RED and our blockly node locally, and trying to figure out what is going wrong. Hopefully she is able to find the root cause...

@cymplecy Maritbeth has triggered an [issue](https://github.com/google/blockly/issues/7610) on the Blockly repo, containing the results from our Zoom session. One step at a time...

---

<div class="post-metadata">

### Author: ![BartButenaers](https://sea2.discourse-cdn.com/flex026/user_avatar/discourse.nodered.org/bartbutenaers/32/10476_2.png) [@BartButenaers](https://discourse.nodered.org/u/BartButenaers)
#### Post date: [30 October 2023 19:57 UTC](https://discourse.nodered.org/t/announcement-node-red-contrib-blockly-version-2-1-0-2-2-0-2-3-0/82126/19 "2023-10-30T19:57:06Z")

</div>

Ok, it seems I underestimated a 'bit' the migration from Blockly 6.x (Javascript) to 10.x (Typescript)...

But thanks to a lot of help from @ralphwetzel, @cymplecy and some nice ladies from the Google Blockly team, together we managed to get the job done finally. As a result, version _ **2.3.0** _ is now available in the palette 🍾 🥂 🎁

The release notes can be found [here](https://github.com/bartbutenaers/node-red-contrib-blockly/releases/tag/v2.3.0).

P.S. Simon, the next time we meet again is to migrate to Blockly version 14.x 😇

---

<div class="post-metadata">

### Author: ![cymplecy](https://sea2.discourse-cdn.com/flex026/user_avatar/discourse.nodered.org/cymplecy/32/2773_2.png) [@cymplecy](https://discourse.nodered.org/u/cymplecy)
#### Post date: [30 October 2023 19:58 UTC](https://discourse.nodered.org/t/announcement-node-red-contrib-blockly-version-2-1-0-2-2-0-2-3-0/82126/20 "2023-10-30T19:58:51Z")

</div>

I think you'll find we will be meeting a lot sooner than that....

---

<div class="post-metadata">

### Author: ![cymplecy](https://sea2.discourse-cdn.com/flex026/user_avatar/discourse.nodered.org/cymplecy/32/2773_2.png) [@cymplecy](https://discourse.nodered.org/u/cymplecy)
#### Post date: [30 October 2023 21:35 UTC](https://discourse.nodered.org/t/announcement-node-red-contrib-blockly-version-2-1-0-2-2-0-2-3-0/82126/21 "2023-10-30T21:35:33Z")

</div>

Great work 🙂  
All my instances now running 2.3.0 🙂
