@@ -435,12 +435,9 @@ pub async fn diff_flow_setup_states(
435435 . await ?;
436436
437437 let desired_state = target_states_group. desired . clone ( ) ;
438- let desired_target_state = target_states_group
439- . desired
440- . and_then ( |state| ( !state. common . setup_by_user ) . then_some ( state. state ) ) ;
441438 let has_tracked_state_change = target_states_group
442439 . existing
443- . has_state_diff ( desired_target_state . as_ref ( ) , |s| & s. state )
440+ . has_state_diff ( desired_state . as_ref ( ) . map ( |s| & s . state ) , |s| & s. state )
444441 || attachments_change. has_tracked_state_change ;
445442 let existing_without_setup_by_user = CombinedState {
446443 current : target_states_group
@@ -460,7 +457,10 @@ pub async fn diff_flow_setup_states(
460457 . collect ( ) ,
461458 legacy_state_key : target_states_group. existing . legacy_state_key . clone ( ) ,
462459 } ;
463- let never_setup_by_sys = desired_target_state. is_none ( )
460+ let target_state_to_setup = target_states_group
461+ . desired
462+ . and_then ( |state| ( !state. common . setup_by_user ) . then_some ( state. state ) ) ;
463+ let never_setup_by_sys = target_state_to_setup. is_none ( )
464464 && existing_without_setup_by_user. current . is_none ( )
465465 && existing_without_setup_by_user. staging . is_empty ( ) ;
466466 let setup_change = if never_setup_by_sys {
@@ -470,7 +470,7 @@ pub async fn diff_flow_setup_states(
470470 target_change : factory
471471 . diff_setup_states (
472472 & resource_id. key ,
473- desired_target_state ,
473+ target_state_to_setup ,
474474 existing_without_setup_by_user,
475475 flow_instance_ctx. clone ( ) ,
476476 )
0 commit comments