Po roku prac rozwojowych opublikowano wydanie klienta komunikacyjnego Dino 0.4, wspierającego czat, połączenia audio, połączenia wideo, wideokonferencje oraz wymianę wiadomości tekstowych przy użyciu protokołu Jabber/XMPP. Program jest kompatybilny z różnymi klientami i serwerami XMPP, skoncentrowany na zapewnieniu prywatności rozmów oraz wspierający szyfrowanie end-to-end. Kod projektu został napisany w języku Vala z wykorzystaniem toolkit GTK i jest dystrybuowany na licencji GPLv3+.
Do organizacji połączenia wykorzystuje się protokół XMPP oraz standardowe rozszerzenia XMPP (XEP-0353, XEP-0167), co pozwala na wykonywanie połączeń między Dino a innymi klientami XMPP, które wspierają odpowiednie specyfikacje, na przykład możliwe jest nawiązywanie szyfrowanych połączeń wideo z aplikacjami Conversations i Movim oraz nieszyfrowanych połączeń z aplikacją Gajim. Szyfrowanie end-to-end wymiany wiadomości oraz potwierdzenie autentyczności realizowane jest przy użyciu rozszerzenia XMPP OMEMO opartego na protokole Signal.
W nowym wydaniu:
- Dodano wsparcie dla reakcji, co daje użytkownikowi możliwość szybkiej reakcji na wiadomość odpowiednim emoji, na przykład, wyrażenie emocji (🤯), zgody (👍️) lub dezaprobaty (👎️) bez konieczności pisania tekstu.
- W czatach grupowych, bezpośredniej wymianie wiadomości oraz kanałach dodano wsparcie dla odpowiedzi bezpośrednich, powiązanych z konkretną wiadomością, co umożliwia szybkie przejście do jej przeglądania.
- Dokonano przejścia z GTK3 na GTK4 oraz bibliotekę libadwaita, która oferuje gotowe widżety i obiekty do budowy aplikacji, zgodne z nowymi wytycznymi GNOME HIG (Human Interface Guidelines). Interfejs użytkownika dostosowano do poprawnej pracy na ekranach każdej wielkości, w tym małych ekranach urządzeń mobilnych.

Podstawowe możliwości Dino oraz wspierane rozszerzenia XEP:
- Czaty wieloosobowe z obsługą prywatnych grup i publicznych kanałów (w grupach można rozmawiać tylko z osobami w grupie na dowolne tematy, a na kanałach wszyscy użytkownicy mogą rozmawiać tylko na określony temat);
- Wykorzystanie awatarów;
- Zarządzanie archiwum wiadomości;
- Oznaczanie ostatnich otrzymanych i przeczytanych wiadomości w czatach;
- Załączanie plików i obrazów do wiadomości. Pliki mogą być przesyłane zarówno bezpośrednio z klienta do klienta, jak i z ich przesłaniem na serwer oraz udostępnieniem linku, z którego inny użytkownik może pobrać ten plik;
- Wsparcie dla bezpośredniego przesyłania multimediów (dźwięk, wideo, pliki) między klientami za pomocą protokołu Jingle;
- Wsparcie dla rekordów SRV do nawiązywania bezpośredniego szyfrowanego połączenia za pomocą TLS, oprócz wysyłania przez serwer XMPP;
- Szyfrowanie za pomocą OMEMO i OpenPGP;
- Rozsyłanie wiadomości na zasadzie subskrypcji (Publish-Subscribe);
- Powiadomienie o stanie pisania wiadomości przez innego użytkownika (można wyłączyć wysyłanie powiadomień o pisaniu w kontekście czatów lub pojedynczych użytkowników);
- Opóźniona dostawa wiadomości;
- Zakładki do różnych usług i zasobów, przechowywanych na serwerze;
- Powiadomienie o pomyślnym dostarczeniu wiadomości;
- Rozszerzone narzędzia do wyszukiwania wiadomości i filtrowania wyników w historii rozmów;
- Wsparcie pracy w jednym interfejsie z wieloma kontami, na przykład do rozdzielania rozmów służbowych i osobistych;
- Praca w trybie offline z rzeczywistym wysyłaniem napisanych wiadomości oraz odbieraniem zgromadzonych na serwerze wiadomości po nawiązaniu połączenia sieciowego;
- Wsparcie SOCKS5 do przekierowywania bezpośrednich połączeń P2P;
- Wsparcie formatu XML vCard.

Źródło: opennet.ru
