Commit graph xmpp-rs/xmpp/examples
Author SHA1 Message Date
pep
a2ed5026f0 xmpp: Allow resyncs in Agent::join_room
Signed-off-by: pep <pep@bouah.net>
2026-01-04 23:33:08 +01:00
pep
e503f016a3 xmpp: update to edition 2024
Signed-off-by: pep <pep@bouah.net>
2025-11-13 22:41:05 +01:00
pep
d60f718955
xmpp/example: Use unwrap instead of ignoring Result
skip-changelog.

Co-authored-by: Link Mauve <linkmauve@linkmauve.fr>
Signed-off-by: pep <pep@bouah.net>
2025-10-29 13:48:42 +01:00
pep
21cb5c1f7f
xmpp/example: explicit types to prevent mishap
Previously there was a forgotten `.await` at this exact place because of
the `let _`, which could have been `let _: type` to prevent this. The
`handle_events` method here returns the unit type so I just removed it.

skip-changelog: already in the changelog and not released yet

Signed-off-by: pep <pep@bouah.net>
2025-10-29 13:06:47 +01:00
pep
f0d660315f
xmpp/example: .await event handling in hello_bot
skip-changelog.

Signed-off-by: pep <pep@bouah.net>
2025-10-24 01:50:56 +02:00
Jonas Schäfer
fc8b581593 Clean up tls-related feature flags
This provides a clear and consistent interface for selecting TLS-related
features on both (xmpp and tokio-xmpp) crates. All feature checks have
been revamped. All working combinations have been tested (including a
connectivity test + --all-features docs build) using:

```
set -xeuo pipefail
features=(aws_lc_rs ring ktls,aws_lc_rs ktls,ring aws_lc_rs,ring aws_lc_rs,ring,ktls native-tls rustls-any-backend)
export RUSTFLAGS=" -D warnings"
cargo test --no-default-features
cargo test
for feature in ${features[@]}; do
  echo ">>> BUILDING with $feature" 2>&1
  # Running code or building examples cannot succeed with rustls-any-backend.
  features="starttls,$feature"
  if [ "$feature" != 'rustls-any-backend' ]; then
    if ! cargo test --no-default-features --features="$features"; then
      echo ">>> BUILD FAILED for tls feature set: $features" >&2
      exit 1
    fi
    set +e
    timeout -sINT -p -k 2 3 cargo run --no-default-features --features="$features" --example keep_connection -- test@hub.sotecware.net "$(pass xmpp/test@hub.sotecware.net)"
    status="$?"
    set -e
    if [ $status -ne 0 ]; then
      echo ">>> keep_connection did not shut down cleanly! (status: $status)" >&2
      exit 1
    fi
  else
    if ! cargo build --no-default-features --features="$feature"; then
      echo ">>> BUILD FAILED for tls feature set: $features" >&2
      exit 1
    fi
  fi
done
RUSTDOCFLAGS="--cfg docsrs" RUSTFLAGS="--cfg xmpprs_doc_build" cargo +nightly doc -Zrustdoc-map --all-features
```
2025-05-10 22:02:39 +02:00
Jonas Schäfer
4e9e18444c Avoid enabling multiple rustls backends by accident
For this, we had to:

- Make the choice(s) of backend explicit in tokio-xmpp features
- Avoid picking a backend through transitive dependencies in xmpp
  (reqwest->hyper->rustls).

In addition, we choose the default rustls backend by default and adapt
the examples so that they can cope with either situation.
2025-05-10 11:39:21 +02:00
Jonas Schäfer
5172fb5e0f parsers: port Message to use the derive macros 2025-04-18 12:56:03 +02:00
Maxime “pep” Buquet
da219d4fed
xmpp: handle SIGINT (^C) in hello_bot example
Signed-off-by: Maxime “pep” Buquet <pep@bouah.net>
2025-04-13 21:16:17 +02:00
Link Mauve
5ae38545e4 xmpp: Shorten the default caps node to our main domain
We do own xmpp.rs, so let’s use that instead of gitlab.com.
2025-04-07 11:57:01 +02:00
793b76d0d5 xmpp: More nicks are typed as RoomNick 2024-12-18 21:55:01 +01:00
c16456f381 parsers/xmpp: MUC bookmarks have nickname typed as ResourcePart 2024-12-18 15:43:09 +00:00
8c3c8c7c97 hello_bot accepts a list of room JIDs to join to say hello 2024-12-17 00:27:50 +00:00
fdec34afde Add JoinRoomSettings, LeaveRoomSettings, and RoomMessageSettings 2024-12-17 00:27:50 +00:00
6d7a95b6ca Remove xmpp::Event::{JoinRoom,LeaveRoom,LeaveAllRooms} 2024-12-16 22:36:25 +01:00
23e943825f xmpp::Agent::wait_for_events cannot error 2024-08-08 15:43:52 +02:00
Emmanuel Gil Peyrot
5fc12c45b5 xmpp: Use tokio-xmpp’s reexports of jid and minidom 2024-07-25 14:36:09 +00:00
Jonas Schäfer
2e9c9411a3 jid: rewrite public types
This moves InnerJid into Jid and reformulates BareJid and FullJid in
terms of Jid.

Doing this has the key advantage that FullJid and BareJid can deref to
and borrow as Jid. This, in turn, has the advantage that they can be
used much more flexibly in HashMaps. However, this is (as we say in
Germany) future music; this commit only does the internal reworking.

Oh and also, it saves 20% memory on Jid objects.

Fixes #122 more thoroughly, or rather the original intent behind it.
2024-04-15 18:21:24 +02:00
Emmanuel Gil Peyrot
1bab5c3cd9 Remove redundant imports
These became warnings in a recent nightly.

The TryFrom/TryInto imports were missed in
4089891f6c, but the rest are truly
redundant.
2024-02-27 22:57:18 +01:00
3d9bdd6fe2 Add StanzaTimeInfo for <delay> (XEP-0203) 2023-12-31 21:07:12 +01:00
Werner Kroneman
ba48f6de46 Lazily bubbling the XMPP event up to the Disconnected event. 2023-12-15 23:23:56 +00:00
Maxime “pep” Buquet
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
209bab1441 tokio_xmpp::AsyncClient and xmpp::Agent take a fully parsed Jid (#72) 2023-06-01 16:55:53 +02:00
Maxime “pep” Buquet
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
Maxime “pep” Buquet
a15a028383 xmpp: hello_bot: add catchall for Event
Masks HTTPUploadedFile which is useless here as we don't call the upload
method.

Signed-off-by: Maxime “pep” Buquet <pep@bouah.net>
2022-04-18 12:10:55 +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