fix: 🐛
This commit is contained in:
@@ -24,8 +24,11 @@ export default function SaveButton({
|
|||||||
|
|
||||||
setPushing(true)
|
setPushing(true)
|
||||||
const event = createRelayListDraftEvent(mailboxRelays)
|
const event = createRelayListDraftEvent(mailboxRelays)
|
||||||
|
console.log('Saving mailbox relays:', event)
|
||||||
const relayListEvent = await publish(event)
|
const relayListEvent = await publish(event)
|
||||||
|
console.log('Published relay list event:', relayListEvent)
|
||||||
await updateRelayListEvent(relayListEvent)
|
await updateRelayListEvent(relayListEvent)
|
||||||
|
|
||||||
toast({
|
toast({
|
||||||
title: 'Save Successful',
|
title: 'Save Successful',
|
||||||
description: 'Successfully saved mailbox relays'
|
description: 'Successfully saved mailbox relays'
|
||||||
|
|||||||
@@ -172,9 +172,7 @@ export function NostrProvider({ children }: { children: React.ReactNode }) {
|
|||||||
indexedDb.getReplaceableEvent(account.pubkey, ExtendedKind.FAVORITE_RELAYS)
|
indexedDb.getReplaceableEvent(account.pubkey, ExtendedKind.FAVORITE_RELAYS)
|
||||||
])
|
])
|
||||||
if (storedRelayListEvent) {
|
if (storedRelayListEvent) {
|
||||||
setRelayList(
|
setRelayList(getRelayListFromRelayListEvent(storedRelayListEvent))
|
||||||
storedRelayListEvent ? getRelayListFromRelayListEvent(storedRelayListEvent) : null
|
|
||||||
)
|
|
||||||
}
|
}
|
||||||
if (storedProfileEvent) {
|
if (storedProfileEvent) {
|
||||||
setProfileEvent(storedProfileEvent)
|
setProfileEvent(storedProfileEvent)
|
||||||
|
|||||||
@@ -4,7 +4,7 @@ import { Event, kinds } from 'nostr-tools'
|
|||||||
|
|
||||||
type TValue<T = any> = {
|
type TValue<T = any> = {
|
||||||
key: string
|
key: string
|
||||||
value: T
|
value: T | null
|
||||||
addedAt: number
|
addedAt: number
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -140,7 +140,7 @@ class IndexedDbService {
|
|||||||
const getRequest = store.get(key)
|
const getRequest = store.get(key)
|
||||||
getRequest.onsuccess = () => {
|
getRequest.onsuccess = () => {
|
||||||
const oldValue = getRequest.result as TValue<Event> | undefined
|
const oldValue = getRequest.result as TValue<Event> | undefined
|
||||||
if (oldValue && oldValue.value.created_at >= event.created_at) {
|
if (oldValue?.value && oldValue.value.created_at >= event.created_at) {
|
||||||
transaction.commit()
|
transaction.commit()
|
||||||
return resolve(oldValue.value)
|
return resolve(oldValue.value)
|
||||||
}
|
}
|
||||||
@@ -163,7 +163,11 @@ class IndexedDbService {
|
|||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
async getReplaceableEvent(pubkey: string, kind: number, d?: string): Promise<Event | undefined> {
|
async getReplaceableEvent(
|
||||||
|
pubkey: string,
|
||||||
|
kind: number,
|
||||||
|
d?: string
|
||||||
|
): Promise<Event | undefined | null> {
|
||||||
const storeName = this.getStoreNameByKind(kind)
|
const storeName = this.getStoreNameByKind(kind)
|
||||||
if (!storeName) {
|
if (!storeName) {
|
||||||
return Promise.reject('store name not found')
|
return Promise.reject('store name not found')
|
||||||
@@ -232,7 +236,7 @@ class IndexedDbService {
|
|||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
async getMuteDecryptedTags(id: string): Promise<string[][]> {
|
async getMuteDecryptedTags(id: string): Promise<string[][] | null> {
|
||||||
await this.initPromise
|
await this.initPromise
|
||||||
return new Promise((resolve, reject) => {
|
return new Promise((resolve, reject) => {
|
||||||
if (!this.db) {
|
if (!this.db) {
|
||||||
@@ -288,7 +292,11 @@ class IndexedDbService {
|
|||||||
|
|
||||||
request.onsuccess = () => {
|
request.onsuccess = () => {
|
||||||
transaction.commit()
|
transaction.commit()
|
||||||
resolve((request.result as TValue<Event>[])?.map((item) => item.value))
|
resolve(
|
||||||
|
((request.result as TValue<Event>[])
|
||||||
|
?.map((item) => item.value)
|
||||||
|
.filter(Boolean) as Event[]) ?? []
|
||||||
|
)
|
||||||
}
|
}
|
||||||
|
|
||||||
request.onerror = (event) => {
|
request.onerror = (event) => {
|
||||||
@@ -337,7 +345,10 @@ class IndexedDbService {
|
|||||||
request.onsuccess = (event) => {
|
request.onsuccess = (event) => {
|
||||||
const cursor = (event.target as IDBRequest).result
|
const cursor = (event.target as IDBRequest).result
|
||||||
if (cursor) {
|
if (cursor) {
|
||||||
callback((cursor.value as TValue<Event>).value)
|
const value = (cursor.value as TValue<Event>).value
|
||||||
|
if (value) {
|
||||||
|
callback(value)
|
||||||
|
}
|
||||||
cursor.continue()
|
cursor.continue()
|
||||||
} else {
|
} else {
|
||||||
transaction.commit()
|
transaction.commit()
|
||||||
|
|||||||
Reference in New Issue
Block a user