mirror of
https://github.com/mikedilger/gossip.git
synced 2024-10-01 09:21:53 +00:00
README.md
This commit is contained in:
parent
eac0c63efc
commit
efdf62db16
79
README.md
Normal file
79
README.md
Normal file
@ -0,0 +1,79 @@
|
||||
# Gossip
|
||||
|
||||
Gossip is a desktop client for nostr.
|
||||
|
||||
Nostr is "Notes and Other Stuff Transmitted by Relays."
|
||||
|
||||
This is pre-alpha code. It is not ready for use.
|
||||
|
||||
NOTE: After two false starts (tauri, gtk4) I'm moving to egui, which should be much easier
|
||||
and faster to develop.
|
||||
|
||||
## Features
|
||||
|
||||
- Asychronous design: No busy waiting or polling.
|
||||
- Portable. The UI will run on anything that runs one of these backends: OpenGL (glium, glow), OpenGL ES (glow, wgpu), WebGL (glow), Vulkan (wgpu), Metal (wgpu), DirectX 11/12 (wgpu), Browsers (WebAssembly). And rust runs very many places.
|
||||
- Talks to as few relays as it needs to to keep up with the people you follow, and doesn't overload them with too heavy of requests.
|
||||
|
||||
## nostr features supported
|
||||
|
||||
This section will need updating.
|
||||
- Reads and displays type=1 (TextNote) events in a feed sorted by time created.
|
||||
- Shows replies under the message they reply to
|
||||
- Shows deleted events struck out with red deleted marker.
|
||||
- Shows people you subscribe to in the Person tab
|
||||
- Processes type=0 (Metadata) events to show user information on events in your feed (name, avatar)
|
||||
- Lets you subscribe to a person (via public key and relay), but currently requires a restart
|
||||
- Identity:
|
||||
- Lets you generate an ID (private key) and stores that key encrypted under a passphrase, zeroing memory when finished with it where it can.
|
||||
- Lets you import an ID (private key)
|
||||
- Settings: feed chunk size, overlap, autofollow, but these don't work right yet.
|
||||
|
||||
## nostr features planned for first alpha release
|
||||
|
||||
- [ ] Create your identity
|
||||
- [ ] Follow people and see their feed posts in time order
|
||||
- [ ] See your feed in threaded mode
|
||||
- [ ] Choose and manage relays to post to
|
||||
- [ ] Post messages and reactions
|
||||
- [ ] Show reactions
|
||||
|
||||
## nostr features planned for subsequent releases
|
||||
|
||||
- [ ] Lets you subscribe to a person via a DNS ID (NIP-35)
|
||||
- [ ] Validates users via NIP-05
|
||||
- [ ] Lets you react to other people's posts
|
||||
- [ ] Lets you show events from people you don't follow if they reply to a post you do
|
||||
- [ ] Lets you mute someone
|
||||
- [ ] Lets you rank relays
|
||||
- [ ] Shows links as links
|
||||
- [ ] Shows images inline (option to wait for your approval)
|
||||
- [ ] Include a 'client' tag
|
||||
- [ ] Show the 'client' tag of posts
|
||||
- [ ] Support "content-warning"
|
||||
- [ ] Allow browsing of relay-global events of people you dont follow
|
||||
- [ ] Multiple identities
|
||||
- [ ] Publish your following list
|
||||
- [ ] Follow someone privately (without including in your posted following list)
|
||||
- [ ] Allow viewing of other people's following lists w/ petnames
|
||||
- [ ] Dismiss a message for this session only w/o deleting it
|
||||
|
||||
## Technology Involved
|
||||
|
||||
- Rust Language
|
||||
- egui Rust GUI framework
|
||||
- SQLite 3
|
||||
- Tungstenite websocket library
|
||||
- Tokio async task runtime
|
||||
- Serde serialization/deserialization
|
||||
- Many others
|
||||
|
||||
## License
|
||||
|
||||
* MIT license ([LICENSE-MIT](LICENSE-MIT) or http://opensource.org/licenses/MIT)
|
||||
|
||||
### Contribution
|
||||
|
||||
Unless you explicitly state otherwise, any contribution intentionally submitted
|
||||
for inclusion in the work by you, shall be licensed as above, without any additional
|
||||
terms or conditions.
|
Loading…
Reference in New Issue
Block a user