Blue Chat Plus
Blue Chat Plus
Dependências
Seção intitulada “Dependências”blue_chat_v3, bus, web, mail, crm
Documentação
Seção intitulada “Documentação”Camada de tempo real que complementa o blue_chat_v3 (backend-only).
Não o substitui, não duplica seus dados e não modifica seu controller.
O que faz (P0)
Seção intitulada “O que faz (P0)”- Barramento realtime backend centralizado (
bus.bus, canal pessoalres.partnerpor usuário) com roteamento por atendente/equipe e isolamento multi-empresa. - Serviço OWL global reativo (
blueChatPlusLive): estado compartilhado, deduplicação de eventos porevent_id, reconciliação após reconexão. - Viewer de conversa nativo com atualização incremental (sem F5), aberto em dialog a partir do badge.
- Badge de Kanban/Form que atualiza em tempo real (sem RPC por card).
- Notificações persistentes por usuário + systray com contador em tempo real.
- RPC de snapshot/reconciliação como proxy Chatwoot com validação de ACL (o bus carrega sinais; o conteúdo das mensagens vem da RPC).
Princípio
Seção intitulada “Princípio”bus = atualização, RPC = fonte definitiva. O bus carrega apenas sinais leves
(ids, direção, mudanças). O conteúdo das mensagens não vai no bus — vem da
RPC blue_chat_plus_snapshot, que valida check_access('read') no lead.
O blue_chat_v3 é preservado integralmente: o blue_chat_plus herda crm.lead
e observa as escritas que o blue_chat_v3 já faz via webhooks. Nenhuma linha
do blue_chat_v3 é alterada.
Dependências
Seção intitulada “Dependências”blue_chat_v3, bus, web, mail, crm.
Instalação
Seção intitulada “Instalação”# 1. Colocar o modulo no addons_path do Odoo 19 (ja' no repo: addons/blue_chat_plus)# 2. Instalar em banco QA (o -i instala dependencias nao instaladas):odoo-bin -c <conf> -d <db_qa> -i blue_chat_plus --stop-after-init --no-http
# 3. Validacao estatica (sintaxe Python):python -m compileall addons/blue_chat_plus
# 4. Rodar os testes automatizados (23 cenarios):odoo-bin -c <conf> -d <db_qa> --test-enable \ --test-tags=/blue_chat_plus --stop-after-init --no-http
# 5. Smoke-test da rota de health (apos subir o Odoo):curl -sS -u <user>:<pass> http://<odoo>/blue_chat_plus/health# esperado: {"ok": true, "module": "blue_chat_plus"}Configuração
Seção intitulada “Configuração”Em Configurações → Blue Chat Plus:
- Tempo real ativo (
blue_chat_plus.realtime_enabled, padrão ligado): liga/desliga a publicação de eventos no bus. Desligar não desinstala o módulo nem afeta oblue_chat_v3. - Viewer de conversa ativo (
blue_chat_plus.viewer_enabled, padrão ligado).
As credenciais do Chatwoot vêm de res.company (chatwoot_url,
chatwoot_account_id, chatwoot_token) — já usadas pelo blue_chat_v3.
Segurança
Seção intitulada “Segurança”- ir.rule
[("user_id", "=", user.id)]: cada usuário só vê/gerencia suas notificações. - Multi-empresa: o publicador filtra destinatários por
company_ids; o snapshot validacheck_access('read')no lead. - Sem canal global: publica-se no canal pessoal de cada destinatário.
- Sem fallback inseguro: sem atendente/equipe → ninguém recebe (nunca “todos os internos”).
- Sem dados pessoais no bus: o payload do bus não contém conteúdo de mensagens, e-mails ou tokens.
Desinstalação
Seção intitulada “Desinstalação”Desinstalar o blue_chat_plus não afeta o blue_chat_v3, que permanece
totalmente funcional. As notificações persistentes (blue.chat.plus.notification)
são removidas com o módulo.
Documentação
Seção intitulada “Documentação”docs/blue_chat_plus/architecture.md— arquitetura e diagrama.docs/blue_chat_plus/test_plan.md— plano de testes + roteiro de validação manual.docs/blue_chat_plus/implementation_log.md— decisões e log de implementação.docs/blue_chat_plus/fullchat_to_blue_chat_matrix.md— matriz de equivalência.NOTICE_FULLCHAT.md— atribuição LGPL-3 (conceitos adaptados do FullChat/Nettcom).
Licença
Seção intitulada “Licença”LGPL-3. Autor: Diego Santos ([email protected]) — Conexão Azul.