Building in public often means talking about shiny new features, but in mature production applications, the most critical engineering work is usually brownfield problem solving—iterating on top of years and years of code logic and/or production system decisions.

On DEV (powered by the open-source Forem codebase), we have a hybrid architecture that blends Rails server rendering, Fastly edge caching, and lightweight client-side navigation (via InstantClick). This setup delivers sub-100ms page transitions, but partial page swaps combined with aggressive edge caching create delicate deployment challenges.

We shipped a fix PR #23789 which helps solve for an inherently delicate caching mismatch issue in web navigation. This is something that has existed practically since the beginning of DEV, and we have had several flakey fixes for the problem at times, but I feel good about this being a step in the right direction — albeit not a perfectly complete fix by any means.

The Problem: Cache Mismatches Across Deployments

When we deploy new CSS updates, Rails generates new asset digest hashes (e.g., views-v2.css replaces views-v1.css).