Add contact-aware feed scope
- src/feed.rs: contact_feed + contact_pubkeys fetch the active profile's kind 3 contact list and aggregate notes only from those authors; aggregate_for + FeedBuilder accept an optional author whitelist - IPC: FeedGet accepts contacts_only, resolves the active profile npub - CLI: feed --contacts [limit] filters to the active profile's contacts - Frontend: Feed screen Everyone/My contacts toggle, scope-aware empty states, feedGet(limit, contactsOnly) threading - Tests for author filtering and the contacts scope in feed.rs and FeedScreen.test.tsx
This commit is contained in:
parent
1fd057d3e1
commit
a1445d17a8
10 changed files with 388 additions and 32 deletions
|
|
@ -46,7 +46,8 @@ distribution repositories. Expect some API churn until 1.0. No Docker or databas
|
|||
- **Publishing receipts** — per-relay publish reports, so you always know where a note landed
|
||||
- **Relay management** — add, remove, enable/disable, and latency-test relays from GUI or CLI
|
||||
- **Feed aggregation** — a read-only, newest-first feed of recent text notes aggregated from your
|
||||
enabled relays (24h window), de-duplicated across relays, from a dedicated GUI screen or the CLI
|
||||
enabled relays (24h window), de-duplicated across relays, from a dedicated GUI screen or the CLI.
|
||||
Switch the feed to **My contacts** to show only notes from the active profile's kind 3 contact list
|
||||
- **Encrypted vault** — secret keys encrypted at rest with **AES-256-GCM** under a key derived via
|
||||
**Argon2id** from your password
|
||||
- **Secret key recovery** — reveal a key (hex + `nsec1...`) only after unlocking, from GUI or CLI
|
||||
|
|
@ -211,7 +212,7 @@ cargo run --release -- create "Alice" # create a profile
|
|||
cargo run --release -- list # list profiles (no secret keys)
|
||||
cargo run --release -- switch <npub> # select the active profile
|
||||
cargo run --release -- publish <npub> "Hello" # publish a text note
|
||||
cargo run --release -- feed [limit] # fetch recent notes from enabled relays
|
||||
cargo run --release -- feed [--contacts] [limit] # fetch recent notes; --contacts = your contacts
|
||||
cargo run --release -- relays list|add|remove|enable|disable|test
|
||||
cargo run --release -- settings get|set <key> <value>
|
||||
cargo run --release -- set-password # encrypt the vault (or change its password)
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue