Esta é a segunda publicação da série de novidades sobre o desenvolvimento do Gajim. Nestas publicações eu (wurstsalat) tentarei resumir um mês de desenvolvimento do Gajim. Algumas vezes estas publicações também vão cobrir python-nbxmpp e XMPP em geral. O desenvolvimento de novembro trouxe melhorias para grupos de chat, para os temas visuais, para as ações de arrastar e soltar, OMEMO, e mais. Sinta-se livre para entrar gajim@conference.gajim.org para conversar conosco.
Mudanças no Gajim
Grupos de chat
A janela de grupo de chat recebeu um grande número de mundaças de design. Além disso, a nova lista de participantes mencionada nas notícias de desenvolvimento de outrubro, a maioria dos diálogos relacionados com grupo de chat foram substituidos por ‘páginas’ sobrepostas à janela de chat. A ideia surgiu pela primeira vez quando nós estávamos procurando por um lugar para mostrar informações de grupos de chat (que podem ser muitas). Um exemplo de como essas informações são mostradas no futuro pode ser visto na captura de tela abaixo.
Desde os últimos meses, mais e mais diálogos foram migrado para esta nova abordagem. De dentro da janela de chat, usuários agora são capazes de:
- mudar o seu apelido
- mudar o assunto do grupo
- chutar e banir usuários
- introduzir senhas/captchas
- destruir o grupo de chat
- renomear o grupo de chat (localmente)
O Gajim agor é capaz de mostrar o nome do grupo de chat (aquele escolhido pelo criador) (#5406) dentro da lista de contatos, abas, e na área acima do banner do chat. Se o usuário escolher um nome diferente (que agora é possível tanto da lista de contatos quanto de dentro do grupo de chat (#9783), ele será usado no lugar.
Arrastar e soltar, temas visuais, informações de servidor
Durante os últimoas três meses tem havido muitas melhorias em arrastar e soltar no Gajim. Agora é possível convidar um contato para um grupo de chat arrastando e soltando. Ao soltar um arquivo na lista de contatos agora começa uma transferência de arquivos para o contato sobre o qual se soltou o arquivo.
Muitos usuários estiveram reclamando sobre a usabilidade do tema das janelas. Nós tentamos simplificar o fluxo de trabalho automatizando os passos manuais que anteriormente nós requeríamos que o usuário fizesse (#9886). Se um usuário quiser mudar uma configuração de tema (p. ex. tamanho de fonte) agora é um simples clique no ‘Adicionar Configuração’ que será a) Adicionar um novo tema, b) alternar para o tema recentemente adicionado, e c) adicionar a configuração desejada. Isso também permite aos usuários ver uma previsão instantânea das mudanças desejadas. Remover um tema atualmente ativo irá agora retornar para o tema padrão sem perguntar antes.
No Gajim 1.0, um diálogo de informação de servidor foi introduzido. Esse diálogo ajuda os usuários a verificar as capacidades do serviço que eles estão usando listando as características suportadas pelo servidor. Além da lista de características, agora nós também mostramos informação de conexão (p. ex. segurança de transporte, criptografia escolhida, proxy usado) (#6096). Também se pode ver o certificado do servidor pelo diálogo de informação do servidor. Alguns servidores oferecem endereço de contato para suporte, feedback, ou perguntas à administração. Esses endereços de contato agora também são mostrados (#9848).
Em um esforço para unificar os diálogos que o Gajim mostra quando precisa da confirmação ou entrada do usuário, o antigo sistema de diálogo está sendo substituído aos poucos. Muitos diálogos antigos já foram removidos ou substituídos, resultando em uma aparência mais consistente.
Melhorou-se o código do Gajim para configurar atalhos internamente. Isso nos trás um passo mais próximo de oferecer atalhos personalizados no futuro. Além disso, nós adicionamos Ctrl+E para abrir a janela de Plugins e Ctrl+Shift+X para ver o console XML. Muitos dos atalhos disponíveis no Gajim estão listados em Sobre > Atalhos.
A versão Flatpak do Gajim também ganhou algumas atualizações este mês, incluindo uma correção de erro ao abrir links e uma atualização para plugins e suas dependências. Tanto as mensagens de estado automáticas e a detecção de protetor de tela foram retrabalhados para a versão Flatpak.
A fim de estar apto a corrigir erros, frequentemente é necessário que desenvolvedores analisem registros de depuração. É possível mostrar tal registro de depuração quando o Gajim é iniciado pelo terminal (usando os parâmetros corretos). Como isso é um pouco técnico e nós gostaríamos de habilitar todos os usuários a analisar esses registros, o Gajim o grajim tem uma configuração de preferência (Preferências > Avançado) para armazenar registros de depuração em um arquivo. Para simplificar mais estes passos nós adicionamos um botão para navegar rapidamente para a pasta contendo os registros de depuração armazenados.
Neste mês limpou-se muito código. Incluindo a remoção de código não utilizado, assim como a correção de muitos erros estilísticos, fazendo o código mais compreensível.
O que mais aconteceu
- Retirou-se a conversão de formato RST(ReStructured Text) para XHTML
- Retirou-se a configuração de usuário para as aplicações de ‘abrir com’ (se utilizará o padrão do sistema)
- Retirado o código restante da transferência de arquivo SI (este método está obsoleto)
- Removida a possibilidade de escolher um nome de recurso ao abrir um chat usando o menu de contexto (#8471)
- O banco de dados de registro do Gajim (onde se guarda o histórico entre outras coisas) recebeu algumas melhorias de rendimento e agora armazenará tanto a mensagem como os dados XHTML
- A abertura de arquivos de dentro do Gajim foi retrabalhada
- Uma data de emissão/vencimento de um certificado agora é mostrado na configuração regional do usuário
- O console XML do Gajim agora tem uma barra de busca (Ctrl+F para buscar, F3 para buscar ocorrência seguinte)
- Correção de erro das mensagens privadas aparecendo incorretamente em janela de chat em grupo (#9488)
- O Gajim agora usa JID simplificados quando envia mensagens a um grupo de contatos (#9738)
- Quando se bloqueia um grupo de contatos, o diálogo correto será mostrado (#7524)
- Correções para avisos em importações (#9874)
Atualizações de plugins
Este mês trago muitas correções de erros para o plugin OMEMO do Gajim. Receber uma mensagem sem cifra para o dispositivo do usuário agora ativará uma mensagem de erro(#452). Um erro no qual uma mensagem de arquivo (MAM) não se pôde verificar para um JID (#457) e um erro no diálogo de configurações do plugin (que acontece se não houver uma conta disponível) foram solucionados. Além disso, o Gajim agora detectará todas as mudanças na configuração de chat em grupo e será mais coerente com os chats grupais com capacidade OMEMO (#445). Além de ver um arquivo criptografado OMEMO, agora também é possível abrir o diretório que contém o arquivo (#430, #425).
Mudanças em python-nbxmpp
Enquanto trabalhava no diálogo de remoção de conta do Gajim, o python-nbxmpp recebeu suporte para fazer Registro Remoto (XEP-0077) e mais correções de erros no manuseio de estrofes.
Um dos benefícios de se usar XMPP é a liberdade de escolha. Os usuários são livres para escolher qual servidor eles gostaria de usar (ou até mesmo usar um próprio), e podem escolher entre muitos clientes disponíveis. As vezes esta liberdade de escolha também vem com clientes que não seguem as especificações do protocolo. O Gajim tem que lidar com isso, claro. Recentemente, solucionou-se um destes casos em que um cliente enviava estrofes malformadas (#89).