Fedify 2.0.0์„ ๋ฆด๋ฆฌ์Šคํ–ˆ์Šต๋‹ˆ๋‹ค!

Fedify ์—ญ์‚ฌ์ƒ ๊ฐ€์žฅ ํฐ ๋ฆด๋ฆฌ์Šค์ž…๋‹ˆ๋‹ค. ์ฃผ์š” ๋ณ€๊ฒฝ ์‚ฌํ•ญ์„ ์†Œ๊ฐœํ•ฉ๋‹ˆ๋‹ค:

  • ๋ชจ๋“ˆํ˜• ์•„ํ‚คํ…์ฒ˜ โ€” ๊ธฐ์กด์˜ ๋‹จ์ผ @fedify/fedify ํŒจํ‚ค์ง€๋ฅผ @fedify/vocab, @fedify/vocab-runtime, @fedify/vocab-tools, @fedify/webfinger ๋“ฑ ๋…๋ฆฝ์ ์ธ ํŒจํ‚ค์ง€๋“ค๋กœ ๋ถ„๋ฆฌํ–ˆ์Šต๋‹ˆ๋‹ค. ๋ฒˆ๋“ค ํฌ๊ธฐ๊ฐ€ ์ค„์–ด๋“ค๊ณ , ์ž„ํฌํŠธ๊ฐ€ ๊น”๋”ํ•ด์ง€๋ฉฐ, ์ปค์Šคํ…€ ์–ดํœ˜ ํƒ€์ž…์œผ๋กœ ActivityPub์„ ํ™•์žฅํ•  ์ˆ˜๋„ ์žˆ์Šต๋‹ˆ๋‹ค.
  • ์‹ค์‹œ๊ฐ„ ๋””๋ฒ„๊ทธ ๋Œ€์‹œ๋ณด๋“œ โ€” ์ƒˆ๋กœ์šด @fedify/debugger ํŒจํ‚ค์ง€๋กœ /__debug__/ ๊ฒฝ๋กœ์— ๋ผ์ด๋ธŒ ๋Œ€์‹œ๋ณด๋“œ๋ฅผ ๋„์šธ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์—ฐํ•ฉ ํŠธ๋ž˜ํ”ฝ์˜ ํŠธ๋ ˆ์ด์Šค, ์•กํ‹ฐ๋น„ํ‹ฐ ์ƒ์„ธ, ์„œ๋ช… ๊ฒ€์ฆ, ๋กœ๊ทธ๊นŒ์ง€ ํ•œ๋ˆˆ์— ํ™•์ธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๊ธฐ์กด Federation ๊ฐ์ฒด๋ฅผ ๊ฐ์‹ธ๊ธฐ๋งŒ ํ•˜๋ฉด ๋ฉ๋‹ˆ๋‹ค.
  • ActivityPub ๋ฆด๋ ˆ์ด ์ง€์› โ€” @fedify/relay ํŒจํ‚ค์ง€์™€ fedify relay CLI ๋ช…๋ น์–ด๋กœ ๋ฆด๋ ˆ์ด ์„œ๋ฒ„๋ฅผ ๋ฐ”๋กœ ๋„์šธ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. Mastodon ๋ฐฉ์‹๊ณผ LitePub ๋ฐฉ์‹ ๋ชจ๋‘ ์ง€์›ํ•ฉ๋‹ˆ๋‹ค(FEP-ae0c).
  • ์ˆœ์„œ ๋ณด์žฅ ๋ฉ”์‹œ์ง€ ์ „๋‹ฌ โ€” ์ƒˆ๋กœ์šด orderingKey ์˜ต์…˜์œผ๋กœ โ€œ์ข€๋น„ ํฌ์ŠคํŠธโ€ ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•ฉ๋‹ˆ๋‹ค. Delete๊ฐ€ Create๋ณด๋‹ค ๋จผ์ € ๋„์ฐฉํ•˜๋Š” ๋ฌธ์ œ๊ฐ€ ๋” ์ด์ƒ ๋ฐœ์ƒํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ๊ฐ™์€ ํ‚ค๋ฅผ ๊ณต์œ ํ•˜๋Š” ์•กํ‹ฐ๋น„ํ‹ฐ๋Š” FIFO ์ˆœ์„œ๊ฐ€ ๋ณด์žฅ๋ฉ๋‹ˆ๋‹ค.
  • ์˜๊ตฌ ์ „๋‹ฌ ์‹คํŒจ ์ฒ˜๋ฆฌ โ€” setOutboxPermanentFailureHandler()๋กœ ์›๊ฒฉ ์ธ๋ฐ•์Šค๊ฐ€ 404๋‚˜ 410์„ ๋ฐ˜ํ™˜ํ•  ๋•Œ ๋Œ€์‘ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋„๋‹ฌ ๋ถˆ๊ฐ€๋Šฅํ•œ ํŒ”๋กœ์›Œ๋ฅผ ์ •๋ฆฌํ•˜๋Š” ๋“ฑ์˜ ์ฒ˜๋ฆฌ๊ฐ€ ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค.

์ด ์™ธ์—๋„ ๋ฏธ๋“ค์›จ์–ด ์ˆ˜์ค€์˜ ์ฝ˜ํ…์ธ  ํ˜‘์ƒ, @fedify/lint, @fedify/create, CLI ์„ค์ • ํŒŒ์ผ, ๋„ค์ดํ‹ฐ๋ธŒ Node.js/Bun CLI ์ง€์›, ๋‹ค์ˆ˜์˜ ๋ฒ„๊ทธ ์ˆ˜์ • ๋“ฑ์ด ํฌํ•จ๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค.

์ด๋ฒˆ ๋ฆด๋ฆฌ์Šค์—๋Š” ํ•œ๊ตญ OSSCA (์˜คํ”ˆ์†Œ์Šค ์ปจํŠธ๋ฆฌ๋ทฐ์…˜ ์•„์นด๋ฐ๋ฏธ) ์ฐธ๊ฐ€์ž๋ถ„๋“ค์˜ ํฐ ๊ธฐ์—ฌ๊ฐ€ ๋‹ด๊ฒจ ์žˆ์Šต๋‹ˆ๋‹ค. ์ฐธ์—ฌํ•ด ์ฃผ์‹  ๋ชจ๋“  ๋ถ„๊ป˜ ๊ฐ์‚ฌ๋“œ๋ฆฝ๋‹ˆ๋‹ค!

๋ธŒ๋ ˆ์ดํ‚น ์ฒด์ธ์ง€๊ฐ€ ํฌํ•จ๋œ ๋ฉ”์ด์ € ๋ฆด๋ฆฌ์Šค์ž…๋‹ˆ๋‹ค. ์—…๊ทธ๋ ˆ์ด๋“œ ์ „์— ๋งˆ์ด๊ทธ๋ ˆ์ด์…˜ ๊ฐ€์ด๋“œ๋ฅผ ๊ผญ ํ™•์ธํ•ด ์ฃผ์„ธ์š”.

์ „์ฒด ๋ฆด๋ฆฌ์Šค ๋…ธํŠธ: https://github.com/fedify-dev/fedify/discussions/580

github.com

Fedify 2.0.0: Modular architecture, debug dashboard, and relay support ยท fedify-dev/fedify ยท Discussion #580

Fedify is a TypeScript framework for building ActivityPub servers that participate in the fediverse. It reduces the complexity and boilerplate typically required for ActivityPub implementation whil...

4 reactions with ๐ŸŽ‰