Software /
code /
prosody-modules
Changeset
6175:e2d130104b98
mod_groups_internal: Delete all associated MUCs when deleting a group
author | Rémi Bardon <remi@remibardon.name> |
---|---|
date | Fri, 12 Jul 2024 19:55:30 +0200 |
parents | 6174:877416deacfa |
children | 6176:23e66cfc77d4 |
files | mod_groups_internal/mod_groups_internal.lua |
diffstat | 1 files changed, 12 insertions(+), 4 deletions(-) [+] |
line wrap: on
line diff
--- a/mod_groups_internal/mod_groups_internal.lua Wed Jan 29 00:20:01 2025 +0100 +++ b/mod_groups_internal/mod_groups_internal.lua Fri Jul 12 19:55:30 2024 +0200 @@ -207,10 +207,18 @@ function delete(group_id) if group_members_store:set(group_id, nil) then local group_info = get_info(group_id); - if group_info and group_info.muc_jid then - local room = muc_host.get_room_from_jid(group_info.muc_jid) - if room then - room:destroy() + if group_info then + if group_info.muc_jid then + local room = muc_host.get_room_from_jid(group_info.muc_jid) + if room then + room:destroy() + end + end + for _, muc_jid in ipairs(group_info.mucs) do + local room = muc_host.get_room_from_jid(muc_jid) + if room then + room:destroy() + end end end return group_info_store:set(group_id, nil);