Skip to content

fix(runtime): preserve panel state in sidebar - #360

Merged
V3RON merged 1 commit into
mainfrom
fix/shell-preserve-panel-state
Aug 5, 2026
Merged

fix(runtime): preserve panel state in sidebar#360
V3RON merged 1 commit into
mainfrom
fix/shell-preserve-panel-state

Conversation

@V3RON

@V3RON V3RON commented Aug 5, 2026

Copy link
Copy Markdown
Contributor

Description

Preserves plugin panel state when navigating within the unified Rozenite sidebar, while continuing to reset plugins configured with destroyOnDetachPlugins.

Related Issue

None — no issue required for this focused fix.

Context

The sidebar previously replaced its single iframe whenever the active menu item changed, so every plugin lost its UI state. The shell now keeps default plugin frames mounted and hides inactive ones; configured plugins still unmount on navigation. Runtime messages are relayed to every mounted frame, matching the legacy hidden-tab behavior.

Testing

  • pnpm --filter @rozenite/runtime build
  • pnpm --filter @rozenite/shell build
  • pnpm --filter @rozenite/runtime typecheck
  • pnpm --filter @rozenite/shell typecheck
  • pnpm --filter @rozenite/shell lint
  • pnpm exec prettier --check .changeset/persistent-sidebar-panels.md packages/runtime/src/index.ts packages/shell/src/Shell.tsx packages/shell/src/main.tsx packages/shell/src/types.ts
  • pnpm release:plan

pnpm format:all is blocked by existing unformatted files under tracked .claude/worktrees directories. The aggregate typecheck encountered a transient runtime declaration-build race; the focused runtime and shell checks above pass serially.

Keep sidebar plugin frames mounted by default and honor destroyOnDetachPlugins.
@V3RON
V3RON merged commit 893f238 into main Aug 5, 2026
4 checks passed
@V3RON
V3RON deleted the fix/shell-preserve-panel-state branch August 5, 2026 14:29
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