Sobre o Zoom nos webinars do Discourse (e plugins)

Continuando a discussão de Webinar: Conheça a Equipe de Projetos de Clientes do Discourse:

Gostaria apenas de compartilhar que, infelizmente, esse problema não cessou e, ao contrário, está piorando a cada dia. Concordo que acordos comerciais devem existir, e minha intenção aqui não é discuti-los, pois não sou a pessoa certa para fazê-lo, mas sim humildemente solicitar suporte para plataformas seguras no desenvolvimento principal do Discourse.

A integração do Zoom no Livestream e em outros plugins é realmente essencial para manter reuniões periódicas entre os usuários, e hoje ela é limitada e exclusiva a uma plataforma que muitos não utilizam devido a inúmeros eventos que a tornam insegura e não uma opção viável.

Percebi hoje que uma atualização do cliente Linux do Zoom fez com que ele começasse a ler proativamente tudo que é escrito na área de transferência do X11.

Se você mantém segredos interessantes na sua área de transferência – em particular, se um gerenciador de senhas a usa como meio de levar a senha para onde ela precisa estar – isso pode ser algo sobre o qual você precisa saber!

Este é o Zoom para Linux 7.1.5. Anteriormente, eu tinha o 6.6 instalado, que não fazia isso.

Parece que ele se importa apenas com a seleção CLIPBOARD – aquela com UX estilo Windows, para a qual você normalmente copia explicitamente com uma tecla como ^C e cola com ^V (ou similar). Ele não olha para a PRIMARY, a seleção usada para o “selecione apenas nesta janela e depois clique com o botão do meio na outra” do X11 tradicional.

Parece que ele está detectando mudanças na área de transferência via a extensão XFIXES e, sempre que a área de transferência é reivindicada por um novo proprietário, ele imediatamente envia um pedido de colagem para aquele cliente.

Percebi isso porque faço uso intenso de uma ferramenta de “colagem única” que atende a um único pedido de colagem e então termina. Útil para preencher muitos campos de um formulário da web – enfileire colagens de várias coisas diferentes, depois vá para cada campo do formulário em sequência e apenas pressione colar, bam bam bam. Mas hoje, após um apt update, não funciona: minha ferramenta de colagem única termina assim que começa, porque (descobri após alguns depurações) o Zoom sempre solicita uma colagem imediatamente.

(Leitores regulares podem se lembrar que, por volta deste período do ano passado, eu peguei o Slack fazendo algo similar, mas apenas quando o foco entrava na janela do Slack, e também, eles tinham uma opção de configuração para desligar. Uma ferramenta de colagem única parece ser uma boa maneira de notar coisas estranhas acontecendo no servidor X!)

A forma como o mecanismo de seleção do X11 funciona é que, toda vez que um aplicativo deseja colar, ele contata o proprietário atual da seleção e pede que ele envie os dados.

Isso permite algumas manobras divertidas, como escrever um cliente de seleção que sempre cola o tempo atual, em vez do tempo em que a área de transferência foi (logicamente falando) escrita. Mas também significa que o aplicativo que possui a seleção sabe quando alguém está colando a partir dele e pode fazer coisas em resposta.

Uma ferramenta de colagem única é algo que inicia, reivindica a propriedade da área de transferência, espera até receber e atender um pedido de colagem e, então, termina imediatamente.

Acontece que eu uso uma que escrevi eu mesmo. Mas outras existem. Uma que já está disponível no Debian e Ubuntu é o ‘xclip’. Se você fizer isso …

sudo apt install xclip # se você não tiver instalado ainda
echo -n foo | xclip -selection primary -loop 1 -verbose

… Então, clicar com o botão do meio em outra janela deve fazer duas coisas acontecerem. Primeiro, ele cola ‘foo’. Mas também, a ferramenta xclip termina, e o prompt do seu shell volta no primeiro terminal.

Se você usar ‘-selection clipboard’ em vez de ‘-selection primary’, ele escreverá na outra área de transferência, aquela que normalmente cola usando ^V ou similar. Exceto que, se você estiver executando o Zoom 7.1.5 no mesmo servidor X, ele não vai esperar você colar algo propositalmente – ele vai terminar imediatamente, porque já recebeu um pedido de colagem do Zoom!