Skip to content

Split React Studio into feature packages and add opt-in Core hosting - #8934

Merged
sfmskywalker merged 13 commits into
mainfrom
codex/8859-react-studio-modules
Oct 21, 2026
Merged

sfmskywalker merged 13 commits into
mainfrom
codex/8859-react-studio-modules

Conversation

@sfmskywalker

@sfmskywalker sfmskywalker commented Oct 20, 2026 •

Copy link
Copy Markdown
Member

The imported Studio registered every feature in one frontend bundle. This change moves the 16 features into Razor class libraries and lets enabled server features publish their versioned ESM/CSS entries. Shared packages and React come from one host import map; incompatible entries are rejected before import, and render failures leave the surrounding shell usable.

Core can explicitly enable Preview at /studio-preview beside /elsa/api; it remains off by default. Preview resolution preserves existing API scopes. The 20 production projects join Elsa.sln and Elsa.ReactStudio.slnf, with exact dependency-inventory reconciliation. NUKE generates assets before compile/test/pack; CI packs and verifies all 18 libraries without publishing. Source notices record the donor's observed license status.

Validation: 105 unit tests, 25 host tests, six Chromium tests, packed public-package consumer, generated API docs, lint/types, boundary guard, ten solution tests, and 18 dependency-census tests (8,395 assertions). All 18 NuGet packages contain net8/net9/net10 assemblies, embedded assets, consistent Preview versions and source notices; missing assets fail pack before a package is produced. NUKE asset target passes. Real same-origin Core sign-in, workflow creation, designer render, saved reload and cleanup pass. Default-off health/API/404 behavior passes. The updated non-root image (UID 1654) passes real cross-origin sign-in, workflow creation, designer render, saved reload and cleanup.

Part of #8859; implements the module/hosting work for #8845 and #8846, and the pack/build portion of #8847/#8848. Stacked on #8931. Full parity, the production extension template, publication and final source cutover remain separate acceptance work.

@coderabbitai

coderabbitai Bot commented Oct 20, 2026 •

Copy link
Copy Markdown

Important

Review skipped

Too many files!

This PR contains 435 files, which is 285 over the limit of 150.

To get a review, reduce the PR to 150 files or fewer by splitting it into smaller PRs or changing its base branch.

Upgrade to Team to raise the limit.

Usage-priced reviews support at most 300 files.

⚙️ Run configuration
  • Configuration used: defaults
  • Review profile: CHILL
  • Plan: Essentials
  • Run ID: 9061230e-9797-4a73-be89-487a6535d15d
📥 Commits

Reviewing files that changed from the base of the PR and between 03ac30a and bd9cb4c.

⛔ Files ignored due to path filters: 1
  • studio/react/pnpm-lock.yaml is excluded by !**/pnpm-lock.yaml
📒 Files selected for processing: 435
  • .dockerignore
  • .github/workflows/studio-react-source-validation.yml
  • .nuke/build.schema.json
  • Elsa.Extensions.slnf
  • Elsa.ReactStudio.slnf
  • Elsa.Security.slnf
  • Elsa.Studio.slnf
  • Elsa.sln
  • build/Build.ReactStudio.cs
  • core/src/apps/Elsa.Server.Web/Elsa.Server.Web.csproj
  • core/src/apps/Elsa.Server.Web/Program.cs
  • core/src/apps/Elsa.Server.Web/appsettings.json
  • docs/integration-program/consolidation/dependabot-recursive-discovery.md
  • scripts/integration-program/test_dependabot_discovery.rb
  • scripts/solution/solution-groups.json
  • scripts/solution/solution_groups.py
  • scripts/solution/test_solution_groups.py
  • studio/docs/specs/react-studio-preview/plan.md
  • studio/react/.gitignore
  • studio/react/Dockerfile
  • studio/react/README.md
  • studio/react/SOURCE-NOTICE.md
  • studio/react/docs/ARCHITECTURE.md
  • studio/react/docs/deployment.md
  • studio/react/docs/feature-packages.md
  • studio/react/docs/modules.md
  • studio/react/docs/vite-port-verification.md
  • studio/react/dotnet/Directory.Build.props
  • studio/react/dotnet/Directory.Build.targets
  • studio/react/dotnet/Directory.Packages.props
  • studio/react/dotnet/Elsa.ReactStudio.Host.Tests/ConfigurationTests.cs
  • studio/react/dotnet/Elsa.ReactStudio.Host.Tests/EndpointTests.cs
  • studio/react/dotnet/Elsa.ReactStudio.Host/Elsa.ReactStudio.Host.csproj
  • studio/react/dotnet/Elsa.ReactStudio.Host/ReactStudioEndpoints.cs
  • studio/react/dotnet/Elsa.ReactStudio.Host/ReactStudioModule.cs
  • studio/react/dotnet/Elsa.ReactStudio.Host/ReactStudioOptions.cs
  • studio/react/dotnet/Elsa.ReactStudio.Host/ReactStudioPreviewFeature.cs
  • studio/react/dotnet/Elsa.ReactStudio.Host/StudioConfiguration.cs
  • studio/react/dotnet/Elsa.ReactStudio.Server/Elsa.ReactStudio.Server.csproj
  • studio/react/dotnet/Elsa.ReactStudio.Server/Program.cs
  • studio/react/dotnet/Elsa.ReactStudio/Elsa.ReactStudio.csproj
  • studio/react/dotnet/Elsa.ReactStudio/ReactStudioHostingExtensions.cs
  • studio/react/dotnet/Elsa.ReactStudio/ReactStudioShellResolver.cs
  • studio/react/dotnet/modules/Elsa.ReactStudio.ActivityEditors/ActivityEditorsFeature.cs
  • studio/react/dotnet/modules/Elsa.ReactStudio.ActivityEditors/Client/__tests__/expression.test.ts
  • studio/react/dotnet/modules/Elsa.ReactStudio.ActivityEditors/Client/activity-properties-panel.tsx
  • studio/react/dotnet/modules/Elsa.ReactStudio.ActivityEditors/Client/editors/binding-picker.tsx
  • studio/react/dotnet/modules/Elsa.ReactStudio.ActivityEditors/Client/editors/checkbox-editor.tsx
  • studio/react/dotnet/modules/Elsa.ReactStudio.ActivityEditors/Client/editors/checklist-editor.tsx
  • studio/react/dotnet/modules/Elsa.ReactStudio.ActivityEditors/Client/editors/code-editor-hint.tsx
  • studio/react/dotnet/modules/Elsa.ReactStudio.ActivityEditors/Client/editors/dictionary-editor.tsx
  • studio/react/dotnet/modules/Elsa.ReactStudio.ActivityEditors/Client/editors/dropdown-editor.tsx
  • studio/react/dotnet/modules/Elsa.ReactStudio.ActivityEditors/Client/editors/json-editor-hint.tsx
  • studio/react/dotnet/modules/Elsa.ReactStudio.ActivityEditors/Client/editors/multiline-editor.tsx
  • studio/react/dotnet/modules/Elsa.ReactStudio.ActivityEditors/Client/editors/multitext-editor.tsx
  • studio/react/dotnet/modules/Elsa.ReactStudio.ActivityEditors/Client/editors/options.ts
  • studio/react/dotnet/modules/Elsa.ReactStudio.ActivityEditors/Client/editors/outcome-picker-editor.tsx
  • studio/react/dotnet/modules/Elsa.ReactStudio.ActivityEditors/Client/editors/output-picker-editor.tsx
  • studio/react/dotnet/modules/Elsa.ReactStudio.ActivityEditors/Client/editors/radiolist-editor.tsx
  • studio/react/dotnet/modules/Elsa.ReactStudio.ActivityEditors/Client/editors/singleline-editor.tsx
  • studio/react/dotnet/modules/Elsa.ReactStudio.ActivityEditors/Client/editors/switch-cases-editor.tsx
  • studio/react/dotnet/modules/Elsa.ReactStudio.ActivityEditors/Client/editors/type-picker-editor.tsx
  • studio/react/dotnet/modules/Elsa.ReactStudio.ActivityEditors/Client/editors/variable-picker-editor.tsx
  • studio/react/dotnet/modules/Elsa.ReactStudio.ActivityEditors/Client/editors/workflow-definition-picker-editor.tsx
  • studio/react/dotnet/modules/Elsa.ReactStudio.ActivityEditors/Client/entry.tsx
  • studio/react/dotnet/modules/Elsa.ReactStudio.ActivityEditors/Client/expression-editor.tsx
  • studio/react/dotnet/modules/Elsa.ReactStudio.ActivityEditors/Client/index.ts
  • studio/react/dotnet/modules/Elsa.ReactStudio.ActivityEditors/Client/module.css
  • studio/react/dotnet/modules/Elsa.ReactStudio.ActivityEditors/Client/module.tsx
  • studio/react/dotnet/modules/Elsa.ReactStudio.ActivityEditors/Client/package.json
  • studio/react/dotnet/modules/Elsa.ReactStudio.ActivityEditors/Client/registry.tsx
  • studio/react/dotnet/modules/Elsa.ReactStudio.ActivityEditors/Client/types.ts
  • studio/react/dotnet/modules/Elsa.ReactStudio.ActivityEditors/Elsa.ReactStudio.ActivityEditors.csproj
  • studio/react/dotnet/modules/Elsa.ReactStudio.Alterations/AlterationsFeature.cs
  • studio/react/dotnet/modules/Elsa.ReactStudio.Alterations/Client/api.ts
  • studio/react/dotnet/modules/Elsa.ReactStudio.Alterations/Client/components/alter-instance-dialog.tsx
  • studio/react/dotnet/modules/Elsa.ReactStudio.Alterations/Client/components/alteration-composer.tsx
  • studio/react/dotnet/modules/Elsa.ReactStudio.Alterations/Client/components/alteration-dialog-host.tsx
  • studio/react/dotnet/modules/Elsa.ReactStudio.Alterations/Client/components/alteration-results.tsx
  • studio/react/dotnet/modules/Elsa.ReactStudio.Alterations/Client/components/plan-status-badge.tsx
  • studio/react/dotnet/modules/Elsa.ReactStudio.Alterations/Client/components/retry-faulted-dialog.tsx
  • studio/react/dotnet/modules/Elsa.ReactStudio.Alterations/Client/dialog-store.ts
  • studio/react/dotnet/modules/Elsa.ReactStudio.Alterations/Client/entry.tsx
  • studio/react/dotnet/modules/Elsa.ReactStudio.Alterations/Client/hooks.ts
  • studio/react/dotnet/modules/Elsa.ReactStudio.Alterations/Client/index.tsx
  • studio/react/dotnet/modules/Elsa.ReactStudio.Alterations/Client/module.css
  • studio/react/dotnet/modules/Elsa.ReactStudio.Alterations/Client/package.json
  • studio/react/dotnet/modules/Elsa.ReactStudio.Alterations/Client/pages/plan-page.tsx
  • studio/react/dotnet/modules/Elsa.ReactStudio.Alterations/Client/pages/plans-page.tsx
  • studio/react/dotnet/modules/Elsa.ReactStudio.Alterations/Client/recent-plans.ts
  • studio/react/dotnet/modules/Elsa.ReactStudio.Alterations/Client/routes.ts
  • studio/react/dotnet/modules/Elsa.ReactStudio.Alterations/Elsa.ReactStudio.Alterations.csproj
  • studio/react/dotnet/modules/Elsa.ReactStudio.Appearance/AppearanceFeature.cs
  • studio/react/dotnet/modules/Elsa.ReactStudio.Appearance/Client/entry.tsx
  • studio/react/dotnet/modules/Elsa.ReactStudio.Appearance/Client/index.tsx
  • studio/react/dotnet/modules/Elsa.ReactStudio.Appearance/Client/module.css
  • studio/react/dotnet/modules/Elsa.ReactStudio.Appearance/Client/package.json
  • studio/react/dotnet/modules/Elsa.ReactStudio.Appearance/Client/pages/appearance-page.tsx
  • studio/react/dotnet/modules/Elsa.ReactStudio.Appearance/Client/routes.ts
  • studio/react/dotnet/modules/Elsa.ReactStudio.Appearance/Elsa.ReactStudio.Appearance.csproj
  • studio/react/dotnet/modules/Elsa.ReactStudio.Dashboard/Client/api.ts
  • studio/react/dotnet/modules/Elsa.ReactStudio.Dashboard/Client/components/bar-list.tsx
  • studio/react/dotnet/modules/Elsa.ReactStudio.Dashboard/Client/components/dashboard-zones.tsx
  • studio/react/dotnet/modules/Elsa.ReactStudio.Dashboard/Client/components/donut-chart.tsx
  • studio/react/dotnet/modules/Elsa.ReactStudio.Dashboard/Client/components/empty-dashboard.tsx
  • studio/react/dotnet/modules/Elsa.ReactStudio.Dashboard/Client/components/range-toggle.tsx
  • studio/react/dotnet/modules/Elsa.ReactStudio.Dashboard/Client/components/runtime-status-chip.tsx
  • studio/react/dotnet/modules/Elsa.ReactStudio.Dashboard/Client/components/stat-tile.tsx
  • studio/react/dotnet/modules/Elsa.ReactStudio.Dashboard/Client/components/trend-chart.tsx
  • studio/react/dotnet/modules/Elsa.ReactStudio.Dashboard/Client/components/widget-card.tsx
  • studio/react/dotnet/modules/Elsa.ReactStudio.Dashboard/Client/entry.tsx
  • studio/react/dotnet/modules/Elsa.ReactStudio.Dashboard/Client/format.ts
  • studio/react/dotnet/modules/Elsa.ReactStudio.Dashboard/Client/hooks.ts
  • studio/react/dotnet/modules/Elsa.ReactStudio.Dashboard/Client/index.tsx
  • studio/react/dotnet/modules/Elsa.ReactStudio.Dashboard/Client/links.ts
  • studio/react/dotnet/modules/Elsa.ReactStudio.Dashboard/Client/module.css
  • studio/react/dotnet/modules/Elsa.ReactStudio.Dashboard/Client/package.json
  • studio/react/dotnet/modules/Elsa.ReactStudio.Dashboard/Client/pages/dashboard-page.tsx
  • studio/react/dotnet/modules/Elsa.ReactStudio.Dashboard/Client/widgets/activity-widget.tsx
  • studio/react/dotnet/modules/Elsa.ReactStudio.Dashboard/Client/widgets/findings-widget.tsx
  • studio/react/dotnet/modules/Elsa.ReactStudio.Dashboard/Client/widgets/hotspots-widget.tsx
  • studio/react/dotnet/modules/Elsa.ReactStudio.Dashboard/Client/widgets/index.ts
  • studio/react/dotnet/modules/Elsa.ReactStudio.Dashboard/Client/widgets/metrics-widget.tsx
  • studio/react/dotnet/modules/Elsa.ReactStudio.Dashboard/Client/widgets/per-workflow-widget.tsx
  • studio/react/dotnet/modules/Elsa.ReactStudio.Dashboard/Client/widgets/status-breakdown-widget.tsx
  • studio/react/dotnet/modules/Elsa.ReactStudio.Dashboard/Client/widgets/trend-widget.tsx
  • studio/react/dotnet/modules/Elsa.ReactStudio.Dashboard/DashboardFeature.cs
  • studio/react/dotnet/modules/Elsa.ReactStudio.Dashboard/Elsa.ReactStudio.Dashboard.csproj
  • studio/react/dotnet/modules/Elsa.ReactStudio.Designer/Client/__tests__/switch-slots.test.ts
  • studio/react/dotnet/modules/Elsa.ReactStudio.Designer/Client/components/activity-card.tsx
  • studio/react/dotnet/modules/Elsa.ReactStudio.Designer/Client/components/activity-icon.tsx
  • studio/react/dotnet/modules/Elsa.ReactStudio.Designer/Client/components/activity-node.tsx
  • studio/react/dotnet/modules/Elsa.ReactStudio.Designer/Client/components/activity-toolbox.tsx
  • studio/react/dotnet/modules/Elsa.ReactStudio.Designer/Client/components/connection-edge.tsx
  • studio/react/dotnet/modules/Elsa.ReactStudio.Designer/Client/components/context-box-node.tsx
  • studio/react/dotnet/modules/Elsa.ReactStudio.Designer/Client/components/context-call-edge.tsx
  • studio/react/dotnet/modules/Elsa.ReactStudio.Designer/Client/components/context-workflow-node.tsx
  • studio/react/dotnet/modules/Elsa.ReactStudio.Designer/Client/components/data-edge.tsx
  • studio/react/dotnet/modules/Elsa.ReactStudio.Designer/Client/components/designer-breadcrumb.tsx
  • studio/react/dotnet/modules/Elsa.ReactStudio.Designer/Client/components/designer-canvas.tsx
  • studio/react/dotnet/modules/Elsa.ReactStudio.Designer/Client/components/designer-surface.tsx
  • studio/react/dotnet/modules/Elsa.ReactStudio.Designer/Client/components/node-context-toolbar.tsx
  • studio/react/dotnet/modules/Elsa.ReactStudio.Designer/Client/components/quick-add-menu.tsx
  • studio/react/dotnet/modules/Elsa.ReactStudio.Designer/Client/components/sequence-designer.tsx
  • studio/react/dotnet/modules/Elsa.ReactStudio.Designer/Client/components/slot-chip.tsx
  • studio/react/dotnet/modules/Elsa.ReactStudio.Designer/Client/components/state-machine-canvas.tsx
  • studio/react/dotnet/modules/Elsa.ReactStudio.Designer/Client/components/state-node.tsx
  • studio/react/dotnet/modules/Elsa.ReactStudio.Designer/Client/components/state-panel.tsx
  • studio/react/dotnet/modules/Elsa.ReactStudio.Designer/Client/components/transition-edge.tsx
  • studio/react/dotnet/modules/Elsa.ReactStudio.Designer/Client/components/transition-panel.tsx
  • studio/react/dotnet/modules/Elsa.ReactStudio.Designer/Client/entry.tsx
  • studio/react/dotnet/modules/Elsa.ReactStudio.Designer/Client/index.ts
  • studio/react/dotnet/modules/Elsa.ReactStudio.Designer/Client/module.css
  • studio/react/dotnet/modules/Elsa.ReactStudio.Designer/Client/module.tsx
  • studio/react/dotnet/modules/Elsa.ReactStudio.Designer/Client/package.json
  • studio/react/dotnet/modules/Elsa.ReactStudio.Designer/DesignerFeature.cs
  • studio/react/dotnet/modules/Elsa.ReactStudio.Designer/Elsa.ReactStudio.Designer.csproj
  • studio/react/dotnet/modules/Elsa.ReactStudio.Diagnostics.ConsoleLogs/Client/api.ts
  • studio/react/dotnet/modules/Elsa.ReactStudio.Diagnostics.ConsoleLogs/Client/components/console-log-view.tsx
  • studio/react/dotnet/modules/Elsa.ReactStudio.Diagnostics.ConsoleLogs/Client/components/storage-widget.tsx
  • studio/react/dotnet/modules/Elsa.ReactStudio.Diagnostics.ConsoleLogs/Client/entry.tsx
  • studio/react/dotnet/modules/Elsa.ReactStudio.Diagnostics.ConsoleLogs/Client/hooks.ts
  • studio/react/dotnet/modules/Elsa.ReactStudio.Diagnostics.ConsoleLogs/Client/index.tsx
  • studio/react/dotnet/modules/Elsa.ReactStudio.Diagnostics.ConsoleLogs/Client/module.css
  • studio/react/dotnet/modules/Elsa.ReactStudio.Diagnostics.ConsoleLogs/Client/package.json
  • studio/react/dotnet/modules/Elsa.ReactStudio.Diagnostics.ConsoleLogs/Client/pages/console-page.tsx
  • studio/react/dotnet/modules/Elsa.ReactStudio.Diagnostics.ConsoleLogs/ConsoleLogsFeature.cs
  • studio/react/dotnet/modules/Elsa.ReactStudio.Diagnostics.ConsoleLogs/Elsa.ReactStudio.Diagnostics.ConsoleLogs.csproj
  • studio/react/dotnet/modules/Elsa.ReactStudio.Diagnostics.StructuredLogs/Client/api.ts
  • studio/react/dotnet/modules/Elsa.ReactStudio.Diagnostics.StructuredLogs/Client/components/level-badge.tsx
  • studio/react/dotnet/modules/Elsa.ReactStudio.Diagnostics.StructuredLogs/Client/components/log-table.tsx
  • studio/react/dotnet/modules/Elsa.ReactStudio.Diagnostics.StructuredLogs/Client/components/storage-widget.tsx
  • studio/react/dotnet/modules/Elsa.ReactStudio.Diagnostics.StructuredLogs/Client/entry.tsx
  • studio/react/dotnet/modules/Elsa.ReactStudio.Diagnostics.StructuredLogs/Client/hooks.ts
  • studio/react/dotnet/modules/Elsa.ReactStudio.Diagnostics.StructuredLogs/Client/index.tsx
  • studio/react/dotnet/modules/Elsa.ReactStudio.Diagnostics.StructuredLogs/Client/module.css
  • studio/react/dotnet/modules/Elsa.ReactStudio.Diagnostics.StructuredLogs/Client/package.json
  • studio/react/dotnet/modules/Elsa.ReactStudio.Diagnostics.StructuredLogs/Client/pages/structured-logs-page.tsx
  • studio/react/dotnet/modules/Elsa.ReactStudio.Diagnostics.StructuredLogs/Elsa.ReactStudio.Diagnostics.StructuredLogs.csproj
  • studio/react/dotnet/modules/Elsa.ReactStudio.Diagnostics.StructuredLogs/StructuredLogsFeature.cs
  • studio/react/dotnet/modules/Elsa.ReactStudio.Environments/Client/api.ts
  • studio/react/dotnet/modules/Elsa.ReactStudio.Environments/Client/components/environment-picker.tsx
  • studio/react/dotnet/modules/Elsa.ReactStudio.Environments/Client/entry.tsx
  • studio/react/dotnet/modules/Elsa.ReactStudio.Environments/Client/hooks.ts
  • studio/react/dotnet/modules/Elsa.ReactStudio.Environments/Client/index.tsx
  • studio/react/dotnet/modules/Elsa.ReactStudio.Environments/Client/module.css
  • studio/react/dotnet/modules/Elsa.ReactStudio.Environments/Client/package.json
  • studio/react/dotnet/modules/Elsa.ReactStudio.Environments/Elsa.ReactStudio.Environments.csproj
  • studio/react/dotnet/modules/Elsa.ReactStudio.Environments/EnvironmentsFeature.cs
  • studio/react/dotnet/modules/Elsa.ReactStudio.Labels/Client/api.ts
  • studio/react/dotnet/modules/Elsa.ReactStudio.Labels/Client/components/label-badge.tsx
  • studio/react/dotnet/modules/Elsa.ReactStudio.Labels/Client/components/label-dialog.tsx
  • studio/react/dotnet/modules/Elsa.ReactStudio.Labels/Client/components/workflow-labels-tab.tsx
  • studio/react/dotnet/modules/Elsa.ReactStudio.Labels/Client/entry.tsx
  • studio/react/dotnet/modules/Elsa.ReactStudio.Labels/Client/hooks.ts
  • studio/react/dotnet/modules/Elsa.ReactStudio.Labels/Client/index.tsx
  • studio/react/dotnet/modules/Elsa.ReactStudio.Labels/Client/module.css
  • studio/react/dotnet/modules/Elsa.ReactStudio.Labels/Client/package.json
  • studio/react/dotnet/modules/Elsa.ReactStudio.Labels/Client/pages/labels-page.tsx
  • studio/react/dotnet/modules/Elsa.ReactStudio.Labels/Elsa.ReactStudio.Labels.csproj
  • studio/react/dotnet/modules/Elsa.ReactStudio.Labels/LabelsFeature.cs
  • studio/react/dotnet/modules/Elsa.ReactStudio.Secrets/Client/__tests__/store-fields.test.ts
  • studio/react/dotnet/modules/Elsa.ReactStudio.Secrets/Client/api.ts
  • studio/react/dotnet/modules/Elsa.ReactStudio.Secrets/Client/components/create-secret-dialog.tsx
  • studio/react/dotnet/modules/Elsa.ReactStudio.Secrets/Client/components/edit-secret-dialog.tsx
  • studio/react/dotnet/modules/Elsa.ReactStudio.Secrets/Client/components/rotate-secret-dialog.tsx
  • studio/react/dotnet/modules/Elsa.ReactStudio.Secrets/Client/components/secret-picker-editor.tsx
  • studio/react/dotnet/modules/Elsa.ReactStudio.Secrets/Client/components/secret-picker.tsx
  • studio/react/dotnet/modules/Elsa.ReactStudio.Secrets/Client/components/secret-status-badge.tsx
  • studio/react/dotnet/modules/Elsa.ReactStudio.Secrets/Client/components/secret-value-field.tsx
  • studio/react/dotnet/modules/Elsa.ReactStudio.Secrets/Client/components/store-fields.tsx
  • studio/react/dotnet/modules/Elsa.ReactStudio.Secrets/Client/entry.tsx
  • studio/react/dotnet/modules/Elsa.ReactStudio.Secrets/Client/hooks.ts
  • studio/react/dotnet/modules/Elsa.ReactStudio.Secrets/Client/index.tsx
  • studio/react/dotnet/modules/Elsa.ReactStudio.Secrets/Client/module.css
  • studio/react/dotnet/modules/Elsa.ReactStudio.Secrets/Client/package.json
  • studio/react/dotnet/modules/Elsa.ReactStudio.Secrets/Client/pages/secret-detail-page.tsx
  • studio/react/dotnet/modules/Elsa.ReactStudio.Secrets/Client/pages/secrets-page.tsx
  • studio/react/dotnet/modules/Elsa.ReactStudio.Secrets/Client/routes.ts
  • studio/react/dotnet/modules/Elsa.ReactStudio.Secrets/Elsa.ReactStudio.Secrets.csproj
  • studio/react/dotnet/modules/Elsa.ReactStudio.Secrets/SecretsFeature.cs
  • studio/react/dotnet/modules/Elsa.ReactStudio.Security/Client/api.ts
  • studio/react/dotnet/modules/Elsa.ReactStudio.Security/Client/components/deletion-blocked-dialog.tsx
  • studio/react/dotnet/modules/Elsa.ReactStudio.Security/Client/components/generated-password-dialog.tsx
  • studio/react/dotnet/modules/Elsa.ReactStudio.Security/Client/components/permission-editor.tsx
  • studio/react/dotnet/modules/Elsa.ReactStudio.Security/Client/components/role-checklist.tsx
  • studio/react/dotnet/modules/Elsa.ReactStudio.Security/Client/components/role-dialog.tsx
  • studio/react/dotnet/modules/Elsa.ReactStudio.Security/Client/components/user-dialog.tsx
  • studio/react/dotnet/modules/Elsa.ReactStudio.Security/Client/entry.tsx
  • studio/react/dotnet/modules/Elsa.ReactStudio.Security/Client/hooks.ts
  • studio/react/dotnet/modules/Elsa.ReactStudio.Security/Client/index.tsx
  • studio/react/dotnet/modules/Elsa.ReactStudio.Security/Client/module.css
  • studio/react/dotnet/modules/Elsa.ReactStudio.Security/Client/package.json
  • studio/react/dotnet/modules/Elsa.ReactStudio.Security/Client/pages/roles-page.tsx
  • studio/react/dotnet/modules/Elsa.ReactStudio.Security/Client/pages/users-page.tsx
  • studio/react/dotnet/modules/Elsa.ReactStudio.Security/Elsa.ReactStudio.Security.csproj
  • studio/react/dotnet/modules/Elsa.ReactStudio.Security/SecurityFeature.cs
  • studio/react/dotnet/modules/Elsa.ReactStudio.Settings/Client/entry.tsx
  • studio/react/dotnet/modules/Elsa.ReactStudio.Settings/Client/index.tsx
  • studio/react/dotnet/modules/Elsa.ReactStudio.Settings/Client/module.css
  • studio/react/dotnet/modules/Elsa.ReactStudio.Settings/Client/package.json
  • studio/react/dotnet/modules/Elsa.ReactStudio.Settings/Client/pages/settings-page.tsx
  • studio/react/dotnet/modules/Elsa.ReactStudio.Settings/Client/routes.ts
  • studio/react/dotnet/modules/Elsa.ReactStudio.Settings/Elsa.ReactStudio.Settings.csproj
  • studio/react/dotnet/modules/Elsa.ReactStudio.Settings/SettingsFeature.cs
  • studio/react/dotnet/modules/Elsa.ReactStudio.Shell/Client/app-shell.tsx
  • studio/react/dotnet/modules/Elsa.ReactStudio.Shell/Client/application.tsx
  • studio/react/dotnet/modules/Elsa.ReactStudio.Shell/Client/auth-callback.tsx
  • studio/react/dotnet/modules/Elsa.ReactStudio.Shell/Client/brand-mark.tsx
  • studio/react/dotnet/modules/Elsa.ReactStudio.Shell/Client/entry.tsx
  • studio/react/dotnet/modules/Elsa.ReactStudio.Shell/Client/login-illustration.tsx
  • studio/react/dotnet/modules/Elsa.ReactStudio.Shell/Client/login-page.tsx
  • studio/react/dotnet/modules/Elsa.ReactStudio.Shell/Client/module.css
  • studio/react/dotnet/modules/Elsa.ReactStudio.Shell/Client/module.tsx
  • studio/react/dotnet/modules/Elsa.ReactStudio.Shell/Client/package.json
  • studio/react/dotnet/modules/Elsa.ReactStudio.Shell/Client/status-pages.tsx
  • studio/react/dotnet/modules/Elsa.ReactStudio.Shell/Client/studio-router.tsx
  • studio/react/dotnet/modules/Elsa.ReactStudio.Shell/Client/studio-sidebar.tsx
  • studio/react/dotnet/modules/Elsa.ReactStudio.Shell/Client/theme-menu.tsx
  • studio/react/dotnet/modules/Elsa.ReactStudio.Shell/Client/user-menu.tsx
  • studio/react/dotnet/modules/Elsa.ReactStudio.Shell/Elsa.ReactStudio.Shell.csproj
  • studio/react/dotnet/modules/Elsa.ReactStudio.Shell/ShellFeature.cs
  • studio/react/dotnet/modules/Elsa.ReactStudio.UserTasks/Client/api.ts
  • studio/react/dotnet/modules/Elsa.ReactStudio.UserTasks/Client/components/assign-task-dialog.tsx
  • studio/react/dotnet/modules/Elsa.ReactStudio.UserTasks/Client/components/cancel-task-dialog.tsx
  • studio/react/dotnet/modules/Elsa.ReactStudio.UserTasks/Client/components/complete-task-dialog.tsx
  • studio/react/dotnet/modules/Elsa.ReactStudio.UserTasks/Client/components/user-task-status-badge.tsx
  • studio/react/dotnet/modules/Elsa.ReactStudio.UserTasks/Client/components/user-tasks-gate.tsx
  • studio/react/dotnet/modules/Elsa.ReactStudio.UserTasks/Client/entry.tsx
  • studio/react/dotnet/modules/Elsa.ReactStudio.UserTasks/Client/hooks.ts
  • studio/react/dotnet/modules/Elsa.ReactStudio.UserTasks/Client/index.tsx
  • studio/react/dotnet/modules/Elsa.ReactStudio.UserTasks/Client/module.css
  • studio/react/dotnet/modules/Elsa.ReactStudio.UserTasks/Client/package.json
  • studio/react/dotnet/modules/Elsa.ReactStudio.UserTasks/Client/pages/detail-page.tsx
  • studio/react/dotnet/modules/Elsa.ReactStudio.UserTasks/Client/pages/list-page.tsx
  • studio/react/dotnet/modules/Elsa.ReactStudio.UserTasks/Client/routes.ts
  • studio/react/dotnet/modules/Elsa.ReactStudio.UserTasks/Elsa.ReactStudio.UserTasks.csproj
  • studio/react/dotnet/modules/Elsa.ReactStudio.UserTasks/UserTasksFeature.cs
  • studio/react/dotnet/modules/Elsa.ReactStudio.WorkflowDefinitions/Client/call-graph/__tests__/call-graph-service.test.ts
  • studio/react/dotnet/modules/Elsa.ReactStudio.WorkflowDefinitions/Client/call-graph/__tests__/edge-extractor.test.ts
  • studio/react/dotnet/modules/Elsa.ReactStudio.WorkflowDefinitions/Client/call-graph/__tests__/helpers.ts
  • studio/react/dotnet/modules/Elsa.ReactStudio.WorkflowDefinitions/Client/call-graph/__tests__/subgraph.test.ts
  • studio/react/dotnet/modules/Elsa.ReactStudio.WorkflowDefinitions/Client/call-graph/call-graph-service.ts
  • studio/react/dotnet/modules/Elsa.ReactStudio.WorkflowDefinitions/Client/call-graph/config.ts
  • studio/react/dotnet/modules/Elsa.ReactStudio.WorkflowDefinitions/Client/call-graph/edge-extractor.ts
  • studio/react/dotnet/modules/Elsa.ReactStudio.WorkflowDefinitions/Client/call-graph/index.ts
  • studio/react/dotnet/modules/Elsa.ReactStudio.WorkflowDefinitions/Client/call-graph/layout.ts
  • studio/react/dotnet/modules/Elsa.ReactStudio.WorkflowDefinitions/Client/call-graph/registry.ts
  • studio/react/dotnet/modules/Elsa.ReactStudio.WorkflowDefinitions/Client/call-graph/subgraph.ts
  • studio/react/dotnet/modules/Elsa.ReactStudio.WorkflowDefinitions/Client/call-graph/types.ts
  • studio/react/dotnet/modules/Elsa.ReactStudio.WorkflowDefinitions/Client/components/call-context/call-context-status.tsx
  • studio/react/dotnet/modules/Elsa.ReactStudio.WorkflowDefinitions/Client/components/call-context/use-call-context.ts
  • studio/react/dotnet/modules/Elsa.ReactStudio.WorkflowDefinitions/Client/components/code-view.tsx
  • studio/react/dotnet/modules/Elsa.ReactStudio.WorkflowDefinitions/Client/components/create-workflow-dialog.tsx
  • studio/react/dotnet/modules/Elsa.ReactStudio.WorkflowDefinitions/Client/components/data-usage.tsx
  • studio/react/dotnet/modules/Elsa.ReactStudio.WorkflowDefinitions/Client/components/editor-header.tsx
  • studio/react/dotnet/modules/Elsa.ReactStudio.WorkflowDefinitions/Client/components/editor-side-pane.tsx
  • studio/react/dotnet/modules/Elsa.ReactStudio.WorkflowDefinitions/Client/components/inputs-outputs-tab.tsx
  • studio/react/dotnet/modules/Elsa.ReactStudio.WorkflowDefinitions/Client/components/issues-popover.tsx
  • studio/react/dotnet/modules/Elsa.ReactStudio.WorkflowDefinitions/Client/components/run-workflow-dialog.tsx
  • studio/react/dotnet/modules/Elsa.ReactStudio.WorkflowDefinitions/Client/components/shortcuts-dialog.tsx
  • studio/react/dotnet/modules/Elsa.ReactStudio.WorkflowDefinitions/Client/components/variables-tab.tsx
  • studio/react/dotnet/modules/Elsa.ReactStudio.WorkflowDefinitions/Client/components/versions-tab.tsx
  • studio/react/dotnet/modules/Elsa.ReactStudio.WorkflowDefinitions/Client/components/workflow-properties-pane.tsx
  • studio/react/dotnet/modules/Elsa.ReactStudio.WorkflowDefinitions/Client/editor-context.tsx
  • studio/react/dotnet/modules/Elsa.ReactStudio.WorkflowDefinitions/Client/entry.tsx
  • studio/react/dotnet/modules/Elsa.ReactStudio.WorkflowDefinitions/Client/hooks.ts
  • studio/react/dotnet/modules/Elsa.ReactStudio.WorkflowDefinitions/Client/index.tsx
  • studio/react/dotnet/modules/Elsa.ReactStudio.WorkflowDefinitions/Client/module.css
  • studio/react/dotnet/modules/Elsa.ReactStudio.WorkflowDefinitions/Client/package.json
  • studio/react/dotnet/modules/Elsa.ReactStudio.WorkflowDefinitions/Client/pages/editor-page.tsx
  • studio/react/dotnet/modules/Elsa.ReactStudio.WorkflowDefinitions/Client/pages/list-page.tsx
  • studio/react/dotnet/modules/Elsa.ReactStudio.WorkflowDefinitions/Client/routes.ts
  • studio/react/dotnet/modules/Elsa.ReactStudio.WorkflowDefinitions/Elsa.ReactStudio.WorkflowDefinitions.csproj
  • studio/react/dotnet/modules/Elsa.ReactStudio.WorkflowDefinitions/WorkflowDefinitionsFeature.cs
  • studio/react/dotnet/modules/Elsa.ReactStudio.WorkflowInstances/Client/__tests__/journal-spans.test.ts
  • studio/react/dotnet/modules/Elsa.ReactStudio.WorkflowInstances/Client/components/activity-details-pane.tsx
  • studio/react/dotnet/modules/Elsa.ReactStudio.WorkflowInstances/Client/components/activity-executions-list.tsx
  • studio/react/dotnet/modules/Elsa.ReactStudio.WorkflowInstances/Client/components/date-filter-popover.tsx
  • studio/react/dotnet/modules/Elsa.ReactStudio.WorkflowInstances/Client/components/executions-table.tsx
  • studio/react/dotnet/modules/Elsa.ReactStudio.WorkflowInstances/Client/components/incidents-panel.tsx
  • studio/react/dotnet/modules/Elsa.ReactStudio.WorkflowInstances/Client/components/input-output-panel.tsx
  • studio/react/dotnet/modules/Elsa.ReactStudio.WorkflowInstances/Client/components/instance-details.tsx
  • studio/react/dotnet/modules/Elsa.ReactStudio.WorkflowInstances/Client/components/instance-filters.tsx
  • studio/react/dotnet/modules/Elsa.ReactStudio.WorkflowInstances/Client/components/instance-row-actions.tsx
  • studio/react/dotnet/modules/Elsa.ReactStudio.WorkflowInstances/Client/components/journal-tree.tsx
  • studio/react/dotnet/modules/Elsa.ReactStudio.WorkflowInstances/Client/components/multi-select.tsx
  • studio/react/dotnet/modules/Elsa.ReactStudio.WorkflowInstances/Client/components/running-count-badge.tsx
  • studio/react/dotnet/modules/Elsa.ReactStudio.WorkflowInstances/Client/components/variables-panel.tsx
  • studio/react/dotnet/modules/Elsa.ReactStudio.WorkflowInstances/Client/entry.tsx
  • studio/react/dotnet/modules/Elsa.ReactStudio.WorkflowInstances/Client/hooks.ts
  • studio/react/dotnet/modules/Elsa.ReactStudio.WorkflowInstances/Client/index.tsx
  • studio/react/dotnet/modules/Elsa.ReactStudio.WorkflowInstances/Client/model.ts
  • studio/react/dotnet/modules/Elsa.ReactStudio.WorkflowInstances/Client/module.css
  • studio/react/dotnet/modules/Elsa.ReactStudio.WorkflowInstances/Client/package.json
  • studio/react/dotnet/modules/Elsa.ReactStudio.WorkflowInstances/Client/pages/list-page.tsx
  • studio/react/dotnet/modules/Elsa.ReactStudio.WorkflowInstances/Client/pages/viewer-page.tsx
  • studio/react/dotnet/modules/Elsa.ReactStudio.WorkflowInstances/Client/routes.ts
  • studio/react/dotnet/modules/Elsa.ReactStudio.WorkflowInstances/Elsa.ReactStudio.WorkflowInstances.csproj
  • studio/react/dotnet/modules/Elsa.ReactStudio.WorkflowInstances/WorkflowInstancesFeature.cs
  • studio/react/eslint.config.mjs
  • studio/react/module-catalog.json
  • studio/react/package.json
  • studio/react/packages/api-client/README.md
  • studio/react/packages/api-client/package.json
  • studio/react/packages/api-client/src/hooks/descriptors.ts
  • studio/react/packages/api-client/src/react.tsx
  • studio/react/packages/api-client/tsconfig.json
  • studio/react/packages/auth/tsconfig.json
  • studio/react/packages/sdk/README.md
  • studio/react/packages/sdk/package.json
  • studio/react/packages/sdk/src/activity-expressions.ts
  • studio/react/packages/sdk/src/components.test.tsx
  • studio/react/packages/sdk/src/components.tsx
  • studio/react/packages/sdk/src/config-provider.tsx
  • studio/react/packages/sdk/src/designer/context.tsx
  • studio/react/packages/sdk/src/designer/decorations.ts
  • studio/react/packages/sdk/src/designer/hooks.ts
  • studio/react/packages/sdk/src/designer/index.ts
  • studio/react/packages/sdk/src/designer/model/containers.ts
  • studio/react/packages/sdk/src/designer/model/data-flow.ts
  • studio/react/packages/sdk/src/designer/model/display.ts
  • studio/react/packages/sdk/src/designer/model/flow-types.ts
  • studio/react/packages/sdk/src/designer/model/flowchart-ops.ts
  • studio/react/packages/sdk/src/designer/model/icons.ts
  • studio/react/packages/sdk/src/designer/model/ids.ts
  • studio/react/packages/sdk/src/designer/model/layout.ts
  • studio/react/packages/sdk/src/designer/model/ports.ts
  • studio/react/packages/sdk/src/designer/model/recent.ts
  • studio/react/packages/sdk/src/designer/model/registry.ts
  • studio/react/packages/sdk/src/designer/model/snapping.ts
  • studio/react/packages/sdk/src/designer/model/validation.ts
  • studio/react/packages/sdk/src/designer/store.ts
  • studio/react/packages/sdk/src/editor-types.ts
  • studio/react/packages/sdk/src/environments/active-server.ts
  • studio/react/packages/sdk/src/host.ts
  • studio/react/packages/sdk/src/module-boundary.tsx
  • studio/react/packages/sdk/src/modules.ts
  • studio/react/packages/sdk/src/navigation/base-path.ts
  • studio/react/packages/sdk/src/navigation/index.ts
  • studio/react/packages/sdk/src/navigation/link.tsx
  • studio/react/packages/sdk/src/register.ts
  • studio/react/packages/sdk/src/routes.ts
  • studio/react/packages/sdk/src/routing.test.ts
  • studio/react/packages/sdk/src/routing.ts
  • studio/react/packages/sdk/src/slots.ts
  • studio/react/packages/sdk/src/theme/elsa-theme-provider.tsx
  • studio/react/packages/sdk/src/theme/elsa-theme.ts
  • studio/react/packages/sdk/src/utils/download.ts
  • studio/react/packages/sdk/src/utils/url-state.ts
  • studio/react/packages/sdk/tsconfig.json
  • studio/react/packages/ui/README.md
  • studio/react/packages/ui/package.json
  • studio/react/packages/ui/src/common/code-editor.tsx
  • studio/react/packages/ui/src/common/confirm-dialog.tsx
  • studio/react/packages/ui/src/common/copy-button.tsx
  • studio/react/packages/ui/src/common/data-table.tsx
  • studio/react/packages/ui/src/common/empty-state.tsx
  • studio/react/packages/ui/src/common/error-alert.tsx
  • studio/react/packages/ui/src/common/field.tsx
  • studio/react/packages/ui/src/common/filter-chips.tsx
  • studio/react/packages/ui/src/common/json-viewer.tsx
  • studio/react/packages/ui/src/common/key-value-table.tsx
  • studio/react/packages/ui/src/common/page-header.tsx
  • studio/react/packages/ui/src/common/search-input.tsx
  • studio/react/packages/ui/src/common/simple-select.tsx
  • studio/react/packages/ui/src/common/status-badge.tsx
  • studio/react/packages/ui/src/common/timestamp.tsx
  • studio/react/packages/ui/src/full-page-spinner.tsx
  • studio/react/packages/ui/src/icon-button.tsx
  • studio/react/packages/ui/src/runtime/module-registry.tsx
  • studio/react/packages/ui/src/runtime/remote-features.ts
  • studio/react/packages/ui/src/runtime/settings.ts
  • studio/react/packages/ui/src/shell-chrome.ts
  • studio/react/packages/ui/src/styles.css
  • studio/react/packages/ui/src/tokens.css
  • studio/react/packages/ui/src/utils.ts
  • studio/react/packages/ui/tsconfig.json
  • studio/react/playwright.config.ts
  • studio/react/pnpm-workspace.yaml
  • studio/react/scripts/assets-config.mjs
  • studio/react/scripts/build-assets.mjs
  • studio/react/scripts/check-module-boundaries.mjs
  • studio/react/scripts/verify-nuget-packages.py
  • studio/react/src/globals.css
  • studio/react/src/lib/api/provider.tsx
  • studio/react/src/lib/auth/provider.tsx
  • studio/react/src/main.tsx
  • studio/react/src/modules/index.ts
  • studio/react/src/modules/settings/routes.ts
  • studio/react/src/providers.tsx
  • studio/react/tests/navigation.spec.ts
  • studio/react/tsconfig.json
  • studio/react/vite.config.ts
  • studio/react/vitest.config.ts

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

  • Autofix · Keep fixing CodeRabbit findings and required CI, and resolving merge conflicts

Comment @coderabbitai help to get the list of available commands.

Copy link
Copy Markdown
Member Author

@greptileai

Copy link
Copy Markdown
Member Author

@coderabbitai review

@coderabbitai

coderabbitai Bot commented Oct 20, 2026 •

Copy link
Copy Markdown
⚠️ Action not completed

Review skipped: 433 files exceed the limit of 150.

Note: CodeRabbit is an incremental review system and does not re-review already reviewed commits. This command is applicable only when automatic reviews are paused.

Copy link
Copy Markdown
Member Author

@greptileai

Copy link
Copy Markdown
Member Author

@greptileai

Copy link
Copy Markdown
Member Author

@greptileai

@greptile-apps

greptile-apps Bot commented Oct 21, 2026 •

Copy link
Copy Markdown
Contributor

RetriggerView in GreptileConfidence Score: 5/5

[Medium impact] No outstanding findings block merging, provided the fixes supplied by PR #8958 and PR #8947 remain part of the stack.

Summary

Splits React Studio into 16 feature packages and adds opt-in Core hosting.

  • Studio features are delivered as separate libraries with shared component contracts.
  • The host serves enabled feature modules through a versioned manifest and shared import map.
  • Core can expose React Studio Preview at /studio-preview when enabled.
  • The React Studio build creates module assets before .NET projects compile and pack.
  • The React Studio projects join the repository’s main solution groups.

Reviews (7) · Last reviewed commit: "Merge branch 'codex/8859-react-studio-sd..." · Reviewed by Greptile

Comment thread studio/react/vite.config.ts
Comment thread studio/react/packages/sdk/src/host.ts Outdated

Copy link
Copy Markdown
Member Author

@greptileai Please review the current head. Production preview now runs the ASP.NET host so it serves the import map, manifest and feature assets. Provider boundary recovery preserves its original children plus the diagnostic. Added real-command preview and throwing optional provider browser regressions: all 8 browser tests pass, along with 105 unit tests, lint/types/production asset build and host build.

@greptile-apps

greptile-apps Bot commented Oct 21, 2026

Copy link
Copy Markdown
Contributor

This PR is set for a Plus review. TREX isn't supported with Plus or Apex reviews yet, so Greptile reviews this PR at Base while TREX is on.

@sfmskywalker
sfmskywalker marked this pull request as ready for review October 21, 2026 04:20

Copy link
Copy Markdown
Member Author

@greptileai Please review integrated head 8522f76 after the current-main merge.

Copy link
Copy Markdown
Member Author

@coderabbitai review

Current integrated head: 8522f76

@coderabbitai

coderabbitai Bot commented Oct 21, 2026 •

Copy link
Copy Markdown
⚠️ Action not completed

Review skipped: 435 files exceed the limit of 150.

Note: CodeRabbit is an incremental review system and does not re-review already reviewed commits. This command is applicable only when automatic reviews are paused.

…io-modules

# Conflicts:
#	studio/react/dotnet/modules/Elsa.ReactStudio.WorkflowDefinitions/Client/pages/editor-page.tsx

Copy link
Copy Markdown
Member Author

@greptileai Please review final integrated head 907d613. The latest main is incorporated and the addressed findings are verified and resolved.

Copy link
Copy Markdown
Member Author

@coderabbitai review

Please re-review final integrated head 907d613; verified fixes and latest main are included.

@coderabbitai

coderabbitai Bot commented Oct 21, 2026 •

Copy link
Copy Markdown
⚠️ Action not completed

Review skipped: 435 files exceed the limit of 150.

Note: CodeRabbit is an incremental review system and does not re-review already reviewed commits. This command is applicable only when automatic reviews are paused.

…io-modules

# Conflicts:
#	studio/react/dotnet/modules/Elsa.ReactStudio.Designer/Client/__tests__/switch-slots.test.ts

Copy link
Copy Markdown
Member Author

@greptileai Please review pushed head bd9cb4c. All six latest findings have independently verified fixes and resolved threads, with208unit/28host/49browser checks passing locally.

Copy link
Copy Markdown
Member Author

@coderabbitai review

Please re-review pushed head bd9cb4c; the six latest verified fixes have landed and prior threads are resolved.

@coderabbitai

coderabbitai Bot commented Oct 21, 2026 •

Copy link
Copy Markdown
⚠️ Action not completed

Review skipped: 435 files exceed the limit of 150.

Note: CodeRabbit is an incremental review system and does not re-review already reviewed commits. This command is applicable only when automatic reviews are paused.

Base automatically changed from codex/8859-react-studio-sdk to main October 21, 2026 21:04
@sfmskywalker sfmskywalker mentioned this pull request Oct 21, 2026
20 of 24 tasks

Copy link
Copy Markdown
Member Author

User-authorized self-review for #8859.

APPROVE + HIGH @ bd9cb4c

Reviewed feature-delivered Razor class libraries, embedded ESM/CSS, public-package-only boundaries, feature enable/disable behavior, the aggregate and standalone host, and the off-by-default Core integration. Actual Core/RCL validation covers login, workflow creation, designer rendering, saved deep-link reload and cleanup.

The final adaptation source passes 227 unit, 28 hosting and 49 browser tests, lint/types, module-boundary and localization checks, and builds for net8/net9/net10. The final six findings and subsequent expression-alias/index and cached-culture findings were fixed with regression coverage before this merge.

At merge time, current-head CI is green, Greptile is 5/5 on this exact head, and the exhaustive stack thread audit records zero unresolved findings. This is an author self-review under the task owner's explicit standing self-review/self-merge authority, not an independent approval. Use the standard head-matched merge into main without changing protection or using an admin bypass.

@sfmskywalker
sfmskywalker merged commit 3ee502b into main Oct 21, 2026
29 of 36 checks passed
@sfmskywalker
sfmskywalker deleted the codex/8859-react-studio-modules branch October 21, 2026 21:26
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant