diff --git a/Cargo.lock b/Cargo.lock index 8e2bdad..dd6cc83 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -898,7 +898,7 @@ dependencies = [ [[package]] name = "mostr" -version = "0.1.0" +version = "0.2.0" dependencies = [ "colog", "itertools", diff --git a/Cargo.toml b/Cargo.toml index e670758..3f3caf0 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -5,7 +5,7 @@ repository = "https://forge.ftt.gmbh/janek/mostr" readme = "README.md" license = "GPL 3.0" authors = ["melonion"] -version = "0.1.0" +version = "0.2.0" edition = "2021" default-run = "mostr" @@ -18,4 +18,4 @@ log = "0.4.21" colog = "1.3.0" nostr-sdk = "0.30" tokio = { version = "1.0.0", features = ["rt", "rt-multi-thread", "macros"] } -once_cell = "1.19.0" \ No newline at end of file +once_cell = "1.19.0" diff --git a/README.md b/README.md index 4c795dc..abb4393 100644 --- a/README.md +++ b/README.md @@ -6,11 +6,18 @@ A nested task chat, powered by nostr! First, start a nostr relay, such as - https://github.com/coracle-social/bucket for local development -- rnostr for production use +- https://github.com/rnostr/rnostr for production use + +Run development build with: cargo run -Creating a test task: nostril --envelope --content "test task" --kind 1630 | websocat ws://localhost:4736 +Creating a test task: +`nostril --envelope --content "test task" --kind 1621 | websocat ws://localhost:4736` + +Install latest build: + + cargo install --path . --offline ## Principles @@ -66,7 +73,7 @@ An active tag or state filter will also set that attribute for newly created tas - TBI: `progress` - how many subtasks are complete - TBI: `progressp` - subtask completion in percent -For debugging: `props` - Task Property Events +For debugging: `props`, `alltags` ## Plans @@ -76,7 +83,8 @@ For debugging: `props` - Task Property Events - Unified Filter object -> include sub - Time tracking: Active not as task state, ability to postpone task and add planned timestamps (calendar entry) -- Web Interface, Messenger integrations - TUI - Clear terminal? - Expiry (no need to fetch potential years of history) +- Offline caching +- Web Interface, Messenger integrations - Relay: filter out task state updates within few seconds, also on client side diff --git a/src/main.rs b/src/main.rs index f62a1a5..9352b88 100644 --- a/src/main.rs +++ b/src/main.rs @@ -352,6 +352,7 @@ async fn main() { } println!(); + // TODO optionally continue tasks.update_state("", |t| { if t.pure_state() == State::Active { Some(State::Open)