Commit log

b648b46 Fix broken build with tls-native feature

Jonas Schäfer created

e53fa6c Emit feature flag tags in CI doc build, too

Click to expand commit body
This doesn't do anything useful yet, because we can't build with
--all-features because of the conflicting rustls/openssl features...

Jonas Schäfer created

13be111 sasl: make docs.rs emit nice feature tags on feature-gated items

Jonas Schäfer created

1293e9a jid: fix incorrect type on Jid::Full

Click to expand commit body
This does not matter much because users need to replace usages of these
anyway, but it's better to have it right here to not cause additional
confusion.

Jonas Schäfer created

054447d jid: add more testcases

Click to expand commit body
Because why not!

Jonas Schäfer created

c08946a jid: skip `at` and `slash` in comparison operators

Click to expand commit body
They only contain cached information and thus don't need to be included
in comparison and identity operators.

Fixes #123.

Jonas Schäfer created

c895cb1 jid: implement Borrow<Jid> on FullJid and BareJid

Click to expand commit body
This allows to use them interchangably when looking up keys in hash sets
and dicts.

Jonas Schäfer created

2e9c941 jid: rewrite public types

Click to expand commit body
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.

Jonas Schäfer created

fb63ac8 Update rxml to 0.10.0

Click to expand commit body
See release notes [1] for details.

   [1]: https://codeberg.org/jssfr/rxml/releases/tag/v0.10.0

Jonas Schäfer created

65c9143 Used Element::append_text instead of append_text_node in TreeBuilder::process_text to prevent weird splitting of text when there is no element in between.

Werner Kroneman created

f54776c Added Element::append_text

Werner Kroneman created

2c70103 Implement `as_str` on all Jid types

Click to expand commit body
This is useful for printing with quotes without copying any data.

Jonas Schäfer created

9608b59 Add more conversion/construction paths between Jid and part types

Jonas Schäfer created

7fce114 Offer {Resource,Node,Domain}Ref on Jid API

Click to expand commit body
This provides a non-copying API, which is generally favourable. The
other accessors were removed, because the intent was to provide this
"most sensible" API via the "default" (i.e. shortest, most concisely
named) functions.

Jonas Schäfer created

45f1567 Use debug_tuple instead of string formatting

Click to expand commit body
This provides standard-library-like output.

Jonas Schäfer created

8238e81 Unify declaration of {Node,Domain,Resource}Part

Click to expand commit body
This introduces a str-like type for each of these, which will allow
returning a ref instead of the copied data from various methods in
{Full,Bare}Jid.

The use of a macro ensures that all types are declared consistently.

Jonas Schäfer created

e7fa646 Update size tests

Click to expand commit body
This seems to be related to an update of chrono. 32-bit sizes verified
using `cargo test --target i686-unknown-linux-gnu`.

Jonas Schäfer created

2f7d5ed Make TryFrom<Element> chainable

Click to expand commit body
This allows constructs like:

```rust
let residual = match Iq::try_from(stanza) {
  Ok(iq) => return handle_iq(..),
  Err(Error::TypeMismatch(_, _, v)) => v,
  Err(other) => return handle_parse_error(..),
};
let residual = match Message::try_from(stanza) {
  ..
};
let residual = ..
log::warn!("unhandled object: {:?}", residual);
```

The interesting part of this is that this could be used in a loop over a
Vec<Box<dyn FnMut(Element) -> ControlFlow<SomeResult, Element>>, i.e. in
a parsing loop for a generic XML/XMPP stream.

The advantage is that the stanza.is() check runs only once (in
check_self!) and doesn't need to be duplicated outside, and it reduces
the use of magic strings.

Jonas Schäfer created

3b3a4ff Do not .clone() Element in code generated with generate_element

Click to expand commit body
This should improve performance a little.

Jonas Schäfer created

6f6f8ab Add fields for Result Set Management in disco#items

Click to expand commit body
Note that this is a breaking change, as it changes the struct definition
and now requires additional fields when constructing the struct.

Jonas Schäfer created

1bab5c3 Remove redundant imports

Click to expand commit body
These became warnings in a recent nightly.

The TryFrom/TryInto imports were missed in
4089891f6c96bb025de8c9a77b2e58b568534a74, but the rest are truly
redundant.

Emmanuel Gil Peyrot created

6df8062 Fix size tests on latest Rust release

Click to expand commit body
Since Rust 1.76, and some much older nightly, there have been
improvements to the niche computation, which leads to smaller types
which can encode the same amount of data, variants, and such.

This fixes the tests on this compiler version.

Emmanuel Gil Peyrot created

1ecfaeb Fix multiple error text lang handling in stanza_error

Paul Fariello created

87164b0 Added xep-0264 to doap.xml

Werner Kroneman created

78158ed Added jingle_thumbnails mod to lib.rs.

Werner Kroneman created

611c09a Added jingle_thumbnails module.

Werner Kroneman created

b541f8a Added ns::JINGLE_THUMBNAILS

Werner Kroneman created

b2ba646 Implement empty before for QuerySet

famfo created

9903673 xmpp: Rename ClientBuilder::new_with_server to new_with_connector

Click to expand commit body
Signed-off-by: Maxime “pep” Buquet <pep@bouah.net>

Maxime “pep” Buquet created

a292e19 Fix 32bit Qurey struct size

famfo created

6daf0e9 Implement flip-page for MAM

famfo created

099747f CONTRIBUTING: Split in categories

Click to expand commit body
Signed-off-by: Maxime “pep” Buquet <pep@bouah.net>

Maxime “pep” Buquet created

2e0a90f CI: Deny future warnings

Click to expand commit body
Signed-off-by: Maxime “pep” Buquet <pep@bouah.net>

xmpp ftw created

9d5019e Fix last cargo doc warnings

Click to expand commit body
Signed-off-by: Maxime “pep” Buquet <pep@bouah.net>

xmpp ftw created

28ab91f Add Sync to ServerConnectError

famfo created

0949acb Update the MR docs base URL

xmppftw created

b42b498 Parallel docs build ; don't doc deps ; push to docs.xmpp.rs

xmppftw created

818a878 Post comment to MR target not MR source project

xmppftw created

5bf2ef1 Generate docs on commits / MRs, upload to Gitlab Pages and post link in comment

xmppftw created

060088b Implement function to get stream features

famfo created

45c1969 README: Mention new CoC

Click to expand commit body
Signed-off-by: Maxime “pep” Buquet <pep@bouah.net>

Maxime “pep” Buquet created

cad2e15 Code of Conduct

Click to expand commit body
Heavily based on JoinJabber.org's CoC.

Signed-off-by: Maxime “pep” Buquet <pep@bouah.net>

Maxime “pep” Buquet created

1ce8145 Fix unused variable warnings when avatars disabled

xmppftw@kl.netlib.re created

25274e2 Deny warnings in github/gitea/forgejo CI and act local runner

xmppftw@kl.netlib.re created

7fc4696 Deny warnings in gitlab CI

xmppftw@kl.netlib.re created

a6f4600 Reexport hashes from parsers

xmppftw@kl.netlib.re created

83d0d1b Updated doap.xml for vCard avatars

Werner Kroneman created

10b2040 Added vCard update to parsers

Werner Kroneman created

c0cf672 Added vCard avatars (XEP-0054) to parsers.

Werner Kroneman created

18cb6f6 Refactored the "helpers" so that they use a common Codec trait; this makes them composable as well.

Werner Kroneman created