You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
feat: land CE-safe Anvil revival changes ahead of EE sync (appsmith-ee#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>
0 commit comments