ioBroker.javascript
ioBroker.javascript copied to clipboard
[Bug]: SAVE | CANCEL buttons for Blockly removed with 9.0.2
I'm sure that
- [x] This issue is still present in the current beta version of this adapter
- [x] There is no other (open) issue with the same topic (use the search!)
- [x] This issue is not described in the adapter documentation / FAQ (read the docs!)
Script type
Blockly
The problem
When upgrading to Version 9.0.2 in /opt/iobroker/node_modules/iobroker.javascript, node: v20.19.1, js-controller: 7.0.7 there are no longer SAVE | CANCEL buttons after editing a Blockly. Same issue with 9.0.3
Last working version 8.9.2
iobroker.current.log (in debug mode!)
No response
Version of nodejs
20.19.1
Version of ioBroker js-controller
7.0.7
Version of adapter
9.0.x
I can confirm the same issue. It only happens on a script where I declare and use a function. Once I delete the entire block calling the function the cancel and save buttons come back. The behavior is repeatable.
Can confirm this issue, too. Happens with pretty simple scripts, too.
Same here on 9.0.3. No SAVE / CANCEL Buttons anymore...
Same issue here for all versions so far after 8.9.2 (I've tried every single release, all have the same problem)
Same issue here for all versions so far after 8.9.2 (I've tried every single release, all have the same problem)
Same for me. Went back to 8.9.2 and Save/Cancel is working again.
Just tried 9.04, same issue, save is not possible. so back to 8.9.2 again :)
Just tried 9.04, same issue, save is not possible. so back to 8.9.2 again :)
this only affects older scripts for me, new ones can be saved
Tried 9.0.4. Issue persists if there's a function present. For old an also for new Skripts.
Just tried 9.04, same issue, save is not possible. so back to 8.9.2 again :)
this only affects older scripts for me, new ones can be saved
Can you save new one if theres a function block present? In my system that's not possible.
For me with 9.0.4 the buttons are still missing if a blockly script contains a function.
Same here on 9.0.4. No SAVE / CANCEL Buttons anymore...
Just updated to 9.0.4 and Save/Cancel available
Tested with FF
Maybe clean cache helps.
@Diginix @jonnycastaway If i start with a new script and first add the function block the save/cancel buttons are missing. If i start i.e. with a trigger save/cancel is working. I can also add a function later without problems.
Maybe it works with new scripts, but how should we save already existing ones that were changed? Imho this is still an issue/bug and should be fixed all-encompassing. And what happend if you change something after you have save a new script with trigger and function. Maybe SAVE is gone then too.
@Diginix > Maybe SAVE is gone then too.
Did you test or is it only an assumption?
My first video shows an existing script. As soon as i add any new Block or modify any parameter i get the buttons.
Is that nor working for you?
Did you test or is it only an assumption?
This is a question, because your second video ends before such a step.
My first video shows an existing script. As soon as i add any new Block or modify any parameter i get the buttons.
In scripts with functions and adding new blocks, no SAVE appears. In old scripts without function block any changes leads to a SAVE button.
I'm back to 8.9.2. So, I can't do further tests.
I did some tests with a new script. I can add an element from system and i can save the script. I add step by step elements from other
an I can edit and save the script. But when I add one element from "Sendto" (z.B. telegram) than there is no button to save the script.
When I export an existing script that contains a telegram function and import it into a new script, it shows an error:
@guc206 You should split this in a new issue.
I just wanted to point out that when importing into a new empty script the button "save" does not appear.
I've just tried 9.0.5. As soon as there is a function in the script, the save button is not available. when there is no function present, it works as expected. this seems to apply for both old and new scripts.
Unfortunately, I have the same problem with v9.0.5. I’ve included "Send To (Telegram)" in almost every script. For scripts without "Send To", the save button appears.
Unfortunately, I have the same problem with v9.0.5. I’ve included "Send To (Telegram)" in almost every script. For scripts without "Send To", the save button appears.
same here. only seldom a script without telegram send to or function inside.
Sorry the bug is not fully fixed, it's better but not solved. for me the problem occurs when I add a function, after that I cant save anymore.
If I add an element, e.g. debug, the two buttons appear. If I then copy a part from an old blockly and press save afterwards, the debug element is saved, but the old copied part is not.
It is basically gone.
If I add an element, e.g. debug, the two buttons appear. If I then copy a part from an old blockly and press save afterwards, the debug element is saved, but the old copied part is not.
It is basically gone.
I cannot reproduce it. What is the exaclty step by step instructions?
- Create a fully new Blockly Script (e.g. "Test 1")
- Add Debug block
- Go to old Blockly script, select a block(s) and press Ctrl+C
- Go to "Test 1" and press Ctrl+V
- Save the blockly script
- Refresh Browser
In my case the modified blockly "Test 1" is saved.
P.S. With Telegram Block I can reproduce it. But really when pressing F12 I can see an error
Is it really so hard to press F12???
I can confirm that adding a "send to Telegram" block also does it and nearly all my scripts contain that block so... yeah :D this needs fixing!
Hi,
I recorded a short video demonstrating a problem I encountered with the current version of the JavaScript adapter. When I try to drag a function into the script editor, it doesn't allow me to save the script afterward.
Apologies for the brief misclick during the recording – it happened spontaneously – but the issue is clearly visible in the video nonetheless.
https://power-dreams.com/javascript.mov
EDIT: Yes I updated to 9.0.6
@GermanBluefox I am now getting a different error in all old scripts, which doesn't seem to be related to Telegram anymore. I cannot save/cancel just as before, the trace below appears in Firefox console when I make a change (sanitized):
Uncaught ReferenceError: Input "RETURN" doesn't exist on "procedures_defnoreturn"
valueToCode https://<controller_address>:<controller_port>/adapter/javascript/google-blockly/blockly_compressed.js:1400
procedures_defreturn https://<controller_address>:<controller_port>/adapter/javascript/google-blockly/own/blocks_procedures.js:196
blockToCode https://<controller_address>:<controller_port>/adapter/javascript/google-blockly/blockly_compressed.js:1399
workspaceToCode https://<controller_address>:<controller_port>/adapter/javascript/google-blockly/blockly_compressed.js:1397
blocklyCode2JSCode https://<controller_address>:<controller_port>/adapter/javascript/assets/index-Cek-i92T.js:1155
onChange https://<controller_address>:<controller_port>/adapter/javascript/assets/index-Cek-i92T.js:1156
onBlocklyChanged https://<controller_address>:<controller_port>/adapter/javascript/assets/index-Cek-i92T.js:1156
changeTimer https://<controller_address>:<controller_port>/adapter/javascript/assets/index-Cek-i92T.js:1156
i https://<controller_address>:<controller_port>/adapter/javascript/assets/index-JSzqpJXf.js:15
setTimeout handler*kc/< https://<controller_address>:<controller_port>/adapter/javascript/assets/index-JSzqpJXf.js:15
componentDidUpdate https://<controller_address>:<controller_port>/adapter/javascript/assets/index-Cek-i92T.js:1156
fireChangeListener https://<controller_address>:<controller_port>/adapter/javascript/google-blockly/blockly_compressed.js:1138
fireNow$$module$build$src$core$events$utils https://<controller_address>:<controller_port>/adapter/javascript/google-blockly/blockly_compressed.js:66
i https://<controller_address>:<controller_port>/adapter/javascript/assets/index-JSzqpJXf.js:15
setTimeout handler*kc/< https://<controller_address>:<controller_port>/adapter/javascript/assets/index-JSzqpJXf.js:15
utils https://<controller_address>:<controller_port>/adapter/javascript/google-blockly/blockly_compressed.js:65
i https://<controller_address>:<controller_port>/adapter/javascript/assets/index-JSzqpJXf.js:15
Pd https://<controller_address>:<controller_port>/adapter/javascript/assets/index-JSzqpJXf.js:15
fireInternal$$module$build$src$core$events$utils https://<controller_address>:<controller_port>/adapter/javascript/google-blockly/blockly_compressed.js:65
fire$$module$build$src$core$events$utils https://<controller_address>:<controller_port>/adapter/javascript/google-blockly/blockly_compressed.js:64
fireDragEndEvent https://<controller_address>:<controller_port>/adapter/javascript/google-blockly/blockly_compressed.js:1219
endDrag https://<controller_address>:<controller_port>/adapter/javascript/google-blockly/blockly_compressed.js:1223
endDrag https://<controller_address>:<controller_port>/adapter/javascript/google-blockly/blockly_compressed.js:1256
onDragEnd https://<controller_address>:<controller_port>/adapter/javascript/google-blockly/blockly_compressed.js:1472
handleUp https://<controller_address>:<controller_port>/adapter/javascript/google-blockly/blockly_compressed.js:726
f https://<controller_address>:<controller_port>/adapter/javascript/google-blockly/blockly_compressed.js:87
i https://<controller_address>:<controller_port>/adapter/javascript/assets/index-JSzqpJXf.js:15
Bd https://<controller_address>:<controller_port>/adapter/javascript/assets/index-JSzqpJXf.js:15
id https://<controller_address>:<controller_port>/adapter/javascript/assets/index-JSzqpJXf.js:15
conditionalBind$$module$build$src$core$browser_events https://<controller_address>:<controller_port>/adapter/javascript/google-blockly/blockly_compressed.js:87
bindMouseEvents https://<controller_address>:<controller_port>/adapter/javascript/google-blockly/blockly_compressed.js:724
doStart https://<controller_address>:<controller_port>/adapter/javascript/google-blockly/blockly_compressed.js:723
handleWsStart https://<controller_address>:<controller_port>/adapter/javascript/google-blockly/blockly_compressed.js:732
handleFlyoutStart https://<controller_address>:<controller_port>/adapter/javascript/google-blockly/blockly_compressed.js:732
blockMouseDown https://<controller_address>:<controller_port>/adapter/javascript/google-blockly/blockly_compressed.js:1425
f https://<controller_address>:<controller_port>/adapter/javascript/google-blockly/blockly_compressed.js:87
i https://<controller_address>:<controller_port>/adapter/javascript/assets/index-JSzqpJXf.js:15
Bd https://<controller_address>:<controller_port>/adapter/javascript/assets/index-JSzqpJXf.js:15
id https://<controller_address>:<controller_port>/adapter/javascript/assets/index-JSzqpJXf.js:15
conditionalBind$$module$build$src$core$browser_events https://<controller_address>:<controller_port>/adapter/javascript/google-blockly/blockly_compressed.js:87
addBlockListeners_ https://<controller_address>:<controller_port>/adapter/javascript/google-blockly/blockly_compressed.js:1424
layout_ https://<controller_address>:<controller_port>/adapter/javascript/google-blockly/blockly_compressed.js:1437
show https://<controller_address>:<controller_port>/adapter/javascript/google-blockly/blockly_compressed.js:1417
updateFlyout_ https://<controller_address>:<controller_port>/adapter/javascript/google-blockly/blockly_compressed.js:1636
setSelectedItem https://<controller_address>:<controller_port>/adapter/javascript/google-blockly/blockly_compressed.js:1635
onClick_ https://<controller_address>:<controller_port>/adapter/javascript/google-blockly/blockly_compressed.js:1624
f https://<controller_address>:<controller_port>/adapter/javascript/google-blockly/blockly_compressed.js:87
i https://<controller_address>:<controller_port>/adapter/javascript/assets/index-JSzqpJXf.js:15
just wanted to paste the very same error message @sargonphin ;)
@GermanBluefox that's nothing about telegram anyways it's only in scripts using the actual time function as far as i can see right now
€ alright, tested a bit further - it's only this one: (very first in date and time)
<xml xmlns="https://developers.google.com/blockly/xml">
<block type="time_compare_ex" id="TqMt3{cv#Kcdv_n[;/DH" x="288" y="63">
<mutation xmlns="http://www.w3.org/1999/xhtml" end_time="false" actual_time="true"></mutation>
<field name="USE_ACTUAL_TIME">TRUE</field>
<field name="OPTION"><</field>
<value name="START_TIME">
<shadow type="text" id="%Y8w}.z$UrEWXp11JN)7">
<field name="TEXT">12:00</field>
</shadow>
</value>
</block>
</xml>
:)
I would like to add that I just made a new script before which also uses this exact block. It worked fine, but I think there is a problem with older scripts that use this block