ollixx / node-red-contrib-components

reusable flows with a well defined api
MIT License
8 stars 9 forks source link

Components in Subflows break Component Lookup #18

Closed rozek closed 3 years ago

rozek commented 3 years ago

First of all:

I love "Components"! I love the underlying idea, the possibility of being able to define parameters and having to provide corresponding arguments - although I would recommend reducing the list of "ideas, not yet done" and concentrate on relevant details only...

...and on fixing bugs and flaws, first.

A really annoying bug is: as soon as one places a "component" in a subflow, "run component" nodes no longer find any "start flow" nodes. It seems that existing components continue to work, but no new "run component" nodes may be configured any longer.

If I find some spare time, I'll also try to locate the bug and fix it myself (that's why I forked your repo) but, as you may be faster, you should know about this problem, first.

ollixx commented 3 years ago

Hi Andreas, thanks for reporting that issue! Indeed, the flow definitions are (were) only expected in regular tabs. I obviously never thought about putting a component definition into a subflow. But hey, why shouldn't we be allowed to do so? I already found the solution to that issue and will fix and release it asap.

Regarding your comments about my "ideas, not yet done" list: I had and still have a lot of ideas, how to improve this NR plug in. Maybe it's not professional to make them public, but I like to share my ideas and I think the github README is a good place to store them for later. And you are absolutely right, Bugs have priority. That's why I try to be as responsive as my time allows. But I also rely on users reporting them, just like you did. So if you find more bugs or flaws, please don't hesitate to open another issue!

Cheers, :oliver

rozek commented 3 years ago

Hello Oliver,

thanks for the quick response.

Indeed, I may already have found another bug, but did not have the time to diuble-check it (FYI: when I passed a negative number, namely -4, to a function expecting a number, I received a large positive number instead). As soon as I'll find the time to reproduce my problem, I'll raise another issue.

Thanks a lot for your effort!

Kind regards,

Andreas Rozek

ollixx commented 3 years ago

The fix has yet to wait. I am stuck with a very important side effect, that blocks the usage of components (their definition) inside a subflow. I have a discussion about it here: https://discourse.nodered.org/t/do-nodes-in-a-subflow-receive-nr-events/50012

ollixx commented 3 years ago

released the fix just now. I fixed the problem of an empty list of components to select in the "component" node. "component_in" and "component_out" may not be used inside subflows. There are some measuers not to communicate that to the user and at runtime.

rozek commented 3 years ago

Thanks for the fix. I'll have a look at it asap

rozek commented 3 years ago

oops,

when starting Node-RED again after npm update, I get the message

(node:778) MaxListenersExceededWarning: Possible EventEmitter memory leak detected. 11 comp-flow-return listeners added to [EventEmitter]. Use emitter.setMaxListeners() to increase limit
ollixx commented 3 years ago

yeah, that's just a warning and not harmful. Will fix that with the next release.