Web developer. Lead developer of PieFed

  • 2 posts
  • 2 comments
Joined 3 years ago
Cake day: January 4th, 2024

Knights of New was a reddit meme/movement where people would take the hit of exposing themselves to the river of trash that is /r/all, sorted by ‘New’, and upvote good stuff while reporting or downvoting bad stuff, as a public service. Now you can do that on PieFed, too.

When sorting the home page by ‘New’ or ‘Top’, the list of posts automatically displays new content once per minute. Disabled when scrolling down. This makes voting on new content much easier and makes the threadiverse feel more dynamic and alive.

It seems like a small thing but I’ve been using it for a few hours and I’m surprised and how engaging it is and how it turns the threadiverse into a river of posts flowing by, like on Mastodon. Compared to the static and slow-moving feeling that the threadiverse often has, it is quite refreshing. Give it a try by going to https://piefed.social/home/new/all and NOT scrolling down. It’s ok to scroll down to look at things but return to the top to await fresh content. The title bar of your browser will show the time of the latest automatic update.

This works in Subscribed, Popular or All feeds - it’s not just for ‘All’. You can also switch to ‘top 1 hour’ instead of ‘new’ and leave it running on a secondary monitor, etc so you can dip into whatever’s popping off at the moment without being a true Knight.


This release also includes multiple small bugfixes:

  • rss feeds import - strip tracking codes on urls so cross-post detection works properly
  • exempt Googlebot from Anoobis
  • default to dark mode on Linux
  • tweak opacity of blocked posts to be a bit more visible
  • profiles of people who have posted a lot loads much faster now and doesn’t time out

This release saw contributions from some new people, which is great to see.

In this release you can now follow other people, not just join communities. When you follow someone their posts will show up in your ‘Subscribed’ feed, regardless of whether you have joined the community it was posted in or not.

You can also follow Mastodon+ accounts. Getting Mastodon integration working really well is going to be a long journey but this release gets us headed in that direction. Eventually I hope that this integration will provide a steady source of timely content to cross-post into threadiverse communities as well as being a peer citizen in the Mastodon-flavored parts of the fediverse.

New:

  • You can follow other users and their posts will always show up in your ‘Subscribed’ feed, regardless of the community they were posted into. Following Mastodon users works also but should be considered as very experimental. This will improve soon.

vaEEQEzRySsPTnR.png

In the future you will be able to upload a list of people that you exported from your mastodon profile and follow them in one go. And add people that your instance doesn’t already know about - but not yet. These features will be rolled out in future versions once the dust settles on this version.

  • Mastodon posts have a new design that is distinct from threadiverse posts - there is no post title and larger author profile pic.

  • Communities can be marked as being a favorite, which makes them more prominent in the ‘Communities’ menu.

HHHV9TTSGgWRQbg.png

  • Clicking anywhere in a post teaser takes you to the teaser - you don’t need to aim for the title

  • Dramatically improved page load times on Chrome-based browsers (Speculation Rules API).

  • Little spinner thing while a vote is being cast

  • Updated translations

  • Preview markdown when editing a wiki page

  • RSS feeds on the home page, including a feed of posts from your subscribed communities

  • Topic selection during onboarding looks way nicer now.

  • Accessibility improvements to headers.

For Developers:

  • Massive CSS reorganisation by travis-jeans. Lots more usage of CSS variables. Improves maintenance and accessibility.

  • API: Users can now log out

  • API: Follow and unfollow users

  • API: video file upload works now

For Instance Admins:

  • Communities where every moderator is a bot or inactive are flagged as un-moderated. Reports about posts in un-moderated local communities go to admins.

  • Warnings on domains can be 3 types instead of only a warning - the other two are ‘helpful context’ and ‘recommendation’

6ms4yFRd0An2PZd.png :: align-center

  • Send a DM to a user asking them if they are a bot, with 1 click. If they do not respond their account is automatically flagged as a bot

  • Email bounce inbox can now be accessed through POP3, not just IMAP

  • Tokens used by mobile apps can be set to expire, using the JWT_EXPIRY_DAYS environment variable

  • More accurate tracking of when a user was last active. This will significantly increase your MAU stats.

  • Strict allowlist mode to reduce attack surface exposed by federation

  • /admin/federation form split up into 3 separate pages rather than one long confusing page.

  • Option to disable DM sending for individual users if they lack the self-control to use it responsibly.

  • compose.yaml has changed a bit: For most containers the build target is now "runtime’ instead of ‘builder’.

For example

  celery:  
    build:  
      context: .  
      target: runtime  
  • Topics can be associated with countries, for more targeted onboarding suggestions based on the viewer’s location.

  • To reduce server load and network traffic, a maximum number of votes that can be cast each day has been set at a level that will only affect the top 2% of voters, leaving the bottom 98% unaffected. This quota can be altered with an environment variable. View a profile to see how much of their daily quota has been used.

To upgrade from 1.6.x

git pull  
git checkout v1.7.x  

At this point you might see an error message about a merge conflict with compose.yaml. To preserve your custom compose.yaml you will need to copy it somewhere else, then git checkout compose.yaml then git pull again (or use git’s stash feature). This time the pull will succeed so after that copy your custom compose.yaml it back, overwriting the one from git.

Then,

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

If you had to do the compose.yaml fix up earlier then you might want to compare what you have with https://codeberg.org/rimu/pyfedi/src/branch/main/compose.yaml and manually copy and paste some improvements in particular the target: part of the db container.

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.