From a0814a356fce9c5bf731633e7c43be106bce1792 Mon Sep 17 00:00:00 2001
From: Alexander Onnikov <Alexander.Onnikov@gmail.com>
Date: Thu, 6 Oct 2022 13:21:38 +0700
Subject: [PATCH] Fix clipboard write for Safari (#2283)

Signed-off-by: Alexander Onnikov <alexander.onnikov@xored.com>
---
 plugins/tracker-resources/src/issues.ts | 13 ++++++++++++-
 1 file changed, 12 insertions(+), 1 deletion(-)

diff --git a/plugins/tracker-resources/src/issues.ts b/plugins/tracker-resources/src/issues.ts
index bb03d592de..ae4ec9ee87 100644
--- a/plugins/tracker-resources/src/issues.ts
+++ b/plugins/tracker-resources/src/issues.ts
@@ -47,7 +47,18 @@ export async function copyToClipboard (object: Issue, ev: Event, { type }: { typ
     default:
       return
   }
-  await navigator.clipboard.writeText(text)
+
+  try {
+    // Chromium
+    await navigator.clipboard.writeText(text)
+  } catch {
+    // Safari specific behavior
+    // see https://bugs.webkit.org/show_bug.cgi?id=222262
+    const clipboardItem = new ClipboardItem({
+      'text/plain': Promise.resolve(text)
+    })
+    await navigator.clipboard.write([clipboardItem])
+  }
 }
 
 export function generateIssueShortLink (issueId: string): string {