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

new item categories served without cache expiration

    XMLWordPrintable

    Details

    • Similar Issues:

      Description

      SInce the introduction of the revamped "new Item" page the list of items that can be populated via an XMLHttpRequest.

      However this is a bad thing to do as the list should not be considered static.

      OSS can add to the list if a plugin is installed.
      Third party extensions can contribute items (and even remove items from the list) dynamically.

      This causes a big issue with IE as by default IE legitimatley caches the responses of an XMLHttpRequest unless told otherwise.

      Workaround is to force a reload after cleaning the cache - but this is bad UX.

      NOTE: there are probably other places in jenkins core that handle XMLHttpRequest requests that are not adding correct cache control headers - this should probably be investigated too.

      Found with IE 11 on windows 10 but likely affects all versions of IE 11 and possibly (but untested Edge)

      Steps to reproduce:

      • Load the New Item page in your IE11 browser
      • Install a new plugin which provides a new Item type
      • Navigate to the new Item page again in your browser

      Observed Behavior:

      • You will not see the new item listed

      Expected Behavior:

      • The new item should show up in the list without a special action or refresh by the user

        Attachments

          Activity

          Hide
          teilo James Nord added a comment - - edited

          request headers as follows (Cookie stripped):

          Accept: */*
          Accept-Encoding: gzip, deflate
          Accept-Language: en-GB
          Connection: Keep-Alive
          Host: localhost:8080
          Referer: http://localhost:8080/job/folder/job/subfolder/newJob
          User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64; Trident/7.0; Touch; rv:11.0) like Gecko
          X-Requested-With: XMLHttpRequest
          

          response headers as follows:

          Content-Encoding: gzip
          Content-Length: 537
          Content-Type: application/json; charset=UTF-8
          Date: Wed, 26 Apr 2017 09:48:41 GMT
          Server: Jetty(9.2.z-SNAPSHOT)
          X-Content-Type-Options: nosniff
          
          Show
          teilo James Nord added a comment - - edited request headers as follows (Cookie stripped): Accept: */* Accept-Encoding: gzip, deflate Accept-Language: en-GB Connection: Keep-Alive Host: localhost:8080 Referer: http://localhost:8080/job/folder/job/subfolder/newJob User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64; Trident/7.0; Touch; rv:11.0) like Gecko X-Requested-With: XMLHttpRequest response headers as follows: Content-Encoding: gzip Content-Length: 537 Content-Type: application/json; charset=UTF-8 Date: Wed, 26 Apr 2017 09:48:41 GMT Server: Jetty(9.2.z-SNAPSHOT) X-Content-Type-Options: nosniff
          Hide
          recena Manuel Recena Soto added a comment -

          James Nord, this is not a UX issue but a simple bug related with IE.

          Show
          recena Manuel Recena Soto added a comment - James Nord , this is not a UX issue but a simple bug related with IE.
          Hide
          teilo James Nord added a comment -

          It is a bug that affects the user experience when the user uses IE.
          UX is surely for all user experience bugs not just the interaction flow/ layout?
          Is there a definition of all the labels meanings on the wiki or somewhere, I could not find it

          Show
          teilo James Nord added a comment - It is a bug that affects the user experience when the user uses IE. UX is surely for all user experience bugs not just the interaction flow/ layout? Is there a definition of all the labels meanings on the wiki or somewhere, I could not find it
          Hide
          scm_issue_link SCM/JIRA link daemon added a comment -

          Code changed in jenkins
          User: Josiah Haswell
          Path:
          core/src/main/java/hudson/model/View.java
          test/src/test/java/hudson/model/ViewTest.java
          http://jenkins-ci.org/commit/jenkins/34bf393255bb603bb3b0fb921a41fc3916d16f42
          Log:
          [FIX JENKINS-43848] - Lack of cache-invalidation headers results in stale item list (#2973)

          • Saving progress for review
          • Adding licenses
          • Adding integration test for headers
          • Removing proposal for refactoring to method objects
          • Removing whitespace changeswq
          • Fixing test
          Show
          scm_issue_link SCM/JIRA link daemon added a comment - Code changed in jenkins User: Josiah Haswell Path: core/src/main/java/hudson/model/View.java test/src/test/java/hudson/model/ViewTest.java http://jenkins-ci.org/commit/jenkins/34bf393255bb603bb3b0fb921a41fc3916d16f42 Log: [FIX JENKINS-43848] - Lack of cache-invalidation headers results in stale item list (#2973) Saving progress for review Adding licenses Adding integration test for headers Removing proposal for refactoring to method objects Removing whitespace changeswq Fixing test
          Hide
          oleg_nenashev Oleg Nenashev added a comment -

          The fix has been integrated towards Jenkins 2.74. Marking it as LTS Candidate

          Show
          oleg_nenashev Oleg Nenashev added a comment - The fix has been integrated towards Jenkins 2.74. Marking it as LTS Candidate
          Hide
          scm_issue_link SCM/JIRA link daemon added a comment -

          Code changed in jenkins
          User: Josiah Haswell
          Path:
          core/src/main/java/hudson/model/View.java
          test/src/test/java/hudson/model/ViewTest.java
          http://jenkins-ci.org/commit/jenkins/9a8fdb9ac32702552f156d2898dffe2e67402c46
          Log:
          [FIX JENKINS-43848] - Lack of cache-invalidation headers results in stale item list (#2973)

          • Saving progress for review
          • Adding licenses
          • Adding integration test for headers
          • Removing proposal for refactoring to method objects
          • Removing whitespace changeswq
          • Fixing test

          (cherry picked from commit 34bf393255bb603bb3b0fb921a41fc3916d16f42)

          Show
          scm_issue_link SCM/JIRA link daemon added a comment - Code changed in jenkins User: Josiah Haswell Path: core/src/main/java/hudson/model/View.java test/src/test/java/hudson/model/ViewTest.java http://jenkins-ci.org/commit/jenkins/9a8fdb9ac32702552f156d2898dffe2e67402c46 Log: [FIX JENKINS-43848] - Lack of cache-invalidation headers results in stale item list (#2973) Saving progress for review Adding licenses Adding integration test for headers Removing proposal for refactoring to method objects Removing whitespace changeswq Fixing test (cherry picked from commit 34bf393255bb603bb3b0fb921a41fc3916d16f42)

            People

            • Assignee:
              jhaswell Josiah Haswell
              Reporter:
              teilo James Nord
            • Votes:
              0 Vote for this issue
              Watchers:
              4 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved: