From 5beafb876c3090443cb05433d9c5c91f6f2d55a9 Mon Sep 17 00:00:00 2001 From: tangowithfoxtrot <5676771+tangowithfoxtrot@users.noreply.github.com> Date: Fri, 16 May 2025 06:24:08 -0700 Subject: [PATCH] fix: clear clipboard on close (#14731) --- apps/desktop/src/platform/main/clipboard.main.ts | 16 +++++++++++++++- 1 file changed, 15 insertions(+), 1 deletion(-) diff --git a/apps/desktop/src/platform/main/clipboard.main.ts b/apps/desktop/src/platform/main/clipboard.main.ts index 5ca6aa29529..3fdbca45822 100644 --- a/apps/desktop/src/platform/main/clipboard.main.ts +++ b/apps/desktop/src/platform/main/clipboard.main.ts @@ -1,16 +1,30 @@ -import { ipcMain } from "electron"; +import { app, ipcMain } from "electron"; import { clipboards } from "@bitwarden/desktop-napi"; import { ClipboardWriteMessage } from "../types/clipboard"; export class ClipboardMain { + lastSavedValue: string | null = null; + init() { + app.on("before-quit", async () => { + if (this.lastSavedValue == null) { + return; + } + + const clipboardNow = await clipboards.read(); + if (clipboardNow == this.lastSavedValue) { + await clipboards.write("", false); + } + }); + ipcMain.handle("clipboard.read", async (_event: any, _message: any) => { return await clipboards.read(); }); ipcMain.handle("clipboard.write", async (_event: any, message: ClipboardWriteMessage) => { + this.lastSavedValue = message.text; return await clipboards.write(message.text, message.password ?? false); }); }