-
Notifications
You must be signed in to change notification settings - Fork 392
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
EventStream disconnects are "harmless errors" #743
Comments
I really want to implement the proper event-stream api where connecting to an event stream never has any effects, and exclusively retrieves events. Then there's no need to notify the user of lost event-stream connections, just constantly reconnect. As it is now, reconnecting the event stream causes a new request to build and launch. |
What do you think of splitting the current
The PUT can return a 201 if the repo has never been built before and a 200 (or 204?) otherwise. If the return code is not a 201 there would be no promise that the log endpoint contains anything. It however might contain stuff if a previously triggered build is still in progress. This would let our "client website" connect to the log endpoint all the time like you suggested and didn't have to tell the user. One thing I don't know how to do: where do we keep the Do we need to go from API v2 to v3 for this? Maybe we can stay at v2 and keep |
We've sketched this out in #358, but that's basically how it works. The trick is in designing the API such that:
Here's a sketch:
|
In lieu of any serious fix, is it possible to just append a message to the existing "Failed to connect to event stream" to have the user simply try refreshing the page? |
I think that would be a good first step. Especially considering this issue has been here since November last year and no one has had time to work on it. Do you want to give extending the error message a go @rheiland ? |
Not sure if this is the exact same issue but I get the dreaded What am I missing? How do I get back to being able to use binder with the original repo? Please advise. ps, 2020/01/15. Chrome did not show the same issue as Safari does. |
This is an issue that is very hard to debug for us. It seems to depend more on the user than the repo. Evidence of this is that repositories users report as broken with this error message "just work" for me. Sometimes switching browsers or location (other network provider) fixes things for the users as well. This means we rely on someone who has this problem to debug it or figure out how to make it reproducible for others. A PR that adds "try reloading the page" to the error message would be welcome and (empirically) would help a large fraction of users who encounter this problem. |
ref: jupyterhub/repo2docker#412 (comment)
A frequent source of "my repo doesn't build" comments comes from when the BinderHub loading page loses connection to the EventStream. This happens sometimes for builds (short and long :-/) as well as when you snooze your laptop. The visual feedback currently is unambiguous: your build failed.
You have to know that this error is one of these errors that you can ignore and fix by refreshing the page.
Can we detect losing connection to the event stream and distinguish it from the stream ending because the build is over? That way we could either reload automatically or present a different message to the user that encourages them to do so.
The text was updated successfully, but these errors were encountered: