currently i'm searching a place to talk about #activitypub. i have a plan to create my own social media with #activitypub protocol in #golang.
i'm okay with IRC or XMPP, thanks!
Your could talk about it here, if you use the hash-tags #ActivityPub and #FediDev — then other Fediverse developers will see it.
🎉 Huge shoutout to two amazing contributors from Korea's #OSSCA program who've made excellent contributions to #Fedify!
👏 @gaebalgom개발곰 tackled a tricky terminal compatibility issue in PR #282, fixing the
fedify node
command's favicon display on terminal emulators without truecolor support (#168). His solution elegantly detects terminal capabilities and falls back to 256-color mode when needed—ensuring a great experience across different environments.
🌟 @joonnotnotJoon enhanced Fedify's #WebFinger functionality in PR #281 by adding a configurable
maxRedirection
option to the lookupWebFinger()
function (#248). He transformed a hardcoded limitation into a flexible, user-customizable parameter while maintaining perfect backward compatibility.
Both delivered thoughtful, well-implemented solutions that showcase the quality of contributions coming from the OSSCA program. Welcome to the Fedify community!
🎉 Big thanks to @2chanhaeng이찬행 for his first contribution to #Fedify! He implemented the new
fedify webfinger
command in PR #278, which allows isolated #WebFinger lookups for testing configurations. This addresses the need for developers to test WebFinger functionality without performing comprehensive object retrieval.
The contribution includes:
fedify webfinger <handle>
command that accepts @user@domain
format handles or URIsThis was originally filed as issue #260 and marked as a good first issue—perfect for newcomers to learn the codebase structure while contributing meaningful functionality. The PR has been merged and will be included in the upcoming Fedify 1.8.0 release.
We appreciate all first-time contributors who help make Fedify better for the entire #fediverse community. Welcome aboard, ChanHaeng!
Just installed the fedify CLI tool on my Mac. Very useful tool for AP developers and tinkerers alike.
You can ask to to look up an AP object and it returns the response. Cool!
`fedify lookup https://spark.box464.social/pub/actors/spark464`
Excited to share that I've joined #OSSCA (Open Source Software Contribution Academy) as a mentor for the @fedifyFedify: an ActivityPub server framework project!
OSSCA is a national program run by South Korea's NIPA (National IT Industry Promotion Agency) through their Open Source Software Support Center, aimed at fostering the next generation of open source contributors.
We're currently in the process of selecting around 20 mentees who will start contributing to #Fedify once the selection is complete. I've been busy preparing good first issues to help them get started on their open source journey.
Looking forward to working with these new contributors and seeing what amazing things we can build together!
And just finished writing a comprehensive contributor guide for the #OSSCA mentees!
You can check it out here—it's Korean though: https://hackers.pub/@hongminhee/2025/ossca-fedify-contributors-guide.
It covers everything from setting up the #fediverse accounts and development environment to finding good first issues. While it's primarily for the OSSCA participants, anyone interested in contributing to @fedifyFedify: an ActivityPub server framework is welcome to use it as a reference.
Ready to onboard the next wave of #ActivityPub developers!
#Fedify has moved to a monorepo structure with unified versioning across all packages (@fedify/fedify
, @fedify/cli
, database adapters & framework integrations).
All packages now release together, making dependency management much simpler!
I've just deployed the first set of changes to have proper activitypub quotes on bird.makeup, those exemples should (in theory) work on Mastodon 4.4 and others implementations that support those:
https://bird.makeup/users/davidfowl/statuses/1939555328343085175
https://bird.makeup/users/bigtechalert/statuses/1937857604488970603
https://bird.makeup/users/nntaleb/statuses/1937556442103288296
Can you all test and report back? I will fix any incompatibilty with any implementation #fedidev
Excited to share that I've joined #OSSCA (Open Source Software Contribution Academy) as a mentor for the @fedifyFedify: an ActivityPub server framework project!
OSSCA is a national program run by South Korea's NIPA (National IT Industry Promotion Agency) through their Open Source Software Support Center, aimed at fostering the next generation of open source contributors.
We're currently in the process of selecting around 20 mentees who will start contributing to #Fedify once the selection is complete. I've been busy preparing good first issues to help them get started on their open source journey.
Looking forward to working with these new contributors and seeing what amazing things we can build together!
We're pleased to share that Encyclia has joined our success stories.
@encyclia bridges academic research to the #fediverse by making #ORCID researcher profiles and publications discoverable through #ActivityPub—built with #Fedify for seamless interoperability across Mastodon and other fediverse platforms.
This demonstrates Fedify's versatility beyond traditional social networking, helping specialized domains connect to the federated web.
We're also grateful for #Encyclia's sponsorship support, which helps make Fedify's development possible.
Learn more about Encyclia at https://encyclia.pub/. 📚
We are pleased to announce the release of #Fedify 1.7.0. This release was expedited at the request of the Ghost team, who are actively using Fedify for their #ActivityPub implementation. As a result, several features originally planned for this version have been moved to Fedify 1.8.0 to ensure timely delivery of the most critical improvements.
This release focuses on enhancing message queue functionality and improving compatibility with ActivityPub servers through refined HTTP signature handling.
This release introduces support for native retry mechanisms in message queue backends. The new MessageQueue.nativeRetrial
property allows queue implementations to indicate whether they provide built-in retry functionality, enabling Fedify to optimize its retry behavior accordingly.
When nativeRetrial
is set to true
, Fedify will delegate retry handling to the queue backend rather than implementing its own retry logic. This approach reduces overhead and leverages the proven retry mechanisms of established queue systems.
Current implementations with native retry support include:
DenoKvMessageQueue
— utilizes Deno KV's automatic retry with exponential backoffWorkersMessageQueue
— leverages Cloudflare Queues' automatic retry and dead-letter queue featuresAmqpMessageQueue
— can now be configured to use AMQP broker's native retry mechanismsThe InProcessMessageQueue
continues to use Fedify's internal retry mechanism, while ParallelMessageQueue
inherits the retry behavior from its wrapped queue.
Alongside Fedify 1.7.0, we have also released @fedify/amqp 0.3.0. This release adds the nativeRetrial
option to AmqpMessageQueueOptions
, enabling you to leverage your AMQP broker's built-in retry mechanisms. When enabled, this option allows the AMQP broker to handle message retries according to its configured policies, rather than relying on Fedify's internal retry logic.
The new FederationOptions.firstKnock
option provides control over the HTTP Signatures specification used for the initial signature attempt when communicating with previously unknown servers.
Previously, the first knock for newly encountered servers always used RFC 9421 (HTTP Message Signatures), falling back to draft-cavage-http-signatures-12 if needed. With this release, you can now configure which specification to use for the first knock when communicating with unknown servers, with RFC 9421 remaining the default.
This release maintains Fedify's commitment to reliability and compatibility while laying the groundwork for more efficient message processing. The native retry mechanism support will particularly benefit applications using queue backends with sophisticated retry capabilities, while the double-knocking mechanism addresses real-world compatibility challenges in the ActivityPub ecosystem.
For detailed technical information about these changes, please refer to the changelog in the repository.
We're pleased to announce that #Node.js support has been merged and will be available in #BotKit 0.3.0.
Now you can build your #ActivityPub bots with both #Deno and Node.js, giving you more flexibility in choosing your preferred runtime environment.
Stay tuned for BotKit 0.3.0!
👋 Everyone: see what you think:
The Seven Deadly #Fediverse UX Sins Part 2: The Road To Redemption: https://www.timothychambers.net/2025/06/24/the-seven-deadly-fediverse-ux.html
Don't claim that these are final answers - but hope they help continue constructive motion to final answers!
cc: @renchapRenaud Chaput
@dansup
@cheeaunChee Aun 🤔
@scottjenson
@newsmastNewsmast Foundation
@andypiper
@ricmacRichard MacManus
@evanEvan Prodromou
@laurenshof @pfefferle
@fediversenews #fedidev #mastodev
@timbray
Meta Fediverse by Facebook Threads by Instagram with built tracking and WhatsApp ads is live!
https://about.fb.com/news/2025/06/its-now-easier-see-more-fediverse-content-threads #fediverse #meta #fedidev #threads
Le silence du #fediverse.
Quand le protocole #ActivityPub lui même donne une partie d'une conversation au lieu de tous les posts répondant au billet initial.
Réflexion sur comment y remédier:
https://hackers.pub/@hongminhee/2025/quiet-fediverse-two-approaches
By @hongminhee洪 民憙 (Hong Minhee)
#fediverse #fedidev #Mastodon #Pixelfed #conversations #NodeBB #Discourse, #WordPress #Frequency #Mitra #Streams #Lemmy #Piefed
“조용한 연합우주” 문제를 해결하는 두 가지 접근법: 대화 백필링 메커니즘
이 글은 연합우주(fediverse)에서 발생하는 "조용한 연합우주" 문제, 즉 대화의 일부만 보이는 현상의 원인과 해결책을 탐구합니다. ActivityPub 프로토콜의 분산 특성으로 인해 대화가 여러 서버에 분산되어 저장되면서 발생하는 이 문제를 해결하기 위해, 답글 트리 크롤링과 컨텍스트 소유자 기반 방식이라는 두 가지 주요 접근법을 제시합니다. 답글 트리 크롤링은 모든 답글을 순차적으로 가져오는 방식이지만 네트워크 취약성과 작업량 증가의 단점이 있고, 컨텍스트 소유자 방식은 대화의 원 작성자가 대화 내용을 관리하는 중앙화된 접근법이지만 컨텍스트 소유자에 대한 의존성이 높다는 단점이 있습니다. 또한, 모더레이션 패러다임의 충돌과 상위 전파 누락 문제와 같은 논쟁점을 지적하며, 주기적 크롤링, 사용자 트리거, 멘션 기반 백필과 같은 추가적인 백필 메커니즘을 소개합니다. 마지막으로, FEP 수렴 논의와 구현체 간 협력 현황을 통해 향후 개발 방향으로 하이브리드 접근법의 표준화를 제시하며, 다중 전략 구현, 리소스 관리, 모니터링 및 로깅의 모범 사례 가이드라인을 제시합니다. 이 글은 연합우주가 더욱 풍부하고 연결된 소셜 네트워크로 발전하기 위한 노력과 사용자 경험 개선의 중요성을 강조합니다.
hackers.pub · Hackers' Pub
Link author: 洪 民憙 (Hong Minhee)@hongminhee@hackers.pub
洪 民憙 (Hong Minhee) @hongminhee@hackers.pub
이 글은 연합우주(fediverse)에서 발생하는 "조용한 연합우주" 문제, 즉 대화의 일부만 보이는 현상의 원인과 해결책을 탐구합니다. ActivityPub 프로토콜의 분산 특성으로 인해 대화가 여러 서버에 분산되어 저장되면서 발생하는 이 문제를 해결하기 위해, 답글 트리 크롤링과 컨텍스트 소유자 기반 방식이라는 두 가지 주요 접근법을 제시합니다. 답글 트리 크롤링은 모든 답글을 순차적으로 가져오는 방식이지만 네트워크 취약성과 작업량 증가의 단점이 있고, 컨텍스트 소유자 방식은 대화의 원 작성자가 대화 내용을 관리하는 중앙화된 접근법이지만 컨텍스트 소유자에 대한 의존성이 높다는 단점이 있습니다. 또한, 모더레이션 패러다임의 충돌과 상위 전파 누락 문제와 같은 논쟁점을 지적하며, 주기적 크롤링, 사용자 트리거, 멘션 기반 백필과 같은 추가적인 백필 메커니즘을 소개합니다. 마지막으로, FEP 수렴 논의와 구현체 간 협력 현황을 통해 향후 개발 방향으로 하이브리드 접근법의 표준화를 제시하며, 다중 전략 구현, 리소스 관리, 모니터링 및 로깅의 모범 사례 가이드라인을 제시합니다. 이 글은 연합우주가 더욱 풍부하고 연결된 소셜 네트워크로 발전하기 위한 노력과 사용자 경험 개선의 중요성을 강조합니다.
Read more →Fedilab users, vote on #Codeberg for these issues on my quality-of-life fixes wishlist!
Add support for quoted posts: https://codeberg.org/tom79/Fedilab/issues/700
Make server announcements more visible: https://codeberg.org/tom79/Fedilab/issues/865
Implement grouping of boosts in timeline to a similar degree as Mastodon web client: https://codeberg.org/tom79/Fedilab/issues/857
Improve the UX of timeline refreshment: https://codeberg.org/tom79/Fedilab/issues/703#issuecomment-5040264
Support filters in Pleroma (and Akkoma): https://codeberg.org/tom79/Fedilab/issues/555
We're excited to announce the release of #Fedify 1.6.1, which marks the beginning of the 1.6 series following the retraction of version 1.6.0. This release introduces significant new capabilities that expand Fedify's deployment options and enhance security compatibility across the #fediverse.
Fedify 1.6 introduces first-class support for Cloudflare Workers, enabling #serverless deployment of #ActivityPub applications at the edge.
WorkersKvStore
: A key–value store implementation using Cloudflare's KV API for persistent storage in Workers environmentsWorkersMessageQueue
: A message queue implementation leveraging Cloudflare Queues for reliable message processingqueue()
methodFederation.processQueuedTask()
methodFor a complete working example, see the Cloudflare Workers example in the Fedify repository.
Fedify 1.6 introduces the FederationBuilder
class and createFederationBuilder()
function to support deferred federation instantiation. This pattern provides several benefits:
The builder pattern is particularly useful for large applications and environments like Cloudflare Workers where configuration data is only available at runtime.
Fedify 1.6 implements the official HTTP Message Signatures standard (RFC 9421) specification, the final revision of the HTTP Signatures specification.
To ensure maximum compatibility across the fediverse, Fedify 1.6 introduces an intelligent double-knocking mechanism:
This approach ensures seamless communication with both modern and legacy ActivityPub implementations while positioning Fedify at the forefront of security standards.
The RFC 9421 implementation has been thoroughly tested for interoperability with existing ActivityPub implementations that support RFC 9421 signature verification:
These tests confirm that other ActivityPub implementations can successfully verify RFC 9421 signatures generated by Fedify, ensuring proper federation as the ecosystem gradually adopts the official specification. While these implementations currently support verification of RFC 9421 signatures, they do not yet generate RFC 9421 signatures themselves—making Fedify one of the first ActivityPub implementations to support both generation and verification of the modern standard.
The new Context.lookupWebFinger()
method provides direct access to WebFinger data, offering developers more granular control over account discovery and resource resolution beyond the higher-level Context.lookupObject()
method.
The new Context.clone()
method enables dynamic context data replacement, providing greater flexibility in request processing and data flow management. This is particularly useful for middleware implementations and complex request routing scenarios.
Fedify 1.6 maintains full backward compatibility with existing applications. The new HTTP Message Signatures and double-knocking mechanisms work transparently without requiring any code changes.
Important: Fedify 1.6 requires Node.js 22.0.0 or later for Node.js environments. This change does not affect applications using Deno or Bun runtimes. If you're currently using Node.js, please ensure your environment meets this requirement before upgrading.
For new deployments, consider leveraging Cloudflare Workers support for:
Fedify 1.6 represents a significant expansion of deployment possibilities while maintaining the framework's commitment to broad compatibility across the fediverse. The addition of Cloudflare Workers support opens new architectural patterns for federated applications, while the RFC 9421 implementation ensures Fedify stays current with emerging ActivityPub security standards.
For detailed migration guides, API documentation, and examples, please visit the Fedify documentation. Join our community on Matrix or Discord for support and discussions.
#fedidev #RFC9421 #HTTPSignatures #HTTPMessageSignatures #CloudflareWorkers
Did you know? #Fedify provides #documentation optimized for LLMs through the llms.txt standard.
Available endpoints:
Useful for training #AI assistants on #ActivityPub/#fediverse development, building documentation chatbots, or #LLM-powered dev tools.
#Fedify 1.6 is approaching with three major enhancements: RFC 9421 HTTP Message Signatures support with double-knocking for seamless backward compatibility, a new builder pattern for better code organization in large applications, and native #Cloudflare #Workers support for serverless deployments. These additions strengthen Fedify's standards compliance while expanding deployment flexibility across different environments. Stay tuned for the official release! 🚀
#ActivityPub #fedidev #fediverse #RFC9421 #CloudflareWorkers
Good news! We've officially added #Cloudflare #Workers support to the #Fedify roadmap. We've created a detailed issue to track our implementation plan: https://github.com/fedify-dev/fedify/issues/233.
The effort will be tackled in phases, including compatibility assessment, core adaptations for Workers' environment, KV store and message queue implementations, and finally integration with Cloudflare's ecosystem. This will be a substantial project that we'll break down into several sub-issues.
If you're interested in contributing to any specific aspect of Workers support, please comment on the main issue to coordinate efforts.
🎉 #Cloudflare #Workers support is now complete! After implementing the test infrastructure, core module, examples, and comprehensive documentation, #Fedify can now run on Cloudflare Workers.
What's included:
@fedify/fedify/x/cfworkers
module with WorkersKvStore
and WorkersMessageQueue
Try it now: Available in the development release v1.6.1-dev.876+7b07d213:
This will be included in the upcoming Fedify 1.6 stable release. Thank you to everyone who requested this feature and provided feedback throughout the implementation!
I deployed my first #Fedify application on Cloudflare Workers and saw it running smoothly. Now all that's left is the documentation!
If you're interested in building your own #ActivityPub server but don't know where to start, I recommend checking out #Fedify's #tutorial Creating your own federated microblog. It provides a comprehensive, step-by-step guide that walks you through building a fully functional federated application. Perfect for developers who want to dive into the #fediverse!
This is how I am thinking about pointing to the GreatApe WebSocket API in the activity file.
The GreatApe WebSocket API — ActivitySocket ? — is sending ActivityPub activities over a WebSocket, along with some other stuff (such a queries, and commands).
Right now, I am using the "endpoints" field with the sub-field "inoutbox" to point to the WebSockets API end-point.
RE: https://mastodon.social/@reiver/114590677447681643
#ActivitySocket #GreatApe #Fediverse #FediDev #FediDevs #DeSo #FeSo #LoSo
1/
GreatApe is a conferencing platform for the Fediverse and the Social Web — where an audience can listen & watch live, and can be invited to join the speakers on the stage.
GreatApe makes use of a WebSocket for communications.
I am working on turning the WebSocket API that @muhammadzaidali and
@benyamin0Ben created into something more ActivityPub / ActivityStreams like.
Interestingly —
RE: https://mastodon.social/@reiver/114585707207505158
#ActivitySocket #GreatApe #Fediverse #FediDev #FediDevs #DeSo #FeSo #LoSo
2/
One thing that is interesting about the GreatApe WebSocket API is that —
Because the WebSocket can be both read from and written to — the WebSocket is in a sense both an ActivityPub outbox and an ActivityPub inbox at the same time.
RE: https://mastodon.social/@reiver/114585707207505158
#ActivitySocket #GreatApe #Fediverse #FediDev #FediDevs #DeSo #FeSo #LoSo
1/
GreatApe is a conferencing platform for the Fediverse and the Social Web — where an audience can listen & watch live, and can be invited to join the speakers on the stage.
GreatApe makes use of a WebSocket for communications.
I am working on turning the WebSocket API that @muhammadzaidali and
@benyamin0Ben created into something more ActivityPub / ActivityStreams like.
Interestingly —
RE: https://mastodon.social/@reiver/114585707207505158
#ActivitySocket #GreatApe #Fediverse #FediDev #FediDevs #DeSo #FeSo #LoSo
We're planning to reorganize our #GitHub labels to better reflect #Fedify's project structure! 🏷️
Currently using GitHub's default labels, but we want something more tailored to our needs—like component-specific labels (vocab, federation, actor, etc.), runtime tags (Deno/Node/Bun), and #ActivityPub compatibility tracking.
The proposal includes hierarchical labeling with categories like:
type/
for bug, feature, documentationcomponent/
for different parts of Fedifyactivitypub/
for interop issues with Mastodon, Misskey, etc.We'd love your thoughts! What labels would be most helpful for contributors and maintainers?
Check out the full proposal: https://github.com/fedify-dev/fedify/issues/238.
While #Fedify's #Vocabulary API provides comprehensive support for #ActivityPub and major vendor extensions, its code-generation approach makes runtime extensions challenging. However, the project welcomes contributions to expand the supported types and properties.
Fedify accepts vocabulary contributions when they meet any of these criteria:
Contributing new vocabulary is straightforward. The vocabulary definitions live in YAML files within the fedify/vocab/ directory. To add a new type, create a new .yaml file. To add properties to existing types, extend the properties
section in the relevant .yaml file.
This approach ensures Fedify's vocabulary coverage grows with the fediverse ecosystem while maintaining type safety and comprehensive documentation. If you're working with custom ActivityPub extensions, consider contributing them upstream to benefit the entire community.
For detailed guidance on the contribution process, see the Extending the vocabulary section in Fedify's docs.
Link rot kept biting me on big sites, so I built Broken-Links Scanner.
Highlight any part of a page, hit scan, and it checks just those links. Free, no tracking.
Chrome Web Store → https://chromewebstore.google.com/detail/broken-links-scanner/jcfgjohakfnckffjncgfmoldibhbmofm
More info → https://linkscan.app/ · dev log → https://koval.dev/blog/broken-links-scanner/
Give it a spin and let me know what you find.
#WebDev #LinkChecker #BrowserExtension #OpenSource #FediDev #ContentOps #Accessibility #astrojs #seo
Had a wonderful time today at our second FediDev KR #sprint (@sprints.fedidev.kr한국 페디버스 개발자 모임) gathering at Turing's Apple (
@TuringAppleDev튜링의 사과) in #Seoul!
We spent the day contributing to various #fediverse open source projects including @fedifyFedify: an ActivityPub server framework,
@holloHollo
, and Hackers' Pub. It was fantastic to see the community come together to build and improve tools for the decentralized social web.
Our participants made some great contributions, and you can read all about what we accomplished in today's blog post.
Looking forward to our next sprint!
GreatApe, a federated live audio platform, is hosting an event right now! Give it a go, help test it out.
Exciting update 👉 We're inviting a handful of select users to https://Channel.org now 🎉
https://Channel.org aims to bring together knowledge across the open social web, whilst offering organisations the ability to build a social home instead of renting from Big Tech dictators.
If you'd like to join the beta waitlist, let us know at support@channel.org
#SocialWeb #Release #FediDev #Fediverse #SocialMedia #Mastodon #Channelorg #Newsmast
I've been thinking about adding a debug dashboard to #Fedify that shows all #ActivityPub activities being sent and received in real-time. This would include filters by activity type, detailed inspection of JSON-LD content, signature verification details, and retry management for failed deliveries.
As a #fedidev, would you find this useful for troubleshooting federation issues? Any other features that would be helpful in such a debugging tool?
PieFed adds PassKeys! As in, log in only with your passkey. Not just as a 2FA addition to your username/password.
Hunter has just received its first sponsor!
This is a meaningful milestone that helps us keep building with independence and community values at the core.
Try it live: https://devhunter.cv
How hard would it be for a fediverse app to give me a daily or weekly notification about each of my saved drafts? So I can start a reply, decide it needs more thought, save it, and get reminded of it.
Bonus points for being able to schedule a reminder notification for each saved post. A day for this one, a week for this one, and so on.
I've been thinking about client-server interactions in the #fediverse. #ActivityPub #C2S isn't widely used, and most clients rely on Mastodon-compatible APIs instead.
What if we created a new standardized API based on GraphQL + Relay for client-server communication, while keeping ActivityPub for server-to-server federation?
The Mastodon-compatible API lacks formal schema definitions for code generation and type checking, which hurts developer productivity. And ActivityPub C2S is honestly too cumbersome to use directly from client apps.
#GraphQL would give us type safety, efficient data fetching (only get what you need), and the ability to evolve the API without breaking clients. #Relay's features for pagination, caching, and optimistic updates seem perfect for social apps.
Would this be valuable to our community? What challenges do you see? How might we handle backward compatibility? And should this be formalized as an FEP?
Curious what others think about this approach.
Looking for #ActivityPub implementations with #RFC9421 support! 🔍
As mentioned in the Fedify announcement below, I've implemented RFC 9421 (HTTP Message Signatures) and need to verify its interoperability with other ActivityPub implementations.
The challenge is that most major ActivityPub projects don't seem to have full RFC 9421 implementations in production yet. If you're working on an ActivityPub project that:
Please reach out! I'd love to collaborate on interoperability testing to ensure our implementations work properly with each other before merging this into #Fedify's main branch.
Any leads or connections would be greatly appreciated! 🙏
Okay, I've just deployed a bleeding edge #Fedify, which implements both RFC 9421 and double-knocking, to Hackers' Pub. If you'd like to test your implementations against a real server, please give it a try! (If you want to create an account, let me know—I can invite you.)
Looking for #ActivityPub implementations with #RFC9421 support! 🔍
As mentioned in the Fedify announcement below, I've implemented RFC 9421 (HTTP Message Signatures) and need to verify its interoperability with other ActivityPub implementations.
The challenge is that most major ActivityPub projects don't seem to have full RFC 9421 implementations in production yet. If you're working on an ActivityPub project that:
Please reach out! I'd love to collaborate on interoperability testing to ensure our implementations work properly with each other before merging this into #Fedify's main branch.
Any leads or connections would be greatly appreciated! 🙏
We're excited to announce that we've implemented RFC 9421 (HTTP Message Signatures) in #Fedify, complete with our double-knocking mechanism to maintain backward compatibility with the draft cavage version.
This implementation includes both signature generation and verification, meaning #RFC9421 is used when both sending and receiving activities. While we haven't merged the RFC 9421 implementation branch yet, we're currently conducting interoperability tests with development versions of Mastodon and other #ActivityPub implementations. Once these tests confirm compatibility, we'll proceed with the merge.
As noted in the attached docs, although RFC 9421 is the final and official standard for HTTP Signatures, the draft cavage version remains widely used across the #fediverse. Our double-knocking mechanism ensures maximum compatibility by trying the RFC 9421 version first, then falling back to draft cavage if needed.
Currently, we support RSA-PKCS#1-v1.5 key pairs for generating HTTP Message Signatures, with plans to expand to other signature types in future releases.
We look forward to contributing to a more standardized and secure fediverse!
3/
I think you could address this 'want' (for community feeds) by using relays.
A relay could represent a community.
And could selectively relay posts from specific users (across the Fediverse) that are part of that community.
#ActorTypeFeed #CustomFeeds #DeSo #FediDev #FediDevs #FediUX #Fediverse #FediverseCustomFeeds #FediverseFeeds #FediverseUX
4/
This relay could even use the ActivityPub actor type "Feed".
#ActorTypeFeed #CustomFeeds #DeSo #FediDev #FediDevs #FediUX #Fediverse #FediverseCustomFeeds #FediverseFeeds #FediverseUX
2/
I remember some people years ago saying that — they wanted to "subscribe" to the "server live feeds" on community servers different from the one that they are on
This is a way of following & perhaps even joining a community without necessarily being on that server
Which for example is useful if you wanted to be part of more than one community but use the same account
#ActorTypeFeed #CustomFeeds #DeSo #FediDev #FediDevs #FediUX #Fediverse #FediverseCustomFeeds #FediverseFeeds #FediverseUX
3/
I think you could address this 'want' (for community feeds) by using relays.
A relay could represent a community.
And could selectively relay posts from specific users (across the Fediverse) that are part of that community.
#ActorTypeFeed #CustomFeeds #DeSo #FediDev #FediDevs #FediUX #Fediverse #FediverseCustomFeeds #FediverseFeeds #FediverseUX
1/
Some servers on the Fediverse represent a community.
Maybe a community of bird photographers, or a cognitive science community, or a community of open-source software developers, etc.
...
#ActorTypeFeed #CustomFeeds #DeSo #FediDev #FediDevs #FediUX #Fediverse #FediverseCustomFeeds #FediverseFeeds #FediverseUX
2/
I remember some people years ago saying that — they wanted to "subscribe" to the "server live feeds" on community servers different from the one that they are on
This is a way of following & perhaps even joining a community without necessarily being on that server
Which for example is useful if you wanted to be part of more than one community but use the same account
#ActorTypeFeed #CustomFeeds #DeSo #FediDev #FediDevs #FediUX #Fediverse #FediverseCustomFeeds #FediverseFeeds #FediverseUX
1/
Some servers on the Fediverse represent a community.
Maybe a community of bird photographers, or a cognitive science community, or a community of open-source software developers, etc.
...
#ActorTypeFeed #CustomFeeds #DeSo #FediDev #FediDevs #FediUX #Fediverse #FediverseCustomFeeds #FediverseFeeds #FediverseUX
Great news for the wafrn app !!
As a culmination of the big journey of the past weeks, the Wafrn App is now listed in the official @unifiedpush documentation as one of the apps that support UnifiedPush
Check it at https://unifiedpush.org/users/apps/
Doing some fediverse research and discovered that @tkithrta黒ヰ樹 is attempting to "implement #ActivityPub using 16 different web frameworks" in a project called #StrawberryFields
https://gitlab.com/acefed #fediverse #fedidev
After reviewing FEP-5624: Per-object reply control policies and GoToSocial's interaction policy spec, I find myself leaning toward the latter for long-term considerations, though both have merit.
FEP-5624 is admirably focused and simpler to implement, which I appreciate. However, #GoToSocial's approach seems to offer some architectural advantages:
I wonder if creating an #FEP that extracts GoToSocial's interaction policy design into a standalone standard might be worthwhile. It could potentially serve as a more comprehensive foundation for access control in #ActivityPub.
This is merely my initial impression though. I'd be curious to hear other developers' perspectives on these approaches.
#FEP5624 #fedidev #fediverse #replycontrol #interactionpolicy
So… I did a thing: https://github.com/juandjara/expo-unified-push
This library will help everybody developing React Native apps to use the Unified Push Android library, so they can have native notifications without depending on Google and Firebase systems.
Next step, integrating it into wafrn
Hey fedi devss! (Hints & boosts appreciated)
Mastodon API question — which instance/server API says where the URL redirects when there is no signed in user?
For example:
1. https://social.ayco.io goes to my profile; but
2. https://fosstodon.org goes to the explore tab
I am looking for the info via REST API
I'm exploring a new idea called FediOTP (codename): an authentication system that uses #ActivityPub DMs to deliver one-time passwords, allowing any #fediverse account to authenticate with web services. Unlike current solutions that rely on specific APIs (#Mastodon, #Misskey), this would work with any ActivityPub-compatible server, increasing interoperability across the fediverse. Would love to hear your thoughts on potential challenges or use cases for this approach.
For those skeptical of DMs in #ActivityPub: I'm also considering an alternative verification approach using ActivityPub's Question
feature. Instead of sending numeric codes, the system could send a poll with several emoji options, and the user would select the one that matches what's displayed on their login screen. This visual authentication method might offer better security against certain automated attacks while still leveraging federation rather than platform-specific APIs. Would this approach address some of the privacy concerns around DM-based verification?
I'm exploring a new idea called FediOTP (codename): an authentication system that uses #ActivityPub DMs to deliver one-time passwords, allowing any #fediverse account to authenticate with web services. Unlike current solutions that rely on specific APIs (#Mastodon, #Misskey), this would work with any ActivityPub-compatible server, increasing interoperability across the fediverse. Would love to hear your thoughts on potential challenges or use cases for this approach.