Just a call out for help from fedidevs re: ActivityPub. For some reason that I have yet to discern, my mentions are not reaching end users if they're on a Mastodon instance.
The annoying thing is they used to work, but seem to have broken somewhat recently.
(Thanks @trwnh@mastodon.social (who ironically, will not be notified of this mention) for letting me know about the issue.)
I include each mention in the tag property, and it includes type, href, and name:
The post is successfully federated, and when queried, the mention is clickable and goes to the local account page for that user (as opposed to linking out to the remote page like a regular URL).
Alas, the mention does not generate a notification on the receiving end.
Resolved thanks to the help of @Claire@social.sitedethib.com! The issue as it turned out, was me sending an improper data structure in the replies property ([] instead of null or nothing at all.)
@mro@renchap@julian@trwnh Mastodon did not reject the post, but rather failed halfway processing it because it was malformed; in other words, the failure was not intentional, a bug in NodeBB triggered a bug in Mastodon
@julian@mro i'm indeed not aware of a normative use of Reject being described, and there is also some talk about using Reject for e.g. messages rejected by a user's policy to block messages from strangers, so those would be two quite different use cases
@Claire@social.sitedethib.com That's the thing, isn't it... that a 400 could indicate a malformed request, whereas a reject might be better suited for policy violations.
... but we actually do have a response code for a policy violation, 403 Forbidden!
The technical difference is that a Reject is better suited for when an incoming request is queued for processing (aka 202 Accepted is sent), and later rejected.
Either way I think we're at the point where some pseudo-standard on error handling would be welcome. The current situation as-is is: "sometimes instances send non-2xx, sometimes they send rejects. Either way it could mean absolutely anything so just re-send it again later"