Skip to content
Merged
Show file tree
Hide file tree
Changes from 7 commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions packages/pwa-kit-runtime/CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
## v3.16.0-preview.1 (Feb 09, 2026)
- Updated the SLAS private client proxy to enable customizing the proxy response body [#3662] https://github.com/SalesforceCommerceCloud/pwa-kit/pull/3662/

## v3.16.0-preview.0 (Feb 06, 2026)
- Migrate AWS SDK from v2 to v3 [#3566](https://github.com/SalesforceCommerceCloud/pwa-kit/pull/3566)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -988,7 +988,7 @@ export const RemoteServerFactory = {
if (typeof options.onSLASPrivateProxyRes === 'function') {
try {
const customBuffer = options.onSLASPrivateProxyRes(
workingBuffer,
responseBuffer,
proxyRes,
req,
res
Expand Down
2 changes: 1 addition & 1 deletion packages/template-retail-react-app/CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
- [Bugfix] 1CC Bug Fixes [#3638](https://github.com/SalesforceCommerceCloud/pwa-kit/pull/3638)

## v9.0.0-preview.0 (Feb 06, 2026)
- [Feature] One Click Checkout [#3552](https://github.com/SalesforceCommerceCloud/pwa-kit/pull/3552)
- [Feature] One Click Checkout (in Developer Preview) [#3552](https://github.com/SalesforceCommerceCloud/pwa-kit/pull/3552)
- [Feature] Add `fuzzyPathMatching` to reduce computational overhead of route generation at time of application load [#3530](https://github.com/SalesforceCommerceCloud/pwa-kit/pull/3530)
- [Bugfix] Fix Passwordless Login landingPath, Reset Password landingPath, and Social Login redirectUri value in config not being used [#3560](https://github.com/SalesforceCommerceCloud/pwa-kit/pull/3560)
- [Feature] PWA Integration with OMS
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -254,7 +254,6 @@ describe('OtpAuth', () => {
})
const mockVerify = jest.fn().mockReturnValue(verifyingPromise)

const user = userEvent.setup()
renderWithProviders(
<OtpAuth
isOpen={true}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@ const PasswordlessLogin = ({
handlePasswordlessLoginClick,
isSocialEnabled = false,
idps = [],
setLoginType = noop
setLoginType: _setLoginType = noop
}) => {
const [showPasswordView, setShowPasswordView] = useState(false)

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -245,11 +245,19 @@ const ContactInfo = ({isSocialEnabled = false, idps = [], onRegisteredUserChoseG
lastEmailSentRef.current = normalizedEmail
return {isRegistered: true}
} catch (error) {
const message = formatMessage(getAuthorizePasswordlessErrorMessage(error.message))
setError(message)
// Keep continue button visible if email is valid (for unregistered users)
if (isValidEmail(email)) {
// 404 = email not registered (guest); treat as guest and continue
const isGuestNotFound = String(error?.message || '').includes('404')
Copy link
Contributor

@kevinxh kevinxh Feb 12, 2026

Choose a reason for hiding this comment

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

non-blocking, this could be flaky to base on the error message instead of status code, but seems like it's working, we can improve it later.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

the sdk throws error like this: throw new Error(${res.status} ${message}) so here we are looking for 404 in the error, not the error message itself.

if (isGuestNotFound && isValidEmail(email)) {
setError('')
setShowContinueButton(true)
} else {
const message = formatMessage(
getAuthorizePasswordlessErrorMessage(error.message)
)
setError(message)
if (isValidEmail(email)) {
setShowContinueButton(true)
}
}
// Update the last email sent ref even on error to prevent retrying immediately
lastEmailSentRef.current = normalizedEmail
Expand Down
1 change: 1 addition & 0 deletions packages/template-retail-react-app/app/ssr.js
Original file line number Diff line number Diff line change
Expand Up @@ -60,6 +60,7 @@ const options = {
// applySLASPrivateClientToEndpoints:
// /\/oauth2\/(token|passwordless\/(login|token)|password\/(reset|action))/,


// If this is enabled, any HTTP header that has a non ASCII value will be URI encoded
// If there any HTTP headers that have been encoded, an additional header will be
// passed, `x-encoded-headers`, containing a comma separated list
Expand Down
3 changes: 3 additions & 0 deletions packages/template-retail-react-app/config/default.js
Original file line number Diff line number Diff line change
Expand Up @@ -74,6 +74,9 @@ module.exports = {
appSourceId: '7ae070a6-f4ec-4def-a383-d9cacc3f20a1',
tenantId: 'g82wgnrvm-ywk9dggrrw8mtggy.pc-rnd'
},
// Note: this feature is in Developer Preview at this time. To use One Click Checkout,
// enable the oneClickCheckout flag and configure private SLAS client. For more details, please
// check https://github.com/SalesforceCommerceCloud/pwa-kit/releases/tag/v3.16.0
oneClickCheckout: {
enabled: false
},
Expand Down
Loading