Skip to content

merge: upstream 348 commits#313

Open
github-actions[bot] wants to merge 349 commits into
masterfrom
merge/upstream
Open

merge: upstream 348 commits#313
github-actions[bot] wants to merge 349 commits into
masterfrom
merge/upstream

Conversation

@github-actions

@github-actions github-actions Bot commented May 4, 2026

Copy link
Copy Markdown
Contributor

Upstream Merge

348 new commits from plasmicapp/plasmic master.

Review using the Files Changed tab. The commit list includes upstream history.

Conflicts to resolve

git fetch origin merge/upstream
git checkout merge/upstream
# Resolve conflicts, then:
git push origin merge/upstream

Conflicted files:

package.json
plasmicpkgs-dev/package.json
platform/canvas-packages/package.json
platform/canvas-packages/yarn.lock
platform/loader-bundle-env/package.json
platform/loader-bundle-env/yarn.lock
platform/loader-tests/data/antd5/collapse.json
platform/loader-tests/data/antd5/date-range-picker.json
platform/loader-tests/data/antd5/pagination.json
platform/loader-tests/data/antd5/popover.json
platform/loader-tests/data/antd5/progress.json
platform/loader-tests/data/antd5/rate.json
platform/loader-tests/data/antd5/segmented.json
platform/loader-tests/data/antd5/slider.json
platform/loader-tests/data/antd5/tabs.json
platform/loader-tests/data/app-hosting.json
platform/loader-tests/data/auth-e2e.json
platform/loader-tests/data/cms.json
platform/loader-tests/data/code-libs.json
platform/loader-tests/data/contentful.json
platform/loader-tests/data/custom-code-server-query.json
platform/loader-tests/data/data-source-basic.json
platform/loader-tests/data/dynamic-pages.json
platform/loader-tests/data/plasmic-antd.json
platform/loader-tests/data/plasmic-antd5.json
platform/loader-tests/data/plasmic-app-components.json
platform/loader-tests/data/plasmic-basic-components-example.json
platform/loader-tests/data/plasmic-basic-components/timer.json
platform/loader-tests/data/plasmic-cms.json
platform/loader-tests/data/plasmic-contentful.json
platform/loader-tests/data/plasmic-kit-website-components_16033.json
platform/loader-tests/data/plasmic-link-preview.json
platform/loader-tests/data/plasmic-sanity-io.json
platform/loader-tests/data/plasmic-split-components.json
platform/loader-tests/data/plasmic-strapi.json
platform/loader-tests/data/plasmic-website-2023.json
platform/loader-tests/data/plasmic-wordpress.json
platform/loader-tests/data/react-aria.json
platform/loader-tests/data/react-quill.json
platform/loader-tests/data/simpler-auth.json
platform/loader-tests/data/slick-slider.json
platform/loader-tests/data/strapi.json
platform/loader-tests/data/wordpress.json
platform/wab/cypress/e2e/signup.spec.ts
platform/wab/package.json
platform/wab/playwright/bundles/clone-project.json
platform/wab/playwright/bundles/code-libs.json
platform/wab/playwright/bundles/data-tokens.json
platform/wab/playwright/bundles/forms.json
platform/wab/playwright/bundles/prop-editors.json
platform/wab/playwright/bundles/state-management.json
platform/wab/playwright/bundles/tutorial-portfolio.json
platform/wab/src/wab/client/copilot/tests/bundles/starter-project-desktop-first.json
platform/wab/src/wab/server/AppServer.ts
platform/wab/src/wab/server/__tests__/bundle-migrations/fixtures/code-component-meta-add-refActions.migrated.json
platform/wab/src/wab/server/__tests__/bundle-migrations/fixtures/code-component-variants.migrated.json
platform/wab/src/wab/server/__tests__/bundle-migrations/fixtures/duplicate-variants.migrated.json
platform/wab/src/wab/server/__tests__/bundle-migrations/fixtures/flex-gap-bundle.migrated.json
platform/wab/src/wab/server/__tests__/bundle-migrations/fixtures/merge-duplicate-variants.migrated.json
platform/wab/src/wab/server/__tests__/bundle-migrations/fixtures/page-meta-image-ref.migrated.json
platform/wab/src/wab/server/__tests__/bundle-migrations/fixtures/plume-default-components.migrated.json
platform/wab/src/wab/server/__tests__/bundle-migrations/fixtures/style-variants.migrated.json
platform/wab/src/wab/server/__tests__/bundle-migrations/fixtures/transform-format-migration.migrated.json
platform/wab/src/wab/server/auth/routes.spec.ts
platform/wab/src/wab/server/db/migrations-list.txt
platform/wab/src/wab/server/db/op-hooks.ts
platform/wab/src/wab/server/loader/gen-code-bundle.ts
platform/wab/src/wab/server/loader/gen-html-bundle.ts
platform/wab/src/wab/server/pkg-mgr/data/plexus-master-pkg.json
platform/wab/src/wab/server/pkg-mgr/data/plume-master-pkg.json
platform/wab/src/wab/server/routes/data-source.ts
platform/wab/src/wab/server/routes/loader.ts
platform/wab/src/wab/server/test/backend-util.ts
platform/wab/src/wab/server/util/apm-util.ts
platform/wab/src/wab/server/util/s3-util.ts
platform/wab/src/wab/server/workers/prefill-cloudfront.spec.ts
platform/wab/src/wab/server/workers/prefill-cloudfront.ts
platform/wab/src/wab/shared/codegen/__tests__/bundles/aria-code-components.json
platform/wab/src/wab/shared/codegen/__tests__/bundles/counters-test.json
platform/wab/src/wab/shared/codegen/__tests__/bundles/custom-functions-test.json
platform/wab/src/wab/shared/codegen/__tests__/bundles/data-tokens-page-meta.json
platform/wab/src/wab/shared/codegen/__tests__/bundles/data-tokens.json
platform/wab/src/wab/shared/codegen/__tests__/bundles/form-with-reset-input.json
platform/wab/src/wab/shared/codegen/__tests__/bundles/global-variant-test.json
platform/wab/src/wab/shared/codegen/__tests__/bundles/hidden-components.json
platform/wab/src/wab/shared/codegen/__tests__/bundles/links.json
platform/wab/src/wab/shared/codegen/__tests__/bundles/people-list-explicit-states.json
platform/wab/src/wab/shared/codegen/__tests__/bundles/people-list-implicit-states.json
platform/wab/src/wab/shared/codegen/__tests__/bundles/style-token-overrides.json
platform/wab/src/wab/shared/codegen/__tests__/bundles/todoapp.json
platform/wab/src/wab/shared/codegen/__tests__/bundles/todomvc.json
platform/wab/src/wab/shared/codegen/react-p/server-queries/__tests__/bundles/advanced-component-server-queries.json
platform/wab/src/wab/shared/codegen/react-p/server-queries/__tests__/bundles/simple-component-server-queries.json
platform/wab/src/wab/shared/insertable-templates/__tests__/bundles/copy-and-paste.json
platform/wab/src/wab/shared/site-diffs/_tests_/bundles/arg-variants-conflict-after-swap-components.json
platform/wab/src/wab/shared/site-diffs/_tests_/bundles/code-components-with-same-name.json
platform/wab/src/wab/shared/site-diffs/_tests_/bundles/default-slot-change.json
platform/wab/src/wab/shared/site-diffs/_tests_/bundles/global-context-merge.json
platform/wab/src/wab/shared/site-diffs/_tests_/bundles/multiple-interactions-with-conflicts.json
platform/wab/src/wab/shared/site-diffs/_tests_/bundles/rich-text-conflict.json
platform/wab/src/wab/shared/site-diffs/_tests_/bundles/style-tokens-conflict.json
platform/wab/src/wab/shared/site-diffs/_tests_/bundles/test-dangling-ref-deletion.json
platform/wab/src/wab/shared/site-diffs/_tests_/bundles/test-edge-cases-merge-2.json
platform/wab/src/wab/shared/site-diffs/_tests_/bundles/test-edge-cases-merge.json
platform/wab/src/wab/shared/site-diffs/_tests_/bundles/test-merging-deps.json
platform/wab/src/wab/shared/site-diffs/_tests_/bundles/test-reroot.json
platform/wab/src/wab/shared/site-diffs/_tests_/bundles/test-tpl-merge.json
platform/wab/src/wab/shared/site-diffs/_tests_/bundles/test-tpl-parent-merge.json
platform/wab/src/wab/shared/urls.ts
platform/wab/src/wab/shared/web-exporter/bundles/starter-project-desktop-first.json
platform/wab/yarn.lock
yarn.lock

Before merging

See Upstream Merge Runbook.

  • Conflicts resolved (if any)
  • EP integrity tests pass
  • yarn.lock regenerated for modified package.json
  • CI triggered (close/reopen PR to trigger checks)
  • Merge with "Create a merge commit" — do NOT squash

@github-actions github-actions Bot changed the title merge: upstream 29 commits merge: upstream 54 commits May 11, 2026
GitOrigin-RevId: 0c770feed9d5e86836bf8e2dabd3448db818ef53
@github-actions github-actions Bot changed the title merge: upstream 54 commits merge: upstream 100 commits May 18, 2026
jaslong and others added 21 commits May 18, 2026 22:27
Codegen events are high volume; reduce sampling threshold to 0.1 to
cut down on tracked analytics for both the codegen and loader endpoints.

Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
GitOrigin-RevId: 003735e938bfea240238ab97f4475f1a9473bdcb
…790)

Pages can have props too, even though they are not normally used.

This commit adds an optional $props arg to getServerQueriesData.

GitOrigin-RevId: 3a21b82e22a00cd8dd1bf8afe84a3448d2cd0d8f
 - @plasmicapp/loader-gatsby@2.0.6
 - @plasmicapp/loader-nextjs@2.0.5
 - @plasmicapp/loader-react@2.0.5
 - plasmicpkgs-dev@0.0.65

GitOrigin-RevId: b18e42387c231410118516648e3d7066e5577aa9
GitOrigin-RevId: d60144d5acd0c67b65915905878eea338a95a651
Adds a new 'Text Editor' section to Help > Keyboard Shortcuts listing
the inline-tag hotkeys (em, i, strong, sub, sup, span, code) registered
in CanvasText.ts, plus the older bold / italic / underline / strikethrough
/ link shortcuts, so users can discover them.

Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
GitOrigin-RevId: 02449d5a1c95d6c16c7d7f503fa293862a9d8112
* chore(tests): Update chrome to latest version

* chore(tests): Changed Chrome version

* chore(tests): Changed Chrome version

* chore(tests): Fix kubectl

GitOrigin-RevId: 135bd9a2e287bde04c56b4c60b743f6295cfb688
…2794)

GitOrigin-RevId: 1b4bdd5c4744284a3b8aa8d20e86679eccaf1803
…n tests (#2781)

* feat: add cpa integration tests for app dir

* refactor

* feat: add gatsby and tanstack to integration tests

* fix: cron runs once every 24 hours

GitOrigin-RevId: a3e71aaf3b707ac73090d763ee097deb864eb668
Adds a small helper line under the og:image picker in the page SEO panel pointing users to Facebook's Open Graph image documentation, along with the recommended 1200x630 size.

GitOrigin-RevId: b0df961fd2252e5d65811098ac9223d213d71d08
GitOrigin-RevId: d8cc05df2860841a3077da5d63a3df5103d3f06d
* feat: create-plasmic-app uses next 16

* chore: cpa-out

* fix: write next config options to the correct config file

* fix: outdated comment after the Next.js bump

* fix: require node >= 20.9.0 for next.js platform

* fix: test against more Next versions

* Revert "fix: require node >= 20.9.0 for next.js platform"

This reverts commit 1a04f5360c49883e3d223d5603fbeb72cbcbde41.

* fix: remove failing combo

* fix: add related task ID

GitOrigin-RevId: cf1e93d2d795d969f13457fadcd8578b2451df4a
 - create-plasmic-app@0.0.148

GitOrigin-RevId: bc3010d1c34244d41836cc072e2acd158acf3652
…3061) (#2764)

executeServerQuery was an unreleased server-query API removed in #2410, but older cached/published loader codegen output still imports it from @plasmicapp/react-web/lib/data-sources, which breaks esbuild bundling of loader assets ("No matching export ... for import executeServerQuery"). Re-add it as a deprecated no-op so those stale outputs can still be bundled.

GitOrigin-RevId: c135cc26ba034324ccd587465a136b379638db37
 - @plasmicapp/data-sources@1.0.8
 - @plasmicapp/react-web@1.0.9
 - @plasmicapp/react-web-runtime@1.0.9
 - @plasmicpkgs/antd5@0.0.346
 - @plasmicpkgs/plasmic-link-preview@1.0.152
 - @plasmicpkgs/plasmic-rich-components@1.0.252
 - @plasmicpkgs/tiptap@0.0.33

GitOrigin-RevId: e7fba8eb70bafe6176256ccbbef135a64f53ed35
GitOrigin-RevId: c798f48a54b82c20a31f02a0be471f1f6fabcc05
GitOrigin-RevId: c60e2bb509fd5e180746e225057096db0d54aa3a
GitOrigin-RevId: aaf0fd9bcd42ccc25b3637f633a2564a4bde6f7b
GitOrigin-RevId: 93d197fcabe325a2cb0ea929085512006a81d3b3
GitOrigin-RevId: 2f9a5c1bbe017be8f5036d21f09eedc4e59ec608
…ests

GitOrigin-RevId: fb924604175af9226e581668aac3224050e11e3b
GitOrigin-RevId: 14d67f123ee89a0d78e7a8eadefe3e35eef1d412
@github-actions github-actions Bot changed the title merge: upstream 100 commits merge: upstream 121 commits May 25, 2026
GitOrigin-RevId: 2530220b5a7db1549d5b3f20bd42ca1b81fd6685
Jenkins and others added 11 commits July 8, 2026 06:40
 - @plasmicapp/nextjs-app-router@1.0.28

GitOrigin-RevId: 0b4c065bfa43aa829aa88e8b4bd3e0289f237907
* [PLA-11939] update plasmicpkgs-dev with latest loader rsc code

* [PLA-11939] add updated nextjs loader rsc examples

* refactor: clean up example code and readme

* fix: keep RSC example statically generatable

* fix: update rsc example to provide searchParams correctly

* chore: remove some example comments

GitOrigin-RevId: f8550d82a2467ca1e5f505440d5e98de9f8bb643
- Consistently use semantic color tokens from design system
- Remove duplicates of semantic color tokens in comments project
- Improved tools/gen-theo.ts to print a louder error if a duplicate token has different values across projects (but did not fix all errors)
- Replaced some existing tokens: active-bg -> Brand/Brand-Soft, active-fg -> Brand/Brand-Soft-Foreground
- Use semantic tokens in place of primitive tokens in some places

GitOrigin-RevId: ffc8cabb866fae0bc855d445cae6f429958876c3
 - plasmicpkgs-dev@0.0.78

GitOrigin-RevId: b2f652640b6e7f710b0481e94d2ff4da19c28b0a
* chore(ai): Add gemini enterprise models

* chore(ai): Add gemini enterprise models docs

* chore(deploys): default region to global

GitOrigin-RevId: fc49ca47739c46aeffb87468160fc810939ebb50
* fix: dev mode blank artboards in next16 loader

* fix: include deprecated enableWebpackHmr for backward compat in ts projects

* fix: spoof more of PerformanceNavigationTiming

GitOrigin-RevId: a4eac355488192000d8a715be98d2312c73c02e4
 - @plasmicapp/data-sources@1.0.20
 - @plasmicapp/host@2.0.11
 - @plasmicapp/loader-gatsby@2.0.16
 - @plasmicapp/loader-nextjs@2.0.17
 - @plasmicapp/loader-react@2.0.14
 - @plasmicapp/react-web@1.0.25
 - @plasmicapp/react-web-runtime@1.0.25
 - plasmicpkgs-dev@0.0.79
 - @plasmicpkgs/airtable@0.0.268
 - @plasmicpkgs/antd@2.0.176
 - @plasmicpkgs/antd5@0.0.362
 - @plasmicpkgs/plasmic-chakra-ui@0.0.84
 - @plasmicpkgs/cms@0.0.32
 - @plasmicpkgs/commerce@0.0.252
 - @plasmicpkgs/commerce-commercetools@0.0.202
 - @plasmicpkgs/commerce-local@0.0.252
 - @plasmicpkgs/commerce-saleor@0.0.216
 - @plasmicpkgs/commerce-shopify@0.0.260
 - @plasmicpkgs/commerce-swell@0.0.262
 - @plasmicpkgs/contentful@0.0.26
 - @plasmicpkgs/dnd-kit@0.0.32
 - @plasmicpkgs/fetch@0.0.46
 - @plasmicpkgs/framer-motion@0.0.252
 - @plasmicpkgs/plasmic-google-maps@0.0.33
 - @plasmicpkgs/graphql@0.0.40
 - @plasmicpkgs/plasmic-keen-slider@0.0.97
 - @plasmicpkgs/lottie-react@0.0.246
 - @plasmicpkgs/plasmic-mailchimp@0.0.31
 - @plasmicpkgs/plasmic-basic-components@0.0.283
 - @plasmicpkgs/plasmic-calendly@0.0.100
 - @plasmicpkgs/plasmic-cms@0.0.323
 - @plasmicpkgs/plasmic-content-stack@0.0.208
 - @plasmicpkgs/plasmic-contentful@0.0.202
 - @plasmicpkgs/plasmic-embed-css@0.1.238
 - @plasmicpkgs/plasmic-eventbrite@0.0.86
 - @plasmicpkgs/plasmic-giphy@0.0.86
 - @plasmicpkgs/plasmic-graphcms@0.0.225
 - @plasmicpkgs/plasmic-hubspot@0.0.98
 - @plasmicpkgs/plasmic-intercom@0.0.31
 - @plasmicpkgs/plasmic-link-preview@1.0.164
 - @plasmicpkgs/plasmic-nav@0.0.224
 - @plasmicpkgs/plasmic-pigeon-maps@0.0.86
 - @plasmicpkgs/plasmic-query@0.0.273
 - @plasmicpkgs/plasmic-rich-components@1.0.264
 - @plasmicpkgs/plasmic-sanity-io@1.0.233
 - @plasmicpkgs/plasmic-soundcloud@0.0.98
 - @plasmicpkgs/plasmic-strapi@0.1.211
 - @plasmicpkgs/plasmic-tabs@0.0.95
 - @plasmicpkgs/plasmic-typeform@0.0.98
 - @plasmicpkgs/plasmic-wordpress@0.0.181
 - @plasmicpkgs/plasmic-wordpress-graphql@0.0.170
 - @plasmicpkgs/plasmic-yotpo@0.0.97
 - @plasmicpkgs/radix-ui@0.0.112
 - @plasmicpkgs/react-aria@0.0.189
 - @plasmicpkgs/react-audio-player@0.0.81
 - @plasmicpkgs/react-awesome-reveal@3.8.256
 - @plasmicpkgs/react-chartjs-2@1.0.164
 - @plasmicpkgs/react-parallax-tilt@0.0.254
 - @plasmicpkgs/react-quill@1.0.117
 - @plasmicpkgs/react-scroll-parallax@0.0.263
 - @plasmicpkgs/react-slick@0.0.275
 - @plasmicpkgs/react-twitter-widgets@0.0.252
 - @plasmicpkgs/react-youtube@7.13.258
 - @plasmicpkgs/rive@0.0.40
 - @plasmicpkgs/plasmic-spotify@0.0.31
 - @plasmicpkgs/strapi@0.0.30
 - @plasmicpkgs/tiptap@0.0.45
 - @plasmicpkgs/vanilla-cookieconsent@0.0.30
 - @plasmicpkgs/wordpress@0.0.31

GitOrigin-RevId: 1b94347bfbcc631592e2ded0f8f02837e50231ad
GitOrigin-RevId: c62c5ac2b52f3442fd3679ab7a189ba06945a8b4
…to avoid wrapping div tags (#2970)

* [loader-registry-component-fallback]: add proper React.Fragment fallback for context code components

* [loader-registry-component-fallback]: consider React.Fragment passthrough fallback component for all non-hostless code components

* [loader-registry-component-fallback]: drop code components placeholder render/css modules; bump LOADER_CACHE_BUST to 21

* [loader-registry-component-fallback]: default-export the passthrough in code component stub modules

* [loader-code-component-stub]: requested code organization

* chore: change cb key in loader tests

* split off serializeCodeComponentStubSkeleton

* [loader-module-writer]: pair css module write with renderModule

---------

Co-authored-by: Jason Long <j@jaslong.com>
GitOrigin-RevId: a043a25f97fd433205c2d124194f43f57876d633
…uring html import and change element (#3023)

GitOrigin-RevId: dff89e7017b2d469a12fb3104b728c710bc88458
Husky's core.hooksPath points at the gitignored, generated .husky/_
directory. That config is shared across worktrees but resolves relative
to each one, so a fresh worktree silently skips every git hook until
pnpm install regenerates .husky/_. Note this in the existing CLAUDE.md
formatting instruction so agents and humans run it before their first
commit.

Also drop the trailing slash on the node_modules gitignore pattern: the
dir-only pattern let a node_modules symlink get committed once, since
symlinks don't match directory patterns.

Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
GitOrigin-RevId: 86d308dcec0565cd337ec23f1959bfe3ba083f76
@github-actions github-actions Bot changed the title merge: upstream 307 commits merge: upstream 334 commits Jul 13, 2026
jaslong and others added 15 commits July 13, 2026 09:18
GitOrigin-RevId: 0e7dcc9609f0b181787cd46850541af5d0b0d47c
- make Dialog component more flexible
- add DialogHeader component for standard dialog UI
- delete unused icons

GitOrigin-RevId: 904def6fe589b53278725abfb086ee7a622997c0
Co-authored-by: CharlieHelps <charlie@charlielabs.ai>
GitOrigin-RevId: 9a71eaae396a3e2fbbfa07f59a2682a948591686
* [copilot-tools]: add capability to create and delete component states in Copilot

* [update-component-state]: add capability to update state in Copilot Tools, and refactor siteOps functions

* [component-state-tools]: add dynamic values support for initialValue field

* [component-state-tools]: serialize dynamic values Expr in structured JSON format

* [copilot-output-schema]: fix resursive lazy schema reference

* [component-state-tools]: minor requested changes for variable namings and default values

GitOrigin-RevId: 72cf9cdbcbd495eda5a6e7d22fb8eeb7d0c4ed92
- OmnibarAddItem moved into Left Panel project and synced.
- Removed unused omnibar code.

GitOrigin-RevId: e1261b9f564b3d2867ae1ac16da5c3ff05355ed4
* feat: data context in copilot read tool + canvas env background render

Squashed commits:
- refactor: move data picker type utils to shared module
- feat: return data context in copilot read tool
- fix: switch arena when reading data context to ensure it loads
- fix: filter query internals from read tool response
- feat: initial implementation of canvas env background render
- fix: correctly filter copilot data context in read
- chore: clean up comments and simplify tests

* refactor: adjust data context read limits

* refactor: avoid instanceof for StatefulQueryResult check

* fix: avoid dataPathSchema infinite recursion

* fix: address pr review comments

* fix: rewrite and simplify read arena pinning

* refactor: fix more review comments

GitOrigin-RevId: 94be2ad97e694c643cf261efa2b9a275de6fc862
* fix(ux): Misplaced Allowed Values control in Choice prop

* chore: use Plasmic project master

GitOrigin-RevId: 9d80e234d15c266d7db18e086a2216f9fb85eb2e
* feat: create data query copilot tool

* refactor: address pr comments and add install with args test

* fix: address pr feedback about binding unrequested queries

* fix: address pr comments and reuse getInstallableCustomFunctions

GitOrigin-RevId: b99e7089a8aae70b0c217227578de4fbf5866861
* feat: show warning icon when linked param and source drift

* feat: reconcile drift

* feat: drift notification

* fix: normalization keeps the value types

* fix: charlie feedback / stricter linking rules

* refactor: rename source/owner -> inner/outer

* refactor: rename a util

* refactor: replace manual code with a lodash helper

* refactor: move util

* fix: turn on linting flag for test

GitOrigin-RevId: c602197901e74b5099f7e3f199533140e329a4e2
* initialize allowed values to the passed in type

fix: codegen for linking tpl variants

refactor

fix a comment

refactor: extract utils

test: toggle variant linking

fix: migrate the new bundle

a small refactor

feat: multi-choice variant linking

This commit is blocked by multi-choice PR merge

fix: single <-> multi select variant group switching works

fix: update snapshot after PLA-13020 was fixed

refactor / feedback

fix: clear invalid default/preview value of choice prop after re-conciliation

refactor / feedback

test: e2e for linked prop warning

fix: clickable warning icon

test: codegen test

test: e2e for variant externalization

fix: refine choice prop matching

feat: UI for exposing variants

jason refactor

- updated shared Variants.ts functions
- removed lint

* feat: variant linking drift / reconciliation + tests

* fix: remove a redundant test

* fix: stacking duplicate notifications

GitOrigin-RevId: dd43ff6bccec0125eae5f34c493e640621e316d4
…ynamic values (#3021)

* Handle dynamic variant-group args when toggling multi

minor fixes

Address variant group toggle review feedback

fix review feedback for variant group toggle

Refuse variant group multi-to-single with dynamic args

* fix: a bad rebase

---------

Co-authored-by: CharlieHelps <charlie@charlielabs.ai>
Co-authored-by: sarah <sarah@plasmic.app>
GitOrigin-RevId: 1b23d884ca929b873f5f3edb32cec6b5e1155841
GitOrigin-RevId: 0de173beb826bf905ed4b8bdb504c3833af40348
GitOrigin-RevId: abd2edda441691f1b9e1919ba3da3ce0bdc2ed42
GitOrigin-RevId: db054d078f2d7d306dc55c265dd0559fe0ca9258
@github-actions github-actions Bot changed the title merge: upstream 334 commits merge: upstream 348 commits Jul 20, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants