Skip to content

Commit 9d2336e

Browse files
authored
fix: correctly diff states for setup-by-users targets (#1369)
1 parent dd17870 commit 9d2336e

File tree

1 file changed

+6
-6
lines changed

1 file changed

+6
-6
lines changed

rust/cocoindex/src/setup/driver.rs

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -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

Comments
 (0)