Commit log

6b167ed xmpp-parsers: Convert disco#info identity to xso

Emmanuel Gil Peyrot created

2690e62 xmpp-parsers: Convert roster item to xso

Emmanuel Gil Peyrot created

d4f6812 xmpp-parsers: Convert cert_management to xso

Click to expand commit body
This introduces a breaking change by moving from a bool to an
Option<NoCertManagement>, which will be reverted eventually once we add
support for #[xml(flag)] types of children.

Emmanuel Gil Peyrot created

230b72b xso: add ToC to FromXml docs

Jonas Schäfer created

fb80bb7 xso: add support for dynamic enums

Jonas Schäfer created

b36d1d0 xso-proc: refactor enum handling

Click to expand commit body
This will allow other kinds of enumerations in the future more
easily.

Jonas Schäfer created

8e16ae1 xmpp-parsers: Integrate sasl2 and sasl_cb into stream:features

Emmanuel Gil Peyrot created

7238ebc xmpp-parsers: Integrate bind2 and sm into sasl2

Emmanuel Gil Peyrot created

27e4499 xmpp-parsers: Simplify SASL mechanisms type

Click to expand commit body
These can be a simple String for now.

Emmanuel Gil Peyrot created

23e9438 xmpp::Agent::wait_for_events cannot error

xmppftw created

2fc8e1c AsyncClient::new reconnects by default, fixes disconnect logic

xmppftw created

d8e08df xmpp-parsers: Implement XEP-0478: Stream Limits Advertisement

Click to expand commit body
This allows servers to communicate their maximum stanza limit, as well
as idle time limit.

Emmanuel Gil Peyrot created

9960cfd jid: Make Debug more readable on Jid

Click to expand commit body
Jid("foo@bar/baz") instead of Jid { normalized: "foo@bar/baz", at:
Some(3), slash: Some(7) }, which I find much more readable.

Same for BareJid and FullJid.

Emmanuel Gil Peyrot created

3f61050 xmpp-parsers: Implement XEP-0388: Extensible SASL Profile

Emmanuel Gil Peyrot created

de2ba97 xmpp-parsers: Implement XEP-0440: SASL Channel-Binding Type Capability

Emmanuel Gil Peyrot created

f16fb6a xmpp-parsers: Convert the remaining bind2 elements to xso

Emmanuel Gil Peyrot created

f0f4299 xmpp-parsers: Parse the bind feature in its module, with required

Click to expand commit body
This is different from the bind query or the bind response, despite all
three having the same element namespace and name…  Annoying!

Emmanuel Gil Peyrot created

3593226 tokio-xmpp: Error out when the stream:features couldn’t be parsed

Click to expand commit body
This is nicer than sleeping forever with no debug info whatsoever.

Emmanuel Gil Peyrot created

ba6a7c4 Use tokio::sync::RwLock instead of std

xmppftw created

8aca413 Collect unknown stream features in StreamFeatures.others

xmppftw created

fda4a9f xso: implement transparent structs

Jonas Schäfer created

fea915d xmpp-parsers: Make MAM metadata children pub

Click to expand commit body
This had been forgotten when I converted it to xso.

Emmanuel Gil Peyrot created

e1da341 xmpp-parsers: Convert MAM prefs to xso

Emmanuel Gil Peyrot created

0d3e73e xmpp-parsers: Convert bind2 to xso

Emmanuel Gil Peyrot created

f37b7b4 xmpp-parsers: Convert bind to xso

Emmanuel Gil Peyrot created

2df2439 xmpp-parsers: Convert blocking to xso

Emmanuel Gil Peyrot created

ce0f3be xmpp-parsers: Convert DataForms validation to xso

Emmanuel Gil Peyrot created

95d08e3 xmpp-parsers: Simplify RTT implementation using more xso

Click to expand commit body
Especially exhaustive enums are super useful for this kind of pattern.

Emmanuel Gil Peyrot created

f049e36 xmpp-parsers: Convert OOB to xso

Emmanuel Gil Peyrot created

79e224a xmpp-parsers: Convert bookmarks to xso

Emmanuel Gil Peyrot created

9e9186e xmpp-parsers: Convert MUC to xso

Emmanuel Gil Peyrot created

57c2eea xmpp-parsers: Convert Jingle RTP to xso

Emmanuel Gil Peyrot created

4e2af36 xmpp-parsers: Implement FromXmlText and AsXmlText for default types

Click to expand commit body
This allows such default type wrappers to be used in other xso elements.

Emmanuel Gil Peyrot created

656125a xso-proc: change field def's span slightly for better UX

Jonas Schäfer created

0361b59 xso: implement catch-all for unknown elements

Jonas Schäfer created

2103ef0 Remove manual doc_cfg feature because we have doc_auto_cfg

xmppftw created

fa99c09 Indicate which feature flag for each module/type

xmppftw created

aa26d98 Check attr="" parse to Some("") in Option<String>

xmppftw created

b3fd0b5 Move SimpleClient constructors to client::simple_client module

xmppftw created

fc0071a Move AsyncClient::new to client::async_client module

xmppftw created

84511b5 Only expose one error type in crate root

xmppftw created

34796c9 Only expose one error type in crate root

xmppftw created

2358c86 xso-proc: refactor field implementations into separate files

Click to expand commit body
This decreases indentation levels on the various implemenations, it
groups the implementations together physically, and (spoiler alert!)
we'll actually need the dyn Field trait object-ness (much) later on.

Jonas Schäfer created

19be14c xso-proc: make field into a module folder

Click to expand commit body
This is in prepraration of more refactoring to come, in order to make
the individual field implementations easier to grok and look at.

Jonas Schäfer created

b0996e3 xso-proc: pull out the extract code into a separate impl

Click to expand commit body
This should make everything a little easier to read, because it reduces
the level of indentation involved.

Jonas Schäfer created

f466b18 parsers: port version to derive macros

Click to expand commit body
We can *finally* do it!

Jonas Schäfer created

c7c180f xso: implement support for defaulting extracts

Jonas Schäfer created

f318dd4 xso: Use core instead of std wherever possible

Emmanuel Gil Peyrot created

1828fde xso-proc: Use core instead of std wherever possible

Emmanuel Gil Peyrot created

5de1891 Merged starttls::ConnectorError into starttls::Error

xmppftw created