summaryrefslogtreecommitdiff
path: root/slixmpp
AgeCommit message (Collapse)Author
2020-11-27Merge branch 'fix-xep_0115-disco-component' into 'master'mathieui
Fix 'from' attribute missing for ComponentXMPP Disco IQ Closes #3455 See merge request poezio/slixmpp!60
2020-11-27Remove protoxep_occupantidmathieui
And fix some minor details in 0421 plugin.
2020-11-27Update protoxep_reactions to XEP-0444mathieui
2020-11-26XEP-0045: update methods for asyncio & stanza, typingmathieui
- This rewrites most of the stuff in the plugin by using the newly added elements instead of raw ElementTree stuff with hardcoded namespaces. - Adds methods for affiliation/roles - Adds some type hints - Fix many cases where the call would simply not work since slixmpp exists (and break the API but it was already broken ¯\_(ツ)_/¯)
2020-11-22XEP-0045: register the new elements & reformat initmathieui
2020-11-22XEP-0045: add more stanza elementsmathieui
2020-10-01Merge branch 'master' into 'master'Maxime Buquet
Cancel run_filters task upon disconnect See merge request poezio/slixmpp!57
2020-10-01Merge branch 'xep-0363-callback-fix' into 'master'Maxime Buquet
XEP-0363 fix: call callback when receiving the upload slot. See merge request poezio/slixmpp!58
2020-10-01StanzaBase.send: remove inexisting param in docstring -- thanks elghinnMaxime “pep” Buquet
Signed-off-by: Maxime “pep” Buquet <pep@bouah.net>
2020-08-05Fix 'from' attribute missing for ComponentXMPP Disco IQaearil
Fixes #3455 This reuses the 'to' attribute of the received presence as a 'from' for the Disco IQ. I don't know if this is the best way to do it, but in testing with a simple component it fixed the error. Also I'm not sure whether pres['to'] would also be valid when is_component is False.
2020-06-28XEP-363 fix: call callback when receiving the upload slot.cnngimenez
2020-06-12Cancel run_filters task upon disconnectehendrix23
2020-05-29XEP-0045: register_stanza_plgin(Message, MUCMessage)Maxime “pep” Buquet
Signed-off-by: Maxime “pep” Buquet <pep@bouah.net>
2020-05-29XEP-0045: Split __init__Maxime “pep” Buquet
Signed-off-by: Maxime “pep” Buquet <pep@bouah.net>
2020-05-29XEP-0045: Add MUCMessageMaxime “pep” Buquet
Signed-off-by: Maxime “pep” Buquet <pep@bouah.net>
2020-05-29XEP-0045: Remove unused MUCPresence attributesMaxime “pep” Buquet
Signed-off-by: Maxime “pep” Buquet <pep@bouah.net>
2020-05-29XEP-0045: Add some types in stanzaMaxime “pep” Buquet
Signed-off-by: Maxime “pep” Buquet <pep@bouah.net>
2020-05-29XEP-0045: Add stanza.NS* constsMaxime “pep” Buquet
Signed-off-by: Maxime “pep” Buquet <pep@bouah.net>
2020-05-29XEP-0045: Split stanza into sub-moduleMaxime “pep” Buquet
Signed-off-by: Maxime “pep” Buquet <pep@bouah.net>
2020-05-29XEP-0045: Remove useless Python2-nessMaxime “pep” Buquet
Signed-off-by: Maxime “pep” Buquet <pep@bouah.net>
2020-05-29XEP-0045: Change to a package moduleMaxime “pep” Buquet
Signed-off-by: Maxime “pep” Buquet <pep@bouah.net>
2020-05-27XEP-0421: Add shorthand to namespaceMaxime “pep” Buquet
Signed-off-by: Maxime “pep” Buquet <pep@bouah.net>
2020-05-27XEP-0421: add has_feature helperMaxime “pep” Buquet
Signed-off-by: Maxime “pep” Buquet <pep@bouah.net>
2020-05-27New XEP: 0421 Occupant-idMaxime “pep” Buquet
Signed-off-by: Maxime “pep” Buquet <pep@bouah.net>
2020-05-24Add stanza tests for 0377mathieui
2020-05-24Enforce <spam/> and <abuse/> quantity constraintsmathieui
2020-05-24Add a plugin for XEP-0377: spam reportingmathieui
2020-05-23Update version to 1.5.2slix-1.5.2mathieui
2020-05-20xep_0045: don't create empty itemMaxime “pep” Buquet
Only create an item if an attribute is set. Don't create it when reading if it wasn't already present. Signed-off-by: Maxime “pep” Buquet <pep@bouah.net>
2020-05-12xep_0363: pass more information to FileTooBig exceptionMaxime “pep” Buquet
Signed-off-by: Maxime “pep” Buquet <pep@bouah.net>
2020-05-12xep_0363: Ensure every form in disco#info is readMaxime “pep” Buquet
Signed-off-by: Maxime “pep” Buquet <pep@bouah.net>
2020-05-02Update version to 1.5.1slix-1.5.1mathieui
1.5.0 changed what could be expected to be sent before calling disconnect(), this fixes it.
2020-05-02Fix a regression introduced in 1.5.0mathieui
Due to the send queue, messages sent immediatly before calling "disconnect" would not be sent.
2020-05-01Update version to 1.5.0slix-1.5.0mathieui
2020-04-06xep_0196: Use correct tag local name (thanks ivucica)Maxime “pep” Buquet
Signed-off-by: Maxime “pep” Buquet <pep@bouah.net>
2020-04-04Merge branch 'fix-deprecations' into 'master'mathieui
Fix deprecation warning regarding invalid escape sequences. See merge request poezio/slixmpp!40
2020-04-04Fix TypeError: 'NoneType' object is not an iteratorjheling
When deleting sub-elements in a stanza.
2020-04-04Fix deprecation warning regarding invalid escape sequences.Karthikeyan Singaravelan
2020-04-04Merge branch 'fix-celementtree-import' into 'master'mathieui
cElementTree has been deprecated since Python 3.3 and removed in Python 3.9. See merge request poezio/slixmpp!38
2020-04-04fire 'disconnected' callback from abort()Georg Lukas
2020-04-04expose is_connecting state based on connection attempt futureGeorg Lukas
2020-03-29Merge branch 'fix-0198' into 'master'Maxime Buquet
XEP-0198: unset end_session_on_disconnect on resume/enable See merge request poezio/slixmpp!36
2020-03-29XEP-0198: unset end_session_on_disconnect on resume/enableGeorg Lukas
2020-03-29Reset reconnect delay on manual reconnect, add delay eventGeorg Lukas
This is just a hotfix workaround for an underlying problem. The `_connect_routine` code is "blocking" (in an async way) for `connect_loop_wait` seconds, so that a fresh-started manual reconnect will be silenty delayed. This code does the following changes: 1. It moves the delay to before the DNS resolution (with the exponential back-off it might well be that the DNS records are changed while slixmpp is waiting). 2. It adds a new event `reconnect_delay` that gets passed the number of seconds it will delay before actually reconnecting 3. It resets the `connect_loop_wait` timer on a manual connect/reconnect call to fix the interactive experience. A *proper fix* would replace the sleep in `_connect_routine` with a properly timered re-invocation of it, but I don't understand enough of asyncio for pulling off that magic, and this is actually a proper improvement. Also I tested this and it works!
2020-03-28Merge branch 'fix-0198' into 'master'Maxime Buquet
XEP-0198: properly disable on disconnect, fix reconnect-loop See merge request poezio/slixmpp!34
2020-03-28XEP-0198: fix race conditions on enable/resumeGeorg Lukas
This code splits out the `enabled` property into `enabled_in` and `enabled_out` to reflect that client and server enable 0198 asynchronously. This also moves the actual enabling code into the stanza processing logic, because apparently, `enable.send()` was just added into the end of the send queue, but `enable` got enabled immediately, so that poezio requested ACKs for whatever happened to be in the queue before. Async is hard, let's go get fishing.
2020-03-28XEP-0198: properly disable on disconnect, fix reconnect-loopGeorg Lukas
When the connection is disconnected (but the session didn't "end", because 0198 resumption is enabled), poezio will reconnect and try to send an <r/> element because the 0198 plugin doesn't realize that SM wasn't re-enabled yet.
2020-03-28cElementTree has been deprecated since Python 3.3 and removed in Python 3.9.Karthikeyan Singaravelan
2020-03-23reconnect: fix callback when not currently connectedGeorg Lukas
The 'disconnected' event is normally fired from connection_lost(), which is called by the connection code when the connection is lost after being established. However, if the connection wasn't successfully established, a manual /reconnect no-ops because it waits for the 'disconnected' callback which never fires. This patch does two things: 1. Immediately fire a 'disconnected' event in disconnect() if there is no transport. 2. Register the 'disconnected' event handler in reconnect() *before* it can be fired.
2019-12-27Put the queue exception at toplevelmathieui