Description
Signal does not store message data on its server after messages have been passed to a device. This means that when a new device is registered, chat history is not synced.
The recommended method for transferring history is by producing an encrypted backup file from a device, transferring it and then importing it into another file.
It would be nice if the bridge could consume these files (or a set of files extracted from them) and import the history and users into Matrix.
https://github.com/pajowu/signal-backup-decode is a such a tool which can be used to extract message, user and media data from a Signal backup. I've used it on a 6GB backup and found it works as advertised. Message and user data are placed into an SQLite3 database, while media is dropped into a directory.
Looks like a PR that may change large parts of the output is currently close to merging, so I might recommend we wait before that lands before integrating it. It also means people will need access to a Rust compiler to use this tool - but I don't think this should be a blocker.