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

Schedule build icon no longer distinguishes in-queue state (regression in 2.321)

    XMLWordPrintable

Details

    • 2.347, 2.346.1

    Description

      Current nightly builds have a severe regression against LTS.
      As I do not monitor nightly regularly, I'm unable to provide exact version when it occurred, but quick scan suggests the root cause is move from gif icons to svg ones.

      In LTS, when you the build is in queue, the "schedule" icon (the clocks) recognize this, and changes to be blinking (clock_anime.gif).
      In nightly, the icon remains same, which enforces one more click from view to job to verify if the build is already queued.

      Note, that the status icon behaves similarly - it shows last status, or moving last status if the job is already running.

      From quick sca nit seems, that al the logic is already in jenkins, only identical icon is drawn, if the build is scheduled and in queue as if it is not in queue (not scheduled or running)

      Note, that the icon do not change, if "build now" (the green arrow/clock.gif) is pressed. The change would happen only after reload given page

      Attachments

        Issue Links

          Activity

            judovana jiri vanek created issue -
            judovana jiri vanek made changes -
            Field Original Value New Value
            Priority Minor [ 4 ] Major [ 3 ]
            basil Basil Crow made changes -
            Labels regression ux
            Summary build icon no longer distinguish in-queue state Build icon no longer distinguishes in-queue state (regression in 2.321)
            basil Basil Crow added a comment -

            judovana When filing regression bugs, it is helpful to include the steps to reproduce, expected results, and actual results as described in the Issue Reporting documentation. As a courtesy, I have taken the liberty of providing this information below:

            Steps to reproduce

            1. Install Jenkins 2.321.
            2. Install Schedule Build plugin 244.vce2a_2e926127.
            3. Create a Freestyle job and schedule it 1 day in the future.
            4. Go back to the dashboard.

            Expected results

            Note: These are the actual results when running with Jenkins 2.320.

            Observe that on the right there are two icons: a blinking "Schedule a build for ${JOB_NAME}" clock and a non-blinking "Schedule a build" clock.

            Actual results

            Observe that you do not see a blinking "Schedule a build for ${JOB_NAME}" clock on the left anymore. Instead it is replaced with a non-blinking green arrow. The button on the right for "Schedule a build" remains a non-blinking clock as before. It is jarring that one icon would be replaced but not the other. And there is a loss of information because the left icon no longer blinks, thereby no longer distinguishing the in-queue state as reported.

            Observation

            Bisection shows this was caused by JENKINS-68229 in jenkinsci/jenkins#5851.

            basil Basil Crow added a comment - judovana When filing regression bugs, it is helpful to include the steps to reproduce, expected results, and actual results as described in the Issue Reporting documentation. As a courtesy, I have taken the liberty of providing this information below: Steps to reproduce Install Jenkins 2.321. Install Schedule Build plugin 244.vce2a_2e926127. Create a Freestyle job and schedule it 1 day in the future. Go back to the dashboard. Expected results Note: These are the actual results when running with Jenkins 2.320. Observe that on the right there are two icons: a blinking "Schedule a build for ${JOB_NAME}" clock and a non-blinking "Schedule a build" clock. Actual results Observe that you do not see a blinking "Schedule a build for ${JOB_NAME}" clock on the left anymore. Instead it is replaced with a non-blinking green arrow. The button on the right for "Schedule a build" remains a non-blinking clock as before. It is jarring that one icon would be replaced but not the other. And there is a loss of information because the left icon no longer blinks, thereby no longer distinguishing the in-queue state as reported. Observation Bisection shows this was caused by JENKINS-68229 in jenkinsci/jenkins#5851 .
            basil Basil Crow made changes -
            Link This issue is caused by JENKINS-68229 [ JENKINS-68229 ]
            basil Basil Crow made changes -
            Summary Build icon no longer distinguishes in-queue state (regression in 2.321) Schedule build icon no longer distinguishes in-queue state (regression in 2.321)
            judovana jiri vanek added a comment -

            Hi! Deserved rebuke taken. thank you very much for looking into it even with such poor report.

            judovana jiri vanek added a comment - Hi! Deserved rebuke taken. thank you very much for looking into it even with such poor report.

            While I can't offer much spare time to work on this issue at the moment, I'll drop a quick reply how the issue could be addressed nevertheless, incase someone else wants to pick it up:

            From quick sca nit seems, that al the logic is already in jenkins, only identical icon is drawn, if the build is scheduled and in queue as if it is not in queue (not scheduled or running)

            This statement fits well, the logic itself remained untouched in Basil's mentioned PR. Reintroducing the ternary that checks whether the job is queued up or not placing the icon-clock-anime gif restores the regressed behavior.
            However, that would be the bad way, because the clock itself is no longer used in Jenkins itself to trigger a build and subject to removal in future versions of Jenkins in favor of more up to date icons.

            The better approach (in my mind) would be to create a pulsing CSS animation of the play.svg or something similar that indicates the job is queued up. (See progress-animation.less for already existing CSS animations in Jenkins)
             

            notmyfault Alexander Brandes added a comment - While I can't offer much spare time to work on this issue at the moment, I'll drop a quick reply how the issue could be addressed nevertheless, incase someone else wants to pick it up: From quick sca nit seems, that al the logic is already in jenkins, only identical icon is drawn, if the build is scheduled and in queue as if it is not in queue (not scheduled or running) This statement fits well, the logic itself remained untouched in Basil's mentioned PR. Reintroducing the ternary that checks whether the job is queued up or not placing the icon-clock-anime gif restores the regressed behavior. However, that would be the bad way, because the clock itself is no longer used in Jenkins itself to trigger a build and subject to removal in future versions of Jenkins in favor of more up to date icons. The better approach (in my mind) would be to create a pulsing CSS animation of the play.svg or something similar that indicates the job is queued up. (See progress-animation.less for already existing CSS animations in Jenkins)  
            judovana jiri vanek added a comment -

            Hello!
            Thanx a lot for insight!
            The removal of clocks is expected seeing the svg icons, and I do not expect them be back. Still the logic that the icon will be different or animated if the build is already scheduled remains as valid. Also it is notable, that animated svg icons already have precedent in modern-style jenkins.

            Thanx a lot all!

            judovana jiri vanek added a comment - Hello! Thanx a lot for insight! The removal of clocks is expected seeing the svg icons, and I do not expect them be back. Still the logic that the icon will be different or animated if the build is already scheduled remains as valid. Also it is notable, that animated svg icons already have precedent in modern-style jenkins. Thanx a lot all!
            alecharp Adrien Lecharpentier made changes -
            Assignee Adrien Lecharpentier [ alecharp ]
            alecharp Adrien Lecharpentier made changes -
            Status Open [ 1 ] In Progress [ 3 ]
            alecharp Adrien Lecharpentier made changes -
            Status In Progress [ 3 ] In Review [ 10005 ]

            I opened a PR to have the previous behavior.

            alecharp Adrien Lecharpentier added a comment - I opened a PR to have the previous behavior.
            alecharp Adrien Lecharpentier made changes -
            Remote Link This issue links to "jenkinsci/jenkins#6543 (Web Link)" [ 27715 ]
            judovana jiri vanek added a comment - https://github.com/jenkinsci/jenkins/pull/6534
            alecharp Adrien Lecharpentier made changes -
            Link This issue is related to JENKINS-68413 [ JENKINS-68413 ]
            basil Basil Crow made changes -
            Released As 2.347
            Resolution Fixed [ 1 ]
            Status In Review [ 10005 ] Fixed but Unreleased [ 10203 ]
            basil Basil Crow made changes -
            Status Fixed but Unreleased [ 10203 ] Closed [ 6 ]
            basil Basil Crow made changes -
            Labels regression ux lts-candidate regression ux
            notmyfault Alexander Brandes made changes -
            Labels lts-candidate regression ux 2.346.1-fixed lts-candidate regression ux
            notmyfault Alexander Brandes made changes -
            Labels 2.346.1-fixed lts-candidate regression ux 2.346.1-fixed regression ux
            notmyfault Alexander Brandes made changes -
            Released As 2.347 2.347, 2.346.1

            People

              alecharp Adrien Lecharpentier
              judovana jiri vanek
              Votes:
              0 Vote for this issue
              Watchers:
              4 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: