preliminary result of the migration test (JS verdigado)
The migration script used: https://github.com/verdigado/rocketchat2matrix
We used the existing test-userdata dump from the hackathondump.zip as well as our own data from a rocketchat testserver running locally. Our RocketChat instance was tested with version 4.8.7 (and should work with version up to 6.X, as it only uses a mongoDB dumps for input)
Chagai needed to modify some of the code because of TS datetime type issue with our RC version
What works:
- users
- messages
- rooms
- threads
What doesnt work:
- E2EE
- attachments/files
- performance
As of yet, it is running a single process because data needs to be imported in a chronological order and is single threaded, which is a performance issue on larger instances. According to one of the devs, with just a bit of async/parallelization, it should be feasible but then probably run into synapse bottlenecks afterwards. Testing will also be imperative before migrating from a production setup, which is actively beeing worked on
Conclusion: The basics already seem to work but there are still attachements and a more finegrained tests-scenarios missing. Especially the latter is important to flesh out. Even though we went through a typical usage pattern, we likely have not covered every possible edge-case with our setup and data. There also will be some RC-native features that will likely be lost in translation (e.g. read-only attributes)
Next Steps:
- implement attachments
- increase performance
- test-cases and -data