Novidades no Desenvolvimento Outubro 2019

Gajim development news

Novidades no Desenvolvimento Outubro 2019

Gajim development news

This is the first post of a news series about Gajim’s development. In these posts I (wurstsalat) will try to summarize a month of development around Gajim. Sometimes these posts will also cover python-nbxmpp and XMPP in general. October’s development brought improvements to MacOS, Jingle File Transfer, Delivery Receipts, and more. Feel free to join gajim@conference.gajim.org to discuss with us.

Mudanças no Gajim

A jornada de trazer o Gajim para o MacOS continua: Graças ao sebastiaanlokhorst agora nós usamos PyInstaller para construir o aplicativo (veja #9713), o qual nos trás um passo mais perto do lançamento do Gajim para MacOS. Esforços são feitos para automatizar o processo de construção, para que as construções para MacOS possam ser geradas de forma similar a como se faz com o Windows.

Enquanto o Dino recebeu suporte para transferência de arquivos Jingle durante o GSoC (graças ao hrxi), realizaram-se alguns testes de interoperabilidade entre Dino, Conversations e o Gajim. A informação fornecida pelo hrxi conduziram a algumas correções de erros na transferência de arquivos Jingle (#9692, #9784) aportadas por asterix.

O Gajim tem mostrado recibos de entregas por um longo tempo já. Recibo de entrega é mostrado com um pequeno ícone de marca de verificado no final de uma mensagem na janela de chat. lovetox fez algumas mudanças em como esses ícones são mostrados. Isso também envolveu bastante reescrita de código e correção de bugs no processo de recebimento de mensagens. Como resultado, um erro de visualização em que mensagens poderiam mostra dois ícones de recebimento (#9278) foi corrigido. Além disso, a nova lógica do ícone de visualização permite ao Gajim mostrar mensagens de erro diretamente no tooltip do ícone da mensagem correspondente (#8527). Previamente, mensagens de erro eram simplesmente imprimidas na janela do chat sem contexto de mensagem.

A nova lista de grupos de chats faz uso de algumas funções do PyGObject (isto é python3-gi) 3.32.0. Esta versão não está disponível em algumas distribuições (p. ex. Debian 10). Adicionar PyGObject >=3.32.0 como requerimento também resultou na reescritura da checagem de dependência do Gajim.

O que mais aconteceu:

  • Chat: a característica FuzzyClock foi removida
  • Console XML: Adicionou-se um seletor de conta para enviar XML
  • Janela de histórico: pressionar Esc agora vai fechar qualquer resultado de pesquisa aberto antes de fechar a janela
  • A digitação de mensagens ’normais’ (p. ex. mensagens únicas) será sempre tratada como uma mensagem de chat normal
  • Corrigido o erro de auto deslizamento com mensagens cifradas (#9443)
  • Correção de erro na correção de mensagem quando o ChatControl não está aberto

Mudanças no python-nbxmpp:

Em um esforço constante para separar a visualização (GUI) das tarefas de protocolo e biblioteca, lovetox continuou reescrevendo tanto o Gajim quanto o python-nbxmpp. Neste processo, moveu-se um monte de código do Gajim para o python-nbxmpp e vice-versa. O objetivo é modularizar o código para futuros desenvolvimentos e para simplificar a comunicação entre os dois.

Neste mês, python-nbxmpp recebeu suporte para os seguintes XEPs. Note: Estes já eram suportados pelo Gajim, mas agora o python-nbxmpp é capaz de manuseá-los por si mesmo.

Além disso, python-nbxmpp recebeu uma correção de erro para JIDs inválidos em mensagens recebidas (#85).