Fix pubkey scope fallback, remember theme when logging out

This commit is contained in:
Jon Staab 2024-04-15 15:24:03 -07:00
parent 8ad99ef888
commit c50520b014
3 changed files with 18 additions and 14 deletions

View File

@ -18,6 +18,7 @@
- [x] Republish user profile data when joining a new relay
- [x] Create new note publish status dialog
- [x] Add wallet setup onboarding item
- [x] Remember theme after logging out
# 0.4.4

View File

@ -1,13 +1,18 @@
<script lang="ts">
import {fly} from "src/util/transition"
import {theme} from "src/partials/state"
import Content from "src/partials/Content.svelte"
import {storage} from "src/engine"
storage.clear()
// do a hard refresh so everything gets totally cleared.
// Give them a moment to see the state transition. IndexedDB
// also apparently needs some time
// After our state has been cleared, set the theme again
setTimeout(() => {
theme.set($theme)
}, 1000)
// Do a hard refresh so everything gets totally cleared. Give them a moment to see the state
// transition. IndexedDB also apparently needs some time
setTimeout(() => {
window.location.href = "/notes"
}, 2000)

View File

@ -1,9 +1,10 @@
import {seconds} from "hurdak"
import {seconds, switcherFn} from "hurdak"
import {Worker, writable} from "@coracle.social/lib"
import type {Event, Rumor} from "@coracle.social/util"
import type {LoadOpts} from "@coracle.social/feeds"
import {FeedLoader, Scope, relayFeed, filterFeed} from "@coracle.social/feeds"
import {giftWrapKinds, generatePrivateKey} from "src/util/nostr"
import {env} from "src/engine/session/state"
import {user, session, nip44, nip04} from "src/engine/session/derived"
import {people} from "src/engine/people/state"
import {
@ -82,16 +83,13 @@ export const feedLoader = new FeedLoader<Event | Rumor>({
getPubkeysForScope: (scope: string) => {
const $user = user.get()
switch (scope) {
case Scope.Self:
return $user ? [$user.pubkey] : []
case Scope.Follows:
return getFollowedPubkeys($user)
case Scope.Followers:
return Array.from(getFollowers($user.pubkey).map(p => p.pubkey))
default:
throw new Error(`Invalid scope ${scope}`)
}
const pubkeys = switcherFn(scope, {
[Scope.Self]: () => $user ? [$user.pubkey] : [],
[Scope.Follows]: () => getFollowedPubkeys($user),
[Scope.Followers]: () => Array.from(getFollowers($user.pubkey).map(p => p.pubkey)),
})
return pubkeys.length === 0 ? env.get().DEFAULT_FOLLOWS : pubkeys
},
getPubkeysForWotRange: (min, max) => {
const pubkeys = []