Commit Briefs

1081cf7527 Oliver Lowe

lemmy: import from its own repo (master)

No need to manage this seperately, it's all related and only brings in a single dep.


8403ab16d8 Oliver Lowe

apub, cmd/apsend: implement shared inbox delivery

This helps servers hosting many actors, and it helps us when delivering to lots of people on the same server; we only need to make 1 request per server.


d325873964 Oliver Lowe

apub: remove unused http sig header list


5acd8b1ba0 Oliver Lowe

apub: handle unmarshalling from quoted-printable mail

MailMate, for example, using quoted-printable encoding when lines are about 80 chars long. Blegh!


16b05de44f Oliver Lowe

cmd/apserve: correct nodeinfo field name


af1bda8fe5 Oliver Lowe

apub: use RFC5322-compatible timestamp in Date in header

RFC822 makes Spamassassin unhappy and I learned isn't actually compliant with revisions to the message spec!


a00f14b448 Oliver Lowe

test for carriage return removal


d3dfb67291 Oliver Lowe

apub: handle collection recipients mroe reliably

When we receive activity that has a collection, we see if any of the other actor recipients have the collection set as their followers. Then we can encode it with plus addressing. If we can't do that we drop it. Not ideal, but it covers most use cases. Next up we can encode arbitrary collections like "some/path/to/thing@example.com".



8b63e10caf Oliver Lowe

cmd/apsend: remove unused message encoding


eec649355b Oliver Lowe

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.


b526632b61 Oliver Lowe

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.


3d0a086d67 Oliver Lowe

cmd/apget: context on marshal to mail error


945bf12efd Oliver Lowe

apub: correct actor Address() doc typo


fb77ab1664 Oliver Lowe

doc: document receiving and reading sections

While here make apget print mail format by default, consistent with rest of system.


6f092909c9 Oliver Lowe

cmd/apsend: accept activitypub json input

This lets it send activity which cannot be converted to mail such as Follow


8a4431dbce Oliver Lowe

cmd/webfinger: import webfinger command



421e589401 Oliver Lowe

apub: omit empty ID when encoding Activity

This is actually valid according to the spec. This makes embedded Activities like Mentions neater, too.


e7d3ccfd41 Oliver Lowe

cmd/apget: add little tool for downloading objects


662ec9733f Oliver Lowe

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.


b0c99ab8bd Oliver Lowe

doc: make code blocks legible in dark mode


93390e9fff Oliver Lowe

cmd/apserve: write and serve the system docs! (origin/master, tags/v0.1.0)


07a06dfeef Oliver Lowe

cmd/apsubmit: reliably print stderr of apsend


184e4de6a4 Oliver Lowe

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