Emmanuel Gil Peyrot
3a9b45e4f2
ElementBase: Remove deprecated find() and findall() methods.
2016-09-20 16:45:29 +09:00
Emmanuel Gil Peyrot
b8e091233e
XEP-0004: Remove deprecated getXML() and fromXML() methods.
2016-09-20 16:34:48 +09:00
Emmanuel Gil Peyrot
0edeefd977
BaseXMPP: Stop automatically enabling UserNick, and remove deprecated alias module.
2016-09-20 16:23:02 +09:00
Emmanuel Gil Peyrot
6ba53cf1ff
ElementBase: Remove attrib interface.
2016-09-20 16:23:02 +09:00
Emmanuel Gil Peyrot
d7758eb7f4
ElementBase: Remove subitem interface.
2016-09-20 16:23:02 +09:00
Emmanuel Gil Peyrot
125336aeee
Remove locking from static disco.
2016-09-20 16:23:02 +09:00
Emmanuel Gil Peyrot
7cd1cf32ae
Various XEPs: Remove deprecated aliases.
2016-09-20 16:23:02 +09:00
Emmanuel Gil Peyrot
d099e353a4
Implement XEP-0333: Chat Markers.
2016-08-26 22:42:24 +01:00
Emmanuel Gil Peyrot
1e4a301c6e
Replace _format_jid with a JID method updating both bare and full at the same time.
2016-08-26 22:25:58 +01:00
Dan Sully
e2562dcccf
Make session_bind_event awaitable
2016-08-23 23:05:22 +02:00
Emmanuel Gil Peyrot
ab6df235d7
Pre-compute JID bare and full forms, and store that in each JID.
...
This wins about 4s over a 54s real-world benchmark.
2016-08-22 23:43:16 +01:00
mathieui
52cd8f4b22
Don’t trigger presence events on MUC presence
...
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.
2016-08-22 01:29:07 +02:00
Emmanuel Gil Peyrot
e28318c271
Micro-optimise _format_jid.
2016-08-21 20:26:51 +01:00
mathieui
39ee833c29
Improve XEP-0070 and examples
2016-08-19 23:48:37 +02:00
Emmanuel Gil Peyrot
9019e2bc71
Initial work on XEP_0070, plugin and examples
2016-08-19 23:48:29 +02:00
louiz’
9208bf5bf1
Merge remote-tracking branch 'zejn/master'
2016-08-19 11:18:27 +02:00
Emmanuel Gil Peyrot
f0f1698e46
ElementBase: micro-optimise __getitem__, hands down the most often called 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.
2016-08-17 00:46:56 +01:00
Gasper Zejn
eccd7f1c98
Provide domain name to loop.create_connection if using SSL.
2016-08-12 15:32:42 +02:00
Emmanuel Gil Peyrot
2587d82af8
Make util.XOR about ten times faster by calling bytes only once.
2016-07-30 00:14:54 +01:00
mathieui
7ea121b115
Don’t swallow presence exceptions abritrarily
2016-06-28 20:58:47 +02:00
mathieui
bb81fbbdfc
Implement XEP-0256 (last activity in presence)
...
mostly useless, but allows to use LastActivity stanzas inside Presence
stanzas as well.
2016-06-05 02:04:52 +02:00
mathieui
1a00a08b7d
Make XEP-0186 return futures as well
...
Improving the api if the developer wants to wait on them.
2016-06-05 00:19:24 +02:00
mathieui
90ea2a3411
Implement XEP-0352 (client state indication)
2016-06-04 22:59:23 +02:00
mathieui
8fc6814b6d
Update XEP-0198 for asyncio
2016-06-04 20:51:59 +02:00
mathieui
ffced0ed9a
Add a xep-0334 plugin
2016-06-04 19:34:12 +02:00
mathieui
e7248d9af9
Fix the Waiter handler for asyncio
2016-05-28 20:53:41 +02:00
mathieui
6b1a04f59d
Fix xep-0199
...
The keepalive ping was not working, and and ping() was tracebacking due
to a wrong parameter.
2016-05-28 15:13:33 +02:00
mathieui
4905407092
Fix the ordering of stream features
...
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.
2016-05-28 14:46:39 +02:00
mathieui
2e2b97c53b
Merge branch 'xep_0012_fix' of https://github.com/misuzu/slixmpp
2016-01-21 23:22:28 +01:00
Tsukasa Hiiragi
a35df7fe1f
Fixed NameError in start_uptime
2016-01-21 14:59:03 +02:00
Krzysztof Kotlenga
fbc8562779
Remove dead code
...
See 5c769632e8d35ea76990a1de3ab405c57a21482e.
2015-12-15 19:44:29 +01:00
mathieui
b549db959a
Update version to 1.1
2015-10-02 19:35:29 +02:00
mathieui
ada9444bf8
Merge branch 'sleek-merge'
2015-10-02 19:07:45 +02:00
mathieui
acc52fd935
Merge branch 'develop' of https://github.com/fritzy/SleekXMPP into sleek-merge
...
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
2015-10-02 19:00:19 +02:00
mathieui
1100ff1feb
Reset the DNS answers after a connection is made succesfully
2015-09-25 19:34:04 +02:00
mathieui
c17fc3a869
Fix IPv6 resolving with aiodns 1.0
2015-09-24 19:38:53 +02:00
mathieui
4dba697075
Fix support for python 3.4 <= 3.4.2
...
asyncio module is provisional, which means it gets updated everytime
2015-09-23 23:23:02 +02:00
mathieui
e42d651d7e
Fix connecting to a custom host/port
2015-09-19 15:27:12 +02:00
mathieui
82e549c0e9
(Temporary) fix for python 3.5
...
This will work until the old ssl implementation is finally deprecated.
Hopefully, new features to painlessy implement starttls will be around
by then.
2015-09-14 23:14:53 +02:00
mathieui
1aa15792b4
Bump the requirements to aiodns 1.0
...
(and use install_requires instead of requires in the setup.py)
2015-09-14 23:14:06 +02:00
Emmanuel Gil Peyrot
27f98bf22c
xep_0231: Fix a traceback on result serialization.
2015-09-05 18:35:59 +01:00
mathieui
3978078710
vcard-temp: add some checks against wrong input
2015-09-04 01:59:40 +02:00
mathieui
00a0698720
Add timeout_callback to a bunch of plugins as a parameter
2015-09-04 01:05:56 +02:00
mathieui
804b23d390
Merge branch 'socks5' of http://git.linkmauve.fr/slixmpp
2015-08-23 17:14:53 +02:00
Emmanuel Gil Peyrot
04eaf52b1d
xep_0065: Remove an unused variable.
2015-08-23 16:06:01 +01:00
Emmanuel Gil Peyrot
dc7fef1064
xep_0065: Remove the last useless threading locks.
2015-08-23 16:06:01 +01:00
Emmanuel Gil Peyrot
9c5dd024b1
Fix the xep_0065 plugin, by rewriting its socks5 implementation.
2015-08-23 16:06:01 +01:00
Florent Le Coz
6e61adf3db
Fix the order in which <identity/> and <feature/> tags are sent on disco#info
...
The identities should all be at the start, and features at the end, so we
just prepend the identity on add_identity, and append features on
add_feature
2015-08-22 18:48:29 +02:00
Emmanuel Gil Peyrot
041bd63864
Add a function to convert a domain name to punycode.
2015-08-20 20:04:58 +01:00
Emmanuel Gil Peyrot
1b4187fa56
Add a format() method to XMPPError which returns a readable string.
2015-08-08 17:34:06 +02:00