aka freamon

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

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

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

help-circle




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