Otimizações de performance e correções no chat ao vivo

- Corrigir acentuações (sessão, sessões, duração)
- Auto-minimizar chat nativo quando sessão termina
- Corrigir race condition em markMachineMessagesRead (Promise.all)
- Adicionar paginação no cron autoEndInactiveSessions (.take(50))
- Otimizar listMachineMessages com limite de 100 mensagens
- Corrigir memory leak no ChatWidget (limite de 200 mensagens)
- Exibir estado offline quando não há sessão ativa

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
esdrasrenan 2025-12-07 15:14:47 -03:00
parent 115c5128a6
commit 0e0bd9a49c
3 changed files with 88 additions and 44 deletions

View file

@ -655,7 +655,7 @@ export function TicketTimeline({ ticket }: TicketTimelineProps) {
</span>
{durationFormatted && (
<span className="block text-xs text-neutral-500">
Duracao: {durationFormatted}
Duração: {durationFormatted}
</span>
)}
</div>
@ -671,7 +671,7 @@ export function TicketTimeline({ ticket }: TicketTimelineProps) {
const sessionCount = chatPayload.sessionCount ?? 1
const totalDurationMs = chatPayload.totalDurationMs ?? 0
const durationFormatted = totalDurationMs > 0 ? formatDuration(totalDurationMs) : null
const sessionLabel = sessionCount === 1 ? "sessao" : "sessoes"
const sessionLabel = sessionCount === 1 ? "sessão" : "sessões"
message = (
<div className="space-y-1">
<span className="block text-sm text-neutral-600">