Matthew Wild <mwild1@gmail.com> [Wed, 18 Mar 2020 17:42:56 +0000] rev 10697
MUC: Add initial hats support (broadcast only)
Based on the currently-deferred XEP-0317. The protocol differs
a little (because XEP-0317 is incomplete), therefore currently
we use a custom namespace.
The plan is to update and finish XEP-0317.
Kim Alvefur <zash@zash.se> [Sun, 15 Mar 2020 20:35:07 +0100] rev 10696
README: Update link to web chat
At some point the web chat moved to /chat and then to this subdomain
Matthew Wild <mwild1@gmail.com> [Thu, 12 Mar 2020 20:33:27 +0000] rev 10695
Merge 0.11->trunk
Matthew Wild <mwild1@gmail.com> [Thu, 12 Mar 2020 20:32:07 +0000] rev 10694
MUC: Persist affiliation_data in new MUC format!
Matthew Wild <mwild1@gmail.com> [Thu, 12 Mar 2020 20:32:07 +0000] rev 10693
MUC: Persist affiliation_data in new MUC format!
Matthew Wild <mwild1@gmail.com> [Thu, 12 Mar 2020 16:10:44 +0000] rev 10692
MUC: Switch to new storage format by default
Changing the default setting of `new_muc_storage_format` from false to true.
The code supports reading both formats since 0.11, but servers with MUCs stored
using the new format will not be able to downgrade to 0.10 or earlier.
The new format is clearer (less nesting for the most commonly-accessed data),
and combined with the new map-store methods, allows for some operations to become
more efficient (such as finding out which MUCs on a service a given user is affiliated
with).
Matthew Wild <mwild1@gmail.com> [Thu, 12 Mar 2020 16:01:31 +0000] rev 10691
MUC: Support for broadcasting unavailable presence for affiliated offline users
Activated when muc#roomconfig_presencebroadcast includes the "none" role.
Matthew Wild <mwild1@gmail.com> [Thu, 12 Mar 2020 14:35:34 +0000] rev 10690
MUC: Pass previous role to :publicise_occupant_status() when destroying a MUC
Matthew Wild <mwild1@gmail.com> [Thu, 12 Mar 2020 14:13:22 +0000] rev 10689
MUC: Don't unconditionally broadcast presence with role="none"
Detailed explanation in de607875d4bd. A presence with role="none"
(which is always type="unavailable") should only be broadcast if
available presence was previously broadcast for that occupant.
Matthew Wild <mwild1@gmail.com> [Thu, 12 Mar 2020 14:10:12 +0000] rev 10688
MUC: Pass previous role to :publicise_occupant_status() whenever possible
Currently there is what amounts to a hack in presence_broadcast.lib.lua to
make it always broadcast presence with roles of "none". This is to ensure
that if you previously saw available presence for someone, you will also
see the unavailable presence (which always has role="none").
The correct approach is to take into account what the previous role was (
i.e. answer the question: "Was the available presence for this occupant
a role for which presence broadcast is enabled?).
The logic is already in place to do this correctly, but most call sites
do not provide the previous role (prev_role argument) of the occupant,
which causes it to not be used. In its place the hack to always broadcast
presence of role="none" has allowed things to continue to work.
The intention is that a subsequent commit will remove the unconditional
broadcast of role="none".