aka freamon

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

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

  • 21 Posts
  • 631 Comments
Joined 1 year ago
cake
Cake day: March 27th, 2024

help-circle

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





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




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







  • 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=%24%7Bpage%7D&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!


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