I referenced the Rust code to determine what was sent and received. We’re implementing better code logic; we’re not just copying their API. We want to be compatible to attract users and support all the hard work used to create Lemmy phone apps.
Java is for the core Sublinks API/core. Golang is being used for the federation service that operates independently. Once it’s done, it will be platform agnostic if someone else wants to use the federation service for their fediverse project. They communicate through a message bus.
Yes, we plan to do the new API correctly. We will support Lemmy’s API for as long as it is relevant, primarily for mobile apps.
Multiple domains aren’t possible yet, but that doesn’t mean we cannot add it later.
I’m unhappy with the Lemmy roadmap, development speed, and quality. I wanted to contribute but found it difficult to. I did the next best thing and created a somewhat drop-in replacement with a much larger community of developers who are willing to support it.
You can see the complete Sublinks roadmap here: https://github.com/orgs/sublinks/projects/1. The first release of parity (v0.10) will use the existing Lemmy front-end. All releases after that will no longer support the Lemmy UI because that’s when the enhanced features start to roll in. We don’t want to support or fork the current Lemmy UI.