Skip to content

feat(ui): load right panel plugin manifests#617

Open
pascalandr wants to merge 1 commit into
feat/right-panel-customizationfrom
feat/right-panel-plugin-manifest
Open

feat(ui): load right panel plugin manifests#617
pascalandr wants to merge 1 commit into
feat/right-panel-customizationfrom
feat/right-panel-plugin-manifest

Conversation

@pascalandr

Copy link
Copy Markdown
Contributor

Summary

  • Add a typed right-panel plugin manifest loader.
  • Let bundled plugin manifests contribute right-panel tabs and Status sections through the existing registry.
  • Run onLoad/onUnload lifecycle hooks when the RightPanel mounts/unmounts.
  • Keep the manifest list explicit and empty by default; no arbitrary external code loading in this PR.

Stacking

Validation

  • npm exec --no -- tsx --test packages/ui/src/components/instance/shell/right-panel/plugin-manifest.test.ts packages/ui/src/components/instance/shell/right-panel/registry.test.ts
  • npm run typecheck --workspace @codenomad/ui
  • git diff --check
  • npm run build --workspace @codenomad/ui
  • final gatekeeper pass: no findings

@pascalandr

Copy link
Copy Markdown
Contributor Author

Stack note: this is intentionally based on feat/right-panel-customization so the diff only contains the manifest/lifecycle loader. The repository restrict-non-dev-prs workflow currently blocks non-dev base branches for authors outside ALLOWED_NON_DEV_PR_ACTORS, so CI is skipped until #615 merges and this PR is retargeted to dev, or the allowlist includes this author.

@pascalandr
pascalandr force-pushed the feat/right-panel-plugin-manifest branch from 1d1da61 to a082456 Compare July 25, 2026 10:43
@pascalandr

pascalandr commented Jul 25, 2026

Copy link
Copy Markdown
Contributor Author

Rebased on the updated #615 branch after the right-panel customization popover UX change. Manifest loader diff remains stacked and clean.

Validation after rebase:

  • npm exec --no -- tsx --test packages/ui/src/components/instance/shell/right-panel/plugin-manifest.test.ts packages/ui/src/components/instance/shell/right-panel/registry.test.ts
  • npm run typecheck --workspace @codenomad/ui
  • git diff --check
  • npm run build --workspace @codenomad/ui
  • final gatekeeper pass: no findings

Add a typed manifest loader for right-panel plugins so bundled modules can contribute tabs and Status sections through the registry introduced by the stacked customization PR.

The loader runs deterministic onLoad/onUnload lifecycle hooks, skips duplicate or failed manifests without blocking other plugins, and keeps the plugin list explicit for now to avoid arbitrary code loading or marketplace behavior in this step.

Validated with focused manifest and registry tests, UI typecheck, whitespace check, UI build, and a final gatekeeper pass.
@pascalandr
pascalandr force-pushed the feat/right-panel-plugin-manifest branch from a082456 to a7eee0e Compare July 25, 2026 11:06
@pascalandr

Copy link
Copy Markdown
Contributor Author

Update: rebased this stacked branch on the latest feat/right-panel-customization and force-with-lease pushed a7eee0e.
Validation passed after rebase:

  • npm exec --no -- tsx --test packages/ui/src/components/instance/shell/right-panel/plugin-manifest.test.ts
  • npm exec --no -- tsx --test packages/ui/src/components/instance/shell/right-panel/registry.test.ts
  • npm run typecheck --workspace @codenomad/ui
  • npm run build --workspace @codenomad/ui
  • git diff --check
    Expected CI note: restrict-non-dev-prs still blocks this stacked PR while its base is not dev.

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