Features and changes

Big improvements to finding and adding people to follow, including from Mastodon:

  • bulk follow of people, using a CSV file exported from Mastodon
  • improve layout of people list info cards
  • add people navigation elements to Explore menu
  • search for people in the main search tool

Go to https://piefed.social/instance/people/interesting to check it out. Sorting is based on average number of upvotes received per post or comment.

Option to manually approve followers rather than just automatically accept all. You can turn this on in your user settings and then look for ‘Follow requests’ on the Account menu.

RSS feeds which automatically create posts in communities, with flair to distinguish multiple feeds in same community. Admins need to set the RSS_FEEDS environment variable to enable this. Currently testing this in these communities !bbc_rss@crust.piefed.social and !aljazeera_rss@crust.piefed.social. When there are multiple feeds in a community, each gets it’s own flair which people can subscribe to independently by clicking ‘Membership’ in the community sidebar (recent v1.7.x versions only).

Admins can see a list of unmoderated communities, so they know where the liabilities are. Go to Admin -> Communities -> Unmoderated.

Misc features

Fix removepaywall link.

Stop spammers from sharing links in their bio.

‘Mark as read’ icon on post teasers, which does not waste vote quota the way upvoting-to-hide did.

API: filter post/list endpoint for user languages - thanks to wjs018

API: add unread comment counts to postview result.

Remove annoying blogspot.com url filter.

Better instance chooser search that finds more things.

Updated translations. Filipino languages coming along well.

To upgrade from earlier 1.7.x

./deploy.sh or ./deploy-docker.sh

Donations

PieFed is free and open-source software while operating without any advertising, monetization, or reliance on venture capital. Your donations are vital in supporting the PieFed development effort, allowing us to expand and enhance PieFed with new features.

Donations can be made via Patreon, Liberapay or Ko-fi.

  • Rimu@piefed.socialOPM
    link
    fedilink
    English
    arrow-up
    4
    ·
    edit-2
    9 days ago

    Yeah it’s pretty exciting!

    So far it doesn’t look like any of the mastodon content is showing up in the Subscribed feed when set to ‘Hot’, only ‘New’. Not sure if this is because Mastodon content gets so much less likes/upvotes or something deeper.

    There is still work to do so PieFed can accept boosted Mastodon posts. I was intending to make the bulk follow code after the boost processing code but it got hard so I didn’t.

    If early results are disappointing, don’t worry I’m looking into it.

    • mesa@piefed.social
      link
      fedilink
      English
      arrow-up
      2
      ·
      9 days ago

      Mastodon tends to re-share and boost. Sometimes its more resharing than boosting. I created a python script that adds them both together a while ago and turns mastodon into a sort of threadiverse kind of experience. Ive found if you give give a user 1 vote and both a boost and a re-share gives them that score, you get the best results. Hope im explaining it right. That way the account only votes once even if it boosts and likes a post.

      • Rimu@piefed.socialOPM
        link
        fedilink
        English
        arrow-up
        1
        ·
        8 days ago

        Hmm isn’t boosting the same as sharing? Or by “share”, do you mean quote?

        image

        • mesa@piefed.social
          link
          fedilink
          English
          arrow-up
          2
          ·
          8 days ago

          Oops i may have ment staring or favoriting. Ill have to look at the code when i get home.

          • mesa@piefed.social
            link
            fedilink
            English
            arrow-up
            1
            ·
            5 days ago

            Heres the old code. I think I need to fix a couple things in the fast API code that contains it but you can see the initial work. I added more comments in there so hopfully its clear.

            The idea of it is using recency, favorites, and boosts to indicate where the post should be on a scale. It looks just like a old reddit page…if I can get that part working. I think I gave up after making an RSS from all mastodon sources and calling it a day. But it was an interesting experiment.

            Every weekend-ish I try something new and a long while ago this was my attempt.

            def post_sort_key(post: Post):
                """
                Sorting function that combines recency (50%), boosts (25%), and favorites (25%).
                Returns a weighted score for each post.
                """
                # Normalize recency: Newer posts get a higher score
                # Recency score is based on the negative timestamp (so newer posts get higher values)
                recency_score = -post.created_at.timestamp()
            
                # Normalize boosts and favorites: 
                # We'll scale the boost/favorite count to a 0-1 range based on the max values in the dataset.
                max_boosts = 50  # Or use the maximum value of boosts from the dataset
                max_favorites = 100  # Or use the maximum value of favorites from the dataset
                
                normalized_boosts = post.boosts_count / max_boosts if max_boosts > 0 else 0
                normalized_favorites = post.favorites_count / max_favorites if max_favorites > 0 else 0
            
                # Compute final score by combining weights
                # Weight: Recency (50%), Boosts (25%), Favorites (25%)
                final_score = (0.5 * recency_score) + (0.25 * normalized_boosts) + (0.25 * normalized_favorites)
                
                return final_score