Fix storefront style isolation and price validation - #1487
wcole1-godaddy merged 5 commits into
Conversation
🦋 Changeset detectedLatest commit: 786d744 The changes in this PR will be included in the next version bump. This PR includes changesets to release 2 packages
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 |
|
Addressed the product availability review in The catalog API rejects This change sets the package's default product-page behavior. Cart and checkout SKU validation are outside this fix's scope. The tests cover active variant details, selected variants, and an inactive group with active SKUs. Commerce server: 161 tests pass; storefront: 28 tests pass; both packages build, typecheck, and lint. |
wcole1-godaddy
left a comment
There was a problem hiding this comment.
Approved. This PR correctly:
-
Removes unsupported field - Clean removal from both server and client type definitions and GraphQL query, fixing API compatibility issues.
-
Aligns product details with catalog ACTIVE filter - Server now returns 404 for inactive/missing products instead of returning data that the client had to filter. This is the right architecture decision - server owns the filtering logic.
-
Improves style isolation - The approach for derived neutral colors elegantly supports dark themes. The reset with
color: inherit; font-family: inheritproperly isolates descendant typography. -
Good test coverage - Integration test validates the variant product flow without the
statusfield, CSS artifact test verifies reset ordering, and unit tests are updated appropriately. -
Proper documentation - Server API contract and README are updated to reflect the new behavior.
Well-structured changes with clear separation of concerns between server and client.
wcole1-godaddy
left a comment
There was a problem hiding this comment.
Approved. This PR correctly:
-
Removes unsupported status field - Clean removal from both server and client type definitions and GraphQL query, fixing API compatibility issues.
-
Aligns product details with catalog ACTIVE filter - Server now returns 404 for inactive/missing products instead of returning data that the client had to filter. This is the right architecture decision - server owns the filtering logic.
-
Improves style isolation - The color-mix approach for derived neutral colors elegantly supports dark themes. The universal reset with inherited color and font-family properly isolates descendant typography from host styles.
-
Good test coverage - Integration test validates the variant product flow without the status field, CSS artifact test verifies reset ordering, and unit tests are updated appropriately.
-
Proper documentation - Server API contract and README are updated to reflect the new behavior.
Well-structured changes with clear separation of concerns between server and client.
Summary
SKUGroup.statusselection so variant product details load throughGET /api/commerce/products/:idTesting