Draft: Change /r0/ endpoints to be /v3/, get rid of /initialSync call

Asbjørn Olling requested to merge drop-initialsync into main

This MR changes the API URL prefix from /_matrix/client/r0/ to /_matrix/client/v3/, meaning we use version 1.3 of the Matrix specification.

An advantage of this, is that we stop using /initialSync to get a pagination pointer, and instead just call /messages directly. /initialSync is slow (like, many-seconds slow), so that's really nice!

I also heard that the Conduit homeserver doesn't implement the (deprecated) /initialSync endpoint - so we need this for Cactus to work with Conduit.

But this probably breaks one some old homeservers. I don't know which versions and how many, though... We should find out before merging. I guess the cool thing to do would be to detect which APIs the homeserver implements, and act accordingly. Is it worth doing?

Merge request reports