aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorBryan Newbold <bnewbold@robocracy.org>2022-10-28 16:24:24 -0700
committerBryan Newbold <bnewbold@robocracy.org>2022-10-28 16:24:24 -0700
commit8ce259591542af0ba1c17c5435cc8844a9fbed7f (patch)
treec25343a98df2d10058d4016d02266ca6e79e0a3b
parentc7ac6c415565a09b2250218ccc53f17bdb01b256 (diff)
downloadadenosine-8ce259591542af0ba1c17c5435cc8844a9fbed7f.tar.gz
adenosine-8ce259591542af0ba1c17c5435cc8844a9fbed7f.zip
plan.txt and TODO file cleanup
-rw-r--r--TODO22
-rw-r--r--adenosine-cli/TODO1
-rw-r--r--adenosine-pds/plan.txt21
-rw-r--r--adenosine-tauri-gui/plan.txt14
4 files changed, 57 insertions, 1 deletions
diff --git a/TODO b/TODO
new file mode 100644
index 0000000..196baf3
--- /dev/null
+++ b/TODO
@@ -0,0 +1,22 @@
+
+CLI polish:
+- register and login commands should do more than just dump JSON
+ => return shell 'export' command (for easier config)
+- log (info level) all XRPC requests and responses. especially non-200 response bodies
+- status should show more stuff, like DID from JWT token
+ => and color!
+- AtUri: at://jekyll.test/app.bsky.post/ (trailing slash should be allowed)
+- include createdAt field, eg: "2022-10-28T06:10:12.106Z"
+- 'get' could allow cid values (maybe with a prefix?)
+- --help should mention env variables
+- update top-level README
+ => badges: AGPL, CI
+
+later:
+- mention IPFS exploration of export CAR files
+- invite codes in account registration
+- try musl/rustls builds, especially for CLI
+- debian repo
+ https://www.aptly.info/doc/aptly/publish/
+ or 'reprepro'
+ gitlab hosting not ready/working
diff --git a/adenosine-cli/TODO b/adenosine-cli/TODO
deleted file mode 100644
index 4d582e8..0000000
--- a/adenosine-cli/TODO
+++ /dev/null
@@ -1 +0,0 @@
-- invite codes in account registration
diff --git a/adenosine-pds/plan.txt b/adenosine-pds/plan.txt
new file mode 100644
index 0000000..1b55bb7
--- /dev/null
+++ b/adenosine-pds/plan.txt
@@ -0,0 +1,21 @@
+
+PDS proof of concept:
+- ipld sqlite driver importing CAR file
+- MST code to read and mutate state
+- sqlite schema
+- JSON schema type generation (separate crate?)
+- write wrapper which updates MST *and* updates other tables in a transaction
+- did:web thingie?
+- HTTP API handler implementing most endpoints
+
+libraries:
+- `jsonschema` to validate requests and records (rich validation)
+- `schemafy` to codegen serde types for records (ahead of time?)
+- `rusqlite` with "bundled" sqlite for datastore
+- `ipfs-sqlite-block-store` and `libipld` to parse and persist repo content
+- `warp` as async HTTP service
+- `r2d2` to wrap rusqlite (?)
+- pretty_env_logger
+- ??? for CBOR (de)serialization of MST, separate from the IPLD stuff?
+- no good crate for working with CAR files... could rip out this code?
+ https://github.com/n0-computer/iroh/tree/main/iroh-car
diff --git a/adenosine-tauri-gui/plan.txt b/adenosine-tauri-gui/plan.txt
new file mode 100644
index 0000000..cad37fc
--- /dev/null
+++ b/adenosine-tauri-gui/plan.txt
@@ -0,0 +1,14 @@
+tauri GUI proof of concept:
+- build on CLI utils?
+- store config as TOML (serlialized) in some XDG location
+- views:
+ => initial config (register/login)
+ => home (feed)
+ => notifications
+ => settings (profile, auth)
+ => author view (profile, feed, followers, following)
+ => create post
+- buttons/actions:
+ => like
+ => follow
+- could try htmx with only 'get' requests to pass args?