Corrige comportamentos do chat e melhora UX
- Corrige contador de mensagens resetando sozinho (web) - Adiciona verificacao de visibilidade antes de marcar como lido - Verifica se aba esta ativa antes de marcar como lido - Adiciona sincronizacao de estado do chat entre abas (web) - Usa BroadcastChannel para sincronizar aberto/fechado/minimizado - Persiste estado no localStorage - Corrige chat minimizando sozinho no desktop (Rust) - Verifica se chat esta expandido antes de minimizar - Mantem chat aberto quando usuario esta usando - Melhora encerramento automatico de sessoes de chat - Muda criterio de inatividade de chat para maquina offline - Sessao permanece ativa enquanto Raven estiver aberto - Encerra apenas quando maquina fica offline por 5+ min - Corrige tabela de tickets em /devices - Adiciona acentuacao correta (Ultima atualizacao, Responsavel) - Torna linha inteira clicavel para abrir ticket - Ajusta sidebar - Menu Tickets agora expande ao clicar (igual Cadastros) 🤖 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
2682b6e8ac
commit
f4880f32d2
7 changed files with 219 additions and 37 deletions
|
|
@ -674,16 +674,25 @@ async fn process_chat_update(
|
|||
}),
|
||||
);
|
||||
|
||||
// Mostrar janela de chat minimizada (menos intrusivo que abrir completo)
|
||||
// A janela ja abre minimizada por padrao (start_minimized=true)
|
||||
// Mostrar janela de chat (se nao existe, cria minimizada; se existe, apenas mostra)
|
||||
if let Some(session) = current_sessions.first() {
|
||||
let label = format!("chat-{}", session.ticket_id);
|
||||
if let Some(window) = app.get_webview_window(&label) {
|
||||
// Janela ja existe - apenas mostrar e garantir que esta minimizada
|
||||
// Janela ja existe - apenas mostrar (NAO minimizar se estiver expandida)
|
||||
// Isso permite que o usuario mantenha o chat aberto enquanto recebe mensagens
|
||||
let _ = window.show();
|
||||
let _ = set_chat_minimized(app, &session.ticket_id, true);
|
||||
// Verificar se esta expandida (altura > 100px significa expandido)
|
||||
// Se estiver expandida, NAO minimizar - usuario esta usando o chat
|
||||
if let Ok(size) = window.inner_size() {
|
||||
let is_expanded = size.height > 100;
|
||||
if !is_expanded {
|
||||
// Janela esta minimizada, manter minimizada
|
||||
let _ = set_chat_minimized(app, &session.ticket_id, true);
|
||||
}
|
||||
// Se esta expandida, nao faz nada - deixa o usuario continuar usando
|
||||
}
|
||||
} else {
|
||||
// Criar nova janela ja minimizada (sem necessidade de chamar set_chat_minimized depois)
|
||||
// Criar nova janela ja minimizada (menos intrusivo)
|
||||
let _ = open_chat_window(app, &session.ticket_id, session.ticket_ref);
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue