If something isn’t behaving the way you expect, scan the list below. Each accordion is a self-contained answer — open the one closest to your symptom.Documentation Index
Fetch the complete documentation index at: https://voyage-theme.fasil.in/llms.txt
Use this file to discover all available pages before exploring further.
My logo doesn't show in the header
My logo doesn't show in the header
- The logo wasn’t uploaded. Theme settings → Logo → check both Logo (default / navy variant) and Logo (light variant for dark backgrounds). If both are empty, Voyager falls back to the shop name in Playfair Display.
- Only the light variant is uploaded. The default variant is what shows on the cream page background and on most pages. The light variant only shows on the navy hero overlay. If you’ve uploaded one but not the other, the missing variant falls back to the wordmark.
Hero video isn't playing on mobile
Hero video isn't playing on mobile
- Muted. Voyager adds
mutedto every hero video. If you re-encode the MP4 with embedded audio and then strip the attribute, autoplay breaks. Keep the file silent or muted. - Playsinline. Voyager adds
playsinlineso iOS doesn’t fullscreen the video. Don’t remove this attribute. - Supported format. MP4 (H.264 / AAC) and WebM are universally supported. AVI, MOV, and HEVC are not.
Cart drawer won't open
Cart drawer won't open
- Open the cart drawer manually — click the cart icon in the header.
- If nothing happens, open browser DevTools → Network. Click the cart icon again.
- Look for a request to
/?sections=cart-drawer. If it returns 4xx or 5xx, your store is rate-limited or the section doesn’t exist.
sections/cart-drawer.liquid (or the section referenced in theme.js) is present in your theme. If you’ve deleted it, re-add from the Voyager source. If the request is being blocked by a security app, allowlist the path.Customer pages look like generic Shopify pages
Customer pages look like generic Shopify pages
customers/*.liquid templates only render under Classic customer accounts.Switch in Settings → Customer accounts → Accounts version. Classic is the version that uses your theme.Search returns no results
Search returns no results
- Search & Discovery app. Make sure the free Shopify Search & Discovery app is installed. Most predictive search features depend on it.
- Index status. New stores take a few minutes for the search index to populate. Wait 15 minutes after adding products.
- Filter conflicts. If you’ve added strict filters in the app (e.g., only published products of a specific type), they apply to search too. Loosen them to debug.
Theme styles dropdown only shows Default
Theme styles dropdown only shows Default
settings_data.json issue. The three named theme styles (Editorial Navy / Warm Cream / Minimal Monochrome) are encoded as presets. If only one shows, your settings_data.json is missing the presets key.Fix: re-upload config/settings_data.json from the Voyager source. The file is overwritten safely — your other settings are stored separately.Magnetic CTAs not working
Magnetic CTAs not working
assets/theme.js. If buttons aren’t reacting:- Asset URL. Confirm
assets/theme.jsis being loaded by checkinglayout/theme.liquidfor{{ 'theme.js' | asset_url | script_tag }}. - Prefers reduced motion. macOS and iOS both expose this OS-level preference. Voyager respects it — magnetic CTAs are disabled for visitors who have reduced motion turned on.
- Touch devices. Magnetic only fires on cursor-based devices. Phones and tablets get a tap state instead.
Page-transition curtain stuck on screen
Page-transition curtain stuck on screen
sessionStorage to avoid replaying on back-button returns. If it stays stuck, the cleanup didn’t fire.Quick fix: clear sessionStorage for your domain (DevTools → Application → Session Storage → right-click → Clear). The curtain resets.If it happens repeatedly, an extension or aggressive cache is blocking the cleanup script. Test in incognito.Lighthouse perf below 60
Lighthouse perf below 60
- Run Lighthouse on the homepage and the product page in Chrome DevTools.
- Open the Network panel, filter to Img, and sort by size.
- Anything over 200 KB on first load is suspect. Hero posters can run 300–500 KB; everything else should be lighter.
image_url with explicit width hints so Shopify can serve smaller sources to smaller viewports — but only if the upload itself isn’t oversized.Color contrast fails in dark mode
Color contrast fails in dark mode
color_muted (default #565E6B) across both light and dark modes — the same hex.Fix: pick a muted color with a contrast ratio of at least 4.5:1 against both your light and dark backgrounds. #6B7280 (Tailwind gray-500) is a safe middle ground.Italianno font not rendering on Checkout
Italianno font not rendering on Checkout
Filter sidebar shows duplicate sizes
Filter sidebar shows duplicate sizes
Predictive search slow
Predictive search slow
Hero MP4 loads twice
Hero MP4 loads twice
Apple Wallet pass not showing on gift card
Apple Wallet pass not showing on gift card
Liquid syntax error after editing
Liquid syntax error after editing
undefined variable settings.X— you renamed a setting insettings_schema.jsonbut the section still references the old IDundefined variable section.settings.X— same, at the section levelunexpected token— usually a missingendiforendfor
Translation missing: en.X
Translation missing: en.X
locales/en.default.json. The Theme Editor surfaces this as a yellow warning; the storefront renders the key path verbatim.Fix: open locales/en.default.json, find the parent object, add the missing key. Save. The warning clears on next reload.PDP variant images not swapping
PDP variant images not swapping
Newsletter form not submitting
Newsletter form not submitting
404 page not found
404 page not found
/404 returns a generic Shopify 404 instead of Voyager’s branded one, you’re missing the template.Fix: confirm templates/404.json and sections/main-404.liquid both exist. The JSON template references the section; if either is missing, Shopify falls back to the platform default.Offer popup keeps appearing every visit
Offer popup keeps appearing every visit
sessionStorage. Closing the browser tab — not just navigating away — resets the gate.If it appears on every page load within the same tab, the storage key is being cleared by an extension or by aggressive privacy mode. Test in normal browsing.To disable the popup entirely: Theme Editor → Offer popup section → uncheck Enable.Variant prices don't update in cart drawer
Variant prices don't update in cart drawer
- Check the Network tab — is
/cart/change.jsreturning the updated line items? - Check that the section ID in the AJAX call matches
sections/cart-drawer.liquid. If you’ve renamed the file, update the reference inassets/theme.js.
Buttons render with no corner radius even though I picked Pill
Buttons render with no corner radius even though I picked Pill
Cart icon shows zero items but cart has items
Cart icon shows zero items but cart has items
cart.item_count in Liquid and refreshes via the Section Rendering API after every add. If it’s stuck at zero:- Reload the page — confirms whether the count is wrong client-side or server-side.
- Check the JS console for errors from
theme.js— a thrown exception can short-circuit the count refresh. - Cookies blocked? Shopify’s cart cookie is required. If a privacy extension is stripping it, the cart resets on every request.