From 51a90fe9a7f51b92f79588ddf8ae0da5eded749c Mon Sep 17 00:00:00 2001 From: Jonathan Staab Date: Wed, 26 Apr 2023 10:12:32 -0500 Subject: [PATCH] Fix onboarding, move some stuff to env vars, fix cursor --- .ackrc | 1 + .env | 3 +++ .env.production | 1 - ROADMAP.md | 7 ++----- package-lock.json | Bin 642238 -> 642238 bytes package.json | 2 +- src/agent/network.ts | 4 +++- src/agent/pool.ts | 19 ++++++++++++------- src/agent/social.ts | 11 ++++------- src/app/views/Onboarding.svelte | 12 ++++++++++++ src/app/views/OnboardingRelays.svelte | 10 ---------- 11 files changed, 38 insertions(+), 32 deletions(-) delete mode 100644 .env.production diff --git a/.ackrc b/.ackrc index d5ed1145..b75c27aa 100644 --- a/.ackrc +++ b/.ackrc @@ -1,4 +1,5 @@ --ignore-dir=node_modules +--ignore-dir=android --ignore-dir=dist --ignore-file=match:package-lock.json --ignore-file=match:.svg diff --git a/.env b/.env index 68b5faff..9b861961 100644 --- a/.env +++ b/.env @@ -1,3 +1,6 @@ VITE_THEME_DARK=transparent:transparent,black:#0f0f0e,white:#FFFFFF,accent:#EB5E28,accent-light:#FB652C,gray-1:#FFFFFF,gray-2:#FAF6F1,gray-3:#F2EBE1,gray-4:#E9E0D3,gray-5:#B3AA98,gray-6:#565249,gray-7:#393530,gray-8:#252422,danger:#ff0000,warning:#ebd112,success:#37ab51,input:#FAF6F1,input-hover:#F2EBE1 VITE_THEME_LIGHT=transparent:transparent,black:#0f0f0e,white:#FFFFFF,accent:#EB5E28,accent-light:#FB652C,gray-8:#FFFFFF,gray-7:#FAF6F1,gray-6:#F2EBE1,gray-5:#B3AA98,gray-4:#B3AA98,gray-3:#565249,gray-2:#393530,gray-1:#252422,danger:#ff0000,warning:#ebd112,success:#37ab51,input:#FAF6F1,input-hover:#F2EBE1 VITE_DUFFLEPUD_URL=https://dufflepud.onrender.com +VITE_DEFAULT_FOLLOWS=97c70a44366a6535c145b333f973ea86dfdc2d7a99da618c40c64705ad98e322,3bf0c63fcb93463407af97a5e5ee64fa883d107ef9e558472c4eb9aaaefa459d,82341f882b6eabcd2ba7f1ef90aad961cf074af15b9ef44a09f9d2a8fbfbe6a2,6e468422dfb74a5738702a8823b9b28168abab8655faacb6853cd0ee15deee93 +VITE_FORCE_RELAYS= +VITE_LOGO_URL= diff --git a/.env.production b/.env.production deleted file mode 100644 index 4503780f..00000000 --- a/.env.production +++ /dev/null @@ -1 +0,0 @@ -VITE_DUFFLEPUD_URL=https://dufflepud.onrender.com diff --git a/ROADMAP.md b/ROADMAP.md index a38d3a7b..708b686b 100644 --- a/ROADMAP.md +++ b/ROADMAP.md @@ -1,15 +1,12 @@ # Current -- [ ] Fix multiplexing -- [ ] Extract libraries - - Cursor - - parseContent - - Tags +- [ ] Fix cursor - [ ] Image classification - https://github.com/bhky/opennsfw2 # Core +- [ ] Key login should accept bech32 and hex - [ ] Make mutes private - [ ] Write multi-relay pagination into paravel and open source it - https://github.com/nostr-protocol/nips/pull/408 diff --git a/package-lock.json b/package-lock.json index 42c833ee639bdd1e3bf6f9b5e688358dccf59f22..a42423427331cb287b6b46f92d1e19b472110290 100644 GIT binary patch delta 285 zcmdltQ+?k|^$jM>jHb<|%TK*Im0bY+u1NP-P6c)`oz;r>XSQ}q}vUiF#|CR5VHa?+jfIz g>;-G-j3&*d%4h$Sc_?Gs>c%wA9l*&@xTi*i73!(zVnwtR%U}BBIpW$jGfE*(JxR$}Kn0 zq#!t_*fYW@F)772Bf={%(9+i>*{jSY)HP$WVu1SOPA2JggJ;Y@%mT!$K+Lw?;2C?t fT6(x(`bK^>Wsno51D)X4{&ot-_P0|wFPZ}Y6`EsH diff --git a/package.json b/package.json index f629223e..6036e288 100644 --- a/package.json +++ b/package.json @@ -49,7 +49,7 @@ "lru-cache": "^7.18.3", "nostr-tools": "^1.7.4", "npm-run-all": "^4.1.5", - "paravel": "^0.1.14", + "paravel": "^0.1.15", "qr-scanner": "^1.4.2", "qrcode": "^1.5.1", "ramda": "^0.28.0", diff --git a/src/agent/network.ts b/src/agent/network.ts index 7ba1323c..41905431 100644 --- a/src/agent/network.ts +++ b/src/agent/network.ts @@ -154,7 +154,9 @@ class Cursor { return load({ relays: relays, - filter: ensurePlural(filter).map(mergeLeft({until, limit: this.limit})), + filter: ensurePlural(filter).map( + mergeLeft({until, limit: this.limit, since: this.since}) + ), onChunk: events => { for (const event of events) { if (event.created_at < this.until[event.seen_on]) { diff --git a/src/agent/pool.ts b/src/agent/pool.ts index e9424d18..55f12046 100644 --- a/src/agent/pool.ts +++ b/src/agent/pool.ts @@ -95,12 +95,17 @@ const Meta = { const forceUrls = (import.meta.env.VITE_FORCE_RELAYS || "").split(",").filter(identity) -const defaultUrls = [ - "wss://purplepag.es", - "wss://relay.damus.io", - "wss://relay.nostr.band", - "wss://nostr-pub.wellorder.net", -] +const countRelay = forceUrls[0] || "wss://rbr.bio" + +const defaultUrls = + forceUrls.length > 0 + ? forceUrls + : [ + "wss://purplepag.es", + "wss://relay.damus.io", + "wss://relay.nostr.band", + "wss://nostr-pub.wellorder.net", + ] const getUrls = relays => { if (relays.length === 0) { @@ -378,7 +383,7 @@ async function subscribe({relays, filter, onEvent, onEose}: SubscribeOpts) { async function count(filter) { const filters = ensurePlural(filter) - const executor = await getExecutor(["wss://rbr.bio"]) + const executor = await getExecutor([countRelay]) return new Promise(resolve => { const sub = executor.count(filters, { diff --git a/src/agent/social.ts b/src/agent/social.ts index 2863e827..39ff9f16 100644 --- a/src/agent/social.ts +++ b/src/agent/social.ts @@ -1,14 +1,11 @@ -import {uniq, without} from "ramda" +import {uniq, identity, without} from "ramda" import {Tags} from "src/util/nostr" import {getPersonWithFallback} from "src/agent/db" import user from "src/agent/user" -export const defaultFollows = [ - "97c70a44366a6535c145b333f973ea86dfdc2d7a99da618c40c64705ad98e322", // hodlbod - "3bf0c63fcb93463407af97a5e5ee64fa883d107ef9e558472c4eb9aaaefa459d", // fiatjaf - "82341f882b6eabcd2ba7f1ef90aad961cf074af15b9ef44a09f9d2a8fbfbe6a2", // jack - "6e468422dfb74a5738702a8823b9b28168abab8655faacb6853cd0ee15deee93", // Gigi -] +export const defaultFollows = (import.meta.env.VITE_DEFAULT_FOLLOWS || "") + .split(",") + .filter(identity) export const getFollows = pubkey => Tags.wrap(getPersonWithFallback(pubkey).petnames).type("p").values().all() diff --git a/src/app/views/Onboarding.svelte b/src/app/views/Onboarding.svelte index c10b2f5a..8278d1d7 100644 --- a/src/app/views/Onboarding.svelte +++ b/src/app/views/Onboarding.svelte @@ -16,6 +16,7 @@ import {getPersonWithFallback} from "src/agent/db" import network from "src/agent/network" import user from "src/agent/user" + import pool from "src/agent/pool" import keys from "src/agent/keys" import {loadAppData} from "src/app/state" import {modal} from "src/partials/state" @@ -24,6 +25,17 @@ const privkey = generatePrivateKey() + const {relays} = user + + if ($relays.length === 0) { + user.updateRelays(() => + (pool.forceUrls.length > 0 ? pool.forceUrls : pool.defaultUrls).map(url => ({ + url, + write: true, + })) + ) + } + const signup = async () => { await keys.login("privkey", privkey) diff --git a/src/app/views/OnboardingRelays.svelte b/src/app/views/OnboardingRelays.svelte index 33ba2b27..c2ec2d5f 100644 --- a/src/app/views/OnboardingRelays.svelte +++ b/src/app/views/OnboardingRelays.svelte @@ -8,20 +8,10 @@ import Content from "src/partials/Content.svelte" import RelayCard from "src/app/shared/RelayCard.svelte" import {watch} from "src/agent/db" - import pool from "src/agent/pool" import user from "src/agent/user" const {relays} = user - if ($relays.length === 0) { - user.updateRelays(() => - (pool.forceUrls.length > 0 ? pool.forceUrls : pool.defaultUrls).map(url => ({ - url, - write: true, - })) - ) - } - let q = "" let search