From 39a58910f8df6384a58e57358ce08120e207dc09 Mon Sep 17 00:00:00 2001 From: userAdityaa Date: Mon, 1 Jun 2026 15:36:38 +0530 Subject: [PATCH] feat: show per-relay failure, pending breakdown on outgoing messages --- src/app/components/Chat.svelte | 2 +- src/app/components/ChatMessage.svelte | 6 +- src/app/components/RoomItem.svelte | 4 +- src/app/components/ThunkFailure.svelte | 42 +++----- src/app/components/ThunkStatus.svelte | 14 ++- src/app/components/ThunkStatusDetail.svelte | 108 +++++++++++++++++--- src/routes/spaces/[relay]/[h]/+page.svelte | 2 +- src/routes/spaces/[relay]/chat/+page.svelte | 2 +- 8 files changed, 127 insertions(+), 53 deletions(-) diff --git a/src/app/components/Chat.svelte b/src/app/components/Chat.svelte index 4a078841..6d060ecf 100644 --- a/src/app/components/Chat.svelte +++ b/src/app/components/Chat.svelte @@ -280,7 +280,7 @@ - + {#if missingRelayLists.length > 0}
diff --git a/src/app/components/ChatMessage.svelte b/src/app/components/ChatMessage.svelte index c54249b1..f8022a96 100644 --- a/src/app/components/ChatMessage.svelte +++ b/src/app/components/ChatMessage.svelte @@ -65,9 +65,6 @@ let popoverIsVisible = $state(false) -{#if thunk} - -{/if}
+ {#if isOwn && thunk} + + {/if}
diff --git a/src/app/components/RoomItem.svelte b/src/app/components/RoomItem.svelte index 1cf4623c..2fc3898d 100644 --- a/src/app/components/RoomItem.svelte +++ b/src/app/components/RoomItem.svelte @@ -126,8 +126,8 @@ {/if}
- {#if thunk} - + {#if event.pubkey === $pubkey && thunk} + {/if}
diff --git a/src/app/components/ThunkFailure.svelte b/src/app/components/ThunkFailure.svelte index c09186e3..b21691db 100644 --- a/src/app/components/ThunkFailure.svelte +++ b/src/app/components/ThunkFailure.svelte @@ -1,14 +1,14 @@ {#if showFailure} - {@const url = failedUrls[0]} - {@const {status, detail: message} = $thunk.results[url]} +
+
+ + + {title} + + +
+
+
+ {#each successUrls as url (url)} +
+ + {displayRelayUrl(url)} +
+ {/each} + {#each failedUrls as url (url)} + {@const {detail, status} = $thunk.results[url] || {}} +
+ +
+

{displayRelayUrl(url)}

+

{addPeriod(relayMessage(status, detail))}

+
+ +
+ {/each} +
diff --git a/src/routes/spaces/[relay]/[h]/+page.svelte b/src/routes/spaces/[relay]/[h]/+page.svelte index 55ea26d8..a238253c 100644 --- a/src/routes/spaces/[relay]/[h]/+page.svelte +++ b/src/routes/spaces/[relay]/[h]/+page.svelte @@ -470,7 +470,7 @@ bind:element onscroll={onScroll} class={cx( - "flex-col-reverse pb-0! pt-4", + "flex-col-reverse pb-0! pt-4 md:pb-8!", showMobileVideoPanel ? "hidden md:flex md:flex-col-reverse" : "flex", pageContentHiddenDesktopVideoOnly && "md:hidden", )}> diff --git a/src/routes/spaces/[relay]/chat/+page.svelte b/src/routes/spaces/[relay]/chat/+page.svelte index 9fdd55d3..07795e51 100644 --- a/src/routes/spaces/[relay]/chat/+page.svelte +++ b/src/routes/spaces/[relay]/chat/+page.svelte @@ -318,7 +318,7 @@ {/snippet} - + {#if loadingForward}

Looking for messages...