Binder does not recover from error in contrast to local Voila run

I’ve written a ipynb notebook for an interactive plot using ipywidgets and interact.

When I run it locally with voila it works perfectly.

However, when I deploy using mybinder, the plot does not recover from errors (locally it does).

What’s the reason for this? I would expect mybinder to work just like a local run using voila CLI.

Here’s the repo: GitHub - corneliusroemer/covspectrum-jupyter: Make interactive plots from covSpectrum data

And here’s the deployment: https://hub.gke2.mybinder.org/user/corneliusroemer-pectrum-jupyter-lxmg09se/voila/render/plots.ipynb?token=eMci0pMMTaSmOmCy03HdkA

Try changing the country from Denmark to Germany and you’ll see what I mean. Locally, it’ll first throw an error, but once Germany is entered correctly, the plot will switch.

On binder, it never recovers. Even if I go back to Denmark, I just see red.

I’ve added some error catching logic so that it doesn’t throw any errors anymore (locally).

But now nothing happens on binder. Why does interact not work when running voila using binder?

I managed to get it to work. Not quite sure what did it in the end. Maybe adding plt.show()

Weird that local voila and binder would behave differently. Made it hard to debug. If anyone has any tips, let me know.

Here’s the result: https://mybinder.org/v2/gh/corneliusroemer/covspectrum-jupyter/HEAD?urlpath=voila%2Frender%2Fplots.ipynb

And here’s the code: covspectrum-jupyter/plots.ipynb at 51f9f390de5d0ca0b95f9b4abfaedd1901c28b7d · corneliusroemer/covspectrum-jupyter · GitHub