Await publish when appropriate

This commit is contained in:
Jon Staab
2024-10-17 12:08:19 -07:00
parent 96bc07c739
commit f4db820588
5 changed files with 14 additions and 22 deletions
+6 -6
View File
@@ -126,7 +126,7 @@ export const addSpaceMembership = async (url: string) => {
const list = get(userMembership) || makeList({kind: MEMBERSHIPS})
const event = await addToListPublicly(list, ["r", url]).reconcile(nip44EncryptToSelf)
return publishThunk({event, relays: ctx.app.router.WriteRelays().getUrls()})
return publishThunk({event, relays: ctx.app.router.WriteRelays().getUrls()}).result
}
export const removeSpaceMembership = async (url: string) => {
@@ -134,14 +134,14 @@ export const removeSpaceMembership = async (url: string) => {
const pred = (t: string[]) => equals(["r", url], t) || t[2] !== url
const event = await removeFromListByPredicate(list, pred).reconcile(nip44EncryptToSelf)
return publishThunk({event, relays: ctx.app.router.WriteRelays().getUrls()})
return publishThunk({event, relays: ctx.app.router.WriteRelays().getUrls()}).result
}
export const addRoomMembership = async (url: string, room: string) => {
const list = get(userMembership) || makeList({kind: MEMBERSHIPS})
const event = await addToListPublicly(list, tagRoom(room, url)).reconcile(nip44EncryptToSelf)
return publishThunk({event, relays: ctx.app.router.WriteRelays().getUrls()})
return publishThunk({event, relays: ctx.app.router.WriteRelays().getUrls()}).result
}
export const removeRoomMembership = async (url: string, room: string) => {
@@ -149,7 +149,7 @@ export const removeRoomMembership = async (url: string, room: string) => {
const pred = (t: string[]) => equals(tagRoom(room, url), t)
const event = await removeFromListByPredicate(list, pred).reconcile(nip44EncryptToSelf)
return publishThunk({event, relays: ctx.app.router.WriteRelays().getUrls()})
return publishThunk({event, relays: ctx.app.router.WriteRelays().getUrls()}).result
}
export const setRelayPolicy = (url: string, read: boolean, write: boolean) => {
@@ -168,7 +168,7 @@ export const setRelayPolicy = (url: string, read: boolean, write: boolean) => {
return publishThunk({
event: createEvent(list.kind, {tags}),
relays: ctx.app.router.WriteRelays().getUrls(),
})
}).result
}
export const setInboxRelayPolicy = (url: string, enabled: boolean) => {
@@ -185,7 +185,7 @@ export const setInboxRelayPolicy = (url: string, enabled: boolean) => {
return publishThunk({
event: createEvent(list.kind, {tags}),
relays: ctx.app.router.WriteRelays().getUrls(),
})
}).result
}
}
+4 -3
View File
@@ -1,10 +1,10 @@
<script lang="ts">
import {pubkey, publishThunk} from '@welshman/app'
import {pubkey} from '@welshman/app'
import Button from "@lib/components/Button.svelte"
import Icon from "@lib/components/Icon.svelte"
import Confirm from "@lib/components/Confirm.svelte"
import EventInfo from "@app/components/EventInfo.svelte"
import {makeDelete} from '@app/commands'
import {publishDelete} from '@app/commands'
import {pushModal} from '@app/modal'
export let url
@@ -25,7 +25,8 @@
This will send a request to delete this message.
Be aware that not all relays may honor this request.`,
confirm: async () => {
await publishThunk({event: makeDelete({event}), relays: [url]})
await publishDelete({event, relays: [url]})
history.back()
},
})
@@ -9,7 +9,7 @@
import Button from "@lib/components/Button.svelte"
import Tippy from "@lib/components/Tippy.svelte"
import EmojiPicker from "@lib/components/EmojiPicker.svelte"
import {makeReaction} from "@app/commands"
import {makeReaction, sendWrapped} from "@app/commands"
export let event: TrustedEvent
export let pubkeys: string[]
@@ -18,17 +18,8 @@
const onClick = async (emoji: NativeEmoji) => {
const template = makeReaction({event, content: emoji.unicode})
const nip59 = Nip59.fromSigner($signer!)
for (const recipient of uniq(pubkeys)) {
const rumor = await nip59.wrap(recipient, template)
publishThunk({
event: rumor.wrap,
relays: ctx.app.router.PublishMessage(recipient).getUrls(),
})
}
sendWrapped({template, pubkeys})
popover.hide()
}
+1 -1
View File
@@ -18,7 +18,7 @@
const back = () => history.back()
const confirm = async (url: string) => {
await addSpaceMembership(url).result
await addSpaceMembership(url)
goto(makeSpacePath(url), {replaceState: true})
+1 -1
View File
@@ -13,7 +13,7 @@
const back = () => history.back()
const tryJoin = async () => {
await addSpaceMembership(url).result
await addSpaceMembership(url)
clearModals()
}