|
|
|
This bug is really annoying. I still think that sending presences and PEP events should be sent threaded, it won't hurt even on big servers since erlang threads are very lightweight and you can have millions of them without problems.
Oh, forgot to mention that this bug causes a huge delay in sending PEP events. Happens that you have to wait a few minutes until the PEP event is received because for example all ICQ transport contacts are queried again on *every* PEP event.
I have no scenario to test it.
attached is a simple patch. any tester or scenario is welcome the patch assumes buggy clients to have empty list of features.
i guess is soves the problem, but did not had time to check mod_caps code deeper. PEP events are less delayed now, but still sometimes laggy when I'm connected to the ICQ Gateway. Before this patch, it sometimes took minutes, while now it are seconds. I guess this fix did the trick, but there's still some other bug to be fixed.
Thanks for testing ! good to ear it helps.
I'm aware PEP needs optimization. this will be performed in coming weeks on trunk. ejabberd-2.0.x will keep that version anyway. if you have any details on the environment that generates the delay, feel free to create a new ticket related to PEP performances. i'll take your logs into account. I don't know the exact reason for the delays and I'm still debugging it, I also talked with badlop about it, so you might also want to talk to him. I'll let you know as soon as I know more and create bug reports then.
patch applied, but uncomplete.
we still need to handle case when mod_caps never receives response. |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Example of clients that don't support Caps: transports and gmail:
=ERROR REPORT==== 2008-03-20 13:37:15 ===
E(<0.298.0>:mod_caps:254) : Error IQ reponse IQ from ***@icq.webkeks.org:
[{xmlelement,"query",
[{"xmlns","http://jabber.org/protocol/disco#info"}],
[]},
{xmlelement,"error",
[{"code","405"},{"type","cancel"}],
[{xmlelement,"not-allowed",
[{"xmlns","urn:ietf:params:xml:ns:xmpp-stanzas"}],
[]}]}]
=ERROR REPORT==== 2008-03-20 13:38:55 ===
E(<0.298.0>:mod_caps:254) : Error IQ reponse IQ from ***@gmail.com/Talk.v104378E6A20:
[{xmlelement,"query",
[{"xmlns","http://jabber.org/protocol/disco#info"}],
[]},
{xmlelement,"error",
[{"code","501"},{"type","cancel"}],
[{xmlelement,"feature-not-implemented",
[{"xmlns","urn:ietf:params:xml:ns:xmpp-stanzas"}],
[]}]}]