Commit graph

54 commits

Author SHA1 Message Date
moparisthebest
733d005f51
DNS/TLS deps are now optional, component now also uses ServerConnector 2024-01-01 02:09:41 -05:00
moparisthebest
3cab603a4c
Add AsyncServerConnector to AsyncClient to be able to support any stream
Unfortunately API breaking unless we do some export mangling
2024-01-01 02:08:13 -05:00
xmppftw
3d9bdd6fe2 Add StanzaTimeInfo for <delay> (XEP-0203) 2023-12-31 21:07:12 +01:00
xmppftw@kl.netlib.re
dbf053f576 Move Agent to agent module 2023-12-31 13:46:39 +01:00
xmppftw@kl.netlib.re
f6c47dd394 Move send_message to message::send module 2023-12-31 13:46:20 +01:00
xmppftw@kl.netlib.re
0e31739934 Move send_room_private_message to muc::private_message module 2023-12-31 13:44:10 +01:00
xmppftw@kl.netlib.re
fecacf84c3 Move join_room and leave_room to muc::room module 2023-12-31 13:42:18 +01:00
xmppftw@kl.netlib.re
7622721ec6 Move make_initial_presence to presence::send module 2023-12-31 13:42:00 +01:00
xmppftw@kl.netlib.re
379d3cfbe6 Move wait_for_events to event_loop module 2023-12-31 13:40:03 +01:00
xmppftw@kl.netlib.re
f95d968a9f Move upload_file_with to upload::send module 2023-12-31 13:36:39 +01:00
xmppftw
d689759439 Move handle_disco_info... to disco module 2023-12-31 13:33:59 +01:00
xmppftw
a82b48debc Move Event to event module 2023-12-31 13:33:37 +01:00
xmppftw
0bbc089480 Move ClientFeature to feature module 2023-12-31 13:28:48 +01:00
xmppftw
77ee7c15fa Move ClientBuilder and ClientType to builder module 2023-12-31 13:28:32 +01:00
xmppftw
b4caea19d4 Move handle_upload_result to upload module 2023-12-31 13:26:43 +01:00
xmppftw
75b864a5f9 Move handle_iq to iq module 2023-12-31 13:24:27 +01:00
xmppftw
bc28a77d5f Move handle_presence to presence mod 2023-12-31 13:22:06 +01:00
xmppftw
82bb418cf3 Move handle_message to message module 2023-12-31 13:18:41 +01:00
xmppftw
a6b07d4435 Workaround prosody bug 1664
https://issues.prosody.im/1664
2023-12-16 20:01:17 +01:00
xmppftw
4f8dc68b1b Perform legacy or modern bookmarks depending on disco#info result on account 2023-12-16 17:32:07 +01:00
xmppftw
5fbba5c925 Receive legacy XEP-0048 v1.0 bookmarks 2023-12-16 17:29:01 +01:00
Werner Kroneman
ba48f6de46 Lazily bubbling the XMPP event up to the Disconnected event. 2023-12-15 23:23:56 +00:00
4089891f6c Update edition to 2021
- Remove TryFrom/Into and FromIterator imports
- Prevent impl_validator_using_provider macro in sasl crate from
  constructing trait object

Signed-off-by: Maxime “pep” Buquet <pep@bouah.net>
2023-12-15 19:40:09 +00:00
Werner Kroneman
2b433d7036 Added a link to the Brussels meeting minutes about auto-join. 2023-12-09 13:29:32 +01:00
Werner Kroneman
a993770206 Clarified the doc comments for leave_room. 2023-12-09 13:26:23 +01:00
Werner Kroneman
ecd0be4aad Removed weird duplicate RoomJoined at the end of the method. 2023-12-08 20:34:44 +01:00
Werner Kroneman
d2a5634859 Using BareJid + RoomNick instead of FullJid.
Also, corrected wrong XEP reference.
2023-12-08 20:21:28 +01:00
Werner Kroneman
49921ac7d3 Added an attempt to fix the bug where the client misinterprets "unavailable" status (or any other self-status, really) as a RoomJoined event. 2023-12-08 20:14:56 +01:00
Werner Kroneman
320d6e27c2 Ran cargo fmt 2023-12-08 20:02:52 +01:00
Werner Kroneman
249d2aeed6 Added a "leave room" method. 2023-12-08 19:43:27 +01:00
Werner Kroneman
176d213e0f Added doc comment for wait_for_events 2023-12-04 01:01:31 +00:00
e2ef506418
xmpp: Re-export jid structs, minidom::Element, and parsers module
Signed-off-by: Maxime “pep” Buquet <pep@bouah.net>
2023-08-21 10:57:33 +02:00
21c9fa2df4 xmpp: Update to tokio-xmpp 3.4
Signed-off-by: Maxime “pep” Buquet <pep@bouah.net>
2023-08-20 21:34:04 +02:00
2e3004f89e CI: Add a test with no-default-features and ensure it passes
Signed-off-by: Maxime “pep” Buquet <pep@bouah.net>
2023-08-17 23:45:57 +02:00
Emmanuel Gil Peyrot
b28c843eff xmpp: Use the new FullJid::resource_str() method 2023-08-10 19:31:10 +00:00
xmppftw
4266368a98 JIDs now have typed and stringy methods for node/domain/resource access
Jid now has typed with_resource and stringy with_resource_str
Jid now has is_full, is_bare
2023-06-21 18:30:25 +02:00
Emmanuel Gil Peyrot
cea9c04507 xmpp: Update to the new jid crate 2023-06-20 18:59:26 +02:00
552848b3ed
xmpp: Revert part of 9c39e3 and fix code at the right place
Signed-off-by: Maxime “pep” Buquet <pep@bouah.net>
2023-06-07 19:10:45 +02:00
d52ace59a9
xmpp: add MucUser payload in send_room_private_message Messages
Signed-off-by: Maxime “pep” Buquet <pep@bouah.net>
2023-06-07 18:54:23 +02:00
xmppftw
9c39e3c195 Event::RoomPrivateMessage does not expose sender FullJid ; add Agent::send_room_private_message method 2023-06-07 15:32:42 +00:00
xmppftw
6144a4c8b0 Event::RoomPrivateMessage for MUC PMs (#85) 2023-06-07 15:32:42 +00:00
xmppftw
209bab1441 tokio_xmpp::AsyncClient and xmpp::Agent take a fully parsed Jid (#72) 2023-06-01 16:55:53 +02:00
xmppftw
aafe341b25 Agent is now Send (closes #64) 2023-06-01 12:00:59 +02:00
Doggo
209c5b779a Fix bug where ContactAdded event was not firing due to a bad if statement. 2023-05-18 16:06:43 +02:00
216d9c4a8d
xmpp: rustfmt Message events commits
Signed-off-by: Maxime “pep” Buquet <pep@bouah.net>
2023-02-27 00:07:57 +01:00
c759516508
xmpp: *Message events now include an optional id
Signed-off-by: Maxime “pep” Buquet <pep@bouah.net>
2023-02-26 20:09:20 +01:00
d7a1cd71a9
xmpp: Add ServiceMessage event
Signed-off-by: Maxime “pep” Buquet <pep@bouah.net>
2023-02-26 17:42:44 +01:00
8e2224bc0f xmpp: pass in headers for http upload
Signed-off-by: Maxime “pep” Buquet <pep@bouah.net>
2022-04-18 12:10:55 +02:00
28df82c7bd xmpp: disconnect method on Agent
Signed-off-by: Maxime “pep” Buquet <pep@bouah.net>
2022-04-18 12:10:55 +02:00
a59c618ed0 xmpp: HTTP File Upload
Implement XEP-0363 HTTP File Upload in xmpp-rs.

The current interface is as is because of a limitation of our libraries.
It is not possible to await on an IQ to get a result, so we have to
workaround it by storing data on the Agent and fetching it back when we
get the result.

The client will have to first call `upload_file_with` and then listen on
Event::HttpUploadedFile, which are decoupled actions, instead of
awaiting on upload_file_with and getting the URL as a result directly.

`upload_file_with` doesn't yet find the upload service by itself for the
same reason as above.

Signed-off-by: Maxime “pep” Buquet <pep@bouah.net>
2022-04-18 12:10:55 +02:00