telodendria/TODO.txt

138 lines
4.0 KiB
Plaintext
Raw Normal View History

2022-09-23 17:49:20 -04:00
Telodendria To-Do List
Key:
[ ] Not Started
[x] Done
[~] In Progress
2022-09-28 16:25:49 -04:00
[!] Won't Fix
2022-09-23 17:49:20 -04:00
Phase 1: Getting off the ground
[x] Name this project
[x] Set up a CVS repository
[x] Make CVS repository public
[x] Write a build script
[x] Write a coding style guide
[x] Add a license
[x] Add support and issue reporting guide
[x] Add table of contents to website
Phase 2: Building a foundation
[x] Implement an array
[x] Implement a logging facility
[x] Implement a hash map
[x] Allow custom hash functions for each hash map
2022-09-23 17:49:20 -04:00
[x] Combine library code files
[x] Implement configuration file parsing using hash map
[x] Base64 encoding/decoding with padded/unpadded support
[x] Write a release script
[x] UTF-8 encoder
[x] Implement a JSON library using the hash map and array
[x] Basic encoding from HashMap/Array/strings, etc.
[x] Basic decoding to HashMap/Array/strings, etc.
[x] Proper string encoding
[x] Proper string decoding
[x] Canonical JSON
[x] Keys are sorted lexiconographically
[x] Floats are not allowed (ignore any float values)
[x] Encode as UTF-8 instead of using \u escapes
[x] Decode encoded strings to UTF-8
[x] Write a function that gets the current Unix timestamp in milliseconds
[x] Parse the Telodendria config file
[x] Add license header to all files
2022-10-10 21:06:59 -04:00
[!] Add documentation for all public APIs (See below)
2022-09-23 17:49:20 -04:00
[x] Implement a simple HTTP server
2022-10-15 19:37:21 -04:00
[x] Implement param parser
2022-09-23 17:49:20 -04:00
[x] URL encoder/decoder
2022-09-28 16:25:49 -04:00
[~] Design server architecture
[x] Route requests
2022-09-23 17:49:20 -04:00
[x] Handle requests
2022-10-24 13:44:52 -04:00
[~] Data abstraction layer
2022-10-12 21:25:59 -04:00
[ ] Database upgrades/migration path
[ ] Caching and cache control
2022-10-31 11:35:25 -04:00
[ ] Make memory info access O(1)
2022-09-23 17:49:20 -04:00
[x] Error generation
[x] Properly implement the command line options as stated in telodendria(8)
2022-10-11 12:10:44 -04:00
[x] Remove "chroot" option, just chroot into the data dir, and make the log
2022-10-10 21:06:59 -04:00
file live there as well.
2022-10-14 20:55:15 -04:00
[x] Allow logging to the syslog
2022-10-31 11:35:25 -04:00
[x] Fix memory leaks
[ ] Fix bug where the socket stays open after quit.
2022-10-15 10:14:54 -04:00
[ ] Figure out how to write unit tests for array/hashmap/etc
2022-09-23 17:49:20 -04:00
Phase 3: Welcome to Matrix
[~] client-Server API
2022-09-23 17:49:20 -04:00
[x] Error responses
[x] CORS headers
[x] /_matrix/client/versions
[x] Well-known URIs
[x] Make base-url optional in config
[x] Make identity-server optional in config
2022-09-23 17:49:20 -04:00
[ ] Client authentication
[ ] Capabilities negotiation
[ ] Server-Server API
[ ] Application Service API
[ ] Identity Service API
[ ] Push Gateway API
[ ] Room Versions
Phase 4:
[ ] Create an OpenBSD package and get it submitted to ports
2022-09-29 18:16:16 -04:00
[ ] Add relayd examples to contrib/
2022-09-23 17:49:20 -04:00
[ ] 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
Documentation
[x] Update rationale section
[x] Update project description (no longer a CGI binary)
[x] Clean up dark mode colors (tables, background, code snippets)
[x] Add logo (possibly center title?)
[x] Update code style to not include indent or line rules, but use indent(1) instead
[x] fix typo "Subitting Patches" in Table of Contents
[x] Make a note in Getting the Code that the password for the anoncvs account is just anoncvs
[x] Add contributors list
[x] Add list of make.sh recipes and what they do
[x] Improve Google Lighthouse score on website
2022-09-28 16:25:49 -04:00
[!] Image elements do not have explicit width and height
[x] Background and foreground colors do not have sufficient contrast ratio (msg-error div)
2022-09-23 17:49:20 -04:00
[x] Lists do not contain only <li> elements
2022-09-28 16:25:49 -04:00
[!] Add other message divs for notes and warnings
2022-09-23 17:49:20 -04:00
2022-10-15 10:14:54 -04:00
[~] Convert documentation to man pages
2022-09-23 17:50:02 -04:00
[x] Clean up dark mode in man page CSS (links)
[x] Synopsis table should not be styled
[x] Make available on MANPATH in tools/env.sh
2022-10-10 15:22:18 -04:00
[x] Convert list of man pages into a table on home page
[~] Internal API docs
[x] Array
[x] Base64
[ ] CanonicalJson
[ ] Config
2022-10-10 13:35:19 -04:00
[ ] API (Config.3)
[ ] File format (Config.5)
[ ] Constants
2022-10-10 15:22:18 -04:00
[x] HashMap
[ ] Http
[ ] HttpServer
[ ] Json
[ ] Log
[ ] Matrix
[ ] NonPosix
2022-10-10 13:35:19 -04:00
[x] Queue
[ ] Routes
[ ] TelodendriaConfig
[ ] Util
2022-10-13 13:13:00 -04:00
[ ] Memory
2022-10-24 13:44:52 -04:00
[ ] Db
2022-09-29 18:16:16 -04:00
2022-10-10 21:06:59 -04:00
[x] Add onboarding documentation
[x] Building from source
[!] Writing config file (see Config.5)