### Salas de Chat (Chat Rooms)

Sistema de salas de chat internas para comunicação fluida da equipe sem sair da plataforma. Perfeito para coordenação, perguntas rápidas e discussões internas.

**Por que Salas de Chat Internas?**

Mantenha sua equipe conectada e produtiva. Em vez de usar ferramentas externas como Slack ou Teams para comunicação interna, gerencie tudo em um só lugar junto com as conversas com clientes.

**Funcionalidades Principais:**

**Gestão de Salas (Settings):**

- **Criar salas** - Administradores podem criar salas com nome e descrição
- **Canais públicos e privados** - Defina visibilidade e audiência para cada fluxo da equipe
- **Categorias** - Agrupe canais por tema, equipe ou departamento
- **Adicionar usuários** - Seleção múltipla de membros da equipe de sua conta
- **Editar salas** - Atualizar nome, descrição e membros pelo menu de três pontos do cabeçalho
- **Excluir salas** - Remover salas com confirmação de segurança
- **Avatares de sala** - Imagens personalizadas opcionais para cada sala
- **Chamadas de áudio e vídeo** - Comunicação WebRTC entre membros em DMs, grupos e canais, com tons e histórico de chamadas em andamento, perdidas e concluídas
- **Disponibilidade seletiva de chamadas** - As chamadas exigem a feature de conta independente `chat_room_calls`, desabilitada por padrão e habilitável apenas para contas selecionadas; as mensagens de Chat Rooms continuam disponíveis sem ela
- **Conectividade ICE administrável** - Super Admin > Call ICE permite configurar STUN/TURN e suas credenciais sem reiniciar; as variáveis de ambiente `MEGA_CALL_*` continuam compatíveis quando não há valores salvos
- **Conectividade premium por conta** - `chat_room_calls` usa Google STUN para chamadas P2P normais; a feature premium `premium_call_connectivity` muda essa conta para Call ICE e habilita TURN como fallback quando a configuração global está completa
- **Experiência nativa de chamadas** - O áudio mantém o widget compacto do WhatsApp/Twilio; o vídeo usa um espaço amplo limitado ou uma janela flutuante dentro do ChatSIA, com câmera e tela simultâneas, palco de apresentação, trilho de participantes, avatares e mute autorizado pelo iniciador para pequenos grupos controlados
- **Localização** - Acessível em Settings > Chat Rooms

> **Nota:** As configurações de Salas de chat gerenciam apenas canais (públicos e privados). Mensagens diretas (DMs) são conversas pessoais gerenciadas a partir da barra lateral de chat e não aparecem nem podem ser editadas/excluídas em Settings.

**Permissões e Visibilidade:**

- **Administradores** - Veem TODAS as salas da conta na barra lateral, podem criar/editar/excluir qualquer canal, podem participar de todas as salas
- **Agentes e Funções Personalizadas** - Apenas veem as salas onde são membros na barra lateral, só podem participar de suas salas atribuídas, não podem criar/editar/excluir salas

**Interface de Chat:**

- **Localização na barra lateral** - Conversas > Salas
- **Busca integrada** - Encontre canais, mensagens diretas e mensagens dentro das salas
- **Filtros rápidos** - Tudo, canais, mensagens diretas, rascunhos e arquivadas
- **Seções visuais** - Rascunhos, favoritos, mensagens diretas, canais e arquivadas
- **Criação rápida** - Crie canais, categorias e mensagens diretas pela lista
- **Visualização de sala** - Cabeçalho com nome da sala + lista de mensagens + campo de envio
- **Design limpo** - 100% Tailwind CSS, moderno e responsivo

**Tipos de Mensagens:**

- **Mensagens de texto** - Comunicação de texto simples
- **Multimídia** - Imagens, vídeos, arquivos de áudio, documentos
- **Responder (Reply)** - Responder a mensagens específicas (cita a original)
- **Threads de resposta** - Abrir um painel lateral por mensagem, responder dentro da thread e opcionalmente publicar também no canal
- **Reações** - Responder rapidamente a mensagens com emoji
- **Mensagens fixadas** - Manter informações importantes visíveis na sala
- **Enquetes** - Criar votações com múltiplas opções pelo composer
- **Rascunhos** - Recuperar texto não enviado por usuário e sala
- **Status de digitação** - Ver quando outros membros estão digitando
- **Gravação de áudio** - Gravador de áudio integrado para notas de voz

**Layout Inteligente de Mensagens:**

- **Lado direito** - Suas próprias mensagens (saída)
  - Cor de fundo diferente
  - Seu avatar exibido
- **Lado esquerdo** - Mensagens de outros usuários (entrada)
  - Avatar do remetente exibido
  - Identificação clara do remetente

**Notificações em Tempo Real:**

- **Integração WebSocket** - Usando Action Cable para entrega instantânea
- **Atualizações ao vivo** - Mensagens aparecem imediatamente sem atualizar
- **Eventos de sala** - Atualização, exclusão, leitura, unread, reações, enquetes e digitação
- **Transmissão inteligente** - Administradores recebem eventos de todas as salas, usuários regulares apenas de suas salas
- **Rastreamento de eventos** - Eventos de mensagem criada e atualizada

**Segurança e Validações:**

- **Acesso apenas para membros** - Apenas membros da sala podem ver e enviar mensagens
- **Controles de administrador** - Apenas administradores podem gerenciar salas
- **Validação de conta** - Associação à sala é validada em relação à conta
- **Nomes únicos** - Nomes de sala devem ser únicos por conta

**Benefícios para sua equipe:**

- Não precisa alternar entre ferramentas para comunicação interna
- Discussões contextuais sem sair da visualização de clientes
- Comunicação organizada por tópico ou departamento
- Histórico completo de mensagens e arquivo pesquisável
- Controle de acesso seguro baseado em permissões