I’ve finally been able to compile an APK for Android, which is downloadable from https://codeberg.org/freamon/pferd/src/branch/develop/releases/pferd.apk
In addition to the APK, the repo provides the opportunity to build a version of the app to run natively in Windows, MacOS or Linux, or to run in an emulated Android environment. If you want to build your own APK, I’ll try to help with all the magic incantations that are seemingly required for Google’s ecosystem.
I don’t have the means to provide anything for iPhones.
Things to note:
The app is intended for use with https://preferred.social/. Other PieFed sites don’t have the API enabled, so won’t work. It can’t be used for Lemmy sites, and - likewise - Lemmy apps won’t work with the site.
If you have the app, and want to do things for which you need an account, you can create one at the site using the code ZeXJkmS46l2h0SiE
.
The API has a rudimentary rate-limiter, initially restricting post and comment creation to need a 10 minute gap. There’s 2 communities for which it doesn’t apply though (a local one at ‘local_testing’, and a remote one at ‘remote_testing@pytag.net’) because they both don’t federate any further than themselves.
Like a dickhead, I created a site in the UK, so it doesn’t federate with lemmy.zip. If more sites follow their lead, it’ll just be me and feddit.uk in our own private Fediverse.
I’ve already discovered some issues with the app, but I doubt they’ll be the only ones.
If other people are able to help out with testing, and it goes well, then we can start taking steps towards enabling the API at other PieFed sites, and distributing the app via recognised channels.
Moreover, if the testing goes well, then the API can be properly documented, and a JS client created, so others can develop their own apps (an ‘official’ PieFed app would ideally be fully FOSS, which this app isn’t, 'cos it was made with Flutter).
Thanks.
(edited to cross out some bad info)
(edit 2: lemmy.zip’s Admin made some changes and got in touch, and I can now federate with lemmy.zip!)
This looks great! I can’t wait to add PieFed support to my app once the API is made official.
an ‘official’ PieFed app would ideally be fully FOSS, which this app isn’t, 'cos it was made with Flutter
To what are you referring to? Flutter’s source code is fully available on GitHub. Where did you get the idea that building something with Flutter makes it non-FOSS?
Maybe I’ve the wrong idea. This app is a fork of Thunder (for Lemmy), and Thunder is only available on f-droid via the IzzyOnDroid repo, so I was thinking that it contained some binary blobs from Google.
There could be any number of reasons you might prefer IzzyOnDroid over the official repo (see articles here and here for in-depth explanations), IzzyOnDroid also uses a few additional security checks that official F-Droid does not. Localsend is an app built with Flutter, and it is available in the official F-Droid repo.
All that to say, I believe Thunder is in the IzzyOnDroid repo (not F-Droid) due to a matter of preferences, not because it might contain proprietary blobs (which it probably doesn’t).
Oh, right. Thanks. Sorry, I’m realising now that what I said was a bit of lazy assumption. I’ve just looked, and saw that Interstellar is also Flutter, so you’re a lot more likely to know than me (I’ve very new to all this). I’ll edit my post.
Also, I was wondering what sort of differences we’re looking at for this API versus Lemmy. I took a quick look at your piefed_dart_client repo and a lot of looks similar at least.
Yeah, the API is very similar in lots of ways. Some fields have different names (e.g. post.title instead of post.name), the ‘site’ response is a lot smaller, and there’s things like ‘activity_alert’ for subscribing to other people’s posts/comments and unsubscribing to your own (aka turning off inbox replies). Some routes aren’t covered, either because the app didn’t call them, or because there’s no back-end support (e.g. viewing Modlogs), or because I de-prioritized them for now (e.g. viewing Reports).
I’ve started doing an OpenAPI spec thing, which I’m finding tedious to create, but it should make everything clearer when it’s published.
Woo this is awesome!
Like a dickhead, I created a site in the UK, so it doesn’t federate with lemmy.zip. If more sites follow their lead, it’ll just be me and feddit.uk in our own private Fediverse.
We’re not that bad are we :p
Nah, I’m sure it’ll be fine. It’ll be like a Fediverse Brexit …
Got it work, awesome job.
I would love to use it with piefed.social (or any other piefed instances honstly, but I like the flagship instance).
Neat. I saw your name in the ‘Users’ list (Search -> Explore Instance -> Users).
The API needs a DB upgrade, and so right now I’m in a queue behind ‘Feeds’, which is a feature that will add some new tables. I don’t yet know what kind of upgrade it needs to be, i.e. how much things can be fudged vs. implemented properly.
(bonus reply from this new-fangled telephone application)
Like a dickhead, I created a site in the UK, so it doesn’t federate with lemmy.zip.
According to their admin the geoblocking doesn’t affect federation:
Will this affect federation? No - even sites in the UK will still be able to federate with Lemmy.zip both ways. This just affects users trying to access the lemmy.zip website
Wait, what? Why does lemmy.zip block access from the UK?
'cos of the Online Safety Act - there’s a post in that community from the lemmy.zip admin.
I assumed the same, when I read their announcement. But requests from my site, for their users or their communities, do not work. A ‘text/html’ request gets the UK-specific rejection in HTML, but so does a ‘activity+json’ request. Based on this, sites in the UK that are already aware of existing lemmy.zip actors will be okay, but they won’t be able to initiate profile updates, or fetch the details for any new lemmy.zip actors. Because my site was created after the geo-block came in place, I’m essentially deferated from them (for now, hopefully).
I’d be interested in debugging this with you - in theory all the api/activity pub endpoints should be accessible as they’re bypassed, but not the ability to access the ui directly on a UK ip address.
It’s really hard to test this as there aren’t really any servers in the uk where they’re active/federation is working, so it would great to refine this.
Thanks again. I wasn’t sure about contacting you before, because the UK’s problems shouldn’t be your problems, but I’ve now updated the post with news of the fix.
Well the stupid act makes it everyones problem 😅 Glad its solved (and was relatively easy too!)
🔥🔥🔥