mirror of
https://github.com/amiayweb/Hytale-F2P.git
synced 2026-02-26 12:11:45 -03:00
need test - electron updater
This commit is contained in:
@@ -15,12 +15,6 @@ class AppUpdater {
|
||||
}
|
||||
|
||||
setupAutoUpdater() {
|
||||
// Enable dev mode for testing (reads dev-app-update.yml)
|
||||
// Only enable in development, not in production builds
|
||||
if (process.env.NODE_ENV === 'development' || !app.isPackaged) {
|
||||
autoUpdater.forceDevUpdateConfig = true;
|
||||
console.log('Dev update mode enabled - using dev-app-update.yml');
|
||||
}
|
||||
|
||||
// Configure logger for electron-updater
|
||||
// Create a compatible logger interface
|
||||
@@ -176,7 +170,7 @@ class AppUpdater {
|
||||
console.warn('macOS update error: App may not be code-signed. Auto-update requires code signing.');
|
||||
if (this.mainWindow && !this.mainWindow.isDestroyed()) {
|
||||
this.mainWindow.webContents.send('update-error', {
|
||||
message: 'Auto-update requires code signing. Please download manually from GitHub.',
|
||||
message: 'Please download manually from GitHub.',
|
||||
code: err.code,
|
||||
isMacSigningError: true,
|
||||
requiresManualDownload: true,
|
||||
|
||||
73
backend/updateManager.js
Normal file
73
backend/updateManager.js
Normal file
@@ -0,0 +1,73 @@
|
||||
const axios = require('axios');
|
||||
|
||||
const UPDATE_CHECK_URL = 'https://files.hytalef2p.com/api/version_launcher';
|
||||
const CURRENT_VERSION = '2.0.2';
|
||||
const GITHUB_DOWNLOAD_URL = 'https://github.com/amiayweb/Hytale-F2P/';
|
||||
|
||||
class UpdateManager {
|
||||
constructor() {
|
||||
this.updateAvailable = false;
|
||||
this.remoteVersion = null;
|
||||
}
|
||||
|
||||
async checkForUpdates() {
|
||||
try {
|
||||
console.log('Checking for updates...');
|
||||
console.log(`Local version: ${CURRENT_VERSION}`);
|
||||
|
||||
const response = await axios.get(UPDATE_CHECK_URL, {
|
||||
timeout: 5000,
|
||||
headers: {
|
||||
'User-Agent': 'Hytale-F2P-Launcher'
|
||||
}
|
||||
});
|
||||
|
||||
if (response.data && response.data.launcher_version) {
|
||||
this.remoteVersion = response.data.launcher_version;
|
||||
console.log(`Remote version: ${this.remoteVersion}`);
|
||||
|
||||
if (this.remoteVersion !== CURRENT_VERSION) {
|
||||
this.updateAvailable = true;
|
||||
console.log('Update available!');
|
||||
return {
|
||||
updateAvailable: true,
|
||||
currentVersion: CURRENT_VERSION,
|
||||
newVersion: this.remoteVersion,
|
||||
downloadUrl: GITHUB_DOWNLOAD_URL
|
||||
};
|
||||
} else {
|
||||
console.log('Launcher is up to date');
|
||||
return {
|
||||
updateAvailable: false,
|
||||
currentVersion: CURRENT_VERSION,
|
||||
newVersion: this.remoteVersion
|
||||
};
|
||||
}
|
||||
} else {
|
||||
throw new Error('Invalid API response');
|
||||
}
|
||||
} catch (error) {
|
||||
console.error('Error checking for updates:', error.message);
|
||||
return {
|
||||
updateAvailable: false,
|
||||
error: error.message,
|
||||
currentVersion: CURRENT_VERSION
|
||||
};
|
||||
}
|
||||
}
|
||||
|
||||
getDownloadUrl() {
|
||||
return GITHUB_DOWNLOAD_URL;
|
||||
}
|
||||
|
||||
getUpdateInfo() {
|
||||
return {
|
||||
updateAvailable: this.updateAvailable,
|
||||
currentVersion: CURRENT_VERSION,
|
||||
remoteVersion: this.remoteVersion,
|
||||
downloadUrl: this.getDownloadUrl()
|
||||
};
|
||||
}
|
||||
}
|
||||
|
||||
module.exports = UpdateManager;
|
||||
Reference in New Issue
Block a user