

The Lemmy API doesn’t combine duplicates/crossposts together and requires it to be done client-side by detecting duplicate URLs when calling getPosts() to generate the feed. This means most apps that do roll up crossposts can only do so for ones that come through in the same API fetch. It’s possible to roll up crossposts across different fetches, but having done that in Tesseract, it causes more user confusion than just letting it be a duplicate.
I’ve got a natural bias towards Tesseract because I build it, but it does roll them up both by URL and by title. The latter covers cases where someone posts identical things to different communities that don’t use a URL, such as questions to the Ask communities. No bonus points because it still doesn’t support Piefed, and it’s not looking like that’s going to happen any time soon.














I think Piefed has a workable API now, but the big limitation for me is that all of the components that make up Tess are tightly coupled to Lemmy’s type definitions.
To support Piefed, I would need to make a translation layer to build Lemmy-esque objects from Piefed’s API responses. That’s perfectly doable, but Lemmy’s type definitions are also limiting a lot of things I want to do. I’ve extended a few of them but, really, I need to re-write most of these components to use platform agnostic interfaces that meet my own needs while mapping both Lemmy and Piefed objects to those.
Unfortunately, that’s going to take a lot of work that I just don’t have time to dedicate to right now. Life has been hectic to say the least.