merge: upstream 393 commits - #313
Open
github-actions[bot] wants to merge 406 commits into
Open
Conversation
github-actions
Bot
force-pushed
the
merge/upstream
branch
from
May 11, 2026 09:21
7c38a1c to
d195b8b
Compare
github-actions
Bot
force-pushed
the
merge/upstream
branch
from
May 18, 2026 09:23
d195b8b to
1e7a651
Compare
github-actions
Bot
force-pushed
the
merge/upstream
branch
from
May 25, 2026 09:31
1e7a651 to
6db4dab
Compare
GitOrigin-RevId: a3aabeecb8499bb144874843efeebc86b8e220d2
GitOrigin-RevId: 26c82c9cc38e456ffd6cefecd0cfa6e54226cafb
- create-plasmic-app@0.0.151 - @plasmicapp/data-sources@1.0.9 - @plasmicapp/host@2.0.4 - @plasmicapp/loader-gatsby@2.0.7 - @plasmicapp/loader-nextjs@2.0.6 - @plasmicapp/loader-react@2.0.6 - @plasmicapp/react-web@1.0.10 - @plasmicapp/react-web-runtime@1.0.10 - plasmicpkgs-dev@0.0.67 - @plasmicpkgs/airtable@0.0.261 - @plasmicpkgs/antd@2.0.169 - @plasmicpkgs/antd5@0.0.347 - @plasmicpkgs/plasmic-chakra-ui@0.0.77 - @plasmicpkgs/cms@0.0.25 - @plasmicpkgs/commerce@0.0.245 - @plasmicpkgs/commerce-commercetools@0.0.195 - @plasmicpkgs/commerce-local@0.0.245 - @plasmicpkgs/commerce-saleor@0.0.209 - @plasmicpkgs/commerce-shopify@0.0.253 - @plasmicpkgs/commerce-swell@0.0.255 - @plasmicpkgs/contentful@0.0.19 - @plasmicpkgs/dnd-kit@0.0.24 - @plasmicpkgs/fetch@0.0.39 - @plasmicpkgs/framer-motion@0.0.245 - @plasmicpkgs/plasmic-google-maps@0.0.26 - @plasmicpkgs/graphql@0.0.33 - @plasmicpkgs/plasmic-keen-slider@0.0.90 - @plasmicpkgs/lottie-react@0.0.239 - @plasmicpkgs/plasmic-mailchimp@0.0.24 - @plasmicpkgs/plasmic-basic-components@0.0.276 - @plasmicpkgs/plasmic-calendly@0.0.93 - @plasmicpkgs/plasmic-cms@0.0.316 - @plasmicpkgs/plasmic-content-stack@0.0.201 - @plasmicpkgs/plasmic-contentful@0.0.195 - @plasmicpkgs/plasmic-embed-css@0.1.231 - @plasmicpkgs/plasmic-eventbrite@0.0.79 - @plasmicpkgs/plasmic-giphy@0.0.79 - @plasmicpkgs/plasmic-graphcms@0.0.218 - @plasmicpkgs/plasmic-hubspot@0.0.91 - @plasmicpkgs/plasmic-intercom@0.0.24 - @plasmicpkgs/plasmic-link-preview@1.0.153 - @plasmicpkgs/plasmic-nav@0.0.217 - @plasmicpkgs/plasmic-pigeon-maps@0.0.79 - @plasmicpkgs/plasmic-query@0.0.266 - @plasmicpkgs/plasmic-rich-components@1.0.253 - @plasmicpkgs/plasmic-sanity-io@1.0.226 - @plasmicpkgs/plasmic-soundcloud@0.0.91 - @plasmicpkgs/plasmic-strapi@0.1.204 - @plasmicpkgs/plasmic-tabs@0.0.88 - @plasmicpkgs/plasmic-typeform@0.0.91 - @plasmicpkgs/plasmic-wordpress@0.0.174 - @plasmicpkgs/plasmic-wordpress-graphql@0.0.163 - @plasmicpkgs/plasmic-yotpo@0.0.90 - @plasmicpkgs/radix-ui@0.0.105 - @plasmicpkgs/react-aria@0.0.180 - @plasmicpkgs/react-audio-player@0.0.74 - @plasmicpkgs/react-awesome-reveal@3.8.249 - @plasmicpkgs/react-chartjs-2@1.0.157 - @plasmicpkgs/react-parallax-tilt@0.0.247 - @plasmicpkgs/react-quill@1.0.110 - @plasmicpkgs/react-scroll-parallax@0.0.256 - @plasmicpkgs/react-slick@0.0.268 - @plasmicpkgs/react-twitter-widgets@0.0.245 - @plasmicpkgs/react-youtube@7.13.251 - @plasmicpkgs/rive@0.0.33 - @plasmicpkgs/plasmic-spotify@0.0.24 - @plasmicpkgs/strapi@0.0.23 - @plasmicpkgs/tiptap@0.0.34 - @plasmicpkgs/vanilla-cookieconsent@0.0.23 - @plasmicpkgs/wordpress@0.0.24 GitOrigin-RevId: f9760e92bc673fce71817beaf70d910d4137fbd0
GitOrigin-RevId: 246698e94ad573ef925a5f6893310ceaf8688bdd
GitOrigin-RevId: c8d96bebff5d2755ce970d03b35bfb34112341f4
GitOrigin-RevId: f4166ff66f0d8f96ce5a263a3be34232dcca7a10
This PR adds a new option in the prop editor submenu, to shortcut using data tokens as dynamic value. GitOrigin-RevId: f235da45f7027085ef60c745803136dc76853334
…#2757) This PR fixes several issues with arbitrary code in data queries: - The stored arbitrary code wasn't wrapped in parentheses, which the codebase uses to mark a value as evaluable code rather than a literal. This PR wraps it on store and strips the parentheses before parsing. - 1 was partly why the Studio crashed when using a Use Data Query action with arbitrary code; 1 fixes this. - $steps was not available in the data context of the Use Data Query action. - await was not allowed in arbitrary code inside a Use Data Query action. - Adds a test for arbitrary code in Use Data Query action GitOrigin-RevId: 5e7f8db0df11aa40216794d4008788538df4de24
GitOrigin-RevId: ca2cbf553007520ee80b2416e960cf81352811f5
github-actions
Bot
force-pushed
the
merge/upstream
branch
from
June 1, 2026 09:59
6db4dab to
b183c14
Compare
…operations (#2777) * feat(ai-mcp): added identify tool for logging AI client metadata * feat(ai-mcp): add logging and identify function for MCP only * chore: minor improvements * chore: rename AiClientMeta field names * chore: use zod validation for aiClientMeta * feat(ai-mcp): add tool call instrumentation (#2799) * chore: rename meta to aiClientMeta GitOrigin-RevId: 7cb3efc29f1f7fe7179952eb706e704152df49e8
…848) GitOrigin-RevId: fe2e4854a498ca945f0fd1d4939ff9fc6b68025e
GitOrigin-RevId: 5d7971fa4a267d78e274cd41e4dbf8eaa8ebecfd
GitOrigin-RevId: 20130992cd0e8698d67987c245620dcb276332ac
GitOrigin-RevId: 741d54282e85ec9a6f745e9b2eaaba74f3c37305
GitOrigin-RevId: 13556108621efba0a9e44c7af6160d820ac31371
GitOrigin-RevId: 45bf8fc0b06e7655f58a4890f0f5cd20b2325eb6
GitOrigin-RevId: b8b44058ad26d0531cd3c68ebe84e678eacec6fc
* fix: duplicate animations serilaization in getStylesFromVariantSetting * fix: serialize only applicable styles for tpl GitOrigin-RevId: 54ad4bc6975185f927c9d519f9f6302242931993
GitOrigin-RevId: f50f7333afb86e4c620d72e9f8309da29a31a5b3
GitOrigin-RevId: 497162059ce8f56036a73970142b8c63d21ed52d
Deleting the only li of a ul/ol crashed with "Could not find owning component for ul": tryDelete picked the parent ul as the next focus target, but deleteTpl also removes list containers that become empty, so focus landed on a detached node. Extract deleteTpl's empty-list-container cascade into computeTplsToDelete, which returns the full set of nodes a delete removes. deleteTpl now deletes exactly that set, and tryDelete excludes it when finding the nearest focusable element, so both stay in sync. GitOrigin-RevId: b7125c975c90d046f6af04bac50ae26d7b06a56e
* feat: copilot read old and new queries
* feat: include function param fields in copilot read
* feat: include object param data query args on read
* fix: comment cleanup and rebase fixes
* fix: address review comments
Intepolated string functions to dynamic-value-input.ts
flatten queries param obj in buildComponentResource
* fix: add unsupported expr sentinel to avoid read confusion
Shows "{{ /* unsupported expression */ }}" instead of empty string when the
expr can't (yet) be serialized.
Clean up some comments
Refactor tests and reuse data source stub function
* fix: address review comments and improve tool description
GitOrigin-RevId: d32cee4e5090eaa8d95abeded00584158a9caef8
* fix: proper fix for nested custom controls * fix: address review feedback, remove lodash and cleanup GitOrigin-RevId: 21ea240032c653bd98e66b305617fa09ac3e1e1e
* feat: use indexdb for copilot chat storage * fix: pr review feedback and cleanup * feat: cross tab sync for copilot chat local persistence * fix: address more review comments and refactor validation * refactor: rename restore-chat-message to chat-serialization and fix conflicts * fix: block chat before restore and use fake-indexeddb in test * test: add better concurrent save copilot chat test GitOrigin-RevId: 17aecdd0ddffb0de41acf3ecceef234b26c53bf8
* fix: avoid resetting grid child position on parent update * fix: address review comments and avoid creating empty vs GitOrigin-RevId: deea101983bc036d95c5302a9d1b1d302ea9f081
* fix: sync wab/storybook chrome and fix runner image * fix: use wab db instead of cypress in data sources test GitOrigin-RevId: 7c42f9af32a915dd8bc6e5a88747107b76b99069
* [element-interaction-tools]: add support for managing element interactions in copilot * [element-interaction-tools]: make batch interaction delete order-independent * [element-interaction-tools]: rebase with master * [interactions]: fix uniqueness check for new interactions * [copilot-interactions]: consider canonical representation for copilot interactions schema, and improved read serialization * [interactions]: refactor interaction schema and added support for builtin actions * [interactions]: conflicts resolution during rebase with master * [interactions-params]: consistent param name normalization across read ouptut * [interactions]: remove buildArgs definition from ACTIONS * [interactions]: fix handling of repeated element arrays * [component-exporter]: keep expr serialization in single fucntion * [chore: fix function comments placement misplaced during rebase, and variable rename GitOrigin-RevId: b446d80e39ce2be3f1a258bbc8c09064e25683a3
* feat: implement path filtering for copilot data context read * test: update some copilot read tests to use snapshots * fix: address reviewer feedback and cleanup GitOrigin-RevId: a81cd018ef42a0e52f50cfb2f54c6d8afd42611e
github-actions
Bot
force-pushed
the
merge/upstream
branch
from
August 6, 2026 10:21
26d4e2a to
08aff40
Compare
Resolves the PR #313 upstream merge. Key resolutions: - bundle migration renumbering: upstream 257-add-code-component-subtree-prefetching-config -> 258 (EP holds 255) - keep yarn at root (upstream moved to pnpm); carried upstream dep bumps - preserve EP loader features: CloudFront invalidation, S3 early cache, Server-Timing, semaphore; threaded upstream source opt + OTel trace propagation - neverthrow migration: upstream structure + EP Datadog observability - cypress removal adopted; EP img-optimizer specs retained
Covers the customizations added May-Aug that had no integrity protection: Redis rate limiters, adminOnly gates, CloudFront invalidation on publish, loader URL split + SSR data host, Server-Timing/S3-cache perf cluster, Datadog (no-Sentry) observability, EP bundle migration 255 + unique numbering, yarn root + MCP workspaces, wab runtime deps, EP branding. Documents the same in the upstream merge runbook.
…ypes - Delete six files upstream removed before the merge-base that survived an earlier merge (tours/tutorials frags, HtmlImporter, WebImporter, AnimationsSection); unreferenced, and this merge removed their imports. - ep-loader-fast-path.spec: add required source opt. - projects.spec: add subtreePrefetchingConfig to code-component-meta fixture. tsc --noEmit now introduces zero errors vs master baseline (master carries 46 pre-existing errors).
field123
force-pushed
the
merge/upstream
branch
from
August 6, 2026 11:46
08aff40 to
4c83ca8
Compare
The object-first (pino-style) call logged the metadata object as the message under our logger; also clears two pre-existing type errors.
# Conflicts: # platform/canvas-packages/package.json # platform/canvas-packages/yarn.lock # platform/loader-bundle-env/package.json # platform/loader-bundle-env/yarn.lock
Upstream's pnpm migration rewrote build/test scripts across packages/ and plasmicpkgs/ to invoke pnpm, which broke our yarn-based CI (pnpm: not found, 19 package builds failed). Restore each affected script entry to its merge-base yarn form; react-aria's new test script gets the sibling yarn form. cpa-out fixtures left as upstream (generated snapshots).
…ctly
- Pin @babel/{core,parser,types,traverse,generator} in root resolutions:
lockfile regeneration split @babel/types across 7.26/7.29, nesting an
incompatible copy under packages/cli and breaking its build.
- Upstream moved packages/host and packages/data-sources tests to vitest;
exclude them from the jest sweep and run host vitest as its own step
(mirroring the existing data-sources step).
The spec compares prettier-formatted strings, so key order matters. The fixtures taken from upstream were generated by upstream's migration order; regenerated via the spec's WRITE_FILES mode under our renumbered chain. Content is deep-equal (order-only churn); version strings remain 258-*.
The merge updated platform/live-frame/package.json but its lockfile never conflicted, so it was missed by the resolution-time regeneration pass.
- ep-rate-limit.spec: mock res lacked Express's res.locals; the middleware's res.locals.rateLimit write (added by #295) threw, failed open, and only the 429-expecting tests noticed. Prod unaffected (Express provides locals). - auth/routes.spec deleteSelf: POST /api/v1/teams is admin-gated since #331; create the team via DbMgr as the user — the test is about deleteSelf. - auth/routes.spec new upstream tests (password length, grantRevoke): create pending invitations so signups pass EP's invitation gate.
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.
Upstream sync: plasmicapp/plasmic, Apr 27 → Aug 5 (393 commits)
Brings the fork up to date with upstream master. ~95 of the commits are upstream's
Publish/upgrade-internalrelease noise; the rest is real change. All 114 mergeconflicts are resolved, EP customizations are verified intact, and the fork-integrity
suite has been extended to cover everything EP added since the April merge.
What we get from upstream
Security fixes (the main reason to land this promptly)
sort.fieldSQL-injection fixfetchUntrustedwrapper (request-filtering-agent)url()validation bypass fixrate-limited grant-revoke; workspace owners can manage data sources
Studio
animations, data queries, slot targets). Off for regular users: gated behind
enableUiCopilot/enableChatCopilot, default false, enabled only foradmin-team-domain accounts. Model defaults moved to Vertex-hosted models.
TemplatedString(rendering now shared between canvas and codegen); HostConfig/trusted-host modal
rewrite; Next 16 canvas fixes (blank artboards, HMR/React debug channel — supersedes
the
reactDebugChannel: falseapp-host workaround once deployed)SDK / loader / codegen
unstable__getServerQueriesData→getPlasmicQueriesData,unstable_usePlasmicQueries→usePlasmicQueries,PlasmicClientRootProvider→ClientPlasmicRootProvider. Deployed storefronts areunaffected (the names live in the app's own npm dep; loader wire protocol unchanged,
v7+ still supported) — but any app bumping its loader version must update. Our
example app + 0.1.0 field guide need the same update (tracked as follow-up).
registered functions (EP commerce functions don't set
required— unaffected)Server / infra
connection-leak fixes; serialized loader prefill
STATIC_URL(optional, defaults toPUBLIC_URL— our single-domaindeploys unaffected; build-time
PUBLICPATHremoved, we never set it) andSERVER_KEEP_ALIVE_TIMEOUT(default 60s — should be set above the ALB idle timeoutin terraservices before/with deploy)
Migrations
project_revision.data(auto-applies atstartup, transparent to rollback)
257 → 258on our side (we hold255-fix-ep-addtocart-import-path); same collision pattern as April, now documentedas a standing procedure in the runbook
Fork-side work in this PR (beyond conflict resolution)
had no protection: Redis rate limiters, adminOnly gates, CloudFront invalidation on
publish, loader URL split + SSR data host, Server-Timing/S3-cache cluster, Datadog
(no-Sentry) guard, bundle-migration numbering, yarn root + MCP workspaces
resolutions, and yarn scripts preserved; ~76 package scripts that upstreampnpm-ified restored to their yarn forms; upstream's pnpm files land inert.
Full pnpm adoption is a separate decision (recurring per-merge cost until made).
AnimationsSection) that upstream removed before the merge-base and that had wrongly
survived an earlier merge — unreferenced, broken by this merge's import changes
@babel/*pinned in root resolutions (lockfile regen had split resolutions andbroken the cli build); new upstream vitest suites (host, data-sources) routed to
vitest steps in CI instead of the jest sweep
Verification
invalidation behavior), ep-loader-fast-path, host+data-sources vitest all pass
tsc --noEmitintroduces zero errors vs master (master carries ~46 pre-existing)lost; per-file resolution log in
docs/internal/merges/PR-313-august-2026.mdruns the full WAB shards via the
run-wab-testslabel — judge against that baseline.Merging & deploy
squashing makes every future weekly merge see all 393 commits as conflicts again)
smoke (Studio, EP commerce, storefront golden path, no Copilot for non-admin users)
→ bake ≥1 day (bundle migration 258 makes rollback fix-forward once projects are
opened) → prod promote + publish-hostless both regions
DevFlagOverrides(adminTeamDomain, pincopilot flags false if wanted fully dark); set
SERVER_KEEP_ALIVE_TIMEOUTinterraservices