Thanks to visit codestin.com
Credit goes to github.com

Skip to content

perf: Slice terminal rendering to mounted worktrees#2617

Open
nwparker wants to merge 1 commit into
mainfrom
nwparker/perf-s16-terminal-mounted-worktrees
Open

perf: Slice terminal rendering to mounted worktrees#2617
nwparker wants to merge 1 commit into
mainfrom
nwparker/perf-s16-terminal-mounted-worktrees

Conversation

@nwparker
Copy link
Copy Markdown
Contributor

Summary

  • Narrow App, Terminal, and floating terminal subscriptions to active/mounted worktree slices.
  • Add pure projection helpers and tests for mounted worktrees, terminal/browser tabs, browser-pane worktree IDs, and open-file slices.
  • Keep TerminalPane/split-surface PTY mounts gated on workspaceSessionReady while preserving active restored browser tabs before PTY reconnect completes.

UX / Risk

  • No user-visible status freshness paths are changed: Source Control, ChecksPanel, hosted review refresh, and provider IPC are untouched.
  • Terminal shortcut policy and shortcut-capture notifications are untouched.
  • PTY transport, SSH transport, runtime RPC, and terminal restart persistence are untouched.
  • BrowserPane pre-ready rendering is browser-only and does not spawn PTYs.

Verification

  • pnpm exec vitest run --config config/vitest.config.ts src/renderer/src/components/terminal/terminal-mounted-worktrees.test.ts src/renderer/src/components/terminal/terminal-tab-slices.test.ts src/renderer/src/components/terminal/terminal-browser-tab-slices.test.ts src/renderer/src/components/terminal/terminal-browser-pane-worktrees.test.ts src/renderer/src/components/terminal/active-worktree-open-files.test.ts src/renderer/src/components/floating-terminal/floating-terminal-open-files.test.ts src/renderer/src/components/floating-terminal/FloatingTerminalPanel.test.tsx src/renderer/src/components/terminal/background-terminal-worktree-mount.test.ts src/renderer/src/components/terminal/split-group-mount.test.ts src/renderer/src/components/terminal/active-terminal-repair.test.ts src/renderer/src/components/terminal/terminal-tab-actions.test.ts src/renderer/src/components/tab-group/TabGroupSplitLayout.test.ts src/renderer/src/components/terminal-pane/terminal-live-layout-reconciliation.test.ts src/renderer/src/components/terminal-pane/pty-connection.test.ts src/renderer/src/runtime/sync-runtime-graph-terminal-layout.test.ts
  • pnpm exec oxlint src/renderer/src/App.tsx src/renderer/src/components/Terminal.tsx src/renderer/src/components/floating-terminal/FloatingTerminalPanel.tsx src/renderer/src/components/terminal/terminal-mounted-worktrees.ts src/renderer/src/components/terminal/terminal-mounted-worktrees.test.ts src/renderer/src/components/terminal/terminal-tab-slices.ts src/renderer/src/components/terminal/terminal-tab-slices.test.ts src/renderer/src/components/terminal/terminal-browser-tab-slices.ts src/renderer/src/components/terminal/terminal-browser-tab-slices.test.ts src/renderer/src/components/terminal/terminal-browser-pane-worktrees.ts src/renderer/src/components/terminal/terminal-browser-pane-worktrees.test.ts src/renderer/src/components/terminal/active-worktree-open-files.ts src/renderer/src/components/terminal/active-worktree-open-files.test.ts src/renderer/src/components/floating-terminal/floating-terminal-open-files.ts src/renderer/src/components/floating-terminal/floating-terminal-open-files.test.ts
  • pnpm typecheck
  • pnpm test
  • pnpm exec electron-vite build --mode e2e
  • SKIP_BUILD=1 pnpm exec playwright test tests/e2e/terminal-panes.spec.ts tests/e2e/terminal-typing-latency.spec.ts tests/e2e/terminal-shortcuts.spec.ts tests/e2e/terminal-restart-persistence.spec.ts tests/e2e/browser-tab.spec.ts tests/e2e/tabs.spec.ts --config tests/playwright.config.ts --project electron-headless
  • git diff --check

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