Commit Briefs
apub: correctly marshal followers collection from an email recipients
The receiving server can forward the message for us. For us to resolve the entire collection is a lot of work, especially since paginated followers collections only contain like 12 entries per page! Lots of people have over 300 followers.
apub: guard against empty pubkey url
A nil key gets handled by rsa.Sign* but we won't catch an empty pubkey url until some server finds an incorrect HTTP signature.
doc: document receiving and reading sections
While here make apget print mail format by default, consistent with rest of system.
cmd/apsend: accept activitypub json input
This lets it send activity which cannot be converted to mail such as Follow
apub: omit empty ID when encoding Activity
This is actually valid according to the spec. This makes embedded Activities like Mentions neater, too.
apub: guard against content we cannot unmarshal activity from
Yet! Decoding shouldn't be too hard. But for now it's a TODO. At least error out so we don't send out crazy messages.
cmd/apserve: write and serve the system docs! (origin/master, tags/v0.1.0)
apub: tighten up content-type on marshalling into mail
Clearer: set a body to read from, then change it when necessary. Fewer instructions! Also, mail clients don't really know what to do with text/markdown, so just use text/plain; that's what Gruber would want. Adds basic test case too
abub/apserve: remove old unused apub file handlers
This stuff is generated programaticall now.
apub: remove unused UserWebFingerFile
Moved to package sys, generated dynamically (and tested!).
apub: unmarshal direct To recipients into Mastodon et al. Mentions
This seems clear enough. In the regular email world we want direct recipients to be signalled in some way of our message. Recipients merely copied in (CC'd) don't need to be alerted but still get the message.
apub: return entire actor when doing multiple webfinger lookups
We've already looked up the entire actor so may as well return it, then let callers do what they want with the data.
apub: decode tag field of Activities
This gets us a bit closer to seeing Mastodon's non-standard Mention activities.