From 0090d934ac8e9cff0ffb24ad4ad1af5fe573ed53 Mon Sep 17 00:00:00 2001 From: Freya Murphy Date: Sun, 20 Jul 2025 12:01:12 -0400 Subject: [PATCH 3/3] make compatible with native electron --- src/background.js | 15 +++++---------- src/components/SystemPages/Settings.vue | 12 +++++++----- src/components/UIElements/MediaEmbed.vue | 20 ++------------------ 3 files changed, 14 insertions(+), 33 deletions(-) diff --git a/src/background.js b/src/background.js index 426a84a..dfbc4e8 100644 --- a/src/background.js +++ b/src/background.js @@ -314,16 +314,8 @@ if (assetDir === undefined) { is_first_run = true } else { try { - if (store.has('settings.ruffleFallback') && store.get('settings.ruffleFallback') === true) { - logger.info("Ruffle fallback enabled, disabling ppapi-level flash player") - } else { - // Pick the appropriate flash plugin for the user's platform - const flashPath = getFlashPath() - - if (fs.existsSync(flashPath)) { - app.commandLine.appendSwitch('ppapi-flash-path', flashPath) - } else throw Error(`Flash plugin not located at ${flashPath}`) - } + // MOD: always use ruffle + logger.info("Ruffle fallback enabled, disabling ppapi-level flash player") if (store.has('settings.smoothScrolling') && store.get('settings.smoothScrolling') === false) app.commandLine.appendSwitch('disable-smooth-scrolling') @@ -748,6 +740,9 @@ async function createWindow () { autoHideMenuBar: true, webPreferences: { nodeIntegration: process.env.ELECTRON_NODE_INTEGRATION, + // MOD: disable isolation to get + // collection to work with electron 35 + contextIsolation: false, enableRemoteModule: true, plugins: true, webviewTag: true diff --git a/src/components/SystemPages/Settings.vue b/src/components/SystemPages/Settings.vue index 47c5ea6..5630625 100644 --- a/src/components/SystemPages/Settings.vue +++ b/src/components/SystemPages/Settings.vue @@ -619,11 +619,13 @@ export default { label: "Reduce Motion", desc: "Attempts to reduce the amount of automatic motion in the comic by replacing animated gifs with a manual scrubber, and requiring an explicit click before playing Flash animations.", platform_whitelist: ['electron'] - }, { - model: "ruffleFallback", - label: "Ruffle flash emulation fallback", - desc: "If the built-in flash player is non-functional, use the Ruffle Flash emulator in place of Flash." - } + }, + // MOD: always use ruffle + // { + // model: "ruffleFallback", + // label: "Ruffle flash emulation fallback", + // desc: "If the built-in flash player is non-functional, use the Ruffle Flash emulator in place of Flash." + // } ], retconList: [ { diff --git a/src/components/UIElements/MediaEmbed.vue b/src/components/UIElements/MediaEmbed.vue index 760fec4..53f34ff 100644 --- a/src/components/UIElements/MediaEmbed.vue +++ b/src/components/UIElements/MediaEmbed.vue @@ -156,24 +156,8 @@ export default { return ret }, ruffleEmbed() { - // At some point between 2025.3.14 and 2025.4.13 ruffle stopped supporting our old runtime. Damn. --> - if (this.$localData.settings.ruffleFallback) { - if (this.$isWebApp) { - return '