Here’s some development highlights from the last 3 weeks and who contributed:
Freamon
Markdown parsing improvements and let us use a different variant of Markdown than Lemmy does.
Poll federation - Mastodon accounts can vote on PieFed polls, and receive votes from PieFed users for Polls they’ve posted into a local community.
PeerTube integration - New channels arrive with 10 recent videos, their player is embedded in the PieFed post, new posts are correctly restricted to channel owners, and arrive into PieFed automatically.
Manual post-retrieval from remote communities function
Improvements to federation that led to an 80% drop in the amount of spam cleanup work admins need to do (some post deletions on remote Lemmy instances weren’t being imported into PieFed properly).
Rimu
A minor dark mode improvement.
Made the Poll UI and database.
Made a start on federation with Pixelfed and Discourse.
An admin tool to list communities that need to be assigned to a topic.
Update translations from crowdin - French is finished thanks to wazaby. Steady progress continues on Japanese translation.
Much better topic list layout.
Imported many PeerTube channels into piefed.social and assigned them to topics.
Top-level topics added to the main menu under ‘Topics’.
Soft deletes - post deletion can be reversed for up to 7 days.
Tallship
Suggested PieFed use ‘soft-break’ Markdown
Testing User Follows from various platforms
Reporting that the use of Mastodon’s trademark was problematic
General comments
We are reaching the end of the initial roadmap I sketched out 6 months ago at the start of development. There are just a handful of small tasks to do before the “beta test” phase ends.
With Lemmy to PieFed federation pretty solid, we are entering a phase of diversifying to other platforms. The first other platform, PeerTube, involved a lot of work that hopefully paved the way for future platforms to be integrated more easily. Pixelfed is going live with Groups support very soon. Exploratory work has been done on integration with Discourse although disappointingly they have implemented federation as an optional plugin so fewer Discourse forums actually federate than I initially hoped. NodeBB looks interesting.
In general the Fediverse has reached a steady state in terms of user numbers which gives us space to slow down and reassess. There is not as much of a sense of urgency or bursting-at-the-seams that there was a few months ago. This might be a good time to start to pay down some of the technical debt we have built up. It’s not that the code is bad, it’s just that it’s structured in a way that made things easy in the early days but is no longer serving us as well as it did.
Very soon it will be good to have a discussion to create a roadmap for what comes after the beta (“1.0”). I’m thinking - more platforms (Mastodon, Friendica, etc), community wikis, API for mobile apps, better accessibility and can’t wait to hear other ideas from the community.
Peertube integration is a sorespot in Lemmy. I’m glad there’s progress in this in PieFed. Always found it a pity that a link to a peertube video had to be shared instead of cross posted on lemmy, as no comments show up on lemmy’s side.
It’s probably a temporary hiccup, but Lemmy has bigger problems with PeerTube videos, in that you can subscribe to channels from there, but - last time I checked - they don’t update with new videos.
For comments, PieFed could do with more work too. Direct communication between us and channel owners works okay - example post - but a comment from, say, a Mastodon user wouldn’t show up here. The reason is that, unlike Lemmy, PeerTube do not ‘Announce’ anything other than new posts. This solves the Lemmy/Mastodon problem where Mastodon users can subscribe to Lemmy communities, but then have to deal with individual ‘boosts’ of every comment in reply to a post. Instead, PeerTube directly send an ‘Update’, with endpoints for a ‘Replies’ collection and a ‘Likes’ collection. Currently, PieFed does nothing more than check that the post body hasn’t changed when it receives these updates, but - technically - it should also check these endpoints for new activity. It might not be worth doing this every time though, maybe once a day would be enough.
I’m really looking forward to the API for mobile apps. I have to say this is the part which I miss most from Lemmy. It would be even cool if the API was compatible with the Lemmy one so people could use lemmy clients to connect to PieFed servers.