Everything is silently dead even though the markup looks right
Section titled “Everything is silently dead even though the markup looks right”Two classic setup misses. First, the bundle must be loaded: add <script type="module" src="/storesynk.js"></script> (self-hosted: the @storesynk/elements package’s dist/ contents copied into the site - storesynk.js needs its sibling chunk files next to it) or no tags are ever defined (SSK-401). Second, <storesynk-store> needs both domain and token; without them core can’t create a client and nothing fetches (SSK-206).
My domain and token are set and the bundle loads, but products/cart still come back empty
Section titled “My domain and token are set and the bundle loads, but products/cart still come back empty”Almost always a Shopify-side gap the validator can’t see - two causes, in order of likelihood: (1) a Storefront API scope was not enabled when the token was minted - re-open the Headless channel’s Storefront API → Manage, enable all scopes, and Save (this is the most common install mistake); (2) the products or collection aren’t published to the sales channel the token reads from, so the API returns nothing. The token must also be the public Storefront token, not an Admin token. See references/build-patterns.md §0 for the full setup.
I inject credentials from a script and the store still doesn’t connect
Section titled “I inject credentials from a script and the store still doesn’t connect”<storesynk-store> reads domain/token when it registers and boots core. If a script sets them, it must run before the element upgrades, or the store boots with empty credentials. Either hardcode the attributes, or guarantee your script sets them before the bundle defines the element. The validator treats missing domain/token as a warning (SSK-206) precisely because they’re sometimes injected - so confirm the timing yourself.
The validator flags things but the page seemed to work
Section titled “The validator flags things but the page seemed to work”SSK warnings (the 2xx family, SSK-303, SSK-401) catch latent problems - a typo’d attribute (SSK-201), an ambiguous product with both handle and product-id (SSK-203), an authored thumbnail index (SSK-303) - that often only bite under certain data or after a content change. Fix them even when the page currently renders; they’re the difference between “works today” and “works reliably.”
The validator floods “missing store/product ancestor” warnings on a framework component file
Section titled “The validator floods “missing store/product ancestor” warnings on a framework component file”You validated a fragment - a React/Next.js component, Astro page, or partial - whose provider ancestors live in a parent file (<storesynk-store> in the root layout/shell, the product wrapper in the page). The ancestor rules (SSK-101/102/105/110) judge the rendered tree, so on a lone fragment every consumer reads as an orphan: false positives. Check the enclosing layout/shell for the provider; if it’s there, do not “fix” the findings by adding a second provider (SSK-104 - that breaks the page for real). To validate properly, compose the rendered tree in a temp file (the fragment pasted inside its real ancestors) and re-run. See structure-rules → “Fragments & framework files”.
Imported from the Storesynk skill v0.1.0 (references/known-issues.md). To change this page, change it there.