Melhora UX do chat no desktop
All checks were successful
All checks were successful
This commit is contained in:
parent
9142446f06
commit
0a0f722bd8
4 changed files with 82 additions and 7 deletions
|
|
@ -15,16 +15,29 @@ Relato de instabilidade no chat do desktop (Raven): mensagens enviadas pela web
|
|||
- Logs locais do desktop:
|
||||
- `raven-agent.log` sem entradas `[CHAT DEBUG]`.
|
||||
- `app.log` sem `chat:started`.
|
||||
- Com duas sessoes ativas, o log parou em:
|
||||
- `[CMD] open_chat_window called...`
|
||||
- `[WINDOW] ... build() inicio`
|
||||
- sem `build() OK` / `open_chat_window result`, indicando travamento na criacao da janela quando chamada via comando.
|
||||
|
||||
## Causa raiz
|
||||
O desktop nao estava iniciando o runtime de chat.
|
||||
Em `apps/desktop/src/main.tsx`, o `invoke("start_chat_polling", ...)` enviava `base_url` e `convex_url` em snake_case. No Tauri v2, o mapeamento esperado e camelCase (`baseUrl`, `convexUrl`). Com isso, o comando falha na desserializacao dos args e o chat nao inicia (sem polling/WebSocket), resultando em nenhuma mensagem chegando ao app.
|
||||
|
||||
Em cenarios com multiplas sessoes, a abertura do segundo chat via hub usa o comando `open_chat_window` (JS). Esse comando era sincrono e rodava no thread principal; ao criar uma nova janela (`WebviewWindowBuilder::build`), a execucao travava e a janela nao concluia o build, congelando o chat no desktop.
|
||||
|
||||
## Correcoes aplicadas
|
||||
- Ajustado `invoke("start_chat_polling")` para usar `baseUrl` e `convexUrl` (camelCase).
|
||||
- Tornado `open_chat_window` e `open_hub_window` assíncronos, executando em `spawn_blocking` para evitar bloqueio do thread principal ao criar novas janelas de chat.
|
||||
- Quando o chat esta aberto e no fim da conversa, o desktop marca automaticamente mensagens como lidas (evita badge preso).
|
||||
- Ao abrir um chat (foco), outras janelas de chat sao ocultadas e o hub e escondido para evitar sobreposicao.
|
||||
- Ao minimizar um chat, outras janelas de chat abertas sao ocultadas automaticamente.
|
||||
|
||||
## Arquivos alterados
|
||||
- `apps/desktop/src/main.tsx`
|
||||
- `apps/desktop/src-tauri/src/lib.rs`
|
||||
- `apps/desktop/src-tauri/src/chat.rs`
|
||||
- `apps/desktop/src/chat/ChatWidget.tsx`
|
||||
|
||||
## Testes recomendados
|
||||
- `bun run lint`
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue