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

404s pages are inconsistent - blank page, ugly 404 and flashy 404

    • Icon: Bug Bug
    • Resolution: Fixed
    • Icon: Major Major
    • blueocean-plugin
    • None
    • arctic, tasman

      In scope

      • If the run result is opened and no run or job exists it should go to the 404 page.

      Context
      https://ci.jenkins.io/blue/organizations/jenkins/Infra%2Fpatron/detail/PR-16/1/pipeline/

      [2016-11-17 04:48:18]  <@michaelneale>	@danielbeck: that pull request isn't in the UI any more
      [2016-11-17 04:48:40]  <@michaelneale>	@danielbeck: which may be why is blank (but should be 404)
      [2016-11-17 04:48:44]  <@danielbeck>	michaelneale merged?
      [2016-11-17 04:48:51]  <@danielbeck>	I merged it earlier
      [2016-11-17 04:48:56]  <@danielbeck>	but wtf this must be nicer
      [2016-11-17 04:49:05]  <@michaelneale>	Yes. Can you open ticket?
      [2016-11-17 04:49:07]  <@michaelneale>	That's bad.
      [2016-11-17 04:49:21]  <@i386>	so it looks like we are not handling 404s on that route anymore
      [2016-11-17 04:49:25]  <@i386>	so thats super broken
      [2016-11-17 04:51:44]  <@michaelneale>	Ok yes.
      [2016-11-17 04:52:04]  <@michaelneale>	Need to add acceptance test for that. I shall.

          [JENKINS-39809] 404s pages are inconsistent - blank page, ugly 404 and flashy 404

          James Dumay added a comment -

          tscherler ahhhh I thought we had killed all of those problems

          James Dumay added a comment - tscherler ahhhh I thought we had killed all of those problems

          Michael Neale added a comment - - edited

          tscherler jamesdumay not sure how but that link was a bad paste in irc (something else escaped). Pull requests DO open even when in a folder with spaces in the name (I just tested it to confirm), so ignore that "bad url" problem. Ie they are fine - everything is fine. How are you? But they are escaped correctly.

          The real problem you can see on PRs OR on branches. open a branch say like:

          http://localhost:8080/jenkins/blue/organizations/jenkins/keith/detail/michaelneale/9/pipeline

          to reproduce, pick any old multibranch project then change the ID to something non extistent, you can see it even in that case, nothign specific to PRs or URIs, just for non existing

          http://localhost:8080/jenkins/blue/organizations/jenkins/keith/detail/michaelneale/fjldsfdsafdsafdsa/pipeline

          You will see in console there is a 404 response (correct) but the GUI should show the awesome 404 page, not a blank screen.

          blue ocean has a great 404, page. Just fantastic page. What that page can do is amazing:

          Michael Neale added a comment - - edited tscherler jamesdumay not sure how but that link was a bad paste in irc (something else escaped). Pull requests DO open even when in a folder with spaces in the name (I just tested it to confirm), so ignore that "bad url" problem. Ie they are fine - everything is fine. How are you? But they are escaped correctly. The real problem you can see on PRs OR on branches. open a branch say like: http://localhost:8080/jenkins/blue/organizations/jenkins/keith/detail/michaelneale/9/pipeline to reproduce, pick any old multibranch project then change the ID to something non extistent, you can see it even in that case, nothign specific to PRs or URIs, just for non existing http://localhost:8080/jenkins/blue/organizations/jenkins/keith/detail/michaelneale/fjldsfdsafdsafdsa/pipeline You will see in console there is a 404 response (correct) but the GUI should show the awesome 404 page, not a blank screen. blue ocean has a great 404, page. Just fantastic page. What that page can do is amazing:

          Thorsten Scherler added a comment - - edited

          michaelneale yeah you are right. I actually can add another inconsistency

          http://localhost:8080/jenkins/blue/organizations/jenkins/longLog/activiy/

          or http://localhost:8080/jenkins/blue/s/

          ...actually it is hard to bring up the shinny page, still looking for a url pattern

          Thorsten Scherler added a comment - - edited michaelneale yeah you are right. I actually can add another inconsistency http://localhost:8080/jenkins/blue/organizations/jenkins/longLog/activiy/ or http://localhost:8080/jenkins/blue/s/ ...actually it is hard to bring up the shinny page, still looking for a url pattern

          found it in details

          Thorsten Scherler added a comment - found it in details

          Thorsten Scherler added a comment - - edited

          I am trying to reproduce this on my local instance but yet without luck.

          I created a freestyle project and did a build. Then went to detail view, then removed the project and reloaded. I get the 404.

          Maybe it is related to the dogfood instance which do not contain a prefix.

          Thorsten Scherler added a comment - - edited I am trying to reproduce this on my local instance but yet without luck. I created a freestyle project and did a build. Then went to detail view, then removed the project and reloaded. I get the 404. Maybe it is related to the dogfood instance which do not contain a prefix.

          Thorsten Scherler added a comment - - edited

          The only mentioning of the shiny one is in the pipelinePage.

                 if (pipeline && pipeline.$failed) {
                      return <NotFound />;
                  }
          

          Meaning I need to refactor the whole concept of the 404 pages.

          Thorsten Scherler added a comment - - edited The only mentioning of the shiny one is in the pipelinePage. if (pipeline && pipeline.$failed) { return <NotFound />; } Meaning I need to refactor the whole concept of the 404 pages.

          The PR https://github.com/jenkinsci/blueocean-plugin/pull/622 will cover all but some MOBX related 404, which will be picked up by imeredith in another ticket.

          Thorsten Scherler added a comment - The PR https://github.com/jenkinsci/blueocean-plugin/pull/622 will cover all but some MOBX related 404, which will be picked up by imeredith in another ticket.

          Michael Neale added a comment -

          Can you make a follow on ticket? the case I saw that didn't work was pipeline results screen (is that what you mean?)

          Michael Neale added a comment - Can you make a follow on ticket? the case I saw that didn't work was pipeline results screen (is that what you mean?)

          Exactly michaelneale the idea is that the mbox component will return always a valid object and not throw an exception when a 404 or 500 on the backend happens. This way each view can return the NotFound component they want, when they want.

          Thorsten Scherler added a comment - Exactly michaelneale the idea is that the mbox component will return always a valid object and not throw an exception when a 404 or 500 on the backend happens. This way each view can return the NotFound component they want, when they want.

          JENKINS-40032 please review if I have covered all bases michaelneale

          Thorsten Scherler added a comment - JENKINS-40032 please review if I have covered all bases michaelneale

            tscherler Thorsten Scherler
            danielbeck Daniel Beck
            Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

              Created:
              Updated:
              Resolved: