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 [~] 6: Filtering [ ] 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. [ ] Refactor MatrixErrorCreate() to take a custom message or NULL to use the default. This will make debugging a lot easier. [x] Make sure admin registration token is printed to log, not stdout. Unless they are the same, of course. [ ] Refactor Config to use j2s. 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.