disco: add XEP-0030 support
mux: add IQ matcher
Adding a separate IQ muxer to the mux package will allow us to easily
match based on the payload of an IQ without requiring special handling
in the standard muxer.
mux: return wildcard handlers from Handler method
Previously the Handler method would only return a handler if an exact
match for the name was found, and would otherwise return the fallback
handler. This change moves the logic for selecting wildcard handlers
into Handler so that what Handler returns is always what would be
selected if an incoming payload matching the name were handed to
design: accept iqmux proposal
mux: remove warning in package docs
While this package isn't guaranteed to be stable until 1.0, it's been in
here long enough that I think it's time to remove the explicit warning.
The package will still change, but we don't need to scare away the early
adopters of this module.
design: fix whitespace in markdown docs
Previously there was no line break between the status and discussion
design: rename documents based on issue number
Also add a link to the issue in the docs to make going back and forth
between the document and the discussion simpler.
design: answer a question in iqmux proposal
Update the IQ mux proposal to make it clear that Error and Result type
IQs are also handled by the multiplexer, and add some shortcut functions
for handling them in a reasonable way.
design: rename iqmux proposal
Previously the file had a .txt extension but it is a markdown file.
Changing to a .md extension will allow renderers to show formatting
design: add iqmux proposal
all: update changelog with unreleased section
From now on I will try to keep the changelog up to date instead of
updating it only when a release happens so that users can get an
overview of what is different on master.
all: add chat badge to the readme
Add a link to the general Go chat room on my server which can serve as
a support channel until I get the new system setup.
design: shorten filename of IBB proposal
This change also fixes some minor whitespace issues (it removes two
all: update godoc link in readme
Update the documentation links and badges in the readme to point to
pkg.go.dev since godoc will shortly redirect there anyways and most
users are likely using Go Modules at this point anyways so pkg.go.dev
will show the version that will be selected for them instead of the
latest commit on master.
all: mention examples in readme
Mention the examples in the readme to help new users get started, also
clean up some minor inaccuracies in other parts of the readme.
all: add review section to contributing doc
Adds a section about code review to the contributing docs and also makes
several minor changes to other sections that were left out of the last
update. The goal of this change is to ensure that new contributors
aren't suprised by our code review process which may require more
changes than they're used to.
all: drop support for Go versions below 1.13
examples/im: new example similar to sendxmpp(1)
all: update the code of conduct
This updates the code of conduct to be based on version 2.0 of the
all: update the contribution guidelines
The previous guidelines were rather sparse and did not provide much
guidance for how to get a contribution accepted. By improving them we
can hopefully avoid contributors being frustrated by requirements that
seem opaque or arbitrary.
design: add proposal for XEP-0047