[object Object]

← back to Designer Wallcoverings

Repair tool: collapse newlines for single-line metafield types (fixes 25 multi-line composition values Shopify rejected)

e4ee07724f56414e7998dfcbc0a902a61a864d8c · 2026-06-24 16:40:41 -0700 · Steve Abrams

Files touched

Diff

commit e4ee07724f56414e7998dfcbc0a902a61a864d8c
Author: Steve Abrams <steve@designerwallcoverings.com>
Date:   Wed Jun 24 16:40:41 2026 -0700

    Repair tool: collapse newlines for single-line metafield types (fixes 25 multi-line composition values Shopify rejected)
---
 shopify/scripts/fix-double-encoded-metafields.js | 8 +++++++-
 1 file changed, 7 insertions(+), 1 deletion(-)

diff --git a/shopify/scripts/fix-double-encoded-metafields.js b/shopify/scripts/fix-double-encoded-metafields.js
index 36b5a448..f41adb14 100644
--- a/shopify/scripts/fix-double-encoded-metafields.js
+++ b/shopify/scripts/fix-double-encoded-metafields.js
@@ -76,7 +76,13 @@ async function run() {
           const clean = unwrap(mf.value);
           if (clean == null) continue; // not the {type,value} shape
           hit = true; fieldsFixed++;
-          pending.push({ ownerId: node.id, namespace: mf.namespace, key: mf.key, type: mf.type, value: clean });
+          // A single-line metafield rejects values containing newlines. Some unwrapped
+          // composition values are multi-line — collapse whitespace for those types.
+          let outVal = clean;
+          if ((mf.type === 'single_line_text_field' || mf.type === 'string') && /[\r\n]/.test(outVal)) {
+            outVal = outVal.replace(/\s*[\r\n]+\s*/g, ' ').trim();
+          }
+          pending.push({ ownerId: node.id, namespace: mf.namespace, key: mf.key, type: mf.type, value: outVal });
           if (examples.length < 8) examples.push(`${node.handle}  ${mf.namespace}.${mf.key}: ${mf.value.slice(0,55)} -> "${clean}"`);
         }
       }

← ef5c99cb Guard cadence-import against {type,value} blob: unwrap row.m  ·  back to Designer Wallcoverings  ·  China Seas mailer: add 3 more product photos (Arbre de Matis cef2bf1c →