Skip to content

Pull changes into makeswift#2683

Merged
jordanarldt merged 6 commits into
integrations/makeswiftfrom
sync-integrations-makeswift
Nov 12, 2025
Merged

Pull changes into makeswift#2683
jordanarldt merged 6 commits into
integrations/makeswiftfrom
sync-integrations-makeswift

Conversation

@jordanarldt

@jordanarldt jordanarldt commented Nov 12, 2025

Copy link
Copy Markdown
Contributor

What/Why?

Pull the updated canary changes into makeswift

Testing

n/a

Migration

Copy all changes from this PR

jordanarldt and others added 4 commits November 11, 2025 21:27
…te, respect trailing slash on checkout action path (#2681)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
@changeset-bot

changeset-bot Bot commented Nov 12, 2025

Copy link
Copy Markdown

⚠️ No Changeset found

Latest commit: 6c10e05

Merging this PR will not cause a version bump for any packages. If these changes should not result in a new version, you're good to go. If these changes should result in a version bump, you need to add a changeset.

This PR includes no changesets

When changesets are added to this PR, you'll see the packages that this PR includes changesets for and the associated semver types

Click here to learn what changesets are, and how to add one.

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

@vercel

vercel Bot commented Nov 12, 2025

Copy link
Copy Markdown

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

Project Deployment Preview Comments Updated (UTC)
catalyst-b2b Ready Ready Preview Comment Nov 12, 2025 8:09pm
catalyst-canary Ready Ready Preview Comment Nov 12, 2025 8:09pm
1 Skipped Deployment
Project Deployment Preview Comments Updated (UTC)
catalyst Ignored Ignored Nov 12, 2025 8:09pm

Comment on lines +643 to +645

return action(state, formData);
},

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Bug: useActionState creates an unresolvable Promise when action is a string, causing the form to hang in a pending state.
Severity: HIGH | Confidence: 1.00

🔍 Detailed Analysis

The useActionState hook in core/vibes/soul/sections/cart/client.tsx creates a Promise that never settles when the action is a string. The new Promise<void>(() => { window.location.assign(action); }) executor function is missing the resolve() callback. This causes the async function to never return, leaving the form action in a perpetual "pending" state. Consequently, the UI's loading indicator remains active indefinitely during page navigation.

💡 Suggested Fix

When action is a string, directly call window.location.assign(action) and return null without awaiting a Promise.

🤖 Prompt for AI Agent
Review the code at the location below. A potential bug has been identified by an AI
agent.
Verify if this is a real issue. If it is, propose a fix; if not, explain why it's not
valid.

Location: core/vibes/soul/sections/cart/client.tsx#L643-L645

Potential issue: The `useActionState` hook in `core/vibes/soul/sections/cart/client.tsx`
creates a Promise that never settles when the `action` is a string. The `new
Promise<void>(() => { window.location.assign(action); })` executor function is missing
the `resolve()` callback. This causes the async function to never return, leaving the
form action in a perpetual "pending" state. Consequently, the UI's loading indicator
remains active indefinitely during page navigation.

Did we get this right? 👍 / 👎 to inform future reviews.

Reference_id: 2624952

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is intended and not a bug. This happens when the page is being navigated away from, so that the checkout button can have a pending state.

Comment thread core/CHANGELOG.md

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We actually shouldn't have a 1.3.1 changelog entry on integrations/makeswift yet, since the version hasn't been bumped. Let's remove this from the PR, as it will be created automatically as a result of step 3 (when you open a second PR into integrations/makeswift with the changeset linking to the 1.3.1 entry on canary.

@jordanarldt
jordanarldt force-pushed the sync-integrations-makeswift branch from 0a7f6d4 to c2e23c0 Compare November 12, 2025 20:05
@jordanarldt
jordanarldt force-pushed the sync-integrations-makeswift branch from c2e23c0 to c9c800b Compare November 12, 2025 20:07
@jordanarldt
jordanarldt merged commit 6c10e05 into integrations/makeswift Nov 12, 2025
12 checks passed
@jordanarldt
jordanarldt deleted the sync-integrations-makeswift branch November 12, 2025 21:17
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.

3 participants