grunfink, to fediverse
@grunfink@comam.es avatar

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

teajaygrey,
@teajaygrey@rap.social avatar

@grunfink I submitted a PR to update MacPorts' snac to 2.53 here:

https://github.com/macports/macports-ports/pull/23996

GitHub Actions CI passed OK!

As in the past, I don't have commit access, so it will be up to someone else to merge it.

Thank you for your continued improvements and to khm and kvibber for their contributions as well!

#snac #MacPorts #OpenSource #ActivityPub #Mastodon #NoDatabaseNeeded #NoJavaScript #NoCookiesEither #NotMuchBullShit #snacAnnounces

grunfink,
@grunfink@comam.es avatar

Hello. I don't think it would be impossible, but I think the experience will be severely lacking. The start and stop times of are fast, but from the top of my head, these things could prove problematic:

  • The maximum number of simultaneous processes would be harder to control (it should be done on the frontend http server, and that would require specific configuration for every server implementation).
  • Every activity (likes, boosts, posts) generates a very big bunch of connections. After a new one, the process should manage the full queue and not exit until it's done. If there are a bunch of these operations still running, the http server would not open on new queries, or at least it will require some configuration tuning. As it's now, it's trivial to reserve resources and give top priority to incoming requests.
  • And most important, the problem of retries. The fediverse is a jungle of overloaded, fallen, slow servers. Activity messages should be stored somewhere to be retried later, probably after a timer. This is much harder to manage from a CGI, that only runs on demand.

As I say, it's not impossible, but a project with this approach should be carefully developed taking this thinks into account.

grunfink,
@grunfink@comam.es avatar

Great! Glad to see #snac working in all kinds of systems, specially the older ones.

chema, to fediverse
@chema@ctrvx.net avatar

I am just so amazed at how well the @phanpy web client works with . I started self-hosting phanpy last night (it is a pure static web app) and it works seamlessly. Makes me very happy when things go like they're expected. Thank you for this @cheeaun!

chema, to fediverse
@chema@ctrvx.net avatar

If you're looking to host your very own single-user/a-few-users instance, you cannot go wrong with . It is simple to install on Ubuntu and works very well with some really solid clients. It is also written in C, so it is fast, with few dependencies. Great work @grunfink, you've got a new monthly supporter on Ko-fi!

https://codeberg.org/grunfink/snac2

grunfink,
@grunfink@comam.es avatar

What instructions did you find misleading? I would like #snac 's documentation to be as accurate as possible.

CC: @chema

grunfink,
@grunfink@comam.es avatar

Thank you very much for your notes. I've boosted them because they may prove useful for future users while the documentation is improved.

I'm glad you like .

CC: @gyptazy @chema

chema, to random
@chema@ctrvx.net avatar

Finally installed @grunfink! Straightforward process, no major issues. It works very well with @Tusky Only issue I've had has been adding attachments. Is that supported or is there a file limit size? In any case, great job. Big fan so far.

grunfink,
@grunfink@comam.es avatar

Hi! Thanks for the kind words.

Attachments are totally supported, being them images, video, audio, whatever. But, if you are experimenting "file too big" errors, they do not come from #snac itself (there is no enforced limit), but from your nginx / Apache / whatever web server; try reconfiguring it to allow larger POST uploads.

CC: @Tusky

fediverseobserver, to fediverse

Found 4 new servers and 15 servers died off since 3 hours ago.

22,525 servers checked. 14,022,854 Total Users with 1,546,420 Active Users today. Check out the stats!

New #fediverse servers found:

beta.14chan.jp a #teddybear server from Private
zetsubou.ryona.agency a #snac server from United States
pixelfed.spacehost.dev a #pixelfed server from United States
shrk.abtmtr.link a #sharkey server from Private

Help others find a home, send them to fediverse.observer

fediverseobserver, to fediverse

Found 3 new servers and 15 servers died off since 3 hours ago.

22,528 servers checked. 14,028,394 Total Users with 1,546,420 Active Users today. Check out the stats!

New #fediverse servers found:

zetsubou.ryona.agency a #snac server from United States
pixelfed.spacehost.dev a #pixelfed server from United States
shrk.abtmtr.link a #sharkey server from Private

Help others find a home, send them to fediverse.observer

fediverseobserver, to fediverse

Found 3 new servers and 7 servers died off since 3 hours ago.

22,532 servers checked. 14,028,394 Total Users with 1,546,420 Active Users today. Check out the stats!

New #fediverse servers found:

zetsubou.ryona.agency a #snac server from United States
pixelfed.spacehost.dev a #pixelfed server from United States
shrk.abtmtr.link a #sharkey server from Private

Help others find a home, send them to fediverse.observer

chema, to random
@chema@ctrvx.net avatar

Getting #snac running on this server has been straightforward. I spent longer hesitating on the top-level domain. Took a few minutes to get the systemd service up and running, but that was the most complicated step so far.

#snac2

liaizon, to fediverse
@liaizon@wake.st avatar

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 event yet? Does @silverpill's @mitra have any support? What about @grunfink's SNAC?

Here's a link to the event itself if anyone wants to query it in their software of choice.
https://fediversity.site/item/e9bdb383-eeb9-4d7d-b2f7-c6401267cae0

grunfink,
@grunfink@comam.es avatar

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).

CC: @mikedev @streams @julian @nodebb @silverpill @mitra

Deus, to random
@Deus@charcha.cc avatar

snac or Social Networks Are Crap...oh well. Not bad. Not bad at all. #snac #FediverseSoftware

https://codeberg.org/voron/snac-style

grunfink, (edited ) to fediverse
@grunfink@comam.es avatar

I'm glad to announce the release of version 2.52 of , the simple, minimalistic 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 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.

teajaygrey,
@teajaygrey@rap.social avatar

@grunfink I submitted a PR to update MacPorts' snac to 2.52 here:

https://github.com/macports/macports-ports/pull/23859

GitHub Actions CI are queued, but hopefully they will complete OK?

Regardless, I don't have commit access so it will be up to someone else to merge it.

Thank you for your continued improvements and to others submitting bug fixes too!

klopo, to random
@klopo@opbsd.rintik.xyz avatar

Modifikasi tema berdasarkan tema Paper buatan @voron
merubah background menjadi terang dan beberapa detil kecil lainnya. Untuk font pakai Source Serif 4 dari Google Fonts. https://fonts.google.com/specimen/Source+Serif+4

@import url('https://fonts.googleapis.com/css2?family=Source+Serif+4:ital,opsz,wght@0,8..60,200..900;1,8..60,200..900&display=swap');<br></br><br></br>*,<br></br>*:before,<br></br>*:after {<br></br>  box-sizing: border-box;<br></br>}<br></br>body {<br></br>  max-width: 48em;<br></br>  margin: 0 auto;<br></br>  line-height: 1.5;<br></br>  padding: 0.5rem 1rem;<br></br>  word-wrap: break-word;<br></br>  height: 100%;<br></br>  color: <a class="mention hashtag" href="https://opbsd.rintik.xyz?t=292929" rel="tag">#292929</a>;<br></br>  font-weight: 400;<br></br>  font-size: 16px;<br></br>  font-family: 'Source Serif 4', Georgia, serif;<br></br>  line-height: 1.725;<br></br>  text-rendering: geometricPrecision;<br></br>  display: flex;<br></br>  flex-direction: column;<br></br>  overflow-wrap: break-word;<br></br>}<br></br>blockquote { font-style: italic; border-left: 5px solid <a class="mention hashtag" href="https://opbsd.rintik.xyz?t=e85d04" rel="tag">#e85d04</a>; border-radius: 0.4em; padding: 0rem 0 0rem 0.5rem }<br></br>video {<br></br>    aspect-ratio: 16 / 9;<br></br>}<br></br>sup {<br></br>  padding: 0 2px;<br></br>  border-radius: 5px;<br></br>  line-height: 99%;<br></br>  left: 4px;<br></br>  position: relative;<br></br>  bottom: 4px;<br></br>}<br></br>a {<br></br>  text-decoration: none;<br></br>  color: <a class="mention hashtag" href="https://opbsd.rintik.xyz?t=023e8a" rel="tag">#023e8a</a>;<br></br>}<br></br><br></br>.snac-content a:hover {<br></br>    text-decoration: underline;<br></br>}<br></br><br></br>pre {<br></br>    padding: 1em;<br></br>    border-radius: 6px;<br></br>    overflow: auto;<br></br>    border: 1px solid <a class="mention hashtag" href="https://opbsd.rintik.xyz?t=eee" rel="tag">#eee</a>;<br></br>    margin: 1em 0;<br></br>    tab-size: 1rem<br></br>}<br></br>pre, code {<br></br>    font-family: 'SF Mono', monospace, Consolas, Courier New;<br></br>    font-size: 90%;<br></br>}<br></br>p code, div code {<br></br>    border: 1px solid <a class="mention hashtag" href="https://opbsd.rintik.xyz?t=eee" rel="tag">#eee</a>;<br></br>    border-radius: 3px;<br></br>    font-size: 85%;<br></br>    padding: 1px 2px;<br></br>}<br></br>input[type="file"] {<br></br>  margin-bottom: 1rem;<br></br>  width: 100%;<br></br>}<br></br>select,<br></br>input[type=file]::file-selector-button {<br></br>  background: rgb(201, 201, 203, 0.4);<br></br>  border: none;<br></br>  border-radius: 4px;<br></br>  padding: 0.3rem;<br></br>}<br></br>select:hover,<br></br>input[type=file]::file-selector-button:hover {<br></br>  background: rgb(201, 201, 203);<br></br>}<br></br>input[type="text"] {<br></br>  height: auto;<br></br>  font-size: inherit;<br></br>  width: 100%;<br></br>  color: inherit;<br></br>  border-radius: 4px;<br></br>  border: inherit;<br></br>}<br></br>input[class^="snac-btn-"] {<br></br>  background: rgb(201, 201, 203, 0.4);<br></br>  border: none;<br></br>  border-radius: 4px;<br></br>  padding: 0.3rem;<br></br>  font-size: 85%;<br></br>}<br></br>input[class^="snac-btn-"]:hover {<br></br>  background: rgb(201, 201, 203);<br></br>}<br></br>input[name="telegram_bot"] {<br></br>  margin-bottom: 0.5rem;<br></br>}<br></br>.snac-note input[value="Post"],<br></br>.snac-top-controls input[value="Post"],<br></br>.snac-top-controls input[value="Follow"],<br></br>.snac-top-controls input[value="Boost"],<br></br>.snac-top-controls input[value="Update user info"] {<br></br>  background: rgb(100, 149, 237, 0.2);<br></br>  color: <a class="mention hashtag" href="https://opbsd.rintik.xyz?t=6495ed" rel="tag">#6495ED</a>;<br></br>  border: none;<br></br>  border-radius: 4px;<br></br>  padding: 0.5rem 1rem;<br></br>  font-weight: 700;<br></br>}<br></br>.snac-note input[value="Post"]:hover,<br></br>.snac-top-controls input[value="Post"]:hover,<br></br>.snac-top-controls input[value="Follow"]:hover,<br></br>.snac-top-controls input[value="Boost"]:hover,<br></br>.snac-top-controls input[value="Update user info"]:hover {<br></br>  background: rgb(100, 149, 237, 0.3);<br></br>}<br></br>.snac-top-controls input[value="Follow"],<br></br>.snac-top-controls input[value="Boost"] {<br></br>  margin-top: 0.5rem;<br></br>}<br></br>.snac-top-controls > div > details > summary::marker {<br></br>  content: "✏️ ";<br></br>}<br></br>.snac-top-controls <a class="mention hashtag" href="https://opbsd.rintik.xyz?t=new_post_form" rel="tag">#new_post_form</a> details:first-of-type summary::marker {<br></br>  content: "📎 ";<br></br>}<br></br>.snac-top-controls <a class="mention hashtag" href="https://opbsd.rintik.xyz?t=new_post_form" rel="tag">#new_post_form</a> details:last-of-type summary::marker {<br></br>  content: "📊 ";<br></br>}<br></br>.snac-top-controls > details:first-of-type summary::marker {<br></br>  content: "🗃️ ";<br></br>}<br></br>.snac-top-controls > details:last-of-type summary::marker {<br></br>  content: "⚙️ ";<br></br>}<br></br>form[id$=_reply_form] details:first-of-type summary::marker {<br></br>  content: "📎 ";<br></br>}<br></br>.snac-controls details:first-of-type summary::marker {<br></br>  content: "🗨️ ";<br></br>}<br></br>.hashtag, .hashtag span { color: <a class="mention hashtag" href="https://opbsd.rintik.xyz?t=ef233c" rel="tag">#ef233c</a>; font-weight: 600;}<br></br>h2::before {<br></br>  position: absolute;<br></br>  left: -1.2rem;<br></br>  color: <a class="mention hashtag" href="https://opbsd.rintik.xyz?t=6495ed" rel="tag">#6495ED</a>;<br></br>  content: "<a class="mention hashtag" href="https://opbsd.rintik.xyz?t="" rel="tag">#"</a>;;<br></br>  font-size: 1.5rem;<br></br>}<br></br>h2 {<br></br>  position: relative;<br></br>  display: block;<br></br>  margin-left: 1rem;<br></br>}<br></br>textarea,<br></br>input {<br></br>  outline: none;<br></br>  padding: 0.3rem;<br></br>  background: <a class="mention hashtag" href="https://opbsd.rintik.xyz?t=dedcd9" rel="tag">#dedcd9</a>;<br></br>  border: none;<br></br>  border-radius: 4px;<br></br>}<br></br>textarea[name="bio"],<br></br>textarea[name="metadata"] {<br></br>  width: 100%;<br></br>}<br></br>textarea:focus,<br></br>input:focus {<br></br>  background: <a class="mention hashtag" href="https://opbsd.rintik.xyz?t=eae9e7" rel="tag">#eae9e7</a>;<br></br>}<br></br>summary {<br></br>   border-radius: 4px;<br></br>   padding: 0.1rem 0.2rem;<br></br>   width: fit-content;<br></br>}<br></br>summary:hover {<br></br>  cursor: pointer;<br></br>  background: rgb(201, 201, 203, 0.4);<br></br>}<br></br>.snac-content-attachments img {<br></br>    border: 1px solid <a class="mention hashtag" href="https://opbsd.rintik.xyz?t=ccc" rel="tag">#ccc</a>;<br></br>    border-radius: 8px;<br></br>}<br></br>.snac-embedded-video,<br></br>img {<br></br>  max-width: 100%;<br></br>  border-radius: 4px;<br></br>}<br></br>.snac-origin {<br></br>  font-size: 85%;<br></br>  font-family: system-ui, sans-serif;<br></br>  color: limegreen;<br></br>  margin-top: 0.3rem;<br></br>}<br></br>.snac-origin>a {<br></br>  color: <a class="mention hashtag" href="https://opbsd.rintik.xyz?t=363533" rel="tag">#363533</a>;<br></br>}<br></br>.snac-score {<br></br>  float: right;<br></br>  font-size: 85%;<br></br>  margin-left: 0.5rem;<br></br>}<br></br>.snac-metadata {<br></br>  margin-bottom: 1rem;<br></br>}<br></br>.snac-top-user-name {<br></br>  font-size: 150%;<br></br>  font-family: system-ui, sans-serif;<br></br>  color: <a class="mention hashtag" href="https://opbsd.rintik.xyz?t=444" rel="tag">#444</a>;<br></br>  margin-bottom: -1.1rem;<br></br>  margin-top: 0.5rem;<br></br>}<br></br>.snac-top-user-id {<br></br>  font-size: 110%;<br></br>  margin-bottom: 1rem;<br></br>}<br></br>.snac-top-user-bio {<br></br>    margin-bottom: 1em;<br></br>}<br></br>.snac-top-user-bio br {<br></br>    display: none;<br></br>}<br></br>.snac-top-nav {<br></br>  color: <a class="mention hashtag" href="https://opbsd.rintik.xyz?t=e2e0de" rel="tag">#e2e0de</a>;<br></br>  display: flex;<br></br>  align-items: center;<br></br>  justify-content: end;<br></br>}<br></br>.snac-top-nav > a {<br></br>  text-transform: capitalize;<br></br>  border-left: 1px solid;<br></br>  padding-left: 0.6rem;<br></br>  line-height: 1em;<br></br>}<br></br>.snac-top-nav > a:first-of-type {<br></br>  padding-left: 0;<br></br>  border-left: 0;<br></br>}<br></br>.snac-top-nav>a:hover {<br></br>  text-decoration: underline;<br></br>}<br></br>.snac-top-nav>.snac-avatar {<br></br>  margin-right: auto;<br></br>}<br></br>.snac-avatar {<br></br>  float: left;<br></br>  height: 2.5rem;<br></br>  aspect-ratio: 1 / 1;<br></br>  margin-right: 0.5rem;<br></br>  border-radius: 8px;<br></br>}<br></br>.snac-author {<br></br>  font-size: 95%;<br></br>  text-decoration: none;<br></br>  font-weight: 700;<br></br>  color: <a class="mention hashtag" href="https://opbsd.rintik.xyz?t=363533" rel="tag">#363533</a>;<br></br>}<br></br>.snac-author-tag {<br></br>  font-size: 90%;<br></br>  color: <a class="mention hashtag" href="https://opbsd.rintik.xyz?t=363533" rel="tag">#363533</a>;<br></br>  text-decoration: none;<br></br>}<br></br>.snac-pubdate {<br></br>  color: <a class="mention hashtag" href="https://opbsd.rintik.xyz?t=a0a0a0" rel="tag">#a0a0a0</a>;<br></br>  font-size: 90%;<br></br>  float: right;<br></br>}<br></br>.snac-top-controls {<br></br>  padding-bottom: 1.5em;<br></br>}<br></br>.e-content summary {<br></br>  margin-bottom: 1rem;<br></br>  color: <a class="mention hashtag" href="https://opbsd.rintik.xyz?t=c1121f" rel="tag">#c1121f</a>;<br></br>}<br></br>.snac-post {<br></br>  border-top: 1px solid <a class="mention hashtag" href="https://opbsd.rintik.xyz?t=c1c1c1" rel="tag">#c1c1c1</a>;<br></br>  margin-bottom: 1rem;<br></br>}<br></br>.snac-post-header {<br></br>  line-height: 1.3;<br></br>}<br></br>.snac-children {<br></br>  padding-left: 1.5em;<br></br>  border-left: 1px solid <a class="mention hashtag" href="https://opbsd.rintik.xyz?t=c1c1c1" rel="tag">#c1c1c1</a>;<br></br>}<br></br>.snac-textarea {<br></br>  font-family: inherit;<br></br>  width: 100%;<br></br>  color: inherit;<br></br>  border-radius: 4px;<br></br>  border: inherit;<br></br>}<br></br>.snac-history {<br></br>  display: none;<br></br>}<br></br>.snac-btn-mute {<br></br>  float: right;<br></br>  margin-left: 0.5em;<br></br>}<br></br>.snac-btn-unmute {<br></br>  float: right;<br></br>  margin-left: 0.5em;<br></br>}<br></br>.snac-btn-follow {<br></br>  float: right;<br></br>  margin-left: 0.5em;<br></br>}<br></br>.snac-btn-unfollow {<br></br>  float: right;<br></br>  margin-left: 0.5em;<br></br>}<br></br>.snac-btn-hide {<br></br>  float: right;<br></br>  margin-left: 0.5em;<br></br>}<br></br>.snac-btn-delete {<br></br>  float: right;<br></br>  margin-left: 0.5em<br></br>}<br></br>.snac-btn-limit {<br></br>  float: right;<br></br>  margin-left: 0.5em;<br></br>}<br></br>.snac-btn-unlimit {<br></br>  float: right;<br></br>  margin-left: 0.5em;<br></br>}<br></br>.snac-footer {<br></br>  margin-top: 2em;<br></br>  font-size: 75%;<br></br>  color: <a class="mention hashtag" href="https://opbsd.rintik.xyz?t=666" rel="tag">#666</a>;<br></br>}<br></br>.snac-poll-result {<br></br>  margin-left: auto;<br></br>  margin-right: auto;<br></br>}<br></br>@media (max-width: 500px) {<br></br>  body {<br></br>    font-size: 14px;<br></br>  }<br></br>  sup {<br></br>    left: 2px;<br></br>  }<br></br>  .snac-children {<br></br>    padding-left: 1em;<br></br>  }<br></br>  input[class^="snac-btn-"] {<br></br>    font-size: 80%;<br></br>  }<br></br>  .snac-pubdate {<br></br>    font-size: 80%;<br></br>  }<br></br>  h2::before {<br></br>    top: -0.2rem;<br></br>  }<br></br>  .snac-top-nav > a {<br></br>    padding-left: 0.2rem;<br></br>    margin: -0.2rem;<br></br>  }<br></br>}<br></br>
klopo,
@klopo@opbsd.rintik.xyz avatar

why treat css hex string notation inside code wrapper (for css color) as a hashtag?

¿ⓧ_ⓧﮌ

CC: @grunfink

voron, to random
@voron@snac.nya.pub avatar

Introducing a new style for #snac called "Next". Slightly more compact, light and dark mode, with icons.

You can change the colors in the :root block.

fediverseobserver, to fediverse

Found 3 new servers and 12 servers died off since 3 hours ago.

22,908 servers checked. 13,961,606 Total Users with 1,600,252 Active Users today. Check out the stats!

New servers found:

fedi.7graphics.studio a server from Private
pub.dfdx.io a server from United States
akkoma.ioxolabs.com a server from United States

Help others find a home, send them to fediverse.observer

fediverseobserver, to fediverse

Found 3 new servers and 8 servers died off since 3 hours ago.

22,913 servers checked. 13,958,511 Total Users with 1,600,252 Active Users today. Check out the stats!

New servers found:

fedi.7graphics.studio a server from Private
pub.dfdx.io a server from United States
akkoma.ioxolabs.com a server from United States

Help others find a home, send them to fediverse.observer

dfdx, to mastodon
@dfdx@pub.dfdx.io avatar

After unsuccessfully trying to get #mastodon, #pleroma, #akkoma, and #honk working on #OpenBSD, I installed and configured #snac relatively easily.

What a nice surprise. Thanks @grunfink

grunfink,
@grunfink@comam.es avatar

You're welcome! Enjoy your experience.

mookie, to fediverse
@mookie@lifeiswoohoo.com avatar

one day, i will catch the eyes of @lisamelton and my #snac server's "job fifo size (peak)" will be tested. #fediverse

grunfink, to fediverse
@grunfink@comam.es avatar

I'm glad to announce the release of version 2.51 of , the simple, minimalistic 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 useful, please consider buying grunfink a coffee: https://ko-fi.com/grunfink

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

teajaygrey,
@teajaygrey@rap.social avatar

@grunfink I submitted a PR to update MacPorts' snac to 2.51 here:

https://github.com/macports/macports-ports/pull/23357

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!

firefly, (edited ) to random
@firefly@neon.nightbulb.net avatar

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.

@grunfink

grunfink,
@grunfink@comam.es avatar

Hi. I'm afraid there is no easy way to automate what you want just using '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 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.

DAISYLittleOne1, to random
@DAISYLittleOne1@mastodon.thirring.org avatar

You must have , why else would you be stopping by!

  • All
  • Subscribed
  • Moderated
  • Favorites
  • megavids
  • kavyap
  • DreamBathrooms
  • osvaldo12
  • magazineikmin
  • khanakhh
  • tacticalgear
  • Youngstown
  • mdbf
  • slotface
  • rosin
  • ethstaker
  • Durango
  • normalnudes
  • provamag3
  • ngwrru68w68
  • InstantRegret
  • cubers
  • modclub
  • everett
  • thenastyranch
  • cisconetworking
  • Leos
  • GTA5RPClips
  • tester
  • vwfavf
  • anitta
  • JUstTest
  • All magazines