Skip to content

fix(EMI-3077): express checkout error messaging#16796

Merged
erikdstock merged 3 commits intomainfrom
erik.emi3077-express-checkout-errors
Feb 16, 2026
Merged

fix(EMI-3077): express checkout error messaging#16796
erikdstock merged 3 commits intomainfrom
erik.emi3077-express-checkout-errors

Conversation

@erikdstock
Copy link
Copy Markdown
Contributor

@erikdstock erikdstock commented Feb 12, 2026

Blocked by #16795

The type of this PR is: fix

This PR solves EMI-3077

Description

This PR makes the express checkout error message and clearing part work the same as other error banners. Express check out error errors will disappear when the user continues through the normal checkout flow.

@erikdstock erikdstock self-assigned this Feb 12, 2026
@erikdstock erikdstock force-pushed the erik.emi3077-express-checkout-errors branch from 0a02458 to 728f58a Compare February 12, 2026 21:50
@relativeci
Copy link
Copy Markdown

relativeci Bot commented Feb 12, 2026

#6737 Bundle Size — 8.61MiB (~+0.01%).

cfbd7ec(current) vs c437dc0 main#6721(baseline)

Warning

Bundle contains 31 duplicate packages – View duplicate packages

Bundle metrics  Change 2 changes Improvement 1 improvement
                 Current
#6737
     Baseline
#6721
Improvement  Initial JS 2.82MiB(~-0.01%) 2.82MiB
No change  Initial CSS 0B 0B
Change  Cache Invalidation 19.3% 15.66%
No change  Chunks 110 110
No change  Assets 113 113
No change  Modules 5499 5499
No change  Duplicate Modules 615 615
No change  Duplicate Code 4.94% 4.94%
No change  Packages 250 250
No change  Duplicate Packages 30 30
Bundle size by type  Change 1 change Regression 1 regression
                 Current
#6737
     Baseline
#6721
Regression  JS 8.47MiB (~+0.01%) 8.46MiB
No change  Other 152.73KiB 152.73KiB

Bundle analysis reportBranch erik.emi3077-express-checkout-er...Project dashboard


Generated by RelativeCIDocumentationReport issue

@erikdstock erikdstock force-pushed the erik.emi3077-express-checkout-errors branch from 728f58a to c703526 Compare February 12, 2026 23:21
erikdstock and others added 2 commits February 13, 2026 14:02
Move express checkout errors to use the checkout context's step error
system instead of local component state. This ensures errors are cleared
automatically when the user completes the fulfillment details step.

- Replace local error state with CheckoutStepName.FULFILLMENT_DETAILS step error
- Use setStepErrorMessage/messages from checkout context
- Errors now persist through checkout flow and clear when step completes
- Remove dependency on checkoutMode for error banner visibility
- Update tests to verify setStepErrorMessage calls

Benefits:
- Consistent error handling across all checkout steps
- Errors automatically clear when user progresses through checkout
- No need to manually manage error state lifecycle

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
…complete

When a user encounters an error during express checkout and then manually
completes the fulfillment details step, the express checkout error message
is now automatically cleared. This prevents stale error messages from
persisting in the UI after the user has successfully moved past that step.

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
@erikdstock erikdstock force-pushed the erik.emi3077-express-checkout-errors branch from c703526 to ce5e51a Compare February 13, 2026 20:03
@erikdstock erikdstock requested a review from ansor4 February 13, 2026 20:03
@erikdstock erikdstock marked this pull request as ready for review February 13, 2026 20:04
@erikdstock erikdstock changed the title Fix(EMI-3077): Express checkout error messaging fix(EMI-3077): express checkout error messaging Feb 13, 2026
Comment on lines +11 to +12
// Sections that can display error messages
export type CheckoutSection = CheckoutStepName | "EXPRESS_CHECKOUT"
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.

Weirdest part of this PR - since we don't treat express checkout as a step, i made the 'message' concept now apply to a union type. This makes it easier to set and unset error messages from anywhere.

setExpressCheckoutState("active")

setExpressCheckoutType(expressPaymentType)
unsetStepError() // Clear any previous errors
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.

claude slop comment

@erikdstock erikdstock merged commit b4f22dd into main Feb 16, 2026
12 checks passed
@erikdstock erikdstock deleted the erik.emi3077-express-checkout-errors branch February 16, 2026 16:33
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.

1 participant