louiz’
7b69ae3738
Add a contributing file
2016-08-24 00:33:07 +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
louiz’
bd6ec10939
Add some credits
2016-03-15 09:35:36 +01:00
Sam Whited
e15e6735f1
The XEP-0198 plugin exists now; fix the docs
2016-03-14 23:59:01 +01:00
mathieui
67afd6a462
Fix #3166 (broken link)
2016-02-03 22:43:47 +01: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 5c769632e8
.
2015-12-15 19:44:29 +01:00
mathieui
b549db959a
Update version to 1.1
2015-10-02 19:35:29 +02:00
mathieui
d5188ac68a
Mention the build of cython modules in the README
2015-10-02 19:22:26 +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
Mike Taylor
4305eddb4f
Merge pull request #397 from rerobins/xep_0050_updates
...
Xep 0050 updates
2015-09-18 16:18:41 -04:00
Robert Robinson
c2dc44cfd1
Merge branch 'develop' into xep_0050_updates
...
# Conflicts:
# tests/test_stream_xep_0050.py
2015-09-18 13:35:28 -06:00
Robert Robinson
5fc14de32e
Merge pull request #3 from fritzy/develop
...
Merge to fritzy_master
2015-09-18 13:30:30 -06:00
Mike Taylor
d245558fd5
Merge pull request #396 from rerobins/add_xep_0122
...
XEP_0122: Add support for form validation
2015-09-18 15:15:27 -04:00
Mike Taylor
9d45370e8a
Merge pull request #393 from aalba6675/fix/time
...
Only send time if Iq type is get.
2015-09-18 15:15:01 -04:00
Mike Taylor
cc1cc61d36
Merge pull request #392 from aalba6675/fix/tel_number
...
Do not overwrite telephone numbers
2015-09-18 15:14:35 -04:00
Mike Taylor
c6740a4908
Merge pull request #389 from alexdraga/develop
...
Add get users by affiliation.
2015-09-18 15:13:54 -04:00
Mike Taylor
55114bcffe
Merge pull request #384 from elya5/patch-1
...
Fix UnboundlocalError in disco_browser.py example
2015-09-18 15:13:30 -04:00
Mike Taylor
4fa5dedc47
Merge pull request #386 from jdowner/develop-iot
...
iot: only add the 'done' field when all devices are done
2015-09-18 15:13:07 -04:00
Mike Taylor
5525ef2285
Merge pull request #395 from rerobins/refactor_forms
...
XEP_0004: Data Forms use register_stanza_plugin
2015-09-18 15:11:47 -04:00
Robert Robinson
a7ac969215
register_Stanza_plugin shouldn't be iterable
...
Should not use iterable for registering the stanza plugins.
2015-09-17 16:21:54 -06:00
Robert Robinson
329cb5a9f8
Add 0122 to plugin/__init__.py __all__
2015-09-17 16:21:13 -06:00
Robert Robinson
d9b47b33f5
Update __init__.py
...
changed xep_0121 to xep_0122
2015-09-15 10:20:37 -06:00
Robert Robinson
3582ac9941
Merge branch 'add_xep_0122' of https://github.com/rerobins/SleekXMPP into add_xep_0122
2015-09-15 10:12:50 -06:00
Robert Robinson
2a127a57a7
Add test case Reported->Data Form Validation
...
Add a test case that will verify that reported fields can contain data form validation data.
2015-09-15 10:09:06 -06:00
Robert Robinson
7059400020
Merge branch 'refactor_forms' into add_xep_0122
2015-09-15 10:07:34 -06:00
Robert Robinson
0b14ef82d4
Add test case for reported and items
...
Previous stanza test cases didn't have test cases for reported and item field types in forms. This fixes that issue.
Modified stanzabase to use an ordered dict so that can guarentee the that 'items' in a form are added after reported. Also updated the set of interfaces that are stored in Form to be a ordered set. Used the order set implementation from: https://code.activestate.com/recipes/576694/
The OrderedSet implementation is licensed under the MIT license and is developed by the same developer of the ordereddict.
2015-09-15 10:05:53 -06:00