forked from Telodendria/Telodendria
121 lines
3 KiB
Text
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.
|
|
|