Thu, 12 Mar 2020 16:10:44 +0000 MUC: Switch to new storage format by default
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).
Thu, 12 Mar 2020 16:01:31 +0000 MUC: Support for broadcasting unavailable presence for affiliated offline users
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.
Thu, 12 Mar 2020 14:35:34 +0000 MUC: Pass previous role to :publicise_occupant_status() when destroying a MUC
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
Thu, 12 Mar 2020 14:13:22 +0000 MUC: Don't unconditionally broadcast presence with role="none"
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.
Thu, 12 Mar 2020 14:10:12 +0000 MUC: Pass previous role to :publicise_occupant_status() whenever possible
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".
Wed, 11 Mar 2020 22:44:41 +0100 Merge 0.11->trunk
Kim Alvefur <zash@zash.se> [Wed, 11 Mar 2020 22:44:41 +0100] rev 10687
Merge 0.11->trunk
Wed, 11 Mar 2020 21:15:01 +0100 mod_mam,mod_muc_mam: Allow other work to be performed during archive cleanup (fixes #1504) 0.11
Kim Alvefur <zash@zash.se> [Wed, 11 Mar 2020 21:15:01 +0100] rev 10686
mod_mam,mod_muc_mam: Allow other work to be performed during archive cleanup (fixes #1504) This lets Prosody handle socket related work between each step in the cleanup in order to prevent the server from being completely blocked during this. An async storage backend would not need this but those are currently rare.
Wed, 11 Mar 2020 18:07:03 +0100 net.server_epoll: Fix indentation 0.11
Kim Alvefur <zash@zash.se> [Wed, 11 Mar 2020 18:07:03 +0100] rev 10685
net.server_epoll: Fix indentation Some lines seem to have gotten the wrong indentation, possibly caused by Meld which often ignores lines with only whitespace changes and leaves their previous indentation.
Wed, 11 Mar 2020 16:32:41 +0000 storagemanager, mod_storage_sql: Rename methods to :get_all() and :delete_all()
Matthew Wild <mwild1@gmail.com> [Wed, 11 Mar 2020 16:32:41 +0000] rev 10684
storagemanager, mod_storage_sql: Rename methods to :get_all() and :delete_all()
Wed, 11 Mar 2020 16:29:57 +0000 storagemanager: Add support for :find_key() and :delete_key() to map store shim
Matthew Wild <mwild1@gmail.com> [Wed, 11 Mar 2020 16:29:57 +0000] rev 10683
storagemanager: Add support for :find_key() and :delete_key() to map store shim
(0) -10000 -3000 -1000 -300 -100 -10 +10 +100 +300 +1000 tip