57 lines
2.4 KiB

[✔] Follow users
[✔] Announcements
[✔] Federate the post to our followers (hardcoded for now)
[✔] Handle more than one local actors
[✔] Handle the /actor endpoint
[✔] Create configuration file
[✔] Implement database backend
[✔] Create a file with the actors we have, their following
and their followers.
[✔] `MakeActor` should create a file with that actor.
[✔] Implement `LoadActor`
[✔] `actor.Follow` should write the new following to file
[✔] Handle being followed
[✔] When followed, the handler should write the new follower to file
[✔] Make sure we send our boosts to all our followers
[x] Write incoming activities to disk (do we have to?)
[✔] Write all the announcements (boosts) to the database to
their correct actors
[✔] Check if we are already following users
[✔] On GetOutbox read the database and present a list of the
last posts.
[✔] Make OS-independent (mosty directory separators)
[✔] Create outbox.json programmatically
[✔] Make storage configurable (search for "storage" in project)
[✔] Check if we're boosting only stuff from actors we follow, not whatever comes
through in our inbox
[✔] Boost not only articles but other things too
[✔] Sanitize input, never allow slashes or dots
[✔] Add summary to actors.json
[✔] Check local actor names for characters illegal for filenames and ban them
(Done in pherephone, not activityserve)
[✔] Create debug flag
[✔] Write to following only upon accept
(waiting to actually get an accept so that I can test this)
[✔] Implement webfinger
[✔] Make sure masto finds signature
[✔] Implement Unfollow
[✔] Implement accept (accept when other follow us)
(done but can't test it pending http signatures)
Works in pleroma/pixelfed not working on masto
(nothing works on masto)
[ ] Implement nodeinfo and statistics
[✔] Accept even if already follows us
[✔] Handle paging
[✔] Test paging
[✔] Handle http signatures
[ ] Verify http signatures
[✔] Refactor, comment and clean up
[✔] Split to pherephone and activityServe
[ ] Decide what's to be done with actors removed from `actors.json`.
[ ] Remove them?
[ ] Leave them read-only?
[✔] Leave them as is?
[✔] Handle followers and following uri's
[ ] Do I care about the inbox?
[✔] Expose configuration to apps
[✔] Do not boost replies (configurable)