Commit graph

41 commits

Author SHA1 Message Date
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
e1f2e2653a
xmpp: re-add bits that weren't moved from wait_for_events to handle_iq
Signed-off-by: Maxime “pep” Buquet <pep@bouah.net>
2020-09-07 11:41:40 +02:00
a8e13a61d7
xmpp: Remove unused import Element
Signed-off-by: Maxime “pep” Buquet <pep@bouah.net>
2020-09-07 11:40:20 +02:00
9d17a79813
xmpp: split wait_for_events methods
Signed-off-by: Maxime “pep” Buquet <pep@bouah.net>
2020-09-07 09:58:26 +02:00
Emmanuel Gil Peyrot
714d850e69 Remove the -rs suffix of jid, minidom and xmpp
We know those are Rust libraries, no need to add it to the path.  This
synchronises their directory with the crate name, hopefully reducing
confusion.
2020-06-22 02:17:32 +02:00
Renamed from xmpp-rs/src/lib.rs (Browse further)