Market context overrides of theme settings ignore the preset when `current` is a preset name

When config/settings_data.json stores current as a preset name ("current": "My preset"), a market’s settings_data.context.<market>.json applies its overrides on top of the schema defaults instead of that preset. Every other theme setting in that market silently falls back to its schema default.

Steps to reproduce

  1. Use a theme whose settings_data.json has "current": "<preset name>", with a preset that changes some settings from their defaults.
  2. In the theme editor, switch to a market, change one theme setting (e.g., the body background color), and save. The editor creates config/settings_data.context.<market>.json with only that override in current.
  3. Open the storefront in that market.

Expected: the preset’s values, plus the one override.
Actual: schema defaults for every setting except the override.

Markets without a context file still render the preset.

Hi @Roman, thanks for the reproduction steps. I wasn’t able to reproduce this using Horizon 4.3.0. With "current": "Horizon" and a Japan context containing only a page background override, Japan retained the Horizon preset values while applying the override.

Could you share a screen recording of the full reproduction steps and the ID of the affected theme?

Hi @Paige-Shopify , I was able to reproduce the issue in Horizon 4.3.0 with the following configuration.

markets.json

{
  "markets": {
    "us": {
      "parent": "@default"
    },
    "canada": {
      "parent": "@default"
    }
  }
}

settings_data.context.us.json

{
  "context": {
    "market": "us"
  },
  "current": {
    "page_background_color": "#FFEA8F"
  }
}

settings_data.json (only the “current” object was changed to the preset name)

{
  "current": "Horizon",
  "presets": {
    "Horizon": {
      "logo_height": 36,
      "logo_height_mobile": 28,
      "page_background_color": "{{ settings.color_palette.background }}",
      "page_width": "narrow",
      "page_text_color": "{{ settings.color_palette.foreground }}",
      "type_body_font": "inter_n4",
      "type_subheading_font": "inter_n5",
      "type_heading_font": "inter_n7",
      "type_accent_font": "inter_n7",
      "type_size_paragraph": "14",
      "type_line_height_paragraph": "body-loose",
      "type_font_h1": "heading",
      "type_size_h1": "56",
      "type_line_height_h1": "display-tight",
      "type_letter_spacing_h1": "heading-normal",
      "type_case_h1": "none",
      "type_font_h2": "heading",
      "type_size_h2": "48",
      "type_line_height_h2": "display-tight",
      "type_letter_spacing_h2": "heading-normal",
      "type_case_h2": "none",
      "type_font_h3": "heading",
      "type_size_h3": "32",
      "type_line_height_h3": "display-normal",
      "type_letter_spacing_h3": "heading-normal",
      "type_case_h3": "none",
      "type_font_h4": "heading",
      "type_size_h4": "24",
      "type_line_height_h4": "display-tight",
      "type_font_h5": "subheading",
      "type_size_h5": "14",
      "type_line_height_h5": "display-loose",
      "type_font_h6": "subheading",
      "type_size_h6": "12",
      "type_line_height_h6": "display-loose",
      "page_transition_enabled": false,
      "transition_to_main_product": false,
      "card_hover_effect": "none",
      "badge_position": "top-right",
      "badge_corner_radius": 100,
      "badge_sale_background_color": "{{ settings.color_palette.background }}",
      "badge_sale_text_color": "{{ settings.color_palette.foreground }}",
      "badge_sold_out_background_color": "#eef1ea",
      "badge_sold_out_text_color": "{{ settings.color_palette.foreground }}",
      "badge_text_transform": "none",
      "palette_primary_button_background": "{{ settings.color_palette.foreground }}",
      "palette_primary_button_text": "{{ settings.color_palette.background }}",
      "palette_primary_button_border": "{{ settings.color_palette.foreground }}",
      "primary_button_border_width": 0,
      "button_border_radius_primary": 14,
      "palette_secondary_button_background": "rgba(0,0,0,0)",
      "palette_secondary_button_text": "{{ settings.color_palette.foreground }}",
      "palette_secondary_button_border": "{{ settings.color_palette.foreground }}",
      "secondary_button_border_width": 1,
      "button_border_radius_secondary": 14,
      "cart_type": "drawer",
      "cart_price_font": "subheading",
      "show_cart_note": false,
      "show_add_discount_code": true,
      "drawer_background_color": "{{ settings.color_palette.background }}",
      "drawer_text_color": "{{ settings.color_palette.foreground }}",
      "drawer_border_color": "{{ settings.color_palette.color2 }}",
      "icon_stroke": "default",
      "palette_input_background": "{{ settings.color_palette.background }}",
      "palette_input_text": "{{ settings.color_palette.color1 }}",
      "palette_input_border": "{{ settings.color_palette.color2 }}",
      "input_border_width": 1,
      "inputs_border_radius": 4,
      "popover_background_color": "{{ settings.color_palette.background }}",
      "popover_text_color": "{{ settings.color_palette.foreground }}",
      "popover_border_radius": 14,
      "popover_border_color": "{{ settings.color_palette.color2 }}",
      "popover_border_width": 1,
      "currency_code_enabled_product_pages": false,
      "currency_code_enabled_product_cards": false,
      "currency_code_enabled_cart_items": false,
      "quick_add_background": "{{ settings.color_palette.background }}",
      "quick_add_text": "{{ settings.color_palette.foreground }}",
      "product_corner_radius": 0,
      "card_corner_radius": 4,
      "show_variant_image": false,
      "variant_swatch_width": 34,
      "variant_swatch_height": 34,
      "variant_swatch_radius": 32,
      "palette_variant_background": "{{ settings.color_palette.background }}",
      "palette_variant_text": "{{ settings.color_palette.foreground }}",
      "palette_variant_border": "{{ settings.color_palette.color2 }}",
      "palette_selected_variant_background": "{{ settings.color_palette.foreground }}",
      "palette_selected_variant_text": "{{ settings.color_palette.background }}",
      "palette_selected_variant_border": "{{ settings.color_palette.foreground }}",
      "variant_button_border_width": 1,
      "variant_button_radius": 14,
      "variant_button_width": "equal-width-buttons",
      "color_palette": {
        "background": "#ffffff",
        "foreground": "#000000",
        "color1": "#333333",
        "color2": "#DFDFDF"
      }
    }
  }
}

index.json (only contains one rich text heading)

{
  "sections": {
    "section_CPFpph": {
      "type": "section",
      "blocks": {
        "text_rrC8Ti": {
          "type": "text",
          "name": "t:names.heading",
          "settings": {
            "text": "<h2>New arrivals</h2>",
            "width": "fit-content",
            "max_width": "normal",
            "alignment": "left",
            "type_preset": "rte",
            "font": "var(--font-body--family)",
            "font_size": "",
            "line_height": "normal",
            "letter_spacing": "normal",
            "case": "none",
            "wrap": "pretty",
            "text_color": "",
            "background": false,
            "background_color": "#00000026",
            "corner_radius": 0,
            "padding-block-start": 0,
            "padding-block-end": 0,
            "padding-inline-start": 0,
            "padding-inline-end": 0
          },
          "blocks": {}
        }
      },
      "block_order": [
        "text_rrC8Ti"
      ],
      "name": "t:names.rich_text_section",
      "settings": {
        "content_direction": "column",
        "vertical_on_mobile": true,
        "horizontal_alignment": "flex-start",
        "vertical_alignment": "center",
        "align_baseline": false,
        "horizontal_alignment_flex_direction_column": "center",
        "vertical_alignment_flex_direction_column": "center",
        "gap": 25,
        "section_width": "page-width",
        "section_height": "small",
        "section_height_custom": 50,
        "background_media": "none",
        "background_color": "",
        "video_position": "cover",
        "background_image_position": "cover",
        "toggle_overlay": false,
        "overlay_color": "#00000026",
        "overlay_style": "solid",
        "gradient_direction": "to top",
        "border": "none",
        "border_width": 1,
        "border_opacity": 100,
        "border_color": "",
        "border_radius": 0,
        "padding-block-start": 48,
        "padding-block-end": 48
      }
    }
  },
  "order": [
    "section_CPFpph"
  ]
}

Notice that in the US store (the only store that has the market override), the heading font falls back to “Anonymous Pro”, which is the default in settings_schema.json:

      {
        "type": "font_picker",
        "id": "type_heading_font",
        "default": "anonymous_pro_n4",
        "label": "t:options.heading"
      },

The “Store default” and Canada correctly use the Inter font set in the Horizon preset.

Thanks for sharing those details, @Roman. It turns out I had reproduced the issue after all, but I was looking at the values shown in the theme editor rather than the computed styles in the rendered theme.

I’ve reported this internally for investigation, but I’m not able to provide a timeline for when it will be resolved at this time.