Skip to content

Parsing Scores

Before an object can be displayed, it needs to be parsed. The following score card lays out what percentage of our test objects, each application displays something, i.e. it could parse it. We are not making any claims on if the output is correct or not, it’s just that the application displays something.

A score of 100% means that the application displays something for each of our test objects. As our test objects are slight variations of each other that are realistic, scores less than 100% mean that there is a good chance of the application sometimes not displaying stuff without any notice it was lost.

Score table

akkoma firefish mastodon 4.1 mastodon 4.2 mitra sharkey
Url parameter
❌ 33 %
❌ 91 %
✅ 100 %
✅ 100 %
✅ 100 %
✅ 100 %
Public addressing
❌ 33 %
✅ 100 %
✅ 100 %
✅ 100 %
✅ 100 %
✅ 100 %
Mentions
❌ 85 %
❌ 85 %
❌ 71 %
❌ 71 %
✅ 100 %
❌ 85 %
Language support
✅ 100 %
✅ 100 %
✅ 100 %
✅ 100 %
❌ 55 %
✅ 100 %
inReplyTo
❌ 71 %
❌ 28 %
❌ 28 %
❌ 28 %
❌ 14 %
❌ 28 %
Image Description
✅ 100 %
✅ 100 %
✅ 100 %
✅ 100 %
✅ 100 %
✅ 100 %
Image Attachments
❌ 87 %
❌ 68 %
❌ 75 %
❌ 75 %
❌ 68 %
❌ 68 %
HTML tags
✅ 100 %
✅ 100 %
✅ 100 %
✅ 100 %
❌ 94 %
✅ 100 %
Hashtags
❌ 93 %
❌ 93 %
✅ 100 %
✅ 100 %
✅ 100 %
❌ 93 %
Content Warnings
✅ 100 %
❌ 42 %
✅ 100 %
✅ 100 %
✅ 100 %
❌ 42 %

Why is this hard?

Here, I want to briefly describe why parsing ActivityPub objects is hard. For this take a look at Image Attachments, in particular the later examples. These are all variants of the url parameter being something more complicated than a simple string. These variants are all in line with the definition of this property, but they cause a problem when parsing.

My hope is that the above score card will encourage people to adapt their ActivityPub parsers to be in line with the Robustness Principle.

Update required?

While this score card is automatically generated as are all the support tables, the underlying Fediverse application versions are currently not updated regularly. So if you made changes to your application, and think the table needs to be updated, please file an issue.