Email or username:

Password:

Forgot your password?
27 posts total
The Real Grunfink
I'm glad to announce the release of version 2.59 of #snac, the simple, minimalistic #ActivityPub instance server written in C. It includes the following changes:

Added post drafts: new or edit post edition dialogs include a checkbox that will cause the message to not be posted, but stored in a list of drafts, directly accesible from the private timeline. From that list, drafts can be edited and definitely posted (or re-stored as a draft for later editing).

Fixed a bug that caused Block notifications to not be shown properly.

Fixed crash in a corner case of the URL parameter parsing code.

https://comam.es/what-is-snac

If you find #snac useful, please consider buying grunfink a coffee: https://ko-fi.com/grunfink

This release has been inspired by the song Nova (Shine a Light on Me) by #VNVNation.

#snacAnnounces

I'm glad to announce the release of version 2.59 of #snac, the simple, minimalistic #ActivityPub instance server written in C. It includes the following changes:

Added post drafts: new or edit post edition dialogs include a checkbox that will cause the message to not be posted, but stored in a list of drafts, directly accesible from the private timeline. From that list, drafts can be edited and definitely...
The Real Grunfink
I'm glad to announce the release of version 2.58 of #snac, the simple, minimalistic #ActivityPub instance server written in C. It includes the following changes:

Search by content also looks into alt-text from attachments (images, videos, etc.).

Search by content is case insensitive for all Unicode-supported alphabets (previously was only for ASCII characters).

Added support for bookmarking posts.

Fixed a failed compilation under Solaris/Illumos.

The actor Person object now includes a featured property, that returns the list of pinned posts.

The delete post button can now be hidden server-wise (it's not very useful and clutters the space).

The lists of pinned and bookmarked posts are directly accesible from the private timeline.

https://comam.es/what-is-snac

If you find #snac useful, please consider buying grunfink a coffee: https://ko-fi.com/grunfink

#snacAnnounces

I'm glad to announce the release of version 2.58 of #snac, the simple, minimalistic #ActivityPub instance server written in C. It includes the following changes:

Search by content also looks into alt-text from attachments (images, videos, etc.).
The Real Grunfink
I'm glad to announce the release of version 2.57 of #snac, the simple, minimalistic #ActivityPub instance server written in C. It includes the following changes:

Added support for listening on UNIX-like sockets.

Don't allow empty polls.

Added support for Markdown-style images (converted to attachments) and strikethrough text.

Added support for incoming Move messages: when received, the new account is followed and the old one is unfollowed.

Incoming EmojiReact messages are internally converted to Like (more proper support will happen eventually).

Blocks are also notified.

Mastodon API: fixed a cache bug when following local users.

https://comam.es/what-is-snac

If you find #snac useful, please consider buying grunfink a coffee: https://ko-fi.com/grunfink

#snacAnnounces

I'm glad to announce the release of version 2.57 of #snac, the simple, minimalistic #ActivityPub instance server written in C. It includes the following changes:

Added support for listening on UNIX-like sockets.
The Real Grunfink
I'm glad to announce the release of version 2.56 of #snac, the simple, minimalistic #ActivityPub instance server written in C. It includes the following changes (all of them contributions by fellow developers):

Don't show instance announcements in public timelines (contributed by sarahpw).

Added auto boosting. If an account has this flag enabled, all mentions to that account are automatically boosted to all its followers (contributed by sarahpw).

Fixed typos in manpages (contributed by sergiodj).

Some minor performance improvements (contributed by Claire).

https://comam.es/what-is-snac

If you find #snac useful, please consider buying grunfink a coffee: https://ko-fi.com/grunfink

#snacAnnounces

I'm glad to announce the release of version 2.56 of #snac, the simple, minimalistic #ActivityPub instance server written in C. It includes the following changes (all of them contributions by fellow developers):

The Real Grunfink
I feel sorry and a bit unprofessional about announcing the quick release of version 2.55 of #snac, the simple, minimalistic #ActivityPub instance server written in C. It includes the fix to a careless change by me:

Mastodon API: fixed a last-minute bug that broke some API functions.

I apologize for any inconvenience. This week has not been very good for me, but that is no excuse.

https://comam.es/what-is-snac

#snacAnnounces

I feel sorry and a bit unprofessional about announcing the quick release of version 2.55 of #snac, the simple, minimalistic #ActivityPub instance server written in C. It includes the fix to a careless change by me:

The Real Grunfink
Hi, #snac users; it seems that I introduced a last-minute bug in version 2.54 that breaks some Mastodon API functions because I'm a moron 🤦

I'll release a new version ASAP fixing this specific bug.

I'm super embarrased. Sorry for the inconvenience.

Hi, #snac users; it seems that I introduced a last-minute bug in version 2.54 that breaks some Mastodon API functions because I'm a moron 🤦

I'll release a new version ASAP fixing this specific bug.
Ворон
No need to reproach yourself. Even if the #Mastodon API is broken, the web interface can always be opened!

BTW, I only use the #snac web interface 🙂
The Real Grunfink
I'm glad to announce the release of version 2.54 of #snac, the simple, minimalistic #ActivityPub instance server written in C. This release includes very valuable work by fellow developer louis77, as well as other bugfixes and improvements:

Markdown-style links are now supported.

The alt text in attachments that have one is also shown in a dropdown just below it (useful for environments where mouseover is not available, i.e. for phones and tablets).

Instance-wide notifications has been implemented (contributed by louis77). A small tweak to the default CSS was made to suit this change; please consider updating your style.css (see doc/style.css as an example).

The avatar and/or the header images can now be deleted (contributed by louis77).

Code cleaning: HTTP status codes use names instead of hardcoded integers (contributed by louis77).

Mastodon API: fixed login problems with the official Mastodon API, IceCube and Toot! on iOS, some fixes for Mona and Tokodon apps, user credentials can now be edited from apps (all contributed by louis77), fixed crash on unset content-type header.

The webfinger content-type response header is now RFC-compliant (contributed by steve-bate).

Improved support for the HTTP OPTIONS method, allowing sites like https://mastodonlistmanager.org to work.

Fixed non-working content warnings in the public instance timeline.

https://comam.es/what-is-snac

If you find #snac useful, please consider buying grunfink a coffee: https://ko-fi.com/grunfink

#snacAnnounces

I'm glad to announce the release of version 2.54 of #snac, the simple, minimalistic #ActivityPub instance server written in C. This release includes very valuable work by fellow developer louis77, as well as other bugfixes and improvements:

The Real Grunfink
I'm glad to announce the release of version 2.53 of #snac, the simple, minimalistic #ActivityPub instance server written in C. It includes the following changes:

New user feature to search by post content (using regular expressions) or tag.

Added some (partial) support for Event object types.

Minor fixes: Allow unboosting your own posts (contributed by khm), CSS fixes for the Dillo browser (contributed by kvibber).

https://comam.es/what-is-snac

If you find #snac useful, please consider buying grunfink a coffee: https://ko-fi.com/grunfink

#snacAnnounces

I'm glad to announce the release of version 2.53 of #snac, the simple, minimalistic #ActivityPub instance server written in C. It includes the following changes:

New user feature to search by post content (using regular expressions) or tag.
The Real Grunfink
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.

https://comam.es/what-is-snac

If you find #snac useful, please consider buying grunfink a coffee: https://ko-fi.com/grunfink

Usage tips: Use social media as little as possible. Go for a walk. Meet with friends. Read a good book.

#snacAnnounces

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.
The Real Grunfink
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.

https://comam.es/what-is-snac

If you find #snac useful, please consider buying grunfink a coffee: https://ko-fi.com/grunfink

This release has been inspired by the album Eternal Embers by #Meltt.

#snacAnnounces

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
The Real Grunfink
So it seems that, now that Threads is federating, the most popular person in the fediverse is... Mark Zuckerberg:

https://mastodon.bsd.cafe/users/release_candidate/statuses/112140845317198247

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.

So it seems that, now that Threads is federating, the most popular person in the fediverse is... Mark Zuckerberg:

https://mastodon.bsd.cafe/users/release_candidate/statuses/112140845317198247
The Real Grunfink
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).

https://comam.es/what-is-snac

If you find #snac useful, please consider buying grunfink a coffee: https://ko-fi.com/grunfink

This release has been inspired by the song The Raven by #CarolineLavelle.

#snacAnnounces

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
The Real Grunfink
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.

Mastodon API: Added search by hashtag.

Some cosmetic fixes to the web interface.

https://comam.es/what-is-snac

If you find #snac useful, please consider buying grunfink a coffee: https://ko-fi.com/grunfink

#snacAnnounces

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:

The Real Grunfink
I'm glad to announce the release of version 2.48 of #snac, the simple, minimalistic #ActivityPub instance server written in C. It includes the following changes:

A new instance page, that shows all posts by users in the same instance (like the public instance timeline, but interactive). This will help building communities.

Follower-only replies to unknown users are not shown in timelines.

Added verification of metadata links: if the linked page contains a link back to the snac user with a rel="me" attribute, it's marked as verified.

Added a new server-level configuration parameter: min_account_age. If this value (in seconds) is set in server.json, any activity coming from accounts that were created newer than that will be discarded. This can be used to mitigate spam.

Added a profile-page relation to links in webfinger responses (contributed by khm).

Fixed some regressions and a crash.

https://comam.es/what-is-snac

If you find #snac useful, please consider buying grunfink a coffee: https://ko-fi.com/grunfink

This release has been inspired by the album The Sudbury Inn by #Deleyaman.

#snacAnnounces

I'm glad to announce the release of version 2.48 of #snac, the simple, minimalistic #ActivityPub instance server written in C. It includes the following changes:

A new instance page, that shows all posts by users in the same instance (like the public instance timeline, but interactive). This will help building communities.
The Real Grunfink
I'm glad to announce the release of version 2.46 of #snac, the simple, minimalistic #ActivityPub instance server written in C. It includes the following changes:

Added support for Peertube videos.

Mastodon API: Tweaks to support the Subway Tooter app (contributed by pswilde), added support for editing posts, fixed an error related to the edit date of a post, fixed some crashes.

Added a handshake emoji next to a user name if it's a mutual relation (follower and followed), because friendship is bliss.

Tweaked some retry timeout values for better behaviour in larger instances (thanks to me@mysmallinstance.homelinux.org for their help).

https://comam.es/what-is-snac

If you find #snac useful, please consider buying grunfink a coffee: https://ko-fi.com/grunfink

This release has been inspired by the album Duality by #TwoLanes.

#snacAnnounces

I'm glad to announce the release of version 2.46 of #snac, the simple, minimalistic #ActivityPub instance server written in C. It includes the following changes:

Added support for Peertube videos.
The Real Grunfink
Hello, #snacizens. I've just added a somewhat cool experimental feature to #snac: a new command-line to query the state of a running server, like

$ snac state /var/lib/snac

server: comam.es (snac/2.45-dev)
uptime: 0:03:09:52
job fifo size (cur): 45
job fifo size (peak): 1532
thread #0 state: input
thread #1 state: input
thread #2 state: waiting
thread #3 state: waiting
thread #4 state: output
thread #5 state: output
thread #6 state: output
thread #7 state: waiting
It does this using a shared memory area, so some system restrictions may apply. I've tested on Linux and OpenBSD and it seems to work OK. You can call this command as an argument to watch or in a while true shell loop to have something like a poor-man's top utility.

This will be part of the 2.45 release. It's already in the public git repository, if any of you want to test it.
Hello, #snacizens. I've just added a somewhat cool experimental feature to #snac: a new command-line to query the state of a running server, like

$ snac state /var/lib/snac

server: comam.es (snac/2.45-dev)
uptime: 0:03:09:52
job fifo size (cur): 45
job fifo size (peak): 1532
thread #0 state: input
thread #1 state: input
thread #2 state: waiting
thread #3 state: waiting
thread #4 state: output
thread #5 state: output
The Real Grunfink
I'm glad to announce the release of version 2.44 of #snac, the simple, minimalistic #ActivityPub instance server written in C. It includes the following changes:

Fixed a nasty bug that caused the in-memory output queue to be corrupted under heavy traffic loads. This is a good reason to upgrade (thanks to Víctor Moral and Stefano Marinelli for helping me in fixing this).

Shared inboxes are now supported. This is not a user visible feature (hopefully, they will not feel any change), but it will significantly improve traffic for snac instances with many users and will open room for new features that are only feasible with these kind of input channels (this is not enabled by default; see snac(8)).

I've refactored all HTML code because it was somewhat of a mess; now it's much more maintainable (at least for me). I think I haven't broken anything.

Fixed crash in a special case of malformed query.

Mastodon API: some tweaks for better integration with more clients, and fixed a crash when processing boosts from kbin.

Fixed crash in the FastCGI code (thanks to Yonle for helping me debug this).

Added apache2 configuration information (contributed by Víctor Moral).

Added FreeBSD and NetBSD setup information and examples (contributed by draga79).

https://comam.es/what-is-snac

If you find #snac useful, please consider buying grunfink a coffee: https://ko-fi.com/grunfink

This release has been inspired by the album Until the Horses Come Home by #Undyed.

I'm glad to announce the release of version 2.44 of #snac, the simple, minimalistic #ActivityPub instance server written in C. It includes the following changes:

Fixed a nasty bug that caused the in-memory output queue to be corrupted under heavy traffic loads. This is a good reason to upgrade (thanks to Víctor Moral and Stefano Marinelli for helping me in fixing this).
silverpill

@grunfink FYI, this object looks malformed: https://snac.jamesoff.net/jamesoff/p/1704978630.677698

"cc": [null],

Also one of mentions has href: null

The Real Grunfink
I'm glad to announce the release of version 2.43 of #snac, the simple, minimalistic #ActivityPub instance server written in C. It includes the following changes:

Tags in posts are now indexed and searching by tag is possible. It's still not very useful, but at least new user posts contain links that return real search-by-tag results. Also, no "re-indexing" of the previously stored data is done (only new local and remote posts will be searchable by tag).

Added FastCGI support. This allows for simpler setups (e.g. on #OpenBSD, it's no longer necessary to enable and configure relayd, as the native httpd daemon includes FastCGI support).

History can be disabled by administrators by setting the disable_history field to true.

New command-line option deluser, to delete a user (including unfollowing everybody).

Mastodon API: account lookups has been implemented.

Fixed a minor memory leak 🤦

Fixed some HTML errors 🤦

https://comam.es/what-is-snac

If you find #snac useful, please consider buying grunfink a coffee: https://ko-fi.com/grunfink

This release has been inspired by the album Essentials by #AnnaBMay.

I'm glad to announce the release of version 2.43 of #snac, the simple, minimalistic #ActivityPub instance server written in C. It includes the following changes:

Tags in posts are now indexed and searching by tag is possible. It's still not very useful, but at least new user posts contain links that return real search-by-tag results. Also, no "re-indexing" of the previously stored data is done (only...
The Real Grunfink
I'm glad to announce the release of version 2.42 of #snac, the simple, minimalistic #ActivityPub instance server written in C. It includes the following changes:

It's now possible to add profile metadata.

Accounts can be marked as 'private', so that they are not accesible from any non-authorized web UI (i.e. only through the Fediverse).

Outgoing connections that fail with a timeout are retried with a higher timeout limit. But, if the instance keeps timing out, it's penalized by skipping one retry.

If a post comes from a group or community (i.e. it has an audience field set), the buttons Follow Group or Unfollow Group are shown.

Pinned posts are never (incorrectly) purged.

Some RSS validation fixes.

Mastodon API: some tweaks to better match Mastodon behaviour in timeline entries and boosted posts are correctly returned, and some fixes for crashes.

Don't allow creating users which user name strings only differ in case. This was creating some problems (e.g. the webfinger interface doesn't allow case sensitivity).

https://comam.es/what-is-snac

If you find #snac useful, please consider buying grunfink a coffee: https://ko-fi.com/grunfink

This release has been inspired by the album On Giacometti by #HaniaRani.

I'm glad to announce the release of version 2.42 of #snac, the simple, minimalistic #ActivityPub instance server written in C. It includes the following changes:

It's now possible to add profile metadata.
The Real Grunfink
I'm glad to announce the release of version 2.41 of #snac, the simple, minimalistic #ActivityPub instance server written in C. It includes the following changes:

Added support for Article ActivityPub objects to correctly process reviews from #Bookwyrm instances and other similar software.

Show Link objects that are image, audio or video media as if they were attachments.

Added more aggressive caching to timelines and history files.

The history at the end of the public page is listed in reverse chronological order.

Mastodon API: minor fixes.

Be more strict when serving note objects.

Additional HTTP response headers can be defined by adding an http_headers object with header/content pairs into the server.json configuration file.

If you hover the mouse pointer over a vote option in a pool, the current count (as per the last update) is shown. This may be considered cheating in some cases, so try to be honest (or not).

The nodeinfo URL now returns more accurate information.

https://comam.es/what-is-snac

If you find #snac useful, please consider buying grunfink a coffee: https://ko-fi.com/grunfink

This release has been inspired by the album Plains of Elysium by #Madis.

I'm glad to announce the release of version 2.41 of #snac, the simple, minimalistic #ActivityPub instance server written in C. It includes the following changes:

Added support for Article ActivityPub objects to correctly process reviews from
Go Up