Enhance chat and broadcast functionality with debug logging for image messages. Update chat store to log received messages and their details, and modify broadcast to log image sending events. Increase maxHttpBufferSize for handling larger images in Socket.IO.
This commit is contained in:
@@ -224,15 +224,25 @@ export const useChatStore = defineStore('chat', () => {
|
|||||||
updateSearchResults();
|
updateSearchResults();
|
||||||
break;
|
break;
|
||||||
case 'message':
|
case 'message':
|
||||||
|
// Debug-Logging für empfangene Nachrichten
|
||||||
|
if (data.isImage) {
|
||||||
|
console.log('[Bild empfangen] Von:', data.from, 'Typ:', data.imageType, 'Größe:', data.message ? data.message.length : 0, 'Zeichen');
|
||||||
|
}
|
||||||
|
|
||||||
if (currentConversation.value === data.from) {
|
if (currentConversation.value === data.from) {
|
||||||
messages.value.push({
|
const newMessage = {
|
||||||
from: data.from,
|
from: data.from,
|
||||||
message: data.message,
|
message: data.message,
|
||||||
timestamp: data.timestamp,
|
timestamp: data.timestamp,
|
||||||
self: false,
|
self: false,
|
||||||
isImage: data.isImage || false,
|
isImage: data.isImage || false,
|
||||||
imageType: data.imageType || null
|
imageType: data.imageType || null
|
||||||
});
|
};
|
||||||
|
|
||||||
|
console.log('[Nachricht hinzugefügt]', newMessage);
|
||||||
|
messages.value.push(newMessage);
|
||||||
|
} else {
|
||||||
|
console.log('[Nachricht ignoriert] Aktuelle Konversation:', currentConversation.value, 'Nachricht von:', data.from);
|
||||||
}
|
}
|
||||||
// Timeout zurücksetzen bei empfangener Nachricht
|
// Timeout zurücksetzen bei empfangener Nachricht
|
||||||
resetTimeoutTimer();
|
resetTimeoutTimer();
|
||||||
|
|||||||
@@ -624,14 +624,21 @@ export function setupBroadcast(io) {
|
|||||||
});
|
});
|
||||||
|
|
||||||
// Sende an Empfänger (wenn online)
|
// Sende an Empfänger (wenn online)
|
||||||
receiver.socket.emit('message', {
|
const messagePayload = {
|
||||||
from: client.userName,
|
from: client.userName,
|
||||||
message,
|
message,
|
||||||
messageId,
|
messageId,
|
||||||
timestamp: new Date().toISOString(),
|
timestamp: new Date().toISOString(),
|
||||||
isImage: isImage || false,
|
isImage: isImage || false,
|
||||||
imageType: imageType || null
|
imageType: imageType || null
|
||||||
});
|
};
|
||||||
|
|
||||||
|
// Debug-Logging für Bilder
|
||||||
|
if (isImage) {
|
||||||
|
console.log(`[Bild] Sende Bild von ${client.userName} an ${toUserName}, Größe: ${message ? message.length : 0} Zeichen, Typ: ${imageType || 'unbekannt'}`);
|
||||||
|
}
|
||||||
|
|
||||||
|
receiver.socket.emit('message', messagePayload);
|
||||||
|
|
||||||
// Bestätigung an Absender
|
// Bestätigung an Absender
|
||||||
socket.emit('messageSent', {
|
socket.emit('messageSent', {
|
||||||
|
|||||||
@@ -34,7 +34,10 @@ const io = new SocketIOServer(server, {
|
|||||||
methods: ['GET', 'POST']
|
methods: ['GET', 'POST']
|
||||||
},
|
},
|
||||||
transports: ['websocket', 'polling'],
|
transports: ['websocket', 'polling'],
|
||||||
allowEIO3: true
|
allowEIO3: true,
|
||||||
|
maxHttpBufferSize: 10 * 1024 * 1024, // 10MB für große Bilder (Base64-kodiert)
|
||||||
|
pingTimeout: 60000,
|
||||||
|
pingInterval: 25000
|
||||||
});
|
});
|
||||||
|
|
||||||
console.log('Socket.IO Server initialisiert auf Express-Server');
|
console.log('Socket.IO Server initialisiert auf Express-Server');
|
||||||
|
|||||||
Reference in New Issue
Block a user