shakedown.social is one of the many independent Mastodon servers you can use to participate in the fediverse.
A community for live music fans with roots in the jam scene. Shakedown Social is run by a team of volunteers (led by @clifff and @sethadam1) and funded by donations.

Administered by:

Server stats:

267
active users

#fedify

3 posts2 participants0 posts today
fedicat<p><span class="h-card" translate="no"><a href="https://macaw.social/@andypiper" class="u-url mention" rel="nofollow noopener" target="_blank">@<span>andypiper</span></a></span> I'm not a server-side person, so there's really not much there - I started with the <a href="https://pc.cafe/tags/fedify" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>fedify</span></a> tutorial, enough to create one account, and an instance with a nodeinfo, added the mastodon api instance info that's in the screenshot, and web pages that display links and a resume from hardcoded data and embedded static json. I'm just dabbling, but I'd like to see a fediverse portfolio/resume site, like linkedin but not linkedin.</p>
fedicat<p>my very single-user instance built with <a href="https://pc.cafe/tags/Fedify" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>Fedify</span></a></p>
Fedify: an ActivityPub server framework<p>🎉 Huge shoutout to two amazing contributors from Korea's <a class="mention hashtag" rel="nofollow noopener" href="https://hollo.social/tags/OSSCA" target="_blank">#<span>OSSCA</span></a> program who've made excellent contributions to <a class="mention hashtag" rel="nofollow noopener" href="https://hollo.social/tags/Fedify" target="_blank">#<span>Fedify</span></a>!</p><p>👏 <a translate="no" class="h-card u-url mention" href="https://yuri.garden/@gaebalgom" rel="nofollow noopener" target="_blank">@<span>gaebalgom</span></a> tackled a tricky terminal compatibility issue in <a href="https://github.com/fedify-dev/fedify/pull/282" rel="nofollow noopener" target="_blank">PR #282</a>, fixing the <code>fedify node</code> command's favicon display on terminal emulators without truecolor support (<a href="https://github.com/fedify-dev/fedify/issues/168" rel="nofollow noopener" target="_blank">#168</a>). His solution elegantly detects terminal capabilities and falls back to 256-color mode when needed—ensuring a great experience across different environments.</p><p>🌟 <a translate="no" class="h-card u-url mention" href="https://hackers.pub/@joonnot" rel="nofollow noopener" target="_blank">@<span>joonnot</span></a> enhanced Fedify's <a class="mention hashtag" rel="nofollow noopener" href="https://hollo.social/tags/WebFinger" target="_blank">#<span>WebFinger</span></a> functionality in <a href="https://github.com/fedify-dev/fedify/pull/281" rel="nofollow noopener" target="_blank">PR #281</a> by adding a configurable <code>maxRedirection</code> option to the <code>lookupWebFinger()</code> function (<a href="https://github.com/fedify-dev/fedify/issues/248" rel="nofollow noopener" target="_blank">#248</a>). He transformed a hardcoded limitation into a flexible, user-customizable parameter while maintaining perfect backward compatibility.</p><p>Both delivered thoughtful, well-implemented solutions that showcase the quality of contributions coming from the OSSCA program. Welcome to the Fedify community! :fedify:</p><p><a class="mention hashtag" rel="nofollow noopener" href="https://hollo.social/tags/ActivityPub" target="_blank">#<span>ActivityPub</span></a> <a class="mention hashtag" rel="nofollow noopener" href="https://hollo.social/tags/opensource" target="_blank">#<span>opensource</span></a> <a class="mention hashtag" rel="nofollow noopener" href="https://hollo.social/tags/fedidev" target="_blank">#<span>fedidev</span></a></p>
Fedify: an ActivityPub server framework<p>🎉 Big thanks to <a translate="no" class="h-card u-url mention" href="https://hackers.pub/@2chanhaeng" rel="nofollow noopener" target="_blank">@<span>2chanhaeng</span></a> for his first contribution to <a class="mention hashtag" rel="nofollow noopener" href="https://hollo.social/tags/Fedify" target="_blank">#<span>Fedify</span></a>! He implemented the new <a href="https://unstable.fedify.dev/cli#fedify-webfinger-looking-up-a-webfinger-resource" rel="nofollow noopener" target="_blank"><code>fedify webfinger</code></a> command in <a href="https://github.com/fedify-dev/fedify/pull/278" rel="nofollow noopener" target="_blank">PR #278</a>, which allows isolated <a class="mention hashtag" rel="nofollow noopener" href="https://hollo.social/tags/WebFinger" target="_blank">#<span>WebFinger</span></a> lookups for testing configurations. This addresses the need for developers to test WebFinger functionality without performing comprehensive object retrieval.</p><p>The contribution includes:</p><ul> <li>A new <code>fedify webfinger &lt;handle&gt;</code> command that accepts <code>@user@domain</code> format handles or URIs</li><li>Clean JSON output of WebFinger JRD results</li><li>Proper error handling for invalid handles and lookup failures</li><li>Complete <a class="mention hashtag" rel="nofollow noopener" href="https://hollo.social/tags/CLI" target="_blank">#<span>CLI</span></a> integration with help text and usage examples</li> </ul><p>This was originally filed as <a href="https://github.com/fedify-dev/fedify/issues/260" rel="nofollow noopener" target="_blank">issue #260</a> and marked as a <a href="https://github.com/fedify-dev/fedify/issues?q=sort%3Aupdated-desc+state%3Aopen+label%3A%22good+first+issue%22" rel="nofollow noopener" target="_blank">good first issue</a>—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.</p><p>We appreciate all first-time contributors who help make Fedify better for the entire <a class="mention hashtag" rel="nofollow noopener" href="https://hollo.social/tags/fediverse" target="_blank">#<span>fediverse</span></a> community. Welcome aboard, ChanHaeng!</p><p><a class="mention hashtag" rel="nofollow noopener" href="https://hollo.social/tags/opensource" target="_blank">#<span>opensource</span></a> <a class="mention hashtag" rel="nofollow noopener" href="https://hollo.social/tags/fedidev" target="_blank">#<span>fedidev</span></a></p>
洪 民憙 (Hong Minhee)<p>OSC京都2025でどちらの発表を聞きたいですか?</p><p>8月3日のOSC京都で10分間のセミナー発表をすることになりました。二つのテーマで迷っているので、皆さんのご意見をお聞かせください!</p><p>どちらのテーマに興味がありますか?</p><p><a class="mention hashtag" rel="nofollow noopener" href="https://hollo.social/tags/OSC2025" target="_blank">#<span>OSC2025</span></a> <a class="mention hashtag" rel="nofollow noopener" href="https://hollo.social/tags/ActivityPub" target="_blank">#<span>ActivityPub</span></a> <a class="mention hashtag" rel="nofollow noopener" href="https://hollo.social/tags/Fedify" target="_blank">#<span>Fedify</span></a> <a class="mention hashtag" rel="nofollow noopener" href="https://hollo.social/tags/BotKit" target="_blank">#<span>BotKit</span></a> <a class="mention hashtag" rel="nofollow noopener" href="https://hollo.social/tags/fediverse" target="_blank">#<span>fediverse</span></a></p>
Fedify: an ActivityPub server framework<p><a class="mention hashtag" rel="nofollow noopener" href="https://hollo.social/tags/Fedify" target="_blank">#<span>Fedify</span></a> has moved to a monorepo structure with unified versioning across all packages (<code>@fedify/fedify</code>, <code>@fedify/cli</code>, database adapters &amp; framework integrations).</p><p>All packages now release together, making dependency management much simpler!</p><p><a class="mention hashtag" rel="nofollow noopener" href="https://hollo.social/tags/ActivityPub" target="_blank">#<span>ActivityPub</span></a> <a class="mention hashtag" rel="nofollow noopener" href="https://hollo.social/tags/fedidev" target="_blank">#<span>fedidev</span></a></p>
洪 民憙 (Hong Minhee)<p>Excited to share that I've joined <a class="mention hashtag" rel="nofollow noopener" href="https://hollo.social/tags/OSSCA" target="_blank">#<span>OSSCA</span></a> (Open Source Software Contribution Academy) as a mentor for the <a translate="no" class="h-card u-url mention" href="https://hollo.social/@fedify" rel="nofollow noopener" target="_blank">@<span>fedify</span></a> project!</p><p>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.</p><p>We're currently in the process of selecting around 20 mentees who will start contributing to <a class="mention hashtag" rel="nofollow noopener" href="https://hollo.social/tags/Fedify" target="_blank">#<span>Fedify</span></a> once the selection is complete. I've been busy preparing good first issues to help them get started on their open source journey.</p><p>Looking forward to working with these new contributors and seeing what amazing things we can build together!</p><p><a class="mention hashtag" rel="nofollow noopener" href="https://hollo.social/tags/opensource" target="_blank">#<span>opensource</span></a> <a class="mention hashtag" rel="nofollow noopener" href="https://hollo.social/tags/mentoring" target="_blank">#<span>mentoring</span></a> <a class="mention hashtag" rel="nofollow noopener" href="https://hollo.social/tags/ActivityPub" target="_blank">#<span>ActivityPub</span></a> <a class="mention hashtag" rel="nofollow noopener" href="https://hollo.social/tags/fedidev" target="_blank">#<span>fedidev</span></a></p>
Fedify: an ActivityPub server framework<p>We're pleased to share that <a href="https://fedify.dev/why#encyclia-bridging-academic-research-to-the-fediverse" rel="nofollow noopener" target="_blank">Encyclia has joined our success stories.</a></p><p><a translate="no" class="h-card u-url mention" href="https://fietkau.social/@encyclia" rel="nofollow noopener" target="_blank">@<span>encyclia</span></a> bridges academic research to the <a class="mention hashtag" rel="nofollow noopener" href="https://hollo.social/tags/fediverse" target="_blank">#<span>fediverse</span></a> by making <a class="mention hashtag" rel="nofollow noopener" href="https://hollo.social/tags/ORCID" target="_blank">#<span>ORCID</span></a> researcher profiles and publications discoverable through <a class="mention hashtag" rel="nofollow noopener" href="https://hollo.social/tags/ActivityPub" target="_blank">#<span>ActivityPub</span></a>—built with <a class="mention hashtag" rel="nofollow noopener" href="https://hollo.social/tags/Fedify" target="_blank">#<span>Fedify</span></a> for seamless interoperability across Mastodon and other fediverse platforms.</p><p>This demonstrates Fedify's versatility beyond traditional social networking, helping specialized domains connect to the federated web.</p><p>We're also grateful for <a class="mention hashtag" rel="nofollow noopener" href="https://hollo.social/tags/Encyclia" target="_blank">#<span>Encyclia</span></a>'s sponsorship support, which helps make Fedify's development possible.</p><p>Learn more about Encyclia at <a href="https://encyclia.pub/" rel="nofollow noopener" target="_blank">https://encyclia.pub/</a>. 📚</p><p><a class="mention hashtag" rel="nofollow noopener" href="https://hollo.social/tags/fedidev" target="_blank">#<span>fedidev</span></a> <a class="mention hashtag" rel="nofollow noopener" href="https://hollo.social/tags/openscience" target="_blank">#<span>openscience</span></a></p>
Fedify: an ActivityPub server framework<p>We are pleased to announce the release of <a class="mention hashtag" rel="nofollow noopener" href="https://hollo.social/tags/Fedify" target="_blank">#<span>Fedify</span></a> 1.7.0. This release was expedited at the request of the Ghost team, who are actively using Fedify for their <a class="mention hashtag" rel="nofollow noopener" href="https://hollo.social/tags/ActivityPub" target="_blank">#<span>ActivityPub</span></a> 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.</p><p>This release focuses on enhancing message queue functionality and improving compatibility with ActivityPub servers through refined HTTP signature handling.</p><p><strong>Native retry mechanism support</strong></p><p>This release introduces support for native retry mechanisms in message queue backends. The new <a href="https://fedify.dev/manual/mq#native-retry-mechanisms" rel="nofollow noopener" target="_blank"><code>MessageQueue.nativeRetrial</code></a> property allows queue implementations to indicate whether they provide built-in retry functionality, enabling Fedify to optimize its retry behavior accordingly.</p><p>When <code>nativeRetrial</code> is set to <code>true</code>, 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.</p><p>Current implementations with native retry support include:</p><ul> <li><a href="https://fedify.dev/manual/mq#denokvmessagequeue-deno-only" rel="nofollow noopener" target="_blank"><code>DenoKvMessageQueue</code></a> — utilizes Deno KV's automatic retry with exponential backoff</li><li><a href="https://fedify.dev/manual/mq#workersmessagequeue-cloudflare-workers-only" rel="nofollow noopener" target="_blank"><code>WorkersMessageQueue</code></a> — leverages Cloudflare Queues' automatic retry and dead-letter queue features</li><li><a href="https://fedify.dev/manual/mq#amqpmessagequeue" rel="nofollow noopener" target="_blank"><code>AmqpMessageQueue</code></a> — can now be configured to use AMQP broker's native retry mechanisms</li> </ul><p>The <a href="https://fedify.dev/manual/mq#inprocessmessagequeue" rel="nofollow noopener" target="_blank"><code>InProcessMessageQueue</code></a> continues to use Fedify's internal retry mechanism, while <a href="https://fedify.dev/manual/mq#parallel-message-processing" rel="nofollow noopener" target="_blank"><code>ParallelMessageQueue</code></a> inherits the retry behavior from its wrapped queue.</p><p><strong>AMQP message queue improvements</strong></p><p>Alongside Fedify 1.7.0, we have also released <a href="https://github.com/fedify-dev/amqp" rel="nofollow noopener" target="_blank">@fedify/amqp</a> 0.3.0. This release adds the <code>nativeRetrial</code> option to <code>AmqpMessageQueueOptions</code>, 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.</p><p><strong>Configurable double-knocking</strong></p><p>The new <a href="https://fedify.dev/manual/federation#firstknock" rel="nofollow noopener" target="_blank"><code>FederationOptions.firstKnock</code></a> option provides control over the HTTP Signatures specification used for the initial signature attempt when communicating with previously unknown servers.</p><p>Previously, the first knock for newly encountered servers always used <a href="https://datatracker.ietf.org/doc/html/rfc9421" rel="nofollow noopener" target="_blank">RFC 9421</a> (HTTP Message Signatures), falling back to <a href="https://datatracker.ietf.org/doc/html/draft-cavage-http-signatures-12" rel="nofollow noopener" target="_blank">draft-cavage-http-signatures-12</a> 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.</p><p><strong>Summary</strong></p><p>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.</p><p>For detailed technical information about these changes, please refer to the <a href="https://github.com/fedify-dev/fedify/blob/1.7.0/CHANGES.md#version-170" rel="nofollow noopener" target="_blank">changelog</a> in the repository.</p><p><a class="mention hashtag" rel="nofollow noopener" href="https://hollo.social/tags/fedidev" target="_blank">#<span>fedidev</span></a> <a class="mention hashtag" rel="nofollow noopener" href="https://hollo.social/tags/fediverse" target="_blank">#<span>fediverse</span></a></p>

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.

🌐 Cloudflare Workers support

Fedify 1.6 introduces first-class support for Cloudflare Workers, enabling #serverless deployment of #ActivityPub applications at the edge.

New components

Key features

  • Seamless integration with #Cloudflare's serverless runtime
  • Automatic handling of queue message processing through Workers' queue() method
  • Support for Node.js compatibility flag required for Fedify's cryptographic operations
  • Manual queue processing via Federation.processQueuedTask() method

For a complete working example, see the Cloudflare Workers example in the Fedify repository.

🏗️ Federation builder pattern

Fedify 1.6 introduces the FederationBuilder class and createFederationBuilder() function to support deferred federation instantiation. This pattern provides several benefits:

  • Deferred instantiation: Set up dispatchers and listeners before creating the federation object
  • Better code organization: Avoid circular dependencies and improve project structure
  • Cloudflare #Workers compatibility: Accommodates binding-based architectures where resources are passed as arguments rather than globals
  • Modular setup: Build complex federations piece by piece before instantiation

The builder pattern is particularly useful for large applications and environments like Cloudflare Workers where configuration data is only available at runtime.

🔐 HTTP Message Signatures (RFC 9421)

Fedify 1.6 implements the official HTTP Message Signatures standard (RFC 9421) specification, the final revision of the HTTP Signatures specification.

Double-knocking mechanism

To ensure maximum compatibility across the fediverse, Fedify 1.6 introduces an intelligent double-knocking mechanism:

  1. Primary attempt: RFC 9421 (HTTP Message Signatures) for modern implementations
  2. Fallback: Draft cavage version for legacy compatibility
  3. Adaptive caching: The system remembers which version each server supports to optimize future requests

This approach ensures seamless communication with both modern and legacy ActivityPub implementations while positioning Fedify at the forefront of security standards.

Interoperability testing

The RFC 9421 implementation has been thoroughly tested for interoperability with existing ActivityPub implementations that support RFC 9421 signature verification:

  • Mitra 4.4.0: Successfully verified Fedify-generated RFC 9421 signatures
  • Mastodon 4.4.0 development version: Tested RFC 9421 signature verification against Fedify's implementation (refer to Mastodon PR #34814, though Mastodon 4.4.0 has not yet been released)

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.

🔍 WebFinger enhancements

Dedicated WebFinger lookup

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.

🛠 Context API improvements

Context data replacement

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.

🚀 Migration considerations

Backward compatibility

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.

Node.js version requirement

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.

New deployment options

For new deployments, consider leveraging Cloudflare Workers support for:

  • Global edge deployment with low latency
  • Serverless scaling and automatic resource management
  • Integration with Cloudflare's ecosystem of services

🎯 Looking forward

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.

workers.cloudflare.comCloudflare Workers©Build your next application with Cloudflare Workers

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.

llms-txtThe /llms.txt file – llms-txtA proposal to standardise on using an /llms.txt file to provide information to help LLMs use a website at inference time.

#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! 🚀

Continued thread

🎉 #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:

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!

unstable.fedify.devKey–value store | FedifyFedify docs
Continued thread

ActivityPubサーバーを構築してみたいけれど、どこから始めればよいかわからない方には、Fedifyのチュートリアル『自分だけのフェディバースのマイクロブログを作ろう!』をおすすめします。包括的でステップバイステップのガイドで、完全に機能する連合型アプリケーションの構築方法を丁寧に解説しています。フェディバースに飛び込みたい開発者にぴったりです!

Zenn自分だけのフェディバースのマイクロブログを作ろう!このチュートリアルでは、ActivityPubサーバーフレームワークであるFedifyを使用して、MastodonやMisskeyのようなActivityPubプロトコルを実装するマイクロブログ(microblog)を作成します。

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!

fedify.devCreating your own federated microblog | FedifyIn this tutorial, we will build a small microblog that implements the ActivityPub protocol, similar to Mastodon or Misskey, using Fedify, an ActivityPub server framework.

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, documentation
  • component/ for different parts of Fedify
  • activitypub/ 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.

GitHubReorganize repository labels to better fit Fedify project structure · Issue #238 · fedify-dev/fedifyBy dahlia

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:

  • Documented in FEP (Fediverse Enhancement Proposals) or equivalent specification
  • Already adopted by widely-used #fediverse implementations like Mastodon or Pleroma
  • Thoroughly discussed within the Fedify community (Discord, Matrix, GitHub Discussions)

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.

Summary card of repository fediverse/fep
Codeberg.orgfepFediverse Enhancement Proposals

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?