логирование для редактирования и диагностики проблемы
This commit is contained in:
parent
b2264d834b
commit
0f9db06f25
@ -434,20 +434,25 @@ const saveEditedMessage = async () => {
|
||||
|
||||
// Обработчик события отредактированного сообщения от сокета
|
||||
const handleMessageEditedBySocket = ({ message: editedMessage, conversationId: convId }) => {
|
||||
console.log('[ChatView] Получено событие messageEdited от сокета:', editedMessage);
|
||||
console.log('[ChatView] Получено событие messageEdited от сокета. Данные:', JSON.stringify(editedMessage), 'Для диалога:', convId); // Более детальный лог
|
||||
if (convId === conversationId.value) {
|
||||
const index = messages.value.findIndex(msg => msg._id === editedMessage._id);
|
||||
if (index !== -1) {
|
||||
console.log(`[ChatView] Найдено сообщение для обновления по ID ${editedMessage._id} по индексу ${index}. Старые данные:`, JSON.stringify(messages.value[index]));
|
||||
// Обновляем существующее сообщение новыми данными
|
||||
// Важно сохранить любые локальные свойства, если они есть и не приходят с сервера
|
||||
// Убедитесь, что editedMessage от сервера содержит поле isEdited: true и, возможно, editedAt
|
||||
messages.value[index] = { ...messages.value[index], ...editedMessage };
|
||||
console.log('[ChatView] Сообщение обновлено через сокет:', messages.value[index]);
|
||||
console.log('[ChatView] Сообщение обновлено через сокет. Новые данные:', JSON.stringify(messages.value[index]));
|
||||
} else {
|
||||
// Если по какой-то причине сообщения нет локально, но это маловероятно для редактирования
|
||||
console.warn('[ChatView] Получено отредактированное сообщение, которое не найдено локально:', editedMessage._id);
|
||||
// messages.value.push(editedMessage); // Можно добавить, если такая ситуация возможна
|
||||
console.warn('[ChatView] Получено отредактированное сообщение, которое не найдено локально:', editedMessage._id, 'Данные:', JSON.stringify(editedMessage));
|
||||
// Если сообщение по какой-то причине отсутствует, но должно быть (например, из-за задержки синхронизации),
|
||||
// можно рассмотреть его добавление, но это требует осторожности.
|
||||
// messages.value.push(editedMessage);
|
||||
// messages.value.sort((a, b) => new Date(a.createdAt) - new Date(b.createdAt)); // Поддерживать порядок
|
||||
// scrollToBottom();
|
||||
}
|
||||
} else {
|
||||
console.log(`[ChatView] Событие messageEdited для другого диалога (${convId}), текущий открытый: ${conversationId.value}`);
|
||||
}
|
||||
};
|
||||
// --- КОНЕЦ ЛОГИКИ РЕДАКТИРОВАНИЯ ---
|
||||
|
Loading…
x
Reference in New Issue
Block a user