Skip to content

[JENKINS-43848] new item categories served without cache expiration #22047

Closed

Description

@jenkins-infra-bot

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

Originally reported by teilo, imported from: new item categories served without cache expiration
  • assignee: jhaswell
  • status: Resolved
  • priority: Major
  • component(s): core
  • label(s): 2.73.1-fixed, regression
  • resolution: Fixed
  • resolved: 2017-08-12T22:54:00+00:00
  • votes: 0
  • watchers: 4
  • imported: 2025-11-24
Raw content of original issue

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
  • environment: Jenkins 2.0+

Activity

  1. jenkins-infra-bot commented on Apr 26, 2017

    @jenkins-infra-bot
    Author
  2. jenkins-infra-bot commented on Apr 26, 2017

    @jenkins-infra-bot
    Author
    teilo:
    • Original comment link
    • Raw content of original comment:

      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
      

    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
    
    
  3. jenkins-infra-bot commented on Apr 26, 2017

    @jenkins-infra-bot
    Author
    recena:
    • Original comment link
    • Raw content of original comment:

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

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

  4. jenkins-infra-bot commented on Apr 27, 2017

    @jenkins-infra-bot
    Author
    teilo:
    • Original comment link
    • Raw content of original 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

    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

  5. jenkins-infra-bot commented on Aug 12, 2017

    @jenkins-infra-bot
    Author
    scm_issue_link:
    • Original comment link
    • Raw content of original 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

    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
  6. jenkins-infra-bot commented on Aug 14, 2017

    @jenkins-infra-bot
    Author
    oleg_nenashev:
    • Original comment link
    • Raw content of original comment:

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

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

  7. jenkins-infra-bot commented on Aug 24, 2017

    @jenkins-infra-bot
    Author
    scm_issue_link:
    • Original comment link
    • Raw content of original 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)

    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 34bf393)

  8. removed
    bugFor changelog: Minor bug. Will be listed after features
    on Nov 25, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions