summaryrefslogtreecommitdiffhomepage
path: root/packages/ui/src
diff options
context:
space:
mode:
Diffstat (limited to 'packages/ui/src')
-rw-r--r--packages/ui/src/components/session-turn.tsx4
-rw-r--r--packages/ui/src/context/helper.tsx11
2 files changed, 11 insertions, 4 deletions
diff --git a/packages/ui/src/components/session-turn.tsx b/packages/ui/src/components/session-turn.tsx
index 722b02492..79b3b7d47 100644
--- a/packages/ui/src/components/session-turn.tsx
+++ b/packages/ui/src/components/session-turn.tsx
@@ -102,7 +102,9 @@ export function SessionTurn(
setState("autoScrolled", true)
requestAnimationFrame(() => {
scrollRef?.scrollTo({ top: scrollRef.scrollHeight, behavior: "smooth" })
- setState("autoScrolled", false)
+ requestAnimationFrame(() => {
+ setState("autoScrolled", false)
+ })
})
}
diff --git a/packages/ui/src/context/helper.tsx b/packages/ui/src/context/helper.tsx
index 6be88e775..53f987945 100644
--- a/packages/ui/src/context/helper.tsx
+++ b/packages/ui/src/context/helper.tsx
@@ -1,4 +1,4 @@
-import { createContext, Show, useContext, type ParentProps } from "solid-js"
+import { createContext, createMemo, Show, useContext, type ParentProps, type Accessor } from "solid-js"
export function createSimpleContext<T, Props extends Record<string, any>>(input: {
name: string
@@ -9,9 +9,14 @@ export function createSimpleContext<T, Props extends Record<string, any>>(input:
return {
provider: (props: ParentProps<Props>) => {
const init = input.init(props)
- return (
+ // Access init.ready inside the memo to make it reactive for getter properties
+ const isReady = createMemo(() => {
// @ts-expect-error
- <Show when={init.ready === undefined || init.ready === true}>
+ const ready = init.ready as Accessor<boolean> | boolean | undefined
+ return ready === undefined || (typeof ready === "function" ? ready() : ready)
+ })
+ return (
+ <Show when={isReady()}>
<ctx.Provider value={init}>{props.children}</ctx.Provider>
</Show>
)