From 84de6ec02c3f425fbefe073b7f457e7b85afe5d4 Mon Sep 17 00:00:00 2001 From: Simon Klee Date: Tue, 7 Jul 2026 08:14:31 +0200 Subject: [PATCH] tui: report clipboard copy delivery status --- packages/tui/src/component/dialog-debug.tsx | 20 +++++++++++++++----- 1 file changed, 15 insertions(+), 5 deletions(-) diff --git a/packages/tui/src/component/dialog-debug.tsx b/packages/tui/src/component/dialog-debug.tsx index fcf2673187..b33b95f87c 100644 --- a/packages/tui/src/component/dialog-debug.tsx +++ b/packages/tui/src/component/dialog-debug.tsx @@ -9,6 +9,7 @@ import { useClipboard } from "../context/clipboard" import { useToast } from "../ui/toast" import { describeOS, describeTerminal } from "../util/system" import { useTuiApp } from "../context/runtime" +import { formatClipboardWriteNotification } from "../clipboard" export function DialogDebug() { const theme = useTheme() @@ -38,13 +39,22 @@ export function DialogDebug() { const text = entries() .map((entry) => `${entry.label}: ${entry.value}`) .join("\n") + setCopied(false) void clipboard - .write?.(text) - .then(() => { - setCopied(true) - toast.show({ message: "Debug info copied to clipboard", variant: "info" }) + .write(text) + .then((outcome) => { + setCopied(outcome.delivery === "confirmed") + toast.show( + formatClipboardWriteNotification(outcome, { + message: "Debug info copied to clipboard", + variant: "info", + }), + ) + }) + .catch((error) => { + setCopied(false) + toast.error(error) }) - .catch(toast.error) } Keymap.createLayer(() => ({