Commit Graph

485 Commits

Author SHA1 Message Date
mathieui
a0b6bfcefe xmlstream: change the connection logic
* use asyncio wait_for to wait for a disconnected event
* abort the connection if the timeout is not enough
2021-01-29 15:33:44 +01:00
mathieui
9fbd40578c xmlstream: purge send queue and pending tasks on session end
and keep track of slow tasks
2021-01-29 15:33:44 +01:00
mathieui
8700f8d162 xmlstream: do not cancel the send filter task
it does not make sense to cancel it, it does not do anything when the
sending queue is empty, and clients should not fill the send queue when
not connected anyway.
2021-01-28 17:54:40 +01:00
mathieui
efdcd396d8 xmlstream: fix race conditions on handlers 2021-01-28 17:54:40 +01:00
mathieui
0eed84d0b2 xmlstream: handle done tasks in wait_until
and handle other loops properly
2021-01-28 17:54:40 +01:00
mathieui
70b5081018 Merge branch 'xep-0382-spoiler-messages' into 'master'
XEP-0382: Spoiler Messages

See merge request poezio/slixmpp!100
2021-01-27 00:07:36 +01:00
mathieui
4cb679ae2a Merge branch 'fix-emoji-update' into 'master'
XEP-0444: Fix emoji detection

See merge request poezio/slixmpp!103
2021-01-24 11:33:57 +01:00
mathieui
ab280b44cc XEP-0444: Fix emoji detection
the emoji lib just released a major release after 5 years, which breaks
the API. This new code is compatible with both.
2021-01-24 11:31:17 +01:00
mathieui
0193667ace Merge branch 'ping-cancel-iqs-on-session-end' into 'master'
Cancel  0199 pings on session end

See merge request poezio/slixmpp!102
2021-01-24 11:30:51 +01:00
mathieui
9cb5131f1c XEP-0199: Fix handler default parameter, add typing
Clear futures when disabling the keepalive, and do it on every
disconnect instead of only at session end.
2021-01-24 11:20:43 +01:00
mathieui
c6a0da63ae XEP-0199: cancel ongoing handlers on session end
and keep track of them but be careful to not store too many

fix for #3442
2021-01-22 22:57:15 +01:00
mathieui
3f10dfe138 iq: only update the future if it is not done 2021-01-22 22:55:39 +01:00
mathieui
49577e6c84 Handle connection errors in start_tls (fix #3449) 2021-01-22 22:04:41 +01:00
mathieui
81ebf4e8ba XEP-0382: Spoiler Messages 2021-01-22 18:40:37 +01:00
mathieui
f38c61a6b9 XMLStream: Only fire "disconnected" after removal of related objects
Otherwise we could end up reconnecting and getting some useful things
like the XML parser or other stuff removed afterwards.

Also, move 'session_end' before 'disconnected', it makes more sense that
way.
2021-01-17 18:30:57 +01:00
mathieui
2b11d81b86 XEP-0045: Add a groupchat_join MUC event for components 2021-01-12 20:29:27 +01:00
mathieui
6369ee0e5f XEP-0045: Better component handling 2021-01-10 15:07:48 +01:00
mathieui
1e23167ce4 XEP-0045: Better "groupchat_presence" targeting
(do not make EVERY SINGLE presence go through the 0045 handler)
2021-01-10 15:07:48 +01:00
mathieui
cccc1253aa XEP-0045: add more elements (<actor/>) 2021-01-10 15:07:48 +01:00
mathieui
ce0d615786 Merge branch 'muc-mypy-fixes' into 'master'
XEP-0045: Fix issues found by mypy

See merge request poezio/slixmpp!95
2020-12-27 19:44:31 +01:00
Emmanuel Gil Peyrot
1e08c90018 XEP-0045: Add a set_subject() helper 2020-12-27 02:59:43 +01:00
Emmanuel Gil Peyrot
c05cafc963 XEP-0045: Add missing reason for affiliation and role changes
This is especially useful for ban/kick reasons.
2020-12-27 02:59:09 +01:00
Emmanuel Gil Peyrot
166b265de0 XEP-0045: Fix issues found by mypy 2020-12-27 01:14:17 +01:00
mathieui
489e419e38 XEP-0424: fire event even with groupchat messages 2020-12-13 22:48:17 +01:00
mathieui
39c624f958 Release: update version to 1.6.0 2020-12-12 16:43:29 +01:00
Link Mauve
6773dc4409 Merge branch 'fix-moderation' into 'master'
XEP-0425: small fix & integration test

See merge request poezio/slixmpp!86
2020-12-12 14:51:25 +01:00
mathieui
3b00c56bdc XEP-0424: Add an event for message retraction
+ update the integration test
2020-12-12 14:43:18 +01:00
mathieui
bc58c5a045 XEP-0425: Fix plugin registration, and add element 2020-12-12 14:33:48 +01:00
mathieui
95d40a3ca3 docs: update docstrings for sphinx conformity
Remove most references to timeout/callback/ifrom/timeout_callbacks args
2020-12-10 19:22:40 +01:00
mathieui
b63dc3bc8c XEP-047: Room Activity Indicators
Implement the XEP
2020-12-08 18:56:26 +01:00
Link Mauve
8258202681 Merge branch 'xep-0333-fixes' into 'master'
XEP-0333: Fix some issues

See merge request poezio/slixmpp!80
2020-12-07 21:25:18 +01:00
mathieui
91c3d64ca2 XEP-0439: Add events 2020-12-07 20:58:16 +01:00
mathieui
b3e2a8eb91 XEP-0333: Add missing feature, and a send_marker method 2020-12-06 21:45:22 +01:00
mathieui
11ac5867ff XEP-0333: Rename plugin file from "hints" to "markers" 2020-12-06 21:29:11 +01:00
mathieui
c89a21463f XEP-0444: fix a mistake in plugin_end 2020-12-06 18:59:59 +01:00
mathieui
b8f368acf3 Integration tests: parallelize client connects 2020-12-06 18:41:21 +01:00
mathieui
bcd8cf085f Merge branch 'no-ordered-stuff' into 'master'
Remove usage of OrderedDict

See merge request poezio/slixmpp!77
2020-12-06 17:08:00 +01:00
Emmanuel Gil Peyrot
cd4c9f82fc Remove OrderedDict usage
We now support only Python 3.7+, this means we can rely on dict being
ordered by order of insertion, and thus no need to use OrderedDict from
collections.
2020-12-06 17:00:47 +01:00
mathieui
73cc2a4008 Merge branch 'first-integration-tests' into 'master'
First integration tests

See merge request poezio/slixmpp!75
2020-12-05 17:37:50 +01:00
Emmanuel Gil Peyrot
684247b375 XEP-0352: Only enable the feature on ClientXMPP 2020-12-05 01:05:16 +01:00
Emmanuel Gil Peyrot
6db5bb65d3 XEP-0300: Fix tests 2020-12-05 01:00:52 +01:00
Emmanuel Gil Peyrot
cc96e4a6e7 Plugins: Update the list to match what’s available
Piugins for deprecated and obsolete XEPs aren’t loaded by default
anymore.
2020-12-05 01:00:27 +01:00
mathieui
e6d1badb81 CI: Add helper for integration tests 2020-12-04 23:01:54 +01:00
mathieui
3d1e539d2b XMLStream: Add a wait_until coroutine
It will set a disposable handler on an event and wait on it with a
specific timeout. Useful for integration tests without callback hell.
2020-12-04 22:59:34 +01:00
mathieui
2c523d1a3b XEP-0439: Quick Response 2020-12-04 19:42:23 +01:00
mathieui
41dea80d94 XEP-0425: Message Moderation 2020-12-04 19:42:23 +01:00
mathieui
c4ca15a040 XEP-0424: Message Retraction 2020-12-04 19:14:32 +01:00
mathieui
54d556280a XEP-0428: Fallback Indication 2020-12-04 19:14:32 +01:00
mathieui
c63e9a32b9 XEP-0359: Unique and Stable Stanza IDs
(was partially supported in places before)
2020-12-04 19:14:30 +01:00
mathieui
58c3579f74 XEP-0422: Message Fastening 2020-12-04 19:13:55 +01:00