Uploaded image for project: 'Tapestry'
  1. Tapestry
  2. TAPESTRY-2128

If-Modified-Since always returns not modified for js and css in jar files

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Closed
    • Major
    • Resolution: Fixed
    • 5.0.9
    • 5.0.10
    • tapestry-core
    • None
    • Mac OSX, Tomcat-5.5.25

    Description

      I'm looking at upgrading from 5.0.6 to 5.0.9, after the upgrade I'm getting the old version of tapestry.js every time I load the page.

      I tracked the problem back through the AssetDispatcher, ResourceCacheImpl and finally the URLChangeTracker. It looks like requests coming in for the css and js files in the jars are using a url like this:
      jar:file:/Users/joshcanfield/workspace/out/exploded/thedailytubeWeb/WEB-INF/lib/tapestry-core-5.0.9.jar!/org/apache/tapestry/default.css

      The URLChangeTracker sees that the protocol isn't file and returns 0.

      ResourceCacheImpl assumes that the return value is the last update time, and stores it. Then when AssetDispatcher checks to see if the file has changed since the date passed in the If-Modified-Since header, it's always going to be less so it sends a SC_NOT_MODIFIED error back to the browser.

      It seems like the right behavior here would be to return the current time, or even Long.MAX_VALUE

      Attachments

        Activity

          People

            hlship Howard Lewis Ship
            joshcanfield Josh Canfield
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: