Quellcode durchsuchen

fix(v0.6.2): reduce health check timeout 30s→5s + animated progress bar

KirinCode vor 1 Monat
Ursprung
Commit
09ecf9ba5d
2 geänderte Dateien mit 9 neuen und 7 gelöschten Zeilen
  1. 1 1
      packages/desktop/src/main/index.ts
  2. 8 6
      packages/desktop/src/renderer/index.tsx

+ 1 - 1
packages/desktop/src/main/index.ts

@@ -360,7 +360,7 @@ const main = Effect.gen(function* () {
     }
 
     yield* Effect.promise(() => health.wait).pipe(
-      Effect.timeout("30 seconds"),
+      Effect.timeout("5 seconds"),
       Effect.catch((e) =>
         Effect.sync(() => {
           logger.error("sidecar health check failed", e.toString())

+ 8 - 6
packages/desktop/src/renderer/index.tsx

@@ -318,21 +318,23 @@ listenForDeepLinks()
 
 function LoadingSplash() {
   const [dots, setDots] = createSignal("")
+  const [pc, setPc] = createSignal(20)
   onMount(() => {
     const i = setInterval(() => {
       setDots(d => d.length >= 3 ? "" : d + ".")
-    }, 500)
+      setPc(p => p < 90 ? p + 5 : p)
+    }, 400)
     return () => clearInterval(i)
   })
   return (
-    <div class="h-dvh w-screen flex flex-col items-center justify-center bg-background-base gap-4">
-      <Splash class="w-16 h-20 opacity-50 animate-pulse" />
-      <div class="flex flex-col items-center gap-2">
+    <div class="h-dvh w-screen flex flex-col items-center justify-center bg-background-base gap-6">
+      <Splash class="w-16 h-20 opacity-60 animate-pulse" />
+      <div class="flex flex-col items-center gap-3">
         <span class="text-14-medium text-text-muted">
           正在启动 KirinCode<span class="inline-block w-8 text-left">{dots()}</span>
         </span>
-        <div class="w-32 h-1 bg-background-element rounded-full overflow-hidden">
-          <div class="h-full bg-primary rounded-full animate-pulse" style="width:60%" />
+        <div class="w-40 h-1.5 bg-background-element rounded-full overflow-hidden">
+          <div class="h-full bg-primary rounded-full transition-all duration-500" style={{width: `${pc()}%`}} />
         </div>
       </div>
     </div>