Hi,
It is terribly difficult to know exactly what is going on without a reprex (FAQ: How to do a minimal reproducible example ( reprex ) for beginners) of sorts. Reactivity is already complex and becomes even worse with multiple events like this. Think you can make a simple app that has a set of buttons with observeEvents to mimic your app in the most simple way?
If not, I would suggest looking at shiny::isolate
. This might stop the flow between doors as you describe it. We typically use it to limit continous reactivity.