Bug reportado em 2026-04-24: só o banner vermelho status→open funcionava. 5/15/28min nunca disparavam. Causa: o tracker só era alimentado via websocket ao vivo (message.created). Se a msg do cliente chegou ANTES da aba carregar (ou depois de F5), o tracker ficava vazio, setInterval nunca começava, thresholds nunca disparavam. Fix: - Nova função `hydrateFromConversations(convs)` no tracker. Varre conversas em 'open', pega a última msg não-activity, se for de Contact registra com timestamp REAL (msg.created_at), não Date.now(). Isso fecha o gap de tempo: se o cliente falou 7min atrás, o YELLOW já dispara na hora. - AggressiveConversationBanner.vue tem agora `watch: allConversations` chamando hydrate toda vez que a lista muda (boot + F5 + navegação). - parseCreatedAt() suporta Unix seconds + ISO. - findLastNonActivityMessage() ignora mensagens de sistema. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com> |
||
|---|---|---|
| .. | ||
| api | ||
| assets | ||
| components | ||
| components-next | ||
| composables | ||
| constants | ||
| helper | ||
| i18n | ||
| mixins | ||
| modules | ||
| routes | ||
| store | ||
| stores | ||
| App.vue | ||
| featureFlags.js | ||