coracle/README.md

55 lines
2.1 KiB
Markdown
Raw Normal View History

2022-12-15 18:31:47 +00:00
# What is this?
2022-11-24 19:47:03 +00:00
2022-12-15 18:31:47 +00:00
Coracle is a web client for the Nostr protocol. While Nostr is useful for many things, Coracle focuses on providing a high-quality user experience. Check it out at [coracle.social](https://coracle.social).
[Dufflepud](https://github.com/staab/dufflepud) is a companion server which you can self-host. It helps Coracle with things like link previews and image uploads.
Coracle is currently in _alpha_ - expect bugs, slow loading times, and rough edges.
2022-11-24 19:47:03 +00:00
2022-12-15 18:31:47 +00:00
# Features
2022-11-24 19:47:03 +00:00
2022-11-27 03:34:28 +00:00
- [x] Chat
- [x] Threads/social
2022-12-03 20:26:09 +00:00
- [x] Search
2022-12-15 13:55:12 +00:00
- [x] Notifications
2022-12-06 05:46:40 +00:00
- [x] Link previews
2022-12-14 06:01:26 +00:00
- [x] Add notes, follows, likes tab to profile
2022-12-15 18:31:47 +00:00
- [ ] Mentions - render done, now reference in compose
- [ ] Image uploads
2022-12-15 13:55:12 +00:00
- [ ] An actual readme
2022-12-03 20:26:09 +00:00
- [ ] Server discovery and relay publishing - https://github.com/nostr-protocol/nips/pull/32/files
2022-12-17 20:30:18 +00:00
- [ ] Support invoices https://twitter.com/jb55/status/1604131336247476224
2022-12-23 19:59:40 +00:00
- [ ] Expand/collapse large threads
- [ ] NIP 05
2022-12-15 18:31:47 +00:00
# Bugs
2022-12-23 19:59:40 +00:00
- [ ] Use https://nostr.watch/relays.json to populate relays
2022-12-15 18:31:47 +00:00
- [ ] Add alerts for replies to posts the user liked
- [ ] With link/image previews, remove the url from the note body if it's on a separate last line
- [ ] Stack views so scroll position isn't lost on navigation
2022-12-20 13:48:28 +00:00
- [ ] Add notification for slow relays
- [ ] Wait for 60% or so of relays to eose to balance completeness with speed
2022-12-23 19:59:40 +00:00
- [ ] Add a CSP, check for XSS in image urls
2022-12-16 17:45:58 +00:00
2022-12-20 22:49:16 +00:00
# Current update
2022-12-16 17:45:58 +00:00
2022-12-23 19:59:40 +00:00
- [ ] Write blog post
2022-12-20 13:48:28 +00:00
- [x] Sync user
- [x] Based on petnames, sync network to 2 or 3 degrees of separation
2022-12-19 14:46:22 +00:00
- When a user is added/removed, sync them and add to or remove from network
2022-12-23 19:59:40 +00:00
- [x] Add cursor object to handle since/until/last sync
- [x] Separate fetching and loading from the db
- Each route should have a fetcher and loader.
- The fetcher should keep track of the range of notes it has already gotten
- Separate helper functions into loaders and fetchers
2022-12-23 19:59:40 +00:00
- [x] Main fetch requests:
2022-12-19 14:46:22 +00:00
- Fetch feed by name, since last sync
2022-12-19 12:04:21 +00:00
- Fetch person, including feed
- Fetch note, including context
- This is based on detail pages. Each request should check local db and fall back to network, all within an await.
2022-12-20 22:49:16 +00:00
2022-12-23 19:59:40 +00:00
# Problems to solve
2022-12-20 22:49:16 +00:00
2022-12-23 19:59:40 +00:00
- [ ] How will newcomers get followed?