Dzisiaj udostępniłem stronę z wersjami Pidgina zawierającymi obsługę GG11. Prawdopodobnie będziemy jeszcze musieli trochę poczekać na oficjalne wydanie, więc przygotowałem ją jako ułatwienie dla osób chcących już teraz testować nowe funkcje, opisywane na tym blogu. Czytaj dalej
Archiwa tagu: Gadu-Gadu
Pidgin jako pierwszy obsługuje nowe transfery plików w GG
Dzisiaj udało mi się stworzyć działającą implementację nowej metody transferu plików z GG11, dzięki czemu Pidgin został pierwszym alternatywnym komunikatorem korzystającym z niej. Jednocześnie udało mi się wypełnić najbardziej oczekiwaną obietnicę z tegorocznego GSoC. Czytaj dalej
Ostatni przystanek przed transferem plików
Właśnie ukończyłem implementację nowego modułu obsługi HTTP w libpurple. Stary sposób obsługi tego protokołu nie pozwalał na porządną implementację transferu plików w GG, więc zamiast bawić się w „drutowanie”, postanowiłem włożyć więcej pracy i zrobić to jak należy. Czytaj dalej
Gadu-Gadu 11 – Pidgin też to ma
Po zakończeniu GSoC nie przestałem pracować nad wsparciem dla GG w Pidginie. Tak właściwie, to najważniejsze postępy w pracach zrobiłem właśnie teraz: udało mi się prawie całkowicie poznać nowy protokół GG11, zaimplementować jego obsługę w libgadu, a następnie w Pidginie. Czytaj dalej
Google Summer of Code – podsumowanie
Google Summer of Code właśnie się zakończył, więc warto się pokusić o małe podsumowanie. Komunikator Pidgin został zaakceptowany wraz z czterema projektami, z których trzy (ten również) zakończyły się sukcesem. Mój projekt trochę się zmienił od czasu zaakceptowania, ale wciąż jestem zadowolony z postępów – możecie to sami ocenić czytając ten post. Niektóre obiecane funkcje nie zostały jeszcze ukończone, głównie z powodu konieczności zmian w libgadu. One kiedyś zostaną zrobione, ale to wymaga czasu: dyskusji, implementacji libgadu, wydania libgadu, aktualizacji libgadu w Pidginie, implementacji w Pidginie i w końcu wydania Pidgina.
Jednak projekt nie był tylko okrajany. Pojawiły się poprawki, które nie były planowane, ale okazały się istotne dla wprowadzenia lepszej jakości obsługi protokołu Gadu-Gadu. To jest miejsce, w którym korzystamy z przejścia na wersję 3.0.0 – mogłem zmieniać co mi się tylko podobało w API libpurple. To również miejsce, w którym zyskują inne protokoły. Czytaj dalej
Finisz GSoC: nowe funkcje, więcej poprawionego kodu
Wczoraj minął ostateczny termin ukończenia projektów. To znaczy, że ta paczka poprawek jest ostatnią przygotowaną w ramach tegorocznego GSoC. Nie jest jednak ostatnią rozwijającą wtyczkę Gadu-Gadu – mam zamiar kontynuować moją pracę w międzyczasie, aby komunikator Pidgin posiadał możliwie aktualne wsparcie dla tego protokołu.
Największą funkcją wykonaną w tym tygodniu jest przeglądanie i edycja danych w katalogu publicznym, z użyciem protokołu GG10.5. Niestety, podobnie jak w przypadku innych funkcji, nie ma w tej chwili możliwości użycia aktualnego protokołu GG11, ponieważ ta usługa wymaga wartości IMToken (niedostępnej w bieżącym libgadu) do uwierzytelniania. Czytaj dalej
Możliwości Libpurple rozszerzone dla lepszej obsługi Gadu-Gadu
Libpurple jest biblioteką z bardzo stabilnym API. Jest to z jednej strony wygodne, ponieważ nawet stare pluginy działają z nowymi wersjami Pidgina. Z drugiej strony krępuje to możliwości rozwoju, dostosowania biblioteki do nowych funkcji obsługiwanych protokołów. Na szczęście, pracujemy nad Pidginem/Libpurple 3.0.0, co oznacza, że można zmieniać API na tyle, ile tylko potrzeba.
W związku z tym, skupiłem się ostatnio na przystosowaniu Libpurple do poprawnej obsługi Gadu-Gadu, tam, gdzie mogło by to nie być możliwe po wydaniu wersji 3.0.0. Na przykład, zaimplementowałem sprawdzanie poprawności nazw użytkownika: GG używa tylko numerów jako identyfikatorów, podczas gdy Pidgin pozwalał na podawanie czegokolwiek. Teraz, dialogi takie jak dodawanie użytkowników, lub konfiguracji konta nie pozwolą na wprowadzenie nieprawidłowego ciągu jako numeru GG. Czytaj dalej
Nowy protokół wysyłania plików odkryty
Udało mi się odkryć protokół wysyłania plików w GG11. Dobra wiadomość jest taka, że zaimplementowałem własnego klienta wysyłającego plik. Zła jest taka, że do autoryzacji potrzebuje on tokenu, który jest wysyłany przez serwer Gadu-Gadu po udanym logowaniu w protokole GG11.
Oznacza to, że Pidgin (a także Kadu) będzie mógł wspierać nową metodę transferu plików dopiero, gdy libgadu będzie obsługiwał protokół GG11. Z kolei implementacja starego protokołu połączeń bezpośrednich przedstawia wątpliwą wartość, skoro producent oryginalnego klienta się z niego wycofuje. Czytaj dalej
Nowa funkcja: synchronizacja listy kontaktów
Ostatnio pracowałem nad nową funkcją: synchronizacją listy kontaktów (#9463). Sieć Gadu-Gadu wspiera ją już od jakiegoś czasu – działa to podobnie, jak w protokole xmpp. Zmiany były dość rozległe, więc nie wszystko może na razie działać idealnie. W związku z tym, przydał by się ktoś, kto by pomógł to testować (w tej chwili da się uruchomić ten kod tylko na systemie Linux). Możecie pytać mnie bezpośrednio o źródła do kompilacji, lub samemu pobrać je bezpośrednio z repozytorium. Jednak przez następny tydzień mogę mieć utrudniony dostęp do internetu, więc ta druga opcja może być rozsądniejsza. Czytaj dalej
Lepsze wsparcie dla przesyłania obrazków i zarządzania kontem
Tym razem skupiłem się na poprawie jakości kodu, co przyniosło poprawki drobnych błędów oraz opisane niżej ulepszenia.
Naprawiłem odbieranie przesyłanych obrazków, które przestało działać po zmianach w API nowego libpurple. Poza tym jest jeszcze jeden problem związany z API: wysyłane obrazki nie wyświetlają się w oknie rozmowy. Nie dotyczy on jednak wtyczki protokołu Gadu-Gadu, a samego komunikatora Pidgin.
Dodana została nowa funkcja: powiadomienia o statusie wysyłania obrazków. Czytaj dalej