Hops Asynchronous stuck in the 'Solving...' state indefinitely

Hi

I have a main grasshopper script which has several Hops components. I am using ‘Query Model Objects’ to get the geometry inputs for my Hops components. I want them to be solved asynchronously such that the user does not have to wait after taking any action.

For some reason, the Hops Components are stuck in the ‘Solving…’ state indefinitely unless I reconnect an input or re-enable the component manually.

I am unable to replicate this issue as a unit test case. A single hops solves asynchronously. I am not really sure where the issue is. Is it because of too many hops components? Is there some weird interaction with the query component?

Also here’s another forum post from 4 years ago which outlined the same issue -

Solved it! The issue was rather simple actually. When you have one async hops feeding input to another async hops, there is actually no input for the second hops until the first hops has finished solving. Therefore the second hops stuck in a constant solving lock.

The way to address this issue is to use a gate that stores the outputs of the first async hops and only updates the value when the it has finished solving. The second hops only gets the input after the first hops has finished solving.

I am using Heteroptera’s Stream Freeze/ Gate Component for this.