diff --git a/docs/reference/react-performance-audit.md b/docs/reference/react-performance-audit.md index f03eb132e..452469b7f 100644 --- a/docs/reference/react-performance-audit.md +++ b/docs/reference/react-performance-audit.md @@ -49,7 +49,7 @@ Initial inventory: Current count after low-risk PRs #3038, #3041, #3042, #3044, #3051, #3052, #3053, #3054, #3055, #3056, #3058, #3059, #3060, #3062, #3063, #3064, #3065, #3066, #3067, #3068, #3069, #3083, #3087, #3091, #3100, #3104, and #3122: 926 Effect hook call sites. -Open medium-risk PRs #3070, #3073, #3077, #3089, #3093, #3102, #3108, #3110, #3112, #3118, #3124, #3126, #3128, #3130, and #3132 each project to 925 Effect hook call sites on the current merged baseline; open medium-risk PRs #3097, #3106, #3116, and #3120 each project to 924; open medium-risk PR #3114 projects to 923; open medium-risk PR #3095 projects to 922; open medium-risk PR #3079 projects to 916; open high-risk PR #3075 projects to 922; and open high-risk PR #3081 projects to 918. These are not counted in the merged baseline until reviewed and merged. +Open medium-risk PRs #3070, #3073, #3077, #3089, #3093, #3102, #3108, #3110, #3112, #3118, #3124, #3126, #3128, #3130, #3132, and #3134 each project to 925 Effect hook call sites on the current merged baseline; open medium-risk PRs #3097, #3106, #3116, and #3120 each project to 924; open medium-risk PR #3114 projects to 923; open medium-risk PR #3095 projects to 922; open medium-risk PR #3079 projects to 916; open high-risk PR #3075 projects to 922; and open high-risk PR #3081 projects to 918. These are not counted in the merged baseline until reviewed and merged. | Area | Files / signal | Scan status | Notes | | ------------------------------ | -------------------------------------------------------------------------------------------------------- | --------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------- | @@ -57,7 +57,7 @@ Open medium-risk PRs #3070, #3073, #3077, #3089, #3093, #3102, #3108, #3110, #31 | Terminal / PTY | `components/Terminal.tsx`, `components/terminal-pane/**`, `components/terminal/**` | Inventory complete, manual review pending | High-risk area: xterm lifecycle, scrollback, remote/mobile parity, focus, WebGL, resize. | | Browser pane | `components/browser-pane/**` | Inventory complete, manual review in progress | Highest Effect density: 62 sites in `BrowserPane.tsx`. Browser ref mirrors covered by #3081; continue with driver sync, address bar derived state, find state, webview lifetime. | | Editor / markdown / Monaco | `components/editor/**` | Inventory complete, manual review in progress | Untitled rename reset covered by #3083; copy feedback timers covered by #3097; combined diff local state repairs covered by #3120. Check editor model cleanup, preview scroll restore, search debounce, generated decorations. | -| Sidebar / worktrees | `components/sidebar/**` | Inventory complete, manual review in progress | Orca hook trust checkbox reset covered by #3089. Continue with worktree list state repair, drag/drop global listeners, kanban pointer flows. | +| Sidebar / worktrees | `components/sidebar/**` | Inventory complete, manual review in progress | Orca hook trust checkbox reset covered by #3089; delete dialog one-shot checkbox reset covered by #3134. Continue with worktree list state repair, drag/drop global listeners, kanban pointer flows. | | Right sidebar / source control | `components/right-sidebar/**` | Inventory complete, manual review pending | Check polling, PR checks, file explorer watch/reveal, source-control local resets. Git provider compatibility required. | | Settings | `components/settings/**` | Inventory complete, manual review in progress | Repository hook local editor visibility covered by #3093; lazy section mounted-state bookkeeping covered by #3128. Continue with draft mirrors while keeping SSH and cross-platform settings behavior intact. | | Automations | `components/automations/**` | Inventory complete, manual review in progress | Combobox open-focus Effects covered by #3100; run-history selection repair covered by #3104; external run-table selection repair covered by #3102; detail-page selection resets covered by #3106; create-from branch search reset covered by #3132. Continue with draft defaulting, polling, and completion detection. | @@ -134,6 +134,7 @@ These are candidate batches, not final conclusions. Each item needs code inspect | PR BE | Settings lazy-section mounted state | Settings remembered newly needed lazy sections in an Effect after search/navigation changed the visible set. | `Settings.tsx` covered by #3128 | Medium | | PR BF | Linear title/description draft sync | Linear issue title and description drafts were synced from source issue data in an Effect after item or field updates. | `LinearIssueTextEditor.tsx` covered by #3130 | Medium | | PR BG | Automations create-from branch search | Create-from branch search query/results were cleared in an Effect after the selected repo changed. | `CreateFromPicker.tsx` covered by #3132 | Medium | +| PR BH | Delete dialog one-shot confirmation | The delete-workspace "don't ask again" checkbox was reset in an Effect after the dialog closed. | `DeleteWorktreeDialog.tsx` covered by #3134 | Medium | ## Merge Risk Scale @@ -198,6 +199,7 @@ These are candidate batches, not final conclusions. Each item needs code inspect | #3128 | `nwparker/react-perf-settings-mounted-sections` | Settings lazy-section mounted bookkeeping moves out of an Effect | Medium | Open | `pnpm exec oxlint src/renderer/src/components/settings/Settings.tsx`; `pnpm run typecheck:web`; `git diff --check`; AST Effect count 926 -> 925. | | #3130 | `nwparker/react-perf-linear-text-drafts` | Linear title/description draft sync moves out of an Effect | Medium | Open | `pnpm exec oxlint src/renderer/src/components/LinearIssueTextEditor.tsx`; `pnpm run typecheck:web`; `git diff --check`; AST Effect count 926 -> 925. | | #3132 | `nwparker/react-perf-create-from-search` | Automations create-from branch search reset moves out of an Effect | Medium | Open | `pnpm exec oxlint src/renderer/src/components/automations/CreateFromPicker.tsx`; `pnpm run typecheck:web`; `git diff --check`; AST Effect count 926 -> 925. | +| #3134 | `nwparker/react-perf-delete-worktree-confirm` | Delete-workspace one-shot confirmation checkbox reset moves out of an Effect | Medium | Open | `pnpm exec oxlint src/renderer/src/components/sidebar/DeleteWorktreeDialog.tsx`; `pnpm run typecheck:web`; `git diff --check`; AST Effect count 926 -> 925. | ## Reproduction Commands