@decocms/parity 0.17.2 → 0.17.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md CHANGED
@@ -7,6 +7,12 @@ and this project adheres to [Semantic Versioning](https://semver.org/).
7
7
 
8
8
  ## [Unreleased]
9
9
 
10
+ ## [0.17.3](https://github.com/decocms/parity/compare/v0.17.2...v0.17.3) (2026-07-28)
11
+
12
+ ### Fixed
13
+
14
+ * **`open-minicart` fallback click when already-open drawer is empty (issue #159).** Sites that use a react-query on-demand cart (query `enabled` only when a cart-intent signal is `true`) never hydrate the drawer when it opens via an add-to-cart toast side-effect — the intent signal is only set on an explicit cart-icon click, so the panel renders empty and `validateCartContainsTitle` finds 0 items. When `cartOpenMethod === "already-open"` and validation returns `found=false`, parity now looks up the `minicartTrigger` and clicks it explicitly (mirroring what the user does), waits for cart hydration, then re-validates. The fallback is skipped entirely when the drawer hydrates normally via the initial validation.
15
+
10
16
  ## [0.17.0](https://github.com/decocms/parity/compare/v0.16.0...v0.17.0) (2026-07-28)
11
17
 
12
18
  ### Added
package/dist/cli.js CHANGED
@@ -52089,7 +52089,19 @@ async function flowPurchaseJourney(ctx) {
52089
52089
  }
52090
52090
  let step7Validation;
52091
52091
  if (expectedProductTitle && cartOpenMethod !== "failed") {
52092
- const v = await validateCartContainsTitle(page, expectedProductTitle, ctx);
52092
+ let v = await validateCartContainsTitle(page, expectedProductTitle, ctx);
52093
+ if (cartOpenMethod === "already-open" && !v.found) {
52094
+ const triggerHit = await firstVisibleLocator(page, selFor(ctx, "minicartTrigger"));
52095
+ if (triggerHit) {
52096
+ dlog2(ctx, "step 7: already-open drawer empty — clicking minicartTrigger to activate on-demand query");
52097
+ miniHit = triggerHit;
52098
+ await triggerHit.locator.click({ timeout: 3000 }).catch(() => {
52099
+ return;
52100
+ });
52101
+ await waitForCartHydration(page);
52102
+ v = await validateCartContainsTitle(page, expectedProductTitle, ctx);
52103
+ }
52104
+ }
52093
52105
  let reasonText;
52094
52106
  if (!v.found) {
52095
52107
  if (v.observedTitles.length === 0) {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@decocms/parity",
3
- "version": "0.17.2",
3
+ "version": "0.17.3",
4
4
  "description": "E2E parity validator for site migrations. Compares prod vs cand and reports UI, functional, SEO, visual, and Web Vitals deltas with an LLM-ranked HTML report.",
5
5
  "type": "module",
6
6
  "license": "MIT",