Mercurial > prosody-modules
view mod_groups_migration/mod_groups_migration.lua @ 5951:d6a695abb33c
mod_ping_muc: Delay ping a configurable amount of time
If a server is restarting, checking immediately before it has a chance
to complete its restart and get ready would often fail, preventing the
possibility of transparent restarts as supported by Prosody's mod_muc.
Reconnecting immediately when a connection is closed for being idle, or
because the remote server is trying to reclaim some resources, is also
counter-productive as the connection may fail.
Also, if there is some Internet routing problem affecting s2s, it may
help to wait a bit before checking, in case the problem resolved itself
in the mean time.
author | Kim Alvefur <zash@zash.se> |
---|---|
date | Sun, 11 Aug 2024 16:10:24 +0200 |
parents | dd3bfe8f182e |
children |
line wrap: on
line source
local host = module.host; local usermanager = require"core.usermanager"; local mod_groups = module:depends("groups_internal"); local default_group_id = module:get_option("group_default_id", "default"); local default_group_name = module:get_option("group_default_name", "default"); local function trigger_migration() if mod_groups.exists(default_group_id) then module:log("debug", "skipping migration, group exists already") return end module:log("info", "migrating to mod_groups!") local group_id = default_group_id; local ok, err = mod_groups.create({name=default_group_name}, true, group_id); if not ok then module:log("error", "failed to create group: %s", err) return end for user in usermanager.users(host) do mod_groups.add_member(group_id, user, true); module:log("debug", "added %s to %s", user, group_id) end module:log("debug", "synchronising group %s", group_id) mod_groups.sync(group_id) module:log("info", "added all users to group %s", group_id) end module:hook_global("server-started", trigger_migration, -100)