A Nostr client that makes relays a first-class concept
Go to file
2022-11-26 16:24:45 -08:00
public First commit 2022-11-22 17:28:33 -08:00
src Suspend subscriptions while modal is open 2022-11-26 16:24:45 -08:00
.ackrc First commit 2022-11-22 17:28:33 -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 First commit 2022-11-22 17:28:33 -08:00
index.html First commit 2022-11-22 17:28:33 -08:00
jsconfig.json First commit 2022-11-22 17:28:33 -08:00
package-lock.json Things are basically working, profile update done 2022-11-23 19:54:22 -08:00
package.json Things are basically working, profile update done 2022-11-23 19:54:22 -08:00
postcss.config.cjs First commit 2022-11-22 17:28:33 -08:00
README.md Batch ensureAccounts, make getter and subscriptions more distinct 2022-11-26 15:53:26 -08:00
tailwind.config.cjs Add chat 2022-11-24 12:36:14 -08:00
vite.config.js Things are basically working, profile update done 2022-11-23 19:54:22 -08:00

Bugs

  • Fix scrolling on note detail
  • Ellipsize and hyperlink links
  • Be sure to deduplicate all events if needed
  • Format text with line breaks - pre, or split/br
  • Remove dexie, or use it instead of localstorage for cached data
  • rename /user to /users
  • Memoize room list, currently every time the user switches chat rooms it pulls the full list
  • Fix toast, it gets in the way. Make it smaller and dismissable.

Features

  • Threads/social
  • Followers
  • Server discovery
  • Favorite chat rooms

Nostr implementation comments

  • It's impossible to get deletes for an event's replies/mentions in one query, since deletes can't tag anything other than what is to be deleted.
  • Recursive queries are really painful, e.g. to get all notes for an account, you need to 1. get the account's notes, then get everything with those notes in their tags, then get deletions for those.
  • The limit of 3 channels makes things difficult. I want to show a modal without losing all the state in the background. I am reserving one channel for one-off recursive queries.
  • Why no spaces in names? Seems user hostile