@@ -23,7 +23,6 @@ export function ChatWindow() {
23
23
selectedAgentId,
24
24
setSelectedAgent,
25
25
connect,
26
- disconnect,
27
26
activeThreadId,
28
27
} = useChatStore ( ) ;
29
28
@@ -32,52 +31,34 @@ export function ChatWindow() {
32
31
33
32
const memoizedConnect = useCallback (
34
33
( token : string ) => {
35
- console . log ( "Attempting to connect..." ) ;
36
- connect ( token ) ;
34
+ if ( ! isConnected && token ) {
35
+ console . log ( "Attempting to connect..." ) ;
36
+ connect ( token ) ;
37
+ }
37
38
} ,
38
- [ connect ]
39
+ [ connect , isConnected ]
39
40
) ;
40
41
41
- const memoizedDisconnect = useCallback ( ( ) => {
42
- console . log ( "Disconnecting..." ) ;
43
- disconnect ( ) ;
44
- } , [ disconnect ] ) ;
45
-
46
42
useEffect ( ( ) => {
47
43
if ( ! accessToken ) return ;
48
44
49
- const connectWithDelay = ( ) => {
50
- if ( process . env . NODE_ENV === "development" ) {
51
- setTimeout ( ( ) => {
52
- memoizedConnect ( accessToken ) ;
53
- } , 100 ) ;
54
- } else {
45
+ const handleVisibilityChange = ( ) => {
46
+ if ( document . visibilityState === "visible" && ! isConnected ) {
55
47
memoizedConnect ( accessToken ) ;
56
48
}
57
49
} ;
58
50
59
- const handleVisibilityChange = ( ) => {
60
- if ( document . visibilityState === "visible" ) {
61
- // console.log("Page is now visible. Checking connection...");
62
- if ( ! isConnected ) {
63
- // console.log("Not connected. Attempting to reconnect...");
64
- connectWithDelay ( ) ;
65
- } else {
66
- // console.log("Already connected. No action needed.");
67
- }
68
- }
69
- } ;
51
+ // Initial connection
52
+ memoizedConnect ( accessToken ) ;
70
53
71
- connectWithDelay ( ) ;
54
+ // Add visibility change listener
72
55
document . addEventListener ( "visibilitychange" , handleVisibilityChange ) ;
73
56
57
+ // Cleanup
74
58
return ( ) => {
75
59
document . removeEventListener ( "visibilitychange" , handleVisibilityChange ) ;
76
- if ( process . env . NODE_ENV !== "development" ) {
77
- memoizedDisconnect ( ) ;
78
- }
79
60
} ;
80
- } , [ accessToken , memoizedConnect , memoizedDisconnect , isConnected ] ) ;
61
+ } , [ accessToken , memoizedConnect , isConnected ] ) ;
81
62
82
63
if ( ! accessToken ) {
83
64
return (
0 commit comments