Mavenomics / MavenWorks

Agile Dashboarding, anywhere
https://mavenworks.com
GNU General Public License v3.0
18 stars 2 forks source link

Error in registerUdps() breaks JupyterLab app #22

Closed quigleyj-mavenomics closed 5 years ago

quigleyj-mavenomics commented 5 years ago

When installing the JupyterLab extension on a 'fresh' setup, if you haven't restarted the Jupyter server, then all requests to /serverconfig/ fail. The registerUdps() function throws an error in this case (reasonable), but the widget loader doesn't handle this error. The text TypeError: failed to fetch replaces any dashboard widget on the page, offering no resolution or even hint at what's wrong.

The widgets should handle this error, displaying a dialog to inform users of the problem and resolution. It's reasonable to refuse to load after this, but there's technically nothing stopping us from continuing anyway. UDPs just wouldn't work.

User-impact: When installing on a random Binderhub, the user must restart the Jupyter server to get the new server endpoint setup. AFAICT, Binder doesn't let you do this, so in this case the user is simply stuck. More relevantly, any new user must restart the Jupyter server that they're running in order to setup everything successfully. This may not be something they think to do when installing everything.