Noutăți în domeniul dezvoltării decembrie 2021 și ianuarie 2022

Gajim development news

Noutăți în domeniul dezvoltării decembrie 2021 și ianuarie 2022

Gajim development news

Lucrările la Gajim 1.4 fac pași mari înainte! După nouă luni de dezvoltare a noii ferestre principale a lui Gajim, codul a fost în sfârșit pregătit pentru a fi integrat în ramura master. Acest lucru permite compilarea automată a nightlies pentru Linux și Windows.

Schimbări în Gajim

Noua fereastră principală a lui Gajim aduce multe schimbări: un nou aspect al ferestrei, cu spații de lucru și o nouă vizualizare a conversațiilor, cu o stilizare mai bună a mesajelor și o mulțime de îmbunătățiri. Puteți citi mai multe despre acestea în postările anterioare.

Dacă urmăriți îndeaproape dezvoltarea lui Gajim, ați observat o mulțime de comenzi de cod referitoare la type annotations. Adăugarea adnotărilor de tip în toate locurile ne ajută pe noi, dezvoltatorii, să rezolvăm problemele înainte ca acestea să apară. Acestea fac codul mai ușor de înțeles, ajută la documentarea codului și permit efectuarea de verificări automate în raport cu codul în timpul dezvoltării. Deoarece Gajim este construit pe baza python-gobject, verificatorul de tip trebuie să fie conștient de tipurile utilizate și returnate de clasele și metodele GObject. În acest scop, am început să scriem așa-numitele stubs: pygobject-stubs, precum și “builder stubs” pentru fișierele de interfață utilizator Glade utilizate de Gajim.

Pe partea de server am schimbat verificarea automată a tipurilor de la mypy la pyright, care este mult mai rapidă. Deoarece verificarea tipurilor poate ajuta, de asemenea, la găsirea defectelor structurale, multe locuri din Gajim au fost refactorizate în procesul de adăugare a adnotărilor de tip.

Un alt mare pas înainte a fost făcut în ceea ce privește stilizarea mesajelor. Gajim dispune acum de o stilizare a mesajelor în timp real în caseta de introducere a mesajelor de chat. Meniul de formatare a textului a fost reprofilat pentru a utiliza elementele de stilizare a mesajelor XEP-0393. În plus, stilizarea mesajelor are acum paritate de funcții pe Windows și Linux. În cele din urmă, analiza emoji pentru Windows a fost reparată și analiza mesajelor /me funcționează din nou.

Another big step forward has been made in terms of message styling. Gajim now has real-time message styling in the chat message input box. The text formatting menu has been redesigned to use the message styling elements XEP-0393. In addition, message styling now has feature parity on Windows and Linux. Finally, Windows emoji parsing has been fixed and /me message parsing is working again.

Ce s-a mai întâmplat:

  • Acum puteți utiliza funcția de glisare și fixare pentru a muta chat-urile între spațiile de lucru
  • Lista de chat oferă acum un element de meniu “Marcați ca citit”
  • Numărătoarea mesajelor necitite este stocată, astfel încât să puteți vedea în continuare ce mesaj nu ați citit încă
  • Widgetul de cod a fost îmbunătățit pentru fragmente mari de cod
  • Previzualizarea fișierelor are acum o bară de progres de descărcare
  • Îmbunătățiri pentru discuțiile de grup moderate (intrarea pe chat dezactivată, explicații scurte, un nou buton pentru “solicitare de voce”)
  • Invitator de chat de grup nou și îmbunătățit
  • Lățimea minimă a ferestrei lui Gajim a fost redusă, astfel încât să se potrivească mai bine pe ecran
  • Acum este posibil să setați comenzi rapide personalizate pentru unele acțiuni Gajim, de exemplu schimbarea Ctrl+N pentru a începe un nou chat
  • Managerul de istoric a fost depășit: exportul și curățarea istoricului de chat este acum posibilă din Gajim
  • Apelurile au acum funcția de suprimare a ecoului și soneria / sunetele de apelare datorită lui @emil
  • Dacă un server se oprește, Gajim va afișa o notificare
  • Consola XML: evidențierea sintaxei pentru fluxul XML
  • Eliminat XEP-0107 (User Mood), XEP-0108 (User Activity) și XEP-0209 (Metacontacts)

Actualizări de plugin-uri

Plugin-ul Triggers al lui Gajim a fost refactorizat și adaptat pentru a funcționa cu noul sistem de notificare.

Modificări în python-nbxmpp

Implementarea Websocket a fost adaptată la limita de mărime a strofoanelor care apare în prezent în producție.

Ca întotdeauna, nu ezitați să vă alăturați gajim@conference.gajim.org pentru a discuta cu noi.

Gajim