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