@@ -289,16 +289,8 @@ function ProjectDetail({
289289 savingBrowserAccessRef . current = true ;
290290 setSavingBrowserAccess ( true ) ;
291291 try {
292- if ( key === "projectAutoPullOverrides" && enabled === undefined ) {
293- const result = await updateAllMembers (
294- { autoPull : false } ,
295- "Failed to reset automatic pull" ,
296- ) ;
297- if ( result . _tag === "Failure" ) return ;
298- }
299- for ( const environmentId of new Set (
300- group . memberProjects . map ( ( member ) => member . environmentId ) ,
301- ) ) {
292+ const environmentIds = new Set ( group . memberProjects . map ( ( member ) => member . environmentId ) ) ;
293+ for ( const environmentId of environmentIds ) {
302294 const environment = environmentById . get ( environmentId ) ;
303295 if ( ! environment ?. serverConfig || environment . connection . phase !== "connected" ) {
304296 toastManager . add ( {
@@ -308,6 +300,15 @@ function ProjectDetail({
308300 } ) ;
309301 return ;
310302 }
303+ }
304+ if ( key === "projectAutoPullOverrides" && enabled === undefined ) {
305+ const result = await updateAllMembers (
306+ { autoPull : false } ,
307+ "Failed to reset automatic pull" ,
308+ ) ;
309+ if ( result . _tag === "Failure" ) return ;
310+ }
311+ for ( const environmentId of environmentIds ) {
311312 const overrides = Object . fromEntries (
312313 group . memberProjects
313314 . filter ( ( member ) => member . environmentId === environmentId )
@@ -317,7 +318,13 @@ function ProjectDetail({
317318 environmentId,
318319 input : { patch : { [ key ] : overrides } } ,
319320 } ) ;
320- if ( result . _tag === "Failure" ) return ;
321+ if ( result . _tag === "Failure" ) {
322+ reportFailure (
323+ `Failed to save project setting on ${ environmentById . get ( environmentId ) ?. label ?? "this machine" } ` ,
324+ mapAtomCommandResult ( result , ( ) => undefined ) ,
325+ ) ;
326+ return ;
327+ }
321328 }
322329 } finally {
323330 savingBrowserAccessRef . current = false ;
0 commit comments