A Nostr client that makes relays a first-class concept
Go to file
2022-12-20 14:56:03 -08:00
public First commit 2022-11-22 17:28:33 -08:00
src Wait only for one eose 2022-12-20 14:56:03 -08:00
.ackrc Improve channel management and chunked retrieval of events 2022-11-29 10:21:51 -08:00
.env.local Add alerts page 2022-12-20 14:56:03 -08:00
.env.production Make dufflepud configurable 2022-12-03 12:56:39 -08:00
.eslintrc.cjs First commit 2022-11-22 17:28:33 -08:00
.fdignore First commit 2022-11-22 17:28:33 -08:00
.gitignore Make dufflepud configurable 2022-12-03 12:56:39 -08:00
CNAME Add CNAME file 2022-11-26 21:47:56 -08:00
index.html Nail down sub/unsub with modal 2022-11-30 09:12:28 -08:00
jsconfig.json First commit 2022-11-22 17:28:33 -08:00
LICENSE Add license 2022-12-19 08:49:31 -08:00
package-lock.json Add link previews 2022-12-03 12:26:13 -08:00
package.json Add link previews 2022-12-03 12:26:13 -08:00
postcss.config.cjs First commit 2022-11-22 17:28:33 -08:00
README.md Rename user > person 2022-12-20 14:56:03 -08:00
tailwind.config.cjs Get everything working again 2022-11-30 10:26:58 -08:00
vite.config.js Add sourcemaps 2022-12-05 21:46:40 -08:00

What is this?

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.

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.

Features

  • Chat
  • Threads/social
  • Search
  • Notifications
  • Link previews
  • Add notes, follows, likes tab to profile
  • Mentions - render done, now reference in compose
  • Image uploads
  • An actual readme
  • Server discovery and relay publishing - https://github.com/nostr-protocol/nips/pull/32/files
  • Favorite chat rooms
  • Optimistically load events the user publishes (e.g. to reduce reflow for reactions/replies).
    • Essentially, we can pretend to be our own in-memory relay.
    • This allows us to keep a copy of all user data, and possibly user likes/reply parents
  • Support invoices https://twitter.com/jb55/status/1604131336247476224

Bugs

  • Completely redo notes fetching, it's buggy as heck
    • uniq and sortBy are sprinkled all over the place, figure out a better solution
    • Search page is slow and likes don't show up. Probably move this server-side
    • User detail is not filtering by author
  • Add alerts for replies to posts the user liked
  • Support bech32 keys/add guide on how to convert
  • 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
  • We're sending client=astral tags, event id 125ff9dc495f65d302e8d95ea6f9385106cc31b81c80e8c582b44be92fa50c44

Workers