Aceasta este prima postare dintr-o serie de știri despre proiectarea Gajim. În aceste postări eu (wurstsalat) voi încerca să rezum o lună de dezvoltare Gajim. Uneori, aceste postări vor acoperi și python-nbxmpp și XMPP în general. Dezvoltarea din octombrie a adus îmbunătățiri la MacOS, Jingle File Transfer, Delivery Receipts și multe altele. Nu ezitați să vă alăturați gajim@conference.gajim.org pentru a discuta cu noi.
Schimbări în Gajim
Procesul de aducere a Gajim pe MacOS continuă: Mulțumită lui sebastiaanlokhorst, acum folosim PyInstaller pentru a construi aplicația (vezi #9713), ceea ce ne aduce cu un pas mai aproape de o versiune Gajim pentru MacOS. Se fac eforturi pentru a automatiza procesul de compilare, astfel încât să poată exista compilări automatizate pentru MacOS similare cu modul în care sunt generate cele pentru Windows.
În timp ce Dino a primit suport pentru transferul de fișiere Jingle în timpul GSoC (mulțumită lui hrxi), au fost efectuate câteva teste de interoperabilitate între Dino, Conversations și Gajim. Feedback-ul oferit de hrxi a dus la unele corecturi de erori ale Jingle File Transfer (#9692, #9784) la care a contribuit asterix.
Gajim afișează de mult timp chitanțe de livrare. Chitanțele de livrare sunt afișate printr-o mică pictogramă cu o bifă la sfârșitul unui mesaj în fereastra de chat. lovetox a făcut câteva modificări la modul de afișare a acestor pictograme. Acest lucru a implicat, de asemenea, o mulțime de refactorizare a codului și repararea erorilor în jurul modului în care sunt procesate chitanțele de mesaj. Ca urmare, a fost reparată o eroare de afișare în care mesajele corectate ar fi afișat două pictograme de primire a mesajelor (#9278). În plus, noua logică de afișare a pictogramelor permite Gajim să afișeze erorile de mesaj direct în tooltip-ul pictogramei de mesaj corespunzătoare (#8527). Anterior, erorile de mesaj erau pur și simplu tipărite în fereastra de chat fără contextul mesajului.
Noua listă de chat de grup utilizează unele funcții PyGObject care necesită cel puțin PyGObject (adică python3-gi) 3.32.0. Această versiune nu este încă disponibilă în unele distribuții (de exemplu, Debian 10). Adăugarea PyGObject >=3.32.0 ca cerință a dus, de asemenea, la o refactorizare a verificărilor de dependență ale lui Gajim.
Ce s-a mai întâmplat:
- Chat: Funcția FuzzyClock a fost eliminată
- Consola XML: A fost adăugat selectorul de cont pentru trimiterea XML
- Fereastra de istoric: apăsarea tastei Escape va închide acum toate rezultatele de căutare deschise înainte de închiderea ferestrei
- Mesajele de tip ’normal’ (de exemplu, mesajele simple) vor fi acum tratate întotdeauna ca și mesajele de chat obișnuite
- Corecție de eroare pentru derularea automată cu mesaje criptate (#9443)
- Corecție de eroare pentru corectarea mesajelor atunci când nu este deschis niciun ChatControl
Modificări în python-nbxmpp:
Într-un efort constant de a separa sarcinile GUI de cele de protocol/bibliotecă, lovetox a continuat să refactoreze atât Gajim cât și python-nbxmpp. În acest proces, o mulțime de cod este mutat de la Gajim la python-nbxmpp și invers. Scopul este de a modulariza codul pentru dezvoltări viitoare și de a simplifica comunicarea între cele două.
În această lună, python-nbxmpp a primit suport pentru următoarele XEP-uri. Notă: Acestea erau deja acceptate de Gajim, dar acum python-nbxmpp este capabil să le gestioneze singur.
- Notificări de stare de chat (XEP-0085)
- Etichete de securitate în XMPP (XEP-0258)
- Atenție (XEP-0224)
- Corectarea ultimului mesaj (XEP-0308)
- Date în afara benzii (XEP-0066)
- Chitanțe de livrare a mesajelor (XEP-0184)
- Markeri de chat (XEP-0333)
În plus, python-nbxmpp a primit o corecție de eroare pentru JID-uri invalide în mesajele primite (#85).