From 20b93cd8dbeb96e6edf9e478a360aed36a642113 Mon Sep 17 00:00:00 2001 From: dab246 Date: Tue, 23 Dec 2025 17:37:32 +0700 Subject: [PATCH] hotfix(ai-scribe): Fix text selection handler correctly gated by AI Scribe availability. --- .../composer/presentation/composer_view.dart | 8 ++------ .../composer/presentation/composer_view_web.dart | 12 +++--------- .../handle_ai_scribe_in_composer_extension.dart | 4 ++++ 3 files changed, 9 insertions(+), 15 deletions(-) diff --git a/lib/features/composer/presentation/composer_view.dart b/lib/features/composer/presentation/composer_view.dart index c535319fc..1fe3c7fb6 100644 --- a/lib/features/composer/presentation/composer_view.dart +++ b/lib/features/composer/presentation/composer_view.dart @@ -248,9 +248,7 @@ class ComposerView extends GetWidget { onCreatedEditorAction: controller.onCreatedMobileEditorAction, onLoadCompletedEditorAction: controller.onLoadCompletedMobileEditorAction, onEditorContentHeightChanged: controller.onEditorContentHeightChangedOnIOS, - onTextSelectionChanged: controller.isAIScribeAvailable - ? controller.handleTextSelection - : null, + onTextSelectionChanged: controller.textSelectionHandler, ), )), Obx(() { @@ -439,9 +437,7 @@ class ComposerView extends GetWidget { onCreatedEditorAction: controller.onCreatedMobileEditorAction, onLoadCompletedEditorAction: controller.onLoadCompletedMobileEditorAction, onEditorContentHeightChanged: controller.onEditorContentHeightChangedOnIOS, - onTextSelectionChanged: controller.isAIScribeAvailable - ? controller.handleTextSelection - : null, + onTextSelectionChanged: controller.textSelectionHandler, ), )), Obx(() { diff --git a/lib/features/composer/presentation/composer_view_web.dart b/lib/features/composer/presentation/composer_view_web.dart index e90d5bc23..0f3d2c73c 100644 --- a/lib/features/composer/presentation/composer_view_web.dart +++ b/lib/features/composer/presentation/composer_view_web.dart @@ -268,9 +268,7 @@ class ComposerView extends GetWidget { ), onInitialContentLoadComplete: controller.onInitialContentLoadCompleteWeb, onKeyDownEditorAction: controller.onKeyDownEditorAction, - onTextSelectionChanged: controller.isAIScribeAvailable - ? controller.handleTextSelection - : null, + onTextSelectionChanged: controller.textSelectionHandler, )); } ), @@ -514,9 +512,7 @@ class ComposerView extends GetWidget { ), onInitialContentLoadComplete: controller.onInitialContentLoadCompleteWeb, onKeyDownEditorAction: controller.onKeyDownEditorAction, - onTextSelectionChanged: controller.isAIScribeAvailable - ? controller.handleTextSelection - : null, + onTextSelectionChanged: controller.textSelectionHandler, ); }); } @@ -794,9 +790,7 @@ class ComposerView extends GetWidget { ), onInitialContentLoadComplete: controller.onInitialContentLoadCompleteWeb, onKeyDownEditorAction: controller.onKeyDownEditorAction, - onTextSelectionChanged: controller.isAIScribeAvailable - ? controller.handleTextSelection - : null, + onTextSelectionChanged: controller.textSelectionHandler, )); } ), diff --git a/lib/features/composer/presentation/extensions/ai_scribe/handle_ai_scribe_in_composer_extension.dart b/lib/features/composer/presentation/extensions/ai_scribe/handle_ai_scribe_in_composer_extension.dart index ed334b810..b63a94425 100644 --- a/lib/features/composer/presentation/extensions/ai_scribe/handle_ai_scribe_in_composer_extension.dart +++ b/lib/features/composer/presentation/extensions/ai_scribe/handle_ai_scribe_in_composer_extension.dart @@ -147,4 +147,8 @@ extension HandleAiScribeInComposerExtension on ComposerController { editorTextSelection.value = null; } } + + void Function(TextSelectionData? textSelectionData)? + get textSelectionHandler => + isAIScribeAvailable ? handleTextSelection : null; }