Track every update, new feature, and improvement we ship to Relevate.
original_line_price)0 (i.e. did nothing). Legacy rules saved without a variantId fall back to fetching it from the product handlecompare_at_pricefield on line items. After each cart fetch we hydrate compare-at values from /products/{handle}.jsand cache per variant, so the original price always shows crossed out when one exists/app/smart-cart/triggers(no longer needed)/cart/update calls — drawer only opens after an explicit /cart/add