What is Hackers' Pub?

Hackers' Pub is a place for software engineers to share their knowledge and experience with each other. It's also an ActivityPub-enabled social network, so you can follow your favorite hackers in the fediverse and get their latest posts in your feed.

1
0
0
1
0
1
0
0
1

日本政府がむっちゃ推奨してるやつ…

「その人々(移住労働者)が地域社会に定着して暮らすならまだしも、一定時間になれば帰国し、最小限の生活費以外には全て本国に送金するのに、それがはたして望ましいのか」

japan.hani.co.kr/arti/politics

0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
0
0
0
1
0
0
0
0
0

Hollo 0.7.0: Advanced search, faster notifications, and improved client compatibility

It's been a while since our last release, and we're excited to finally share Hollo 0.7.0 with you. This release brings a lot of improvements that we've been working on over the past months—from powerful new search capabilities to significant performance gains that should make your daily Hollo experience noticeably snappier.

Let's dive into what's new.

Highlights

Search gets a major upgrade

One of the most requested features has been better search, and we're happy to deliver. Hollo now supports Mastodon-compatible search operators, so you can finally filter your searches the way you've always wanted:

  • has:media/has:poll — Find posts with attachments or polls
  • is:reply/is:sensitive — Filter by post type
  • language:xx — Search in a specific language
  • from:username — Find posts from a specific person
  • mentions:username — Find posts mentioning someone
  • before:YYYY-MM-DD/after:YYYY-MM-DD — Search within a date range
  • Combine them with - for negation, OR for alternatives, and parentheses for grouping

For example, (from:alice OR from:bob) has:poll -is:reply will find polls from Alice or Bob that aren't replies.

We've also made search much faster. URL and handle searches that used to take 8–10 seconds now complete in about 1.4 seconds—an 85% improvement.

Notifications are faster than ever

We completely rebuilt how notifications work under the hood. Instead of computing notifications on every request, Hollo now stores them as they happen. The result? About 24% faster notification loading (down from 2.5s to 1.9s).

On top of that, we've implemented Mastodon's v2 grouped notifications API, which groups similar notifications together server-side. This means less work for your client app and a cleaner notification experience.

Everything loads faster with compression

All API responses are now compressed, reducing their size by 70–92%. Some real numbers: notification responses dropped from 767KB to 58KB, and home timeline responses went from 91KB to 14KB. You'll notice faster load times, especially on slower connections.

Quote notifications

When someone quotes your post, you'll now get a notification about it. And if the original author edits a post you've quoted, you'll be notified too. These are the new quote and quoted_update notification types from Mastodon 4.5.0.

Background import processing

Importing your data (follows, lists, muted/blocked accounts, bookmarks) used to block the entire request until it finished. Now imports run in the background, and you can watch the progress in real-time. Much better for large imports. Thanks to Juyoung Jung for implementing this in #295.

Other improvements

  • Upgraded Fedify to 1.10.0.
  • Instance API responses now include proper thumbnails, actual stats, and correct values for max_featured_tags and max_pinned_statuses. Thanks to Juyoung Jung for this improvement in #296.
  • The notifications API now includes a prev link in pagination headers, which was tracked in #312.
  • Replaced the deprecated fluent-ffmpeg package with direct ffmpeg calls. If video thumbnail generation fails, you'll get a default image instead of an error. Thanks to Peter Jeschke for this fix in #333.

Bug fixes

  • Emelia Smith fixed an issue where POST /api/v1/statuses and PUT /api/v1/statuses/:id were rejecting FormData requests in #171.
  • Fixed log files writing multiple JSON objects on a single line, as reported in #174.
  • Lee ByeongJun fixed POST /api/v1/statuses rejecting null values in optional fields in #179.
  • Juyoung Jung fixed OAuth token endpoint issues with clients that send credentials in both the header and body in #296.
  • Fixed OAuth token endpoint failing to parse requests from clients that don't send a Content-Type header.
  • Peter Jeschke fixed notification endpoints returning 500 errors for unknown notification types in #334.
  • Fixed /api/v2/search not respecting the limit parameter, as reported in #210.

Upgrading

Docker

Pull the latest image and restart your container:

docker pull ghcr.io/fedify-dev/hollo:0.7.0
docker compose up -d

Railway

Go to your Railway dashboard, select your Hollo service, and click Redeploy from the deployments menu.

Manual installation

Pull the latest code and reinstall dependencies:

git pull origin stable
pnpm install
pnpm run prod

Thank you to our contributors

This release wouldn't have been possible without the contributions from our community. A big thank you to Emelia Smith (@thisismissemEmelia 👸🏻), Juyoung Jung (@quadr최치선), Lee ByeongJun (@joonnotnotJoon), and Peter Jeschke (@peter@jeschke.dev) for their pull requests and bug reports. We really appreciate your help in making Hollo better!

2
0
0
0

Hollo 0.7.0: Advanced search, faster notifications, and improved client compatibility

It's been a while since our last release, and we're excited to finally share Hollo 0.7.0 with you. This release brings a lot of improvements that we've been working on over the past months—from powerful new search capabilities to significant performance gains that should make your daily Hollo experience noticeably snappier.

Let's dive into what's new.

Highlights

Search gets a major upgrade

One of the most requested features has been better search, and we're happy to deliver. Hollo now supports Mastodon-compatible search operators, so you can finally filter your searches the way you've always wanted:

  • has:media/has:poll — Find posts with attachments or polls
  • is:reply/is:sensitive — Filter by post type
  • language:xx — Search in a specific language
  • from:username — Find posts from a specific person
  • mentions:username — Find posts mentioning someone
  • before:YYYY-MM-DD/after:YYYY-MM-DD — Search within a date range
  • Combine them with - for negation, OR for alternatives, and parentheses for grouping

For example, (from:alice OR from:bob) has:poll -is:reply will find polls from Alice or Bob that aren't replies.

We've also made search much faster. URL and handle searches that used to take 8–10 seconds now complete in about 1.4 seconds—an 85% improvement.

Notifications are faster than ever

We completely rebuilt how notifications work under the hood. Instead of computing notifications on every request, Hollo now stores them as they happen. The result? About 24% faster notification loading (down from 2.5s to 1.9s).

On top of that, we've implemented Mastodon's v2 grouped notifications API, which groups similar notifications together server-side. This means less work for your client app and a cleaner notification experience.

Everything loads faster with compression

All API responses are now compressed, reducing their size by 70–92%. Some real numbers: notification responses dropped from 767KB to 58KB, and home timeline responses went from 91KB to 14KB. You'll notice faster load times, especially on slower connections.

Quote notifications

When someone quotes your post, you'll now get a notification about it. And if the original author edits a post you've quoted, you'll be notified too. These are the new quote and quoted_update notification types from Mastodon 4.5.0.

Background import processing

Importing your data (follows, lists, muted/blocked accounts, bookmarks) used to block the entire request until it finished. Now imports run in the background, and you can watch the progress in real-time. Much better for large imports. Thanks to Juyoung Jung for implementing this in #295.

Other improvements

  • Upgraded Fedify to 1.10.0.
  • Instance API responses now include proper thumbnails, actual stats, and correct values for max_featured_tags and max_pinned_statuses. Thanks to Juyoung Jung for this improvement in #296.
  • The notifications API now includes a prev link in pagination headers, which was tracked in #312.
  • Replaced the deprecated fluent-ffmpeg package with direct ffmpeg calls. If video thumbnail generation fails, you'll get a default image instead of an error. Thanks to Peter Jeschke for this fix in #333.

Bug fixes

  • Emelia Smith fixed an issue where POST /api/v1/statuses and PUT /api/v1/statuses/:id were rejecting FormData requests in #171.
  • Fixed log files writing multiple JSON objects on a single line, as reported in #174.
  • Lee ByeongJun fixed POST /api/v1/statuses rejecting null values in optional fields in #179.
  • Juyoung Jung fixed OAuth token endpoint issues with clients that send credentials in both the header and body in #296.
  • Fixed OAuth token endpoint failing to parse requests from clients that don't send a Content-Type header.
  • Peter Jeschke fixed notification endpoints returning 500 errors for unknown notification types in #334.
  • Fixed /api/v2/search not respecting the limit parameter, as reported in #210.

Upgrading

Docker

Pull the latest image and restart your container:

docker pull ghcr.io/fedify-dev/hollo:0.7.0
docker compose up -d

Railway

Go to your Railway dashboard, select your Hollo service, and click Redeploy from the deployments menu.

Manual installation

Pull the latest code and reinstall dependencies:

git pull origin stable
pnpm install
pnpm run prod

Thank you to our contributors

This release wouldn't have been possible without the contributions from our community. A big thank you to Emelia Smith (@thisismissemEmelia 👸🏻), Juyoung Jung (@quadr최치선), Lee ByeongJun (@joonnotnotJoon), and Peter Jeschke (@peter@jeschke.dev) for their pull requests and bug reports. We really appreciate your help in making Hollo better!

2
0
0
1
0
0
0
0
1
0
1

之前不懂喝葡萄酒,只覺得一瓶打開就要全部喝完免得走味。

朋友:那個軟木塞把它塞回去就好啦。
我:蛤根本塞不進去啊?
朋友:轉個方向就可以啦。

那天超驚奇的 :blackcat_2323234:
真的能塞回去。

不懂喝紅酒的人應該都不知道吧 :blackcat_questions:

0
2
0
0