From 6b2954c48c58f5a8440f1050393f15a8c9458183 Mon Sep 17 00:00:00 2001 From: Jonathan Staab Date: Fri, 3 Mar 2023 09:26:56 -0600 Subject: [PATCH] Update install instructions --- README.md | 1 + ROADMAP.md | 69 ++++++++++++++++++++++------------- env.template | 2 + package-lock.json | Bin 617023 -> 617023 bytes src/views/search/Scan.svelte | 10 +---- 5 files changed, 48 insertions(+), 34 deletions(-) create mode 100644 env.template diff --git a/README.md b/README.md index e3889f16..b5947283 100644 --- a/README.md +++ b/README.md @@ -41,4 +41,5 @@ You can find a more complete changelog [here](./ROADMAP.md). - Clone the project repository: `git clone https://github.com/staab/coracle.git` - Navitage to the project directory: `cd coracle` - Install dependencies: `npm install` +- Add an env file from the template: `cp env.template env.local` - Start the development server: `npm run dev` diff --git a/ROADMAP.md b/ROADMAP.md index ff572f69..91aa2824 100644 --- a/ROADMAP.md +++ b/ROADMAP.md @@ -1,19 +1,48 @@ # Current +- [ ] Search by nip05 alias + - nevent1qqsdt4ux9c0zvd6hzpwnzznjsmd7a337mpxdspu9wd4fq8drvqejdmqpz3mhxue69uhhyetvv9ujuerpd46hxtnfduqs6amnwvaz7tmwdaejumr0dsffemjp +- [ ] Fix feeds - [ ] Hash pubkey so we can track usage by unique user - [ ] Try adding boxes/separation on feeds based on user feedback - [ ] Strip zero width spaces from compose - [ ] Fix iOS/safari/firefox -- [ ] Make the note relays button modal make sense, one relay with no explanation is not good +- [ ] Add dynamic title tag +- [ ] Show more link on long notes (rather than just an ellipsis) +- [ ] Show popover on delayed hover rather than click (on mobile, keep it click) +- [ ] QR code component that sizes input to qr code width to make it tidy # Image uploads -- Default will charge via lightning and have a tos, others can self-host and skip that. +- [ ] Add LN invoices +- [ ] Build UI + - Put sql stuff in a library, use it in dufflepud and image service +- [ ] Post announcement on SN, TG +- [ ] Contact other client authors, self-hostable, or just use my instance - https://github.com/ElementsProject/lightning-charge - https://github.com/nostr-protocol/nips/pull/250 -- https://github.com/brandonsavage/Upload -- https://github.com/seaweedfs/seaweedfs -- https://github.com/cubefs/cubefs + +# Coracle website + +- [ ] Simple intro to coracle +- [ ] Add nip05 to coracle + - [ ] After ~10 sessions prompt them to verify and update their nip05 + - [ ] Maybe only if they don't have a nip05 yet + +# Others + +- Tool for finding relays with light usage so people can spread out + - Graph view? Query db with COUNT? Hardware specs on relay info endpoint? + - "adoptarelay.com" + - Add suggested relays based on follows or topics +- Recommendations +- Indexer/multiplexer +- relay.coracle.social +- Improve overall design +- Stripped down easy version of coracle + - Extract library? + - Parameterize color scheme + - Deploy to special domains with relays built in # Custom views @@ -23,14 +52,13 @@ # More +- [ ] https://media.nostr.band/ +- [ ] Make the note relays button modal make sense, one relay with no explanation is not good - [ ] Linkify invoices - [ ] Linkify bech32 entities w/ NIP 21 https://github.com/nostr-protocol/nips/blob/master/21.md - [ ] Person zaps -- [ ] Add dynamic title tag - [ ] Collapsible thread view -- [ ] Split inbox into replies + everything else -- [ ] Show more link on long notes -- [ ] Show popover on delayed hover rather than click (on mobile, keep it click) +- [ ] Split notifications into replies + everything else, or add filters - [ ] Light mode - [ ] Mute threads http://localhost:5173/nevent1qqsyz8x6r0cu7l6vwlcjhf8qhxyjtdykvuervkc3t3mfggse4qtwt0gpyfmhxue69uhkummnw3ezumrfvfjhyarpwdc8y6tddaexg6t4d5hxxmmdnhxvea - [ ] Add webtorrent support @@ -47,24 +75,14 @@ - Find the best implementation https://github.com/nostr-protocol/nips/search?q=poll&type=issues - Comment on all three nip drafts which one I implemented - [ ] Micro app DSL -- [ ] Sort feeds by created date on profile page? -- [ ] Implement https://media.nostr.band/ - [ ] Groups - may need a new NIP, or maybe use topics - [ ] Support https://github.com/nostr-protocol/nips/pull/211 as a bech32 entity -- [ ] Add new DM button to dms list -- [ ] Add suggested relays based on follows or topics +- [ ] Add "new DM" button to dms list - [ ] Support relay auth -- [ ] Following indicator on person info - [ ] Share button for notes, shows qr code and nevent -- [ ] If a user has no write relays (or is not logged in), open a modal - [ ] open web+nostr links like snort -- [ ] Channels - - [ ] Separate chat and DMs - - [ ] Don't waste space caching rooms, load those lazily - - [ ] Damus has chats divided into DMs and requests - - [ ] Ability to leave/mute DM conversation - - [ ] Add petnames for channels - - [ ] Add notifications for chat messages +- [ ] Ability to leave/mute DM conversation +- [ ] Add notifications for chat messages - [ ] Add encrypted settings storage using nostr events - [ ] Save DM/chat read status in encrypted note - [ ] Relay recommendations based on follows/followers @@ -74,10 +92,9 @@ - https://github.com/nbd-wtf/nostr-tools/blob/master/nip26.ts - [ ] Add keyword mutes - [ ] Attachments (a tag w/content type and url) -- [ ] Sign in as user with one click to view things from their pubkey's perspective - do this with multiple accounts +- [ ] Sign in as user with one click to view things from their pubkey's perspective - nevent1qqsyyxtrhpsqeqaqgucd6uzpyh8eq2hkfgr0yzr7ku7tgyl5cn9jw5qpz3mhxue69uhhyetvv9ujumn0wd68ytnzvuq3gamnwvaz7tmjv4kxz7fwv3sk6atn9e5k7l564wx -- [ ] Search by nip05 alias - - nevent1qqsdt4ux9c0zvd6hzpwnzznjsmd7a337mpxdspu9wd4fq8drvqejdmqpz3mhxue69uhhyetvv9ujuerpd46hxtnfduqs6amnwvaz7tmwdaejumr0dsffemjp +- [ ] Multiple accounts - [ ] Show options on note detail for retrieving replies - Replies from user's network - All replies from author's + user's read relays, including spam @@ -87,7 +104,7 @@ - [ ] Release to android - https://svelte-native.technology/docs - https://ionic.io/blog/capacitor-everything-youve-ever-wanted-to-know - - Or just wrap it + - Or just wrap it in an apk - [ ] When publishing fails, enqueue and retry - Track which relays the events should be published to, and which ones have succeeded - Maybe notify and ask user which events to re-publish. diff --git a/env.template b/env.template new file mode 100644 index 00000000..dcb3f0ed --- /dev/null +++ b/env.template @@ -0,0 +1,2 @@ +VITE_DUFFLEPUD_URL=https://dufflepud.onrender.com +VITE_SHOW_DEBUG_ROUTE=false diff --git a/package-lock.json b/package-lock.json index 0b9816c3c697832fb975495c618d1886431bd5f3..d9650d5586d135975e595bcba7df75ac5e6a879f 100644 GIT binary patch delta 311 zcmdmgMRorb)eRS!reD9u!QcFVsr>;HBM>uff561tF^AE7^2J%k)91`*mH{#w-Bdy& z^UGblw1bU9!!5m?BLiHb(xM_Fd_6;oyn=nRGM#hX{Jl**@-r&Ev(vT9&0I4J+(JXL z-GZC~f*g&ULVP0p^$W`_(o3_wBhq{foXlOyjI&CTCtu{$m~I!xCNP~_nd9i>1TLQG z7q&2SPrs$i@nP~kPO0{QMa)3V0>rF9%(gvX5&PbHIyr9o!7J=4VAr(+UALWEnbX7_ E08XlH4*&oF delta 307 zcmdmgMRorb)eRS!ri)Ku;%|Py)c$~p5r~<#KVV|+m@~ciFT2U~IrEuirl-iUsfHG~ zIVOeql?3^wg`1|7CWq!`8>AT-ct(|(B$^dOL?&lA1$vh{nzFU+7iH%=7d!cc8Jf7{7K9gv<>njvnTJPAzR0OD-7bzzU^=%l$I;0NTs+e+ zY+>e}eoL9-!{mFMQtbhYn1PrDh*^P{ZF|5X_PzCVaoY5QSJ+j+Zfgg+Z9BIzr-?fN D# - import type {ProfilePointer} from 'nostr-tools/nip19' import QrScanner from 'qr-scanner' import {onDestroy} from 'svelte' import {navigate} from 'svelte-routing' import {waitFor} from 'hurdak/lib/hurdak' - import {pluck, find} from 'ramda' + import {find} from 'ramda' import {nip05, nip19} from 'nostr-tools' import Input from 'src/partials/Input.svelte' import Anchor from 'src/partials/Anchor.svelte' import Spinner from 'src/partials/Spinner.svelte' - import {getUserReadRelays} from 'src/agent/relays' import {toast} from "src/app/ui" let mode = 'input', video, ready, value, scanner @@ -31,12 +29,8 @@ return } - let profile = await nip05.queryProfile(input) as ProfilePointer + let profile = await nip05.queryProfile(input) if (profile) { - if (profile.relays.length === 0) { - profile.relays = pluck('url', getUserReadRelays()) - } - navigate("/" + nip19.nprofileEncode(profile)) return }