telodendria/TODO.txt

121 lines
3 KiB
Text

Telodendria To-Do List
======================
Key:
[ ] Not Started
[x] Done
[~] In Progress
[!] Won't Do
Milestone: v0.4.0
-----------------
[~] /_telodendria/admin/config endpoint
[ ] Update only certain values
[~] Client-Server API
[x] 6: Filtering
[x] Finish validating filters before saving them.
[~] 7: Events
[x] Compute size of JSON object in Canonical JSON
[x] Rename Sha2.h to just Sha; add Sha1() function
[x] Make Sha256() return raw bytes; add function to
convert to hex string.
[~] 8: Rooms
[~] 9: User Data
[x] Profiles
[~] Directory
[ ] Admin API
[ ] Registration token endpoints
[~] Cytoplasm
[~] Debug OpenSSL
[x] Database corruption
[ ] File descriptor exhaustion
[ ] Random memory corruption after many requests.
[~] j2s
[x] Properly support arrays of primitives.
[ ] How to set default value of true on boolean?
- defaults probably need to be set at parser level, not
enough to set it after.
- Or booleans should default to -1 if not specified, let the
higher level logic set the default from there.
[ ] Write man page.
[x] Refactor MatrixErrorCreate() to take a custom message or NULL to
use the default. This will make debugging a lot easier.
[ ] Use detailed error messages for HTTP 500s at the minimum. Other
error messages might also be useful.
[x] Make sure admin registration token is printed to log, not stdout.
Unless they are the same, of course.
[ ] Refactor Config to use j2s.
[ ] Refactor other endpoints to use j2s for validating request bodies.
[ ] Add parser API to parse the identifier grammers
[ ] Use in alias endpoints
[ ] Finish RouteRoomAliases
[ ] Get from "id" in aliases
[ ] Note to check permissions according to spec
[ ] Finish RouteAliasDirectory
[ ] Add "id" objects when putting aliases
[ ] Delete from "id" when deleting alias
[x] Add alias admin privilege to allow admins to manage aliases
Milestone: v0.5.0
-----------------
[~] Client-Server API
[ ] Modules
[ ] Content Repository
[ ] HTTP/1.1 support
[ ] Content-Length
[ ] Keep connections open
[ ] Chunked encoding
[ ] Refactor Memory API to use mmap().
Milestone: v0.6.0
-----------------
[~] Client-Server API
[ ] Modules
[ ] Instant Messaging
[ ] Voice over IP
[ ] Receipts
[ ] Fully Read Markers
[ ] Send-To-Device Messaging
[ ] 10: Security (Rate Limiting)
Milestone: v0.7.0
-----------------
[ ] Server-Server API
Milestone: v0.8.0
-----------------
[ ] Application Service API
Milestone: v0.9.0
-----------------
[ ] Identity Service API
Milestone: v1.7.0
-----------------
[ ] Push Gateway API
[ ] Room Versions
Milestone v1.7.1
----------------
[ ] Database upgrades/migration path
[ ] Create a command line tool to manage Telodendria
[ ] User management
[ ] Room management
[ ] Migrate from Synapse or Dendrite, whichever is more mainstream by
the time we get here.