@faststore/core 4.9.3-dev.1 → 4.10.0-dev.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,9 +1,9 @@
1
1
 
2
- > @faststore/core@4.9.3-dev.0 generate /home/runner/work/faststore/faststore/packages/core
2
+ > @faststore/core@4.9.3-dev.2 generate /home/runner/work/faststore/faststore/packages/core
3
3
  > pnpm run gen-types && pnpm run cache-graphql
4
4
 
5
5
 
6
- > @faststore/core@4.9.3-dev.0 gen-types /home/runner/work/faststore/faststore/packages/core
6
+ > @faststore/core@4.9.3-dev.2 gen-types /home/runner/work/faststore/faststore/packages/core
7
7
  > node ../cli/bin/run generate-types .
8
8
 
9
9
  [STARTED] Parse Configuration
@@ -19,7 +19,7 @@
19
19
  [COMPLETED] Generate to @generated/
20
20
  [COMPLETED] Generate outputs
21
21
 
22
- > @faststore/core@4.9.3-dev.0 cache-graphql /home/runner/work/faststore/faststore/packages/core
22
+ > @faststore/core@4.9.3-dev.2 cache-graphql /home/runner/work/faststore/faststore/packages/core
23
23
  > node ../cli/bin/run cache-graphql --config=./discovery.config.default.js --queries=./@generated/persisted-documents.json
24
24
 
25
25
  [Info] - Config file location: /home/runner/work/faststore/faststore/packages/core/discovery.config.default.js
@@ -1,5 +1,5 @@
1
1
 
2
- > @faststore/core@4.9.3-dev.0 test /home/runner/work/faststore/faststore/packages/core
2
+ > @faststore/core@4.9.3-dev.2 test /home/runner/work/faststore/faststore/packages/core
3
3
  > vitest run
4
4
 
5
5
 
@@ -7,33 +7,32 @@
7
7
 
8
8
  Not implemented: navigation to another Document
9
9
  Not implemented: navigation to another Document
10
- ✓  browser  test/sdk/ui/useScrollRestoration.browser.test.ts (43 tests) 1198ms
10
+ ✓  browser  test/sdk/ui/useScrollRestoration.browser.test.ts (43 tests) 1434ms
11
11
  Browserslist: browsers data (caniuse-lite) is 8 months old. Please run:
12
12
  npx update-browserslist-db@latest
13
13
  Why you should do it regularly: https://github.com/browserslist/update-db#readme
14
- ✓  browser  test/components/account/ContractSwitcher.browser.test.tsx (22 tests) 4246ms
15
- ✓ shows an error state when the list fails to load  715ms
16
- ✓ requires selecting a contract before Confirm is enabled, then switches (REQ-03)  424ms
17
- ✓ keeps Confirm disabled until a different contract is selected  371ms
18
- ✓ keeps Confirm disabled when switching is unavailable  368ms
19
- ✓ keeps Confirm disabled when the selected contract is filtered out  345ms
20
- ✓ honors CMS-provided labels for the header, current session, search, footer, and available count  363ms
21
- ✓  browser  test/components/account/cards/MyAccountListCards.browser.test.tsx (16 tests) 3043ms
22
- ✓ shows the tab bar and renders Personal cards by default  1270ms
23
- ✓ paginates when there are more than 25 cards  355ms
24
- ✓  browser  test/components/account/orders/BuyingPolicyAlert.browser.test.tsx (13 tests) 3166ms
25
- ✓ opens the reject confirmation modal with the default English copy  1303ms
26
- ✓ opens the reject confirmation modal with CMS-provided labels  418ms
27
- ✓ shows the default English toast when a policy is rejected  314ms
28
- ✓  browser  test/components/CartRecommendationShelf/CartRecommendationShelf.browser.test.tsx (13 tests) 304ms
29
- ✓  browser  test/sdk/localization/useBindingSelector.browser.test.tsx (9 tests) 108ms
30
- ✓  browser  test/components/account/OrganizationDrawer.browser.test.tsx (10 tests) 2015ms
31
- ✓ renders the menu view with contract details and manage footer  994ms
32
- ✓ opens the contract switcher and returns to the menu on back  367ms
33
- ✓ resets to the menu when the drawer closes  329ms
34
- ✓  browser  test/sdk/session/reconcileSessionLocale.browser.test.ts (6 tests) 20ms
35
- ✓  browser  test/components/ui/ProductGallery/GalleryPageHeightLock.browser.test.tsx (8 tests) 99ms
36
- ✓  browser  test/sdk/recommendations/useRecommendationShelf.browser.test.tsx (12 tests) 71ms
14
+ ✓  browser  test/components/account/cards/MyAccountListCards.browser.test.tsx (16 tests) 2768ms
15
+ ✓ shows the tab bar and renders Personal cards by default  1334ms
16
+ ✓ paginates when there are more than 25 cards  315ms
17
+ ✓  browser  test/components/account/ContractSwitcher.browser.test.tsx (22 tests) 3857ms
18
+ ✓ shows an error state when the list fails to load  966ms
19
+ ✓ requires selecting a contract before Confirm is enabled, then switches (REQ-03)  381ms
20
+ ✓ keeps Confirm disabled when the selected contract is filtered out  377ms
21
+ ✓ honors CMS-provided labels for the header, current session, search, footer, and available count  331ms
22
+ ✓  browser  test/components/account/orders/BuyingPolicyAlert.browser.test.tsx (13 tests) 2749ms
23
+ ✓ opens the reject confirmation modal with the default English copy  884ms
24
+ ✓ opens the reject confirmation modal with CMS-provided labels  430ms
25
+ ✓ shows the default English toast when a policy is rejected  330ms
26
+ ✓  browser  test/components/CartRecommendationShelf/CartRecommendationShelf.browser.test.tsx (13 tests) 352ms
27
+ ✓  browser  test/components/ui/RichText/RichText.browser.test.tsx (8 tests) 383ms
28
+ ✓  browser  test/components/account/OrganizationDrawer.browser.test.tsx (10 tests) 2194ms
29
+ ✓ renders the menu view with contract details and manage footer  1242ms
30
+ ✓ opens the contract switcher and returns to the menu on back  388ms
31
+ ✓ resets to the menu when the drawer closes  314ms
32
+ ✓  browser  test/sdk/session/reconcileSessionLocale.browser.test.ts (6 tests) 21ms
33
+ ✓  browser  test/sdk/localization/useBindingSelector.browser.test.tsx (9 tests) 72ms
34
+ ✓  browser  test/components/ui/ProductGallery/GalleryPageHeightLock.browser.test.tsx (8 tests) 66ms
35
+ ✓  browser  test/sdk/recommendations/useRecommendationShelf.browser.test.tsx (12 tests) 162ms
37
36
  stderr | test/components/RecommendationShelf/RecommendationShelf.browser.test.tsx
38
37
  Error in optimistic validation: TypeError: Failed to parse URL from /api/graphql?operationName=ValidateCartMutation&operationHash=3c71b0d3fc2bade14df68abfa271858beb361b12
39
38
   at node:internal/deps/undici/undici:16416:13
@@ -63,11 +62,10 @@ Browserslist: browsers data (caniuse-lite) is 8 months old. Please run:
63
62
  stderr | test/components/RecommendationShelf/RecommendationShelf.browser.test.tsx > RecommendationShelf > renders nothing when there is an error
64
63
  Error fetching recommendations undefined boom for campaign vrn:recommendations:acc:rec-top-items-v2:campaign-1
65
64
 
66
- ✓  browser  test/components/RecommendationShelf/RecommendationShelf.browser.test.tsx (8 tests) 165ms
67
- ✓  browser  test/components/CartSidebar/CartSidebar.browser.test.tsx (5 tests) 75ms
68
- ✓  browser  test/components/sections/Account/AccountOrderDetails.browser.test.tsx (4 tests) 93ms
69
- ✓  browser  test/sdk/session/getInitialSession.browser.test.ts (7 tests) 11ms
70
- ✓  browser  test/components/navigation/Navbar.browser.test.tsx (3 tests) 92ms
65
+ ✓  browser  test/components/RecommendationShelf/RecommendationShelf.browser.test.tsx (8 tests) 86ms
66
+ ✓  browser  test/components/CartSidebar/CartSidebar.browser.test.tsx (5 tests) 76ms
67
+ ✓  browser  test/sdk/session/getInitialSession.browser.test.ts (7 tests) 19ms
68
+ ✓  browser  test/components/sections/Account/AccountOrderDetails.browser.test.tsx (4 tests) 145ms
71
69
  stderr | test/pages/password-protection.browser.test.tsx > PasswordProtectionLogin > posts the password and redirects to the requested return path
72
70
  Warning: An update to PasswordProtectionLogin inside a test was not wrapped in act(...).
73
71
 
@@ -249,7 +247,6 @@ act(() => {
249
247
  This ensures that you're testing the behavior the user would see in the browser. Learn more at https://reactjs.org/link/wrap-tests-with-act
250
248
  at PasswordProtectionLogin (/home/runner/work/faststore/faststore/packages/core/src/pages/password-protection/index.tsx:19:69)
251
249
 
252
- ✓  browser  test/components/account/OrganizationDrawerFooter.browser.test.tsx (8 tests) 545ms
253
250
  stderr | test/pages/password-protection.browser.test.tsx > PasswordProtectionLogin > shows service unavailable when the login request fails
254
251
  Warning: An update to PasswordProtectionLogin inside a test was not wrapped in act(...).
255
252
 
@@ -298,8 +295,11 @@ act(() => {
298
295
  This ensures that you're testing the behavior the user would see in the browser. Learn more at https://reactjs.org/link/wrap-tests-with-act
299
296
  at PasswordProtectionLogin (/home/runner/work/faststore/faststore/packages/core/src/pages/password-protection/index.tsx:19:69)
300
297
 
301
- ✓  browser  test/pages/password-protection.browser.test.tsx (6 tests) 997ms
302
- ✓ renders the password protection form  459ms
298
+ ✓  browser  test/pages/password-protection.browser.test.tsx (6 tests) 932ms
299
+ ✓ renders the password protection form  488ms
300
+ ✓  browser  test/components/navigation/Navbar.browser.test.tsx (3 tests) 70ms
301
+ ✓  browser  test/components/account/OrganizationDrawerFooter.browser.test.tsx (8 tests) 488ms
302
+ ✓  browser  test/sdk/account/useSwitchContract.browser.test.ts (5 tests) 45ms
303
303
  stderr | test/components/cms/RenderSections.browser.test.tsx
304
304
  Error in optimistic validation: TypeError: Cannot read properties of undefined (reading 'read')
305
305
  at waitForSessionValidated (/home/runner/work/faststore/faststore/packages/core/src/sdk/cart/waitForSessionValidated.ts:16:32)
@@ -308,9 +308,9 @@ This ensures that you're testing the behavior the user would see in the browser.
308
308
  at a (/home/runner/work/faststore/faststore/packages/sdk/dist/es/index.mjs:357:23)
309
309
   at processTicksAndRejections (node:internal/process/task_queues:103:5)
310
310
 
311
- ✓  browser  test/sdk/account/useSwitchContract.browser.test.ts (5 tests) 54ms
312
- ✓  browser  test/components/navigation/NavbarSlider.browser.test.tsx (2 tests) 45ms
313
- ✓  browser  test/components/cms/RenderSections.browser.test.tsx (5 tests) 102ms
311
+ ✓  browser  test/components/navigation/NavbarSlider.browser.test.tsx (2 tests) 31ms
312
+ ✓  browser  test/components/cms/RenderSections.browser.test.tsx (5 tests) 81ms
313
+ ✓  browser  test/components/account/Menu.browser.test.tsx (6 tests) 338ms
314
314
  stderr | test/sdk/localization/store-url.browser.test.ts
315
315
  Error in optimistic validation: TypeError: Cannot read properties of undefined (reading 'read')
316
316
  at waitForSessionValidated (/home/runner/work/faststore/faststore/packages/core/src/sdk/cart/waitForSessionValidated.ts:16:32)
@@ -319,15 +319,14 @@ This ensures that you're testing the behavior the user would see in the browser.
319
319
  at a (/home/runner/work/faststore/faststore/packages/sdk/dist/es/index.mjs:357:23)
320
320
   at processTicksAndRejections (node:internal/process/task_queues:103:5)
321
321
 
322
- ✓  browser  test/sdk/localization/store-url.browser.test.ts (3 tests) 6ms
323
- ✓  browser  test/components/account/Menu.browser.test.tsx (6 tests) 403ms
324
- ✓  browser  test/sdk/account/useAvailableContracts.browser.test.ts (6 tests) 28ms
325
- ✓  browser  test/components/templates/SearchPage/SearchWrapper.browser.test.tsx (3 tests) 42ms
326
- ✓  browser  test/sdk/recommendations/useRecommendationShelf.sessionFallback.browser.test.tsx (2 tests) 139ms
327
- ✓  browser  test/components/sections/Account/AccountListQuotes.browser.test.tsx (4 tests) 104ms
322
+ ✓  browser  test/sdk/localization/store-url.browser.test.ts (3 tests) 4ms
323
+ ✓  browser  test/sdk/account/useAvailableContracts.browser.test.ts (6 tests) 37ms
324
+ ✓  browser  test/components/templates/SearchPage/SearchWrapper.browser.test.tsx (3 tests) 36ms
325
+ ✓  browser  test/sdk/recommendations/useRecommendationShelf.sessionFallback.browser.test.tsx (2 tests) 83ms
326
+ ✓  browser  test/components/sections/Account/AccountListQuotes.browser.test.tsx (4 tests) 126ms
328
327
  ✓  browser  test/components/navigation/NavbarAccountArea.browser.test.tsx (4 tests) 72ms
329
- ✓  browser  test/components/CartRecommendationShelf/CartRecommendationProductCard.browser.test.tsx (3 tests) 49ms
330
- ✓  browser  test/sdk/account/changeContractToken.browser.test.ts (9 tests) 20ms
328
+ ✓  browser  test/components/CartRecommendationShelf/CartRecommendationProductCard.browser.test.tsx (3 tests) 73ms
329
+ ✓  browser  test/sdk/account/changeContractToken.browser.test.ts (9 tests) 19ms
331
330
  stderr | test/components/account/doLogout.browser.test.ts
332
331
  Error in optimistic validation: TypeError: Cannot read properties of undefined (reading 'read')
333
332
  at waitForSessionValidated (/home/runner/work/faststore/faststore/packages/core/src/sdk/cart/waitForSessionValidated.ts:16:32)
@@ -336,9 +335,9 @@ This ensures that you're testing the behavior the user would see in the browser.
336
335
  at a (/home/runner/work/faststore/faststore/packages/sdk/dist/es/index.mjs:357:23)
337
336
   at processTicksAndRejections (node:internal/process/task_queues:103:5)
338
337
 
339
- ✓  browser  test/components/account/doLogout.browser.test.ts (1 test) 35ms
340
- ✓  browser  test/components/ui/LocalizationButton.browser.test.tsx (3 tests) 36ms
341
- ✓  browser  test/components/account/OrganizationDrawerHeader.browser.test.tsx (5 tests) 383ms
338
+ ✓  browser  test/components/account/doLogout.browser.test.ts (1 test) 25ms
339
+ ✓  browser  test/components/ui/LocalizationButton.browser.test.tsx (3 tests) 56ms
340
+ ✓  browser  test/components/account/OrganizationDrawerHeader.browser.test.tsx (5 tests) 378ms
342
341
  stderr | test/sdk/account/clearPersistedSessionState.browser.test.ts
343
342
  Error in optimistic validation: TypeError: Cannot read properties of undefined (reading 'read')
344
343
  at waitForSessionValidated (/home/runner/work/faststore/faststore/packages/core/src/sdk/cart/waitForSessionValidated.ts:16:32)
@@ -347,14 +346,15 @@ This ensures that you're testing the behavior the user would see in the browser.
347
346
  at a (/home/runner/work/faststore/faststore/packages/sdk/dist/es/index.mjs:357:23)
348
347
   at processTicksAndRejections (node:internal/process/task_queues:103:5)
349
348
 
350
- ✓  browser  test/sdk/account/clearPersistedSessionState.browser.test.ts (4 tests) 14ms
351
- ✓  browser  test/components/sections/Account/AccountOrderDelivery.browser.test.tsx (2 tests) 103ms
352
- ✓  browser  test/components/account/orders/DeliveryOptionAccordion.browser.test.tsx (2 tests) 106ms
353
- ✓  browser  test/components/sections/Account/AccountOrderStatus.browser.test.tsx (3 tests) 127ms
354
- ✓  browser  test/components/region/useRegion.browser.test.ts (1 test) 18ms
355
- ✓  browser  test/components/sections/Account/AccountListCards.browser.test.tsx (3 tests) 94ms
356
- ✓  browser  test/components/sections/Account/AccountOrdersList.browser.test.tsx (2 tests) 31ms
357
- ✓  browser  test/components/account/orders/SummaryCard.browser.test.tsx (2 tests) 107ms
349
+ ✓  browser  test/sdk/account/clearPersistedSessionState.browser.test.ts (4 tests) 13ms
350
+ ✓  browser  test/components/account/orders/DeliveryOptionAccordion.browser.test.tsx (2 tests) 90ms
351
+ ✓  browser  test/components/sections/Account/AccountOrderDelivery.browser.test.tsx (2 tests) 87ms
352
+ ✓  browser  test/components/sections/Account/AccountOrderStatus.browser.test.tsx (3 tests) 96ms
353
+ ✓  browser  test/components/region/useRegion.browser.test.ts (1 test) 23ms
354
+ ✓  browser  test/components/sections/Account/AccountListCards.browser.test.tsx (3 tests) 72ms
355
+ ✓  browser  test/components/sections/Account/AccountOrdersList.browser.test.tsx (2 tests) 29ms
356
+ ✓  browser  test/components/account/orders/SummaryCard.browser.test.tsx (2 tests) 89ms
357
+ ✓  browser  test/components/account/OrganizationSignInButton.browser.test.tsx (2 tests) 242ms
358
358
  stderr | test/sdk/session/sessionStore.browser.test.ts
359
359
  Error in optimistic validation: TypeError: Cannot read properties of undefined (reading 'read')
360
360
  at waitForSessionValidated (/home/runner/work/faststore/faststore/packages/core/src/sdk/cart/waitForSessionValidated.ts:16:32)
@@ -363,9 +363,7 @@ This ensures that you're testing the behavior the user would see in the browser.
363
363
  at a (/home/runner/work/faststore/faststore/packages/sdk/dist/es/index.mjs:357:23)
364
364
   at processTicksAndRejections (node:internal/process/task_queues:103:5)
365
365
 
366
- ✓  browser  test/components/account/OrganizationSignInButton.browser.test.tsx (2 tests) 314ms
367
- ✓  browser  test/sdk/session/sessionStore.browser.test.ts (2 tests) 6ms
368
- ✓  browser  test/components/account/orders/DeliveryOptionAccordionDeliveryInfo.browser.test.tsx (1 test) 44ms
366
+ ✓  browser  test/sdk/session/sessionStore.browser.test.ts (2 tests) 7ms
369
367
  stderr | test/sdk/session/validateSession.browser.test.ts
370
368
  Error in optimistic validation: TypeError: Cannot read properties of undefined (reading 'read')
371
369
  at waitForSessionValidated (/home/runner/work/faststore/faststore/packages/core/src/sdk/cart/waitForSessionValidated.ts:16:32)
@@ -374,14 +372,15 @@ This ensures that you're testing the behavior the user would see in the browser.
374
372
  at a (/home/runner/work/faststore/faststore/packages/sdk/dist/es/index.mjs:357:23)
375
373
   at processTicksAndRejections (node:internal/process/task_queues:103:5)
376
374
 
377
- ✓  browser  test/sdk/session/validateSession.browser.test.ts (1 test) 7ms
378
- ✓  browser  test/components/account/orders/StatusCard.browser.test.tsx (2 tests) 123ms
375
+ ✓  browser  test/components/account/orders/DeliveryOptionAccordionDeliveryInfo.browser.test.tsx (1 test) 62ms
376
+ ✓  browser  test/sdk/session/validateSession.browser.test.ts (1 test) 6ms
377
+ ✓  browser  test/components/account/orders/StatusCard.browser.test.tsx (2 tests) 106ms
379
378
  ✓  browser  test/utils/isLocalHost.browser.test.ts (3 tests) 5ms
380
379
  ✓  browser  test/sdk/session/reconcileSessionLocale.disabled.browser.test.ts (1 test) 4ms
381
- ✓  browser  test/components/account/orders/DeliveryCard.browser.test.tsx (1 test) 55ms
382
- ✓  browser  test/components/account/orders/DeliveryOptionAccordionProducts.browser.test.tsx (1 test) 56ms
383
- ✓  browser  test/components/skeletons/ProductGridSkeleton.browser.test.tsx (2 tests) 30ms
384
- ✓  node  test/utils/localization/bindingPaths.test.ts (71 tests) 29ms
380
+ ✓  browser  test/components/account/orders/DeliveryCard.browser.test.tsx (1 test) 42ms
381
+ ✓  browser  test/components/account/orders/DeliveryOptionAccordionProducts.browser.test.tsx (1 test) 50ms
382
+ ✓  browser  test/components/skeletons/ProductGridSkeleton.browser.test.tsx (2 tests) 43ms
383
+ ✓  node  test/utils/localization/bindingPaths.test.ts (71 tests) 32ms
385
384
  stderr | test/sdk/account/refreshToken.browser.test.ts
386
385
  Error in optimistic validation: TypeError: Cannot read properties of undefined (reading 'read')
387
386
  at waitForSessionValidated (/home/runner/work/faststore/faststore/packages/core/src/sdk/cart/waitForSessionValidated.ts:16:32)
@@ -390,13 +389,14 @@ This ensures that you're testing the behavior the user would see in the browser.
390
389
  at a (/home/runner/work/faststore/faststore/packages/sdk/dist/es/index.mjs:357:23)
391
390
   at processTicksAndRejections (node:internal/process/task_queues:103:5)
392
391
 
393
- ✓  browser  test/sdk/account/refreshToken.browser.test.ts (1 test) 8ms
394
- ✓  node  test/server/password-protection-service.test.ts (22 tests) 41ms
395
- ✓  node  test/pages/api/switch-contract.test.ts (25 tests) 89ms
396
- ✓  browser  test/components/account/orders/FilterFacetPendingApproval.browser.test.tsx (1 test) 223ms
397
- ✓  node  test/utils/match-url.test.ts (10 tests) 8ms
392
+ ✓  browser  test/sdk/account/refreshToken.browser.test.ts (1 test) 5ms
393
+ ✓  node  test/server/password-protection-service.test.ts (22 tests) 36ms
394
+ ✓  node  test/pages/api/switch-contract.test.ts (25 tests) 80ms
395
+ ✓  node  test/utils/match-url.test.ts (10 tests) 12ms
396
+ ✓  browser  test/components/account/orders/FilterFacetPendingApproval.browser.test.tsx (1 test) 224ms
398
397
  ✓  node  test/sdk/localization/useBindingSelector.test.tsx (22 tests) 15ms
399
- ✓  node  test/pages/api/unlock.test.ts (15 tests) 209ms
398
+ ✓  node  test/pages/api/unlock.test.ts (15 tests) 125ms
399
+ ✓  node  test/sdk/session/syncSalesChannelFromOrderForm.test.ts (14 tests) 16ms
400
400
  stderr | test/components/search/SearchInputComponent.test.tsx
401
401
  Warning: forwardRef render functions accept exactly two parameters: props and ref. Did you forget to use the ref parameter?
402
402
 
@@ -460,25 +460,23 @@ Warning: React does not recognize the `providerProps` prop on a DOM element. If
460
460
  at Suspense
461
461
  at Wrapper (/home/runner/work/faststore/faststore/packages/core/test/components/search/SearchInputComponent.test.tsx:106:20)
462
462
 
463
- ✓  node  test/sdk/session/syncSalesChannelFromOrderForm.test.ts (14 tests) 15ms
464
- ✓  node  test/components/search/SearchInputComponent.test.tsx (6 tests) 72ms
465
- ✓  node  test/sdk/localization/bindingSelector.test.ts (18 tests) 9ms
466
- ✓  node  test/components/quotes/MyAccountListQuotesTable.test.tsx (15 tests) 500ms
467
- ✓  node  test/sdk/search/useSearchHistory.test.ts (13 tests) 50ms
463
+ ✓  node  test/components/search/SearchInputComponent.test.tsx (6 tests) 86ms
464
+ ✓  node  test/sdk/localization/bindingSelector.test.ts (18 tests) 11ms
465
+ ✓  node  test/components/quotes/MyAccountListQuotesTable.test.tsx (15 tests) 440ms
466
+ ✓  node  test/sdk/search/useSearchHistory.test.ts (13 tests) 43ms
467
+ ✓  node  test/components/quotes/MyAccountListQuotes.test.tsx (11 tests) 834ms
468
+ ✓ navigates with the search term on blur  361ms
469
+ ✓ navigates without a label param when the search is cleared  365ms
468
470
  stderr | test/pages/pvt/account/cards/index.test.ts > Cards page getServerSideProps > redirects to /pvt/account/403 when the query fails with 401/403
469
471
  { extensions: { status: 401 } }
470
472
 
471
473
  stderr | test/pages/pvt/account/cards/index.test.ts > Cards page getServerSideProps > renders the error state (no redirect) when the query fails with a non-auth status
472
474
  { extensions: { status: 502 } }
473
475
 
474
- ✓  node  test/pages/pvt/account/cards/index.test.ts (8 tests) 8ms
475
- ✓  node  test/components/quotes/MyAccountListQuotes.test.tsx (11 tests) 854ms
476
- ✓ navigates with the search term on blur  360ms
477
- ✓ navigates without a label param when the search is cleared  360ms
476
+ ✓  node  test/pages/pvt/account/cards/index.test.ts (8 tests) 12ms
477
+ ✓  node  test/components/quotes/quoteFilters.test.ts (26 tests) 38ms
478
478
  ✓  node  test/utils/cookieCacheBusting.test.ts (10 tests) 15ms
479
- ✓  node  test/components/quotes/quoteFilters.test.ts (26 tests) 34ms
480
- ✓  node  test/utils/productJsonLd.test.ts (36 tests) 16ms
481
- ✓  node  test/experimental/myAccountCmsServerSideProps.test.ts (5 tests) 11ms
479
+ ✓  node  test/utils/productJsonLd.test.ts (36 tests) 14ms
482
480
  stderr | test/pages/api/graphql.test.ts > /api/graphql error status propagation > propagates the upstream 400 from a wrapped BadRequestError instead of 500
483
481
  Graphql execution returned with error: [
484
482
  {
@@ -588,74 +586,75 @@ Warning: React does not recognize the `providerProps` prop on a DOM element. If
588
586
  at trace (file:///home/runner/work/faststore/faststore/node_modules/.pnpm/vitest@4.0.18_@opentelemetry+api@1.9.0_@types+node@20.19.13_jiti@2.6.1_jsdom@27.4.0_sas_13be941c57d55f08f06eeaf1c180ddfe/node_modules/vitest/dist/chunks/test.B8ej_ZHS.js:239:21)
589
587
  at runTest (file:///home/runner/work/faststore/faststore/node_modules/.pnpm/@vitest+runner@4.0.18/node_modules/@vitest/runner/dist/index.js:1653:12)
590
588
 
591
- ✓  node  test/pages/api/graphql.test.ts (19 tests) 35ms
592
- ✓  node  test/utils/clearCookies.test.ts (20 tests) 23ms
593
- ✓  node  test/utils/multipleTemplates.test.ts (8 tests) 8ms
589
+ ✓  node  test/pages/api/graphql.test.ts (19 tests) 33ms
590
+ ✓  node  test/experimental/myAccountCmsServerSideProps.test.ts (5 tests) 9ms
591
+ ✓  node  test/utils/clearCookies.test.ts (20 tests) 20ms
592
+ ✓  node  test/utils/multipleTemplates.test.ts (8 tests) 7ms
594
593
  stderr | test/sdk/account/useSetPassword.test.ts > useSetPassword > maps wrongcredentials error responses to the existing message
595
594
  Set password request failed: Bad Request
596
595
 
597
- ✓  node  test/sdk/account/useSetPassword.test.ts (6 tests) 47ms
598
- ✓  node  test/sdk/orderEntry/useOrderEntryOperation.test.ts (8 tests) 34ms
599
- ✓  node  test/utils/localization/localizeRedirectDestination.test.ts (11 tests) 6ms
600
- ✓  node  test/components/quotes/MyAccountQuotesFilterSlider.test.tsx (8 tests) 170ms
601
- ✓  node  test/components/quotes/MyAccountQuotesStatusSelector.test.tsx (14 tests) 197ms
596
+ ✓  node  test/sdk/account/useSetPassword.test.ts (6 tests) 32ms
597
+ ✓  node  test/sdk/orderEntry/useOrderEntryOperation.test.ts (8 tests) 51ms
598
+ ✓  node  test/utils/localization/localizeRedirectDestination.test.ts (11 tests) 7ms
599
+ ✓  node  test/components/quotes/MyAccountQuotesFilterSlider.test.tsx (8 tests) 160ms
602
600
  ✓  node  test/utils/localization/hreflang.test.ts (8 tests) 7ms
603
- ✓  node  test/sdk/account/getMyAccountRoutes.test.ts (13 tests) 11ms
604
- ✓  node  test/components/quotes/MyAccountQuotesSelectedTags.test.tsx (10 tests) 155ms
605
- ✓  node  test/sdk/redirects/index.test.ts (7 tests) 45ms
606
- ✓  node  test/sdk/orderEntry/useOrderEntryUpload.test.ts (8 tests) 62ms
607
- ✓  node  test/proxy.localization.test.ts (5 tests) 76ms
601
+ ✓  node  test/components/quotes/MyAccountQuotesStatusSelector.test.tsx (14 tests) 209ms
602
+ ✓  node  test/sdk/account/getMyAccountRoutes.test.ts (13 tests) 9ms
603
+ ✓  node  test/components/quotes/MyAccountQuotesSelectedTags.test.tsx (10 tests) 106ms
604
+ ✓  node  test/sdk/redirects/index.test.ts (7 tests) 38ms
605
+ ✓  node  test/sdk/orderEntry/useOrderEntryUpload.test.ts (8 tests) 53ms
606
+ ✓  node  test/proxy.localization.test.ts (5 tests) 45ms
608
607
  ✓  node  test/sdk/orderEntry/useOrderEntry.test.ts (8 tests) 50ms
609
- ✓  node  test/components/account/orders/getDeliveryOptionLabel.test.ts (21 tests) 9ms
610
608
  ✓  node  test/sdk/graphql/retryPolicy.test.ts (18 tests) 21ms
611
- ✓  node  test/server/cms/myAccountDefaultSections.test.ts (9 tests) 7ms
612
- ✓  node  test/utils/productJsonLdRendering.test.tsx (5 tests) 15ms
613
- ✓  node  test/sdk/analytics/useStartRecommendationSession.test.ts (6 tests) 33ms
614
- ✓  node  test/sdk/orderEntry/useOrderFormItems.test.ts (7 tests) 26ms
615
- ✓  node  test/proxy.test.ts (4 tests) 18ms
616
- ✓  node  test/server/webops-api.test.ts (9 tests) 12ms
617
- ✓  node  test/components/account/orders/StatusCard.test.ts (3 tests) 19ms
618
- ✓  node  test/sdk/localization/store-url.test.ts (4 tests) 5ms
619
- ✓  node  test/sdk/cart/waitForSessionValidated.test.ts (5 tests) 12ms
620
- ✓  node  test/server/content/service.test.ts (5 tests) 5ms
621
- ✓  node  test/sdk/account/refreshToken.test.ts (5 tests) 6ms
622
- ✓  node  test/server/cms/global.test.ts (3 tests) 4ms
623
- ✓  node  test/sdk/auth/useAuth.test.ts (5 tests) 30ms
624
- ✓  node  test/server/rootSpan.test.ts (4 tests) 41ms
625
- ✓  node  test/utils/getRequestHostname.test.ts (12 tests) 5ms
626
- ✓  node  test/pages/api/preview.test.ts (2 tests) 7ms
627
- ✓  node  test/components/account/Layout.test.tsx (6 tests) 49ms
609
+ ✓  node  test/components/account/orders/getDeliveryOptionLabel.test.ts (21 tests) 7ms
610
+ ✓  node  test/server/cms/myAccountDefaultSections.test.ts (9 tests) 8ms
611
+ ✓  node  test/utils/productJsonLdRendering.test.tsx (5 tests) 14ms
612
+ ✓  node  test/utils/trustedForwardedHost.test.ts (27 tests) 6ms
613
+ ✓  node  test/sdk/analytics/useStartRecommendationSession.test.ts (6 tests) 37ms
614
+ ✓  node  test/server/index.test.ts (7 tests) 1350ms
615
+ ✓ should handle options and execute  765ms
616
+ ✓  node  test/sdk/orderEntry/useOrderFormItems.test.ts (7 tests) 50ms
617
+ ✓  node  test/server/webops-api.test.ts (9 tests) 35ms
618
+ ✓  node  test/proxy.test.ts (4 tests) 19ms
619
+ ✓  node  test/components/account/orders/StatusCard.test.ts (3 tests) 30ms
620
+ ✓  node  test/sdk/localization/store-url.test.ts (4 tests) 7ms
621
+ ✓  node  test/sdk/cart/waitForSessionValidated.test.ts (5 tests) 16ms
622
+ ✓  node  test/server/content/service.test.ts (5 tests) 4ms
623
+ ✓  node  test/sdk/account/refreshToken.test.ts (5 tests) 7ms
624
+ ✓  node  test/server/cms/global.test.ts (3 tests) 6ms
625
+ ✓  node  test/sdk/auth/useAuth.test.ts (5 tests) 29ms
626
+ ✓  node  test/utils/getRequestHostname.test.ts (12 tests) 7ms
627
+ ✓  node  test/components/account/Layout.test.tsx (6 tests) 87ms
628
+ ✓  node  test/server/rootSpan.test.ts (4 tests) 45ms
629
+ ✓  node  test/pages/api/preview.test.ts (2 tests) 9ms
628
630
  ✓  node  test/components/search/SearchInput.test.ts (6 tests) 7ms
629
631
  ✓  node  test/utils/validateSessionRefreshToken.test.ts (6 tests) 4ms
630
- ✓  node  test/server/index.test.ts (7 tests) 5149ms
631
- ✓ should return a valid merged GraphQL schema  302ms
632
- ✓ should handle options and execute  4558ms
633
- ✓  node  test/sdk/recommendations/vrn.test.ts (5 tests) 6ms
634
- ✓  node  test/components/region/useRegion.test.ts (1 test) 29ms
635
- ✓  node  test/utils/retry.test.ts (5 tests) 16ms
632
+ ✓  node  test/sdk/recommendations/vrn.test.ts (5 tests) 4ms
636
633
  ✓  node  test/server/cms/index.test.ts (2 tests) 6ms
637
- ✓  node  test/sdk/account/getB2BSessionClaims.test.ts (4 tests) 4ms
638
- ✓  node  test/utils/userOrderStatus.test.ts (4 tests) 6ms
639
- ✓  node  test/sdk/recommendations/useRecommendationUserId.test.ts (4 tests) 187ms
640
- ✓  node  test/utils/unlockResponse.test.ts (11 tests) 5ms
641
- ✓  node  test/sdk/recommendations/useRecommendations.test.ts (2 tests) 6ms
642
- ✓  node  test/components/account/OrganizationDrawerBody.test.tsx (3 tests) 49ms
643
- ✓  node  test/utils/isLocalHost.test.ts (7 tests) 4ms
634
+ ✓  node  test/components/region/useRegion.test.ts (1 test) 22ms
635
+ ✓  node  test/utils/retry.test.ts (5 tests) 18ms
636
+ ✓  node  test/sdk/account/getB2BSessionClaims.test.ts (4 tests) 6ms
637
+ ✓  node  test/utils/userOrderStatus.test.ts (4 tests) 4ms
638
+ ✓  node  test/sdk/recommendations/useRecommendationUserId.test.ts (4 tests) 198ms
639
+ ✓  node  test/utils/unlockResponse.test.ts (11 tests) 8ms
640
+ ✓  node  test/sdk/recommendations/useRecommendations.test.ts (2 tests) 5ms
641
+ ✓  node  test/components/account/OrganizationDrawerBody.test.tsx (3 tests) 41ms
642
+ ✓  node  test/utils/isLocalHost.test.ts (7 tests) 5ms
644
643
  ✓  node  test/sdk/session/toSessionInput.test.ts (3 tests) 5ms
645
- ✓  node  test/components/quotes/MyAccountQuoteStatusBadge.test.tsx (4 tests) 37ms
646
- ✓  node  test/components/account/orders/getOrderTotalLabel.test.ts (6 tests) 5ms
647
- ✓  node  test/components/account/orders/listOrdersLabels.test.ts (2 tests) 3ms
644
+ ✓  node  test/components/quotes/MyAccountQuoteStatusBadge.test.tsx (4 tests) 36ms
645
+ ✓  node  test/components/account/orders/listOrdersLabels.test.ts (2 tests) 4ms
646
+ ✓  node  test/components/account/orders/getOrderTotalLabel.test.ts (6 tests) 3ms
647
+ ✓  node  test/sdk/session/isSignInAreaResolved.test.ts (3 tests) 4ms
648
648
  ✓  node  test/utils/getCookie.test.ts (4 tests) 5ms
649
- ✓  node  test/sdk/session/isSignInAreaResolved.test.ts (3 tests) 5ms
650
- ✓  node  test/components/auth/ProfileChallenge.test.tsx (3 tests) 34ms
651
649
  ✓  node  test/utils/filterChannel.test.ts (2 tests) 5ms
652
- ✓  node  test/sdk/analytics/utils.test.ts (2 tests) 5ms
653
- ✓  node  test/instrumentation.test.ts (3 tests) 7ms
650
+ ✓  node  test/components/auth/ProfileChallenge.test.tsx (3 tests) 33ms
651
+ ✓  node  test/sdk/analytics/utils.test.ts (2 tests) 4ms
652
+ ✓  node  test/instrumentation.test.ts (3 tests) 6ms
654
653
  ✓  node  test/components/account/orders/orderDetailsLabels.test.ts (1 test) 4ms
655
654
  ✓  node  test/sdk/account/clearPersistedSessionState.test.ts (1 test) 10ms
656
655
 
657
-  Test Files  129 passed (129)
658
-  Tests  1005 passed (1005)
659
-  Start at  19:28:12
660
-  Duration  64.24s (transform 13.31s, setup 0ms, import 54.17s, tests 28.07s, environment 78.66s)
656
+  Test Files  131 passed (131)
657
+  Tests  1040 passed (1040)
658
+  Start at  16:50:57
659
+  Duration  64.14s (transform 16.34s, setup 0ms, import 57.63s, tests 23.46s, environment 79.54s)
661
660
 
package/CHANGELOG.md CHANGED
@@ -3,6 +3,24 @@
3
3
  All notable changes to this project will be documented in this file.
4
4
  See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
5
5
 
6
+ # [4.10.0-dev.0](https://github.com/vtex/faststore/compare/v4.9.3-dev.2...v4.10.0-dev.0) (2026-10-08)
7
+
8
+ ### Features
9
+
10
+ - render images in RichText via a custom Lexical image node ([#3448](https://github.com/vtex/faststore/issues/3448)) ([a7c85b8](https://github.com/vtex/faststore/commit/a7c85b8478a64994b123f81ee08add594daa7b2f))
11
+
12
+ ## [4.9.3-dev.2](https://github.com/vtex/faststore/compare/v4.9.3-dev.1...v4.9.3-dev.2) (2026-10-07)
13
+
14
+ ### Bug Fixes
15
+
16
+ - address security & functional concerns from dk review ([d0b6106](https://github.com/vtex/faststore/commit/d0b610688ec551d8105c74750927be4ab1af7224))
17
+ - **core:** harden x-forwarded-host handling and drop orderNumber fallback ([c1faa35](https://github.com/vtex/faststore/commit/c1faa35fe070ff8b51d4f07a5f1f33da4b17d836)), closes [#3178](https://github.com/vtex/faststore/issues/3178)
18
+ - **core:** ignore multi-value x-forwarded-host and cover port and case ([b81d5d9](https://github.com/vtex/faststore/commit/b81d5d91721f9f8205251ad39e607b094386083c))
19
+ - **core:** log ignored x-forwarded-host and cover CR/LF hostnames ([adaa816](https://github.com/vtex/faststore/commit/adaa81608b7e72759272e1d6d23ca6257b9a4d59))
20
+ - **core:** make preview cookies host-only instead of rewriting their domain ([8e4901e](https://github.com/vtex/faststore/commit/8e4901ec7d127336bc27c0ae8e52c9cadea1a5a3))
21
+ - **core:** reject hostnames that would inject Set-Cookie attributes ([059a437](https://github.com/vtex/faststore/commit/059a4377c3b1b8f66aeed2b73ce130e1ab827f77))
22
+ - resolve ValidateCartMutation infinite loop in preview environments (SFS-3034) ([1cc9a5e](https://github.com/vtex/faststore/commit/1cc9a5efb1617f3d032623c4ee5f687ad5e2ccd9)), closes [#3178](https://github.com/vtex/faststore/issues/3178) [#3178](https://github.com/vtex/faststore/issues/3178) [#3190](https://github.com/vtex/faststore/issues/3190) [#3188](https://github.com/vtex/faststore/issues/3188) [#1467584](https://github.com/vtex/faststore/issues/1467584)
23
+
6
24
  ## [4.9.3-dev.1](https://github.com/vtex/faststore/compare/v4.9.3-dev.0...v4.9.3-dev.1) (2026-10-06)
7
25
 
8
26
  ### Bug Fixes
@@ -92,7 +92,7 @@
92
92
  "title": "Privacy Policy Disclaimer",
93
93
  "type": "string",
94
94
  "widget": {
95
- "ui:widget": "draftjs-rich-text"
95
+ "ui:widget": "draftjs-rich-text-v2"
96
96
  }
97
97
  },
98
98
  "emailInputLabel": {
@@ -39,7 +39,7 @@
39
39
  "title": "Privacy Policy Disclaimer",
40
40
  "type": "string",
41
41
  "widget": {
42
- "ui:widget": "draftjs-rich-text"
42
+ "ui:widget": "draftjs-rich-text-v2"
43
43
  }
44
44
  },
45
45
  "emailInputLabel": {
package/index.ts CHANGED
@@ -12,6 +12,9 @@ export * from './src/typings/overrides'
12
12
  export { getOverriddenSection } from './src/sdk/overrides/getOverriddenSection'
13
13
  export { getMyAccountRoutes } from './src/sdk/account/getMyAccountRoutes'
14
14
 
15
+ export { RichText } from './src/components/ui/RichText'
16
+ export type { RichTextProps } from './src/components/ui/RichText'
17
+
15
18
  // Overridable Sections
16
19
  export { default as AlertSection } from './src/components/sections/Alert'
17
20
  export { default as BannerTextSection } from './src/components/sections/BannerText'
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@faststore/core",
3
- "version": "4.9.3-dev.1",
3
+ "version": "4.10.0-dev.0",
4
4
  "license": "MIT",
5
5
  "repository": {
6
6
  "type": "git",
@@ -71,11 +71,11 @@
71
71
  "style-loader": "^3.3.1",
72
72
  "swr": "^2.2.5",
73
73
  "use-sync-external-store": "^1.6.0",
74
- "@faststore/api": "4.9.3-dev.1",
75
- "@faststore/diagnostics": "4.9.3-dev.1",
76
- "@faststore/lighthouse": "4.9.3-dev.1",
77
- "@faststore/sdk": "4.9.3-dev.1",
78
- "@faststore/ui": "4.9.3-dev.1"
74
+ "@faststore/api": "4.10.0-dev.0",
75
+ "@faststore/diagnostics": "4.10.0-dev.0",
76
+ "@faststore/lighthouse": "4.10.0-dev.0",
77
+ "@faststore/ui": "4.10.0-dev.0",
78
+ "@faststore/sdk": "4.10.0-dev.0"
79
79
  },
80
80
  "devDependencies": {
81
81
  "@cypress/code-coverage": "^3.12.1",
@@ -26,6 +26,7 @@ import {
26
26
  } from 'lexical'
27
27
  import { RichText as UIRichText } from '@faststore/ui'
28
28
  import { isContentPlatformSource } from 'src/server/content/utils'
29
+ import { RichTextImageNode } from './RichTextImageNode'
29
30
 
30
31
  export interface RichTextProps {
31
32
  /**
@@ -124,6 +125,7 @@ function lexicalToHtml(content: string) {
124
125
  ListItemNode,
125
126
  CodeNode,
126
127
  HorizontalRuleNode,
128
+ RichTextImageNode,
127
129
  ],
128
130
  onError: (error) => {
129
131
  throw error