Skip to content

Commit 74a81ea

Browse files
committed
fix: address remaining CodeRabbit review comments
1 parent 4fd86ef commit 74a81ea

2 files changed

Lines changed: 31 additions & 25 deletions

File tree

src/i18n/pl.i18n.json

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -214,7 +214,8 @@
214214
"timeout": "Przekroczono czas oczekiwania - nie udało się załadować połączenia wideo w ciągu 15 sekund",
215215
"crashed": "Webview się zawiesił",
216216
"maxRetriesReached": "Nie udało się załadować po wielu próbach",
217-
"reload": "Przeładuj połączenie wideo"
217+
"reload": "Przeładuj połączenie wideo",
218+
"noUrl": "Nie podano adresu URL połączenia wideo"
218219
}
219220
},
220221
"selfxss": {

src/ui/main/rootWindow.ts

Lines changed: 29 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -44,6 +44,7 @@ const selectRootWindowState = ({ rootWindowState }: RootState): WindowState =>
4444

4545
let _rootWindow: BrowserWindow;
4646
let tempWindow: BrowserWindow;
47+
let crashHandlerRegistered = false;
4748

4849
export const getRootWindow = (): Promise<BrowserWindow> =>
4950
new Promise((resolve, reject) => {
@@ -517,31 +518,35 @@ export const showRootWindow = async (): Promise<void> => {
517518
const browserWindow = await getRootWindow();
518519

519520
// Handle renderer process crashes
520-
browserWindow.webContents.on(
521-
'render-process-gone',
522-
async (_event, details) => {
523-
console.error('Renderer process crashed:', details.reason);
524-
try {
525-
const { session } = browserWindow.webContents;
526-
await session.clearCache();
527-
await session.clearStorageData({
528-
storages: [
529-
'cookies',
530-
'indexdb',
531-
'filesystem',
532-
'shadercache',
533-
'websql',
534-
'serviceworkers',
535-
'cachestorage',
536-
],
537-
});
538-
console.log('Cache cleared. Reloading window...');
539-
browserWindow.reload();
540-
} catch (error) {
541-
console.error('Failed to recover from crash:', error);
521+
if (!crashHandlerRegistered) {
522+
crashHandlerRegistered = true;
523+
524+
browserWindow.webContents.on(
525+
'render-process-gone',
526+
async (_event, details) => {
527+
console.error('Renderer process crashed:', details.reason);
528+
try {
529+
const { session } = browserWindow.webContents;
530+
await session.clearCache();
531+
await session.clearStorageData({
532+
storages: [
533+
'cookies',
534+
'indexdb',
535+
'filesystem',
536+
'shadercache',
537+
'websql',
538+
'serviceworkers',
539+
'cachestorage',
540+
],
541+
});
542+
console.log('Cache cleared. Reloading window...');
543+
browserWindow.reload();
544+
} catch (error) {
545+
console.error('Failed to recover from crash:', error);
546+
}
542547
}
543-
}
544-
);
548+
);
549+
}
545550

546551
browserWindow.loadFile(path.join(app.getAppPath(), 'app/index.html'));
547552

0 commit comments

Comments
 (0)