Repository navigation
Conversation
Bumps dompurify from 3.4.13/3.4.14 to 3.4.16 (direct dependency) in package.json and package-lock.json, resolving a Snyk-reported Cross-site Scripting (XSS) advisory in dompurify. Co-Authored-By: Claude <noreply@anthropic.com>
…662) * feat(VB-2354): notify the editor when the entries on the page change (#648) * feat: notify the editor when the entries on the page change Send entries-in-page-changed once the builder is ready and again from the body MutationObserver whenever the entry+locale set on the page changes, so the editor can react to late-rendered references without polling. Dedup the page scan by entry and locale. Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com> * refactor: rename the push event to entries-in-current-page-changed Matches the noun of get-entries-in-current-page and the past-tense form the other push events use. Settled before release since the string is the wire contract on a pinned SDK. Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com> * fix: notify entry changes when data-cslp is rewritten in place The page observer only watched childList, so a framework re-render that keeps the node and swaps its data-cslp (variant switch, re-keyed list) never pushed the new entry set. Watch that one attribute too. Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com> * fix: keep get-entries-in-current-page deduped by entry uid The first cut keyed the page scan by entry+locale, which changed what existing callers of the request receive. An entry renders in one locale per page, so key by uid again and let the push send the same object. Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com> * fix: report an empty entry set on the first page scan The initial signature was "", the same as an empty page, so a page with no data-cslp elements never sent the opening event. Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com> * test: expect the entries-in-current-page-changed event on builder init The builder now reports an empty entry set on the first scan, so the init test sees one more post message. Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com> --------- Co-authored-by: Claude Fable 5.1 <noreply@anthropic.com> * fix(visual-builder): recover when the editor misses the entries push The push had no rejection handler, so an editor without the listener left an unhandled rejection on every send and the set was never resent. The failed signature now resets so the next observer pass retries, and destroy() cancels the pending debounced pass. Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com> --------- Co-authored-by: Claude Fable 5.1 <noreply@anthropic.com>
fix(security): bump dompurify to patch DOM XSS advisory
* feat(select-edit): classify number-typed dropdowns as Select Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> * feat(select-edit): show the Edit button for Select fields Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> * feat(select-edit): hide add-value buttons on multiple Select fields Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> * fix(select-edit): send whole-field metadata when editing a multiple Select A value click on a multiple Select opened the modal at the value's index, so the saved value landed inside the array instead of replacing it. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_0195ab4j6aVrXMYw6Dm6Nndx --------- Co-authored-by: Claude <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01PhGzeBieWdXYBvXLHnWDDf
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01PhGzeBieWdXYBvXLHnWDDf
…ct and isTaxonomyField
…olbar tests Note why Select skips canvas add buttons while Taxonomy keeps them, and that Taxonomy is always multiple. Drop a duplicate Edit button test, keep the Taxonomy test setup at the top of its block, and cover a Taxonomy inside a modular block keeping its parent index on Edit. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01PhGzeCtGiaD8r2BWLkqEWx
…utton feat(field-toolbar): show the Edit button for Taxonomy fields on the canvas toolbar
* feat(visual-builder): add tags field type and Edit button Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01WR1cdspQX3zgyjf5NZhSsa * feat(visual-builder): edit entry tags as one field from the toolbar Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01WR1cdspQX3zgyjf5NZhSsa * fix(visual-builder): use the Venus tag icon for the tags field Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01WR1cdtPR9Cyz2DQKRoMFCJ --------- Co-authored-by: Claude <noreply@anthropic.com>
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01YU96SVM9VXkfjSbSeoFdZ4
…ady cover Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01YU96SUpGdU5NuSX7N5UsA5
feat(field-toolbar): show the Edit button for Boolean fields
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
The field label asked the editor for the whole reference map on every hover, which the editor builds by looking up every entry on the page. The request now carries the hovered field's entry uid, content type and locale, so the editor can answer for that entry alone, at once for the page entry. Editors that do not read the payload behave as before. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
release: v4.6.0 (develop_v4 to stage_v4)
…ap-nonblocking fix(visual-builder): name the hovered entry in the reference map request
chore: sync stage_v4 into develop_v4 after v4.6.0
release: promote develop_v4 to stage_v4
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
✅ Snyk checks have passed. No issues have been found so far.
💻 Catch issues earlier using the plugins for VS Code, JetBrains IDEs, Visual Studio, and Eclipse. |
🔒 Security Scan Results
⏱️ SLA Breach Summary
✅ BUILD PASSED - All security checks passed |
chore: sync main into stage_v4 for v4.6.0
🔒 Security Scan Results
⏱️ SLA Breach Summary
✅ BUILD PASSED - All security checks passed |
sairaj-cs
self-requested a review
November 4, 2026 06:17
sairaj-cs
approved these changes
Nov 4, 2026
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.
Live Preview SDK v4.6.0
Summary
More field types can now be edited straight from the Visual Builder canvas toolbar: Select, Tags, Taxonomy and Boolean. The editor is also told when the entries on the page change, and field labels load faster because the reference map request now names the hovered entry.
What's changed
Features
Fixes
Refactoring
isEditedAsOneValuesplit intoisMultipleSelectandisTaxonomyField.Tests
Chores
4.6.0; CHANGELOG regenerated viaauto-changelog, plus the reference map fix added to the v4.6.0 section.@contentstack/live-preview-utils@4.6.0.main.Post-merge checklist
mainsync intostage_v4first (chore: sync main into stage_v4 for v4.6.0 #677), so this branch is up to date withmainstage_v4→main)v4.6.0frommain(tag created via Release UI), which triggers thenpm-publishworkflow@contentstack/live-preview-utils@4.6.0is published to npmhttps://esm.sh/@contentstack/live-preview-utils@4.6.0resolves🤖 Generated with Claude Code