From de9c7d81f5a2b192c049731d3a42d335ef26254c Mon Sep 17 00:00:00 2001 From: Fazri Gading Date: Sun, 25 Jan 2026 14:45:45 +0800 Subject: [PATCH] fix: replace pacman build with pkg.tar.zst and remove its deps, changed CF and Discord key mode --- .github/workflows/release.yml | 38 +++++++--------------------------- GUI/js/mods.js | 8 +++---- backend/managers/modManager.js | 6 +++--- main.js | 2 +- 4 files changed, 15 insertions(+), 39 deletions(-) diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 405e76d..9678519 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -13,11 +13,11 @@ jobs: runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 - # FIX Install bsdtar for Pacman builds - - name: Install build dependencies - run: | - sudo apt-get update - sudo apt-get install -y libarchive-tools + # Not needed anymore due to the removal of Pacman builds + # - name: Install build dependencies + # run: | + # sudo apt-get update + # sudo apt-get install -y libarchive-tools - uses: actions/setup-node@v4 with: @@ -25,14 +25,6 @@ jobs: cache: 'npm' - run: npm ci - - name: Create .env file - env: - CF_KEY: ${{ secrets.CURSEFORGE_API_KEY }} - DISCORD_ID: ${{ secrets.DISCORD_CLIENT_ID }} - run: | - echo "CURSEFORGE_API_KEY=$CF_KEY" > .env - echo "DISCORD_CLIENT_ID=$DISCORD_ID" >> .env - - name: Build Linux Packages run: | npx electron-builder --linux --x64 --arm64 --publish never @@ -44,7 +36,7 @@ jobs: dist/*.AppImage.blockmap dist/*.deb dist/*.rpm - dist/*.pacman + dist/*.pkg.tar.zst dist/latest-linux.yml build-windows: @@ -57,14 +49,6 @@ jobs: cache: 'npm' - run: npm ci - - name: Create .env file - env: - CF_KEY: ${{ secrets.CURSEFORGE_API_KEY }} - DISCORD_ID: ${{ secrets.DISCORD_CLIENT_ID }} - run: | - echo "CURSEFORGE_API_KEY=$CF_KEY" > .env - echo "DISCORD_CLIENT_ID=$DISCORD_ID" >> .env - - name: Build Windows Packages run: npx electron-builder --win --publish never - uses: actions/upload-artifact@v4 @@ -85,15 +69,7 @@ jobs: cache: 'npm' - run: npm ci - - name: Create .env file - env: - CF_KEY: ${{ secrets.CURSEFORGE_API_KEY }} - DISCORD_ID: ${{ secrets.DISCORD_CLIENT_ID }} - run: | - echo "CURSEFORGE_API_KEY=$CF_KEY" > .env - echo "DISCORD_CLIENT_ID=$DISCORD_ID" >> .env - - - name: Build Windows Packages + - name: Build macOS Packages run: npx electron-builder --mac --publish never - uses: actions/upload-artifact@v4 with: diff --git a/GUI/js/mods.js b/GUI/js/mods.js index 0ebda25..cba5f67 100644 --- a/GUI/js/mods.js +++ b/GUI/js/mods.js @@ -1,5 +1,5 @@ -let API_KEY = "$2a$10$bqk254NMZOWVTzLVJCcxEOmhcyUujKxA5xk.kQCN9q0KNYFJd5b32"; +let CF_API_KEY = "$2a$10$bqk254NMZOWVTzLVJCcxEOmhcyUujKxA5xk.kQCN9q0KNYFJd5b32"; const CURSEFORGE_API = 'https://api.curseforge.com/v1'; const HYTALE_GAME_ID = 70216; @@ -13,7 +13,7 @@ let modsTotalPages = 1; export async function initModsManager() { try { if (window.electronAPI && window.electronAPI.getEnvVar) { - console.log('Loaded API Key:', API_KEY ? 'Yes' : 'No'); + console.log('Loaded API Key:', CF_API_KEY ? 'Yes' : 'No'); } } catch (err) { console.error('Failed to load API Key:', err); @@ -196,7 +196,7 @@ async function loadBrowseMods() { browseContainer.innerHTML = `
${window.i18n ? window.i18n.t('mods.loadingMods') : 'Loading mods from CurseForge...'}
`; try { - if (!API_KEY || API_KEY.length < 10) { + if (!CF_API_KEY || CF_API_KEY.length < 10) { browseContainer.innerHTML = `
@@ -223,7 +223,7 @@ async function loadBrowseMods() { const response = await fetch(url, { headers: { - 'x-api-key': API_KEY, + 'x-api-key': CF_API_KEY, 'Accept': 'application/json' } }); diff --git a/backend/managers/modManager.js b/backend/managers/modManager.js index 5756e4e..29580e6 100644 --- a/backend/managers/modManager.js +++ b/backend/managers/modManager.js @@ -6,7 +6,7 @@ const { getModsPath, getProfilesDir } = require('../core/paths'); const { saveModsToConfig, loadModsFromConfig } = require('../core/config'); const profileManager = require('./profileManager'); -const API_KEY = process.env.CURSEFORGE_API_KEY; +const CF_API_KEY = "$2a$10$bqk254NMZOWVTzLVJCcxEOmhcyUujKxA5xk.kQCN9q0KNYFJd5b32"; /** * Get the physical mods path for a specific profile. @@ -120,7 +120,7 @@ async function downloadMod(modInfo) { if (!downloadUrl && modInfo.fileId && modInfo.modId) { const response = await axios.get(`https://api.curseforge.com/v1/mods/${modInfo.modId || modInfo.curseForgeId}/files/${modInfo.fileId || modInfo.curseForgeFileId}`, { headers: { - 'x-api-key': modInfo.apiKey || API_KEY, + 'x-api-key': modInfo.apiKey || CF_API_KEY, 'Accept': 'application/json' } }); @@ -393,7 +393,7 @@ async function syncModsForCurrentProfile() { ...mod, modId: mod.curseForgeId, fileId: mod.curseForgeFileId || mod.fileId, - apiKey: API_KEY + apiKey: CF_API_KEY }); } catch (err) { console.error(`[ModManager] Auto-repair failed for "${mod.name}": ${err.message}`); diff --git a/main.js b/main.js index db08404..e67923a 100644 --- a/main.js +++ b/main.js @@ -30,7 +30,7 @@ let mainWindow; let discordRPC = null; // Discord Rich Presence setup -const DISCORD_CLIENT_ID = process.env.DISCORD_CLIENT_ID; +const DISCORD_CLIENT_ID = 1462244937868513373; function initDiscordRPC() { try {