Post by @stefano@mastodon.bsd.cafe
@stefano@bsd.cafe I added a much more Mastodon compatible client API and a couple of quality of life niceties, but IMO the key is that you can now use various mobile clients with LittleFedi with zero errors! Tested with Ivory, Ice Cubes and the official Mastodon client on IOS and the Tuba and Tokodon desktop clients on Linux.
Here's a patch:
https://gist.github.com/feoh/2552f8074a4f8c91af94fd21776a949a
@feoh @stefano@bsd.cafe This is the last I'll bother you about Little Fedi :) If I don't hear from you (and there's no reason I should, you owe me nothing! :) in a few days I'll make my repository public because I think Little Fedi with my fixes is something other people might find useful and enjoyable, and Little Fedi is MIT licensed so hopefully I'm within my rights.
@feoh First of all, thank you for all the work you've put into this. Really. And you're not bothering me at all! :)
I've had a look at your patch, and there's a LOT of work in there. Much more than a few compatibility fixes. There are database migrations (which we'd prefer to avoid unless strictly necessary, at least at this stage), a lot of tests (we already have many in our development branch, so there would be overlaps and probably conflicts), and quite a few changes touching different parts of the software.
It's definitely not a trivial patch, and reviewing it properly would take time.
The Little Computer People have deliberately chosen not to publish their development repository yet. Not because we want to hide anything, but because there are still branches to merge, bugs to fix, and some things we need to sort out before opening up development.
littleFedi is something the Little Computer People are giving to the community, and for now we'd like to keep development fairly centralized. We're still at a very early stage, and the risk of things becoming fragmented is quite high.
There's also the question of code, as I haven't written most of it. I want to be careful about what we integrate, especially when it comes to code generated with LLMs. I'm absolutely not saying this is the case with your work! It's a general concern, and one of the reasons why reviewing and understanding every change matters to me.
Of course, you're absolutely free to publish your fork! That's what the MIT license is for, and I have no problem with that. Freedom works both ways. 😄
But I hope you understand that we can't realistically review and integrate a patch of this size in just a few days, especially with everything else we're currently working on.
Please don't take this as a rejection of your work. I really appreciate the time and effort you've dedicated to littleFedi, and I'm glad you found it interesting enough to work on it.
I just want to be clear about where we are, and why we're being particularly careful at this stage.
And again, thank you! 😄
@stefano@bsd.cafe Beautiful, thanks for the kind response! I don't blame you in the least for your caution regarding large code changes. I opened my repository for anyone who may be interested: https://github.com/feoh/littlefedi/tree/main
Just in case it might be helpful to you or someone, I reformulated the Gist with just the necessary API and supporting changes to make mobile clients work. It's still on the larger side, but down to 29 files from 85.
Please do let me know if I can help in any way in the future and thank you once again for such an excellent base to build from!
@feoh@fediverse.feoh.org @stefano@bsd.cafe I'm curious to try this. Can I simply plugin your LF binary and preserver my existing setup or does it use a different database structure?
1 like
@stefano@bsd.cafe @andyc@yakshaving.social I agree. I thought about building out a section for folks trying to migrate from "stock" LittleFedi, but I don't honestly want to be responsible if it fails.
I think what I'll do is caution that I have done zero work to ensure that my fork is drop in compatible with existing installs, and that the "happy path" is starting from scratch with my fork if you're going to try it.
Trying to decide how much I miss pinned posts at the moment and whether or not I should build that :)
@stefano@bsd.cafe @andyc@yakshaving.social I added a note at the top of the README linking to FORK.MD which very adamantly states that I haven't tried in place side-grades and don't plan to as I'm starting from scratch here.
Thanks for helping signpost the need for that clarification, I CERTAINLY don't want anyone destroying their installs/sites!
@andyc@yakshaving.social @stefano@bsd.cafe Don't blame you. For me, having my mobile Fediverse clients work without throwing a bunch of errors is critical path but everyone's needs are different and LittleFedi "out of box" is an incredible piece of software!