From 202495aedcbf68a93cd7fb0c5d780b8d4494f306 Mon Sep 17 00:00:00 2001
From: Jordan Bancino
Date: Fri, 23 Sep 2022 17:32:40 -0400
Subject: [PATCH] Move project status to TODO.txt
---
docs/telodendria.7 | 20 ++++-
site/index.html | 184 +--------------------------------------------
2 files changed, 21 insertions(+), 183 deletions(-)
diff --git a/docs/telodendria.7 b/docs/telodendria.7
index 038431e..6311685 100644
--- a/docs/telodendria.7
+++ b/docs/telodendria.7
@@ -14,7 +14,7 @@ It is designed to be lightweight and simple, yet functional.
is under
.Sy heavy
development. Please see
-.Em PROJECT STATUS .
+.Sx PROJECT STATUS .
.sp
.Nm
differentiates itself from the other Matrix homeserver
@@ -154,6 +154,22 @@ shouldn't have a hostile leader. I want to be as understanding as I can, and tal
through issues politely and in a civil manner. If I'm failing in this way, don't
be afraid to call me out!
.El
+.Sh PROJECT STATUS
+Telodendria is a very ambitious project. There's a lot that needs to happen yet
+before it is usable. At the moment, there's nothing here that even remotely resembles
+a Matrix homeserver. I'm still getting off the ground and building a foundation.
+.sp
+But just because there's nothing here yet doesn't mean you should go away! I could
+always use help, so you are more than welcome to help out if you want things to go
+quicker. Please see the
+.Xr contributing 7
+page for details on how you can get involved. The CVS repository has a file called
+.Pa TODO.txt ,
+which contains a checklist of what has been done so far, and what's on the radar
+to be done. You can take a look at it once you've checked out the source code.
+If you'd like to help out, feel free to grab an item on the list that's not done
+yet and start getting patches written. When you're done, enjoy the satisfaction
+of crossing the item off the list yourself.
.Sh SEE ALSO
.Xr telodendria 8 ,
.Xr telodendria.conf 5 ,
@@ -166,7 +182,7 @@ At this time,
.Nm
does not have any tagged releases because it is not yet functional
as a Matrix homeserver. Please checkout out
-.Em PROJECT STATUS
+.Sx PROJECT STATUS
to see where things are currently at. When
.Nm
is mature enough to have a change log, it will go in this section.
diff --git a/site/index.html b/site/index.html
index 4809351..d01e280 100644
--- a/site/index.html
+++ b/site/index.html
@@ -29,7 +29,7 @@
Telodendria is a Matrix homeserver implementation written from
@@ -159,7 +159,7 @@ Signify
No downloads here yet. See the
-Project Status for more
+Project Status for more
information.
|
@@ -182,185 +182,7 @@ pages are also available online for convenience:
contributing(7) - Contributing guide
td(8) - Build script and patch instructions
-Project Status
-
-Telodendria is a very ambitious project. There's a lot that needs
-to happen yet before it is usable. At the moment, there's nothing that
-even remotely ressembles a Matrix homeserver here; I'm still
-getting off the ground and building a foundation.
-
-
-But just because there's nothing here yet doesn't mean you should go away!
-I could always use help, so you are more than welcome to help
-out if you want things to go quicker. Please see the
-contributing(7) page for details on how you
-can get involved.
-
-
-The Telodendria roadmap is organized into phases, with each phase
-representing a new milestone in the project's lifetime.
-
-Phase 1: Getting Off The Ground
-
-A new open-source project needs a few basic things before development
-can begin. This phase covers the pre-development stage of Telodendria.
-
-
-Name this project
-Set up a CVS repository
-Make CVS repository public
-Write a coding style guide
-Write a build script
-Add a license
-Add support and issue reporting guide
-Add table of contents to this document
-
-Phase 2: Building A Foundation
-
-Matrix homeservers require a few prerequisites. In this phase, we build up
-all the tools required to properly implement a Matrix homeserver. This includes
-basic data structures, exchange format parsers, and more. We also build up a
-command line application, multi-threaded HTTP server, and architect a flat-file
-database framework.
-
-
-
-Implement an array
-Implement a logging facility
-Implement argument parsing (-c file -Vh
)
-Implement a hash map
-Combine library code files
-Implement configuration file parsing using the hash map
-Base64 encoding/decoding with padded/unpadded support
-Write a release script
-UTF-8 encoder
--
-
Implement a JSON library using the hash map and array
-
-Basic encoding from HashMap/Array/strings, etc.
-Basic decoding to HashMap/Array/strings, etc.
-Proper string encoding
-Proper string decoding
--
-
Canonical JSON
-
-Keys are sorted lexicographically
-Floats are not allowed (ignore any float values)
-Encode as UTF-8 instead of using \u
escapes
-Decode encoded strings to UTF-8
-
-
-
-
-Write a function that gets the current Unix timestamp in milliseconds.
-Figure out how to wWrite unit tests for array/hashmap/etc
-Parse the Telodendria config file
-- Add
license/documentation comments to all source files
-Implement a simple HTTP server
-
-- Implement param parser
-URL encoder/decoder
-
-
--
-Design the server architecture
-
-- Route requests
-Handle requests
-- Data abstraction layer
-Error generation
-
-
-
-Phase 3: Welcome To Matrix
-
-When the foundations are laid, we can start implementing a real Matrix
-homeserver. This phase tracks our current progress in implementing the Matrix
-specification.
-
-
--
-Client-Server API
-
-Error responses
-/_matrix/client/versions
-CORS Headers
-- Well-known URIs
-- Client Authentication
-- Capabilities negotiation
-
-
--
-Server-Server API
-
--
-Application Service API
-
--
-Identity Service API
-
--
-Push Gateway API
-
--
-Room Versions
-
-
-Phase 4: A Real Homeserver
-
-The Matrix specification is only a part of what it takes to be a production-ready
-Matrix homeserver. While the spec details how clients and homeservers interact with
-each other, we still need a way to administer our homeserver. This phase tracks our
-progress on getting Telodendria packaged, as well as writing some useful
-administrative tools. Only when these things are completed can we call Telodendria
-"production-ready."
-
-
--
-Create an OpenBSD package and get it submitted to ports
-
--
-Create a command line tool to manage Telodendria
-
-- Configuration file generation
-- User management
-- Room management
-
-
--
-Migrate from Synapse. I run a Synapse homeserver right now, so somehow
-I have to get all my data into the Telodendria format.
-
-
-Documentation Status
-
-This documentation needs just a little work. Here's the things
-on my list for that:
-
-
-Update Rationale section
-Update Project description (no longer a CGI binary)
-Update project code requirements (ANSI C, POSIX.1c)
-Clean up dark mode colors (tables, background, code snippets)
-Add logo (possibly center title?)
-Update Code Style to not include indent or line rules, but to use
-indent(1)
instead.
-Fix typo "Subitting Patches" in Table of Contents
-Make a note in Getting The Code that the password for the
-anoncvs
account is just anoncvs
.
-Add Contributors list
-Add list of make.sh
recipes, and what they do
-- Improve Google Lighthouse score
-
-- Image elements do not have explicit width and height
-- Background and foreground colors do not have a sufficient contrast ratio. (
msg-error
div)
-Lists do not contain only li
elements.
-
-
-- Add other message
div
s for notes and warnings.
-
-Getting Support
-
+
Getting Support
Telodendria is designed to be fairly straightforward, but that
doesn't mean there won't be hiccups along the way. If you are struggling
to get Telodendria up and running, you're more than welcome to