Status: Closed (View Workflow)
Steps to reproduce
- Run a long running pipeline
- Open pipeline results screen and follow along
- While running, restart the master
- Note that results screen never subsequently updates
What should happen
Results screen should trigger a full reload (which may involve logging in) but then continue following along.
Discovered by rtyler.
Some changes to the SSE Gateway to make this possible in Blue Ocean: https://github.com/jenkinsci/sse-gateway-plugin/pull/15.
And a video showing it working in the demo app ... https://youtu.be/QAt_OFIiLyM
And here's the kind of code we need to add in Blue Ocean: https://github.com/jenkinsci/sse-gateway-plugin/tree/server-died#handling-connection-errors
brody jamesdumay need some nice visuals for this for Blue Ocean. See the ugly thing I did in the video linked in the previous comment i.e. some visual cue to the user that the connection to the backend has died .... that we are trying to reconnect ... and then (perhaps) once we have reconnected that we are reloading the page. Not sure we need that last part, but ye might like to do something.
Nice one tfennelly, Brody nearly has something prepared.
I think handling the reconnection visually would be wonderful, and very much like apps I use day to day and love, very happy you thought of this.
Zeplin of all alert types https://zpl.io/ZKMPWD
Code changed in jenkins
User: Tom Fennelly
[FIX JENKINS-40326] Add support for reconnect after the backend server has been restarted (#15)
- onError event handler
- Added sample plugin
- Added error handler in sample
- Added ping endpoint
- install sse from parent dir
- remove .watch_trigger file
- Added **/.watch_trigger to .gitignore
- Server reconnect support
Detect that the server has been restarted and provide a mechanism for hooking into the restart
- Fix lint errors
- Modify sample app to only load EventSource polyfill for MSIE
- Better connection failure detection
- Api tweaks
- fixed typo
tfennelly do you mind picking this one up some time? as you did it nicely on other screens, its just karaoke that doensn't realise the session has expired etc.
You would think this is an edge case, but it matters a lot to some people who often work on the infra (eg Tyler) who love using karaoke (and sometimes they bounce the master).