in order to avoid conflict with a handler at the default (0) priority,
making it easier to write your own formatting in plugins.
this follows the common pattern of default modules having lower priority
Why do we still include this? Deprecated in 2007, obsoleted in 2009.
Removes redundant timestamp that nobody should be looking at since many
years and a redundant copy of the room JID.
Thanks pep. and lovetox
XEP-0045 §6.4:
> any field defined for the muc\#roomconfig FORM_TYPE can be included in
> the extended service discovery fields
Probably happened because the same mistake is in #1155
Previously any error, or even a normal websocket close frame, would return early,
leaving potentially entire frames in the buffer unprocessed and then discarded.
This change stops processing new data, but returns an existing processed data up
to the point of the error/close.
The stanza-id added during archiving looks exactly like what should be
stripped, so the stripping must happen before archiving.
Getting priorities right is hard!
Also no test coverage yet.
27f5db07bec9 fixed this wrong. The code is supposed to check if the
stanza is NOT sent to your bare JID. A MUC PM is always sent to your
full JID. Hopefully nobody sends MUC invites to full JIDs, because those
would be skipped by this as well.
Behavior with turning empty name into localpart was originally introduced
in 711eb5bf94b4
This has caused some problems for clients, making it difficult to
differentiate between a room actually named like the localpart from a
room without a name.
Breaking:
The function signature of the :get_name() method changes from always
returning a string to optional string.
User switching has been done by prosodyctl or init scripts for a very
long time now, so this is not needed.
Using this would not have worked with module reloading (e.g. to reload
certificates) since ports are closed and re-bound, which would then not
be allowed.
Today there exists better ways to grant low ports, i.e. capabilities(7)
<Zash> Why do we have this?
<MattJ> Remove it
While writing developer documentation it became obvious that i was silly
to have one item format for config and items API, and another format for
the event API.
Then there's the stanza format, but that's a common pattern.
This change reduces the possible input formats to two and allows other
modules the benefit of the processing and validation performed on items
from the config.
The wait, service-unavailable is overloaded by XEP-0045 to mean that the
room has reached the maximum number of users. See #1495.
Bouncing errors for components is tricky since there is no way to tell
that it comes from the server hosting the component, not from the other
end of the component connection.