CBS Website Currency Switcher - Debug Status

If you are seeing this page, that alone confirms the currently installed module is at least new enough to have this route - if it 404s instead, the server is still running an older version than you think.

Installed module version (from the manifest Odoo actually loaded)18.0.4.25.0
Cookie 'cbs_website_display_currency_id' as read by the SERVER (request.httprequest.cookies)None
Session key 'website_display_currency_id' as read by the SERVER (request.session)None
get_display_currency(env) result - this is exactly what every price-conversion check in this module usesFalse (no conversion - prices will show un-converted)
Full raw Cookie header the server received
Is this visitor logged in?No (public/anonymous)

Reload this page immediately after picking a different currency from the header dropdown (same tab, no other tabs open to this site) and compare the values above each time.

Live end-to-end grid-card simulation (product: [AP263] 4 CANDLE SET)

website.currency_id (what the template hardcodes as source/display_currency)USD (id=1)
price_reduce value returned by _get_sales_prices (this is what the template's t-out actually receives)202
get_converted_value_currency(that exact value) - what value_to_html's marker check seesFalse (not marked as converted)
Actual HTML value_to_html produced for this value+options, RIGHT NOW, calling the real method$ 202.0

If the currency shown inside that last HTML string does not match the currency you have selected, the bug is confirmed to be inside value_to_html/the marker check itself, not in how the grid calls it or in anything upstream (cookie/session) - all of which this page's own table above already shows are correct.

Caching

As of this version, /shop and product pages now get Cache-Control: no-store and Vary: Cookie response headers whenever a visitor has chosen a display currency, specifically to stop a CDN/reverse-proxy cache (confirmed as the actual cause on this site - the simulation above matched the chosen currency correctly while the real page did not, which only a cache sitting in front of this server can explain) from serving one visitor's cached page to a different visitor with a different currency choice.