Compare commits

...

1 Commits

Author SHA1 Message Date
Luke Parker 2ffe85d88f fix(app): show unread for pending questions
Co-authored-by: opencode-agent[bot] <opencode-agent[bot]@users.noreply.github.com>
2026-06-30 23:28:02 +00:00
@@ -2,7 +2,7 @@ import { createMemo, type Accessor } from "solid-js"
import { useServerSync } from "@/context/server-sync"
import { useNotification } from "@/context/notification"
import { usePermission } from "@/context/permission"
import { sessionPermissionRequest } from "@/pages/session/composer/session-request-tree"
import { sessionPermissionRequest, sessionQuestionRequest } from "@/pages/session/composer/session-request-tree"
export function useSessionTabAvatarState(
directory: Accessor<string>,
@@ -19,10 +19,16 @@ export function useSessionTabAvatarState(
return !permission.autoResponds(item, directory())
})
})
const unread = createMemo(() => active() && (hasPermissions() || notification.session.unseenCount(sessionId()) > 0))
const hasQuestions = createMemo(() => {
if (!active()) return false
const [store] = globalSync().child(directory(), { bootstrap: false })
return !!sessionQuestionRequest(store.session, globalSync().session.data.question, sessionId())
})
const needsAttention = createMemo(() => hasPermissions() || hasQuestions())
const unread = createMemo(() => active() && (needsAttention() || notification.session.unseenCount(sessionId()) > 0))
const loading = createMemo(() => {
if (!active()) return false
if (hasPermissions()) return false
if (needsAttention()) return false
return globalSync().session.data.session_working(sessionId())
})
return { unread, loading }