I think the problem was because all of the following things were nested in onKey function, and could only happen in this exact sequence:
- "opened from keybind" state was set.
- entity-valid + distance checks were made.
- Combinator opened via
player.opened = entity
, triggering on_gui_opened event.
- "opened from keybind" state was reset.
Issue here is on the second step, where if check failed, "opened from keybind" state was never reset back to nil, and all "on_gui_opened" events were skipped.
Fixed by always resetting state when exiting from onKey function, regardless of the check there in 0.1.13, which should address this issue, pretty sure.