Age | Commit message (Collapse) | Author |
|
Broken since 3a9b45e4f because of an overzealous cleanup.
|
|
|
|
Previously, trying to get a text node with a lang which is different
from the one we specified would return nothing, which means e.g. a
message would be ignored because its body is of lang 'fr' when we setup
slixmpp to prefer 'en'. We want to return something when there is an
available, valid content in a different language.
|
|
Fix #3165, we don’t need to use the long form to get the superobject in
our supported python versions.
|
|
Thanks tchiroux for raising the issue and providing the fix as well.
|
|
|
|
|
|
broken in 3a9b45e4f279
|
|
This gains about 1/8th of the time spent in __getitem__.
|
|
|
|
|
|
|
|
module.
|
|
|
|
|
|
|
|
|
|
|
|
same time.
|
|
|
|
|
|
|
|
This wins about 4s over a 54s real-world benchmark.
|
|
Specifically, previously, each MUC would be added as a roster item, and
then each join presence would be counted as a resource of that item,
triggering 1 to 5 events and more backend logic in slixmpp.
As a result, joining big rooms is tremendously slow, (JID() calls,
event() calls, __getitem__ calls for nothing), and takes RAM (a quick
tracemalloc tells me around 1 MiB for 3500 participants, i.e. 2 big IRC
rooms). Those resources may not necessarily be cleaned properly, leading
to memory leaks on long-term usage.
This is a micro-optimization that adds an attribute to roster items so
that MUC room events can be ignored safely while not affecting common
roster usage.
|
|
|
|
|
|
|
|
|
|
function
This makes it go down from 8.767s to 7.960s in a random benchmark.
Remove unnecessary assignations, don’t create an OrderedDict from a
dict to then convert it to a dict again, only obtain the get_method2
name if get_method wasn’t present.
get_method2 (the title-case one) takes about 1/8th of the total time
spent in this function, we should eliminate it as soon as possible.
|
|
|
|
|
|
|
|
mostly useless, but allows to use LastActivity stanzas inside Presence
stanzas as well.
|
|
Improving the api if the developer wants to wait on them.
|
|
|
|
|
|
|
|
|
|
The keepalive ping was not working, and and ping() was tracebacking due
to a wrong parameter.
|
|
since iq.send is non-blocking, some features handlers could end up
being executed before others were set, leading to issues. Adding yield
from where it’s necessary fixes that.
|
|
|
|
|
|
|
|
|
|
|
|
See 5c769632e8d35ea76990a1de3ab405c57a21482e.
|
|
|
|
|
|
|
|
Conflicts:
README.rst
examples/IoT_TestDevice.py
examples/disco_browser.py
setup.py
sleekxmpp/jid.py
sleekxmpp/plugins/google/auth/stanza.py
sleekxmpp/plugins/google/gmail/notifications.py
sleekxmpp/plugins/google/nosave/stanza.py
sleekxmpp/plugins/google/settings/settings.py
sleekxmpp/thirdparty/__init__.py
sleekxmpp/thirdparty/socks.py
sleekxmpp/thirdparty/statemachine.py
sleekxmpp/util/__init__.py
sleekxmpp/xmlstream/xmlstream.py
slixmpp/basexmpp.py
slixmpp/plugins/xep_0004/stanza/form.py
slixmpp/plugins/xep_0009/rpc.py
slixmpp/plugins/xep_0050/adhoc.py
slixmpp/plugins/xep_0065/proxy.py
slixmpp/plugins/xep_0084/stanza.py
slixmpp/plugins/xep_0202/time.py
slixmpp/plugins/xep_0323/sensordata.py
slixmpp/plugins/xep_0325/control.py
slixmpp/plugins/xep_0325/stanza/control.py
slixmpp/roster/single.py
slixmpp/stanza/atom.py
slixmpp/stanza/rootstanza.py
slixmpp/test/slixtest.py
slixmpp/util/sasl/mechanisms.py
slixmpp/version.py
slixmpp/xmlstream/stanzabase.py
tests/test_stanza_xep_0323.py
tests/test_stanza_xep_0325.py
tests/test_stream_xep_0323.py
tests/test_stream_xep_0325.py
|