From 7eb8ea347d5a7680ea6264d61359c51feef00cb6 Mon Sep 17 00:00:00 2001 From: "Nathan.fooo" <86001920+appflowy@users.noreply.github.com> Date: Thu, 15 Aug 2024 07:44:32 +0800 Subject: [PATCH] fix: local ai toggle (#5968) * chore: fix disable local ai * chore: do not index file --- .../pages/setting_ai_view/settings_ai_view.dart | 3 ++- .../rust-lib/flowy-ai/src/local_ai/local_llm_chat.rs | 11 +++++++++-- 2 files changed, 11 insertions(+), 3 deletions(-) diff --git a/frontend/appflowy_flutter/lib/workspace/presentation/settings/pages/setting_ai_view/settings_ai_view.dart b/frontend/appflowy_flutter/lib/workspace/presentation/settings/pages/setting_ai_view/settings_ai_view.dart index 48319e1b4a..0c3965c731 100644 --- a/frontend/appflowy_flutter/lib/workspace/presentation/settings/pages/setting_ai_view/settings_ai_view.dart +++ b/frontend/appflowy_flutter/lib/workspace/presentation/settings/pages/setting_ai_view/settings_ai_view.dart @@ -6,6 +6,7 @@ import 'package:appflowy/workspace/presentation/settings/pages/setting_ai_view/m import 'package:appflowy/workspace/presentation/settings/widgets/setting_appflowy_cloud.dart'; import 'package:flowy_infra/theme_extension.dart'; import 'package:flowy_infra_ui/widget/spacing.dart'; +import 'package:flutter/foundation.dart'; import 'package:flutter/material.dart'; import 'package:appflowy/generated/locale_keys.g.dart'; @@ -147,7 +148,7 @@ class _LocalAIOnBoarding extends StatelessWidget { child: BlocBuilder( builder: (context, state) { // Show the local AI settings if the user has purchased the AI Local plan - if (state.isPurchaseAILocal) { + if (kDebugMode || state.isPurchaseAILocal) { return const LocalAISetting(); } else { if (member.role.isOwner) { diff --git a/frontend/rust-lib/flowy-ai/src/local_ai/local_llm_chat.rs b/frontend/rust-lib/flowy-ai/src/local_ai/local_llm_chat.rs index 2ab15b94dc..af1d67b913 100644 --- a/frontend/rust-lib/flowy-ai/src/local_ai/local_llm_chat.rs +++ b/frontend/rust-lib/flowy-ai/src/local_ai/local_llm_chat.rs @@ -326,9 +326,12 @@ impl LocalAIController { .store_preferences .get_bool(APPFLOWY_LOCAL_AI_CHAT_ENABLED) .unwrap_or(true); - self.enable_chat_plugin(chat_enabled).await?; + + if self.local_ai_resource.is_resource_ready() { + self.enable_chat_plugin(chat_enabled).await?; + } } else { - self.enable_chat_plugin(false).await?; + let _ = self.enable_chat_plugin(false).await; } Ok(enabled) } @@ -361,6 +364,10 @@ impl LocalAIController { metadata_list: &[ChatMessageMetadata], index_process_sink: &mut (impl Sink + Unpin), ) -> FlowyResult<()> { + if !self.is_enabled() { + return Ok(()); + } + for metadata in metadata_list { if let Err(err) = metadata.data.validate() { error!(