this post was submitted on 19 Feb 2025
18 points (100.0% liked)

PieFed Meta

444 readers
4 users here now

Discuss PieFed project direction, provide feedback, ask questions, suggest improvements, and engage in conversations related to the platform organization, policies, features, and community dynamics.

Wiki

founded 1 year ago
MODERATORS
18
App / API testing (piefed.social)
submitted 2 days ago* (last edited 13 hours ago) by [email protected] to c/[email protected]
 

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_[email protected]') 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!)

top 20 comments
sorted by: hot top controversial new old
[–] [email protected] 5 points 1 day ago (2 children)

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?

[–] [email protected] 2 points 1 day ago (1 children)

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.

[–] [email protected] 2 points 1 day ago (1 children)

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).

[–] [email protected] 3 points 1 day ago

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.

[–] [email protected] 1 points 1 day ago (1 children)

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.

[–] [email protected] 3 points 1 day ago

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.

[–] [email protected] 3 points 1 day ago

Woo this is awesome!

[–] [email protected] 2 points 1 day ago (1 children)

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

[–] [email protected] 2 points 1 day ago

Nah, I'm sure it'll be fine. It'll be like a Fediverse Brexit ...

[–] [email protected] 2 points 1 day ago (1 children)

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).

[–] [email protected] 4 points 1 day ago

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.

[–] [email protected] 8 points 2 days ago

(bonus reply from this new-fangled telephone application)

[–] [email protected] 6 points 1 day ago (2 children)

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

[–] [email protected] 3 points 1 day ago (1 children)

Wait, what? Why does lemmy.zip block access from the UK?

[–] [email protected] 5 points 1 day ago

'cos of the Online Safety Act - there's a post in that community from the lemmy.zip admin.

[–] [email protected] 4 points 1 day ago (1 children)

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).

[–] [email protected] 2 points 17 hours ago (1 children)

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.

[–] [email protected] 2 points 12 hours ago (1 children)

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.

[–] [email protected] 2 points 11 hours ago

Well the stupid act makes it everyones problem 😅 Glad its solved (and was relatively easy too!)

[–] [email protected] 2 points 1 day ago

🔥🔥🔥