Corrige badge de mensagens nao lidas no chat web e desktop
- Web: markChatRead agora zera unreadByAgent na sessao ativa - Desktop: usa unreadCount do backend ao inves de calcular localmente - Backend: listMachineMessages retorna unreadCount da sessao - Centraliza colunas da tabela de tickets do dispositivo 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
parent
2f766af902
commit
695a44781a
4 changed files with 55 additions and 37 deletions
|
|
@ -467,7 +467,7 @@ export const listMachineMessages = query({
|
|||
.first()
|
||||
|
||||
if (!session) {
|
||||
return { messages: [], hasSession: false }
|
||||
return { messages: [], hasSession: false, unreadCount: 0 }
|
||||
}
|
||||
|
||||
// Aplicar limite (máximo 100 mensagens por chamada)
|
||||
|
|
@ -505,7 +505,7 @@ export const listMachineMessages = query({
|
|||
}
|
||||
})
|
||||
|
||||
return { messages: result, hasSession: true }
|
||||
return { messages: result, hasSession: true, unreadCount: session.unreadByMachine ?? 0 }
|
||||
},
|
||||
})
|
||||
|
||||
|
|
|
|||
|
|
@ -3438,6 +3438,18 @@ export const markChatRead = mutation({
|
|||
updatedAt: now,
|
||||
})
|
||||
}
|
||||
|
||||
// Zerar contador de nao lidas pelo agente na sessao ativa
|
||||
const session = await ctx.db
|
||||
.query("liveChatSessions")
|
||||
.withIndex("by_ticket", (q) => q.eq("ticketId", ticketId))
|
||||
.filter((q) => q.eq(q.field("status"), "ACTIVE"))
|
||||
.first()
|
||||
|
||||
if (session) {
|
||||
await ctx.db.patch(session._id, { unreadByAgent: 0 })
|
||||
}
|
||||
|
||||
return { ok: true }
|
||||
},
|
||||
})
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue