Since February 1, Reserved Metafield Values Set by Other Apps Are No Longer Retrieved from Theme App Extension Liquid Files

Hello,

As mentioned in the title, metafield values that were successfully retrieved until January 31 have suddenly stopped being retrieved at some point after February 1.

I am using the following code in my theme extension:

<div id="{{ block.id }}">
  <h2 class="ebooks__title">Ebooks</h2>
  <div class="ebooks">
    {% for order in customer.orders %}
      {% for line_item in order.line_items %}
        {% if line_item.product.metafields['app--1234567--hogehoge'].content_id != null %}
          <div class="line-item">
            <div class="line-item__thumbnail">{{ line_item | image_url: height: 120 | image_tag }}</div>
            <div class="line-item__wrapper">
              <p class="line-item__title">{{ line_item.title }}</p>
              <div class="line-item__menu">
                <div class="line-item__button">
                  <a href="/apps/hogehoge/products/{{ line_item.product.id }}" class="button">View</a>
                </div>
                <p class="line-item__date">Order Date:{{ order.created_at | date: format: 'abbreviated_date' }}</p>
              </div>
            </div>
          </div>
        {% endif %}
      {% endfor %}
    {% endfor %}
  </div>
</div>

{% schema %}
{
  "name": "Ebooks",
  "target": "section",
  "stylesheet": "ebooks.css",
  "javascript": "ebooks.js",
  "templates": ["index", "customers/account", "customers/order"],
  "settings": []
}
{% endschema %}

This extension, which is added to the order history page, is intended to display only those orders that have a value set for a specific metafield.

However, the following line no longer retrieves a value:

line_item.product.metafields['app--1234567--hogehoge'].content_id

Has there been any change on Shopify’s side?

Could this update be affecting the retrieval of the metafield values?

I recently developed a theme extension that utilizes app metafields. The format I’m using is app.metafields.xxx_namespace .xxx_key

I did the following after posting, but it did not solve the issue:

1. Verification of Metafield Settings

I checked the current metafield definition’s access using the GraphQL Admin API and confirmed that both admin and storefront are set to PUBLIC_READ.
Therefore, I understand that it should be accessible from Liquid.

2. Created a New Key with PUBLIC_READ Access Specified in the Metafield Definition

Executed the following:

mutation {
  metafieldDefinitionCreate(definition: {
    namespace: "$app:hogehoge"
    key: "content_id2"
    ownerType: PRODUCT
    type: "json"
    name: "contentId"
    access: {
      storefront: PUBLIC_READ
    }
  }) {
    userErrors {
      field
      message
    }
  }
}

I tried to retrieve the metafield from Theme App Extensions, but it could not be retrieved.

That’s all.

Is there any solution to this issue?