summaryrefslogtreecommitdiff
path: root/slixmpp
AgeCommit message (Collapse)Author
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-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
2019-12-27Improve the send queue code a bitmathieui
2019-12-27add a separate place for slow ass filtersmathieui
2019-12-27raise Exceptionmathieui
2019-12-27Try/except around outbound stanza processingmathieui
to avoid killing the send loop when a filter has an error
2019-12-27Remove trailing whitespacemathieui
2019-12-27Update test framework to work with new filtersmathieui
(eewww)
2019-12-27Run the send queue in a separate coroutinemathieui
To be able to run async stream filters
2019-11-11xep_0048: Ensure Conference jid is of type str when given a JIDMaxime “pep” Buquet
Signed-off-by: Maxime “pep” Buquet <pep@bouah.net>
2019-09-19Fix a bug in the 0202 plugin where a time result would send back a resultmathieui
poezio bug #3499
2019-09-10Match the sender JID as well as the queryid in MAM resultsmathieui
2019-09-10Add typing/docstring in the MAM pluginmathieui
2019-09-08Added amount parameter, so that limit on the msgs received per query can be ↵root
changed.
2019-08-28Revert "Remove a block of compatibility code"Maxime “pep” Buquet
This reverts commit 37bc1bb9b3bdc26b7f28b30406d1013f9b0f6ceb. Confusion confusion. Mathieui thought this was a sleekxmpp thing when it's actually been added not so long ago.
2019-08-26Remove a block of compatibility codemathieui
even if the user makes that mistake, it does not cause problems down the line.
2019-08-25fix a typo in the invalidjid exception name casemathieui
2019-08-23basexmpp: Make origin-id opt-outMaxime “pep” Buquet
Signed-off-by: Maxime “pep” Buquet <pep@bouah.net>
2019-08-23Implement origin-id (XEP-0359)Maxime “pep” Buquet
This XEP is not implemented as a plugin but directly into Message. Signed-off-by: Maxime “pep” Buquet <pep@bouah.net>
2019-08-23Assign True to the 'before' tag if it's value is None (eg:at the start no ↵root
msg is there in the group, so no stanza-id)
2019-08-23Removed before tag. (Code for setting it is already there)root
2019-08-23Removed assigning 'reverse' value to the 'before' tag (It's value is set in ↵root
xep_0313 (mam.py file) and if not then by default it is takes as 'None').
2019-08-12Added <before> tag for querying messages before a stanza-id.Madhur Garg
2019-08-03xep_0030: add docstring to get_info_from_domainMaxime “pep” Buquet
Signed-off-by: Maxime “pep” Buquet <pep@bouah.net>
2019-08-01Remove the last instances of a block argument to iq.send().Emmanuel Gil Peyrot
Thanks Madhur Garg for spotting this in 027ce2434d7fd3cf4a286dd373cb761c0d114c66!
2019-08-01Merge branch 'mam' into 'master'Link Mauve
Removed 'block' from set_preferences as it was giving a TypeError while sending the staza. See merge request poezio/slixmpp!20
2019-08-02Removed 'block' from set_preferences as it was giving a TypeError while ↵Madhur Garg
sending the staza.
2019-07-22Merge branch 'mam' into 'master'Maxime Buquet
Added a function in xep313 plugin to get current MAM preferences. See merge request poezio/slixmpp!19
2019-07-18Added a function to get current MAM preferences.Madhur Garg
2019-07-16xmlstream/stanzabase: remove unused interfaces and types attributesMaxime “pep” Buquet
These are already on each stanza, and were not applicable to all stanzas anyway. Signed-off-by: Maxime “pep” Buquet <pep@bouah.net>
2019-07-14Do not add disco#info for occupantid, it’s a server thingmathieui
2019-07-14Add the occupant id stanza elementsmathieui
2019-07-13Initial commit for reactions protoxepmathieui
2019-07-13Make generated stanza id truly randomMaxime “pep” Buquet
Fix long-standing security issues where stanza @id be predictable. Signed-off-by: Maxime “pep” Buquet <pep@bouah.net>
2019-07-03xmlstream.disconnect: add compat behaviour, set wait to default `2.0` when ↵Maxime “pep” Buquet
True is passed. Update documentation Signed-off-by: Maxime “pep” Buquet <pep@bouah.net>
2019-07-03Added 'reverse' argument.Madhur Garg
2019-07-03Added 'reverse' parameter in mam and rsm pluginsMadhur Garg
2019-05-07Revert part of previous commit. Return NotImplemented when object is not a ↵Maxime “pep” Buquet
valid JID Signed-off-by: Maxime “pep” Buquet <pep@bouah.net>
2019-05-07jid: return not equal if value can't be converted to JIDMaxime “pep” Buquet
Signed-off-by: Maxime “pep” Buquet <pep@bouah.net>
2019-04-27Merge remote-tracking branch 'origin/mr/13'Maxime “pep” Buquet
2019-04-24xmlstream.disconnect: fix frenchism in docstringMaxime “pep” Buquet
Signed-off-by: Maxime “pep” Buquet <pep@bouah.net>
2019-04-24xmlstream.disconnect: typing hintsMaxime “pep” Buquet
Signed-off-by: Maxime “pep” Buquet <pep@bouah.net>