Profile pic

Andrew

Instance: piefed.social (Admin)
Role permissions: Admin
Joined: 2 years ago
Posts: 21
Comments: 156

aka freamon

Codeberg: https://codeberg.org/freamon?tab=activity

Anything from https://lemmon.website is me too.

RSS feed

Posts and Comments by Andrew



Hi, no sorry, I'm not active on Reddit. I don't have backend access here either, so wouldn't be able help out if something went wrong.


I asked in that issue whether Lemmy finds community via to/cc (it does). Does PieFed do the same?

Yes - PieFed does the same. It looks in 'audience', then 'cc', then 'to'. It has to, to support all the platforms that haven't adopted 'audience. It's a convenient field, but PieFed won't be affected if Lemmy goes through with removing it.

Would this also open up the possibility of a topic/context being part of multiple audiences/communities?

Not at present. If you do something like cc: [community1, community2] it will only go to community1 (on both Lemmy and PieFed). There's so many activities that are effectively duplicates, both in normal operation and when platforms are bugged (both Lemmy and Mastodon have gone through phases of sending the same activity multiple times), that you need a way to make sure you're only processing one. On PieFed, this is done by having a UNIQUE constraint of the 'ap_id' column of the Post table (the ap_id of your post is https://community.nodebb.org/post/103806), so it means you can't have the same post in more than one community.


You should listen to the voice that's telling you not to add more spoons to this already heavily-stirred bowl of shit.


'us' seems a mite too conventional for a plural pronoun if you're intent on re-inventing singular ones.

Anyway, you could at least commit to the bit, and actually mark your account as a bot, instead of just saying you are one. There's likely some instances where bots that aren't marked as bots are against their terms of service.

 reply
3

For inbound federation, you will be missing a lot of objects. You probably joined !fediverse@lemmy.world and got the recent posts, but the posts don't come with comments. So you might have got a 'Like' for https://lemmings.world/comment/13734343 or https://lemmy.nz/comment/13745305 but they'll be nothing in your DB for them.
By default, PieFed doesn't fetch objects that it's missing, like Lemmy does. It's an Issue that's come up, but Rimu was a bit dismissive, because for something like piefed.social, the main reason why something would be missing is because the author was banned, or it was in reply to an author that was banned, so it would be a lot of wasted effort. There's an arguably a conflict that will often occur when the sole person in charge of the software is also the admin of an already-established instance.
I started my server a day or so before you, and added functions to recursively fetch missing objects, and the relevant post has both of your missing objects. I can share those functions with you if you like, although you're very likely to be able to code something better yourself.

For outbound federation, PieFed to PieFed is instant, but for PieFed-to-Lemmy, you have to get into a queue.



More so 'other Fediverse socials'.

Here's an example on PieFed, that's a PixelFed user tagging their photos with 'dailyphoto' and then sharing via a.gup.pe on Mastodon: https://piefed.social/tag/dailyphoto


Lemmy has mangled that script a bit.

Where it says '%24%7Bpage%7D', it should a dollar sign, an open curly bracket, the word 'page', then a close curly bracket.

It displays a bit better at the source (click the multi-coloured fedi-link thing).


The only way I can think of is to use the API to get all communities, and then filter out the ones without local subs. So a basic BASH script would be:

#!/bin/bash

echo -n '' > /tmp/allcomms.txt

page=1
while true
do
  communities=$(curl --request GET --url "https://walledgarden.xyz/api/v3/community/list?type_=All&page=${page}&limit=50" --header 'accept: application/json' | jq .communities[])
  if [ "${communities}" == "" ]
  then
    break
  fi
  jq -r '[.community.id, .counts.subscribers_local] | @sh' <<<$communities >> /tmp/allcomms.txt
  page=$(( page + 1 ))
  sleep .5
done

while read id count
do
  if [ $count -eq 0 ]
  then
    echo "$id has no local subs"
  fi
done < /tmp/allcomms.txt

(It'll take a few minutes to run)

After that, how you purge the communities with those IDs I'm less sure of. My guess would be:

Get a login tokin:
JWT=$(curl --request POST --url https://walledgarden.xyz/api/v3/user/login --header 'accept: application/json' --header 'content-type: application/json' --data '{"username_or_email": "YOUR_USERNAME","password": "YOUR_PASSWORD"}' | jq -r .jwt)

Use Admin/Purge from the API:

curl --request POST --url https://walledgarden.xyz/api/v3/admin/purge/community --header "authorization: Bearer $JWT" --header 'content-type: application/json' --data "{"community_id": ${id}, "reason": "no local subs"}"

As long as purge lets the community be recreated again (which it should do), then that should be okay.

Don't take my word for any of this for an in-production Lemmy server, though. Test first!


Ah, okay. Thanks. Tags are already trimmed for whitespace, but I'll do what you recommend, and also check for a trailing comma.

EDIT: fixed here


Whatever the views are about MBFC, Tesseract integrated it better than LW's bot. If you don't like MBFC, it's just an option in your user settings to turn it off for Tesseract, whereas the bot caused a bunch of problems that weren't even related to concerns about accuracy and bias. Drive-by bots can be annoying, because it leads people to believe there's legit content where there isn't, and not every client respected LW's bot use of spoiler Markdown, so they ended up with a massive comment from it that dominated the screen.


That's what they're doing though, isn't it? They have an account on Friendica, and they've used it to make a post within a Lemmy community (the community being !chat@beehaw.org in this case).


I saw a post recently that was from Friendica to Lemmy: https://libranet.de/display/0b6b25a8-2267-afe6-6e6e-34b123429965 was to https://beehaw.org/post/18472167

Maybe you can copy whatever they did (or ask them).



Some non-Lemmy Groups that are interesting or might get interesting:

PieFed: !antisocialmedia@piefed.social
MBIN: !FloatingIsFun@fedia.io
PeerTube: !veronicaexplains@tinkerbetter.tube
WordPress: !dbzer0.com@dbzer0.com
NodeBB: !fediverse@forum.wedistribute.org
a.gup.pe: !photography@a.gup.pe

How well they backfill and inter-op is very platform-dependent, obvs (your platform and the remote platform)


It's okay. I got brave and looked at my bank account, and things aren't as bad as I was imagining. I'll buy one tomorrow.


If you're trying to do this at feddit.org, it's because the 'Nimi' field is too long. It looks to be about 22 characters, but the max length for an actor at feddit.org is 20.

For each instance, the restriction can be viewed from the command line with: curl https://feddit.org/api/v3/site | jq .site_view.local_site.actor_name_max_length


reply to: Pooh in PieFed Promo

I won't, but hopefully someone will. Either that, or compile into an IPA, and allow people to install via https://altstore.io/

I don't have the Apple hardware to create or test anything for that ecosystem, and I don't have the money to change that. I'm sure somebody already has the requisite stuff though, and I'll do what I can to make it as easy as poss for them to compile it.


RSS feed

Posts by Andrew

Comments by Andrew



Hi, no sorry, I'm not active on Reddit. I don't have backend access here either, so wouldn't be able help out if something went wrong.


I asked in that issue whether Lemmy finds community via to/cc (it does). Does PieFed do the same?

Yes - PieFed does the same. It looks in 'audience', then 'cc', then 'to'. It has to, to support all the platforms that haven't adopted 'audience. It's a convenient field, but PieFed won't be affected if Lemmy goes through with removing it.

Would this also open up the possibility of a topic/context being part of multiple audiences/communities?

Not at present. If you do something like cc: [community1, community2] it will only go to community1 (on both Lemmy and PieFed). There's so many activities that are effectively duplicates, both in normal operation and when platforms are bugged (both Lemmy and Mastodon have gone through phases of sending the same activity multiple times), that you need a way to make sure you're only processing one. On PieFed, this is done by having a UNIQUE constraint of the 'ap_id' column of the Post table (the ap_id of your post is https://community.nodebb.org/post/103806), so it means you can't have the same post in more than one community.


You should listen to the voice that's telling you not to add more spoons to this already heavily-stirred bowl of shit.


'us' seems a mite too conventional for a plural pronoun if you're intent on re-inventing singular ones.

Anyway, you could at least commit to the bit, and actually mark your account as a bot, instead of just saying you are one. There's likely some instances where bots that aren't marked as bots are against their terms of service.

 reply
3

For inbound federation, you will be missing a lot of objects. You probably joined !fediverse@lemmy.world and got the recent posts, but the posts don't come with comments. So you might have got a 'Like' for https://lemmings.world/comment/13734343 or https://lemmy.nz/comment/13745305 but they'll be nothing in your DB for them.
By default, PieFed doesn't fetch objects that it's missing, like Lemmy does. It's an Issue that's come up, but Rimu was a bit dismissive, because for something like piefed.social, the main reason why something would be missing is because the author was banned, or it was in reply to an author that was banned, so it would be a lot of wasted effort. There's an arguably a conflict that will often occur when the sole person in charge of the software is also the admin of an already-established instance.
I started my server a day or so before you, and added functions to recursively fetch missing objects, and the relevant post has both of your missing objects. I can share those functions with you if you like, although you're very likely to be able to code something better yourself.

For outbound federation, PieFed to PieFed is instant, but for PieFed-to-Lemmy, you have to get into a queue.



More so 'other Fediverse socials'.

Here's an example on PieFed, that's a PixelFed user tagging their photos with 'dailyphoto' and then sharing via a.gup.pe on Mastodon: https://piefed.social/tag/dailyphoto


Lemmy has mangled that script a bit.

Where it says '%24%7Bpage%7D', it should a dollar sign, an open curly bracket, the word 'page', then a close curly bracket.

It displays a bit better at the source (click the multi-coloured fedi-link thing).


The only way I can think of is to use the API to get all communities, and then filter out the ones without local subs. So a basic BASH script would be:

#!/bin/bash

echo -n '' > /tmp/allcomms.txt

page=1
while true
do
  communities=$(curl --request GET --url "https://walledgarden.xyz/api/v3/community/list?type_=All&page=${page}&limit=50" --header 'accept: application/json' | jq .communities[])
  if [ "${communities}" == "" ]
  then
    break
  fi
  jq -r '[.community.id, .counts.subscribers_local] | @sh' <<<$communities >> /tmp/allcomms.txt
  page=$(( page + 1 ))
  sleep .5
done

while read id count
do
  if [ $count -eq 0 ]
  then
    echo "$id has no local subs"
  fi
done < /tmp/allcomms.txt

(It'll take a few minutes to run)

After that, how you purge the communities with those IDs I'm less sure of. My guess would be:

Get a login tokin:
JWT=$(curl --request POST --url https://walledgarden.xyz/api/v3/user/login --header 'accept: application/json' --header 'content-type: application/json' --data '{"username_or_email": "YOUR_USERNAME","password": "YOUR_PASSWORD"}' | jq -r .jwt)

Use Admin/Purge from the API:

curl --request POST --url https://walledgarden.xyz/api/v3/admin/purge/community --header "authorization: Bearer $JWT" --header 'content-type: application/json' --data "{"community_id": ${id}, "reason": "no local subs"}"

As long as purge lets the community be recreated again (which it should do), then that should be okay.

Don't take my word for any of this for an in-production Lemmy server, though. Test first!


Ah, okay. Thanks. Tags are already trimmed for whitespace, but I'll do what you recommend, and also check for a trailing comma.

EDIT: fixed here


Whatever the views are about MBFC, Tesseract integrated it better than LW's bot. If you don't like MBFC, it's just an option in your user settings to turn it off for Tesseract, whereas the bot caused a bunch of problems that weren't even related to concerns about accuracy and bias. Drive-by bots can be annoying, because it leads people to believe there's legit content where there isn't, and not every client respected LW's bot use of spoiler Markdown, so they ended up with a massive comment from it that dominated the screen.


That's what they're doing though, isn't it? They have an account on Friendica, and they've used it to make a post within a Lemmy community (the community being !chat@beehaw.org in this case).


I saw a post recently that was from Friendica to Lemmy: https://libranet.de/display/0b6b25a8-2267-afe6-6e6e-34b123429965 was to https://beehaw.org/post/18472167

Maybe you can copy whatever they did (or ask them).



Some non-Lemmy Groups that are interesting or might get interesting:

PieFed: !antisocialmedia@piefed.social
MBIN: !FloatingIsFun@fedia.io
PeerTube: !veronicaexplains@tinkerbetter.tube
WordPress: !dbzer0.com@dbzer0.com
NodeBB: !fediverse@forum.wedistribute.org
a.gup.pe: !photography@a.gup.pe

How well they backfill and inter-op is very platform-dependent, obvs (your platform and the remote platform)


It's okay. I got brave and looked at my bank account, and things aren't as bad as I was imagining. I'll buy one tomorrow.


If you're trying to do this at feddit.org, it's because the 'Nimi' field is too long. It looks to be about 22 characters, but the max length for an actor at feddit.org is 20.

For each instance, the restriction can be viewed from the command line with: curl https://feddit.org/api/v3/site | jq .site_view.local_site.actor_name_max_length


reply to: Pooh in PieFed Promo

I won't, but hopefully someone will. Either that, or compile into an IPA, and allow people to install via https://altstore.io/

I don't have the Apple hardware to create or test anything for that ecosystem, and I don't have the money to change that. I'm sure somebody already has the requisite stuff though, and I'll do what I can to make it as easy as poss for them to compile it.