[ekg2-devel] Nieprawidłowe nawiązywanie rozm
Michał Kazior
kazikcz w gmail.com
Nie, 17 Lut 2008, 21:50:52 CET
On Sun, Feb 17, 2008 at 09:24:11PM +0100, Jakub Zawadzki wrote:
> On Sun, Feb 17, 2008 at 08:44:31PM +0100, Michał Górny wrote:
> > Dnia 17-02-2008 o 20:28:13 Michał Kazior <kazikcz w gmail.com> napisał(a):
>
> >> Przedwczoraj postanowiłem sprawdzić Ekg2. Pamiętam, że wcześniejsze
> >> wersje miały dość sporo problemów z kontami jabbera na gmail-u, ale
> >> teraz wszystko chodzi ładnie. Dobra robota!
>
> Troche spoznione gratulacje, ale dzieki :)
> http://zdzichubg.jogger.pl/2005/08/24/no-prosze-panstwa/
> http://gim.jogger.pl/2006/03/05/google-talk/
>
> (Wiele sie nie zmienilo, nadal ekg2 nie umie resolvowac rekordow T_SRV ;/)
Rok temu miałem ciężką kaszane z gmail-em. Nie dało się łączyć, albo
rozłączało po kilku sekundach (i tak w kółko).
> >> Problem 2.
> >> Jeżeli rozpocznę rozmowę z samym sobą (z Gajim do Ekg2), to
> >> osoba, która w najbliższym czasie zmieni swój status (w Ekg2) zostanie
> >> `wsadzona' jako rozmówca w okno rozmowy z samym sobą (z Gajim).
> >> Następne próby komunikacji z samym sobą (Gajim->Ekg2) będą tworzyć
> >> następne okna, które będą kolejno zajmowane przez dość losowe
> >> kontakty. Próba odpowiedzi (Ekg2->Gajim) na zmutowanym oknie będzie
> >> wysyłać wiadomości do `wylosowanego' uprzednio kontaktu.
> >
> > Nie obsługujemy zasobów w Jabberze, co będzie tutaj podstawowym źródłem
> > problemów. Dj kiedyś zrobił nawet całkiem ładnie prezentującego się patcha,
> > acz wadliwego ???
>
> Jak ja pamietam swojego patcha, to on tylko umozliwial przelaczanie zasobow w ekg2.
> Nie bylo kodu ktory z tego korzystal w jabberze.. (z w->resource)
> Ogolnie to bylo moje proof-of-conspect nt. jak mialo wygladac zarzadzanie
> zasobami w ekg2 (na podstawie dyskusji @ ekg2-devel)
>
> Gajim umie zasoby, wiec jak dla mnie workaround jest banalny.
> Ustalic ekg2 priorytet ponizej priorytetu Gajima, komunikacja idzie
> domyslnie na wiekszy priorytet, wiec bedzie OK.
Nie w tym rzecz, czy Gajim umie, czy nie też umie. Tu wcale nie chodzi
o konflikt priorytetów. Chodzi o sam fakt niemożności rozmawiania z
inną instancją własnego konta.
Zresztą nie można powiedzieć, że problem jest z głowy, bo znaleziono
jest workaround.
> >> Pozwoliłem sobie zajrzeć do źródeł w poszukiwaniu odpowiedzi i byćmoże
> >> rozwiązania tych problemów. Udało mi się ustalić (nie wiem czy
> >> poprawnie), że wina leży w konstrukcji window_t, która jako
> >> identyfikator rozmowy przyjmuje nick kontaktu. Myslę, że w tym miejscu
> >> powinien znaleźć się UID, który jest unikalny i pozwala na
> >> jednoznaczne określenie rozmówcy.
>
> Jak bylo wyzej wspomniane, ekg2 nie obsluguje userlist gdzie ten sam
> nick wystepuje wielokrotnie. ekg2 obsluguje gg i tlena natywnie, wiec
>
> workaroundy:
> - nie korzystac z transportow w czasie uzywania ekg2.
> Korzystac natywnie z protokolow. Dla osob z ktorymi mamy kontakt
> przez kilka protokolow poustawiac metakontakty.
Odpada. Nie raz zdarza mi się zmienić komputer. Wtedy zalogowanie
chociażby na gmail.com udostępnia mi komunikację ze znajomymi,
nieważne czy z tymi na GG, czy na Jabberze (m.in dlatego właśnie
używam Jabbera na Gmail-u).
> [tutaj juz wymagajace naprawy w zrodlach, ale nalezaloby wybrac ktoras opcje]
> - podczas pobierania userlisty, sprawdzac czy nie dostajemy nicka
> jakiego juz mamy w userliscie. Jesli tak ustawic na NULL, i przy
> generatorze wygeneruje sie jakis unikalny..
>
> - podczas pobierania userlisty, sprawdzac czy nie dostajemy nicka
> jakiego juz mamy w userliscie, jesli tak to zalozyc metakontakt
> (automagicznie) i ustawic z foo na foo1. Poinformowac o tym uzytkownika.
> [tutaj wypada pomyslec o konfliktach nazw, i czy taki metakontakt powinien
> byc zapisywany do pliku]
Nie do końca rozumiem.. Czuję się powaznie skonfundowany niektórymi
nazwami w kodzie (userlist_t kojarzy mi się raczej z listą
użytkowników, a nie użytkownikiem).
Nie byłoby może lepiej, gdyby zamiast `char *target' w `window_t'
dowiązać `userlist_t *target' ? W ten sposób mielibyśmy dostęp do
danego kontaktu i jego informacji (uin,target,groups), w tym do
wskaźnika void *priv. Dzięki temu możnaby zrobić niebezpośredni dostęp
do zasobów Jabberowych (już w samej wtyczce Jabbera).
To tylko taki pomysł odemnie. Tak ja bym to zrobił, chociaż brakuje mi
jeszcze informacji o dokładnej budowie Ekg2 przez co moge bredzić.
Pozdrawiam.
Więcej informacji o liście dyskusyjnej ekg2-devel