diff --git a/app.rb b/app.rb index 8d0f2df..9d87cd9 100644 --- a/app.rb +++ b/app.rb @@ -20,6 +20,14 @@ module Maptool set :sessions, httponly: true, secure: production?, same_site: :lax, secret: ENV.fetch("SESSION_SECRET") { SecureRandom.hex(32) } + # Cache-busts /js and /css requests: browsers (and a caching proxy in + # front of production, see docs/deployment.adoc) hang onto static + # assets for hours, so without this a deploy that changes app.js/css + # can go unnoticed by an already-open tab until that cache expires. + # A fresh value every process start (i.e. every deploy, which restarts + # the container) is enough — it doesn't need to survive restarts. + ASSET_VERSION = Time.now.to_i + OFFLINE_PMTILES_PATH = File.join(__dir__, "data", "offline.pmtiles") GPX_STORE = GpxStore.new(File.join(__dir__, "data", "gpx")) LIVETRACK_STORE = LiveTrackStore.new(File.join(__dir__, "data", "livetrack.json")) diff --git a/views/layout.erb b/views/layout.erb index d827418..076a307 100644 --- a/views/layout.erb +++ b/views/layout.erb @@ -5,12 +5,30 @@