Commit log

39f87ea less flagrant move in the loop

Click to expand commit body
this way we can prevent having to remove and re-insert the resource
several times per call to `run_on_main_thread`

Phillip Davis created

62ddbc7 wip: claude-written HList matcher API

Click to expand commit body
told it to copy warp's implemntation of HList pattern for `Filter`

Phillip Davis created

56ac2b9 wip: better runtime integration

Phillip Davis created

e2f2d4a wip: oh yeah, this might actually be good

Phillip Davis created

41c9c9a wip: high-level server component API

Phillip Davis created

58ed159 xmpp-parsers: Parse the ibr feature in StreamFeatures

Click to expand commit body
This was surprisingly missing before.

Link Mauve created

d0062d9 xmpp-parsers: Split ibr::Query into multiple structs

Click to expand commit body
This introduces FieldsQuery, RemoveQuery, LegacyQuery and FormsQuery,
making this module reflect more accurately how it gets used on XMPP.

Link Mauve created

f6d4ab9 minidom: Bump rxml dep

Click to expand commit body
This should have been done in 19865e5f probably, before the latest
release. This generally causes users of the library to cargo update
manually.

Signed-off-by: pep <pep@bouah.net>

pep created

a2ed502 xmpp: Allow resyncs in Agent::join_room

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

pep created

6624dff jid: Allow for deserializers which cannot provide borrowed strings

Click to expand commit body
skip-changelog: already in there.

Signed-off-by: pep <pep@bouah.net>

pep created

89feaa0 jid: Gate struct introduced in 60bf821c6 behind 'serde' feature

Click to expand commit body
skip-changelog: Already updated

Signed-off-by: pep <pep@bouah.net>

pep created

60bf821 jid: Fix JID parts serde deserialization

Click to expand commit body
serde was bypassing the validation these types rely on, making them
completely unsound in an XMPP context.

Fixes #165.

Link Mauve created

f1e5ac6 xmpp-parsers: Make Priority’s inner i8 pub

Click to expand commit body
We forgot to make it pub before, but should have.

This was a regression from 893a2f8e47e8aabdec0797994f160423860b68db,
when we converted it to xso.

Fixes #166.

Link Mauve created

8c2b1df xmpp-parsers: Fix the type of jingle_rtp/ssrc to u32

Click to expand commit body
XEP-0167 has been updated to version 1.2.3, to change the type of the
'ssrc' attribute to u32 (from String).  This is in accordance with
RFC 3550 (RTP), which defines it as a randomly-chosen 32-bit unsigned
integer.

Additionally, the docstring was completely wrong.

Link Mauve created

e22daa9 xmpp: make Agent.config accessible only via getter

Click to expand commit body
It may not matter much for the moment as this struct shouldn't change
very much during the life of the client, but this prevents the lock from
being held too long.

Signed-off-by: pep <pep@bouah.net>

pep created

a1a31ce xmpp: Merge Agent configuration into new Config struct

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

pep created

147b79c xmpp: new Config struct for Agent, with bookmarks_autojoin for now

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

pep created

77acd92 tokio-xmpp: Ignore missing "version" stream attribute for 0114 components

Click to expand commit body
From the prosody@ room:
- 0114 doesn't mention the removal of @version on the stream, and it
  refers to 3920 which has it as a MUST.
- 0114 streams have historically never used @version="1.0"
- @version="1.0" implies stream features which 0114 doesn't have.
- There was a proposal years ago to fix this but a new XEP was preferred
  (0225).

The change here uses a compile-time check, and may have to change when
support for 0225 arrives if it's still gated behind the "component"
feature (even though it may be weird to have both under the same
feature). We'll see when we get there.

Signed-off-by: pep <pep@bouah.net>

pep created

7715d2e Add a CI pass for typos

Link Mauve created

5ed9585 Fix all typos using the typos tool

Click to expand commit body
See https://github.com/crate-ci/typos

Link Mauve created

b014316 Add a typos.toml file

Click to expand commit body
This file lists the files to ignore, as well as the words to ignore.

Link Mauve created

3eb8a2a xmpp-parsers: Run rustfmt

Click to expand commit body
Sorry, I made a mistake and pushed directly to main. T_T

Link Mauve created

9b77b96 xmpp-parsers: Simplify with String::split_once() instead of splitn(2)

Click to expand commit body
This directly returns a 2-uple, instead of a Vec which has to be matched
again as if we didn’t know it would return up to two elements.

Link Mauve created

4d1838d xmpp-parsers: Use ToString::to_string as a map() argument

Click to expand commit body
It’s more readable than using a closure for the same thing.

Link Mauve created

e503f01 xmpp: update to edition 2024

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

pep created

4a054ae CONTRIBUTING.md: Making a release

Click to expand commit body
skip-changelog.

Signed-off-by: pep <pep@bouah.net>

pep created

239a019 jid: Bump to 0.12.1

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

pep created

0e7ac06 tokio-xmpp: Bump to 5.0.0

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

pep created

7a1dde7 parsers: Bump to 0.22.0

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

pep created

e95f884 parsers: clippy

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

pep created

00b638f xso{,-proc}: clippy

Click to expand commit body
This doesn't fix all of the clippy warnings in these crates. There are
decisions that needs to be made in there that I'm not willing to make.

Signed-off-by: pep <pep@bouah.net>

pep created

9595ffe minidom: clippy

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

pep created

d60f718 xmpp/example: Use unwrap instead of ignoring Result

Click to expand commit body
skip-changelog.

Co-authored-by: Link Mauve <linkmauve@linkmauve.fr>
Signed-off-by: pep <pep@bouah.net>

pep and Link Mauve created

21cb5c1 xmpp/example: explicit types to prevent mishap

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

pep created

30b049a Bump xso to 0.3.0

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

pep created

bd986f5 minidom: Bump version to 0.18

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

pep created

0c253b8 xmpp-parsers: Deny more warnings lib-wide

Click to expand commit body
All warnings denied in macro tests can actually be denied in the whole
crate.

Link Mauve created

f0d6603 xmpp/example: .await event handling in hello_bot

Click to expand commit body
skip-changelog.

Signed-off-by: pep <pep@bouah.net>

pep created

15ac518 minidom: loosen type requirement on Element::attr{,_ns} getters

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

pep created

d91e99f minidom: re-export rxml

Click to expand commit body
As it's now being used in Element::attr and ElementBuilder::attr

Signed-off-by: pep <pep@bouah.net>

pep created

19865e5 minidom: breaking: Allow getting Element attributes by namespace

Click to expand commit body
- Move Element.attributes to `AttrMap`, slowly using rxml's features and
  unrolling our own.
- Add Element::attr_ns that requires the attribute namespace.
  Element:attr defaults to rxml::Namespace::none() but the interface
  changes nonetheless for a &NcNameStr. Similar changes on
  `ElementBuilder` methods.
- Remove iterator structs for attributes, return a ref on the AttrMap
  directly as we don't need to keep attributes' internals hidden
  anymore.
- Enable rxml's `macros` feature within tests to access the `xml_ncname`
  macro.

Signed-off-by: pep <pep@bouah.net>

Maxime “pep” Buquet created

48f67d0 minidom: Remove 'std' feature

Click to expand commit body
The parser being used from rxml, `rxml::RawParser`, requires std, so it
doesn't make sense.

Signed-off-by: pep <pep@bouah.net>

pep created

e9bdae8 minidom: add copyright header

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

Maxime “pep” Buquet created

2678ac1 minidom: deduplicate from_reader methods

Click to expand commit body
skip-changelog: internal stuff

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

Maxime “pep” Buquet created

db0ce58 tokio-xmpp: Document TlsStream type behind 'ktls' feature

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

pep created

e526b49 tokio-xmpp: Remove warning when rustls-any-backend feature isn't enabled

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

pep created

7d47173 parsers/stanza_error: fix tests behind 'component' feature

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

pep created

061ccec parsers: get_best_body test: Add missing @xml:lang under component feature

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

pep created

e7845d0 parsers: gate unused import

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

pep created

4faa151 CI: set CARGO_TERM_COLOR: always

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

pep created