Jelajahi Sumber

fix(app): suspend while recent models load (#33921)

Brendan Allan 2 bulan lalu
induk
melakukan
4f88cab20d
1 mengubah file dengan 11 tambahan dan 2 penghapusan
  1. 11 2
      packages/app/src/context/models.tsx

+ 11 - 2
packages/app/src/context/models.tsx

@@ -1,4 +1,4 @@
-import { type Accessor, createMemo } from "solid-js"
+import { type Accessor, createMemo, createResource } from "solid-js"
 import { createStore } from "solid-js/store"
 import { DateTime } from "luxon"
 import { filter, firstBy, flat, groupBy, mapValues, pipe, uniqueBy, values } from "remeda"
@@ -145,6 +145,15 @@ export const { use: useModels, provider: ModelsProvider } = createSimpleContext(
       setStore("variant", key, value)
     }
 
+    const [recentModels] = createResource(
+      async () => {
+        const recent = store.recent
+        await ready.promise
+        return recent
+      },
+      (p) => p,
+      { initialValue: [] },
+    )
     return {
       ready,
       list,
@@ -152,7 +161,7 @@ export const { use: useModels, provider: ModelsProvider } = createSimpleContext(
       visible,
       setVisibility,
       recent: {
-        list: createMemo(() => store.recent),
+        list: () => recentModels()!,
         push,
       },
       variant: {