Uploaded image for project: 'Jenkins'
  1. Jenkins
  2. JENKINS-40326

Pipeline results (karaoke) doesn't reload when master is restarted

    XMLWordPrintable

Details

    • tethys, pannonian

    Description

      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.

      Attachments

        Activity

          michaelneale Michael Neale added a comment - - edited

          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).

          michaelneale Michael Neale added a comment - - edited 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).
          tfennelly Tom FENNELLY added a comment -

          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

          tfennelly Tom FENNELLY added a comment - 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
          tfennelly Tom FENNELLY added a comment -

          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.

          tfennelly Tom FENNELLY added a comment - 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.
          michaelneale Michael Neale added a comment -

          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.

          michaelneale Michael Neale added a comment - 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.
          brody Brody Maclean added a comment -

          Zeplin https://zpl.io/Z1SMobv

          Zeplin of all alert types https://zpl.io/ZKMPWD

          brody Brody Maclean added a comment - Zeplin https://zpl.io/Z1SMobv Zeplin of all alert types https://zpl.io/ZKMPWD

          Code changed in jenkins
          User: Tom Fennelly
          Path:
          .gitignore
          README.md
          package.json
          src/main/java/org/jenkinsci/plugins/ssegateway/Endpoint.java
          src/main/js/SSEConnection.js
          src/main/js/ajax.js
          sse-gateway-sample/README.md
          sse-gateway-sample/gulpfile.js
          sse-gateway-sample/img/sse-gateway-sample-plugin.gif
          sse-gateway-sample/package.json
          sse-gateway-sample/pom.xml
          sse-gateway-sample/src/main/java/org/jenkinsci/plugins/ssegateway/sample/SSESamplePage.java
          sse-gateway-sample/src/main/js/sse-gateway-sample.js
          sse-gateway-sample/src/main/js/sse-gateway-sample.less
          sse-gateway-sample/src/main/resources/index.jelly
          sse-gateway-sample/src/main/resources/org/jenkinsci/plugins/ssegateway/sample/SSESamplePage/index.jelly
          http://jenkins-ci.org/commit/sse-gateway-plugin/6c305896819d435016c1ef2f60aa653ce6981b30
          Log:
          [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
          • 0.0.16-tfbeta1
          scm_issue_link SCM/JIRA link daemon added a comment - Code changed in jenkins User: Tom Fennelly Path: .gitignore README.md package.json src/main/java/org/jenkinsci/plugins/ssegateway/Endpoint.java src/main/js/SSEConnection.js src/main/js/ajax.js sse-gateway-sample/README.md sse-gateway-sample/gulpfile.js sse-gateway-sample/img/sse-gateway-sample-plugin.gif sse-gateway-sample/package.json sse-gateway-sample/pom.xml sse-gateway-sample/src/main/java/org/jenkinsci/plugins/ssegateway/sample/SSESamplePage.java sse-gateway-sample/src/main/js/sse-gateway-sample.js sse-gateway-sample/src/main/js/sse-gateway-sample.less sse-gateway-sample/src/main/resources/index.jelly sse-gateway-sample/src/main/resources/org/jenkinsci/plugins/ssegateway/sample/SSESamplePage/index.jelly http://jenkins-ci.org/commit/sse-gateway-plugin/6c305896819d435016c1ef2f60aa653ce6981b30 Log: [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 0.0.16-tfbeta1
          tfennelly Tom FENNELLY added a comment -

          Reopening ... JIRA being too clever on me

          tfennelly Tom FENNELLY added a comment - Reopening ... JIRA being too clever on me
          brody Brody Maclean added a comment -

          https://zpl.io/23S6ep

          `rgba(0,0,0,0,25)` overlay div

          brody Brody Maclean added a comment - https://zpl.io/23S6ep `rgba(0,0,0,0,25)` overlay div

          People

            tfennelly Tom FENNELLY
            michaelneale Michael Neale
            Votes:
            1 Vote for this issue
            Watchers:
            5 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: