1- import { useState } from "react" ;
21import { invoke } from "@/lib/tauri-proxy" ;
32import { InputItem } from "@/bindings/InputItem" ;
43import { useBuildNewConversationParams } from "@/hooks/useBuildNewConversationParams" ;
@@ -9,9 +8,11 @@ import { useCodexStore } from "@/stores/useCodexStore";
98import { useEventStore } from "@/stores/useEventStore" ;
109import { useConversation } from "./useConversation" ;
1110import { useActiveConversationStore } from "@/stores/useActiveConversationStore" ;
11+ import { useSessionStore } from "@/stores/useSessionStore" ;
1212
1313export function useSendMessage ( ) {
14- const [ isSending , setIsSending ] = useState ( false ) ;
14+ const isBusy = useSessionStore ( ( state ) => state . isBusy ) ;
15+ const setIsBusy = useSessionStore ( ( state ) => state . setIsBusy ) ;
1516 const buildNewConversationParams = useBuildNewConversationParams ( ) ;
1617 const { cwd } = useCodexStore ( ) ;
1718 const { clearEvents } = useEventStore ( ) ;
@@ -21,7 +22,7 @@ export function useSendMessage() {
2122 ) ;
2223
2324 const sendMessage = async ( conversationId : string , items : InputItem [ ] ) => {
24- setIsSending ( true ) ;
25+ setIsBusy ( true ) ;
2526 try {
2627 await invoke ( "send_user_message" , {
2728 params : {
@@ -30,8 +31,9 @@ export function useSendMessage() {
3031 } ,
3132 } ) ;
3233 markConversationReady ( ) ;
33- } finally {
34- setIsSending ( false ) ;
34+ } catch ( error ) {
35+ setIsBusy ( false ) ;
36+ throw error ;
3537 }
3638 } ;
3739
@@ -69,7 +71,9 @@ export function useSendMessage() {
6971 attachments ,
7072 ) ;
7173 console . log ( "sendMessage params:" , params ) ;
72- sendMessage ( currentConversationId , params . items ) ;
74+ void sendMessage ( currentConversationId , params . items ) . catch ( ( error ) => {
75+ console . error ( "Failed to send message:" , error ) ;
76+ } ) ;
7377 } ;
7478
7579 const handleCreateConversation = async (
@@ -100,7 +104,7 @@ export function useSendMessage() {
100104 return {
101105 sendMessage,
102106 interrupt,
103- isSending ,
107+ isBusy ,
104108 handleCreateConversation,
105109 handleSendMessage,
106110 beginPendingConversation,
0 commit comments