this post was submitted on 14 Mar 2024
52 points (100.0% liked)

Fediverse

27910 readers
1 users here now

A community to talk about the Fediverse and all it's related services using ActivityPub (Mastodon, Lemmy, KBin, etc).

If you wanted to get help with moderating your own community then head over to [email protected]!

Rules

Learn more at these websites: Join The Fediverse Wiki, Fediverse.info, Wikipedia Page, The Federation Info (Stats), FediDB (Stats), Sub Rehab (Reddit Migration), Search Lemmy

founded 1 year ago
MODERATORS
 

Apas: ActivityPub via email

https://apubtest2.srcbeat.com/apas.html

The overarching goal is an experimental system to make ActivityPub federation stuff clearer for devs, sysadmins and advanced users.

The documentation is incomplete and the code is really not OK! But they always say it's better to get stuff out the door for others to look at sooner. Maybe it inspires others to think about the Fediverse/ActivityPub in weird new ways!

PS thanks @emersion for your SMTP work!

@fediverse #fediverse #smtp

top 5 comments
sorted by: hot top controversial new old
[–] [email protected] 10 points 8 months ago

Very interesting. It would certainly make doom scrolling harder. Email always feels more personal, like each message was sent specifically to me for a reason. As opposed to feeds, which feels like looking at cars as they drive by.

I think this system pushes against those boundaries. This sort of concrete brainstorming at the edges is such a crucial part of software evolution, so thank you.

[–] [email protected] 7 points 8 months ago

That’s awesome!

[–] [email protected] 3 points 8 months ago (2 children)

I would actually love this. I use email for everything, it is so nice to have everything come to the same place. Right now I follow a few Mastodon users via an RSS-to-Email service, but the problem with that is that you can't follow private accounts/see followers-only toots. It would be great to have a full email bridge.

I was considering making this myself at one point. But I think one of the big problem with ActivityPub is that it describes a single particular account. So if my ActivityPub-email bridge was running you wouldn't also be able to access a Mastodon UI and for example browse other posts. So my account would need to be email-only which would be missing UX for a lot of things (like commenting on a random post I was linked to).

[–] [email protected] 3 points 8 months ago

Right now I follow a few Mastodon users via an RSS-to-Email service, but the problem with that is that you can't follow private accounts/see followers-only toots. It would be great to have a full email bridge.

Ah yes know exactly what you mean. I follow Mastodon, PieFed, Lemmy stuff via RSS too.

I have a little program which follows/unfollows:

apfollow [email protected]
apfollow -u [email protected]

Then things get delivered to my inbox. That's been working ok. I'm adding a "Following" section to the docs soon.

But I think the main idea is getting Activity into a RFC5322 message in a filesystem. The system doesn't really care how that file is written. It could be from an ActivityPub server sending stuff to you. But it could also be from reading a RSS feed and fetching the items. My first stab at this was actually a couple of scripts which dumped my Mastodon timeline and some Lemmy stuff to message files.

So if my ActivityPub-email bridge was running you wouldn't also be able to access a Mastodon UI and for example browse other posts.

What I do now is clunky. First, I've written a couple of very basic frontends using both the Lemmmy & Mastodon API. These expose the unique ID of each post, which I copy/paste around...

(like commenting on a random post I was linked to).

I run this command:

apubget -m https://lemmy.ml/comment/9266238 > comment.eml

Then open the file in a mail client, and reply to it. Like I said: pretty clunky! :D

One thing I've thought about is hijacking the header's Subject field to hint to apas that we're replying to something. Modifying Subject is exposed in more mail clients than being able to modify arbitrary fields in the header (ideally we set In-Reply-To). For example for this message I'm writing now:

To: [email protected]
Subject: https://lemmy.ml/comment/9266238

Ah yes know exactly what you mean bla bla bla...

Taking it further, frontends could render mailto: links. Here's one to reply to your message: mailto:[email protected][email protected]&subject=https%3A%2F%2Flemmy.ml%2Fcomment%2F9266238

Using Subject as both the name or inReplyTo properties of an Activity depending on its value feels unclear.

Reading RFC 6068, it's theoretically possible that we could inject a In-Reply-To in a mailto URL. It's up to the mail application to interpret it. mailto:[email protected][email protected]&in-reply-to=%3Chttps%3A%2F%2Flemmy.ml%2Fcomment%2F9266238%3E This encodes the message:

To: [email protected]
CC: [email protected]
In-Reply-To: <https://lemmy.ml/comment/9266238>

bla bla bla

Just tested and found that MailMate actually handles this. Still feels unclear... I dunno. What do you think?

[–] [email protected] 2 points 8 months ago

I've updated the docs with new sections Receiving and Reading. See 2.3.1 etc. https://apubtest2.srcbeat.com/apas.html

Thanks for your comment as it helped me write down thoughts :)