Working on getting barebones ActivityStreams/ActivityPub Event support in Hometown. So far I'm rendering incoming events with a google calendar link, my hope is to support other cals and maybe create/attach an .ical or similar to posts.

(This is prep work for a simple federated invite-people-to-your-events site that will probably use huge pieces of

As an aside... I got my ActivityPub Tester up and running on Glitch! It lets me send an arbitrary ActivityPub payload, I just paste in the JSON and it sends it to every follower

@darius I am glad you are working on this! the last thing keeping me on facebook.

@darius Can you sample the code from Friendica? Our system already has a community event calendar built-in with the same sharing model as the main system does for posts.

@jarhead last time I tried Friendica I couldn't really figure out how to use it (not from a UI perspective but like "what is fun or useful about this that would give someone cause to use it"). I don't trust my ability to learn things from code if I can't even get a handle on the user experience. And let me say that this is a me problem, not a friendica problem

@darius I can understand that. The only code I seem to sample is my own.

I had a mastodon server running over a year ago and it stopped working at some upgrade. After many attempts over months, I gave up and started looking at the features and benefits of all the Federated things. Friendica was the winner by a bit and the calendar was a part of it. BBCode and long posts was another part.

I do hope your Neighborhood idea catches on. It would be nice to have something between the feeling of big farmland and Grand Central Station at rush hour.
@Darius Kazemi @Michael Rupp

It would also be nice to know if Osada events federate with Friendica and Hubzilla and Hometown and any other projects that have calendaring. I think I can arrange testing with Friendica and Hubzilla but may require assistance from somebody on the Hometown side. I don't think code knowledge or an account is necessarily required, this is just interop so we can see what your activity packets look like and vice versa if there are issues.

I am aware that both Osada and Hubzilla use datetime without a timezone for "all day" or non timezone based events. There were some notes that this is legal RFC3339 but strays from strict ActivityStreams specifications.

@jarhead @indio honestly all I need to have is a reference to the activitypub JSON of a Friendica or Hubzilla `Event` -- I can fake any arbitrary json payload, at least for incoming data

@darius @indio I am not sure what you meant, but...

This is the display page of the event post on the timeline.…

This is a shared folder of the screenshots of making the event.…

I don't know everywhere the event is managed in the database, but this will get you to JSON exports from my MariaDB tables that hold the main information for events.…
@Darius Kazemi

You can find an Osada event at

Here is one Mike sent me from Friendica:

These aren't full activities but just objects.

I found a couple of issues with Hubzilla events. Will know more after I hear back.

@indio Thanks for this. I've confirmed that it barebones works with Friendica. The Osada event is missing a 'name' field, which seems to be required per ActivityStreams Vocabulary, but I can look for their "summary" field as a backup

@Darius Kazemi

Just looked and I don't see name as a requirement for any object in any of the specs although name is shown in all the event examples. Do you have a section # ?

The Osada code looks for summary first and name second and it doesn't recognize the event as valid if it doesn't have one of these and a start date. If it's wrong I'll fix it but I'd like to verify that it's wrong.  It was probably implemented this way to allow HTML.

@indio Ah okay. I just assumed that the examples were the minimum viable object.

@Darius Kazemi

I'll change it anyway for compatibility. It looks easy enough to force it to plaintext.
Sign in to participate in the conversation
Friend Camp

The decentralized web is about trust. You should only join Friend Camp if you personally trust Darius Kazemi with your social media data. You probably only have that level of trust if we are IRL friends or have been internet friends for a long time. Generally speaking this is a small, closed community. In the end, Darius is the arbiter of what is allowed here. If you don't have a good idea of the kind of behavior that flies with Darius, again, you probably shouldn't join this instance. In the interest of specificity, we do have a code of conduct and privacy policy which you should read. Friend Camp features several modifications that were requested by our users. * you can log in via any subdomain, which means you can log in to multiple accounts in the same browser session (for example, log in once on and then as another user on * they are no longer called "toots", they are now "posts" * if you have a locked account and you get a follow request, a reminder appears under your "post" button (on normal Mastodon mobile it is otherwise buried in a sub-menu and you might not see it for a long time) * the emoji dropdown is a neutral smiley face instead of the cry-laughing smiley @mentions are rendered as "@user" for a Friend Camp user and "@user@domain" for remote users. This helps clear up when you follow two people who have the same username on different servers. * there is a "never ask me again" checkbox on the confirmation for clearing your notifications -- more info here * When an mp3 link is in a post, we also embed an inline mp3 player. git commit here * 500 characters of profile text git commit here, requested by @deerful Important Bit from the Privacy Docs: If you want decent privacy (the info doesn't leave this server), the only way to do that is to set your account to private, only accept friend requests from other users, and only ever @ mention other users. Once you start talking to people on other servers, all bets are off. Any private message you send to someone on another server could be looked at by the admin of a different server. This is kind of like email: if you are on a private email server, and you send an unencrypted email to a gmail account, congrats, Google now has the content of that email. But also, you do this every day, so, hey. The internet! Our beautiful icon is based on photo3idea_studio from, licensed CC 3.0 BY. It has been modified by!