diff --git a/lib/features/assistant/assistant_page_composer_bar.dart b/lib/features/assistant/assistant_page_composer_bar.dart index 6b5e2b2d..5ae26433 100644 --- a/lib/features/assistant/assistant_page_composer_bar.dart +++ b/lib/features/assistant/assistant_page_composer_bar.dart @@ -358,13 +358,16 @@ class ComposerBarStateInternal extends State { final visibleExecutionTargets = controller.visibleAssistantExecutionTargets( uiFeatures.availableExecutionTargets, ); + final currentExecutionTarget = controller.assistantExecutionTarget; final executionTarget = visibleExecutionTargets.contains( - controller.assistantExecutionTarget, + currentExecutionTarget, ) - ? controller.assistantExecutionTarget + ? currentExecutionTarget + : currentExecutionTarget == AssistantExecutionTarget.auto + ? currentExecutionTarget : (visibleExecutionTargets.isNotEmpty ? visibleExecutionTargets.first - : controller.assistantExecutionTarget); + : currentExecutionTarget); final permissionLevel = controller.assistantPermissionLevel; final selectedSkills = widget.availableSkills .where((skill) => widget.selectedSkillKeys.contains(skill.key)) diff --git a/lib/features/assistant/assistant_page_state_actions.dart b/lib/features/assistant/assistant_page_state_actions.dart index 89ff4003..c6afc342 100644 --- a/lib/features/assistant/assistant_page_state_actions.dart +++ b/lib/features/assistant/assistant_page_state_actions.dart @@ -674,13 +674,17 @@ extension AssistantPageStateActionsInternal on AssistantPageStateInternal { final visibleTargets = controller.visibleAssistantExecutionTargets( supportedTargets, ); - if (visibleTargets.contains(controller.currentAssistantExecutionTarget)) { - return controller.currentAssistantExecutionTarget; + final currentTarget = controller.currentAssistantExecutionTarget; + if (visibleTargets.contains(currentTarget)) { + return currentTarget; + } + if (currentTarget == AssistantExecutionTarget.auto) { + return currentTarget; } if (visibleTargets.isNotEmpty) { return visibleTargets.first; } - return controller.currentAssistantExecutionTarget; + return currentTarget; } void touchTaskSeedInternal({