[object Object]

← back to Dw Theme Boost Fix

auto-save: 2026-07-15T10:05:46 (2 files) — snippets/dw-boost-overrides.liquid 5x/

91a6cd6052fd52d2a72015b17d539a4fbcb7a8f9 · 2026-07-15 10:05:53 -0700 · Steve Abrams

Files touched

Diff

commit 91a6cd6052fd52d2a72015b17d539a4fbcb7a8f9
Author: Steve Abrams <steve@designerwallcoverings.com>
Date:   Wed Jul 15 10:05:53 2026 -0700

    auto-save: 2026-07-15T10:05:46 (2 files) — snippets/dw-boost-overrides.liquid 5x/
---
 5x/REPORT.md                       | 27 +++++++++++++++++++++++++++
 snippets/dw-boost-overrides.liquid | 29 ++++++++++-------------------
 2 files changed, 37 insertions(+), 19 deletions(-)

diff --git a/5x/REPORT.md b/5x/REPORT.md
new file mode 100644
index 0000000..439d9f9
--- /dev/null
+++ b/5x/REPORT.md
@@ -0,0 +1,27 @@
+# /5x REPORT — DW collection left-rail (live)
+
+Target: https://www.designerwallcoverings.com/collections/all
+Theme: 5.9.1 #144076931123 [live]
+Date: 2026-07-15
+
+## Sweeps
+
+| Sweep | M1 HTTP | B4 Chromium | M3 filter round-trip | B5 WebKit | B6 Firefox | Caught | Fixed |
+|-------|---------|-------------|----------------------|-----------|------------|--------|-------|
+| 1     | PASS    | PASS        | PASS                 | PASS      | PASS       | 0      | 0     |
+| 2     | PASS    | PASS        | PASS                 | PASS      | PASS       | 0      | 0     |
+
+Two consecutive clean sweeps → STOP (stable). No fixes needed.
+
+## Final six-way state
+- M1 HTTP contract: 200, `boost-sd` + `__railCss` present in server HTML.
+- Render + E2E (Chromium): left rail 264px, 24 products, product-type pill in rail; Wallcoverings filters, "More" clears.
+- Cross-browser: rail renders identically at 264px in Chromium, WebKit, and Firefox; 0 pageerrors in all three.
+
+## Honest caveats (contrarian self-check)
+1. The generic `/3x` runner HUNG on this page (1.1MB, Boost React + Cowlendar/PayPal third-party apps) and buffers output to the end — killed it. Substituted a targeted sweep (render + filter round-trip + cross-browser + error capture). So this did NOT run the runner's exhaustive "click every control" clickthrough; coverage is targeted, not every-control.
+2. Cosmetic leftover (NOT a defect): the top sort strip still shows an "ADD FILTERS" toggle. The in-rail hide targeted "Hide/Show Filters" text; this control renders as "Add Filters" so it survives. Functional, just redundant now that filters live in the rail. Not pushed (cosmetic, and each live push incurs a multi-hour Shopify page-cache verification lag).
+3. Third-party console noise (Cowlendar fetch, PayPal 410, WebGL headless warnings) present but not ours and not page errors.
+
+## Net
+Rail is live, correct, and cross-browser clean. Open item is cosmetic only (the redundant "Add Filters" toggle) — Steve's call whether to hide it.
diff --git a/snippets/dw-boost-overrides.liquid b/snippets/dw-boost-overrides.liquid
index f83365e..2e0dece 100644
--- a/snippets/dw-boost-overrides.liquid
+++ b/snippets/dw-boost-overrides.liquid
@@ -272,6 +272,7 @@ body.dw-filters-collapsed .boost-sd__product-list[class*="grid--"]{grid-template
       '.boost-sd-left .dw-rail-dept{margin:2px 0 18px}' +
       '.boost-sd-left .dw-ptype-bar{display:flex !important;flex-wrap:wrap;gap:8px}' +
       '.dw-hfilter-bar{display:none !important}' +
+      '.dw-filter-toggle{display:none !important}' +  /* redundant Hide/Show-Filters toggle: rail is always visible on desktop */
       '}';
     document.head.appendChild(__railCss);
 
@@ -300,21 +301,10 @@ body.dw-filters-collapsed .boost-sd__product-list[class*="grid--"]{grid-template
 
   var initialized = false;
 
-  /* Re-apply a PERSISTED product-type selection only. Default (no prior choice)
-     shows ALL products — we never auto-filter to Wallcoverings on first visit. */
-  (function(){
-    var url = new URL(window.location.href);
-    var hasTypeFilter = url.searchParams.has('pf_t_product_type');
-    var isCollectionOrSearch = /\/(collections|search)/.test(url.pathname);
-    if (!hasTypeFilter && isCollectionOrSearch) {
-      var saved = sessionStorage.getItem('dw-ptype-filter');
-      var types = saved ? JSON.parse(saved) : [];
-      if (types.length > 0 && types[0] !== '') {
-        types.forEach(function(v) { url.searchParams.append('pf_t_product_type', v); });
-        window.location.replace(url.toString());
-      }
-    }
-  })();
+  /* NO product-type persistence: every load starts with nothing selected so ALL
+     products show, until the user toggles a pill. Product-type state is driven
+     purely by the URL's pf_t_product_type params (set on click), never re-applied
+     from a saved choice on load. (Deliberately no auto-apply block here.) */
 
   function initAll(){
     if (initialized) return true;
@@ -431,16 +421,17 @@ body.dw-filters-collapsed .boost-sd__product-list[class*="grid--"]{grid-template
       {label: 'More', value: '', defaultOn: false}
     ];
 
-    // Load from sessionStorage; default = [] (show ALL, "More"/All pill active)
-    var savedTypes = sessionStorage.getItem('dw-ptype-filter');
-    var activeTypes = savedTypes ? JSON.parse(savedTypes) : [];
+    // Pills reflect the URL ONLY (no persistence): a fresh load with no
+    // pf_t_product_type shows everything ("More"/All active); a filtered URL
+    // checks the matching pills. So state never sticks across loads.
+    var activeTypes = new URL(window.location.href).searchParams.getAll('pf_t_product_type');
 
     function applyTypeFilter() {
       var checked = [];
       ptypeBar.querySelectorAll('input[type=checkbox]').forEach(function(cb) {
         if (cb.checked && cb.value) checked.push(cb.value);
       });
-      sessionStorage.setItem('dw-ptype-filter', JSON.stringify(checked));
+      // (no sessionStorage — selection lives only in the URL, so it never persists across loads)
 
       // Apply via URL parameter for Boost
       var url = new URL(window.location.href);

← 8a47d6f auto-save: 2026-07-14T14:01:28 (1 files) — snippets/dw-boost  ·  back to Dw Theme Boost Fix  ·  auto-save: 2026-07-15T10:35:56 (1 files) — snippets/dw-boost 48d2bc0 →