diff --git a/app/main/index.ts b/app/main/index.ts
index a010a9a..fdedcd9 100644
--- a/app/main/index.ts
+++ b/app/main/index.ts
@@ -69,9 +69,37 @@ function createWindow(): void {
},
});
+ mainWindow.once('ready-to-show', () => {
+ mainWindow?.show();
+ mainWindow?.focus();
+ });
+ mainWindow.show();
+
const devUrl = process.env.VITE_DEV_SERVER_URL;
if (devUrl) {
- void mainWindow.loadURL(devUrl);
+ mainWindow.webContents.openDevTools({ mode: 'detach' });
+ mainWindow.webContents.on('did-fail-load', (_e, code, desc, url) => {
+ console.error('did-fail-load', code, desc, url);
+ });
+ mainWindow.webContents.on('console-message', (_e, level, message) => {
+ console.log(`[renderer:${level}]`, message);
+ });
+ const load = async (attempt = 0) => {
+ try {
+ await mainWindow!.loadURL(devUrl);
+ console.log('Loaded', devUrl);
+ } catch (err) {
+ console.error('loadURL attempt', attempt, err);
+ if (attempt < 20) {
+ setTimeout(() => void load(attempt + 1), 300);
+ return;
+ }
+ await mainWindow!.loadURL(
+ `data:text/html,
Dev server not reachable: ${devUrl}
`,
+ );
+ }
+ };
+ void load();
} else {
void mainWindow.loadFile(path.join(__dirname, '../renderer/index.html'));
}
diff --git a/app/renderer/App.tsx b/app/renderer/App.tsx
index c2b16f9..f4d22db 100644
--- a/app/renderer/App.tsx
+++ b/app/renderer/App.tsx
@@ -155,12 +155,22 @@ export function App() {
void (async () => {
if (!window.ttrpgBuilder) {
setBooting(false);
+ setStatus(
+ locale === 'ru'
+ ? 'Нет связи с Electron preload (перезапустите npm run dev)'
+ : 'Electron preload missing (restart npm run dev)',
+ );
return;
}
- await window.ttrpgBuilder.seedPresets();
- await refresh();
- setBooting(false);
- setStatus(locale === 'ru' ? 'Пресеты готовы' : 'Presets ready');
+ try {
+ await window.ttrpgBuilder.seedPresets();
+ await refresh();
+ setStatus(locale === 'ru' ? 'Пресеты готовы' : 'Presets ready');
+ } catch (e) {
+ setStatus(String(e));
+ } finally {
+ setBooting(false);
+ }
})();
}, [refresh, locale]);
diff --git a/app/renderer/index.html b/app/renderer/index.html
index 0cdd555..e63f308 100644
--- a/app/renderer/index.html
+++ b/app/renderer/index.html
@@ -4,9 +4,13 @@
TTRPG Character Builder
+
-
+ Loading TTRPG Character Builder…