From 8ce259591542af0ba1c17c5435cc8844a9fbed7f Mon Sep 17 00:00:00 2001 From: Bryan Newbold Date: Fri, 28 Oct 2022 16:24:24 -0700 Subject: plan.txt and TODO file cleanup --- TODO | 22 ++++++++++++++++++++++ adenosine-cli/TODO | 1 - adenosine-pds/plan.txt | 21 +++++++++++++++++++++ adenosine-tauri-gui/plan.txt | 14 ++++++++++++++ 4 files changed, 57 insertions(+), 1 deletion(-) create mode 100644 TODO delete mode 100644 adenosine-cli/TODO create mode 100644 adenosine-pds/plan.txt create mode 100644 adenosine-tauri-gui/plan.txt 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? -- cgit v1.2.3