From 849edaa20b89883e07e0a7c233550d1b5a78de97 Mon Sep 17 00:00:00 2001 From: sepehr-safari Date: Tue, 22 Sep 2026 23:24:58 +0300 Subject: [PATCH] docs: open the store section with what it does The section now starts by saying what a run with --store keeps and how a later run reads it back, then shows the two commands. The timeout note in the release notes is shorter too. --- .github/RELEASE_NOTES.md | 2 +- README.md | 4 +--- 2 files changed, 2 insertions(+), 4 deletions(-) diff --git a/.github/RELEASE_NOTES.md b/.github/RELEASE_NOTES.md index 9472e0e..74a3df4 100644 --- a/.github/RELEASE_NOTES.md +++ b/.github/RELEASE_NOTES.md @@ -19,7 +19,7 @@ The second dials nothing. The events are the same events, and they still verify, **Events are checked before they are kept or printed.** A relay can send anything. A signature that does not verify is dropped, and so is an event that does not answer the question that was asked. Both are reported rather than silently skipped. -**A query gives up rather than hanging.** Thirty seconds by default, `--timeout` to change it. This is a deliberate difference from nak, whose per-relay wait has no timer at all: a relay that accepts a subscription and then goes quiet will hold it open indefinitely. That is survivable at a prompt and not in a script. +**A query gives up rather than hanging.** Thirty seconds by default, `--timeout` to change it. **Publishing succeeds when any relay accepts.** An event one relay holds is published, so a partial failure exits 0 with every refusal named on stderr, and only a total failure exits 1. Scripts should not retry something that already happened. diff --git a/README.md b/README.md index c9158bb..2432723 100644 --- a/README.md +++ b/README.md @@ -59,7 +59,7 @@ deed reaches relays and keeps what it finds. Every verb that does not need a soc ## It keeps what it fetches -This is the part other nostr command lines do not have, and the reason this one exists. +A run that reaches relays can keep what it received, and a later run can ask the store instead of the network: ```sh deed req -k 1 -l 50 --store ~/.deed/db wss://relay.example # once, over the network @@ -68,8 +68,6 @@ deed req -k 1 -l 50 --store ~/.deed/db --local # again, dialling n The second command opens no socket. The events came out of a local store that the first command filled, and they are the same events: `deed verify` is as happy with them as it was the first time, because what is stored is what was signed. -nak, the command line most people reach for, keeps almost nothing. Its local database is behind a build tag for Linux on x86_64 only, so on a Mac or an ARM machine every run starts from nothing, and even where it is compiled in, `req` and `fetch` never write to it. That is a reasonable choice for a tool built to poke at relays. It is a bad one if you want to ask the same question twice. - Events are checked before they are stored or printed. A relay can send anything, so a signature that does not verify, and an event that does not answer the question that was asked, are both dropped and reported. ## What is missing