Files
Multi-Hoster-Upload/lib/startup-renderer.js
T
Sucukdeluxe aa7ae774e6 fix: preserve remote-session compositor rendering
Remove the RDP-specific hardware acceleration shutdown that forced Chromium renderers into software compositing on Windows Server sessions. Add a production-wide startup invariant and a hidden full-width Electron compositor regression covering renderer switches, viewport geometry, and both painted edges.
2026-08-21 07:51:11 +02:00

42 lines
1.2 KiB
JavaScript

function resolveStartupLanguage(config) {
return config && config.globalSettings && config.globalSettings.language === 'de' ? 'de' : 'en';
}
function createStartupQuery(config, version) {
const normalizedVersion = /^\d+\.\d+\.\d+$/.test(String(version || '').trim()) ? String(version).trim() : '';
return { language: resolveStartupLanguage(config), version: normalizedVersion };
}
function createStartupWindow(BrowserWindow, options) {
const window = new BrowserWindow({ ...options, show: false });
let nativePaintReady = false;
let rendererLoadFinished = false;
let revealed = false;
const reveal = () => {
if (revealed || !nativePaintReady || !rendererLoadFinished) return;
revealed = true;
window.show();
};
window.once('ready-to-show', () => {
nativePaintReady = true;
reveal();
});
window.webContents.once('did-finish-load', () => {
rendererLoadFinished = true;
reveal();
});
return {
window,
load(target, onLoadError, options) {
return window.loadFile(target, options).catch((error) => {
rendererLoadFinished = true;
reveal();
return onLoadError(error);
});
}
};
}
module.exports = { createStartupWindow, resolveStartupLanguage, createStartupQuery };