Executando verificação de segurança...
1

Fala Lucas! Valeu demais pelo feedback!

Você foi cirúrgico nos pontos de evolução. Olhando o código (packages/server/src/SignalingServer.ts e packages/core/src/PeerManager.ts), a realidade atual é exatamente essa que você suspeitou:

  • Discovery Centralizado: Hoje o SignalingServer mantém um Map<string, ConnectedClient> em memória e faz broadcasts de peer-online para todos os conectados. Funciona super bem agora, mas é O(N) por conexão, então o gargalo de escalabilidade está ali. O próximo passo lógico (que já está no radar) é implementar uma DHT (Kademlia) para tirar essa carga de "lista telefônica global" do relay.
  • NAT Traversal & Holepunching: Atualmente o sistema prioriza a entrega via relay (store-and-forward) para garantir que a mensagem chegue mesmo se o peer estiver em uma rede restritiva ou mobile (dormindo). O PeerManager já tem a estrutura para WebRTC, mas o "caminho feliz" do texto ainda passa pelo relay para confiabilidade. Integrar holepunching (UDP) e ICE de verdade é a meta para 2026 para reduzir custo de banda no servidor e latência.

Se quiser testar no seu setup e abrir umas issues com seus insights sobre a implementação do holepunching, ia ajudar muito a guiar essa refatoração! Tmj 👊

Carregando publicação patrocinada...