From f8600e50f12d79f896f697c310b262f65471276a Mon Sep 17 00:00:00 2001 From: Neil <4138956+nwparker@users.noreply.github.com> Date: Fri, 29 May 2026 06:08:30 -0700 Subject: [PATCH] Document general settings draft cleanup (#3139) --- docs/reference/react-performance-audit.md | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/docs/reference/react-performance-audit.md b/docs/reference/react-performance-audit.md index 118176195..6661bc8c8 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, #3132, and #3134 each project to 925 Effect hook call sites on the current merged baseline; open medium-risk PRs #3097, #3106, #3116, #3120, and #3136 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, #3120, #3136, and #3138 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 | | ------------------------------ | -------------------------------------------------------------------------------------------------------- | --------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------- | @@ -59,7 +59,7 @@ Open medium-risk PRs #3070, #3073, #3077, #3089, #3093, #3102, #3108, #3110, #31 | 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; 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; browser home/Kagi draft sync covered by #3136. Continue with draft mirrors while keeping SSH and cross-platform settings behavior intact. | +| 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; browser home/Kagi draft sync covered by #3136; general auto-save/Open In draft sync covered by #3138. 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. | | Issue, PR, task pages | `TaskPage.tsx`, `PullRequestPage.tsx`, `GitHubItemDialog.tsx`, `GitLabItemDialog.tsx`, Linear components | Inventory complete, manual review in progress | Linear estimate input sync covered by #3108; Linear sub-issue list sync covered by #3110; GitHub project date draft sync covered by #3112; GitHub reviewer-picker active index covered by #3114; GitHub project column state covered by #3116; GitLab comment draft reset covered by #3124; Linear title/description draft sync covered by #3130. Continue large-file scan with separate GitHub, GitLab, Linear, and generic review behavior. | | Onboarding / feature wall | `components/onboarding/**`, `components/feature-wall/**` | Inventory complete, manual review in progress | Select portal root Effects covered by #3087; tour visited-marker Effects covered by #3095. Continue with demo timers and telemetry while avoiding telemetry semantic changes. | @@ -136,6 +136,7 @@ These are candidate batches, not final conclusions. Each item needs code inspect | 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 | | PR BI | Browser settings text drafts | Browser home-page and Kagi session-link drafts were synced from persisted settings in Effects after source changes. | `BrowserPane.tsx`, `KagiSessionLinkForm.tsx` covered by #3136 | Medium | +| PR BJ | General settings drafts | Auto-save delay and Open In launcher drafts were synced from persisted settings in Effects after source changes. | `GeneralPane.tsx` covered by #3138 | Medium | ## Merge Risk Scale @@ -202,6 +203,7 @@ These are candidate batches, not final conclusions. Each item needs code inspect | #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. | | #3136 | `nwparker/react-perf-browser-settings-drafts` | Browser home-page and Kagi session-link draft sync moves out of Effects | Medium | Open | `pnpm exec oxlint src/renderer/src/components/settings/BrowserPane.tsx src/renderer/src/components/settings/KagiSessionLinkForm.tsx`; `pnpm run typecheck:web`; `git diff --check`; AST Effect count 926 -> 924. | +| #3138 | `nwparker/react-perf-general-settings-drafts` | General auto-save delay and Open In launcher draft sync moves out of Effects | Medium | Open | `pnpm exec oxlint src/renderer/src/components/settings/GeneralPane.tsx`; `pnpm exec vitest run --config config/vitest.config.ts src/renderer/src/components/settings/GeneralPane.test.ts`; `pnpm run typecheck:web`; `git diff --check`; AST Effect count 926 -> 924. | ## Reproduction Commands