~samwhited/xmpp

xmpp/docs d---------
docs: do a quick editing pass over the docs

Fix a few typos in the overview, remove relative times that are no
longer correct, and link to the XEPs list since we no longer maintain
the markdown version.

Signed-off-by: Sam Whited <sam@samwhited.com>
dial: simplify dialing and update docs

This patch updates the docs to better show the state of dialing as it
currently stands, and simplifies the dialing algorithm by factoring out
legacy A/AAAA fallback and reworking how the TLS config is handled.

Signed-off-by: Sam Whited <sam@samwhited.com>
xmpp: make stream config more flexible

Previously the stream config was a struct and the only thing that could
be changed between stream restarts was the features we advertised.
However, we may want to change other parts of the stream config between
restarts. For example, if we figure out the users JID after the first
step we may want to look them up in the database and set the default
stream language based on their preferences.

To accomplish this we now take a stream config function instead of
taking the struct directly (and the Features field has gone back to
being a slice and is no longer a function itself).
Each time we iterate we update the config by calling the function, which
can look up properties of the session before deciding what config needs
to change.

Fixes #106

Signed-off-by: Sam Whited <sam@samwhited.com>
docs: update funding to point to org profile

Previously the funding links pointed to one of my personal profiles,
however, it should point to the Mellium org profile so that all funds
get put back into the co-op.

Signed-off-by: Sam Whited <sam@samwhited.com>
docs: remove references to the mailing list

Since we're likely not going to continue using SourceHut in the long
term, remove mentions of it from the contributing document until such a
time as we decide where our long-term home will be.

As much as I like the patch based workflow, SourceHut doesn't do a very
good job of making it accessible to new users and I don't like the idea
of asking contributors to setup a new workflow that requires more than
just git(1) and the forge we're pushing to.

Maybe one day something will integrate a patch based workflow into a
codeforge well and we'll be able to add it back.

Signed-off-by: Sam Whited <sam@samwhited.com>
docs: update broken links

Fix a link to the issues to use a domain we control and update the Go
chat room to link to the correct JID/web chat.

Signed-off-by: Sam Whited <sam@samwhited.com>
all: use only Open Collective for fundraising

We also keep the GitHub link active for now because that's probably
easier for most people.

Signed-off-by: Sam Whited <sam@samwhited.com>
all: update main branch references in links and CI

Signed-off-by: Sam Whited <sam@samwhited.com>
docs: add release notes

Signed-off-by: Sam Whited <sam@samwhited.com>
docs: document naming of Fetch functions

Previously some functions that made simple queries were called (or
started with) "Get" while others used "Fetch". Now "Fetch" is used to
indicate functions that return an iterator, while "Get" functions return
the full data.

Signed-off-by: Sam Whited <sam@samwhited.com>
docs: fix broken link in ARCHITECTURE.md

Signed-off-by: Sam Whited <sam@samwhited.com>
docs: add section on namespaces to extensions

Signed-off-by: Sam Whited <sam@samwhited.com>
docs: fix link in extensions docs

Signed-off-by: Sam Whited <sam@samwhited.com>
docs: add ARCHITECTURE.md

This document provides a high-level architectural overview of the
mellium.im/xmpp module. Its target audience is contributors looking to
familiarize themselves with the codebase.

Signed-off-by: Sam Whited <sam@samwhited.com>
xmpp: update docs to point to new chat room

Signed-off-by: Sam Whited <sam@samwhited.com>
s2s: add bidi implementation

Signed-off-by: Sam Whited <sam@samwhited.com>
docs: update supported RFCs

Signed-off-by: Sam Whited <sam@samwhited.com>
docs: minor rewrap of line in CONTRIBUTING.md

Signed-off-by: Sam Whited <sam@samwhited.com>
dial: refactor dialing

Previously dialing required xmpps SRV records if SRV lookup and direct
TLS are enabled.
Refactoring the dialing will allow us to connect to whichever record is
enabled (if any) and gives us the added benefit of doing the DNS lookups
concurrently.

Fixes #2

Signed-off-by: Sam Whited <sam@samwhited.com>
docs: add list of XEPs

Signed-off-by: Sam Whited <sam@samwhited.com>
Next