Refactor Gemini model display: filter old versions, group low/high pкo, and improve naming (#114)
* Refactor Gemini model display: filter old versions, group low/high pro, and improve naming * Fix potential negative minutes and refine Gemini 3 Pro grouping logic based on PR feedback * The account change process has been sped up * Address PR review: enhance error message and parameterize polling interval in process handler * Address PR review: fix potential race condition in database backup logic * fix: prevent renderer white screen and harden sentry gating * feat: localize model labels * chore: enable hoisted node-linker * chore: ignore .agent/.claude/.codex in prettier --------- Co-authored-by: Draculabo <[email protected]>
This commit is contained in:
1 parent
b9497648c6
commit
8ed4593f73
162 files changed
+2981
-2541
No files matched your search
+35
-2
@@ -200,8 +200,41 @@ function createWindow({ startHidden }: { startHidden: boolean }) {
|
||||
logger.info('createWindow: setMainWindow done');
|
||||
|
||||
if (inDevelopment && MAIN_WINDOW_VITE_DEV_SERVER_URL) {
|
||||
logger.info(`createWindow: loading URL ${MAIN_WINDOW_VITE_DEV_SERVER_URL}`);
|
||||
mainWindow.loadURL(MAIN_WINDOW_VITE_DEV_SERVER_URL);
|
||||
const devUrl = MAIN_WINDOW_VITE_DEV_SERVER_URL;
|
||||
logger.info(`createWindow: waiting for Vite dev server at ${devUrl}`);
|
||||
|
||||
// Wait for Vite to be ready before loading
|
||||
const waitForVite = async (url: string, maxRetries = 30, delay = 500) => {
|
||||
for (let i = 0; i < maxRetries; i++) {
|
||||
try {
|
||||
const response = await fetch(url);
|
||||
if (response.ok) {
|
||||
logger.info(`createWindow: Vite server ready after ${i * delay}ms`);
|
||||
return true;
|
||||
}
|
||||
} catch (e) {
|
||||
// Server not ready yet
|
||||
}
|
||||
await new Promise((resolve) => setTimeout(resolve, delay));
|
||||
}
|
||||
logger.error('createWindow: Vite server did not start in time');
|
||||
return false;
|
||||
};
|
||||
|
||||
waitForVite(devUrl).then((ready) => {
|
||||
if (mainWindow.isDestroyed()) {
|
||||
logger.warn('createWindow: BrowserWindow destroyed before Vite URL load');
|
||||
return;
|
||||
}
|
||||
|
||||
if (ready) {
|
||||
logger.info(`createWindow: loading URL ${devUrl}`);
|
||||
mainWindow.loadURL(devUrl);
|
||||
} else {
|
||||
logger.error('createWindow: Failed to connect to Vite server, loading anyway');
|
||||
mainWindow.loadURL(devUrl);
|
||||
}
|
||||
});
|
||||
} else {
|
||||
logger.info('createWindow: loading file index.html');
|
||||
mainWindow.loadFile(path.join(__dirname, `../renderer/${MAIN_WINDOW_VITE_NAME}/index.html`));
|
||||
|
||||
Reference in new issue
Block a user