From 148699a3e7cf1850b35db4c1b2e94d10ec9ec3fd Mon Sep 17 00:00:00 2001 From: Adrien Hopkins Date: Fri, 13 Feb 2026 15:12:06 -0500 Subject: Localize chat addition error messages --- src/routes/(app)/dm/+page.svelte | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'src/routes') diff --git a/src/routes/(app)/dm/+page.svelte b/src/routes/(app)/dm/+page.svelte index 80180209..3247cafe 100644 --- a/src/routes/(app)/dm/+page.svelte +++ b/src/routes/(app)/dm/+page.svelte @@ -160,7 +160,7 @@ const selectChatUsername = async (username: string) => { const response = await fetch(`/api/users/${username}`); if (!response.ok) { - alert("Invalid username"); + alert($t("dm.usernameNotFound")); return; } const coinosUserInfo = await response.json(); @@ -170,7 +170,7 @@ const selectChatNip05 = async (nip05: string) => { const response = await queryProfile(nip05); if (response == null) { - alert("Invalid nip-05"); + alert($t("dm.nip05NotFound")); return; } selectChatPubkey(response.pubkey); -- cgit v1.2.3 From 45fcf3586e5e553a71fe5395da051e424069bd4c Mon Sep 17 00:00:00 2001 From: Adrien Hopkins Date: Sat, 14 Feb 2026 11:03:08 -0500 Subject: Hide empty chats when unselected The only way these chats appear is if you add them, so if you leave them without sending a message, they are removed from the list. You can always add them again using the same way you got them. --- src/routes/(app)/dm/+page.svelte | 16 +++++++++++++++- 1 file changed, 15 insertions(+), 1 deletion(-) (limited to 'src/routes') diff --git a/src/routes/(app)/dm/+page.svelte b/src/routes/(app)/dm/+page.svelte index 3247cafe..71dd9a9d 100644 --- a/src/routes/(app)/dm/+page.svelte +++ b/src/routes/(app)/dm/+page.svelte @@ -134,6 +134,16 @@ let canSendExpiring = $state(false); let nostrUserInfo = $state({}); + const selectedChatEmpty = () => !messageRumours || messageRumours.size == 0; + + const removeChat = (pubkey: string) => { + for (let i = 0; i < chats.length; i++) { + if (chats[i].pubkey === pubkey) { + chats.splice(i, 1); + } + } + } + const includesPubkey = (chats: object[], pubkey: string) => { for (const c of chats) { if (c.pubkey === pubkey) { @@ -144,6 +154,10 @@ } const selectChat = (c: object) => { + if (selectedChat && selectedChatEmpty()) { + removeChat(selectedChat.pubkey); + } + selectedChat = c; if (!includesPubkey(chats, c.pubkey)) { chats.unshift(c); @@ -427,7 +441,7 @@

{creatingNewChat ? $t("dm.newChatHeader") : $t("dm.chatHeader")} - +

{#if creatingNewChat} -- cgit v1.2.3 From d50464203973c14d434955ee132f8c656bbec8aa Mon Sep 17 00:00:00 2001 From: Adrien Hopkins Date: Thu, 19 Feb 2026 13:23:39 -0500 Subject: Avoid error messages on setting chat to null --- src/routes/(app)/dm/+page.svelte | 4 ++++ 1 file changed, 4 insertions(+) (limited to 'src/routes') diff --git a/src/routes/(app)/dm/+page.svelte b/src/routes/(app)/dm/+page.svelte index 71dd9a9d..399a131b 100644 --- a/src/routes/(app)/dm/+page.svelte +++ b/src/routes/(app)/dm/+page.svelte @@ -159,6 +159,10 @@ } selectedChat = c; + if (!selectedChat) { + return; + } + if (!includesPubkey(chats, c.pubkey)) { chats.unshift(c); } -- cgit v1.2.3 From 5c3d01a8b20c670c50063fba581abbdecd9b3633 Mon Sep 17 00:00:00 2001 From: Adrien Hopkins Date: Fri, 20 Feb 2026 11:57:05 -0500 Subject: Clear search query when opening search box --- src/routes/(app)/dm/+page.svelte | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'src/routes') diff --git a/src/routes/(app)/dm/+page.svelte b/src/routes/(app)/dm/+page.svelte index 399a131b..81ade180 100644 --- a/src/routes/(app)/dm/+page.svelte +++ b/src/routes/(app)/dm/+page.svelte @@ -445,7 +445,7 @@

{creatingNewChat ? $t("dm.newChatHeader") : $t("dm.chatHeader")} - +

{#if creatingNewChat} -- cgit v1.2.3 From 8ab48973812289c19f48d15b7a9771a89d35797a Mon Sep 17 00:00:00 2001 From: Adrien Hopkins Date: Tue, 24 Feb 2026 12:00:06 -0500 Subject: Clear DM text entry upon sending DM --- src/routes/(app)/dm/+page.svelte | 1 + 1 file changed, 1 insertion(+) (limited to 'src/routes') diff --git a/src/routes/(app)/dm/+page.svelte b/src/routes/(app)/dm/+page.svelte index 81ade180..8861aa9d 100644 --- a/src/routes/(app)/dm/+page.svelte +++ b/src/routes/(app)/dm/+page.svelte @@ -269,6 +269,7 @@ const sendMessage = async (message: string) => { const expiry = expiryEnabled ? expiryDays : null; await libnip17.send(message, user, selectedChat, expiry); + text = ""; updateEvents(); } -- cgit v1.2.3