Telodendria/TODO.txt
Jordan Bancino 8d75d8a023 Add simple HTTP CLI tool that uses the HttpClient API.
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.
2023-03-08 03:30:36 +00:00

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.