diff --git a/src/app/components/ThunkStatus.svelte b/src/app/components/ThunkStatus.svelte index bb66bcdb..28e11a02 100644 --- a/src/app/components/ThunkStatus.svelte +++ b/src/app/components/ThunkStatus.svelte @@ -3,6 +3,7 @@ import {PublishStatus} from "@welshman/net" import {mergeThunks, publishThunk} from "@welshman/app" import type {Thunk, MergedThunk} from "@welshman/app" + import {throttled} from "@welshman/store" import Icon from '@lib/components/Icon.svelte' import Tippy from "@lib/components/Tippy.svelte" import Button from '@lib/components/Button.svelte' @@ -20,12 +21,11 @@ : publishThunk((thunk as Thunk).request) } - $: status = thunk.status + $: status = throttled(300, thunk.status) $: ps = Object.values($status) $: canCancel = ps.length === 0 - $: isPending = ps.some(s => s.status === Pending) - $: isSuccess = ps.some(s => s.status === Success) $: isFailure = !canCancel && ps.every(s => [Failure, Timeout].includes(s.status)) + $: isPending = !isFailure && ps.some(s => s.status === Pending) $: failure = Object.entries($status).find(([url, s]) => [Failure, Timeout].includes(s.status)) diff --git a/src/app/components/ThunkStatusDetail.svelte b/src/app/components/ThunkStatusDetail.svelte index 01e0ae62..38092934 100644 --- a/src/app/components/ThunkStatusDetail.svelte +++ b/src/app/components/ThunkStatusDetail.svelte @@ -3,13 +3,19 @@ import {displayRelayUrl} from '@welshman/util' import Button from '@lib/components/Button.svelte' - export let url - export let status - export let message - export let retry + export let url: string + export let status: string + export let message: string + export let retry: () => void - if (!message && status === PublishStatus.Timeout) { - message = "request timed out" + $: { + if (!message && status === PublishStatus.Timeout) { + message = "request timed out" + } + + if (!message) { + message = "no details recieved" + } }