When we ship a JS-only fix, users with a long-lived tab keep running the old code until they hard-refresh — there is no clean way to push new code to an already-loaded page. Now /eskaera/check-status returns the module's installed_version as client_version, and the eskaera page embeds the same version in data-build-version on the cart container. The JS captures the page's build version at init; on every check-status response it compares them and triggers window.location. reload() on mismatch. A sessionStorage timestamp guards against reload loops if the versions stay disagreeing (cached HTML upstream). The version bump in __manifest__.py also invalidates the asset bundle URL hash, so even users without this signalling path get fresh JS on their next navigation. This is forward-looking: clients on the old JS (no check) still need one manual refresh today, but every future deploy will auto-recover. Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com> |
||
|---|---|---|
| .. | ||
| group_order_views.xml | ||
| load_from_history_templates.xml | ||
| portal_templates.xml | ||
| product_category_views.xml | ||
| product_template_views.xml | ||
| res_config_settings_views.xml | ||
| res_partner_views.xml | ||
| sale_order_views.xml | ||
| stock_picking_views.xml | ||
| website_sale_disable_cart.xml | ||
| website_templates.xml | ||