Skip to content

De operações RDP às cegas até a publicação na MS Store: a história do RDP Heartbeat ​

2026-03-29

Tags: Diário de desenvolvimento · Produtos · RDP · Windows

Prólogo: O convidado indesejado durante o vibe coding ​

Frequentemente me conecto a uma máquina RDP (Área de Trabalho Remota) via UDP para escrever código, entrando naquele estado de concentração relaxada do «vibe coding».

No processo, inevitavelmente encontro operações demoradas: esperar por uma API lenta, ou um script processando silenciosamente em segundo plano. Quando a tela congela em uma janela por muito tempo, é perfeitamente normal. Normalmente ignoro, navego na web ou me reclino na cadeira esperando.

Mas então descobri um fenômeno exasperante: às vezes a tarefa já havia terminado — era minha tela RDP que tinha congelado completamente.

Não tenho certeza se conexões TCP puras sofrem do mesmo problema (a latência TCP é relativamente alta, e eu prefiro a suavidade do UDP), mas no modo UDP, este «congelamento de Schrödinger» definitivamente existe.

O pior cenário: Não se desconectou — apenas ficou cego ​

Se a rede falha e o RDP exibe «Conexão perdida», isso é bom — pelo menos sei que preciso reconectar.

O mais torturante é que embora a tela não se atualize mais, os eventos de teclado e mouse ainda estão sendo enviados!

Imagine a cena: encaro uma tela congelada, pensando que o script ainda não terminou. Impaciente, movo o mouse — nenhuma reação. Clico às cegas, pressiono Enter várias vezes tentando «acordá-lo»... apenas silêncio.

Finalmente, fecho a janela RDP e me reconecto. Só então descubro com horror: todos aqueles cliques e digitações às cegas foram executados na máquina remota. Operar sem feedback visual é o pesadelo de qualquer desenvolvedor.

Não preciso de painéis complexos — apenas um olhar de tranquilidade ​

Meu requisito era extremamente simples e puro: uma coisinha pequena, flutuando silenciosamente em um canto da tela, para sempre.

Se piscar, sei que a tela está atualizando em tempo real e posso esperar tranquilamente a resposta da API. Se parar, percebo imediatamente: «Ah, congelou de novo, hora de reconectar» — evitando perfeitamente um desastre de operações às cegas.

Uma feliz coincidência: O efeito «Keep-Alive» quase mágico ​

E assim nasceu o RDP Heartbeat. Projetado para ser o mais discreto possível — click-through, sem nunca interferir com as operações normais. Sua única missão: proporcionar aquele pouco de «confirmação visual» que você mais precisa ao trabalhar remotamente.

Mas algo interessante aconteceu: depois de começar a usá-lo, os congelamentos de tela RDP tornaram-se incrivelmente raros.

Isso foi uma surpresa total. Minha hipótese: como esta luz pulsante realiza atualizações em nível de pixel constantemente no canto da tela, essa atualização contínua atua como um mecanismo de «keep-alive» na camada de aplicação, mantendo um fluxo de dados ativo para a sessão RDP. Honestamente, não investiguei profundamente os mecanismos do protocolo de rede subjacente, então não posso afirmar com certeza. Resumindo: funciona como por mágica.

Já que fiz, por que não publicar (e os obstáculos encontrados) ​

Olhando para esta pequena coisa piscando silenciosamente no canto, pensei que outros desenvolvedores com o mesmo problema poderiam se beneficiar. Então decidi publicá-la na Microsoft Store.

Acontece que esta foi uma decisão incrivelmente torturante.

Como a escrevi em Python, todo o processo de empacotamento e publicação foi uma odisseia de sangue e lágrimas: Código-fonte Python → exe via PyInstaller → instalador Inno Setup → finalmente pacote MSIX. Comparado com a experiência fluida de empacotamento do WinUI 3 nativo, este fluxo de trabalho era um caminho de montanha cheio de curvas.

Também devo admitir que um aplicativo desktop em Python fica um pouco aquém no refinamento visual.

Planos futuros ​

Quando tiver tempo, planejo escrever um artigo detalhado sobre todo o processo de empacotamento do Python ao MSIX. Certamente não é a solução ótima, mas é um caminho viável — espero que ajude quem quer publicar suas ferramentas Python na Store.

Quanto ao RDP Heartbeat em si, espero encontrar tempo para reescrevê-lo completamente em WinUI 3 nativo, tornando esta pequena luz pulsante ainda mais suave e elegante.

Se você também fica olhando para telas remotas congeladas ou sofre com os congelamentos repentinos do RDP, experimente esta pequena ferramenta. Espero que preserve o bom humor em cada uma das suas sessões de vibe coding.

Obter no Microsoft Store

Saiba mais sobre o RDP Heartbeat