chore: updates dev with main 2026 03 27 19 10#3252
Merged
eduardoformiga merged 4 commits intodevfrom Mar 27, 2026
Merged
Conversation
## What's the purpose of this pull request? This PR changes the way base json schemas treat the `after` attribute to ensure stores migrating from hCMS to the new CMS (Content Platform) don't have type mismatch. This should be treated as a **hotfix** given the urgency: we need to ensure that store migrations (which will begin early next week) occur without type errors. We should release a new stable version (merge in `main`) containing this fix and make this version the minimum required for the migration to take place. ## How it works? From now on the `after` attribute will be sent to the hCMS and CMS as `string`, not as `integer`, matching the type is sent to VTEX APIs (GraphQL queries from `@faststore/api`). ### Starters Deploy Preview ## References Field validation error on CMS (Content Platform): <img width="377" height="173" alt="Screenshot 2026-03-25 at 16 53 25" src="https://github.com/user-attachments/assets/34eef93c-c3ab-4406-a4b3-36a83865f0bc" /> <!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit * **Bug Fixes** * Pagination cursor for product shelf and product tiles now accepts string values and uses "0" as the normalized default. This improves pagination consistency across the storefront, reduces type-related errors when configuring or navigating paginated product lists, and ensures more predictable behavior for loading additional product pages. <!-- end of auto-generated comment: release notes by coderabbit.ai --> --------- Co-authored-by: Mateus Pontes <mateuspo10@gmail.com>
## What's the purpose of this pull request? <!--- Considering the context, what is the problem we'll solve? Where in VTEX's big picture our issue fits in? Write a tweet about the context and the problem itself. ---> ## How it works? <!--- Tell us the role of the new feature, or component, in its context. Provide details about what you have implemented and screenshots if applicable. ---> ## How to test it? <!--- Describe the steps with bullet points. Is there any external link that can be used to better test it or an example? ---> ### Starters Deploy Preview <!--- Add a link to a deploy preview from `starter.store` with this branch being used. ---> <!--- Tip: You can get an installable version of this branch from the CodeSandbox generated when this PR is created. ---> ## References <!--- Spread the knowledge: is there any content you used to create this PR that is worth sharing? ---> <!--- Extra tip: adding references to related issues or mentioning people important to this PR may be good for the documentation and reviewing process ---> ## Checklist <em>You may erase this after checking them all 😉</em> **PR Title and Commit Messages** - [ ] PR title and commit messages follow the [Conventional Commits](https://www.conventionalcommits.org/en/v1.0.0/) specification - Available prefixes: `feat`, `fix`, `chore`, `docs`, `style`, `refactor`, `ci` and `test` **PR Description** - [ ] Added a label according to the PR goal - `breaking change`, `bug`, `contributing`, `performance`, `documentation`.. **Dependencies** - [ ] Committed the `pnpm-lock.yaml` file when there were changes to the packages **Documentation** - [ ] PR description - [ ] For documentation changes, ping `@Mariana-Caetano` to review and update (Or submit a doc request) --------- Co-authored-by: Larícia Mota <laricia.mota@vtex.com.br> Co-authored-by: Matheus P. Silva <cout.matheusps@gmail.com> Co-authored-by: Leandro Rodrigues <leandro.swf@gmail.com> Co-authored-by: vtexgithubbot <vtexgithubbot@github.com> Co-authored-by: Lucas Feijó <lucas.portela@vtex.com> Co-authored-by: Luiz Falcão <39093175+llfalcao@users.noreply.github.com> Co-authored-by: Artur Santiago <artur.santiago@cubos.io> Co-authored-by: Sahan Jayawardana <sahan@clouda.io> Co-authored-by: Mateus Pontes <mateuspo10@gmail.com> Co-authored-by: Matheus Martins <mathews_2010@outlook.com> Co-authored-by: renatomaurovtex <167437775+renatomaurovtex@users.noreply.github.com> Co-authored-by: Leandro Rodrigues <leandro.rodrigues@vtex.com> Co-authored-by: Fanny Chien <fanny.chien@vtex.com> Co-authored-by: Arthur Andrade <arthurfelandrade@gmail.com> Co-authored-by: Cursor <cursoragent@cursor.com> Co-authored-by: Thiago Pereira <thiago.pereira@vtex.com> Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> Co-authored-by: Giuliana Rigaud <62848434+giurigaud@users.noreply.github.com> Co-authored-by: renato <renato.neto@cubos.io> Co-authored-by: Bruna Santos <brunassdev@gmail.com> Co-authored-by: BrunaCubos <104789782+BrunaCubos@users.noreply.github.com> Co-authored-by: Ícaro Oliveira <icarovinici@gmail.com> Co-authored-by: Bruna Santos <bruna.santos@cubos.io> Co-authored-by: Everton Ataide <everton.ataide@vtex.com> Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com>
Contributor
WalkthroughVersion 3.98.0 release introducing Quick Order full feature with CSV file upload, Dropzone, and drawer components; adding SearchId for analytics tracking; implementing MPN field for products; replacing cookie-based with session-based cache busting; and adding Shopping Assistant third-party script integration. Changes
Sequence DiagramssequenceDiagram
participant User
participant SearchInput
participant FileUploadCard
participant useCSVParser
participant useBulkProductsQuery
participant QuickOrderDrawer
participant CartStore
User->>SearchInput: Click attachment button
SearchInput->>FileUploadCard: Show upload card
User->>FileUploadCard: Select CSV file
FileUploadCard->>useCSVParser: Parse file
useCSVParser->>useCSVParser: Detect delimiter & headers
useCSVParser->>useCSVParser: Extract SKUs & quantities
useCSVParser-->>FileUploadCard: Return parsed CSV data
FileUploadCard->>SearchInput: Trigger search with SKUs
SearchInput->>useBulkProductsQuery: Fetch products by SKU (batched)
useBulkProductsQuery-->>SearchInput: Return products
SearchInput->>SearchInput: Convert to quick-order products
SearchInput->>QuickOrderDrawer: Open with products
User->>QuickOrderDrawer: Adjust quantities & select items
User->>QuickOrderDrawer: Click "Add to cart"
QuickOrderDrawer->>CartStore: Add selected items
CartStore-->>User: Cart updated
sequenceDiagram
participant API as FastStore API
participant Search as Search Component
participant Provider as SearchProvider
participant ProductGrid as ProductGrid
participant Analytics as Analytics Platform
API->>API: Generate searchId in resolver
API-->>Search: Return search results + searchId
Search->>Provider: Pass searchId to context
Provider-->>Search: Expose via useSearch hook
Search->>ProductGrid: Forward searchId + buildExtraProductProps
ProductGrid->>ProductGrid: Add data-af-* attributes per product
ProductGrid-->>Analytics: Render with analytics attributes
Analytics->>Analytics: Track impressions & interactions
Estimated code review effort🎯 4 (Complex) | ⏱️ ~75 minutes Possibly related PRs
Suggested labels
Suggested reviewers
Poem
✨ Finishing Touches📝 Generate docstrings
🧪 Generate unit tests (beta)
|
|
This pull request is automatically built and testable in CodeSandbox. To see build info of the built libraries, click here or the icon next to each commit SHA. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
What's the purpose of this pull request?
How it works?
How to test it?
Starters Deploy Preview
References
Checklist
You may erase this after checking them all 😉
PR Title and Commit Messages
feat,fix,chore,docs,style,refactor,ciandtestPR Description
breaking change,bug,contributing,performance,documentation..Dependencies
pnpm-lock.yamlfile when there were changes to the packagesDocumentation
@Mariana-Caetanoto review and update (Or submit a doc request)Summary by CodeRabbit
Release Notes
New Features
Bug Fixes
afterattribute type handling in pagination