forked from Telodendria/Telodendria
154 lines
3.6 KiB
Text
154 lines
3.6 KiB
Text
Telodendria To-Do List
|
|
======================
|
|
|
|
Key:
|
|
|
|
[ ] Not Started
|
|
[x] Done
|
|
[~] In Progress
|
|
[!] Won't Do
|
|
|
|
Milestone: v0.3.0
|
|
-----------------
|
|
|
|
[x] Stream API
|
|
[x] Implementation
|
|
[x] Convert all code that deals with I/O
|
|
[!] Multi-output (proof of concept)
|
|
[!] Memory streams (proof of concept)
|
|
[x] TLS
|
|
[!] SOCKS
|
|
[x] Move/convert UtilStreamCopy()
|
|
[x] HTTP Client API
|
|
[x] Document HttpParseHeaders()
|
|
[x] Test on other platforms
|
|
[x] Option to pretty-print Json
|
|
[x] Document JsonEncode() and JsonEncodeValue()
|
|
[x] Document Telodendria and Main
|
|
|
|
[x] Simple command line tool to make matrix requests
|
|
[x] Built on HTTP client API
|
|
[x] http man page
|
|
[x] Simple command line tool for working with JSON
|
|
[x] Pretty-print Json
|
|
[x] Query fields for use in shell scripts.
|
|
[x] Encode user-provided JSON strings
|
|
[x] json man page
|
|
|
|
[x] Global log object
|
|
- So we don't have to pass LogConfig around everywhere
|
|
- Also allows debug and error logging in other APIs
|
|
[x] Make 'listen' directive in config an array of objects
|
|
- Each object has port, threads, maxConnections
|
|
- If tls is given, it can be null, false, or an object with cert and key
|
|
[x] Pass TLS certs and keys into HttpServer
|
|
[x] Debug OpenSSL
|
|
[x] Replace all usages of curl with http
|
|
[x] Proper HTTP request router
|
|
[x] Support regex matching
|
|
[x] Replace current routing system
|
|
[x] Add route for requestToken endpoints
|
|
[x] Move TelodendriaBuildRouter() to Routes
|
|
[~] User-Interactive fallback
|
|
[ ] Password
|
|
[ ] Registration token
|
|
[ ] Token permissions
|
|
|
|
[ ] Move configuration to database
|
|
[ ] Initial configuration
|
|
[ ] If no config, create one-time use registration token that
|
|
grants user admin privileges.
|
|
[ ] /_telodendria/admin/config endpoint
|
|
[x] Refactor TelodendriaConfig to just Config
|
|
|
|
[ ] Documentation
|
|
[ ] Array
|
|
[ ] Io
|
|
[ ] Stream
|
|
[ ] Tls
|
|
[ ] HttpClient
|
|
[ ] Uri
|
|
[ ] td
|
|
[ ] tt
|
|
[ ] http-debug-server
|
|
[ ] tp
|
|
[ ] send-patch
|
|
[ ] Log
|
|
[ ] TelodendriaConfig -> Config
|
|
[ ] HashMap
|
|
[ ] HttpRouter
|
|
[ ] Str
|
|
|
|
[~] Client-Server API
|
|
[x] 4: Token-based user registration
|
|
[x] Implement user-interactive auth flow
|
|
[x] Token validity endpoint
|
|
[x] Add m.login.registration_token to registration endpoint
|
|
flow
|
|
- Ensure that registration tokens can be used even if
|
|
registration is disabled.
|
|
[~] 4: Account management
|
|
[~] Deactivate
|
|
[x] Make sure UserLogin() fails if user is deactivated.
|
|
[x] Change password
|
|
[x] Whoami
|
|
[~] 9: User Data
|
|
[ ] 5: Capabilities negotiation
|
|
[ ] 10: Security (Rate Limiting)
|
|
|
|
Milestone: v0.4.0
|
|
-----------------
|
|
|
|
[ ] Client-Server API
|
|
[ ] 6: Filtering
|
|
[ ] 7: Events
|
|
[ ] 8: Rooms
|
|
|
|
Milestone: v0.5.0
|
|
-----------------
|
|
|
|
[~] Client-Server API
|
|
[ ] Modules
|
|
[ ] Content Repository
|
|
|
|
Milestone: v0.6.0
|
|
-----------------
|
|
|
|
[~] Client-Server API
|
|
[ ] Modules
|
|
[ ] Instant Messaging
|
|
[ ] Voice over IP
|
|
[ ] Receipts
|
|
[ ] Fully Read Markers
|
|
[ ] Send-To-Device Messaging
|
|
|
|
Milestone: v0.7.0
|
|
-----------------
|
|
|
|
[ ] Server-Server API
|
|
|
|
Milestone: v0.8.0
|
|
-----------------
|
|
|
|
[ ] Application Service API
|
|
|
|
Milestone: v0.9.0
|
|
-----------------
|
|
|
|
[ ] Identity Service API
|
|
|
|
Milestone: v1.0.0
|
|
-----------------
|
|
|
|
[ ] Push Gateway API
|
|
[ ] Room Versions
|
|
|
|
Milestone v1.1.0
|
|
----------------
|
|
|
|
[ ] 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.
|