ioBroker / ioBroker.javascript

Script engine for JavaScript and Blockly
MIT License
320 stars 119 forks source link

[Bug]: Blockly Blocks: DISCORD #1620

Closed sonny1985 closed 4 days ago

sonny1985 commented 1 week ago

I'm sure that

Script type

Blockly (General)

The problem

Hallo. Ich möchte ein Problem melden welches mit dem JavaScript adapter, generell zusammenhängt. Er hat ein Problem mit den "Blocklys" die vom Discord kommen.

Siehe Screenshot: Man weiß ja wie die übliche Ansicht da aussieht, möchte ich aber ein Discord block hinzufügen:; Seh ich da nur Kraut und Rüben :) lach Schaut so aus als würden alle verfügbaren Blöcke "übereinander liegen"

Seit ich von einer alten JS Adapter Version (8.4.1) auf die neueste gewechselt habe, funktionieren 2 meiner Scripte zwar (Sie beinhalten alleine Discord Blöcke)- kann sie aber nicht anzeigen (Couldn extract Blockly code...) Dachte mir, macht nichts,Installiere alten JS Adapter wieder, screenshote mir wie die Scripte zusammengestellt waren, und bau sie unter dem neuen JS Adapter 8.6.0 einfach neu.

Gesagt getan: 8.6.0 installiert: Und beim Versuch einen Discord Block hinzuzufügen ist mir das eigentlich erst aufgefallen. Hab Discord testhalber erneut installiert , selbiges Problem. (Mit altem JS Adapter funktioniert das einwandfrei)

JS Controller ist der 6.0.5, NodeJS 20.15.0

Ich hege den Verdacht das da entweder der JS Adapter einen "Bug" hat, oder der Discord Adapter. Da das aber mit einer älteren JS Adapter Version funktioniert, tippe ich darauf das es am JS Adapter liegt.

Bitte einfach sagen, was benötigt wird, um das Problem einzugrenzen oder herauszufinden, helfe natürlich gerne mit !. LG

problem

problem

iobroker.current.log (in debug mode!)

No response

Version of nodejs

20.15.0

Version of ioBroker js-controller

6.0.5

Version of adapter

8.6.0

klein0r commented 1 week ago

Bitte einfach sagen, was benötigt wird, um das Problem einzugrenzen oder herauszufinden, helfe natürlich gerne mi

Die Ausgaben / der Fehler in der Entwickler-Console vom Browser. Liegt an der Block-Definition im Discord-Adapter und dass da Funktionen verwendet werden, welche es in Blockly 10 nicht mehr gibt.

klein0r commented 1 week ago

Related to https://github.com/ioBroker/ioBroker.javascript/issues/1598

sonny1985 commented 1 week ago

`Uncaught TypeError: Blockly.Mutator is not a constructor at BlockSvg$$module$build$src$core$block_svg.init (blockly.js:962:21) at BlockSvg$$module$build$src$core$blocksvg.doInit (blockly_compressed.js:1117:408) at new BlockSvg$$module$build$src$core$block_svg (blockly_compressed.js:1176:284) at WorkspaceSvg$$module$build$src$core$workspace_svg.newBlock (blockly_compressed.js:1653:382) at domToBlockHeadless$$module$build$src$core$xml (blockly_compressed.js:194:214) at domToBlockInternal$$module$build$src$core$xml (blockly_compressed.js:184:150) at VerticalFlyout$$module$build$src$core$flyout_vertical.createFlyoutBlock (blockly_compressed.js:1490:219) at VerticalFlyout$$module$build$src$core$flyout_vertical.createFlyoutInfo (blockly_compressed.js:1488:205) at VerticalFlyout$$module$build$src$core$flyout_vertical.show (blocklycompressed.js:1486:444) at Toolbox$$module$build$src$core$toolbox$toolbox.updateFlyout (blockly_compressed.js:1643:387) at Toolbox$$module$build$src$core$toolbox$toolbox.setSelectedItem (blocklycompressed.js:1642:103) at Toolbox$$module$build$src$core$toolbox$toolbox.onClick (blockly_compressed.js:1631:97) at HTMLDivElement.f (blockly_compressed.js:85:149) at HTMLDivElement.s (helpers.ts:98:17) sentry.iobroker.net/api/56/envelope/?sentry_key=504499a725eb4898930d3b9e9da95740&sentry_version=7&sentry_client=sentry.javascript.browser%2F8.9.2:1

   Failed to load resource: the server responded with a status of 403 ()

sentry.iobroker.net/api/56/envelope/?sentry_key=504499a725eb4898930d3b9e9da95740&sentry_version=7&sentry_client=sentry.javascript.browser%2F8.9.2:1

   Failed to load resource: the server responded with a status of 403 ()

2helpers.ts:120 Uncaught TypeError: Blockly.Mutator is not a constructor at BlockSvg$$module$build$src$core$block_svg.init (blockly.js:962:21) at BlockSvg$$module$build$src$core$blocksvg.doInit (blockly_compressed.js:1117:408) at new BlockSvg$$module$build$src$core$block_svg (blockly_compressed.js:1176:284) at WorkspaceSvg$$module$build$src$core$workspace_svg.newBlock (blockly_compressed.js:1653:382) at domToBlockHeadless$$module$build$src$core$xml (blockly_compressed.js:194:214) at domToBlockInternal$$module$build$src$core$xml (blockly_compressed.js:184:150) at VerticalFlyout$$module$build$src$core$flyout_vertical.createFlyoutBlock (blockly_compressed.js:1490:219) at VerticalFlyout$$module$build$src$core$flyout_vertical.createFlyoutInfo (blockly_compressed.js:1488:205) at VerticalFlyout$$module$build$src$core$flyout_vertical.show (blocklycompressed.js:1486:444) at Toolbox$$module$build$src$core$toolbox$toolbox.updateFlyout (blockly_compressed.js:1643:387) at Toolbox$$module$build$src$core$toolbox$toolbox.setSelectedItem (blocklycompressed.js:1642:103) at Toolbox$$module$build$src$core$toolbox$toolbox.onClick (blockly_compressed.js:1631:97) at HTMLDivElement.f (blocklycompressed.js:85:149) at HTMLDivElement.s (helpers.ts:98:17) init @ blockly.js:962 doInit @ blockly_compressed.js:1117 BlockSvg$$module$build$src$core$block_svg @ blockly_compressed.js:1176 WorkspaceSvg$$module$build$src$core$workspace_svg.newBlock @ blockly_compressed.js:1653 domToBlockHeadless$$module$build$src$core$xml @ blockly_compressed.js:194 domToBlockInternal$$module$build$src$core$xml @ blockly_compressed.js:184 createFlyoutBlock @ blockly_compressed.js:1490 createFlyoutInfo @ blockly_compressed.js:1488 show @ blocklycompressed.js:1486 updateFlyout @ blockly_compressed.js:1643 setSelectedItem @ blocklycompressed.js:1642 onClick @ blockly_compressed.js:1631 f @ blockly_compressed.js:85 s @ helpers.ts:98 1 weiteren Frame anzeigen Weniger anzeigen`

sonny1985 commented 1 week ago

Ich hoffe das hilft euch.

genau diese Fehlermeldung `Uncaught TypeError: Blockly.Mutator is not a constructor bekam ich , als ich das JSON des Scripts (Als Sicherung aus dem alten JS Adapter) versuchte in den neuen JS Adapter per Blockly Import funktion einzuspielen (Wollte es nach dem Motto: Ich bin faul - probieren) :)

Dann ist da wohl Discord der Grund warum es nach Update zum JS Adapter, nichtmehr möglich war, die Scripte als Blockly überhaupt anzuzeigen (Obwohl sie einwandfrei Ihre Dienste verrichteten). LG derweil und vielen dank. Ich beobachte hier natürlich weiter und schaue mit !.

klein0r commented 6 days ago

Ja, ist ein reines Frontend-Thema mit der Definition der Blockly-Bausteine. Die Mutator-Blöcke sind das Problem

sonny1985 commented 5 days ago

Alles klar okay :) Danke. Soll ich auf der Discord Github Seite auch noch Bescheid geben (Dort einen Bug aufmachen) ? Oder weiß der Entwickler das bereits (Weil du den Discord hier ja "Related" bereits erwähnt hast) Bin auf Github noch nicht ganz fit :) und weiß nicht , inwieweit hier etwas automatisch "weitergegeben" wird.

LG und schönes Wochenende.

klein0r commented 5 days ago

Keine Ahnung, ich kenne den Entwickler nicht und habe niemanden informiert. Automatisch passiert da erstmal nichts.

crycode-de commented 5 days ago

Ist im nächsten Release vom Discord Adapter behoben. 🙂

klein0r commented 4 days ago

@crycode-de Perfekt, danke für die schnelle Lösung!