Repository navigation
release: v4.6.0 (develop_v4 to stage_v4) - #674
Merged
Merged
Conversation
release: v4.5.3
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>
✅ 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 |
Coverage Report
File Coverage
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
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
The Visual Builder canvas toolbar now shows an Edit button for Select, Taxonomy, Boolean and entry tags fields, and the SDK tells the editor when the entries on the page change.
This PR merges
develop_v4intostage_v4and adds the release commits.stage_v4only accepts changes through a PR, so this branch replaces the local merge and push.What's changed
Features
Fixes
dompurifyto patch a DOM XSS advisory. (fix(security): bump dompurify to patch DOM XSS advisory #660)Refactoring
isEditedAsOneValueintoisMultipleSelectandisTaxonomyField.Tests
Chores
4.6.0. CHANGELOG regenerated withauto-changelog.@contentstack/live-preview-utils@4.6.0.Commits on this branch
Merge branch 'develop_v4' into stage_v4 for v4.6.0 release(no conflicts)4.6.0:package.json,package-lock.json,CHANGELOG.mdfix: update CDN version to 4.6.0 in READMENo tag was pushed. The GitHub Release creates
v4.6.0.Release checklist
stage_v4with a merge commitstage_v4tomainPRv4.6.0frommain(the Release UI creates the tag and runs thenpm-publishworkflow)@contentstack/live-preview-utils@4.6.0is on npmhttps://esm.sh/@contentstack/live-preview-utils@4.6.0resolvesmainback intodevelop_v4🤖 Generated with Claude Code