feat: Enhance messaging page scrolling and typing indicator UI, and add socket acknowledgement timeouts for messaging actions.
This commit is contained in:
@@ -161,7 +161,13 @@ class SocketService {
|
||||
resolve({ success: false, error: 'Not connected' });
|
||||
return;
|
||||
}
|
||||
|
||||
const timeout = setTimeout(() => {
|
||||
resolve({ success: false, error: 'Socket timeout' });
|
||||
}, 10000);
|
||||
|
||||
this.socket.emit('join_conversation', { conversationId }, (response: { success: boolean; error?: string }) => {
|
||||
clearTimeout(timeout);
|
||||
resolve(response);
|
||||
});
|
||||
});
|
||||
@@ -183,10 +189,17 @@ class SocketService {
|
||||
resolve({ success: false, error: 'Not connected' });
|
||||
return;
|
||||
}
|
||||
|
||||
// Timeout fallback in case acknowledgement never arrives
|
||||
const timeout = setTimeout(() => {
|
||||
resolve({ success: false, error: 'Socket timeout' });
|
||||
}, 10000);
|
||||
|
||||
this.socket.emit(
|
||||
'send_message',
|
||||
{ conversationId, message },
|
||||
(response: { success: boolean; message?: Message; error?: string }) => {
|
||||
clearTimeout(timeout);
|
||||
resolve(response);
|
||||
}
|
||||
);
|
||||
@@ -213,7 +226,13 @@ class SocketService {
|
||||
resolve({ success: false, error: 'Not connected' });
|
||||
return;
|
||||
}
|
||||
|
||||
const timeout = setTimeout(() => {
|
||||
resolve({ success: false, error: 'Socket timeout' });
|
||||
}, 10000);
|
||||
|
||||
this.socket.emit('mark_read', { conversationId }, (response: { success: boolean; error?: string }) => {
|
||||
clearTimeout(timeout);
|
||||
resolve(response);
|
||||
});
|
||||
});
|
||||
|
||||
Reference in New Issue
Block a user