Mercurial > prosody-modules
view mod_migrate/README.markdown @ 4326:f6fdefc5c6ac
mod_roster_command: Fix subscription when the "user JID" is a bare domain.
Do not attempt to update the roster when the user is bare domain (e.g. a
component), since they don't have rosters and the attempt results in an error:
$ prosodyctl mod_roster_command subscribe proxy.example.com contact@example.com
xxxxxxxxxxFailed to execute command: Error: /usr/lib/prosody/core/rostermanager.lua:104: attempt to concatenate local 'username' (a nil value)
stack traceback:
/usr/lib/prosody/core/rostermanager.lua:104: in function 'load_roster'
/usr/lib/prosody/core/rostermanager.lua:305: in function 'set_contact_pending_out'
mod_roster_command.lua:44: in function 'subscribe'
author | Boris Grozev <boris@jitsi.org> |
---|---|
date | Tue, 05 Jan 2021 13:15:00 -0600 |
parents | c5122b7633a8 |
children |
line wrap: on
line source
--- summary: prosodyctl cross storage driver migration tool ... Introduction ============ This module adds a command to `prosodyctl` for copying data between storage drivers. Usage ===== prosodyctl mod_migrate example.com <source-store>[-<store-type>] <target-driver> [users]* `<source-store>` would be e.g. `accounts` or `private`. To migrate archives, the optional suffix `<store-type>` would be set to `archive`, so e.g. `archive2-archive` or `muc_log-archive`. Multiple stores can be given if separated by commas. `<target-driver>` is the storage driver to copy data to, sans the `mod_storage_` prefix. `mod_migrate` tries to request a list of users from `usermanager`, but this does not always work. If so, you can supply usernames as arguments after the target driver. The process is something like this: 1. Decide on the future configuration and add for example SQL connection details to your prosody config, but don't change the `store` option yet. 2. With Prosody shut down, run `prosodyctl mod_migrate example.com accounts sql` 3. Repeat for each store, substituting 'accounts'. E.g. vcards, private... 4. Change the [`storage` configuration](https://prosody.im/doc/storage) to use the new driver. 5. Start prosody again. Examples ======== ``` sh prosodyctl mod_migrate example.com accounts,roster,private,vcard sql ``` Compatibility ============= Should work with 0.8 and later.