diff --git a/ROADMAP.md b/ROADMAP.md
index 39f36445..18142e8d 100644
--- a/ROADMAP.md
+++ b/ROADMAP.md
@@ -3,10 +3,7 @@
- [ ] Fix memory usage
- [x] Add table of user events, derive profile from this using `watch`.
- [x] Make zapper info more compact
- - [ ] Migrate
- - [ ] Test
- - [ ] Test that relays/follows made as anon don't stomp user settings on login
- - [ ] Test anonymous usage, public key only usage
+ - [ ] Person search doesn't find people on first load
- [ ] Fix re-connects
- [ ] Show loading/success on zap invoice screen
- [ ] Fix iOS/safari/firefox
diff --git a/src/agent/user.ts b/src/agent/user.ts
index f658e19f..3a09c088 100644
--- a/src/agent/user.ts
+++ b/src/agent/user.ts
@@ -75,7 +75,7 @@ export default {
profile.update(assoc("petnames", $petnames))
- if (profileCopy) {
+ if (keys.canSign()) {
return cmd.setPetnames($petnames).publish(profileCopy.relays)
}
},
@@ -102,7 +102,7 @@ export default {
profile.update(assoc("relays", $relays))
- if (profileCopy) {
+ if (keys.canSign()) {
return cmd.setRelays($relays).publish($relays)
}
},
@@ -132,7 +132,7 @@ export default {
profile.update(assoc("mutes", $mutes))
- if (profileCopy) {
+ if (keys.canSign()) {
return cmd.setMutes($mutes.map(slice(0, 2))).publish(profileCopy.relays)
}
},
diff --git a/src/partials/Channel.svelte b/src/partials/Channel.svelte
index 48614864..4bf5e280 100644
--- a/src/partials/Channel.svelte
+++ b/src/partials/Channel.svelte
@@ -20,8 +20,6 @@
let showNewMessages = false
let cursor = new Cursor()
- const {profile} = user
-
$: {
// Group messages so we're only showing the person once per chunk
annotatedMessages = reverse(
@@ -54,7 +52,7 @@
}
onMount(() => {
- if (!$profile) {
+ if (!user.getPubkey()) {
return navigate("/login")
}
diff --git a/src/views/SideNav.svelte b/src/views/SideNav.svelte
index dce80040..8af5f2fe 100644
--- a/src/views/SideNav.svelte
+++ b/src/views/SideNav.svelte
@@ -59,32 +59,30 @@
Scan
- {#if $profile}
-
-
- Messages
- {#if $newDirectMessages}
-
- {/if}
-
-
-
-
- Chat
- {#if $newChatMessages}
-
- {/if}
-
-
- {/if}
+
+
+ Messages
+ {#if $newDirectMessages}
+
+ {/if}
+
+
+
+
+ Chat
+ {#if $newChatMessages}
+
+ {/if}
+
+
@@ -94,7 +92,7 @@
{/if}
- {#if $profile}
+ {#if $profile.pubkey}
Keys
diff --git a/src/views/onboarding/Onboarding.svelte b/src/views/onboarding/Onboarding.svelte
index a5c00091..d5915847 100644
--- a/src/views/onboarding/Onboarding.svelte
+++ b/src/views/onboarding/Onboarding.svelte
@@ -22,19 +22,27 @@
export let stage
- let relays = [
- {url: "wss://nostr-pub.wellorder.net", write: true},
- {url: "wss://nostr.zebedee.cloud", write: true},
- {url: "wss://nos.lol", write: true},
- {url: "wss://brb.io", write: true},
- ]
+ const {relays: userRelays, petnamePubkeys} = user
- let follows = [
- "97c70a44366a6535c145b333f973ea86dfdc2d7a99da618c40c64705ad98e322", // hodlbod
- "3bf0c63fcb93463407af97a5e5ee64fa883d107ef9e558472c4eb9aaaefa459d", // fiatjaf
- "82341f882b6eabcd2ba7f1ef90aad961cf074af15b9ef44a09f9d2a8fbfbe6a2", // jack
- "6e468422dfb74a5738702a8823b9b28168abab8655faacb6853cd0ee15deee93", // Gigi
- ]
+ let relays =
+ $userRelays.length > 0
+ ? $userRelays
+ : [
+ {url: "wss://nostr-pub.wellorder.net", write: true},
+ {url: "wss://nostr.zebedee.cloud", write: true},
+ {url: "wss://nos.lol", write: true},
+ {url: "wss://brb.io", write: true},
+ ]
+
+ let follows =
+ $petnamePubkeys.length > 0
+ ? $petnamePubkeys
+ : [
+ "97c70a44366a6535c145b333f973ea86dfdc2d7a99da618c40c64705ad98e322", // hodlbod
+ "3bf0c63fcb93463407af97a5e5ee64fa883d107ef9e558472c4eb9aaaefa459d", // fiatjaf
+ "82341f882b6eabcd2ba7f1ef90aad961cf074af15b9ef44a09f9d2a8fbfbe6a2", // jack
+ "6e468422dfb74a5738702a8823b9b28168abab8655faacb6853cd0ee15deee93", // Gigi
+ ]
const privkey = generatePrivateKey()
diff --git a/src/views/relays/RelayCard.svelte b/src/views/relays/RelayCard.svelte
index 5dacc1de..32f23122 100644
--- a/src/views/relays/RelayCard.svelte
+++ b/src/views/relays/RelayCard.svelte
@@ -6,6 +6,7 @@
import RelayCard from "src/partials/RelayCard.svelte"
import pool from "src/agent/pool"
import user from "src/agent/user"
+ import keys from "src/agent/keys"
import {loadAppData} from "src/app"
export let relay
@@ -17,6 +18,8 @@
let joined = false
const {relays, canPublish} = user
+ const {method} = keys
+ const isPubkeyLogin = $method === "pubkey"
$: joined = find(propEq("url", relay.url), $relays)
@@ -47,8 +50,8 @@
1 && canPublish ? removeRelay : null}>
+ addRelay={!joined && !isPubkeyLogin ? addRelay : null}
+ removeRelay={joined && $relays.length > 1 && !isPubkeyLogin ? removeRelay : null}>
{#if showControls && $canPublish}
Publish to this relay?