@hongminhee@todon.eu
@hongminhee@todon.eu avatar

hongminhee

@hongminhee@todon.eu

An intersectionalist, feminist, and socialist guy living in Seoul (UTC+09:00). Building #Fedify. Write some free software in #Haskell, #Rust, #TypeScript, & #Python. They/them.

I don't accept follow requests from accounts that haven't posted anything. 아무 글도 없는 어카운트한테는 팔로 리퀘스트를 받지 않고 있습니다. 投稿のないアカウントからのフォローリクエストは受け付けません。

#國漢文混用 #한국어 (#朝鮮語) #English #日本語

This profile is from a federated server and may be incomplete. Browse more on the original instance.

hongminhee, to mastodon
@hongminhee@todon.eu avatar

The max_id, since_id, and min_id parameters in 's Timeline API assume that the post ID is a sortable number. (Is this correct?) , the implementation I'm building, uses UUIDs for post IDs internally, so I'm stuck on how to implement a Mastodon-compatible API.

https://docs.joinmastodon.org/methods/timelines/

hongminhee, to fediverse
@hongminhee@todon.eu avatar

I actually started because I was working on a single-user implementation called and felt like I needed some groundwork, and now that I'm somewhat done yak shaving, I'm back to working on Hollo, although I still jump back and forth between Hollo development and Fedify when I think of features I need for Fedify.

hongminhee, to fediverse
@hongminhee@todon.eu avatar

, an server framework, has released version 0.8.0! Here are the highlights of this version:

fedify lookup: a command to look up any ActivityStreams objects (including actors); see also https://todon.eu/@hongminhee/112341925069749583
fedify inbox: a command to spin up an ephemeral ActivityPub server so that you can debug and test the activities you send; see also https://todon.eu/@hongminhee/112354353470490915
• followers collection synchronization mechanism
• improved overall performance
• fixed several bugs

https://github.com/dahlia/fedify/releases/tag/0.8.0

hongminhee, to linux
@hongminhee@todon.eu avatar

I built for . The build succeeds on the first try, but it barely runs.

hongminhee, to node
@hongminhee@todon.eu avatar

's tutorial, which previously assumed you were using , can now be followed using .js and ! (What is Fedify? It's an ActivityPub server framework.)

However, they are written for Fedify 0.8.0, which hasn't been released yet. You can test it with the pre-release version, 0.8.0-dev.164, though.

https://unstable.fedify.dev/tutorial

hongminhee, to typescript
@hongminhee@todon.eu avatar

Should I rewrite in a programming language other than ? 😅

https://todon.eu/@hongminhee/112359155272283786

hongminhee, to fediverse
@hongminhee@todon.eu avatar

I'm working on adding a CLI toolchain to to help with debugging. The first feature I implemented is the ActivityPub object lookup.

Here's a demo.

The demo video on my terminal

hongminhee, to fediverse
@hongminhee@todon.eu avatar

is an server framework in & . It aims to eliminate the complexity and redundant boilerplate code when building a federated server app, so that you can focus on your business logic and user experience.

The key features it provides currently are:

• Type-safe objects for Activity Vocabulary (including some vendor-specific extensions)
client and server
• HTTP Signatures
• Middleware for handling webhooks
protocol

If you're curious, take a look at the Fedify website! There's comprehensive docs, a demo, a tutorial, example code, and more:

https://fedify.dev/

hongminhee, to fediverse
@hongminhee@todon.eu avatar

, an server framework, has released version 0.7.0! Here are the key changes in this version:

• Access control for actors, collections, and more via authorized fetch (i.e., secure mode)
• Generalized object dispatcher
• Logging with for easier debugging

https://github.com/dahlia/fedify/releases/tag/0.7.0

hongminhee, to random
@hongminhee@todon.eu avatar

It appears that I need to implement Mastodon's follower synchronization mechanism… 🤔

https://docs.joinmastodon.org/spec/activitypub/#follower-synchronization-mechanism

hongminhee, to Matrix
@hongminhee@todon.eu avatar

#Fractal, a #Matrix client app for #GNOME, is pleasing to the eye and very convenient to use! Maybe it's because it's written in #Rust but it doesn't crash at all.

https://gitlab.gnome.org/World/fractal

hongminhee, to random Japanese
@hongminhee@todon.eu avatar

日本語で“issue tracker”を「課題トラッカー」と言うのが一般的ですか?

hongminhee, to typescript
@hongminhee@todon.eu avatar

My short yak shaving journey is over. Lacking a decent logging library, so I created and started logging in using it, which should make inbox/outbox debugging easier starting with Fedify 0.7.0. ✌️

https://unstable.fedify.dev/manual/log

hongminhee, to node
@hongminhee@todon.eu avatar

Did you know? supports styling in console.log(), just like browsers.

https://developer.mozilla.org/en-US/docs/Web/API/console#styling_console_output

hongminhee, to fediverse
@hongminhee@todon.eu avatar

Today I'm working on putting authorized fetch (aka secure mode) into . The protocol implementation is complete, it's just a matter of polishing the API and docs. It appears that it will be finalized sometime tomorrow. Authorized fetch will be one of the major improvements in Fedify 0.7.0.

hongminhee, to fediverse
@hongminhee@todon.eu avatar

When an server implements authorized fetch (aka secure mode), how does it associate the keyId in an HTTP request with the actual actor? I know major implementations (like Mastodon) use a fragment appended to the actor IRI as a keyId, but in theory a keyId could be any IRI that seems unrelated to the actor IRI, right? Should I maintain a table of actor–keyIds somewhere in the server?

hongminhee, to fediverse
@hongminhee@todon.eu avatar

This document, edited by @snarfed.org@snarfed.org, is really helpful for implementing in practice.

https://swicg.github.io/activitypub-http-signature/

hongminhee, to fediverse
@hongminhee@todon.eu avatar

Version 0.6.0 of , an server framework, has been released! Here are the major changes:

• The docs website has been migrated from Lume to VitePress, is more beautiful, and is finally searchable with ^K/⌘K!

• To improve interoperability with servers that have authorized fetch turned on, also known as secure mode, Fedify has changed to use the authenticated document loader by default in as many cases as possible.

• New @fedify/fedify/x/hono module to help integrate with the Hono web framework has been introduced.

• Added small fixes to help with debugging activity delivery.

https://fedify.dev/changelog#version-0-6-0

hongminhee, to random
@hongminhee@todon.eu avatar

I've written a guide to integrating with web frameworks in the docs, explaining how to use the built-in and integration middleware, as well as the mechanisms for integrating with other frameworks.

https://unstable.fedify.dev/manual/integration/

hongminhee, to fediverse
@hongminhee@todon.eu avatar

Today 0.5.0 was released, and with this version, it comes support for Node.js and ! It's available on both JSR and npm:

https://jsr.io/@fedify/fedify@0.5.0
https://www.npmjs.com/package/@fedify/fedify/v/0.5.0

hongminhee, to fediverse
@hongminhee@todon.eu avatar

I'm writing a section in the docs on the pragmatic side of the Activity Vocabulary APIs, and I want to list how each API is used and how it is displayed in the major implementations.

https://unstable.fedify.dev/manual/pragmatics/

hongminhee, to node
@hongminhee@todon.eu avatar

A pre-released version of is now available on !

https://www.npmjs.com/package/@fedify/fedify/v/0.5.0-dev.90

hongminhee, to random
@hongminhee@todon.eu avatar

0.4.0 was just released! Here are the highlights of the changes:

• Added a step-by-step tutorial.
• Integration with the Fresh framework has been made much simpler.
• Added authenticated document loaders: within personal inbox listeners, Context.documentLoader is now automatically authenticated.
• Improved the ergonomics of the vocabulary API.

https://github.com/dahlia/fedify/releases/tag/0.4.0

hongminhee, to random
@hongminhee@todon.eu avatar
hongminhee, to fediverse
@hongminhee@todon.eu avatar

finally has a step-by-step tutorial! It's perfectly fine if you're not familiar with the protocol or the runtime. Here's the link for beta readers:

https://unstable.fedify.dev/tutorial/

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