feat: manual update check button in settings + update debug logging

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
Administrator 2026-03-12 01:27:28 +01:00
parent dfe94db1d3
commit 2cfd10834e
2 changed files with 27 additions and 1 deletions

View File

@ -500,11 +500,15 @@ app.whenReady().then(() => {
// Auto-check for updates after 3 seconds
setTimeout(async () => {
try {
debugLog('update-check: starting');
const result = await checkForUpdate();
debugLog(`update-check: available=${result && result.available}, remote=${result && result.remoteVersion}`);
if (result && result.available && mainWindow && !mainWindow.isDestroyed()) {
mainWindow.webContents.send('app:update-available', result);
}
} catch {}
} catch (err) {
debugLog(`update-check failed: ${err && err.message || err}`);
}
}, 3000);
});

View File

@ -1750,6 +1750,11 @@ function renderSettings() {
<input type="checkbox" class="settings-autosave" id="resumeQueueOnLaunchInput" ${globalSettings.resumeQueueOnLaunch === false ? '' : 'checked'}>
</div>
</div>
<div class="settings-section-label">Updates</div>
<div class="settings-row">
<label>Manuell prüfen</label>
<button class="btn btn-xs btn-secondary" id="manualUpdateCheckBtn">Nach Updates suchen</button>
</div>
<div class="settings-section-label">Log</div>
<div class="settings-row">
<label>FileUploader Log</label>
@ -1899,6 +1904,23 @@ function renderSettings() {
}
document.getElementById('chooseLogFilePathBtn')?.addEventListener('click', chooseLogFilePath);
document.getElementById('manualUpdateCheckBtn')?.addEventListener('click', async (e) => {
const btn = e.target;
btn.disabled = true;
btn.textContent = 'Prüfe...';
try {
const result = await window.api.checkForUpdate();
if (result && result.available) {
showUpdateBanner(result);
btn.textContent = 'Update gefunden!';
} else {
btn.textContent = 'Kein Update verfügbar';
}
} catch {
btn.textContent = 'Fehler beim Prüfen';
}
setTimeout(() => { btn.disabled = false; btn.textContent = 'Nach Updates suchen'; }, 3000);
});
container.querySelectorAll('.settings-autosave').forEach((input) => {
const eventName = input.type === 'checkbox' ? 'change' : 'input';
input.addEventListener(eventName, scheduleSettingsSave);