Skip to content

sync: TRAC-1236 sync integrations/b2b-makeswift with integrations/makeswift@1.8.0 - #3149

Merged
chanceaclark merged 20 commits into
integrations/b2b-makeswiftfrom
sync-integrations-b2b-makeswift
Jul 30, 2026
Merged

sync: TRAC-1236 sync integrations/b2b-makeswift with integrations/makeswift@1.8.0#3149
chanceaclark merged 20 commits into
integrations/b2b-makeswiftfrom
sync-integrations-b2b-makeswift

Conversation

@chanceaclark

@chanceaclark chanceaclark commented Jul 29, 2026

Copy link
Copy Markdown
Contributor

Jira: TRAC-1236

What/Why?

Rung 7 of 9 in the makeswift catch-up climb (LTRAC-1297): 1.7.0 → 1.8.0 (18 commits).

First rung with zero conflicts — the whole thing auto-merged (commit b2a98557).

But the recurring package.json/CHANGELOG.md silent auto-merge showed up in a worse form this time, still with no conflict flagged: the merge inserted makeswift's own duplicate nested catalyst block ({"version": "1.8.0", "ref": "@bigcommerce/catalyst-makeswift@1.8.0"}, wrong name) right after the top-level version field, while b2b's own correct block also survived at the end of the file, producing duplicate JSON keys. Removed the spurious block, reverted the top-level version to b2b's actual 1.7.0, and restored CHANGELOG.md (makeswift's own 1.8.0 entry had been pasted in wholesale, same as every prior rung). Committed as a small follow-up (71cff26) on top of the auto-merge, since there was no conflict to resolve inline. Full diff-against-ours check confirmed nothing else in package.json was affected beyond a legitimate @makeswift/runtime bump (0.26.4 → 0.28.5, needed for the new interaction-mode navigation feature).

No release-wiring guardrail concerns — those files weren't touched at all this rung.

Notable but not investigated (per the deferred-issues plan): this rung's changelog includes "Fix 404 error on switching between localized Makeswift pages... when TRAILING_SLASH=true" — possibly related to the rung-4 e2e.yml trailing-slash finding, but not digging into that now; it'll get looked at with the rest of the deferred list after all 9 rungs land.

Added .changeset/sync-makeswift-1-8-0.md for this rung's own bump.

Rollout/Rollback

Internal upgrade branch, no runtime/customer impact until eventually released and adopted. Rollback = revert the merge commit.

Do not squash or rebase-and-merge this PR. Use a true merge commit to preserve the merge base between integrations/makeswift and integrations/b2b-makeswift.

Testing

  • pnpm install --no-frozen-lockfile clean (Node 24).
  • pnpm --filter @bigcommerce/catalyst-b2b-makeswift typecheck — clean (0 errors).
  • pnpm --filter @bigcommerce/catalyst-b2b-makeswift lint — clean (0 errors, 0 warnings).
  • No conflict markers remain anywhere in the tree; core/package.json re-validated as valid JSON with a single catalyst key.

jorgemoya and others added 20 commits June 2, 2026 14:55
…main (#3035)

The consent manager set `crossSubdomain: true`, which wrote the
`c15t-consent` cookie with `domain=.<root-domain>`. For stores on a
sub-domain this caused the cookie to appear on both the root domain and
the sub-domain. Remove the option so the cookie is host-only and exists
only on the sub-domain the store runs on.

Refs TRAC-640

Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
…3033)

* LTRAC-297: fix(storefront) - Rewrite WYSIWYG /content image URLs

Images uploaded through the Control Panel WYSIWYG editor are stored as
root-relative /content/... paths. These resolve on a same-domain Stencil
storefront but 404 on the headless Catalyst domain, rendering as broken
images. Add a server-side transformer that rewrites src/href values
starting with /content/ to absolute BigCommerce CDN URLs, and apply it to
all raw-HTML surfaces: web pages, blog posts, and product description and
warranty. Internal page links and already-absolute URLs are left intact.

Fixes LTRAC-297
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>

* LTRAC-297: fix(storefront) - Also rewrite /product_images WYSIWYG paths

The WYSIWYG image manager stores uploads under /product_images/... (not
just /content/...). Generalize the rewrite to cover both WebDAV asset
folders via a new cdnAssetUrl() helper, so image-manager images embedded
in WYSIWYG content resolve to absolute CDN URLs.

Refs LTRAC-297
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>

---------

Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Enabled by upgrading to the latest Makeswift runtime
…age (#2950)

fixes locale switcher issue when running with TRAILING_SLASH=true
… display (#3024)

* TRAC-188: Out of the box Catalyst inclusive and exclusive of tax price display

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>

* TRAC-188: trim changeset migration to high-level summary

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>

---------

Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
…3046)

When the store's cookie consent setting is enabled, the catalyst.visitorId
and catalyst.visitId analytics cookies are no longer set or refreshed until
the shopper grants measurement consent, and leftover cookies are deleted
once consent is withdrawn. The currencyCode preference cookie now requires
functionality consent. With no consent decision recorded yet, cookies are
only allowed when the store does not require cookie consent.

The proxy only starts visits on full page navigations, so granting consent
mid-session now triggers a startVisit server action that sets the cookies
and fires the server-side visitStartedEvent immediately. Server action
POSTs no longer start visits in the proxy, which would otherwise duplicate
the event fired by the action.

Fixes TRAC-813

Co-authored-by: Claude <noreply@anthropic.com>
#3047)

authjs.session-token and authjs.anonymous-session-token must be session
cookies (no Expires attribute) to comply with Essential cookie
classification requirements.

- Remove maxAge from authjs.anonymous-session-token in anonymousSignIn
- Strip Expires from authjs.session-token in the withAuth middleware,
  where Auth.js refreshes the JWT on every non-API request
- Strip Expires from authjs.session-token in the auth route handler,
  where Auth.js sets the cookie on sign-in (not covered by middleware)
- Wrap signIn and updateSession in auth/index.ts with patchSessionTokenCookies,
  which re-sets session token cookies via cookies().set() without Expires
  after Auth.js sets them — this covers the server action code path where
  Auth.js calls cookies().set(name, value, { expires: ... }) directly

Auth.js v5 unconditionally sets Expires on session cookies with no config
option to disable it. signIn/updateSession use the Next.js cookies() API
rather than response headers, so those must be intercepted separately.

Fixes TRAC-814

Co-authored-by: Claude <noreply@anthropic.com>
* feat(other): LOCAL-1444 delivery translation

* chore(core): create translations patch

---------

Co-authored-by: bc-svc-local <bc-svc-local@users.noreply.github.com>
…nd (#3055)

Print a deprecation warning when `create-catalyst integration` is invoked, and
hide it from `--help` (registered with { hidden: true }). The command builds
integration patches by diffing git tags, which won't work once Catalyst projects
ship as tarballs (no git history); it will be replaced by `catalyst upgrade`.
Still functional for now — full removal is a future major.

Refs LTRAC-467

Co-authored-by: Claude <noreply@anthropic.com>
….json field (#3056)

Add a `catalyst` field to core/package.json (`catalyst.version` + `catalyst.ref`)
so the true Catalyst version is tracked independently of the top-level `version`,
which merchants may repurpose (deploy tags, Docker labels). The backend
user-agent now reports `catalyst.version`, falling back to `version` for projects
created before the field existed.

A release-time sync script (.github/scripts/sync-catalyst-version.mts), wired
into the Changesets `version` step via the `changeset:version` root script, keeps
`catalyst.version`/`catalyst.ref` in lockstep with each version bump.

Refs LTRAC-466

Co-authored-by: Claude <noreply@anthropic.com>
* feat(other): LOCAL-1444 delivery translation

* chore(core): create translations patch

---------

Co-authored-by: bc-svc-local <bc-svc-local@users.noreply.github.com>
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
…akeswift

# Conflicts:
#	core/app/[locale]/(default)/blog/[blogId]/page.tsx
#	core/app/[locale]/(default)/page.tsx
#	core/app/[locale]/(default)/webpages/[id]/normal/page.tsx
…ons-b2b-makeswift

@bigcommerce/catalyst-makeswift@1.8.0
Same recurring bug as every prior rung, but worse this time: the
conflict-free merge inserted makeswift's own duplicate nested 'catalyst'
block (wrong self-ref, @bigcommerce/catalyst-makeswift@1.8.0) right after
the top-level version field, alongside b2b's own correct block at the end
of the file, producing duplicate JSON keys. Removed the spurious block,
reverted the top-level version to b2b's actual 1.7.0, and restored
CHANGELOG.md (makeswift's own 1.8.0 entry had been pasted in wholesale).

Also adds the sync changeset for this rung's bump.
@chanceaclark
chanceaclark requested a review from a team as a code owner July 29, 2026 18:17
@changeset-bot

changeset-bot Bot commented Jul 29, 2026

Copy link
Copy Markdown

🦋 Changeset detected

Latest commit: 71cff26

The changes in this PR will be included in the next version bump.

This PR includes changesets to release 1 package
Name Type
@bigcommerce/catalyst-b2b-makeswift Minor

Not sure what this means? Click here to learn what changesets are.

Click here if you're a maintainer who wants to add another changeset to this PR

@vercel

vercel Bot commented Jul 29, 2026

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
catalyst Ready Ready Preview, Comment Jul 29, 2026 6:18pm

Request Review

@github-actions

Copy link
Copy Markdown
Contributor

Bundle Size Report

Comparing against baseline from 7a0cdc1 (2026-07-29).

Metric Baseline Current Delta
First Load JS 128.8 kB 129.6 kB +0.8 kB (+0.6%)
Total JS 448.2 kB 732 kB +283.8 kB (+63.3%) ⚠️

Per-Route First Load JS

Route Baseline Current Delta
/(default)/(auth)/change-password/page 332.5 kB 615.6 kB +283.1 kB (+85.1%) ⚠️
/(default)/(auth)/login/forgot-password/page 331.6 kB 614.7 kB +283.1 kB (+85.4%) ⚠️
/(default)/(auth)/login/page 332 kB 615.3 kB +283.3 kB (+85.3%) ⚠️
/(default)/(auth)/register/page 368.4 kB -- REMOVED
/(default)/(faceted)/brand/[slug]/page 344.1 kB 621.6 kB +277.5 kB (+80.6%) ⚠️
/(default)/(faceted)/category/[slug]/page 352.6 kB 629.9 kB +277.3 kB (+78.6%) ⚠️
/(default)/(faceted)/search/page 344.1 kB 621.6 kB +277.5 kB (+80.6%) ⚠️
/(default)/[...rest]/page 327.1 kB 616.7 kB +289.6 kB (+88.5%) ⚠️
/(default)/account/addresses/page 371.8 kB 619.2 kB +247.4 kB (+66.5%) ⚠️
/(default)/account/orders/[id]/page 335.2 kB 614.4 kB +279.2 kB (+83.3%) ⚠️
/(default)/account/orders/page 336.2 kB 615.3 kB +279.1 kB (+83%) ⚠️
/(default)/account/settings/page 373.3 kB 618.7 kB +245.4 kB (+65.7%) ⚠️
/(default)/account/wishlists/[id]/page 350 kB 624 kB +274 kB (+78.3%) ⚠️
/(default)/account/wishlists/page 345.1 kB 618.7 kB +273.6 kB (+79.3%) ⚠️
/(default)/blog/[blogId]/page 327.1 kB 616.7 kB +289.6 kB (+88.5%) ⚠️
/(default)/blog/page 328.1 kB 617.5 kB +289.4 kB (+88.2%) ⚠️
/(default)/cart/page 348.9 kB 623.5 kB +274.6 kB (+78.7%) ⚠️
/(default)/compare/page 339.3 kB 618 kB +278.7 kB (+82.1%) ⚠️
/(default)/gift-certificates/balance/page 331.1 kB 618.5 kB +287.4 kB (+86.8%) ⚠️
/(default)/gift-certificates/page 327.1 kB 616.7 kB +289.6 kB (+88.5%) ⚠️
/(default)/gift-certificates/purchase/page 370.9 kB 618.5 kB +247.6 kB (+66.8%) ⚠️
/(default)/page 344.3 kB 616.7 kB +272.4 kB (+79.1%) ⚠️
/(default)/product/[slug]/page 400.2 kB 629.9 kB +229.7 kB (+57.4%) ⚠️
/(default)/webpages/[id]/contact/page 369.3 kB 619.9 kB +250.6 kB (+67.9%) ⚠️
/(default)/webpages/[id]/normal/page 335.2 kB 617.2 kB +282 kB (+84.1%) ⚠️
/(default)/wishlist/[token]/page 339.9 kB 620.7 kB +280.8 kB (+82.6%) ⚠️
/maintenance/page 316.4 kB 613.3 kB +296.9 kB (+93.8%) ⚠️
/_global-error/page 142.8 kB 143.8 kB +1 kB (+0.7%)
/_not-found/page 142.8 kB 565.4 kB +422.6 kB (+295.9%) ⚠️

Threshold: 5% increase. Routes with ⚠️ exceed the threshold.

@chanceaclark
chanceaclark merged commit 71cff26 into integrations/b2b-makeswift Jul 30, 2026
18 of 19 checks passed
@chanceaclark
chanceaclark deleted the sync-integrations-b2b-makeswift branch July 30, 2026 16:11
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

8 participants