From 9716ff4b1d7ae16848d85388a567ae8428d978a1 Mon Sep 17 00:00:00 2001 From: Kylie C Date: Tue, 24 Dec 2024 22:00:35 -0500 Subject: [PATCH] fix: excessive connection creation apparently causes crashes but i cant repro :p #517 should have this same issue so will need this same fix, which is why its in util :3 --- src/main/appBadge.ts | 5 +++-- src/main/utils/dbus.ts | 16 ++++++++++++++++ 2 files changed, 19 insertions(+), 2 deletions(-) create mode 100644 src/main/utils/dbus.ts diff --git a/src/main/appBadge.ts b/src/main/appBadge.ts index 2c69cdb..b87d063 100644 --- a/src/main/appBadge.ts +++ b/src/main/appBadge.ts @@ -4,11 +4,12 @@ * Copyright (c) 2023 Vendicated and Vencord contributors */ -import dbus from "@homebridge/dbus-native"; import { app, NativeImage, nativeImage } from "electron"; import { join } from "path"; import { BADGE_DIR } from "shared/paths"; +import { dbus, getSessionBus } from "./utils/dbus"; + const imgCache = new Map(); function loadBadge(index: number) { const cached = imgCache.get(index); @@ -29,7 +30,7 @@ export function setBadgeCount(count: number) { throw new Error("count must be a number"); // sanitize } - const sessionBus = dbus.sessionBus(); + const sessionBus = getSessionBus(); sessionBus.connection.message({ type: dbus.messageType.signal, serial: 1, diff --git a/src/main/utils/dbus.ts b/src/main/utils/dbus.ts new file mode 100644 index 0000000..581e12e --- /dev/null +++ b/src/main/utils/dbus.ts @@ -0,0 +1,16 @@ +/* + * SPDX-License-Identifier: GPL-3.0 + * Vesktop, a desktop app aiming to give you a snappier Discord Experience + * Copyright (c) 2023 Vendicated and Vencord contributors + */ + +import dbus from "@homebridge/dbus-native"; + +let sessionBus: dbus.MessageBus | null; + +export function getSessionBus(): dbus.MessageBus { + if (!sessionBus) sessionBus = dbus.sessionBus(); + return sessionBus; +} + +export { dbus };