Repository navigation
Releases
NEXUS v0.4.0-nightly.3 (Nightly)
NEXUS v0.4.0-nightly.3
Compilação experimental (Canal Beta/Nightly) com a correção da tela preta no compartilhamento de tela.
🛠️ Correções
- Tela preta ao assistir uma transmissão de tela: Corrigido um problema de sinalização duplicada que impedia a conexão de vídeo de estabilizar quando outro participante iniciava o compartilhamento de tela em chamadas 1:1 ou canais de voz.
- Estabilidade na negociação de vídeo: Garantida a ordem correta no recebimento das informações de conexão durante o início da transmissão, evitando conflitos quando múltiplos eventos chegam ao mesmo tempo.
NEXUS v0.4.0-nightly.2 (Nightly)
NEXUS v0.4.0-nightly.2
Compilação experimental (Canal Beta/Nightly) com a correção do compartilhamento de tela nativo da Nightly.1.
🛠️ Correções
- Compartilhamento de tela que falhava ao iniciar: Corrigido um problema que fazia a transmissão de tela falhar ao ser iniciada em chamadas e canais de voz com outros participantes, mesmo escolhendo um monitor específico ou desativando o áudio e o cursor.
- Mensagens de erro mais claras: Quando o compartilhamento de tela não consegue iniciar, o NEXUS agora mostra o motivo real da falha em vez de uma mensagem genérica, facilitando identificar e relatar o problema.
- Estabilidade da captura no Windows: Melhorada a compatibilidade da captura de tela com mais placas de vídeo e a negociação do vídeo transmitido com os outros participantes.
🚀 Melhorias
- Diagnóstico para testes: Foi adicionado um registro local de diagnóstico da captura de tela, salvo no seu computador, para ajudar a investigar qualquer falha que ainda apareça durante os testes. Nenhum dado pessoal ou senha é registrado.
NEXUS v0.4.0-nightly.1 (Nightly)
NEXUS v0.4.0-nightly.1
Compilação experimental (Canal Beta/Nightly) com a primeira prévia das Comunidades, chamadas de voz em grupo e novo seletor próprio de compartilhamento de tela.
✨ Novidades
- Comunidades com canais de texto e voz: Agora você pode criar suas próprias comunidades, entrar em servidores usando links de convite, organizar conversas por categorias e canais de texto ou voz e acompanhar as mensagens da comunidade em tempo real.
- Cargos, permissões e moderação: Gerencie sua comunidade definindo cargos personalizados, controlando quem pode acessar ou enviar mensagens em cada canal, criando convites e acompanhando a lista de membros online e offline.
- Chamadas de voz e transmissão de tela em grupo: Entre em canais de voz para conversar com até 4 participantes simultaneamente, com destaque visual para quem está falando, controle individual de volume por pessoa e compartilhamento de tela em grupo.
- Seletor próprio de tela e janela: Ao compartilhar sua tela, um novo seletor integrado do NEXUS permite escolher exatamente qual monitor ou janela você deseja transmitir, com captura mais fluida e leve no Windows.
🚀 Melhorias
- Opção 720p a 60 fps gratuita: A qualidade de transmissão de tela em 720p a 60 quadros por segundo agora está disponível gratuitamente junto com as opções em 720p30, 1080p30 e 1080p60, tanto em chamadas individuais quanto em grupo.
- Desempenho e fluidez na captura de tela: A transmissão de tela foi aprimorada para reduzir o consumo de memória e processador no Windows, mantendo compatibilidade automática caso o método alternativo seja necessário.
- Preservação das chamadas individuais e do canal Estável: As chamadas diretas entre amigos continuam funcionando normalmente, e o canal de testes segue isolado da versão Estável v0.2.5 para evitar alterações acidentais.
NEXUS v0.3.0-nightly.5 (Nightly)
NEXUS v0.3.0-nightly.5 — Recuperação de Senha V2 (Bridge HTTPS, Gmail & Deep Link nexus://), Google Login & Pre-Login Auto Updater 0.1
Pré-lançamento para Windows (Canal Beta/Nightly). Evolução da linha 0.3.0 com a Recuperação de Senha V2, garantindo funcionamento completo em clientes de e-mail restritivos (como Gmail Web/Mobile) e integração direta com o aplicativo desktop aberto ou fechado, preservando integralmente Google Login, Chamadas e Transmissão 2.1 e Pre-Login Auto Updater 0.1.
Principais Novidades e Correções
- Recuperação de Senha V2 (Bridge HTTPS & Compatibilidade com Gmail): Os e-mails de redefinição agora utilizam um link HTTPS clicável (
https://nexus-api.dynv6.net/reset-password#token=...) compatível com o Gmail e demais provedores que bloqueiam esquemas customizados em botões de e-mail. O token viaja exclusivamente no fragmento#token=(nunca enviado em requisições HTTP ao servidor ou logs) e é imediatamente removido da barra de endereços viahistory.replaceState. - Página Bridge Segura (
/reset-password) e Cópia Manual do Código: A página intermediária valida o formato hexadecimal de 64 caracteres no navegador, aciona automaticamente a abertura do aplicativo vianexus://reset-password?token=..., oferece o botão "Abrir no aplicativo NEXUS" e exibe o código de recuperação completo com botão "Copiar código de recuperação" para colagem manual caso o usuário esteja em outro dispositivo. - Protocolo
nexus://no Windows (App Aberto ou Fechado): Registro automático do protocolonexus://no instalador NSIS (src-tauri/nsis/hooks.nsh, com desinstalação segura que preserva outras instâncias) e em tempo de execução no perfil do usuário (HKCU\Software\Classes\nexus). Com o app fechado, o link inicia o NEXUS já na tela de redefinição; com o app aberto, a nova instância encaminha o token via IPC local (127.0.0.1) para a janela principal e a traz para o primeiro plano. - Pre-Login Auto Updater 0.1: Verificação automática de novas versões antes do login e do carregamento do SQLite, com confirmação de changelog no canal Beta e aplicação silenciosa via
/UPDATE. - Autenticação Google Robusta: Tratamento seguro de contas existentes, atalho contextual para recuperação de senha em conflitos de e-mail e proteção contra ataques de repetição via
nonce. - Chamadas e Transmissão 2.1: Estágio redimensionável, controles integrados na barra lateral, detecção de voz com persistência por conta e diagnósticos de mídia em tempo real.
- Isolamento de Canais: Atualizações no canal Beta/Nightly utilizam exclusivamente
latest-nightly.json, preservando o canal Estável (latest.json).
Compatibilidade e Atualização
- Atualização Automática Pré-Login (
nightly.3 / nightly.4 → nightly.5): Usuários nas compilações anteriores do canal Beta recebem a notificação dav0.3.0-nightly.5diretamente no Pre-Login Auto Updater logo na inicialização do aplicativo (ou pelo atualizador interno autenticado). - Preparação para a Stable
v0.2.5: Consolida o fluxo definitivo de Recuperação de Senha V2 junto aos subsistemas da linha0.3.0, sem interferir nav0.2.1atualmente publicada no canal Estável.
NEXUS v0.3.0-nightly.4 (Nightly)
NEXUS v0.3.0-nightly.4 — Integração Completa (Recuperação de Senha, Google Login & Pre-Login Auto Updater 0.1)
Pré-lançamento para Windows (Canal Beta/Nightly). Versão de validação completa unificando todas as funcionalidades da linha 0.3.0 (Chamadas e Transmissão 2.1, Pre-Login Auto Updater 0.1 e Google Login) com o novo fluxo de recuperação de senha por e-mail.
Principais Novidades e Correções
- Recuperação de Senha por E-mail: Fluxo completo ("Esqueci minha senha") integrado à tela de autenticação do app desktop, com tokens temporários de uso único (256 bits, hash SHA-256 em banco, validade de 15 minutos), resposta neutra contra enumeração de contas, revogação imediata de sessões anteriores e suporte a criação de senha local para contas originalmente criadas via Google sem remover o vínculo OAuth.
- Pre-Login Auto Updater 0.1: Verificação automática de novas versões antes do login e do carregamento do SQLite, com confirmação de changelog no canal Beta e aplicação silenciosa via
/UPDATE. - Autenticação Google Robusta: Tratamento seguro de contas existentes, mapeamento amigável de erros de conflito de identidade e proteção contra ataques de repetição via
nonce. - Chamadas e Transmissão 2.1: Estágio redimensionável, controles integrados na barra lateral, detecção de voz com persistência por conta e diagnósticos de mídia em tempo real.
- Isolamento de Canais: Atualizações no canal Beta/Nightly utilizam exclusivamente
latest-nightly.json, preservando o canal Estável (latest.json).
Compatibilidade e Atualização a partir da Nightly 3
- Atualização Automática Pré-Login (
nightly.3 → nightly.4): Usuários nav0.3.0-nightly.3com o canal Beta ativo recebem a notificação dav0.3.0-nightly.4diretamente no Pre-Login Auto Updater logo na inicialização do aplicativo (ou pelo atualizador interno autenticado). - Preparação para a Stable
v0.2.5: Esta compilação valida em conjunto todos os subsistemas que comporão a atualização intermediáriav0.2.5do canal Estável, sem interferir nav0.2.1atualmente publicada.
NEXUS v0.3.0-nightly.3 (Nightly)
NEXUS v0.3.0-nightly.3 — Integração Google Login & Pre-Login Auto Updater 0.1
Pré-lançamento para Windows (Canal Beta/Nightly). Publicação de teste fechado unificando melhorias de autenticação e atualizações automáticas pré-login.
Principais Novidades e Correções
- Pre-Login Auto Updater 0.1: Verificação discreta e automática de novas versões antes do login e do carregamento do SQLite. Notificação com notas de lançamento e atualização silenciosa com
/UPDATE. - Autenticação Google Robusta: Tratamento seguro de contas existentes, mapeamento amigável de erros (conflitos de e-mail e vínculo de identidade) e proteção contra ataques de repetição via
nonce. - Chamadas e Transmissão 2.1: Estágio redimensionável, controles integrados na barra lateral, detecção de voz com persistência por conta e diagnósticos de mídia em tempo real.
- Isolamento de Canais: Atualizações no canal Beta/Nightly utilizam
latest-nightly.jsone nunca alteram nem forçam updates para usuários do canal Estável (latest.json).
Compatibilidade e Atualização a partir da Nightly 2
- Atualização Direta no App (Canal Beta): Usuários autenticados no NEXUS
v0.3.0-nightly.2com o canal Beta ativo recebem a notificação dav0.3.0-nightly.3pelo atualizador interno e podem atualizar diretamente dentro do aplicativo. - Novo Fluxo Pré-Login: O mecanismo de verificação pré-login entra em vigor imediatamente após a atualização para a
v0.3.0-nightly.3, passando a atuar logo na inicialização para todas as versões futuras. - Instalação Manual como Alternativa: Caso o atualizador interno apresente falhas ou haja preferência por instalação direta, o instalador independente assinado (
nexus_0.3.0-nightly.3_x64-setup.exe) permanece disponível como alternativa. - Canal Estável Preservado: A versão oficial do canal Estável permanece em
0.2.1. Esta compilação é estritamente experimental para o canal Beta.
NEXUS v0.3.0-nightly.2 (Nightly)
NEXUS v0.3.0-nightly.2 — Calls & Streaming 2.1
Pré-lançamento para Windows. Publicação autorizada após homologação manual aprovada pelo responsável.
Correções desde a Nightly 1
- Compartilhamento mantém resolução e parâmetros de warmup durante a negociação; a rampa progressiva começa após a resposta SDP.
- Barra de chamada integrada à Sidebar, preservando a área de mensagens. Sidebar recolhida com um único conjunto compacto de microfone/fones e acesso a retornar/desligar.
- Modos Compacto, Equilibrado, Cinema e Tela Cheia com disposição própria e proporção de vídeo preservada.
- Sensibilidade aplicada ao detector de voz em tempo real, mesmo pipeline no teste e na chamada, persistência por conta e indicador verde sem atraso duplicado. O áudio continua sem gate automático.
- FPS solicitado separado da medição de captura/envio/recepção/decodificação. FPS decodificado não é apresentado como renderização do vídeo.
- Diagnósticos de codec/encoder quando disponíveis e preferência por compartilhar uma janela, com avisos para monitor/fonte desconhecida.
- Laboratório local de desenvolvimento com dois perfis isolados e guard de compilação para Debug.
Antes de homologar
- Indicadores nativos de compartilhamento continuam ativos. Não há solução suportada identificada para remover seletivamente a barra WebView2 dos frames; prefira uma janela e confira a transmissão no receptor.
- Não há garantia de 1080p60, aceleração GPU ou redução de CPU. A integração do monitor auxiliar de long tasks continua pendente.
- A homologação manual foi aprovada pelo responsável; a revalidação desta publicação é automatizada/estática. Isso não representa uma medição independente de desempenho ou aceleração GPU.
- O canal Stable continua em
0.2.1. Esta versão pertence ao canal Beta/Nightly, usalatest-nightly.jsone não substituilatest.json. - A Nightly instalada continua sendo uma atualização do NEXUS e pode compartilhar dados de produção com a Stable; para homologação isolada, use o Test Lab Debug. Nightly não implica uma segunda instalação isolada.
NEXUS v0.2.5 (Stable)
NEXUS v0.2.5
✨ Novidades
- Login com Google: Agora você pode entrar ou criar sua conta no NEXUS usando sua conta Google com apenas um clique, mantendo sua sessão conectada ao reabrir o aplicativo.
- Recuperação de senha por e-mail: Esqueceu sua senha? Solicite a redefinição diretamente na tela de login para receber um e-mail com link de acesso rápido que abre o NEXUS automaticamente na tela de nova senha — ou copie o código de verificação caso prefira colá-lo manualmente no aplicativo.
- Chamadas de voz e transmissão de tela 2.1: Novo palco de chamadas com ajuste livre de tamanho, controles rápidos integrados na barra lateral, destaque visual para quem está falando e painel de qualidade da chamada em tempo real.
- Atualizações automáticas na inicialização: O aplicativo agora verifica e instala novas versões automaticamente assim que é aberto, exibindo o progresso do download na tela e permitindo continuar offline quando você estiver sem conexão com a internet.
- Comunidades, mensagens e amigos: Converse em canais de texto e mensagens diretas, gerencie sua lista de amigos, personalize seu tema visual e mantenha seu histórico e rascunhos salvos no computador.
🚀 Melhorias
- Atualização direta da versão 0.2.1 para 0.2.5: Quem utiliza a versão estável 0.2.1 recebe a atualização para a 0.2.5 automaticamente ao iniciar o NEXUS, mantendo a conta conectada, o histórico de conversas e todas as preferências salvas.
- Preferências de voz por conta: Os ajustes de microfone, sensibilidade de voz e áudio agora são lembrados individualmente para cada conta utilizada no computador.
- Convivência entre os canais Estável e Nightly: Os canais de atualização funcionam de forma independente para evitar trocas acidentais de versão. Quem já está na versão de testes
0.3.0-nightly.5permanece recebendo normalmente as novidades do canal Nightly sem sofrer retorno automático de versão; quem desejar mudar para a versão Estável0.2.5pode fazer a troca a qualquer momento utilizando o instalador oficial da versão estável.
🛠️ Correções
- Abertura do link de recuperação de senha: Corrigido um problema que impedia a abertura automática do NEXUS ao clicar no botão do e-mail de recuperação de senha em serviços como o Gmail, funcionando agora tanto com o aplicativo fechado quanto já aberto em segundo plano.
- Acesso com Google em e-mail já cadastrado: Corrigida uma mensagem confusa exibida ao tentar entrar com o Google usando um e-mail que já possuía conta criada com senha; agora o aplicativo orienta claramente como entrar ou redefinir sua senha.
- Preservação dos links do aplicativo ao desinstalar: Corrigido um problema em que a desinstalação de uma cópia de testes podia desativar a abertura automática de links na instalação principal do NEXUS no Windows.
NEXUS v0.3.0-nightly.1 (Nightly)
NEXUS v0.3.0-nightly.1 — Calls & Streaming 2.0 (Beta / Nightly)
A compilação v0.3.0-nightly.1 inaugura a série 0.3.x no canal Beta / Nightly, trazendo o pacote integrado Calls & Streaming 2.0 com melhorias profundas em áudio em tempo real, compartilhamento de tela configurável, interface de chamada redimensionável com tela cheia nativa, reconexão controlada via ICE Restart e telemetria WebRTC sob demanda.
🎙️ 1. Áudio 2.0
- Troca Dinâmica (Hot-Swap) em Chamada: Seletor rápido integrado diretamente à dock da chamada para alternar microfone e saída de áudio (
setSinkId) em tempo real viaRTCRtpSender.replaceTrack, sem desconectar a sessão WebRTC. - Fallback Automático por Desconexão Física: Monitoramento combinado de
track.onendedenavigator.mediaDevices.ondevicechange. Caso o microfone ou headset ativo seja desconectado durante a chamada, o NEXUS migra automaticamente para o dispositivo padrão do Windows e exibe um aviso discreto. - Volume Individual por Participante (
0%a200%): Controle deslizante dedicado no card do participante remoto com persistência local por contato, combinando atenuação (0–100%) e amplificação limpa viaGainNodeda Web Audio API (101–200%). - Controles DSP WebRTC & VAD Calibrado: Suporte explícito e persistido para Cancelamento de Eco (AEC), Supressão de Ruído (NS) e Controle Automático de Ganho (AGC), além de limiar de atividade de voz (VAD) acoplado dinamicamente à sensibilidade configurada pelo usuário.
🖥️ 2. Compartilhamento de Tela 2.0
- Perfis de Qualidade Selecionáveis: Suporte aos presets Automático, 720p • 30 FPS, 1080p • 30 FPS e 1080p • 60 FPS, aplicáveis antes de iniciar ou ao vivo durante a transmissão (
videoTrack.applyConstraints+RTCRtpSender.setParametersparamaxBitrateemaxFramerate). - Fallback Automático de Hardware: Caso a fonte capturada rejeite o modo solicitado (
OverconstrainedError), o serviço recua automaticamente para720p • 30 FPSsem interromper a chamada e informa a resolução/FPS efetivos reais (track.getSettings()). - Continuidade entre Abas: Corrigido o ciclo de vida da visualização de chamadas para que navegar até a aba Mensagens mantenha a transmissão de tela ativa, com controles rápidos na barra flutuante (
ActiveCallBar).
🎬 3. Calls UI 2.0 & Tela Cheia Real
- Palco Redimensionável (Splitter): Divisor horizontal arrastável (
30%a85%) entre o palco de vídeo e os cards dos participantes, acompanhado de atalhos rápidos de proporção (Compacto 45%, Equilibrado 65% e Cinema 80%) com persistência automática. - Modo Tela Cheia Nativo: Integração combinada da DOM Fullscreen API com a API nativa de janela do Tauri 2 (
setFullscreen), incluindo barra de controles flutuantes em tela cheia e saída limpa via teclaEsc.
🔄 4. Estabilidade WebRTC & Diagnósticos de Mídia
- Reconexão Controlada com ICE Restart: Quando ocorrem oscilações temporárias de rede, o motor entra em estado
Reconectando (1/3)..., aplica backoff exponencial e dispara ofertas de ICE Restart (createOffer({ iceRestart: true })) para recuperar o transporte de mídia sem derrubar prematuramente a chamada. - Painel de Diagnósticos Sob Demanda: Novo botão Diagnósticos no cabeçalho da chamada (com custo zero de CPU quando fechado), exibindo estado ICE, rota de rede (
tailscale-cg-nat/lan-or-reflexive), RTT de transporte (ida e volta), Jitter (ms), perda de pacotes (%), bitrate de áudio/vídeo (kbps) e resolução/FPS efetivos.
📦 5. Informações do Canal Beta / Nightly
- Canal:
Beta / Nightly(latest-nightly.json) - Versão:
0.3.0-nightly.1 - Canal Estável Vigente:
v0.2.1 Stable(latest.json) — 100% preservado sem alterações. - Assinatura: Minisign com verificação criptográfica estrita no atualizador nativo.
NEXUS v0.2.1 (Stable)
NEXUS v0.2.1 (Stable) — Hotfix de Canais e Classificação de Versões
A versão estável v0.2.1 é uma atualização de manutenção (Hotfix) focada exclusivamente em corrigir a lógica de classificação de versões locais e de consulta aos manifestos de atualização nos canais Stable e Beta / Nightly.
Esta compilação promove oficialmente as alterações homologadas e validadas na v0.2.1-nightly.1, sem introduzir novas funcionalidades ou alterações comportamentais de mídia ou rede.
🔍 1. Problema Corrigido (Causa Raiz)
Comportamento Anterior
Após instalar a versão estável oficial v0.2.0, caso o usuário acessasse Configurações → Sobre & Atualizações e selecionasse o canal Beta / Nightly, a interface apresentava indevidamente um card com o título fixo:
"Versão Experimental em Execução"
"Você está usando uma versão experimental (v0.2.0). A versão estável mais recente é a v0.1.9-nightly.7. Não haverá downgrade automático..."
Causa Raiz Técnica
- Acoplamento Indevido de SemVer: Ao selecionar o canal Beta, o atualizador consultava o manifesto
latest-nightly.json, cuja última versão publicada ainda era0.1.9-nightly.7. - Como
0.2.0 > 0.1.9-nightly.7, a comparação SemVer retornavais_current_higher = true. - O
UpdateServiceassumia de forma estática que qualquer situação ondeis_current_higherfosse verdadeiro significava que o usuário estava rodando uma versão experimental enquanto consultava um canal estável. - Além disso, o título do card no
SettingsViewestava estático como "Versão Experimental em Execução", e a versão do canal Beta era incorretamente descrita como "versão estável mais recente".
🛠️ 2. Solução Arquitetural Aplicada
- Classificação Estritamente Imutável da Versão Instalada:
- A classificação da instalação é puramente calculada por
isPrereleaseVersion(installedVersion). - A versão
0.2.1oficial é classificada como Estável de forma permanente e determinística, independentemente do canal selecionado ou de respostas de rede.
- A classificação da instalação é puramente calculada por
- Lógica Pura de Comparação (
resolveChannelVersionComparison):- Versão Estável instalada + Canal Beta ativo (
0.2.1 > 0.1.9-nightly.7):- Status:
up_to_date. - Mensagem amigável: "Você está utilizando a versão estável oficial (v0.2.1). O Canal Beta / Nightly está ativo e novas compilações experimentais serão oferecidas automaticamente assim que uma versão superior for publicada (ex: v0.2.2-nightly.x)."
- Sem falso aviso de versão experimental e sem tentativa indevida de downgrade.
- Status:
- Versão Experimental instalada + Canal Estável ativo:
- Mantém aviso legítimo com título dinâmico "Versão Experimental com Canal Estável Ativo".
- O botão "Continuar recebendo Nightlies" só é exibido se a versão instalada for de fato pré-lançamento.
- Versão Estável instalada + Canal Beta ativo (
🧪 3. Validação e Testes Automatizados
- Nova Suíte de Testes Automatizada (
tests/version_channel_matrix.test.ts): 7 cenários completos cobrindo todas as permutações entre versões Stable e Nightly nos canais Stable e Beta. - Suíte de Testes de Sincronização de Documentação (
tests/sync_readme_release.test.ts): 5 testes garantindo a sincronização idempotente e isolada de releases no README. - Suíte Frontend Completa (
npm test): 28 testes passando com 100% de sucesso. - Suíte Nativa Rust (
cargo test): 50 testes passando com isolamento estrito de dados, Keyring e credenciais.
📦 4. Informações da Release e Distribuição
- Canal de Distribuição:
Estável (Stable)(latest.json) - Versão:
0.2.1 - Canal Beta / Nightly Vigente:
latest-nightly.jsonpreservado e isolado. - Instalador Oficial:
nexus_0.2.1_x64-setup.exe(NSIS assinado digitalmente com Minisign).