diff --git a/frontend/appflowy_flutter/lib/plugins/ai_chat/application/chat_bloc.dart b/frontend/appflowy_flutter/lib/plugins/ai_chat/application/chat_bloc.dart index 09bf21acaa..f1b6be106a 100644 --- a/frontend/appflowy_flutter/lib/plugins/ai_chat/application/chat_bloc.dart +++ b/frontend/appflowy_flutter/lib/plugins/ai_chat/application/chat_bloc.dart @@ -88,7 +88,13 @@ class ChatBloc extends Bloc { Int64? beforeMessageId; final oldestMessage = _getOlderstMessage(); if (oldestMessage != null) { - beforeMessageId = Int64.parseInt(oldestMessage.id); + try { + beforeMessageId = Int64.parseInt(oldestMessage.id); + } catch (e) { + Log.error( + "Failed to parse message id: $e, messaeg_id: ${oldestMessage.id}", + ); + } } _loadPrevMessage(beforeMessageId); emit( @@ -439,7 +445,9 @@ class ChatBloc extends Bloc { QuestionStream stream, Map? sentMetadata, ) { - questionStreamMessageId = nanoid(); + final now = DateTime.now(); + final timestamp = now.millisecondsSinceEpoch; + questionStreamMessageId = timestamp.toString(); final Map metadata = {}; // if (sentMetadata != null) { diff --git a/frontend/appflowy_flutter/lib/plugins/ai_chat/application/chat_user_message_bloc.dart b/frontend/appflowy_flutter/lib/plugins/ai_chat/application/chat_user_message_bloc.dart index c0a29c2453..d6918eab53 100644 --- a/frontend/appflowy_flutter/lib/plugins/ai_chat/application/chat_user_message_bloc.dart +++ b/frontend/appflowy_flutter/lib/plugins/ai_chat/application/chat_user_message_bloc.dart @@ -15,7 +15,7 @@ class ChatUserMessageBloc ), ) { on( - (event, emit) async { + (event, emit) { event.when( initial: () { if (state.stream != null) { diff --git a/frontend/rust-lib/flowy-folder/src/manager.rs b/frontend/rust-lib/flowy-folder/src/manager.rs index 0f3ff02c1e..f9034bf481 100644 --- a/frontend/rust-lib/flowy-folder/src/manager.rs +++ b/frontend/rust-lib/flowy-folder/src/manager.rs @@ -337,7 +337,7 @@ impl FolderManager { pub async fn get_workspace_pb(&self) -> FlowyResult { let workspace_id = self.user.workspace_id()?; - let guard = self.mutex_folder.read(); + let guard = self.mutex_folder.write(); let folder = guard .as_ref() .ok_or(FlowyError::internal().with_context("folder is not initialized"))?;