Changelog
Bieżąca wersja: 2010.2 (20100220)
Raczej maintenance'owy, ale ciekawy release. Zachęcam do lektury changelog'a:
- Highlight: Dodałem obsługę nowego protokołu GG (v8 zgodna z Gadu-Gadu 10) - tym samym możliwe stało się rozmawianie z numerkami większymi od 0x00ffffff.
- Highlight: Wystawiłem do środowiska LUA funkcje umożliwiające obsługę ustawień, a także dodawanie własnych. Przykład w pliku scripts/settings_test.lua.
- Poprawiłem bug związany z kopiowaniem tekstu na 64-bitowych wersjach Linuxa.
- Poprawiłem bug związany z ustawianiem rodzajów powiadomień w popupie.
- Przywróciłem stary, mniej drastyczny sposób zabijania wątków - bez używania pthread_cancel().
- Poprawiłem zamykanie plików historii rozmowy przy wyjściu z aplikacji bez zaznaczonej opcji "Natychmiastowy zapis do pliku".
- Poprawiłem kilka drobiazgów związanych z obsługą sygnałów we wrapperze gdb.
- Poprawiłem bug związany z kierunkiem rozwijania popup'a z powiadomieniem.
- Dodałem do archiwum poprawiony ebuild dla Gentoo.
Wersja 2010.1 (20100101)
Mówisz - masz. Po raz kolejny zadrażniony został temat przeniesienia historii rozmów Unicom'a do
bazy danych SQLite i tym razem, na początku nowej dekady, postanowiłem wreszcie spełnić życzenie mas ;)
Wspólna historia Gadu, Jabber, Tlen, Skype i innych protokołów będzie teraz jeszcze bardziej funkcjonalna,
a korzystanie z niej wydajniejsze.
Równie istotna jest zmiana w sposobie dystrybucji Unicom'a. Od teraz staje się on ponownie darmowy (jednak tylko
do zastosowań niekomercyjnych!), wycofuję się z jakiegokolwiek wsparcia wersji dla Mac OS, a wersje dla Windows (32b) i
Linuxa (32b i 64b) będę udostępniał w postaci jednej paczki.
- Feature: Historia rozmów oparta o SQLite. Aby uruchomić nową funkcjonalność należy w ustawieniach
na zakładce Historia zmienić Silnik na SQLite i zrestartować Unicoma. W systemie musi być obecna biblioteka
libsqlite3.so (Linux) albo sqlite3.dll (Windows). Stare logi można przekonwertować do nowego
formatu korzystając ze skryptu utils/history2sqlite.py (wymagany Python, PyXML i PySQLite).
- Bugfix: Poprawione kilka błędów wykrytych przez podprogramy memcheck (memory leak'i) i helgrind (wyścigi) pakietu Valgrind.
Wersja 2009.2 (20090719)
Sadysta nie rychliwy, ale... znowu wypuszcza dla Was Unicoma dopakowanego kolejnymi feature'ami i bugfixami.
Gadu, Jabber, Tlen, Skype i inne protokoły są teraz jeszcze bardziej dostępne dzięki nowej funkcjonalności -
UniRemote, która pozwala kontrolować instancję Unicoma odpaloną na PC z poziomu telefonu komórkowego.
- Feature: UniRemote pozwala na kontrolowanie instancji Unicoma za pomocą zdalnego klienta.
Funkcjonalność ta jest w swojej istocie zbliżona do rozwiązań typu Fring czy Nimbuzz i była
pomyślana właśnie celem zastosowania w połączeniu z urządzeniami mobilnymi. W odróżnieniu od wymienionych
pozwala jednak na działanie niezależnie od dostawcy serwera, wymaga jedynie komputera, Unicoma oraz urządzenia
mobilnego zdolnego odpalić klienta UniRemote (w chwili obecnej jest dostępny prototypowy klient napisany z
użyciem PyS60, działający na komórkach z systemem Symbian oraz klient pecetowy napisany w .NET-cie).
Więcej szczegółów oraz aktualności związane z UniRemote'em będą dostępne w tym temacie na Forum.
- Feature: Nowy, bardziej czytelny system ustawień.
- Bugfix: Poprawiony błąd w obliczaniu długości tekstowego opisu statusu.
- Bugfix: Poprawiony kolor tick'a w checkbox'ach.
Bieżąca wersja: 2009.1 (20090221)
Unicom ponownie uderza z siłą wodospadu ;) Tym razem Gadu-Gadu, Tlen i Jabber są do Waszej dyspozycji
wraz z obsługą strony kodowej UTF-8 :) Wszystko dzięki upgrade'owi FLTK do wersji 1.3.x-r6530. Kilka grubszych problemów,
które wynikły w związku z tą znaczącą zmianą, udało się na szczęście poprawić, a te pomniejsze (wymienione niżej) są
albo niegroźne, albo zostaną poprawione w kolejnych release'ach. Postępy w pracach nad Unicom'em i nie tylko można
od niedawna śledzić z dość dużą rozdzielczością na blog'u Sadysty.
I to by chyba było na tyle :) Miłego użytkowania!
- Nowość: Użycie biblioteki FLTK w wersji 1.3.x-r6530, która wspiera Unikod. Dzięki temu możliwym stało się
używanie w GUI programu wszelakich esów-floresów z niełacińskich alfabetów. Używając Jabbera można ich nawet używać
mając gwarancję, że druga strona poprawnie je zobaczy. W przypadku GG i Tlena nie jest to już pewne i zależy od klienta.
Unicom z Unicomem sobie pogada krzaczkami nawet i przez GG :)
- Nowość: Od tej pory historia jest przechowywana z użyciem UTF-8. Stare wpisy nie wymagają konwersji, program
automatycznie rozpoznaje, które wpisy są w ISO-8859-2, a które w UTF-8.
- Ulepszenie: Poprawione zachowanie na systemach Linuksowych podczas restartu menedżera tacki systemowej - Unicom już się
nie wywala, lecz spokojnie dodaje swoją ikonę spowrotem.
- Bugfix: Poprawiony błąd w rysowaniu zaznaczonego tekstu w oknie rozmowy.
- Znane problemy: W związku z wewnętrznym przejściem na UTF-8 rozpoznałem następujące problemy, które moim zdaniem nie
wymagają na chwilę obecną żadnych poprawek. Przypominacz rozmowy może chwilowo wyświetlać krzaczki, ponieważ nie rozpoznaje
kodowania ISO-8859-2, w którym są ostatnie wpisy w historii sprzed wersji 2009.1. W miarę kontynuowania rozmów stare wpisy
samoistnie zostaną zastąpione nowymi w stronie kodowej UTF-8. Podobna sytuacja ma miejsce w historii opisów statusowych, jednak tam
należy ręcznie usunąć stare wpisy. Analogiczny problem występuje również w katalogach publicznych Tlen-a oraz GG - z tym jednak użytkownik
nie może zrobić nic. Być może poprawię to w kolejnej wersji.
Wersja 2008.5 (20081130)
Unicom jako komunikator obsługujący GG, Tlen-a i Jabber-a już od dawna cieszył się wieloma unikatowymi w świecie
podobnych programów możliwościami. Jednak aż do tej wersji brakowało mu rzeczy, która wielu użytkownikom wydaje się
być jedną z podstawowych funkcji _każdego_ programu - możliwości dostosowania jego wyglądu do reszty systemu.
Teraz, dzięki nieocenionej pomozy KrzyZaKa, Unicom może pochwalić się dwoma porządnie wyglądającymi skórkami - jasną i ciemną,
które są na tyle uniwersalne, że powinny przypaść do gustu użytkownikom wszystkich wspieranych środowisk niezależnie
od ulubionego tematu kolorystycznego. A jest to mam nadzieję tylko wstęp do potraktowania wyglądu Unicoma, jak i całej
biblioteki FLTK jak najbardziej poważnie!
- Nowość: Elegancka ciemna skórka stworzona przez KrzyZaKa. Ludzie używający ciemnych tematów
wreszcie odetchną z ulgą widząc Unicoma wspasowującego się w ogólny wygląd systemu. Nie zapomnijcie wybrać także
ciemnego stylu treści rozmowy!
- Nowość: Możliwość wyboru skórki z poziomu GUI (ostatnia zakładka w oknie Ustawienia).
- Nowość: Cache'owanie wyników autoryzacji online. Przez 3 dni konto raz autoryzowane online nie będzie
ponownie sprawdzane. Jest to spore udogodnienie na wypadek, gdyby serwer unicom-im.pl był offline.
- Ulepszenie: Znacznie bardziej rozbudowany mechanizm skórkowania. Można ustawić więcej kolorów
i przypisać oddzielne bitmapowe skórki do niemal każdego elementu interfejsu.
- Ulepszenie: Lepsze podświetlanie wybranego tekstu w oknie rozmowy.
- Bugfix: Sortowanie kontaktów na liście znów jest niewrażliwe na wielkość liter.
Wersja 2008.4 (20081015)
W tej odsłonie komunikator Unicom zachwyci Was dzięki:
- Nowość: Dedykowane skórkowanie większości kontrolek w oknach Unicoma. Dużo estetyczniejszy wygląd przycisków,
zakładek, tooltipów i całej reszty. Krzyżakowi jak zawsze dzięki za podkład graficzny.
- Ulepszenie: Rozwinięty metakontakt pokazuje swój prawdziwy stan, a nie najwyższy stan spośród
siebie i metadzieci.
- Bugfix: Szablony okna rozmowy nie ładowały się poprawnie przy pierwszym (po rozpakowaniu do
pustego katalogu) uruchomieniu programu.
- Bugfix: Poprawka segfaulta, który miał miejsce jeśli metakontakt zawierał kontakty tymczasowe lub
ręcznie usunięte pomiędzy kolejnymi uruchomieniami Unicoma.
- Bugfix: Drobne poprawki w skryptach gnupg.lua, unibot.lua oraz update.lua.
Wersja 2008.3+ (20080827)
Multikomunikator Unicom w trzeciej wydanej w tym roku wersji przynosi następujące zmiany:
- Nowość: Obsługa listy kontaktów metodą drag&drop - możliwość przeciągania kontaktów celem
tworzenia metakontaktów oraz przydzielania do grup.
Od dawna pojawiały się głosy mówiące, że obecny sposób zarządzania grupami jest nieakceptowalnie toporny,
teraz wreszcie zostało to poprawione. Jeśli przeciągamy kontakt na dużą odległość, listę można przesuwać
kółkiem myszy lub klawiszami PgUp / PgDown. Możliwe jest także usuwanie kontaktów z metakontaktu oraz z grupy.
W tym celu należy wybrany kontakt przeciągnąć poza obszar listy kontaktów (najprościej na lewo lub na prawo).
- Nowość: Konsola LUA oraz nowy sposób dostępu do danych LUA. Konsola jest dostępna w menu głównym i
umożliwia obsługę systemu skryptów "z palca". Zaś nowy, strukturalny sposób dostępu do danych umożliwia
bardziej intuicyjny i znacznie szerszy dostęp do wewnętrznych danych Unicoma. Szczegóły są opisane na Forum.
- Nowość: Ikona statusu metakontaktu na liście jest od tej pory wybierana spośród statusów metadzieci
oraz metarodzica jako reprezentująca najbardziej dostępny stan. Brzmi to skomplikowanie, ale sprowadza się do
tego, że metakontakt widzimy jako aktywny, jeśli kontakt nadrzędny lub którekolwiek dziecko jest aktywne.
- Nowość: W tooltipach nad metakontaktami widać stan (oraz opis, jeśli włączona jest opcja
"Opisy w tooltipach") rodzica oraz wszystkich dzieci.
- Nowość: Informacja o ostatniej aktywności danego konta w tooltipie nad każdym indykatorem stanu
konta. Pomocne głównie w określaniu przyczyn zrywania lub niemożoności nawiązania połączenia.
- Ulepszenie: Znacząco poprawiony skrypt do obsługi GNU Privacy Guard. Szczegółowy opis zmian oraz
sposobu używania można znaleźć na Forum w dziale Poradniki.
- Ulepszenie: Nowe skróty klawiszowe: do zamykania aktywnej zakładki w oknie rozmowy - Ctrl+W, do
przełączania się na poprzednią / następną zakładkę - Alt+Lewo/Prawo.
- Ulepszenie: Kilka nowych funkcji w API wystawionym do LUA - file_chooser(), findChat() oraz
formatChatMessage(). Szczegóły pojawią się za jakiś czas w Unicom LUA Reference.
- Ulepszenie: Przyspieszone odświeżanie listy kontaktów.
- Bugfix: Mała poprawka w skype_proxy.py. Błąd wywalał proxy jesli edytowaliśmy kontakt, który
był oznaczony jako nasz kumpel ("buddy").
- Bugfix: W wersji Win32, po otrzymaniu wiadomości WM_QUERYENDSESSION, Unicom zamiast poprawnie się
zamknąć czasem zwisał w tle powodując po chwili pojawienie się okna "Oczekiwanie na zakończenie programu..."
przy próbie zamknięcia systemu.
Wersja 2008.2+ (20080801)
- Nowość: EasyXfer, nowy sposób udostępniania plików wykorzystujący popularne i darmowe serwisy
hostingowe typu RapidShare czy ImageShack. Funkcjonalność jest zrealizowana w postaci oddzielnych
skryptów LUA leżących w katalogu easyxfer/ i wymaga zaznaczenia opcji UŻYJ SKRYPTÓW w oknie
konfiguracji oraz restartu jeśli wcześniej była ona niezaznaczona. Następnie w oknie rozmowy wystarczy
wybrać starą ikonkę "Wyślij plik" po czym z rozwijanego menu dostawców wysyłania wybrać "Easy Transfer".
Postęp wysyłania jest śledzony w oknie "Transfery", po zakończeniu odbiorcy zostaje wysłany link
do pliku umieszczonego w serwisu hostującym.
- Nowość: Nowy sposób autoryzacji oparty o pliki licencyjne. Szczegóły są opisane
na forum. Nowy mechanizm eliminuje konieczność
łączenia się z serwerem sadysta.ath.cx za każdym razem gdy uruchamiane jest dane konto.
- Nowość: Obsługa protokołu TOC (prosta warstwa pośrednicząca do protokołu OSCAR używanego w komunikatorze
AIM) w ramach Uniproxy w Pythonie. Dla jasności TOC będzie określany w komunikatorze po prostu jako AIM i
otrzymuje magiczną liczbę Uniproxy równą 1. Używanie nowego proxy wymaga podania w pliku aol_proxy.py swojego
loginu (zmienna aol_screenname) oraz hasła (aol_password).
- Nowość: Eksperymentalna obsługa proxy HTTP. Wszystkie zapytania odbywają się metodą CONNECT, która
oryginalnie była przeznaczona do tunelowania protokołu HTTPS i w związku z tym nie jestem pewien czy działa uniwersalnie
(pewnie zależy to od ustawień serwera proxy). Wspierany rodzaj autoryzacji Basic (dołączanie nagłówka
Proxy-Authorization następuje automatycznie jeśli ustawimy pola "Nazwa użytkownika" i "Hasło").
- Bugfix: Dziwne, że tak długi czas uchodziło to płazem. Wywołanie gethostbyname() nie jest bezpieczne
w aplikacji wielowątkowej i w przypadku wersji dla Linuksa doprowadzało niejednokrotnie do nieudanych prób
nawiązania połączenia. W tej wersji wszystkie wywołania zostały zastąpione funkcją getaddrinfo().
Dla Windy zaś zostaję przy gethostbyname() z dwóch powodów: 1) na tej platformie funkcja wydaje się jakoś
zabezpieczona przed wywołaniem z różnych wątków, 2) getaddrinfo() jest wspierane tylko od XP/2003 wzwyż.
- Bugfix: Pod systemami UNIX-owymi nie działała komunikacja między wątkami jeśli ustawione
było proxy SOCKS5.
- Bugfix: Jeśli jedno z pól kontaktu: email, komórka lub login zawierało znaki z wysokiego ASCII lista
kontaktów nie była poprawnie zapisywana.
- Bugfix: Jeśli włączone było powiadamianie o wiadomości w trayu nie działało powiadamianie dźwiękowe.
Wersja 2.2.0
- Nowość: Nowa kontrolka do wyświetlania wiadomości!!! Działa szybciej, zużywa mniej
pamięci i co najważniejsze umożliwia zaznaczanie i kopiowanie tekstu.
- Nowość: Szablony okna wiadomości pozwalające dopasować wygląd treści rozmowy
do naszych potrzeb. Załączonych jest kilka przykładowych szablonów. Domyślnie aktywny
jest wygląd "all_gray". Do starego wyglądu można powrócić wybierając szablon o nazwie
"old". Ustawienia szablonów dostępne są w nowej zakładce w dialogu Ustawienia. Szerszy
opis szablonów znajduje się na Forum w dziale Poradniki.
- Ulepszenie: Klasa Http poprawnie obsługuje nazwy hostów, które wskazują na więcej niż jeden
adres IP. Po kolei próbuje nawiązać połączenie z każdym z nich, jeśli poprzedni nie odpowiada.
- Bugfix: Drobna poprawka do FLTK przy liczeniu szerokości pojedynczego znaku w stronie kodowej cp1250.
- Bugfix: Jeszcze raz dał się we znaki problem z przycinaniem statusu opisowego do 70 znaków
przy logowaniu do GG i został tym razem definitywnie rozwiązany.
Wersja 2.1.12
- Nowość: Metakontaky. Metakontakt powstaje po doczepieniu do istniejącego kontaktu (metarodzica,
tudzież kontaktu domyślnego) jednego bądź kilku metadzieci. Odbywa się to na nowej, trzeciej zakładce właściwości
kontaktu poprzez zaznaczenie dowolnej ilości wierszy na liście (wiele wierszy można zaznaczać z klawiszem Ctrl bądź
wciskając spację). Metakontakt zachowuje się identycznie jak pierwotny kontakt, jedyna różnica polega
na tym, że obok ikony statusu widnieje pudełko ze znaczkiem plus, a po kliknięciu metakontaktu z
wciśniętym klawiszem Shift znak zmienia się na minus, a pod spodem pojawia się lista doczepionych metadzieci,
które same w sobie też zachowują się tak jak zwykłe kontakty, którymi były wcześniej. Kontakty, które stały się
metadziećmi jednego lub więcej metakontaktów nie są już pokazywane na liście luzem. Można to zmienić używając nowej opcji
"Metadzieci luzem" w menu filtrowania (przycisk z lupą) w oknie głównym.
- Nowość: 64-bitowa wersja Unicoma dla Linuksa.
- Ulepszenie: Zmieniony algorytm autoryzacji pozwoli znowu działać wersjom MacOS/PowerPC, kwestią jest jak
zawsze brak prawdziwego Maca, dlatego release dla tej platformy będzie opóźniony.
- Ulepszenie: Obsługa cdecl_call i std_call na platformach innych niż x86, tj. MacOS/PowerPC oraz Linux/x86_64.
W wypadku x86_64 obie funkcje wywołują w konwencji UNIX64, a na MacOS/PPC cdecl_call wywołuje w konwencji Darwina,
a std_call w konwencji AIX. Może to troche nieintuicyjne, ale dopóki system obcych wywołań nie zostanie przepisany
trzeba po prostu zapamiętać.
- Ulepszenie: "Wysłanie" wiadomości !call w oknie rozmowy z kontaktem Skype powoduje rozpoczęcie
połączenia głosowego z danym kontaktem w oryginalnym kliencie Skype.
- Ulepszenie: Brakujące obrazki w folderze gui/ nie będą już prowadziły do zabicia całego programu,
w ich miejsce rysowane będe czerwone krzyżyki.
- Bugfix: Poprawiony długi czas łączenia z GG.
- Bugfix: Poprawiony SIGSEGV podczas zamykania programu związany z obsługą D-BUS.
- Bugfix: Okienko synchronizacji znów pojawia się przy starcie programu jeśli nie zostało
wyłączone. W wersji 2.1.10 zostało omyłkowo wykomentowane na potrzeby wersji nogui.
- Bugfix: Poprawne przekazywanie parametru UserData w metodzie OnContact w Uniproxy.
Wersja 2.1.10
- Nowość: Build Unicoma dla Linuksa nie korzystający z X11 - niemożliwe? A jednak się udało i to bez
większych ceregieli zależności Unicoma zostały obcięte do standardowych bibliotek C/C++ oraz kilku systemowych
bibliotek Linuksa, typu libdl.so czy linux-gate.so pozwalając tym samym na bezproblemowe uruchamianie programu
na maszynach serwerowych.
- Nowość: Dwie nowe funkcje LUA: sendText() umożliwia wysyłanie wiadomości z poziomu skryptów, a
scriptDebug() pozwala na łatwiejsze odnajdywanie błędów. Ta ostatnia może być wowoływana ręcznie, ale jest
też automatycznie odpalana w wypadku wystąpienia błędów w callbackach. Dokładny opis można odnaleźć w uaktualnionej
i lepiej niż dotychczas uporządkowanej dokumentacji systemu skryptów.
- Nowość: Skrypt unibot.lua demonstrujący, jak w prosty sposób stworzyć bota informacyjnego.
- Nowość: Nowy protokół - Uniproxy pozwalający bardzo łatwo rozszerzać Unicoma o kolejne protokoły
bez ingerencji w kod źródłowy. Działa on na zasadzie proxy - oddzielny program obsługuje protokół, a z Unicomem
komunikuje się przez sockety TCP używając własnego prostego protokołu. Szczegóły na Forum.
- Nowość: Obsługa Skype poprzez Uniproxy oraz Skype4Py. Do poprawnego działania wymagany jest Python 2.5,
moduł Skype4Py, a pod Linuxem dodatkowo dbus-python. Szczegóły na Forum.
- Ulepszenie: Możliwość zmiany kolejności kont na liście. Dwuklik na liście kontaktów otwiera
okno rozmowy używając pierwszego konta danego protokołu z listy, pozostałe dostępne są pod prawym przyciskiem.
Analogicznie w nawigacji klawiaturowej - ENTER otwiera rozmowę używając domyślnego konta, a Shift+ENTER
wyświetla menu kontekstowe to samo co prawy przycisk myszy.
Wersja 2.1.7
- Nowość: Przypominanie wybranej liczny ostatnich linijek rozmowy z danym kontaktem przy rozpoczynaniu nowej.
- Ulepszenie: Obsługa ikony okna w rozmiarze 32x32 przy przełączaniu Alt+Tab pod Windows (poprawka do FLTK).
- Ulepszenie: Obsługa przezroczystości i wielu rozmiarów ikon okna poprzez _NET_WM_ICON pod Linuxem.
- Ulepszenie: Skróty Alt+[0-9] domyślnie przełączają między pierwszymi dziesięcioma zakładkami. Z użyciem kombinacji
Shift+Alt+[0-9] można nadal przypisać skróty do innych zakładek.
- Bugfix: Program czasem wykrzaczał się jeśli więcej niż jedno konto miało włączone jakiś rodzaj szyfrowania.
- Bugfix: Program wykładał się jeśli połaczenie z serwerem Jabbera owijane w SSL nie udało się na
etapie handshake'u.
- Bugfix: Program wykładał się jeśli wybraliśmy opcję "Owiń w SSL" a nastepnie usunęliśmy
bibliotekę GNU TLS.
- Bugfix: Rozmowy Tlenowe i Jabberowe zapoczątkowane przez użytkowników nieobecnych w naszym rosterze
miały zjedzoną nazwę konta w etykiecie zakładki.
Wersja 2.1.6
- Nowość: Powiadomienie o nowych wiadomościach ikoną w trayu. Nową funkcjonalność można aktywować na zakładce Powiadomienia
w oknie Ustawień.
- Nowość: Obsługa wrappera SSL dla Jabbera. Do działania wymaga GNU TLS (podobnie jak do obsługi TLS/SASL). Pozwala
to na połączenie na przykład z Google Talk bez konieczności używania zewnętrznego wrappera. Nową funkcję można aktywować
w ustawieniach konta.
- Nowość: Obsługa D-BUS pod Windows. Może w obliczu nadchodzącego KDE4 dla Win32 to sensowne posunięcie :-)
- Ulepszenie: Format wyświetlania rozmów w trybie tekstowym został zmieniony na "[czas] <ksywa> tekst",
który jest zdecydowanie bardziej przyjazny.
- Ulepszenie: Okienko z informacjami o kontakcie jest uaktualniane także przy poruszaniu się po liście
kontaktów za pomocą klawiatury.
- Ulepszenie: Zaktualizowany plik lang.txt o wpisy z nowych skryptów SMS (patrz: wersja 2.0.0).
- Ulepszenie: W wersji dla Windows ilość mrugnięć belki okna w pasku zadań przy nadejściu nowej
wiadomości została ograniczona do trzech.
- Bugfix: Poprawione podwójne wklejanie tekstu do okna rozmowy przy odkodowywaniu UTF-8 w formacie Firefox'a i Thunderbird'a.
- Bugfix: Poprawione zaznaczania zakładek z nieprzeczytanymi wiadomościami jako przeczytane przy użyciu kombinacji Alt+P (Prune) w
oknie rozmowy.
- Bugfix: Aktualizacja skryptu google.lua w związku ze zmianami na Google'u oraz poprawiony mały bug
w tym skrypcie.
- Bugfix: Zmiana zakładki rolką tylko jeśli mysz jest w pasku zakładek.
- Bugfix: Poprawne ładowanie URL-i z targetem (tekst po #) w oknie rozmowy (poprawka do FLTK).
- Bugfix: Konwersja opisu na CP1250 w pakiecie GG_LOGIN60.
- Bugfix: Kilka drobnych niedociągnięć w różnych miejscach (m.in. podmieniona ikona strzałki
w górę w zarządzaniu grupami).
Wersja 2.1.3
- Nowość: Obsługa szyny komunikacji międzyprocesowej D-BUS. Więcej informacji na Forum.
- Nowość: Callback zmiany statusu oraz funkcja do wysyłania wiadomości w systemie skryptów.
- Nowość: Automatyczne czyszczenie starych zakładek. Zakładki, w których nie ma nieprzeczytanych
wiadomości oraz w których nie było aktywności przez ostatnie 10 minut można zamknąć na raz skrótem Alt+P
(od Purge) w oknie rozmowy.
- Nowość: Możliwość przejścia do okna głównego z poziomu okna rozmów za pomocą skrótu
klawiszowego Alt+O (od Open) dla łatwiejszego otwarcia nowej zakładki rozmowy.
- Ulepszenie: Możliwosć zmiany zakładki rolką myszy.
- Ulepszenie: Możliwość dekodowania Unikodu w formacie \uXXXX (czyli takim jak używa Firefox i Thunderbird
pod Linuksem przy kopiowaniu do schowka) podczas wklejania tekstu do okna rozmowy.
- Ulepszenie: Obsługa (na razie pojedynczego) zaznaczenia na liście za pomocą myszki i klawiatury.
- Bugfix: Niektóre serwery Jabbera (np. jabber.org) nie akceptowały odpowiedzi SASL ponieważ jako username Unicom wysyłał pełen JID.
- Bugfix: Dodanie pustego konta i ponowne wybranie go z listy wywalało Unicoma.
- Bugfix: Ustawienie pustego opisu powodowało dodanie krzaczków do historii opisów.
- Bugfix: Poprawione rozłączanie z serwerem Jabbera w przypadku błędu logowania SASL.
- Bugfix: Poprawne interpretowanie stanz <presence> w protokole Tlen. Błąd pojawił się w wyniku
zmian w protokole, a nie z winy Unicoma.
Wersja 2.1.0
- Nowość: Skrypt do powiadamiania o nowych wiadomościach pod Win32 - snarl_notify. Do działania
wymaga zainstalowanego programu Snarl - www.fullphat.net.
- Nowość: Skrypt do powiadamiania o nowych wiadomościach pod Linuxem - lib_notify. Do działania
wymaga zainstalowanej biblioteki libnotify.
- Ulepszenie: System autoryzacji kont jest od teraz dwupoziomowy. Po pierwsze istnieje lista
kont wkompilowanych w Unicoma (synchronizowana przy każdym wydaniu), a po drugie - baza do autentykacji
online jeśli konto nie znajduje się na liście wbudowanej. Dopiero jeśli wyniki obu prób
autentykacji są negatywne zrywane jest połączenie. Do zarządzania kontami służy panel kontrolny
w postaci strony www.
- Ulepszenie: Odświeżone kilka ikon, które zostało początkowo pominiętych przy dodawaniu
obsługi kanału alpha. Teraz wszystkie są eleganckie. Thx Krzyzak!
- Ulepszenie: Poprawione rysowanie kłódki przy zabezpieczonych połączeniach. Teraz wszystko
jest bardziej wymiarowe.
- Ulepszenie: Ikona Unicoma jest teraz ustawiana jako ikona każdego okna należącego do programu także
pod Linuxem.
- Bugfix: Przy imporcie/eksporcie kontaktów GG pomijany był ostatni kontakt z listy.
- Bugfix: Dodane przerysowanie ikony statusu przy jego zmianie poza menu w oknie głównym (np. z menu w trayu).
- Bugfix: Automatyczne dodawanie "./" do nazwy binarki oraz usuwanie rozszerzenia .exe przy wywołaniu f-cji
exec() pod Linuxem/Mac OS X.
- Bugfix: Funkcja Otwórz URL w menu listy kontaktów nie działała z adresami bez prefiksu protokołu.
- Bugfix: Wreszcie radykalne pozbycie się znaków \r wszędzie tam gdzie są źle wyświetlane przez FLTK (jako ^M).
Do tej pory starałem się je usuwać na poziomie protokołów, ale ponieważ potrafią się one wkraść dosłownie
wszędzie to teraz usuwam je o poziom wyżej.
- Inne kosmetyczne poprawki.
Wersja 2.0.0 [ Zmiana sposobu licencjonowania, Unicom staje się płatny!!! ]
- Nowość: Zupełnie nowy wygląd. Od teraz kolorystyka Unicoma jest opisana przez oddzielny plik
theme.xml, który pozwala osiągnąć naprawdę bardzo wiele jesli idzie o dopasowanie U do osobistych gustów.
- Nowość: Obsługa mechanizmów TLS i SASL dla Jabbera! Więcej szczegółów na forum.
- Nowość: Nowa pozycja w menu akcji kontaktu (prawy przycisk na liście kontaktów) - Otwórz URL. Pozwala
ona szybko otworzyć każdy URL, który znajduje się w opisie kontaktu.
- Nowość: Bardziej kompaktowe ułożenie elementów tam gdzie grało to kluczową rolę, m.in. na liście kontaktów oraz menu w oknie głównym.
- Nowość: Pełna obsługa kanału alpha w ikonach oraz emotikonach.
- Nowość: Możliwość zmiany rozmiaru okienka z informacjami o ostatnio wybranym kontakcie w oknie głównym.
Odbywa się to poprzez zwykłe przeciąganie poziomej belki pomiędzy tym okienkiem, a listą kontaktów.
Rozmiar jest zapamiętywany pomiędzy sesjami. Możliwe jest całkowite ukrycie okienka.
- Nowość: Nowy zestaw funkcji LUA do obsługi HTTP: http_new, http_delete, http_request, http_parser_request,
http_content, http_header, http_result. Dokładny opis znajdzie się w dokumentacji systemu skryptów.
- Nowość: Nowe okienko About ;)
- Ulepszenie: Wreszcie w miarę zgodna z przyjętymi normami obsługa rostera oraz autoryzacji w protokołach Jabber oraz Tlen! Roster znajdujący się na serwerze jest uznawany za nadrzędny wobec listy kontaktów Unicoma i to
z listy kontaktów zostaną usunięte pozycje jeśli nie znajdują się w rosterze. Z kolei obsługa żądań autoryzacji
przestała być automatyczna i w wypadku pojawienia się ich użytkownik otrzyma stosowne informacje.
- Ulepszenie: Obsługa niewidzialności w Jabberze przez Privacy Lists (zgodne z XMPP)!
- Ulepszenie: Bardziej intuicyjna lista kont.
- Ulepszenie: Obsługa numerycznego ENTERa w polu filtrowania kontaktów.
- Ulepszenie: Rozdzielenie hosta i JIDu w ustawieniach kont Jabber i Tlen. Jako login podajemy od teraz
cały JID czyli ksywa@chrome.pl, ksywa@tlen.pl, itd... a host jest traktowany tylko jako miejsce docelowe połączenia.
Umożliwia to użycie m.in. tuneli SSL.
- Ulepszenie: Wycinanie znaków nowej linii oraz skracanie długości opisów wyświetlanych w oknie rozmowy.
- Ulepszenie: Dodane szyfrowanie haseł bramek SMS.
- Ulepszenie: Zaktualizowane bramki SMS: Orange, Plus GSM, Multi Box i Miasto Plusa. Pozostałe
zostały przeniesione do podkatalogu unverified jako, że nie mam jak ich testować.
- Ulepszenie: Dodany licznik znaków w okienku wysyłania SMS. Ilość wiadomości jakie zostaną wysłane jest szacunkowa
i równa się ilości znaków podzielonych przez 120.
- Ulepszenie: W systemie skryptowym SMS pole recipient od teraz zawsze będzie zawierało numer
z prefiksem na początku. Upraszcza to niektóre skrypty.
- Bugfix: Anulowanie procesu synchronizacji nie może już doprowadzić do zawiśnięcia programu.
- Bugfix: Podczas pobierania token_id nie był obcinany znak CR, co od pewnego czasu (zapewne po zmianach
wprowadzonych na serwerach) uniemożliwiało rejestrację konta itp.
- Bugfix: Poprawna obsługa wysyłania obrazków (GG) ze znakiem "_" w ścieżce dostępu.
- Bugfix: Poprawne otwieranie linków z prefiksem protokołu zawierającym wielkie litery (np. HTTP:// zamiast http://).
- Bugfix: Poprawne wyświetlanie znaków @ z opisów w tooltipach w oknie głównym.
- Bugfix: Odczyt danych naszego profilu GG w przypadku braku tych danych (np. jeszcze nieustawione)
nie powoduje błedu obsługi pamięci.
- Bugfix: W oknie ustawień wyświetlonym podczas odpalania programu została zablokowana edycja
kont, ponieważ prowadzi to do błędów jeśli nie jest uruchomiony cały program.
- Bugfix: Nazwy grup nie mogły zawierać polskich znaków!!!
- Bugfix: Poprawione błędne zapytanie HTTP do hub-a GG przez które U zawsze korzystał tylko z
wbudowanej listy serwerów GG.
Wersja 1.2.3
- Nowość: Obsługa synchronizacji ustawień oraz logów Unicoma przez serwer FTP. Proszę przeczytać plik README.TXT!!!
- Nowość: Nowy skrypt - Google. Po wysłaniu tekstu "!g x q" wyświetlonych zostanie x pierwszych
odpowiedzi Google'a na zapytanie q. x można pominąć, domyślnie jest ustawione na 3.
- Ulepszenie: Przycisk szybkiej edycji kontaktu w oknie Rozmowy.
- Ulepszenie: Usuwanie kontaktu z otwartymi zakładkami rozmowy jest od teraz
natychmiastowe - zakładki są zamykane automatycznie. Poprzednie zachowanie można uzyskać
ręcznie zaznaczając kontakt jako tymczasowy.
- Ulepszenie: Szybszy i pewniejszy sposób rozłączania z serwerami IM.
- Ulepszenie: Uaktualniona lista serwerów GG.
- Bugfix: Poprawne wyświetlanie opisów wielolinijkowych na liście kontaktów.
- Bugfix: Niewielka korekta prostego algorytmu szyfrującego hasła w plikach
konfiguracyjnych. Teraz już każde hasło powinno być szyfrowane poprawnie.
- Bugfix: Poprawione kilka drobnych błędów.
Wersja 1.2.1
- Nowość: Opisy na liście kontaktów, do wyboru nieekskluzywnie z opisami w tooltipach.
- Ulepszenie: Dodatkowe oznaczenia wiadomości przychodzących/wychodzących w tekstowym widoku rozmowy.
- Ulepszenie: Przy pytaniu o zgodę na odebranie pliku w GG podawana jest nazwa użytkownika wysyłającego.
- Zmiany w wersji dla Mac OS X:
- Nowość: Dodany skrypt macnotify.lua, który wyświetla powiadomienia o nowych wiadomościach korzystając z
globalnego systemu powiadomień - Growl (http://growl.info) oraz programu iconv do konwersji tekstu na UTF-8.
Oba muszą być już obecne w systemie.
- Bugfix: Poprawne zamykanie aplikacji także po wybraniu Quit z Paska Menu, a nie z Dock'a.
- Bugfix: Unicom już się nie "gubi" po zamknięciu głównego okienka. Można je spowrotem pokazać klikając
na ikonę w Dock'u.
- Bugfix: Ikona w Dock'u już nie zaczyna podskakiwać jeśli podczas nadejścia wiadomości aktywne było jakiekolwiek
okno Unicoma.
- Bugfix: Polskie znaki są zamieniane na ich łacińskie odpowiedniki podczas wyświetlania. Jest to chwilowe obejście
problemu krzaczków. Logowanie jest w ISO-8859-2 także nie tracimy informacji.
- Bugfix: Plik lang.txt jest już ładowany we właściwym momencie w związku z tym także menu w oknie głównym
są spolonizowane.
- Inne: Update pliku readme.txt o listę znanych problemów z Unicomem pod Mac OS X (sekcja Wady).
Wersja 1.2.0
- Nowość: Zmobilizowałem się wreszcie do nie czekania na FLTK 2.0 i dodałem obsługę polskich ogonków
do bieżącej wersji biblioteki oraz programu.
- Nowość: Tekst wiadomości jest teraz przechowywany w Historii dokładnie w takiej formie jak został
wysłany/odebrany przy użyciu kodowania ISO8859-2. Poprzednio był zapisywany w formie ISO8859-1 przetworzonej funkcją
htmlspecialchars(). Konieczne jest "zapuszczenie" programu UNQUOTE (jest w każdej paczce),
żeby uaktualnić archiwum!!!
- Nowość: Możliwość WYSZUKIWANIA W HISTORII. Jako kryteria można obrać kontakt, przedział czasowy
oraz obecność zadanego tekstu w treści rozmowy (możliwość podania za pomocą wyrażenia regularnego)!!!
- Nowość: Możliwość wyszukiwania zadanego tekstu w widoku tekstowym Historii. Narazie niestety brak obsługi
wyrażeń regularnych. Działa za to kryterium wielkości liter.
- Nowość: Możliwość usunięcia logów rozmów dla danego kontaktu z poziomu okna Historii. Wkrótce będzie też
można usuwać pojedyncze rozmowy oraz kompaktować archiwum.
- Nowość: Zupełnie nowy layout okna ustawień z ikonami autorstwa KRZYzaK'a. Wielkie dzięki dla
naszego grafika!!!
- Nowość: Nowa grafika w zakładce Grupy w edycji kontaktu.
- Nowość: Opcja "Łącz ponownie" nie ma od teraz znaczenia w przypadku akcji użytkownika
(zmiana statusu na inny niż "Niedostępny") - ponowne połączenie następuje niezależnie od
ustawienia tej opcji.
- Nowość: Wykrywanie e-maili w tekście rozmowy i dodawanie do Zbieracza Danych.
- Nowość: Nowy, wydajniejszy i dużo potężniejszy sposób obsługi wyrażeń regularnych. Użyłem osobnej biblioteki
libPCRE, której funkcje pcre_compile(), pcre_exec() oraz pcre_free() wystawiłem też do użytku przez LUA.
- Nowość: Dodatkowy stopień przetwarzania tekstu wiadomości na potrzeby wyświetlania w kontrolce HTML.
Od teraz to właśnie tutaj następuje wykrywanie URL-i, emaili, itd. Dostępne także w LUA jako handler "fmtMsgTxt".
- Nowość: Możliwość oddzielnego włączania/wyłączania logowania do pliku i do okna Debug. Wyłączenie tej ostatniej opcji
jest sensowne ze względu na sporą ilość pamięci, którą pożera kontrolka Fl_Text_Display i Fl_Text_Buffer zwłaszcza, że
logowanych jest bardzo dużo informacji!!!
- Nowość: Możliwość usunięcia opisu z historii opisów.
- Bugfix: Anulowanie okna wyboru pliku do wysłania prowadziło do wystąpienia wyjątku w programie.
- Bugfix: Wystąpienie znaków o kodach powyżej 0x7F w Zbieraczu Danych prowadziło do utraty wszystkich
wpisów.
- Bugfix: Odebranie stanzy XML z rodzaju <message type="error" /> w Tlenie prowadziło do wysypania
programu.
- Bugfix: W funkcji do obsługi przezroczystości okna dla Linuxa był wyciek pamięci.
- Bugfix: Obsługa tokenów GG była sztywno uzależniona od długości ID tokena, w związku z tym przy wydłużeniu
tegoż przestała działać.
Wersja 1.1.17
- Nowość: Automatyczne wykrywanie lokalnego IP na potrzeby transferów. Specjalnie dla JKM :-)
- Update: Obsługa nowych tokenów Gadu-Gadu.
- Bugfix: Błąd podczas jednej próby pobrania tokena GG blokował wszystkie kolejne próby.
- Bugfix: Poprawione funkcje LUA obsługujące status (dostosowane do nowej organizacji historii opisów).
- Bugfix: Zabezpieczenie przed próbą wysłania nieistniejącego pliku (np. ścieżka wklepana "z palca").
- Bugfix: Czasami po nieudanym logowaniu w protokole Jabber/Tlen program się zawieszał.
- Bugfix: Czas wysłania wiadomości nie zawsze był wyświetlany zgodnie z zamierzonym formatem.
- Bugfix: Poprawione przycinanie wiadomości GG do limitu 1989 znaków.
Wersja 1.1.16
- Długo oczekiwany NOWY FORMAT HISTORII. Moje logi, które ważyły na dysku 9.2MB "skurczyły się"
do 3.3MB. Zostało to osiągnięte dzięki znacznemu zmniejszeniu fragmentacji poprzez logowanie
w dużych plikach, a do podziału na sesje użycie osobnych plików indeksujących. Aby zachować stare
logi należy przekonwertować je do nowego formatu używając programu CONVERT_LOGS. Jest on dostępny
we wszystkich paczkach Unicoma. Aby poprawnie działać jako katalog roboczy musi konieczne widzieć ten,
w którym znajduje się dotychczasowy katalog logs/. Po dokonaniu konwersji można usunąć stare pliki logów.
Najprościej wywalić po konwersji z katalogu logs/ wszystko oprócz katalogów sms/, gadu-gadu/, jabber/, tlen/
oraz unilan/. UWAGA! Aby zsynchronizować pliki logów w nowym formacie (np. między dwoma komputerami)
nie wystarczy, jak dotychczas tylko ich skopiować! Zwykłe skopiowanie może doprowadzić nawet do utraty części
logów na komputerze docelowym!!! Do synchronizacji logów opracowałem osobny program MERGE_LOGS, który umożliwia
automatyczną synchronizację plików w nowym formacie.
- Komunikacja międzywątkowa na systemach UNIX-owych odbywa się teraz poprzez użycie unix domain sockets.
Dzięki temu zostaje więcej wolnych portów TCP. Nowe sockety mają nazwy postaci tmp/unicom-PID.socket,
gdzie w miejsce PID wstawiany jest ID procesu Unicoma. Dzięki użyciu katalogu tmp/ Unicom automatycznie
usuwa zużyte sockety przy starcie. Ponadto nowy sposób komunikacji winien być trochę wydajniejszy
niż dotychczasowy. Niestety nie ma możliwości zaimplementowania analogicznej funkcjonalności pod systemem
Windows.
- Do okienka rozmowy został dodany obrazek w tle (widoczny tylko w trybie HTML). Obrazek można podmieniać
poprzez plik gui/chat_bg.png. Miłej zabawy :-)
- Ulepszenie: Obsługa przedrostków https:// oraz ftp:// przy wykrywaniu URL-i.
- Ulepszenie: L-klik w Zbieraczu Danych powoduje otwarcie linka, a P-klik otwiera menu podręczne.
- Ulepszenie: Historia opisów w formie listy, a nie rozwijanego menu jak dotychczas.
- Ulepszenie: Odwrócona kolejność wyświetlania elementów w Historii, Zbieraczu Danych oraz Historii Opisów. Teraz
nowsze elementy są wyświetlane na początku listy.
- Ulepszenie: Ochrona przed niepoprawnymi odpowiedziami serwera w katalogu publicznym GG.
- Ulepszenie: Wprowadzona korekta czasu wysłania wiadomości w protokole Tlen. Nie wiedzieć czemu serwer
Tlena zapodaje czas UTC -1. Zgodnie ze standardami winien UTC, a jeśli już koniecznie chcą po swojemu
to mogliby dawać czas lokalny w Polsce czyli w tym momencie UTC +1 (latem +2)...
- Ulepszenie: Jeśli na liście kontaktów nie był wyświetlany nagłówek żadnej grupy poplątaniu ulegały
kolory wierszy kontaktów.
- Ulepszenie: Asynchroniczna obsługa HTTP przy obsłudze konta Gadu-Gadu. Należy poczekać aż pojawi się obrazek
tokena, dopiero wtedy można wysłać zapytanie. Okienko formularza zniknia, a po chwili pojawi się wiadomość
o rezultacie operacji.
- Ulepszenie: Uproszczone logowanie na serwery Jabbera bez TLS. Serwer nie jest niepotrzebnie odpytywany
o wsparcie dla szyfrowania skoro Unicom i tak na razie go nie obsługuje.
- Poprawiony bug: Wybranie nazwy pliku zawierającej znaki spoza dolnych 64 bajtów ASCII w dowolnym
polu w oknie Ustawień mogło doprowadzić do ich utraty w całości. Dziękuję JKM za wytropienie błędu :-)
- Poprawiony bug: Kliknięcie w pustym Zbieraczu Danych wywalało Unicoma.
- Poprawiony bug: Przy uruchamianiu oraz zamykaniu Unicoma źle były ustawiane statusy opisowe w protokole Tlen.
Ręczna zmiana statusu działała dobrze.
- Poprawiony bug: Odpalenie drugiej sesji Unicoma przy posiadaniu kont Jabbera i/lub Tlena doprowadzało do
wywalenia pierwszej.
- Poprawiony bug: Adresy WWW zawierające niektóre znaki specjalne mogły być niepoprawnie otwierane
w przeglądarce.
- Poprawiony bug: Przy każdej zmianie naszego statusu z "Niedostępny" na inny dodawany był
kolejny timer monitorujący stan połączeń.
- Poprawiony bug: Przy zerwaniu połączenia można było utracić poprawność śledzenia statusu kontaktu
w oknie Rozmowy.
- Poprawiony bug: Zmiana statusu na Niedostępny przy użyciu menu kontekstowego ikony na tacce systemowej
powodowała usunięcie separatora z menu statusu w oknie głównym.
- Poprawiony bug (FLTK): Przy otwieraniu okna zawierającego widget Fl_Browser (np. Zbieracz Danych) tekst
w nim rysował się podwójnie powodując efekt pogrubienia.
- Poprawiony bug (FLTK): Przejechanie myszką nad widgetem Fl_File_Input (np. w zakładcie Ustawienia Linux/OSX)
powodowało narysowanie dodatkowego obramowania.
- Kilka poprawek pomniejszych, niegroźnych bugów.
Wersja 1.1.13
- Użycie wersji CVS r4713 biblioteki FLTK-1.1.x, w której poprawiono m.in. wyświetlanie tekstu z podkreśleniem
zawierającego spacje, obsługę kolorów systemowych oraz problem z kopiowaniem tekstu w Fl_Text_Display.
- Nowe skróty klawiszowe: Alt + K zamyka bieżącą zakładkę, Shift + Enter przechodzi do następnej
linii w trybie wysyłania Enterem lub wysyła wiadomość w trybie wielolinijkowym.
- We wszystkich protokołach rozpoznawana jest godzina wysłania wiadomości. Jeśli różnica między
czasem wysłania, a odebrania nie przekracza 1 minuty, czasy traktowane są jako równe i wyświetlony
zostanie jedynie czas odebrania. Jeśli różnica jest co najmniej 1-minutowa, ale wiadomość
została wysłana tego samego dnia co odebrana, w oknie wiadomości do czasu odebrania zostanie dopisana
tylko godzina wysłania wiadomości. Jeśli zaś wiadomość została wysłana innego dnia, w oknie wiadomości
pokaże się pełna data i godzina wysłania wiadomości. Wszystkie te dane są też zapisywane w historii.
Uwaga: w protokole Jabber obecność omawianej funkcjonalności zależy od tego czy serwer obsługuje
rozszerzenie jabber:x:delay. Przez większość serwerów jest ono obsługiwane.
- Zgodnie z popularnym życzeniem dodałem zaznaczanie kontaktów jako niedostępne przy utracie połączenia
na wszystkich kontach związanych z danym protokołem.
- Równie popularna była prośba o natychmiastowe łączenie po zmianie statusu z "Niedostępny" na
jakikolwiek inny. Jej także postanowiłem zadośćuczynić.
- Obsługa niewidoczności dla Jabbera poprzez <presence type="invisible" />. Jeśli serwer
nie obsługuje to i tak nie powinien nas wywalić tylko uczynić widocznymi jako Dostępny.
- W protokole GG jesteśmy od teraz zawsze w trybie "tylko dla przyjaciół".
- Ulepszenie: Przyciski z podpiętym menu (np. przyciski w oknie głównym) są wyświetlane jako
wciśnięte, gdy menu jest otwarte.
- Ulepszenie: Kolor linków używany kiedyś na liście kontaktów jest teraz uwzględniany
w oknie rozmowy, historii i informacji o kontakcie.
- Ulepszenie: Zamknięcie bieżącej zakładki zawsze aktywowało ostatnią. Teraz aktywną
zakładką staje się pierwsza z prawej (chyba, że nie istnieje).
- Ulepszenie: Wykrywanie adresów URL w wiadomościach wielolinijkowych.
- Poprawiony bug: Jeśli przyszła do nas wiadomość, gdy mieliśmy otwarte jakiekolwiek menu, okno rozmów
było wyświetlane niepoprawnie albo wcale. Błąd występował tylko pod Win32 i był spowodowany przez FLTK.
Tam też go poprawiłem. Od tego momentu FLTK rozpowszechniane z Unicomem nie jest binarnie zgodne z
oficjalną dystrybucją.
- Poprawiony bug: Działa wreszcie ikona Unicoma na tacce systemowej w środowisku GNOME. Rozwiązanie
problemu podsunął zwierzak, za co niech będą mu dzięki :)
- Poprawiony bug: Przełączanie między zakładkami zawsze usuwało podświetlenie ostatniej zakładki.
- Poprawiony bug: W pewnej bardzo rzadko spotykanej sytuacji zerwanie połączenia w protokołach Jabber/Tlen
mogło doprowadzić do wejścia w nieskończoną pętlę.
- Poprawiony bug: Powiadomienie o zmianie statusu w oknie rozmowy mogło nie zadziałać, gdy mieliśmy
więcej niż jedno konto w danym protokole.
- Poprawiony bug: Wysyłanie plików w protokole GG mogło spowodować zwis Unicoma jeśli wystąpiły błędy
odczytu z pliku.
- Poprawiony bug: Jeśli mieliśmy więcej niż jedno konto GG to mogły wystąpić problemy z przesyłaniem
plików.
Wersja 1.1.11
- Nowe przydatne skróty klawiszowe w oknie Rozmowy. Wciskając Alt + N zostaniemy automatycznie
przeniesieni do pierwszej zakładki zawierającej nowe wiadomości. Z kolei używając kombinacji
Alt + Shift + liczba z przedziału 0-9 przypiszemy do bieżącej zakładki skrót, którym następnie
możemy ją przywołać wciskając Alt + wybrana liczba.
- Obsługa konferencji w protokole GG. Kontakty konferencyjne można stworzyć podając jako login
listę numerów GG oddzielonych średnikami, np. 1;2;3;4. Przy odbieraniu konferencji o nowym składzie
tworzony jest kontakt o nazwie MultiXXXX, gdzie w miejsce XXXX wstawiona jest pewna liczba i od niego
odbieramy wiadomości konferencyjne. Każda wiadomość otrzymuje jednak przedrostek [Nazwa Nadawcy],
żeby było wiadomo, który uczestnik konferencji ją wysłał. Automatycznie utworzone kontakty
konferencyjne mają ustawiony atrybut "tymczasowy", tzn. znikają po restarcie programu, jednak
można je oczywiście "utrwalić" dokonując edycji kontaktu.
- W uprzypadku protokołu GG, w oknie informacyjnym kontaktu jest pokazywany jego numer IP i port.
- Dodatkowe opcje filtru listy kontaktów: możliwość ukrycia kontaktów tymczasowych oraz ignorowanych.
- Usuniete tytuły popup menu Wybierz konto i Wybierz akcję w oknie głównym oraz Zbieracza Danych.
- Wciśnięcie Enter w polu tekstowym filtru listy kontaktów powoduje otwarcie okna rozmowy z pierwszym
kontaktem spełniającym zadane kryteria.
- W oknie rozmowy oraz historii można zmienić kontrolkę HTML na zwykłe pole tekstowe, z którego możliwe
jest kopiowanie. Pozwala to częściowo obejść drażniący brak możliwości zaznaczania tekstu w kontrolce HTML w FLTK.
- Wskaźnik długości opisu w oknie ustawiania opisu.
- Poprawione niedociągnięcie: nieaktywne konta nie pojawiają się do wyboru w menu przy rozpoczynaniu rozmowy.
- Obsługa nowego protokołu - UniLAN. Jest to najzwyklejszy w świecie lan chat oparty na protokole UDP, w związku
z tym przeznaczony do prawdziwych sieci lokalnych, w których pakiety nie są tracone, a nie do otwartego Internetu.
Obsługa jest banalnie prosta. Dodajemy konto typu UniLAN, jedyne pola jakie wypełniamy to port oraz login.
Na zadanym porcie Unicom będzie nasłuchiwał nadchodzących wiadomości, natomiast login może być zupełnie dowolny,
na razie nie jest do niczego wykorzystywany, ale MUSI być obecny. Dodając kontakt typu UniLAN jako login podajemy
tekst postaci ip:port, gdzie ip to oczywiście adres IP komputera osoby, z którą chcemy rozmawiać, a port
to liczba, którą wpisał w pole port zakładając własne konto UniLAN w Unicomie.
Wersja 1.1.9
- Przejście na wersję CVS r4608 biblioteki FLTK-1.1.x, w której rozwiązano kilka nękających użytkowników
Unicoma problemów, w szczególności kierunek rozwijania menu oraz problemy z funkcjami kopiuj/wklej.
- Dodane wysyłanie obrazków w protokole GG. Odberane obrazki są zapisywne i przechowywane w katalogu images/.
- Poprawione wycinanie znaków końca linii przy ładowaniu historii. Poprzedni mechanizm potrafił czasem źle
wczytać adresy URL użyte w rozmowach.
- Nowe funkcje systemu skryptów:
- disp (lightuserdata, int) pozwala wprowadzić przesunięcie o zadaną liczbę bajtów we wskaźniku
pochodzącym spoza LUA
- rdBytes (lightuserdata, int), rdInt (lightuserdata), rdShort (lightuserdata),
rdByte (lightuserdata), rdPtr (lightuserdata), wrBytes (lightuserdata, string, int),
wrInt (lightuserdata, int), wrShort (lightuserdata, int), wrByte (lightuserdata, int),
wrPtr (lightuserdata, lightuserdata), które wraz z ww. oraz istniejącymi to_string i to_number
umożliwiają swobodną manipulację strukturami spoza LUA
- addItem (lightuserdata, string label, string cb, string img, int flags, lightuserdata param)
dodaje element do menu lub toolbar'a podanego jako 1-szy parametr
- getParent (lightuserdata) znajduje rodzica podanego jako parametr widgeta
- getUserdata (lightuserdata) odczytuje dane użytkownika dla danego widgeta
- setUserdata (lightuserdata, lightuserdata) ustawia dane użytkownika dla danego widgeta
- getLabel (lightuserdata) zwraca tekst etykiety danego widgeta
- setLabel (lightuserdata, string) ustawia tekst etykiety danego widgeta
- insertToChat (lightuserdata, string) wstawia zadany fragment kodu html bezposrednio do pola
rozmowy w podanej jako 1-szy argument zakladce rozmowy.
- findContact (int) zwraca nil gdy kontakt o podanym id nie jest na naszej liście lub w przeciwnym razie
kolejno nazwę, numer protokołu, login oraz flagi "ignoruj", "kontakt tymczasowy" i
"nie ufaj kontaktowi"
- bitAnd (int, int), bitOr (int, int), bitNot (int) będące odpowiednikami operatorów &, | oraz ~ w C.
- Nowy handler systemu skryptów: openChat (acct_id, ctct_id, acct, ctct, chat, toolbar) wywoływany
podczas tworzenia nowej zakładki rozmowy.
- Rozszerzone działanie handlera recvMsg, zwrócenie pustego stringa, tj. "" umożliwia zignorowanie
wiadomości.
- Uaktualniony skrypt bramki SMS Idea/Orange.
- Spolszczona zakładka Linux/OSX w Ustawieniach i parę innych przeoczonych wcześniej miejsc.
- Uaktualniona wbudowana lista serwerów GG oraz poprawiony nieco mechanizm łączenia w tym protokole.
- Nowy skrypt: antyspam. Umożliwia ignorowanie (tymczasowe lub permanentne) wiadomości od ludzi spoza naszej
listy kontaktów, ewentualnie tylko takich którzy podesłali nam adresy www.
- Dodane sortowanie alfabetyczne w oknie Historii.
- Drobna poprawka zachowania ikony w tray'u, teraz reaguje na zwolnienie nad nią wcześniej wciśniętego
klawisza. Pozwoliło to rozwiązać niewielkie problemy z menu kontekstowym pod Windows.
- Poprawiony kod odpowiedzialny za przywracanie ikony w tray'u po padzie Explorera.
- Niezależnie od sposobu zmiany zakładki w oknie rozmowy fokus jest przenoszony do pola edycji tekstu.
- Nowy, lepszy sposób obsługi błędów krytycznych w programie pod Linuxem. Teraz używając (w zależności od dostępności)
programów xmessage, kdialog lub xdialog po każdym wywaleniu się Unicoma wyskakuje stosowny komunikat wraz z logiem GDB.
Wersja 1.1.7
- Duża zmiana jeśli idzie o listę kontaktów. Nastąpił wielce pożądany przez użytkowników powrót
do korzeni, tj. do Free GG. Lista jest teraz kompaktowa, a opisy kontaktów wyskakują w postaci
tooltipów po najechaniu myszą.
- Grupy kontaktów są rozwijane (stan jest zapisywany w pliku) oraz wyświetlają ilość kontaktów
w następującym formacie: wyświetlane (te które przeszły przez filtr) / wszystkie w grupie / te, które należą
do grupy i są w tej chwili online.
- Do systemu filtrowania doszły dwie nowe możliwości: pokazywania tylko kontaktów aktywnych oraz
tych, które mają ustawiony opis.
- Dodane powiadamianie o zmianach statusu kontaktu w oknie rozmowy.
- Dodany mechanizm konwertowania polskich ogonków z ISO-8859-2 w Tlenie na bezogonkowe odpowiedniki z
ISO-8859-1. Jest to kolejne tymczasowe rozwiązanie problemu ogonków przed pojawieniem się wsparcia
dla Unicode w bibliotece FLTK.
- Dodana opcja importu/eksportu kontaktów Gadu-Gadu z/do pliku. Dostępna poprzez Ustawienia -> Konta
-> Dodatkowe.
- Poprawiony bug: log rozmowy nie był zamykany wraz z zamknięciem zakładki co przy dłuższym używaniu
nieraz prowadziło do dziesiątek bezsensownie otwartych plików.
- W wersji dla Linuxa/MacOSX dla pozbycia się procesów zombie nie jest już używana funkcja waitpid()
tylko podwójny fork() i osierocenie procesu-wnuka. Wydaje się to być skuteczniejszym mechanizmem.
Wersja 1.1.5
- Dodane wyszukiwanie na liście kontaktów
- Grupa wbudowana "Wszyscy" została zamieniona na "Bez grupy" i takie też kontakty zawiera
- Dodana historia wysłanych wiadomości, obsługuje się przez Ctrl + strzałki w górę i w dół
- Sortowanie listy kontaktów nie uwzględnia już wielkości liter, jedynie ich położenie w alfabecie
- Poprawiony błąd z wzajemną zamianą płci w wyszukiwaniu w katalogu Gadu-Gadu
- Poprawiony błąd z brakiem obrazków na toolbarze w oknie rozmów pod Mac OS X
- Poprawiony problem z przenoszeniem fokusu do okna rozmowy pod Linuxem
- Dodane proste (naprawdę proste!) szyfrowanie haseł w pliku ustawień. Jeśli upgrade'ujemy poprzednią wersję
konieczne jest ich ponowne podanie, w przeciwnym razie nie uda się nam zalogować na konta
- Dodane wysyłanie wiadomości Enterem z klawiatury numerycznej
Wersja 1.1.4
- Mocno udoskonalony mechanizm skryptów:
- Możliwość otwierania bilbiotek systemowych i wykorzystywania
zawartych w nich funkcji (tylko na x86)
- Udostępnienie tych wszystkich funkcji, które były dostępne w skryptach SMS
- Obsługa wątków (combo LUA + pthreads)
- Obsługa timerów
- W oknie głównym dodane pole informujące o stanie połączenia wszystkich zdefiniowanych kont
- Dodany "Zbieracz Danych", który kolekcjonuje adresy www, które przewijają się przez komunikator,
a w przyszłości będzie też zbierał maile, UIN-y i numery komórek oraz innego rodzaju dane kontaktowe. Dostępny
jest z menu Kontakty
- Poprawione menu w trayu dla Windows, poprzednio nie dało się go anulować bez wybierania opcji,
a czasem wogóle się nie pojawiało
- Dodatkowe wyróżnienie aktywnej zakładki w oknie "Rozmowy"
- Kosmetyczne zmiany w niektórych dialogach
- Przycinanie długości wiadomości GG do wymaganej przez protokół
- Mimetex reaguje teraz takze na tagi <tex></tex> dla zgodności z odpowiednią wtyczką dla Kadu
- Zredukowana ilość odświeżeń liczby kontaktów, a co za tym idzie - mniejsze zużycie procesora
- Poprawna reakcja na zdarzenie zamykania aplikacji pod Mac OS X
- Przyspieszone zamykanie programu
Wersja 1.1.3
- Kolejna poprawka focusu w okienku rozmowy: focus nie wracał do pola tekstowego po przełączeniu
do okna rozmowy
- Poprawiony urlencoding w oknie Historii
- Dodane dekodowanie UTF-8 w Jabberze, polskie znaki sa przedstawiane w postaci bez ogonków,
tzn. ś jako s, ą jako a itd. Niepolskie znaczki spoza ISO-8859-1 są przedstawiane jako
znaki zapytania.
- Dodana obsługa wyszukiwana w usługach w Jabberze, działają więc już katalogi użytkowników
- Poprawione zawijanie wierszy w polu wiadomości w oknie SMS
- Dodany skrypt detekujący emotikony (podziękowania dla Darka, który udoskonalił go o obsługę
"nosków" oraz wielokrotne nawiasy)
- Poprawiony błąd podczas dodawania kontaktu gdy odpowiednie konto nie jest połączone z serwerem
- Patch dla Fl::add_fd() z FLTK został rozszerzony na wszystkie OS-y, ponieważ nawet pod Windą zdarzały
się związane z tym problemem zwisy
- W konfiguracji kont pod przyciskiem "Dodatk." oraz w oknie rozmowy pojawiają się teraz
tylko dodatkowe opcje specyficzne dla danego protokołu, a nie jak dotychczas dwupoziomowe menu,
z którego samemu trzeba było wybrać protokół. W związku z tym trochę inaczej należy teraz tworzyć
nowe konto GG, najpierw trzeba dodać konto GG bez UIN-u, później z menu "Dodatk."
wybrać opcję "Nowe Konto", a następnie wpisać uzyskany UIN i zapisać ustawienia konta.
Wersja 1.1.2
- Dodane nowe logo, ikony statusów oraz ikony w oknie rozmowy, wszystko autorstwa KRZYzaKa
- Dodana obsługa proxy SOCKS5 globalnie dla całej komunikacji sieciowej w programie
- Zaczątki wykrywania usług w Jabberze, ale jest już na tyle dużo, że powinno dać się zarejestrować
w transportach
- Poprawione wyświetlanie większej ilości zakładek w oknie rozmowy
- Pole z tekstem dziennika zostało przeniesione do osobnego okna (dostępne przez menu Unicom -> Debug)
- Poprawka transferów GG dla Mac OS X (Big Endian)
- Statusy rozszerzone do Jabberowych
- Dodana obsługa statusu Niewidoczny dla Tlena
- Poprawka Jabbera/Tlena: kontaktów, których nie ma na liście, a są w rosterze nie usuwa, tylko
dodaje do listy
- Poprawione: fokus jest automatycznie przenoszony do pola edycji przy zmianie zakładki za pomocą strzałek
na klawiaturze
- Poprawione: Przy otwieraniu okna rozmowy z kontaktem jego zakładka staje się aktywna
- Nowy skrypt LUA: szyfrowanie rozmów z użyciem GNU Privacy Guard (wymagana wersja gpg >= 1.4.1)
- Dodana belka z tytułami kolumn w oknie transferów
- Opcja powiadamiania o błędach już działa i pozwala m.in. wychwycić moment utraty połączenia.
Dzięki temu nie trzeba tak bacznie obserwować zachowania programu, by zauważyć anomalie.
Wersja 1.1.0
- Nowa (przede wszystkim własna) ikonka programu ;)
- Wersja dla Mac OS X wraz z poprawką dla Big-Endian w protokole GG
- Poprawa ikonki w trayu dla Linuxa: nie korzysta już z traylib - robi po prostu zgodnie ze specyfikacją
Freedesktop wsadzając do traya okienko z FLTK z przezroczystym tłem
- Poprawka w wysyłaniu SMS-ów: przy pierwszym korzystaniu z tej funkcji mógł wystąpić błąd
- Poprawka kodowania znaków dla Jabbera: urlencode był błędem, w Jabberze wszystko idzie przez UTF-8
- Dodana obsługa nowego protokołu: Tlen. Wydaje się działać ;) Jest nawet katalog (wyszukianie, odczyt i zapis).
- Poprawki GUI: dodane belki z tytułami kolumn w wyszukiwaniu użytkowników w GG i w Tlenie
- Poprawka w wykrywaniu URL-i w statusach wielolinijkowych
- Dodana nowa opcja konta: Włączone. Pozwala tymczasowo wyłączyć konto bez jego kasowania.
- Poprawka Jabbera: obsługa tag'a </stream:stream>
- Dodana obsługa skryptów LUA, narazie bardzo podstawowa, jest dla przykładu skrypt
konwertujący nasze wypowiedzi na l33t ;)
- Dodana opcja "Zawsze na wierzchu"
- Poprawka Jabbera: rozłączenie mogło powodować zwis Unicoma
- Po dodaniu konta nie jest konieczny restart, połączenie następuje automatycznie. Podobnie
przu usuwaniu konta jesteśmy rozłączani
- Poprawione sprawdzanie stanu połączeń: jeśli mamy status offline nie następuje próba łączenia,
która i tak zakończyłaby się fiaskiem
- Poprawiony import kontaktów z serwera GG: do tej pory wymagany był restart, aby Unicom poprawnie
wyświetlał status zaimportowanych kontaktów
- Dodana informacja o pomyślnym wysłaniu listy kontaktów na serwer GG, dotychczas wymagane było
śledzenie okienka debug
- Poprawiony protokół Jabbera, czasem po nieudanym logowaniu się wykrzaczał
Wersja 1.0.1
- Dodany wybór powiadomień (wiadomości, zmiany stanu, błędy)
- Rozszerzona konfiguracja okna powiadomień dla Linuxa (dodany kierunek rozwijania)
- Poprawka funkcji exec() dla Linuxa (dodane usuwanie procesów zombie)
- Rozszerzenie interfejsu o opcję internacjonalizacji (odpowiednio przygotowany plik lang.txt
wystarczy wgrać do katalogu głównego aplikacji, domyślnie jest tam plik polonizujący interfejs,
po usunięciu pliku następuje powrót do anglojęzycznej wersji interfejsu)
- Dodana opcja wiersza poleceń --font= dla Linuxa (czasem domyślna czcionka wybierana przez FLTK wygląda brzydko,
w ten sposób można ją zastąpić własną odpalając ./startme.sh --font=Arial dla przykładu)
- Poprawka w protokole Jabbera (dzięki użyciu urlencode() w f-cji ustawiania statusu i wysyłania wiadomości
parser nie wysypuje się przy próbie wysłania znaków spoza US-ASCII)
- Wybieranie kolorów powiadomień wreszcie daje pożądane efekty (wcześniej nie powodowało zmian)
- Dodane natywne popup menu w trayu w wersji dla Windows
- Zmiana zachowania: zamknięcie okna głównego nie powoduje zakończenia aplikacji, która nadal jest dostępna z traya
Wersja 1.0.0
- Program wydaje się działać stabilnie.
- Możliwość zakładania nieograniczonej liczby kont w różnych protokołach.
- Obsługa podstawowej funkcjonalności protokołów Gadu-Gadu oraz Jabber.
- Obsługa transferów plików w protokole Gadu-Gadu.
- Wysyłanie SMS-ów.