claude-code-best/src/hooks
18243133 b67e9f9d38
Fix/plan paste fixes (#1238)
* fix: 降低 paste 检测阈值,修复非 bracketed-paste 终端粘贴文本损坏

非 bracketed-paste 终端下,短粘贴(<800 chars)的 stdin chunk 作为独立
keystroke 走 useTextInput.onInput 路径,闭包中 cursor 未刷新导致多次插入
竞态。现将 ≥3 字符的非特殊键输入纳入 paste 累积模式,绕过逐 chunk 处理。

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>

* @
fix: Plan模式三处缺陷修复 — ExploreAgent可用性 + 弹窗一致性 + 方案文件保护

1. areExplorePlanAgentsEnabled()移除GrowthBook A/B实验依赖(tengu_amber_stoat),
   始终返回true,确保Explore/Plan agent在BUILTIN_EXPLORE_PLAN_AGENTS开启时始终可用

2. ExitPlanMode clear-context路径补setNeedsPlanModeExitAttachment(true),
   确保清除上下文退出Plan模式后生成plan_mode_exit附件

3. Plan mode full/sparse指令强化Plan文件读取要求:
   "can read" -> "MUST use FileRead to read first before any changes",
   新增"do NOT overwrite"禁止覆盖,Phase 1指令强化并行Explore Agent引导

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
@

---------

Co-authored-by: psj88520 <qq18243133@gmail.com>
Co-authored-by: Claude Opus 4.7 <noreply@anthropic.com>
2026-05-18 21:57:15 +08:00
..
__tests__ style: 完成所有文件的lint 2026-05-01 21:39:30 +08:00
notifs chore: 清理 src 下 113 项未使用导入和死代码 2026-05-05 20:05:15 +08:00
toolPermission style: 完成所有文件的lint 2026-05-01 21:39:30 +08:00
fileSuggestions.ts chore: 清理 src 下 33 项死代码和类型断言 2026-05-05 16:07:30 +08:00
renderPlaceholder.ts fix: resolve dependency audit findings precisely (#361) 2026-04-26 19:49:54 +08:00
unifiedSuggestions.ts feat: 工具层及 mcp 大重构 (#252) 2026-04-13 09:52:05 +08:00
useAfterFirstRender.ts feat: build 2026-03-31 19:22:47 +08:00
useApiKeyVerification.ts feat: build 2026-03-31 19:22:47 +08:00
useArrowKeyHistory.tsx chore: 清理 src 下 113 项未使用导入和死代码 2026-05-05 20:05:15 +08:00
useAssistantHistory.ts Revert "Revert "feat: 第一个可以用的 ink 组件抽象 (#158)" (#175)" 2026-04-07 16:17:48 +08:00
useAwaySummary.ts Feat/integrate lint preview (#285) 2026-04-16 20:59:29 +08:00
useBackgroundAgentTasks.ts Merge pull request #416 from znygugeyx-ctrl/feat/subagent-fork-render 2026-05-06 09:57:52 +08:00
useBackgroundTaskNavigation.ts feat: 远程群控 (#243) 2026-04-11 23:22:55 +08:00
useBlink.ts style: 完成所有文件的lint 2026-05-01 21:39:30 +08:00
useCancelRequest.ts feat: build 2026-03-31 19:22:47 +08:00
useCanUseTool.tsx style: 完成所有文件的lint 2026-05-01 21:39:30 +08:00
useChromeExtensionNotification.tsx chore: 清理 src 下 113 项未使用导入和死代码 2026-05-05 20:05:15 +08:00
useClaudeCodeHintRecommendation.tsx style: 完成所有文件的lint 2026-05-01 21:39:30 +08:00
useClipboardImageHint.ts feat: build 2026-03-31 19:22:47 +08:00
useCommandKeybindings.tsx style: 完成所有文件的lint 2026-05-01 21:39:30 +08:00
useCommandQueue.ts feat: build 2026-03-31 19:22:47 +08:00
useCopyOnSelect.ts Revert "Revert "feat: 第一个可以用的 ink 组件抽象 (#158)" (#175)" 2026-04-07 16:17:48 +08:00
useDeferredHookMessages.ts feat: build 2026-03-31 19:22:47 +08:00
useDiffData.ts feat: build 2026-03-31 19:22:47 +08:00
useDiffInIDE.ts feat: 工具层及 mcp 大重构 (#252) 2026-04-13 09:52:05 +08:00
useDirectConnect.ts style: 完成所有文件的lint 2026-05-01 21:39:30 +08:00
useDoublePress.ts refactor: 大规模迁移原有组件到 ink 包内 2026-04-07 22:26:45 +08:00
useDynamicConfig.ts feat: build 2026-03-31 19:22:47 +08:00
useElapsedTime.ts feat: build 2026-03-31 19:22:47 +08:00
useExitOnCtrlCD.ts Revert "Revert "feat: 第一个可以用的 ink 组件抽象 (#158)" (#175)" 2026-04-07 16:17:48 +08:00
useExitOnCtrlCDWithKeybindings.ts feat: build 2026-03-31 19:22:47 +08:00
useFileHistorySnapshotInit.ts feat: build 2026-03-31 19:22:47 +08:00
useGlobalKeybindings.tsx fix: 修复条件式 hook 调用导致的 "Rendered fewer hooks than expected" 错误 2026-05-08 13:17:25 +08:00
useHistorySearch.ts Revert "Revert "feat: 第一个可以用的 ink 组件抽象 (#158)" (#175)" 2026-04-07 16:17:48 +08:00
useIdeAtMentioned.ts feat: build 2026-03-31 19:22:47 +08:00
useIdeConnectionStatus.ts feat: build 2026-03-31 19:22:47 +08:00
useIDEIntegration.tsx style: 完成所有文件的lint 2026-05-01 21:39:30 +08:00
useIdeLogging.ts feat: build 2026-03-31 19:22:47 +08:00
useIdeSelection.ts feat: build 2026-03-31 19:22:47 +08:00
useInboxPoller.ts Revert "Revert "feat: 第一个可以用的 ink 组件抽象 (#158)" (#175)" 2026-04-07 16:17:48 +08:00
useInputBuffer.ts feat: build 2026-03-31 19:22:47 +08:00
useIssueFlagBanner.ts fix: 修复条件式 hook 调用导致的 "Rendered fewer hooks than expected" 错误 2026-05-08 13:17:25 +08:00
useLogMessages.ts feat: build 2026-03-31 19:22:47 +08:00
useLspPluginRecommendation.tsx style: 完成所有文件的lint 2026-05-01 21:39:30 +08:00
useMailboxBridge.ts feat: build 2026-03-31 19:22:47 +08:00
useMainLoopModel.ts feat: build 2026-03-31 19:22:47 +08:00
useManagePlugins.ts style: 完成所有文件的lint 2026-05-01 21:39:30 +08:00
useMasterMonitor.ts style: 完成所有文件的lint 2026-05-01 21:39:30 +08:00
useMemoryUsage.ts feat: build 2026-03-31 19:22:47 +08:00
useMergedClients.ts feat: build 2026-03-31 19:22:47 +08:00
useMergedCommands.ts feat: build 2026-03-31 19:22:47 +08:00
useMergedTools.ts chore: 清理 src 下 113 项未使用导入和死代码 2026-05-05 20:05:15 +08:00
useMinDisplayTime.ts refactor: 大规模迁移原有组件到 ink 包内 2026-04-07 22:26:45 +08:00
useNotifyAfterTimeout.ts Revert "Revert "feat: 第一个可以用的 ink 组件抽象 (#158)" (#175)" 2026-04-07 16:17:48 +08:00
useOfficialMarketplaceNotification.tsx chore: 清理 src 下 113 项未使用导入和死代码 2026-05-05 20:05:15 +08:00
usePasteHandler.ts Fix/plan paste fixes (#1238) 2026-05-18 21:57:15 +08:00
usePipeIpc.ts style: 完成所有文件的lint 2026-05-01 21:39:30 +08:00
usePipeMuteSync.ts style: 完成所有文件的lint 2026-05-01 21:39:30 +08:00
usePipePermissionForward.ts Feat/integrate lint preview (#285) 2026-04-16 20:59:29 +08:00
usePipeRelay.ts style: 完成所有文件的lint 2026-05-01 21:39:30 +08:00
usePipeRouter.ts feat: 远程群控 (#243) 2026-04-11 23:22:55 +08:00
usePluginRecommendationBase.tsx style: 完成所有文件的lint 2026-05-01 21:39:30 +08:00
usePromptsFromClaudeInChrome.tsx style: 完成所有文件的lint 2026-05-01 21:39:30 +08:00
usePromptSuggestion.ts Revert "Revert "feat: 第一个可以用的 ink 组件抽象 (#158)" (#175)" 2026-04-07 16:17:48 +08:00
usePrStatus.ts feat: build 2026-03-31 19:22:47 +08:00
useQueueProcessor.ts feat: build 2026-03-31 19:22:47 +08:00
useRemoteSession.ts style: 完成所有文件的lint 2026-05-01 21:39:30 +08:00
useReplBridge.tsx docs: 添加 ToolSearch 设计指南 + 禁用 turn-zero 工具推荐弹窗 2026-05-09 16:45:56 +08:00
useScheduledTasks.ts style: 完成所有文件的lint 2026-05-01 21:39:30 +08:00
useSearchExtraToolsHint.ts docs: 添加 ToolSearch 设计指南 + 禁用 turn-zero 工具推荐弹窗 2026-05-09 16:45:56 +08:00
useSearchInput.ts Revert "Revert "feat: 第一个可以用的 ink 组件抽象 (#158)" (#175)" 2026-04-07 16:17:48 +08:00
useSessionBackgrounding.ts feat: build 2026-03-31 19:22:47 +08:00
useSettings.ts feat: build 2026-03-31 19:22:47 +08:00
useSettingsChange.ts feat: build 2026-03-31 19:22:47 +08:00
useSkillImprovementSurvey.ts feat: build 2026-03-31 19:22:47 +08:00
useSkillsChange.ts feat: build 2026-03-31 19:22:47 +08:00
useSlaveNotifications.ts feat: 远程群控 (#243) 2026-04-11 23:22:55 +08:00
useSSHSession.ts chore: 清理 src 下 113 项未使用导入和死代码 2026-05-05 20:05:15 +08:00
useSwarmInitialization.ts feat: build 2026-03-31 19:22:47 +08:00
useSwarmPermissionPoller.ts feat: build 2026-03-31 19:22:47 +08:00
useTaskListWatcher.ts feat: build 2026-03-31 19:22:47 +08:00
useTasksV2.ts feat: build 2026-03-31 19:22:47 +08:00
useTeammateViewAutoExit.ts feat: build 2026-03-31 19:22:47 +08:00
useTeleportResume.tsx style: 完成所有文件的lint 2026-05-01 21:39:30 +08:00
useTerminalSize.ts refactor: 大规模迁移原有组件到 ink 包内 2026-04-07 22:26:45 +08:00
useTextInput.ts feat: 添加服务层增强与零散改进 2026-04-22 22:38:10 +08:00
useTimeout.ts refactor: 大规模迁移原有组件到 ink 包内 2026-04-07 22:26:45 +08:00
useTurnDiffs.ts feat: 工具层及 mcp 大重构 (#252) 2026-04-13 09:52:05 +08:00
useTypeahead.tsx chore: 清理 src 下 113 项未使用导入和死代码 2026-05-05 20:05:15 +08:00
useUpdateNotification.ts fix: 修复条件式 hook 调用导致的 "Rendered fewer hooks than expected" 错误 2026-05-08 13:17:25 +08:00
useVimInput.ts Revert "Revert "feat: 第一个可以用的 ink 组件抽象 (#158)" (#175)" 2026-04-07 16:17:48 +08:00
useVirtualScroll.ts docs: 合并性能分析报告并优化内存管理 2026-05-02 09:11:12 +08:00
useVoice.ts style: 完成所有文件的lint 2026-05-01 21:39:30 +08:00
useVoiceEnabled.ts feat: 集成豆包 ASR 语音识别后端,支持 /voice doubao 切换 (#357) 2026-04-25 13:57:30 +08:00
useVoiceIntegration.tsx fix: 修复条件式 hook 调用导致的 "Rendered fewer hooks than expected" 错误 2026-05-08 13:17:25 +08:00