Преглед на файлове

fix(prerender): robust handling of auth/ws and renderer timeouts

unknown преди 23 часа
родител
ревизия
0cb213acbc
променени са 3 файла, в които са добавени 6 реда и са изтрити 3 реда
  1. 1 1
      src/main.ts
  2. 2 1
      src/router/index.ts
  3. 3 1
      vite.config.ts

+ 1 - 1
src/main.ts

@@ -28,5 +28,5 @@ router.isReady().then(() => {
   // Dispatch event for prerendering
   setTimeout(() => {
     document.dispatchEvent(new Event("render-event"));
-  }, 100);
+  }, 500);
 });

+ 2 - 1
src/router/index.ts

@@ -77,7 +77,8 @@ router.beforeEach(async (to) => {
   }
 
   // 3. Auth Guards
-  if (!authStore.user && localStorage.getItem("token")) {
+  const isPrerendering = (window as any).__PRERENDER_INJECTED !== undefined;
+  if (!isPrerendering && !authStore.user && localStorage.getItem("token")) {
     await authStore.init();
   }
 

+ 3 - 1
vite.config.ts

@@ -24,12 +24,14 @@ export default defineConfig(({ mode }) => {
       renderer: new prerender.PuppeteerRenderer({
         renderAfterDocumentEvent: 'render-event',
         injectProperty: '__PRERENDER_INJECTED',
-        renderAfterTime: 2000, // Safety delay after event
+        renderAfterTime: 2000, 
+        maxTimeout: 60000, // Finish anyway after 60s
         headless: true,
         args: [
           '--no-sandbox', 
           '--disable-setuid-sandbox',
           '--disable-dev-shm-usage',
+          '--disable-gpu',
           '--single-process'
         ]
       })