Wreszcie jest nowy transport GG
Od jakiegoś czasu do źródeł transportu GG włączona jest biblioteka libgadu (na dostępnych pakietach z libgadu nie można polegać). W libgadu ostatnio znaleziono poważne błędy, więc trzeba było ją uaktualnić. Przy tej okazji zajrzałem do kodu transportu GG... i wreszcie się porządnie za niego zabrałem, co w rezultacie dało dzisiejsze wydanie wersji 2.2.0.
Od wersji 2.1.0 zmieniło się wiele. Większość jeszcze w lutym. Najważniejsze zmiany to:
- Wspomniane już włączenie libgadu do źródeł transportu.
- Ignorowanie wybranych numerków.
- Ustawianie osobnych statusów dla GG, można też ustawić specjalny status używany podczas niedostępności i niewidzialności.
- Wywalenie całkiem zmiany haseł. Stary kod i tak nie działał z nowym protokołem (wymagającym czytania kodów z obrazków), a nowy protokół byłby dość niepraktyczny w implementacji.
- Kupa różnych poprawek.
- I chyba najważniejsze: obsługa subskrypcji obecności per-kontakt. Teraz powinny działać listy prywatności, ustawianie online/offline dla konkretnych użytkowników, jednokierunkowe subskrypcje (ja go widzę, a on mnie nie) itp.
Z ostatnim punktem związana jest pewna niedogodność: po upgrade'zie
użytkownicy będą musieli potwierdzić autoryzację
dla każdego swojego
kontaktu z GG. To może być bardzo dużo klikania. Użytkownicy niektórych
serwerów mają już to za sobą, więc dobrze wiedzą o co chodzi.
Z poprawek wspomnieć mogę np. rezygnację z używania GIOChannel do czegoś, do czego się zupełnie nie nadają (śledzenie aktywności na sockecie obsługiwanym przez coś innego niż GLib), czy wywalenie zupełnie niepotrzebnego (a pełnego błędów) buforowania danych zapisywanych do strumienia XMPP. Ta druga zmiana podobno spowodowała znacznie zmniejszenie obciążenia w dużych (tysiące zarejestrowanych użytkowników) instalacjach transportu. A to buforowanie miało niby być optymalizacją... Poza tym usunąłem ileś memleaków i innych błędów wykrytych przez Valgrinda.
Wersja z wczorajszego wieczora już podobno całkiem stabilnie działała, a ja mam nadzieję, że dzisiaj nie tylko poprawiłem kilka kolejnych błędów, ale i nie wprowadziłem żadnych nowych. Jednak, jak znam życie, to pewnie za chwilę dostanę parę bugreportów dotyczących jakiś nowych (a może i starych) i strasznie głupich błędów. Jeśli tak, to postaram się szybko wydać poprawioną wersję, jeśli nie, to pewnie kolejne wydanie będzie za jakiś rok albo i później.
Śledzenie komentarzy (RSS)
24 lipca 2005 18:46:48
Czy pomyka to już na którymś z serwerów tak że można przetestować?