From a8011a8d2610bc86224965a9ab9a935510af36f1 Mon Sep 17 00:00:00 2001
From: Naomi Roberts <mia@naomieow.xyz>
Date: Thu, 4 Dec 2025 19:59:48 +0000
Subject: [PATCH] Remove Windows-specific dep

Signed-off-by: Naomi Roberts <mia@naomieow.xyz>
---
 electron/package.json       |  1 -
 electron/src/main/app.js    | 17 +----------------
 electron/webpack.config.cjs |  4 +---
 package.json                |  1 -
 pnpm-lock.yaml              | 16 ----------------
 5 files changed, 2 insertions(+), 37 deletions(-)

diff --git a/electron/package.json b/electron/package.json
index 13d40060..d7154097 100644
--- a/electron/package.json
+++ b/electron/package.json
@@ -27,7 +27,6 @@
     "electron-updater": "^6.8.9"
   },
   "dependencies": {
-    "@paymoapp/electron-shutdown-handler": "^1.1.3",
     "@xhayper/discord-rpc": "^1.3.4",
     "concurrently": "^10.0.3",
     "jimp": "0.22.12",
diff --git a/electron/src/main/app.js b/electron/src/main/app.js
index 68aeb491..7237ad09 100644
--- a/electron/src/main/app.js
+++ b/electron/src/main/app.js
@@ -7,7 +7,6 @@ import Jimp from 'jimp'
 import fs from 'fs'
 
 import { BrowserWindow, MessageChannelMain, Notification, Tray, Menu, nativeImage, app, dialog, ipcMain, powerMonitor, shell, session } from 'electron'
-import electronShutdownHandler from '@paymoapp/electron-shutdown-handler'
 
 import { development, getWindowState, saveWindowState, getDefaultBounds } from './util.js'
 import Discord from './discord.js'
@@ -157,21 +156,7 @@ export default class App {
       notification.show()
     })
 
-    if (process.platform === 'win32') {
-      app.setAppUserModelId('com.github.rockinchaos.shiru')
-      // this message usually fires in dev-mode from the parent process
-      process.on('message', data => {
-        if (data === 'graceful-exit') this.destroy()
-      })
-      electronShutdownHandler.setWindowHandle(this.mainWindow.getNativeWindowHandle())
-      electronShutdownHandler.blockShutdown('Saving torrent data...')
-      electronShutdownHandler.on('shutdown', async () => {
-        await this.destroy()
-        electronShutdownHandler.releaseShutdown()
-      })
-    } else {
-      process.on('SIGTERM', () => this.destroy())
-    }
+    process.on('SIGTERM', () => this.destroy())
 
     this.mainWindow.loadURL(development ? 'http://localhost:5000/app.html' : `file://${join(__dirname, '/app.html')}`)
 
diff --git a/electron/webpack.config.cjs b/electron/webpack.config.cjs
index 716dfcf7..3c9e4d1f 100644
--- a/electron/webpack.config.cjs
+++ b/electron/webpack.config.cjs
@@ -78,9 +78,7 @@ module.exports = [
       path: join(__dirname, 'build'),
       filename: 'main.js'
     },
-    externals: {
-      '@paymoapp/electron-shutdown-handler': 'require("@paymoapp/electron-shutdown-handler")'
-    },
+    externals: {},
     resolve: {
       aliasFields: [],
       alias: {
diff --git a/package.json b/package.json
index b02fcb7d..4fddc6ea 100644
--- a/package.json
+++ b/package.json
@@ -47,7 +47,6 @@
       "cordova-plugin-apkupdater": "patches/cordova-plugin-apkupdater.patch"
     },
     "onlyBuiltDependencies": [
-      "@paymoapp/electron-shutdown-handler",
       "bufferutil",
       "electron",
       "electron-winstaller",
diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml
index 102a5cd1..5dcb8798 100644
--- a/pnpm-lock.yaml
+++ b/pnpm-lock.yaml
@@ -267,9 +267,6 @@ importers:
 
   electron:
     dependencies:
-      '@paymoapp/electron-shutdown-handler':
-        specifier: ^1.1.3
-        version: 1.1.3
       '@xhayper/discord-rpc':
         specifier: ^1.3.4
         version: 1.3.4(bufferutil@4.1.0)(utf-8-validate@6.0.6)
@@ -930,9 +927,6 @@ packages:
   '@obsidize/rx-console@6.2.1':
     resolution: {integrity: sha512-UXa8S8pNoDmyZ9x2UjU/GJmqEhJ/LGmAI/2V/3njNBQRIxmDFCIPJIavsRv6x+JueNZ4mU1wHE0gU7paT5iWrA==}
 
-  '@paymoapp/electron-shutdown-handler@1.1.3':
-    resolution: {integrity: sha512-DfsuC7d1F07oNzzCcarSi0oNRd6NI9elCa3Ge1iWwqttJRJC/kuBbbYEalf6tSeCEK8D6Q+5reabkkexBKjB/w==}
-
   '@peculiar/asn1-cms@2.7.0':
     resolution: {integrity: sha512-hew63shtzzvBcSHbhm+cyAmKe6AIfinT9hzEqSPjDC6opTTMKmTkQ0gHuN2KsWlvqiKw1S/fS94fhag/FJkioQ==}
 
@@ -3961,9 +3955,6 @@ packages:
   node-addon-api@4.3.0:
     resolution: {integrity: sha512-73sE9+3UaLYYFmDsFZnqCInzPyh3MqIwZO9cw58yIqAZhONrrabrYyYe3TuIqtIiOuTXVhsGau8hcrhhwSsDIQ==}
 
-  node-addon-api@5.1.0:
-    resolution: {integrity: sha512-eh0GgfEkpnoWDq+VY8OyvYhFEzBk6jIYbRKdIlyTiAXIVJ8PyBaKb0rp7oDtoddbdoHWhq8wwr+XZ81F1rpNdA==}
-
   node-addon-api@6.1.0:
     resolution: {integrity: sha512-+eawOlIgy680F0kBzPUNFhMZGtJ1YmqM6l4+Crf4IkImjYrO/mqPwRMh352g23uIaQKFItcQ64I7KMaJxHgAVA==}
 
@@ -6812,11 +6803,6 @@ snapshots:
 
   '@obsidize/rx-console@6.2.1': {}
 
-  '@paymoapp/electron-shutdown-handler@1.1.3':
-    dependencies:
-      node-addon-api: 5.1.0
-      prebuild-install: 7.1.3
-
   '@peculiar/asn1-cms@2.7.0':
     dependencies:
       '@peculiar/asn1-schema': 2.7.0
@@ -10388,8 +10374,6 @@ snapshots:
 
   node-addon-api@4.3.0: {}
 
-  node-addon-api@5.1.0: {}
-
   node-addon-api@6.1.0: {}
 
   node-api-version@0.2.1:
-- 
2.54.0

