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 | gotosocial | hollo | mastodon | misskey | mitra | pleroma | sharkey | |
---|---|---|---|---|---|---|---|---|
Url Parameter | ✅ 100 % |
✅ 100 % |
✅ 100 % |
✅ 100 % |
✅ 100 % |
✅ 100 % |
❌ 33 % |
✅ 100 % |
Content Warnings | ✅ 100 % |
✅ 100 % |
✅ 100 % |
✅ 100 % |
✅ 100 % |
✅ 100 % |
✅ 100 % |
✅ 100 % |
Public addressing | ✅ 100 % |
❌ 66 % |
❌ 66 % |
✅ 100 % |
✅ 100 % |
✅ 100 % |
❌ 33 % |
✅ 100 % |
Variations of inReplyTo | ❌ 71 % |
❌ 28 % |
❌ 85 % |
❌ 28 % |
❌ 28 % |
❌ 28 % |
❌ 71 % |
❌ 28 % |
Image Description | ✅ 100 % |
✅ 100 % |
✅ 100 % |
✅ 100 % |
✅ 100 % |
✅ 100 % |
✅ 100 % |
✅ 100 % |
HTML tags | ✅ 100 % |
✅ 100 % |
✅ 100 % |
✅ 100 % |
✅ 100 % |
❌ 96 % |
✅ 100 % |
✅ 100 % |
Mentions | ❌ 87 % |
❌ 87 % |
✅ 100 % |
✅ 100 % |
✅ 100 % |
✅ 100 % |
❌ 87 % |
✅ 100 % |
Image Attachments | ❌ 87 % |
✅ 100 % |
✅ 100 % |
❌ 75 % |
❌ 93 % |
✅ 100 % |
❌ 87 % |
❌ 93 % |
Attribution Format | ✅ 100 % |
✅ 100 % |
❌ 60 % |
✅ 100 % |
❌ 20 % |
✅ 100 % |
✅ 100 % |
❌ 20 % |
Hashtags | ❌ 93 % |
❌ 33 % |
✅ 100 % |
✅ 100 % |
✅ 100 % |
✅ 100 % |
❌ 93 % |
✅ 100 % |
Language support | ✅ 100 % |
✅ 100 % |
✅ 100 % |
✅ 100 % |
✅ 100 % |
❌ 55 % |
✅ 100 % |
✅ 100 % |
Attachments | ❌ 85 % |
✅ 100 % |
✅ 100 % |
✅ 100 % |
✅ 100 % |
✅ 100 % |
❌ 57 % |
✅ 100 % |
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.