What is Nostr?
2042
npub15d9…xq6k
2024-07-12 15:05:37

2042 on Nostr: diff --git a/COMMAND b/COMMAND new file mode 100644 index 000000000..2e0b5791b --- ...

diff --git a/COMMAND b/COMMAND new file mode 100644 index 000000000..2e0b5791b --- /dev/null +++ b/COMMAND @@ -0,0 +1 @@ +for relay in $(gnostr-fetch-watch-list-iterator);do gnostr --sec $(gnostr-sha256 $relay-$(echo date +%s)) --tag date $(date +%s) --tag $relay $(gnostr-sha256 $relay) --tag r $relay --content $relay --pow 20 | gnostr-post-event;done diff --git a/Cargo.toml b/Cargo.toml index 0985ae331..a9bf320a3 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -2,7 +2,7 @@ cargo-features = [] [workspace] resolver = "2" -members = ["bins", "d", "jj", "git", "lib", "lib/gen-protos", "lib/proc-macros", "lib/testutils", "lookup", "nips", "tui", "tui/asyncgit", "tui/filetreelist", "tui/git2-hooks", "tui/git2-testing", "tui/scopetime"] +members = ["bins", "d", "jj", "lib", "lib/gen-protos", "lib/proc-macros", "lib/testutils", "lookup", "nips", "tui", "tui/asyncgit", "tui/filetreelist", "tui/git2-hooks", "tui/git2-testing", "tui/scopetime"] exclude = ["ffi", "relay"] [workspace.package] diff --git a/bins/src/bin/gnostr-fetch-by-kind-and-author.rs b/bins/src/bin/gnostr-fetch-by-kind-and-author.rs index 2316a3e64..47425f6e5 100644 --- a/bins/src/bin/gnostr-fetch-by-kind-and-author.rs +++ b/bins/src/bin/gnostr-fetch-by-kind-and-author.rs @@ -7,13 +7,9 @@ fn main() { let _ = args.next(); // program name let relay_url = match args.next() { Some(u) => u, - None => panic!("Usage: fetch_by_kind_and_author <RelayURL> <KindNumber> <PubKey>"), + None => panic!("Usage: fetch-by-kind-and-author <RelayURL> <PubKey> <KindNumber>"), }; - let kind_number = match args.next() { - Some(num) => num.parse::<u32>().unwrap(), - None => panic!("Usage: fetch_by_kind_and_author <RelayURL> <KindNumber> <PubKey>"), - }; - let kind: EventKind = kind_number.into(); + let author_key = match args.next() { Some(key) => match PublicKey::try_from_bech32_string(&key, true) { Ok(key) => key, @@ -22,8 +18,15 @@ fn main() { Err(_) => panic!("Could not parse public key"), }, }, - None => panic!("Usage: fetch_by_kind_and_author <RelayURL> <KindNumber> <PubKey>"), + None => panic!("Usage: fetch-by-kind-and-author <RelayURL> <PubKey> <KindNumber>"), }; + + let kind_number = match args.next() { + Some(num) => num.parse::<u32>().unwrap(), + None => panic!("Usage: fetch-by-kind-and-author <RelayURL> <PubKey> <KindNumber>"), + }; + let kind: EventKind = kind_number.into(); + let key: PublicKeyHex = author_key.into(); let filter = Filter { kinds: vec![kind], diff --git a/bins/src/bin/gnostr-post-event.rs b/bins/src/bin/gnostr-post-event.rs index d6e8f835c..d561fb47e 100644 --- a/bins/src/bin/gnostr-post-event.rs +++ b/bins/src/bin/gnostr-post-event.rs @@ -16,7 +16,7 @@ fn main() { process::exit(i.try_into().unwrap()); } else { if args_vector.len() == 0 { - println!("args_vector.len() = {}", 0); + print!("args_vector.len() = {}", 0); }; if args_vector.len() == 1 { //no args case @@ -27,26 +27,28 @@ fn main() { let event: Event = serde_json::from_str(&s).unwrap(); relay_url = DEFAULT_RELAY_URL; //always reprint s for further piping - println!("{}", s); + print!("{}\n", s); gnostr_bins::post_event(&relay_url, event); }; if args_vector.len() == 2 { //catch help if args_vector[1] == "-h" { - println!("-h HELP!"); + print!("gnostr --sec <priv_key> | gnostr-post-event --relay wss://e.nos.lol"); process::exit(0); } if args_vector[1] == "--help" { - println!("--help HELP!"); + print!("gnostr --sec <priv_key> | gnostr-post-event --relay wss://e.nos.lol"); process::exit(0); } //catch version if args_vector[1] == "-v" { - println!("-v VERSION!"); + const VERSION: &str = env!("CARGO_PKG_VERSION"); + print!("v{}", VERSION); process::exit(0); } if args_vector[1] == "--version" { - println!("--version VERSION!"); + const VERSION: &str = env!("CARGO_PKG_VERSION"); + print!("v{}", VERSION); process::exit(0); } //catch missing url @@ -59,7 +61,7 @@ fn main() { std::io::stdin().read_to_string(&mut s).unwrap(); let event: Event = serde_json::from_str(&s).unwrap(); //always reprint s for further piping - println!("{}", s); + print!("{}\n", s); gnostr_bins::post_event(relay_url, event); process::exit(0); } @@ -72,7 +74,7 @@ fn main() { std::io::stdin().read_to_string(&mut s).unwrap(); let event: Event = serde_json::from_str(&s).unwrap(); //always reprint s for further piping - println!("{}", s); + print!("{}\n", s); gnostr_bins::post_event(relay_url, event); process::exit(0); }; @@ -85,7 +87,7 @@ fn main() { std::io::stdin().read_to_string(&mut s).unwrap(); let event: Event = serde_json::from_str(&s).unwrap(); //always reprint s for further piping - println!("{}", s); + print!("{}\n", s); gnostr_bins::post_event(relay_url, event); process::exit(0); } @@ -93,7 +95,7 @@ fn main() { let mut s: String = String::new(); std::io::stdin().read_to_string(&mut s).unwrap(); //always reprint s for further piping - println!("{}", s); + print!("{}\n", s); let event: Event = serde_json::from_str(&s).unwrap(); gnostr_bins::post_event(relay_url, event); }; diff --git a/bins/src/internal.rs b/bins/src/internal.rs index af7622e17..cd475ae5e 100644 --- a/bins/src/internal.rs +++ b/bins/src/internal.rs @@ -120,6 +120,7 @@ pub(crate) fn post(host: String, uri: Uri, wire: String) { let (mut websocket, _response) = tungstenite::connect(request).expect("Could not connect to relay"); + print!("{}\n", wire); websocket .write_message(Message::Text(wire)) .expect("Could not send message to relay"); diff --git a/git b/git index f3d7024f6..e0ce384ea 160000 --- a/git +++ b/git @@ -1 +1 @@ -Subproject commit f3d7024f600b74986359a38fcf99f139a7584ce7 +Subproject commit e0ce384eaf99897a49667bd44c662ef2d65617b3 diff --git a/jj/build.rs b/jj/build.rs index d9631e680..b8183082f 100644 --- a/jj/build.rs +++ b/jj/build.rs @@ -61,7 +61,6 @@ fn main() -> std::io::Result<()> { #[cfg(target_os = "linux")] println!("cargo:rustc-link-arg=-Wl,-rpath,$ORIGIN"); - Ok(()) } diff --git a/nips b/nips index 630685779..f14f593f3 160000 --- a/nips +++ b/nips @@ -1 +1 @@ -Subproject commit 630685779796fc47e1a7b6bc946b98f4f0d11539 +Subproject commit f14f593f3f1fd76b5896d03bc01927aff8bda564 diff --git a/relay b/relay index 3855cda42..50c665c35 160000 --- a/relay +++ b/relay @@ -1 +1 @@ -Subproject commit 3855cda42187a7fcd77af068291d38e2d681dbb0 +Subproject commit 50c665c35db13462caae2eb08e14aa142e7c75aa diff --git a/src/bin/gnostr.rs b/src/bin/gnostr.rs index 0f3dcf0ab..ec853bf4b 100644 --- a/src/bin/gnostr.rs +++ b/src/bin/gnostr.rs @@ -12,14 +12,12 @@ // See the License for the specific language governing permissions and // limitations under the License. -use jj_cli::cli_util::CliRunner; -use std::process::*; -use std::process::ExitCode; - use std::env; +use std::process::{ExitCode, *}; use futures::executor::block_on; use gnostr_bins::{get_stripped_urls, get_watch_list, get_watch_list_json, print_watch_list}; +use jj_cli::cli_util::CliRunner; pub fn handle_command(mut args: env::Args) -> Result<bool, Box<dyn std::error::Error>> { let _ = args.next(); // program name @@ -31,7 +29,6 @@ pub fn handle_command(mut args: env::Args) -> Result<bool, Box<dyn std::error::E println!("*** COMMAND = {} ***\n", command); match &*command { - //sec nostr private ley "sec" => gnostr_sec(), "--sec" => gnostr_sec(), @@ -115,7 +112,11 @@ fn help() { let package_name = env!("CARGO_PKG_NAME"); let crate_name = env!("CARGO_CRATE_NAME"); let version = env!("CARGO_PKG_VERSION"); - print!("\n1:{} v{}\n\n", package_name.replace("jj-cli", "gnostr"), version); + print!( + "\n1:{} v{}\n\n", + package_name.replace("jj-cli", "gnostr"), + version + ); print!("\n{} v{}\n\n", crate_name.replace("git_", ""), version); print!("3:{} get\n", crate_name.replace("git_", "")); print!("4: <csv_relay_list>\n"); @@ -137,24 +138,20 @@ fn version() { //println!("Program Name: {}", name); //println!("Program Version: {}", version); - println!("{} v{}", crate_name.replace("git_gnostr", "gnostr"), version); + println!( + "{} v{}", + crate_name.replace("git_gnostr", "gnostr"), + version + ); //println!("Program Version: {}", version); //println!("Program Author: {}", author); process::exit(0); } - - fn gnostr_git() -> std::process::ExitCode { //CliRunner::init().version(env!("JJ_VERSION")).run() - - - - - - - + let exit: ExitCode = 0.into(); exit } @@ -180,6 +177,6 @@ fn main() { // } //} - let _exit_code: std::process::ExitCode= gnostr_git(); + let _exit_code: std::process::ExitCode = gnostr_git(); _exit_code; } diff --git a/template/gnostr-init b/template/gnostr-init index 3f56a777f..749089f12 100755 --- a/template/gnostr-init +++ b/template/gnostr-init @@ -1,10 +1,43 @@ -#!/bin/sh -ev +#!/bin/sh -e +DATE=$(date +%s) +site='mempool.space' +until $(ping -q -c1 ${site} > /dev/null 2>&1) +do + echo "${site} is unreachable. Retrying" + # continue +done + +echo "${site} online" + +while : + do + socat /dev/null TCP4:google.com:443,connect-timeout=2 && break + sleep 1 + done + +WEEBLE=$(gnostr-weeble) +BLOCK=$(gnostr-blockheight) +WOBBLE=$(gnostr-wobble) +#git init 2>/dev/null +if [ "$(git rev-parse --is-inside-work-tree 2>/dev/null)" = "true" ]; then +git checkout -b gnostr 2>/dev/null && git switch -t gnostr 2>/dev/null || true +else +git init 2>/dev/null +git checkout -b gnostr 2>/dev/null && git switch -t gnostr 2>/dev/null || true +fi +git config --local init.defaultBranch gnostr +git config --local commit.gpgsign false +MESSAGE=${1:-"gnostr:init"} +MESSAGE2=${2:-""} tmp_branch=__tmp_empty_root git symbolic-ref HEAD refs/heads/$tmp_branch -git rm --cached -r . || true -git clean -f #-d +for file in $(ls);do git rm --cached -rf ./$file 2>/dev/null;done || true +git clean -f || true +git clean -f -d || true touch -t '19700101 UTC' . GIT_COMMITTER_DATE='1970-01-01T00:00:00 +0000' git commit \ - --date='1970-01-01T00:00:00 +0000' --allow-empty -m "gnostr:init" -git rebase --committer-date-is-author-date --onto $tmp_branch --root master + --date='1970-01-01T00:00:00 +0000' --allow-empty -m "$MESSAGE" -m "$MESSAGE2" -m "$WEEBLE/$BLOCK/$WOBBLE" +git rebase --committer-date-is-author-date --onto $tmp_branch --root gnostr git branch -d $tmp_branch +git checkout gnostr + diff --git a/tui/asyncgit/src/sync/commit_filter.rs b/tui/asyncgit/src/sync/commit_filter.rs index 7fdb78182..e491d55d8 100644 --- a/tui/asyncgit/src/sync/commit_filter.rs +++ b/tui/asyncgit/src/sync/commit_filter.rs @@ -217,7 +217,8 @@ pub fn filter_commit_by_search( Ok(msg_summary_match || msg_body_match - || file_match || authors_match) + || file_match + || authors_match) }, )) } diff --git a/tui/src/app.rs b/tui/src/app.rs index 046492688..c75671ef3 100644 --- a/tui/src/app.rs +++ b/tui/src/app.rs @@ -98,8 +98,7 @@ pub struct App { cmdbar: RefCell<CommandBar>, //cmdbar - //Tabs - + //Tabs tab: usize, //tab revlog: Revlog, @@ -321,7 +320,7 @@ impl App { theme.clone(), key_config.clone(), ), - //welcome + //welcome welcome_tab: Welcome::new( repo.clone(), &queue, @@ -330,7 +329,7 @@ impl App { key_config.clone(), options.clone(), ), - //status + //status status_tab: Status::new( repo.clone(), &queue, @@ -339,7 +338,7 @@ impl App { key_config.clone(), options.clone(), ), - //tab + //tab stashing_tab: Stashing::new( &repo, sender, @@ -347,14 +346,14 @@ impl App { theme.clone(), key_config.clone(), ), - //tab + //tab stashlist_tab: StashList::new( repo.clone(), &queue, theme.clone(), key_config.clone(), ), - //tab + //tab files_tab: FilesTab::new( repo.clone(), sender_app, @@ -363,7 +362,7 @@ impl App { theme.clone(), key_config.clone(), ), - //tab + //tab tab: 0, queue, theme, @@ -512,10 +511,10 @@ impl App { let changes = self.status_tab.get_files_changes()?; self.commit.show_editor(changes) - //} else { - // let changes = - // self.welcome_tab.get_files_changes()?; - // self.commit.show_editor(changes) + //} else { + // let changes = + // self.welcome_tab.get_files_changes()?; + // self.commit.show_editor(changes) }; if let Err(e) = result { @@ -600,7 +599,7 @@ impl App { /// pub fn any_work_pending(&self) -> bool { self.welcome_tab.anything_pending() - || self.status_tab.anything_pending() + || self.status_tab.anything_pending() || self.revlog.any_work_pending() || self.stashing_tab.anything_pending() || self.files_tab.anything_pending() @@ -721,13 +720,11 @@ impl App { false } - // + // fn get_tabs(&mut self) -> Vec<&mut dyn Component> { vec![ - - //welcome dashboard - &mut self.welcome_tab, - + //welcome dashboard + &mut self.welcome_tab, &mut self.status_tab, &mut self.revlog, &mut self.files_tab, @@ -785,8 +782,8 @@ impl App { match tab { AppTabs::Welcome => self.set_tab(0)?, AppTabs::Status => self.set_tab(1)?, //1 - AppTabs::Log => self.set_tab(2)?, //2 - AppTabs::Files => self.set_tab(3)?, //3 + AppTabs::Log => self.set_tab(2)?, //2 + AppTabs::Files => self.set_tab(3)?, //3 AppTabs::Stashing => self.set_tab(4)?, //4 AppTabs::Stashlist => self.set_tab(5)?, //5 } diff --git a/tui/src/components/branchlist.rs b/tui/src/components/branchlist.rs index b097ce6d8..f60131505 100644 --- a/tui/src/components/branchlist.rs +++ b/tui/src/components/branchlist.rs @@ -288,7 +288,8 @@ impl Component for BranchListComponent { )); } } else if key_match(e, self.key_config.keys.fetch) - && !self.local && self.has_remotes + && !self.local + && self.has_remotes { self.queue.push(InternalEvent::FetchRemotes); } else if key_match( diff --git a/tui/src/tabs/mod.rs b/tui/src/tabs/mod.rs index 772ab1f77..967e7795c 100644 --- a/tui/src/tabs/mod.rs +++ b/tui/src/tabs/mod.rs @@ -1,9 +1,9 @@ -mod welcome; mod files; mod revlog; mod stashing; mod stashlist; mod status; +mod welcome; pub use files::FilesTab; pub use revlog::Revlog; diff --git a/tui/src/tabs/status.rs b/tui/src/tabs/status.rs index c0926c9e9..0877a5082 100644 --- a/tui/src/tabs/status.rs +++ b/tui/src/tabs/status.rs @@ -701,7 +701,8 @@ impl Status { strings::commands::select_staging(&self.key_config), !focus_on_diff, (self.visible - && !focus_on_diff && self.focus == Focus::WorkDir) + && !focus_on_diff + && self.focus == Focus::WorkDir) || force_all, ) .order(strings::order::NAV), @@ -711,7 +712,8 @@ impl Status { strings::commands::select_unstaged(&self.key_config), !focus_on_diff, (self.visible - && !focus_on_diff && self.focus == Focus::Stage) + && !focus_on_diff + && self.focus == Focus::Stage) || force_all, ) .order(strings::order::NAV), diff --git a/tui/src/tabs/welcome.rs b/tui/src/tabs/welcome.rs index 12ae7bdaf..32e9c4f8a 100644 --- a/tui/src/tabs/welcome.rs +++ b/tui/src/tabs/welcome.rs @@ -701,7 +701,8 @@ impl Welcome { strings::commands::select_staging(&self.key_config), !focus_on_diff, (self.visible - && !focus_on_diff && self.focus == Focus::WorkDir) + && !focus_on_diff + && self.focus == Focus::WorkDir) || force_all, ) .order(strings::order::NAV), @@ -711,7 +712,8 @@ impl Welcome { strings::commands::select_unstaged(&self.key_config), !focus_on_diff, (self.visible - && !focus_on_diff && self.focus == Focus::Stage) + && !focus_on_diff + && self.focus == Focus::Stage) || force_all, ) .order(strings::order::NAV),
Author Public Key
npub15d9enu3v0yxyud4jk0pvxk3kmvrzymjpc6f0eq4ck44vr32qck7smrxq6k