update TODO to current state

pull/15/head
Michael Demetriou 2019-09-13 20:28:11 +03:00
parent bf09851483
commit f1bfedb5a1
1 changed files with 24 additions and 38 deletions

62
TODO
View File

@ -1,68 +1,54 @@
[ ] Follow users [✔] Follow users
[ ] Announcements (read up how boost json looks like) [ ] Announcements
[ ] Federate the post to our followers (hardcoded for now) [✔] Federate the post to our followers (hardcoded for now)
[ ] Actor should have pubActor not the other way around [✔] Handle more than one local actors
[ ] Handle more than one local actors [✔] Handle the /actor endpoint
[ ] Fix the json to host those multiple actors [✔] Create configuration file
[ ] Fix the json unmarshalling code to read multiple actors
[ ] Handle the /actor endpoint
[ ] Create configuration file
[ ] Implement database backend [ ] Implement database backend
[✔] Create a file with the actors we have, their following [✔] Create a file with the actors we have, their following
and their followers. and their followers.
[✔] `MakeActor` should create a file with that actor. [✔] `MakeActor` should create a file with that actor.
[✔] Implement `LoadActor` [✔] Implement `LoadActor`
[ ] All but `main.go` should run LoadActor instead of MakeActor [✔] `actor.Follow` should write the new following to file
(Actually nobody should run LoadActor except GetActor)
[ ] `actor.Follow` should write the new following to file
[✔] Handle being followed [✔] Handle being followed
[ ] When followed, the handler should write the new follower to file [✔] When followed, the handler should write the new follower to file
[ ] Make sure we send our boosts to all our followers [ ] Make sure we send our boosts to all our followers
Code is there but it works sometimes (I hate when this happens) [ ] Write incoming activities to disk (do we have to?)
[ ] Check why I get calls to get with an id that consists only of an actor's name
[ ] Implement `db.followers` and `db.following`
[ ] Write all the announcements (boosts) to the database to [ ] Write all the announcements (boosts) to the database to
their correct actors their correct actors
[ ] Check if we are already following users [] Check if we are already following users
[ ] On GetOutbox read the database and present a list of the [] On GetOutbox read the database and present a list of the
last posts. last posts.
[ ] Make OS-independent (mosty directory separators) [] Make OS-independent (mosty directory separators)
[ ] Create outbox.json programmatically [] Create outbox.json programmatically
[ ] Make storage configurable (search for "storage" in project) [] Make storage configurable (search for "storage" in project)
[ ] Check if we're boosting only stuff from actors we follow, not whatever comes [ ] Check if we're boosting only stuff from actors we follow, not whatever comes
through in our inbox through in our inbox
[ ] Boost not only articles but other things too [✔] Boost not only articles but other things too
[ ] Handle post uri's
[ ] Sanitize input, never allow slashes or dots [ ] Sanitize input, never allow slashes or dots
[ ] Add summary to actors.json [] Add summary to actors.json
[ ] Check local actor names for characters illegal for filenames and ban them [ ] Check local actor names for characters illegal for filenames and ban them
[ ] Create debug flag [] Create debug flag
[ ] Write to following only upon accept [] Write to following only upon accept
(waiting to actually get an accept so that I can test this) (waiting to actually get an accept so that I can test this)
[✔] Implement webfinger [✔] Implement webfinger
[✔] Make sure masto finds signature [✔] Make sure masto finds signature
[ ] Implement Unfollow [ ] Implement Unfollow
[ ] Implement accept (accept when other follow us) [] Implement accept (accept when other follow us)
(done but can't test it pending http signatures) (done but can't test it pending http signatures)
Works in pleroma/pixelfed not working on masto Works in pleroma/pixelfed not working on masto
(nothing works on masto) (nothing works on masto)
[ ] Implement nodeinfo and statistics [ ] Implement nodeinfo and statistics
[ ] Accept even if already follows us [✔] Accept even if already follows us
[ ] Implement db.Update [✔] Handle paging
[ ] Implement db.Delete [ ] Test paging
[ ] Handle paging [✔] Handle http signatures
[ ] Handle http signatures
masto can't find the signature
[ ] Verify http signatures [ ] Verify http signatures
[ ] Why doesn't our outbox being fetched by others?
[ ] Refactor, comment and clean up [ ] Refactor, comment and clean up
[ ] Make sure we never show <actor>.json to the public
[ ] Split to pherephone and activityServe [ ] Split to pherephone and activityServe
[ ] Decide what's to be done with actors removed from `actors.json`. [ ] Decide what's to be done with actors removed from `actors.json`.
[ ] Remove them? [ ] Remove them?
[ ] Leave them read-only? [ ] Leave them read-only?
[ ] Leave them as is? [ ] Leave them as is?
[ ] Check if an early failure in announcing posts causes a problem to the following ones
[ ] Handle followers and following uri's [ ] Handle followers and following uri's
[ ] Do I care about the inbox? [ ] Do I care about the inbox?
[ ] Maybe look at implementing lock files?