forked from Telodendria/Telodendria
Jordan Bancino
8d75d8a023
You might be asking why I would just write a simple curl replacement when curl does the job just fine. Well, the most immediate reason is to test the HttpClient API, but since Telodendria's goal is to not be dependent on any third-party code if at all possible, it makes sense to have a simple HTTP client to use not only for testing Telodendria, but also for configuring it. When we move the configuration to the database, we'll ship a script that uses this tool to allow admins to easily submit API requests. Do not be concerned that HttpClient does not support TLS yet. TLS support is necessary for federation to work, so it is coming eventually.
95 lines
2.3 KiB
Text
95 lines
2.3 KiB
Text
Telodendria To-Do List
|
|
======================
|
|
|
|
Key:
|
|
|
|
[ ] Not Started
|
|
[x] Done
|
|
[~] In Progress
|
|
[!] Won't Fix
|
|
|
|
Milestone: v0.3.0
|
|
-----------------
|
|
|
|
[ ] Stream API
|
|
[ ] TLS
|
|
[ ] SOCKS
|
|
[ ] Multi-output
|
|
[~] HTTP Client API
|
|
[ ] Document HttpParseHeaders()
|
|
[ ] HttpClient man page
|
|
[ ] Uri man page
|
|
[ ] Test on other platforms
|
|
[ ] Option to pretty-print Json
|
|
|
|
[x] Simple command line tool to make matrix requests
|
|
- Built on HTTP client API
|
|
[ ] Simple command line tool for working with JSON
|
|
- Like a simpler version of jq
|
|
- Should pretty-print Json
|
|
- Should be able to query fields for use in shell scripts.
|
|
|
|
[ ] Move configuration to database
|
|
[ ] Initial configuration
|
|
[ ] If no config, create one-time use registration token that
|
|
grants user admin privileges.
|
|
[ ] /_telodendria/admin/config endpoint
|
|
[ ] Refactor TelodendriaConfig to just Config (ConfigLock() and ConfigUnlock())
|
|
|
|
[ ] Client-Server API
|
|
[ ] 4: Token-based user registration
|
|
[ ] Implement user-interactive auth flow
|
|
[ ] Token validity endpoint
|
|
[ ] 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
|
|
[ ] Make sure UserLogin() fails if user is deactivated.
|
|
[ ] Change password
|
|
[ ] 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: v1.0.0
|
|
-----------------
|
|
|
|
[~] Client-Server API
|
|
[ ] Modules
|
|
[ ] Instant Messaging
|
|
[ ] Voice over IP
|
|
[ ] Receipts
|
|
[ ] Fully Read Markers
|
|
[ ] Send-To-Device Messaging
|
|
[ ] Server-Server API
|
|
[ ] Application Service API
|
|
[ ] Identity Service API
|
|
[ ] 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.
|