Sai uma nova versão do Delta Chat 1.22 — um mensageiro que usa e-mail como transporte em vez de servidores próprios (chat-over-email, um cliente de e-mail especializado que funciona como mensageiro). O código dos aplicativos está sob a licença GPLv3, e a biblioteca básica está disponível sob a licença MPL 2.0 (Mozilla Public License). O lançamento está disponível no Google Play e F-Droid. Uma versão similar para desktop está atrasada.
Na nova versão:
- O processo de interação com pessoas que não estão na agenda foi significativamente melhorado. Se uma pessoa que não está na agenda enviar uma mensagem ao usuário ou adicionar o usuário a um grupo, agora é enviado um pedido de chat (Chat Request) ao usuário indicado, exigindo que ele aceite ou recuse a comunicação. O pedido pode incluir elementos de mensagens comuns (anexos, imagens) e é exibido diretamente na lista de chats, mas vem com uma etiqueta especial. Se aceito, o pedido é transformado em um chat separado. Para retornar à conversa, o pedido pode ser fixado em um local visível ou movido para o arquivo.

- A implementação do suporte a várias contas Delta Chat (Multi-Account) em um único aplicativo foi transferida para um novo manipulador unificado para todas as plataformas, possibilitando a paralelização do trabalho com as contas (a comutação entre contas agora é feita instantaneamente). O manipulador também permite realizar operações de conexão a grupos em segundo plano. Além das versões para Android e sistemas desktop, a capacidade de usar várias contas também foi implementada na versão para a plataforma iOS.

- Na barra superior, é exibido o status da conexão, permitindo uma avaliação rápida da falta de conexão devido a problemas na rede. Ao clicar no cabeçalho, aparece um diálogo com informações mais detalhadas sobre as razões da falta de conexão, como dados sobre cotas de tráfego fornecidos pelo provedor.

Lembre-se de que o Delta Chat não utiliza seus próprios servidores e pode funcionar praticamente através de qualquer servidor de e-mail que suporte SMTP e IMAP (para detectar rapidamente a chegada de novas mensagens, utiliza-se a técnica Push-IMAP). O uso de criptografia com OpenPGP e o padrão Autocrypt é suportado para configuração e troca de chaves de forma simples e automática, sem a necessidade de servidores chaves (a chave é transmitida automaticamente na primeira mensagem enviada). A implementação da criptografia de ponta a ponta é baseada no código rPGP, que este ano passou por uma auditoria de segurança independente. O tráfego é criptografado utilizando TLS com as bibliotecas de sistema padrão.
O Delta Chat é totalmente controlado pelo usuário e não está vinculado a serviços centralizados. Não é necessária a inscrição em novos serviços — um email já existente pode ser utilizado como identificador. Se o correspondente não estiver usando o Delta Chat, ele pode ler a mensagem como um email normal. A luta contra o spam é feita filtrando mensagens de usuários desconhecidos (por padrão, apenas mensagens de usuários na agenda de contatos e daqueles para quem já foram enviadas mensagens, bem como respostas às próprias mensagens, são exibidas). É possível visualizar anexos e imagens e vídeos enviados.
A criação de chats em grupo é suportada, onde vários participantes podem se comunicar. Existe a possibilidade de vinculação a um grupo de lista de participantes verificáveis, que não permite a leitura de mensagens por pessoas de fora (a verificação dos participantes é feita através de assinatura criptográfica, e as mensagens são criptografadas usando criptografia de ponta a ponta). A conexão com grupos verificados é feita através do envio de um convite com código QR.
O núcleo do mensageiro está sendo desenvolvido separadamente na forma de uma biblioteca e pode ser utilizado para escrever novos clientes e bots. A versão atual da biblioteca base foi escrita na linguagem Rust (a versão antiga foi escrita na linguagem C). Existem ligações para Python, Node.js e Java. Estão em desenvolvimento ligações não oficiais para Go. Existe DeltaChat para libpurple, que pode usar tanto o novo núcleo em Rust quanto o antigo núcleo em C.
Fonte: opennet.ru



