Esta es la primera publicación de una serie de novedades sobre el desarrollo de Gajim. En estas publicaciones yo (wurstsalat) intentaré resumir un mes de desarrollo de Gajim. Algunas veces estas publicaciones también cubrirán python-nbxmpp y XMPP en general. El desarrollo de octubre trajo mejoras a MacOS, transferencias Jingle File, acuses de recibo y más. Únete al grupo gajim@conference.gajim.org para discutir con nosotros.
Cambios en Gajim
El viaje para traer Gajim a MacOS continua: Gracias a sebastiaanlokhorst ahora usamos PyInstaller para construir la aplicación (ver #9713), que nos acerca un paso más a la liberación de Gajim para MacOS. Los esfuerzo se han hecho para automatizar el proceso de construcción, para que las construcciones para MacOS se puedan generar de forma similar a como se hace con Windows.
Si bien Dino recibió soporte para transferencias de archivos Jingle durante el GSoC (gracias a hrxi), se realizaron algunas pruebas de interoperabilidad entre Dino, Conversations y Gajim. La información proporcionada por hxri condujeron a algunas correcciones de errores en la transferencia de archivos Jingle (#9692, #9784) aportadas por asterix.
Gajim ha estado mostrando acuses de recibo desde hace tiempo. Los acuses de recibo se muestra con un icono de una pequeña marca de comprobación al final del mensaje en la ventana de chat. lovetox ha hecho algunos cambios de como se muestran estos iconos. Esto ha implicado un montón de reescritura de código y arreglo de errores en el proceso de recepción de mensajes. Como resultado se ha corregido un error de visualización de mensajes modificados podrían mostrar dos iconos (#9278). Además de eso la nueva lógica para mostrar iconos, permite a Gajim mostrar mensajes de error directamente en el tooltip del correspondiente icono de mensaje (#8527). Anteriormente, los mensajes de error se mostraban directamente en la ventana de chat sin ningún contexto de mensaje.
La nueva lista de grupos de chat hace uso de algunas funciones de PyGObject requiriendo al menos PyGObject 3.32.0 (esto es pyhton3-gi). Esta versión todavía no está disponible en algunas distribuciones (p. ej. Debian 10). PyGObject >= 3.32.0 es también un requerimiento de la recodificación de la comprobación de dependencias de Gajim.
¿Qué más ha pasado?:
- Chat: la característica FuzzyClock ha sido retirada
- Consola XML: Se ha añadido un selector de cuenta para enviar XML
- Ventana de historial: pulsando Escape se cerrarán los resultados de cualquier búsqueda antes de cerrar la ventana
- La escritura de mensajes ’normales’ (p. ej. mensajes sencillos) será siempre tratado como un mensaje de chat normal
- Arreglado error para auto desplazamiento con mensajes cifrado (#9443)
- Corrección de error para corrección de mensaje cuando ChatControl no está abierto
Cambios en python-nbxmpp:
En un esfuerzo constante para separar la visualización (GUI) de las tareas de protocolo y librería, lovetox ha continuado refactorizando Gajim y pyhton-nbxmpp. En este proceso, se ha movido un montón de código de Gajim a python-nbxmpp y al contrario. El objetivo es modularizar el código para futuros desarrollos y para simplificar la comunicación entre los dos.
En este mes, python-nbxmpp recibió soporte para los siguientes XEPs. Nota: Estos ya estaban soportados por Gajim, pero ahora python-nbxmpp es capaz de manejarlos por si mismo.
- Notificaciones de estado de chat (XEP-0085)
- Etiquetas de seguridad en XMPP (XEP-0258)
- Atención (XEP-0224)
- Corrección de último mensaje (XEP-0308)
- Datos externos XEP-0066)
- Acuses de recibo de mensajes (XEP-0184)
- Marcadores de chat (XEP-0333)
Además, pyhton-nbxmpp recibió una corrección de error para JIDs no válidos en mensajes entrantes (#85).