Conversation
## Summary Batch security update via resolutions/version bumps. ### Resolved alerts - Resolves #674 — http-proxy-middleware → 2.0.10 (resolution for transitive dep) ### Skipped alerts - #676 echarts — inconclusive relationship, cannot safely classify - #675 js-yaml — inconclusive relationship, cannot safely classify - #654 @opentelemetry/core — major version bump required (1.x → 2.x), skipped per policy No code changes — resolutions only. /ok-to-test tags="@tag.All" <!-- This is an auto-generated comment: Cypress test results --> > [!TIP] > 🟢 🟢 🟢 All cypress tests have passed! 🎉 🎉 🎉 > Workflow run: <https://github.com/appsmithorg/appsmith/actions/runs/28616052793> > Commit: fda0f5d > <a href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=28616052793&attempt=1" target="_blank">Cypress dashboard</a>. > Tags: `@tag.All` > Spec: > <hr>Thu, 02 Jul 2026 20:36:48 UTC <!-- end of auto-generated comment: Cypress test results --> Co-authored-by: appsmith-smithes[bot] <appsmith-smithes[bot]@users.noreply.github.com>
Contributor
|
Important Review skippedAuto reviews are disabled on base/target branches other than the default branch. 🗂️ Base branches to auto review (2)
Please check the settings in the CodeRabbit UI or the ⚙️ Run configurationConfiguration used: Path: .coderabbit.yaml Review profile: CHILL Plan: Pro Run ID: You can disable this status message by setting the Use the checkbox below for a quick retry:
✨ Finishing Touches🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
yatinappsmith
self-requested a review
July 3, 2026 13:38
…ation (#41940) ## Description Importing or connecting an Appsmith app to a self-hosted Git repository over SSH failed with a misleading **"SSH key misconfiguration"** banner (`AE-GIT-4032`) when the remote repository had **no default branch** (no checkout-able `HEAD`) — even though the SSH key was valid and the handshake succeeded. **Root cause:** JGit's `CloneCommand` throws a `TransportException` with message `Remote branch 'HEAD' not found in upstream origin` when the cloned repo has no default branch. Both `fetchRemoteRepository` overloads in `GitFSServiceCEImpl` blanket-mapped **any** `TransportException` to `AppsmithError.INVALID_GIT_SSH_CONFIGURATION`, so this case was reported as an SSH key problem and sent users down the wrong troubleshooting path (rotating deploy keys) instead of setting a default branch. **Fix (backend-only):** - Added `AppsmithError.GIT_DEFAULT_BRANCH_NOT_FOUND` (`AE-GIT-4052`) with an actionable message: _"Couldn't find a default branch in the remote repository. Set a default branch (for example main or master) in your Git provider's repository settings, then try again."_ - Added a `isRemoteDefaultBranchMissing(Throwable)` helper that walks the cause chain and matches the stable substring `not found in upstream`, routing that case to the new error in **both** `fetchRemoteRepository` overloads (import flow and connect-existing-app flow). Genuine SSH auth failures still map to `INVALID_GIT_SSH_CONFIGURATION`. - **No frontend change required:** the deploy-key step already renders any non-`AE-GIT-4032`/`4033` backend error message in its generic error callout. Added `GitFSServiceCEImplTest` with unit coverage for the helper (matching message, cause-chain nesting, case-insensitivity, auth-failure negative, other "not found" negative, null message). Fixes #41938 ## Automation /ok-to-test tags="@tag.All" ### 🔍 Cypress test results <!-- This is an auto-generated comment: Cypress test results --> > [!TIP] > 🟢 🟢 🟢 All cypress tests have passed! 🎉 🎉 🎉 > Workflow run: <https://github.com/appsmithorg/appsmith/actions/runs/28546840957> > Commit: 5c9b832 > <a href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=28546840957&attempt=2" target="_blank">Cypress dashboard</a>. > Tags: `@tag.All` > Spec: > <hr>Wed, 01 Jul 2026 22:02:27 UTC <!-- end of auto-generated comment: Cypress test results --> ## Communication Should the DevRel and Marketing teams inform users about this change? - [ ] Yes - [x] No 🤖 Generated with [Claude Code](https://claude.com/claude-code) <!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit * **Bug Fixes** * Improved Git import/clone error handling to detect when a remote default branch is missing, instead of treating it as an SSH configuration problem. * Added a clearer, dedicated error for “No default branch found” when the remote repository’s default branch can’t be determined. * **Tests** * Added unit test coverage for identifying the missing-remote-default-branch scenario across direct and nested exception messages, including case-insensitive matching. <!-- end of auto-generated comment: release notes by coderabbit.ai --> --------- Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com>
) (#41920) ## Description Adds a **"Copy to application"** right-click option on actions (APIs/queries) and JS objects in the editor entity explorer. It opens a modal to pick a target **Workspace → Application → Page** (filtered to ones the user can edit) and copies the entity there. **TL;DR** — Reuses the existing partial export/import endpoints, so there are **no server changes**. The client exports the single entity via the partial-export endpoint, wraps the returned `ApplicationJson` as an in-memory `File`, and imports it into the chosen target via the partial-import endpoint. Datasource reconciliation and name-collision refactoring are handled server-side by the import. The user stays in the current editor and sees a success toast. ### Notable choices - Target-workspace applications are fetched into a dedicated `ui.copyEntityToApp` redux slice rather than `ui.selectedWorkspace.applications` (which reflects the current editor's workspace and must not be clobbered mid-session). - The orchestration saga lives in `ce/sagas` with an `ee/` passthrough stub for an EE override seam (git-branched apps), matching the `NavigationSagas` convention. - Client-side permission filtering is UX-only; the server re-authorizes every target id (`MANAGE_PAGES` on the page, edit on the app/workspace). ### Known v1 limitations (surfaced in the modal via an info callout) - Copying a JS object does not auto-include the separate API/query actions it references by name. - Datasource credentials are not copied — the target reuses a datasource by name or creates a new unconfigured one. Fixes #41919 ## Automation /ok-to-test tags="@tag.All" ### 🔍 Cypress test results <!-- This is an auto-generated comment: Cypress test results --> > [!TIP] > 🟢 🟢 🟢 All cypress tests have passed! 🎉 🎉 🎉 > Workflow run: <https://github.com/appsmithorg/appsmith/actions/runs/28448843507> > Commit: 580f4f8 > <a href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=28448843507&attempt=2" target="_blank">Cypress dashboard</a>. > Tags: `@tag.All` > Spec: > <hr>Thu, 02 Jul 2026 14:02:09 UTC <!-- end of auto-generated comment: Cypress test results --> ## Communication Should the DevRel and Marketing teams inform users about this change? - [ ] Yes - [x] No <!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit * **New Features** * Added “Copy to application” context menu options for both actions and JS objects. * Introduced a “Copy to application” modal to select a target workspace, application, and page. * Enabled cross-app copy with success/error notifications, including loading of eligible target applications and pages. * **Backend Improvements** * Improved name collision handling during partial imports by generating unique names for imported entities. * **Tests** * Added unit and UI tests for the modal, reducer state, saga export/import flow, and context-menu dispatch for both copy paths. <!-- end of auto-generated comment: release notes by coderabbit.ai --> --------- Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
…e#9229) (#41933) ## Description Ports the **CE-safe subset** of the EE "revive Anvil" PR (appsmith-ee#9229) into CE so the hourly CE→EE sync carries these shared-file changes upstream and the EE PR merges with fewer conflicts. > [!TIP] > **TL;DR:** All changes are gated behind Anvil feature flags or are inert-by-default. Existing classic (FIXED/AUTO) UI is unaffected. This is a sync-enablement change, not a user-facing feature toggle. **Highlights:** - **Widget loader registry split:** new `widgets/registry.ts` (SCC-free loader registry) populated via an `import "widgets"` side effect at bootstrap (`src/index.tsx`, eval worker, `test/testCommon.ts`). `EvaluationsSaga` and `EditorUtils` now resolve loaders from `widgets/registry`. The four EE-only WDS widget loaders are intentionally omitted from `widgets/index.ts`. - **Feature flags (additive, matches the EE PR as-is):** keep `release_anvil_enabled`, add `license_anvil_enabled` to `ce/entities/FeatureFlag.ts` and `FeatureFlagEnum.java`. - **Applications/Anvil wiring:** app-card-list wiring (`ce/pages/Applications`), `layoutSystemType` plumbing through `WorkspaceAction`/`ApplicationSagas`, `Severity.DEBUG` revival, `BindDataButton` `WDS_TABLE_WIDGET` case, and assorted shared-file changes applied byte-identical to EE for a clean sync. **Scope note:** EE-path files (`app/client/src/ee/**`) cannot be modified in a CE PR (enforced by the pre-push hook), so the new `ee/` stubs/mirrors and the five shared files that depend on them (`AppViewer`, `AppPage`, `Canvas`, `WDSThemePropertyPane`, `ApplicationCard`) are **not** included here. Those already exist in the EE PR; the CE-side `ee/` stubs arrive via the CE↔EE sync. **Also intentionally not ported:** design-system `Markdown.tsx`/`types.ts` (CE's Markdown is structurally divergent), `ee/widgets/wds/constants.ts` (EE-owned), and `cypress_ci_custom.config.ts` (divergent CI tuning). **Verification:** client `check-types`, ESLint, Prettier, and server `spotless:check` all pass on the included files. Related: appsmith-ee#9229 > [!NOTE] > No standalone CE issue — this PR exists to keep the CE↔EE shared-file sync clean ahead of the EE Anvil revival merge. ## Automation /ok-to-test tags="@tag.All" ### 🔍 Cypress test results <!-- This is an auto-generated comment: Cypress test results --> > [!TIP] > 🟢 🟢 🟢 All cypress tests have passed! 🎉 🎉 🎉 > Workflow run: <https://github.com/appsmithorg/appsmith/actions/runs/28452962986> > Commit: e3c729b > <a href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=28452962986&attempt=3" target="_blank">Cypress dashboard</a>. > Tags: `@tag.All` > Spec: > <hr>Wed, 01 Jul 2026 14:51:09 UTC <!-- end of auto-generated comment: Cypress test results --> ## Communication Should the DevRel and Marketing teams inform users about this change? - [ ] Yes - [x] No <!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit * **New Features** * Added support for Anvil apps in the Applications page, including a new section label, empty state, and create-new-app flow. * Expanded widget support so more WDS widgets appear in the editor and can be bound more consistently. * Added a new debug severity display in the console and debugger. * **Bug Fixes** * Improved feature-flag handling so selected flags can be merged without losing other existing flags. * Updated layout handling so Anvil-specific behavior is only shown when the required flags are enabled. <!-- end of auto-generated comment: release notes by coderabbit.ai --> Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
…E fixes (#41928) ## Summary Remediates reachable High CVEs in the Spring server via two dependency bumps. | Change | Version | CVE(s) | Reachability | |---|---|---|---| | spring-boot-starter-parent | 3.5.12 → 3.5.14 | CVE-2026-40973 (insecure multipart temp file) | Affected — authenticated upload path | | Netty (BOM override) | 4.1.131 → 4.1.135.Final | CVE-2026-33870, CVE-2026-42583 | Affected — request-handling path behind Caddy | | Netty (same bump, additional) | 4.1.131 → 4.1.135.Final | CVE-2026-44249, 45416, 50010 (netty-handler); 45674, 47691 (netty-resolver-dns); 42584, 42587, 42579, 33871 (codec/http2/dns) | Newly disclosed / not_affected — cleared for free | ### Why the Netty property override Spring Boot 3.5.14's BOM manages Netty `4.1.132.Final`, which is still vulnerable. `<netty.version>4.1.135.Final</netty.version>` is the canonical property the `spring-boot-dependencies` BOM consumes, so it bumps all `io.netty:*` artifacts consistently. There is no competing `netty-bom` import or direct Netty pin in the server tree. ## Validation - `mvn help:evaluate` confirms effective versions: `netty.version=4.1.135.Final`, parent `3.5.14`. - `appsmith-server` POM resolves/parses (BUILD SUCCESS). - No hardcoded Netty pin elsewhere downgrades or bypasses the override. ## CI Trigger /ok-to-test tags="@tag.All" ## Test plan - [ ] CI green - [ ] Server boots; an HTTP-backed plugin action executes (Netty/WebFlux path) - [ ] No dependency-convergence/enforcer breakage 🤖 Generated with [Claude Code](https://claude.com/claude-code) <!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit * **Chores** * Updated the server platform to a newer Spring Boot release. * Centralized the Netty version used by the server build. * Removed an outdated version-specific note from a plugin configuration comment. <!-- end of auto-generated comment: release notes by coderabbit.ai --> <!-- This is an auto-generated comment: Cypress test results --> > [!TIP] > 🟢 🟢 🟢 All cypress tests have passed! 🎉 🎉 🎉 > Workflow run: <https://github.com/appsmithorg/appsmith/actions/runs/28471068281> > Commit: 9102e65 > <a href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=28471068281&attempt=4" target="_blank">Cypress dashboard</a>. > Tags: `@tag.All` > Spec: > <hr>Wed, 01 Jul 2026 14:37:32 UTC <!-- end of auto-generated comment: Cypress test results --> Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com>
Failed server tests
|
…41947) ## Summary Remediates 17 CRITICAL/HIGH CVEs (57 scanner findings) detected by scanning the `appsmith/appsmith-ee:release` Docker image (digest `597f187a`). All fixes are same-major dependency pins — no code changes. | Dependency | Change | CVEs | |---|---|---| | spring-boot-starter-parent | 3.5.12 → 3.5.14 | CVE-2026-40973 | | jackson-bom / jackson | 2.17.0 → 2.18.8 | CVE-2026-54512, CVE-2026-54513 | | netty (pinned over Boot BOM) | → 4.1.135.Final | CVE-2026-42583, CVE-2026-42579, CVE-2026-42584, CVE-2026-42587, CVE-2026-33870, CVE-2026-33871, CVE-2026-44249, CVE-2026-45416, CVE-2026-50010, CVE-2026-45674, CVE-2026-47691 | | commons-io (dependencyManagement) | → 2.20.0 | CVE-2024-47554 (transitive via databricks-sdk-java) | | plexus-utils (dependencyManagement) | → 3.6.1 | CVE-2025-67030 | | aws-java-sdk (amazons3Plugin, awsLambdaPlugin) | 1.12.261 / 1.12.622 → 1.12.797 | CVE-2024-21634 (drops unpatched `software.amazon.ion:ion-java` entirely) | ### Verification - `mvn clean install -DskipTests` passes on this branch (CE) and on EE with this commit cherry-picked (sync simulation applied cleanly — no conflicts). - Trivy re-scan of the built server + all plugin jars (CE and EE builds) confirms every targeted CVE is gone. Remaining findings are all known non-actionable: `com.appsmith:*` self-advisories (already handled via GHSA lifecycle), `mssql-jdbc` (false positive — installed `11.2.4.jre11` **is** the patched version; scanner drops the `.jre11` suffix), `ini4j` (no fixed version exists upstream), and jackson 2.16.0 shaded **inside** the `databricks-jdbc` fat jar (not resolvable via Maven; needs a databricks-jdbc 2.6.40 → 2.7.x bump, deferred as a separate follow-up). - `mvn spotless:check` clean; pre-commit hooks passed. ### Out of scope (image-level, tracked separately) Keycloak jars (`opt/keycloak/**`), Temporal go binaries (`opt/temporal/**`), Node's bundled `undici`, and RTS `nodemailer` (major bump) — these are not fixable from this repo's poms. ## Automation /ok-to-test tags="@tag.All" <!-- This is an auto-generated comment: Cypress test results --> > [!TIP] > 🟢 🟢 🟢 All cypress tests have passed! 🎉 🎉 🎉 > Workflow run: <https://github.com/appsmithorg/appsmith/actions/runs/28682481837> > Commit: 06ae9cc > <a href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=28682481837&attempt=1" target="_blank">Cypress dashboard</a>. > Tags: `@tag.All` > Spec: > <hr>Fri, 03 Jul 2026 21:42:23 UTC <!-- end of auto-generated comment: Cypress test results --> <!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit * **Bug Fixes** * Updated several bundled library versions to address known security vulnerabilities. * Improved dependency consistency across the app to reduce the risk of runtime issues caused by outdated transitive packages. <!-- end of auto-generated comment: release notes by coderabbit.ai -->
sebastianiv21
approved these changes
Jul 5, 2026
…LOBSTAR (fixes storybook) (#41949) ## Problem `storybook-tests` fails. There are two independent layers, both fixed here. ### Layer 1 — `GLOBSTAR` build failure The Storybook preview build fails with: `SyntaxError: The requested module 'minimatch' does not provide an export named 'GLOBSTAR'` **Root cause:** the `resolutions` block in `app/client/package.json` had an over-broad blanket `"minimatch": "^5.1.8"` that force-downgraded *every* minimatch to 5.x — including `glob@10` / `glob@11` (ESM), which require minimatch 9/10 for the `GLOBSTAR` named export. **Fix:** replaced the blanket with the specific `minimatch@^3.x -> ^5.1.8` pins (the CVE-2022-3517 ReDoS remediation, including the exact `3.0.4` consumer). Resulting resolution: - `glob@11 -> minimatch 10.2.5`, `glob@10 -> 9.0.9` (GLOBSTAR export present) - `glob 7/8 -> 5.1.9` (unchanged) - all minimatch `>= 3.0.5` (no CVE regression — a bare blanket removal would have reintroduced vulnerable `3.0.4`, which these pins prevent) ### Layer 2 — test-runner OOM Once the build works, `test-storybook:ci` runs the Jest + Playwright test-runner, which exceeds Node's ~2GB default old-space heap and dies with `JavaScript heap out of memory` (exit 129). Added `NODE_OPTIONS=--max-old-space-size=8192` to the Storybook Tests step. ## Verification (local, Node 24) - `yarn install --immutable` clean - Resolved minimatch all `>= 3.0.5` (no vulnerable version) - Storybook builds clean (no `GLOBSTAR` error), `storybook-static` artifact produced - `glob 7/8` (used by the webpack client build) unchanged, so the client build is unaffected ## Context The identical fix landed in the EE repo (`appsmith-ee`) to unblock its CI; the blanket resolution is identical in CE, so CE's Storybook is broken the same way. Landing it here makes the fix durable (the CE->EE sync converges the two) and fixes CE's own Storybook. **Merge with a merge commit — do not squash** (preserves CE<->EE sync history). 🤖 Generated with [Claude Code](https://claude.com/claude-code) Automation /ok-to-test tags="@tag.All" <!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit * **Chores** * Increased the memory limit for Storybook tests in CI to help them run more reliably. * Updated dependency resolution settings to keep compatible versions of a transitive package pinned consistently. <!-- end of auto-generated comment: release notes by coderabbit.ai --> <!-- This is an auto-generated comment: Cypress test results --> > [!TIP] > 🟢 🟢 🟢 All cypress tests have passed! 🎉 🎉 🎉 > Workflow run: <https://github.com/appsmithorg/appsmith/actions/runs/28718473128> > Commit: 9fc1f09 > <a href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=28718473128&attempt=1" target="_blank">Cypress dashboard</a>. > Tags: `@tag.All` > Spec: > <hr>Sat, 04 Jul 2026 21:26:14 UTC <!-- end of auto-generated comment: Cypress test results --> --------- Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
yatinappsmith
approved these changes
Jul 6, 2026
subrata71
enabled auto-merge
July 6, 2026 06:36
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.
Summary
Batch security update via resolutions/version bumps.
Resolved alerts
Skipped alerts
No code changes — resolutions only.
/ok-to-test tags="@tag.All"
Warning
Tests have not run on the HEAD 477e66c yet
Sun, 05 Jul 2026 23:57:17 UTC
Description
Tip
Add a TL;DR when the description is longer than 500 words or extremely technical (helps the content, marketing, and DevRel team).
Please also include relevant motivation and context. List any dependencies that are required for this change. Add links to Notion, Figma or any other documents that might be relevant to the PR.
Fixes #
Issue Numberor
Fixes
Issue URLWarning
If no issue exists, please create an issue first, and check with the maintainers if the issue is valid.
Automation
/ok-to-test tags=""
🔍 Cypress test results
Caution
If you modify the content in this section, you are likely to disrupt the CI result for your PR.
Communication
Should the DevRel and Marketing teams inform users about this change?