@@ -23,6 +23,7 @@ export const AutoApproveDropdown = ({ disabled = false, triggerClassName = "" }:
2323
2424	const  { 
2525		autoApprovalEnabled, 
26+ 		browserToolEnabled, 
2627		setAutoApprovalEnabled, 
2728		alwaysApproveResubmit, 
2829		setAlwaysAllowReadOnly, 
@@ -109,23 +110,31 @@ export const AutoApproveDropdown = ({ disabled = false, triggerClassName = "" }:
109110	) 
110111
111112	const  handleSelectAll  =  React . useCallback ( ( )  =>  { 
112- 		// Enable all options 
113- 		Object . keys ( autoApproveSettingsConfig ) . forEach ( ( key )  =>  { 
113+ 		// Enable all visible options based on current browser tool setting 
114+ 		const  keys  =  browserToolEnabled 
115+ 			? Object . keys ( autoApproveSettingsConfig ) 
116+ 			: Object . keys ( autoApproveSettingsConfig ) . filter ( ( k )  =>  k  !==  "alwaysAllowBrowser" ) 
117+ 
118+ 		keys . forEach ( ( key )  =>  { 
114119			onAutoApproveToggle ( key  as  AutoApproveSetting ,  true ) 
115120		} ) 
116121		// Enable master auto-approval 
117122		if  ( ! autoApprovalEnabled )  { 
118123			setAutoApprovalEnabled ( true ) 
119124			vscode . postMessage ( {  type : "autoApprovalEnabled" ,  bool : true  } ) 
120125		} 
121- 	} ,  [ onAutoApproveToggle ,  autoApprovalEnabled ,  setAutoApprovalEnabled ] ) 
126+ 	} ,  [ onAutoApproveToggle ,  autoApprovalEnabled ,  setAutoApprovalEnabled ,   browserToolEnabled ] ) 
122127
123128	const  handleSelectNone  =  React . useCallback ( ( )  =>  { 
124- 		// Disable all options 
125- 		Object . keys ( autoApproveSettingsConfig ) . forEach ( ( key )  =>  { 
129+ 		// Disable all visible options based on current browser tool setting 
130+ 		const  keys  =  browserToolEnabled 
131+ 			? Object . keys ( autoApproveSettingsConfig ) 
132+ 			: Object . keys ( autoApproveSettingsConfig ) . filter ( ( k )  =>  k  !==  "alwaysAllowBrowser" ) 
133+ 
134+ 		keys . forEach ( ( key )  =>  { 
126135			onAutoApproveToggle ( key  as  AutoApproveSetting ,  false ) 
127136		} ) 
128- 	} ,  [ onAutoApproveToggle ] ) 
137+ 	} ,  [ onAutoApproveToggle ,   browserToolEnabled ] ) 
129138
130139	const  handleOpenSettings  =  React . useCallback ( 
131140		( )  => 
@@ -143,21 +152,29 @@ export const AutoApproveDropdown = ({ disabled = false, triggerClassName = "" }:
143152	// Calculate enabled and total counts as separate properties 
144153	const  settingsArray  =  Object . values ( autoApproveSettingsConfig ) 
145154
155+ 	// Filter out Browser toggle when browser tool is disabled 
156+ 	const  visibleSettingsArray  =  React . useMemo ( 
157+ 		( )  =>  settingsArray . filter ( ( s )  =>  browserToolEnabled  ||  s . key  !==  "alwaysAllowBrowser" ) , 
158+ 		[ settingsArray ,  browserToolEnabled ] , 
159+ 	) 
160+ 
161+ 	const  visibleKeys  =  React . useMemo ( ( )  =>  visibleSettingsArray . map ( ( s )  =>  s . key ) ,  [ visibleSettingsArray ] ) 
162+ 
146163	const  enabledCount  =  React . useMemo ( ( )  =>  { 
147- 		return  Object . values ( toggles ) . filter ( ( value )  =>  ! ! value ) . length 
148- 	} ,  [ toggles ] ) 
164+ 		return  visibleKeys . filter ( ( key )  =>  ! ! toggles [ key   as   keyof   typeof   toggles ] ) . length 
165+ 	} ,  [ visibleKeys ,   toggles ] ) 
149166
150167	const  totalCount  =  React . useMemo ( ( )  =>  { 
151- 		return  Object . keys ( toggles ) . length 
152- 	} ,  [ toggles ] ) 
168+ 		return  visibleKeys . length 
169+ 	} ,  [ visibleKeys ] ) 
153170
154171	const  {  effectiveAutoApprovalEnabled }  =  useAutoApprovalState ( toggles ,  autoApprovalEnabled ) 
155172
156173	const  tooltipText  = 
157174		! effectiveAutoApprovalEnabled  ||  enabledCount  ===  0 
158175			? t ( "chat:autoApprove.tooltipManage" ) 
159176			: t ( "chat:autoApprove.tooltipStatus" ,  { 
160- 					toggles : settingsArray 
177+ 					toggles : visibleSettingsArray 
161178						. filter ( ( setting )  =>  toggles [ setting . key ] ) 
162179						. map ( ( setting )  =>  t ( setting . labelKey ) ) 
163180						. join ( ", " ) , 
@@ -216,7 +233,7 @@ export const AutoApproveDropdown = ({ disabled = false, triggerClassName = "" }:
216233						</ p > 
217234					</ div > 
218235					< div  className = "grid grid-cols-1 min-[340px]:grid-cols-2 gap-x-2 gap-y-2 p-3" > 
219- 						{ settingsArray . map ( ( {  key,  labelKey,  descriptionKey,  icon } )  =>  { 
236+ 						{ visibleSettingsArray . map ( ( {  key,  labelKey,  descriptionKey,  icon } )  =>  { 
220237							const  isEnabled  =  toggles [ key ] 
221238							return  ( 
222239								< StandardTooltip  key = { key }  content = { t ( descriptionKey ) } > 
0 commit comments