Look at how @mikedev designed events in @streams! I would love to see this implemented in other software. @julian have you thought about how @nodebb would display an #ActivityPub event yet? Does @silverpill's @mitra have any support? What about @grunfink's SNAC?
#snac doesn't support this Event activity type yet, but it doesn't seem too hard to add some support for it (it's the first time I find one in the wild, to be honest).
I'm glad to announce the release of version 2.52 of #snac, the simple, minimalistic #ActivityPub instance server written in C. It includes the following changes:
Posts that were liked or boosted can now be unliked and unboosted.
Outgoing message timeouts are no longer hardcoded and can be configured (see snac(8) for more information).
Fixed a bug that caused some incorrect unfollows under special conditions (with shared inboxes enabled and users from the same instance that follow each other, the internal message distributor was confused).
Mastodon API: Added support for lists.
Added a header to avoid over-zealous caching in some browsers (contributed by louis77).
Added support for running and federating inside hidden networks like Tor, I2P or Loki (contributed by iwojima).
Fixed an error processing polls coming from Pleroma instances.
I'm glad to announce the release of version 2.51 of #snac, the simple, minimalistic #ActivityPub instance server written in C. It includes the following changes:
Support for custom Emojis has been added; they are no longer hardcoded, but read from the emojis.json file at the server base directory. Also, they are no longer limited to string substitutions, but images as external URLs are also supported (see snac(8) for more information).
Fixed a bug that caused some notifications to be lost when coming from a user in the same instance.
Added an additional check for blocked instances (sometimes, posts from blocked sites that were ancestors of legit posts were 'leaking' into the timeline).
On OpenBSD, if the disable_email_notifications server flag is set to true, unveil() is not called for the execution of the /usr/sbin/sendmail binary and pledge() doesn't set the exec promise.
CI checks are queued. Hopefully they'll go smoothly?
Assuming they do, it will still be up to someone else with commit access to merge it.
Thank you for your continued improvements! On my mental ToDo list I keep on meaning to create a snac Port for OpenBSD, and it looks as if the unveil and pledge support continues to be refined, cool!
Is there a way (via cli or by calling a snac function from a script) to poll and auto-accept follows to a certain profile, and then auto-boost all posts that mention that profile address?
The idea is to function like a group on the local server so that all followers will be able to see all toots addressed to the profile.
So user Bob is following user @boost. User Alice posts a status mentioning @boost. The account @boost automatically boosts the post from Alice. Then user Bob eventually can see the boosted post in the timeline.
If there is a way to hack or cobble this I'd probably rather go that route rather than trying to author C code for it. I haven't even tried to write C code for like 20 years, and even then I was not proficient at it. A hackety solution is just as good for my purpose, if anyone can suggest any.
I know I can emulate this behavior by scripting a mastodon client to do it with a cron job. But if there is a way to use snac commands or a config hack I would prefer it.
Hi. I'm afraid there is no easy way to automate what you want just using #snac 's command-line interface. As you say, doing it via the Mastodon API could be feasible. I don't know of an already written tool that does this, but it may exist out there.
The #ActivityPub actor of type Group was defined basically for this; to boost to their followers all posts that mention it. Programs like Lemmy and the Wordpress ActivityPub plugin implement 'channels' this way.
Implementing support for this in snac won't be too difficult, but I want to keep it as slim as possible. I don't totally discard the idea, though, so I'll write it down as a possible thing to be done in the future.
Why Tusky keeps notifying me there are notifications even after I have already read all of them? The only option seems to be deleting them all.
It this a Tusky or Snac2 issue? #snac#tusky
I find these "popularity contests" pointless, ridiculous and inherently toxic, and a signature of private social networks where the goal is not to help people communicate between each other.
This is the reason why #snac does not propagate how many followers nor likes a person have.
I'm glad to announce the release of version 2.50 of #snac, the simple, minimalistic #ActivityPub instance server written in C. It includes the following changes:
Incoming posts can now be filtered out by content using regular expressions on a server level (these regexes are written in the filter_reject.txt file at the server base directory; see snac(5) and snac(8)).
Improved page position after hitting the Hide or MUTE buttons (for most cases).
Use a shorter maximum conversation thread level (also, this maximum value is now configurable at compilation level with the MAX_CONVERSATION_LEVELS define).
Fixed a bug where editing a post made the attached media or video to be lost.
The way of refreshing remote actor data has been improved.
Posting from the command-line now allows attachments.
Added defines for time to enable MacOS builds (contributed by andypiper).
The xs is an intentionally lightweight library I (with the help of some friends) started for a very different project that never was. As it adds some niceties to C coding, I use it everywhere. It's mostly feature-complete now, but I fix and add some things occasionally. These days, #snac is mostly its main user, as other projects that use it are pretty irrelevant.
Using C headers both for implementations and prototyping is somewhat of a perversion 😆, but it simplifies immensely sharing code between projects, because you don't have to care about building libraries (static nor dynamic) and their operating system idiosyncracies. You just drop the .h in your project, include it and it's done. The reason: simplicity. If I had a motto as a developer, simplicity would be.
Which may be a feature as far as most GTS and Snac users are concerned!
But I do want Threads to technically be able to federate with most/all other software that uses #ActivityPub, so it can be user/admin choice whether to accept connections from the giant instance...and more importantly, to cut down on the risks of vendor lock-in and EEE.
And I hope more compatible systems will cut down on the "OK, my software federates with itself and Mastodon, I'm done" problem. In some cases there may be bugs on the smaller project's side, and fixing them might also fix issues talking to other small projects.
If Facebook had an issue tracker for threads, someone could open an issue there. If threads was an open source project, we could look at the code and immediately know what's up, but... 🤷
Hi, #snac author here. I've just read your message and tested following a Threads account, and the process seems to complete correctly, the log messages report the correct dialog and the account appears in my being-followed list (I still haven't received any message from that account, but it's still early, I think). What may have happened in your case is that the Accept message from Threads to your Follow request was lost or not sent for whatever reason, so for snac it's a follow not (yet) confirmed.
Can you tell me what Threads account are you trying with? I'll investigate.
I'm glad to announce the release of version 2.49 of #snac, the simple, minimalistic #ActivityPub instance server written in C. This time it includes some fixes to the Mastodon API code, which was in need of some love:
Mastodon API: Fixed a bug in how validated links are reported.
Mastodon API: Fixed a bug in search by account.
Mastodon API: Fixed missing Video type objects in timelines.
Dear friends of #BSDCafe and the #Fediverse,
since December 2023, snac.bsd.cafe has been operational, initially in an experimental phase but has proven to be stable and reliable.
Thus, Snac2 is now available as a service of BSD Cafe. It is considered one of the best and most comprehensive "lightweight" implementations of #ActivityPub, offering one of the best ways to interact with the Fediverse without the need for the extensive dependencies and components of Mastodon.
It is now possible to request an account on the snac2 instance of BSD Cafe. There isn't an automatic sign-up process (snac2 does not provide one, as it wasn't designed to create large communities).
Dear friends of #BSDCafe and the #Fediverse,
since December 2023, snac.bsd.cafe has been operational, initially in an experimental phase but has proven to be stable and reliable.
Thus, Snac2 is now available as a service of BSD Cafe. It is considered one of the best and most comprehensive "lightweight" implementations of #ActivityPub, offering one of the best ways to interact with the Fediverse without the need for the extensive dependencies and components of Mastodon.
It is now possible to request an account on the snac2 instance of BSD Cafe. There isn't an automatic sign-up process (snac2 does not provide one, as it wasn't designed to create large communities).