| ... | @@ -1,4 +1,5 @@ | ... | @@ -1,4 +1,5 @@ |
| 1 | import { useLoadBalancedEnvironment } from "../hooks/useLoadBalancedEnvironment"; | 1 | import { useLoadBalancedEnvironment } from "../hooks/useLoadBalancedEnvironment"; |
| | 2 | import { visibleThreadPullRequests } from "@t3tools/shared/threadPullRequests"; |
| 2 | import type { UsageLimitSourceSnapshots } from "@t3tools/contracts"; | 3 | import type { UsageLimitSourceSnapshots } from "@t3tools/contracts"; |
| 3 | import { | 4 | import { |
| 4 | collectProviderUsageLimits, | 5 | collectProviderUsageLimits, |
| ... | @@ -4203,10 +4204,14 @@ export default function ChatView(props: ChatViewProps) { | ... | @@ -4203,10 +4204,14 @@ export default function ChatView(props: ChatViewProps) { |
| 4203 | }, [activeThreadRef]); | 4204 | }, [activeThreadRef]); |
| 4204 | const supportsThreadPullRequests = | 4205 | const supportsThreadPullRequests = |
| 4205 | serverConfig?.environment.capabilities.threadPullRequests === true; | 4206 | serverConfig?.environment.capabilities.threadPullRequests === true; |
| | 4207 | const pullRequestsSurfaceAvailable = |
| | 4208 | isServerThread && |
| | 4209 | supportsThreadPullRequests && |
| | 4210 | visibleThreadPullRequests((activeThreadShell ?? activeThread)?.pullRequests ?? []).length > 0; |
| 4206 | const addPullRequestsSurface = useCallback(() => { | 4211 | const addPullRequestsSurface = useCallback(() => { |
| 4207 | if (!activeThreadRef || !supportsThreadPullRequests) return; | 4212 | if (!activeThreadRef || !pullRequestsSurfaceAvailable) return; |
| 4208 | useRightPanelStore.getState().open(activeThreadRef, "pull-requests"); | 4213 | useRightPanelStore.getState().open(activeThreadRef, "pull-requests"); |
| 4209 | }, [activeThreadRef, supportsThreadPullRequests]); | 4214 | }, [activeThreadRef, pullRequestsSurfaceAvailable]); |
| 4210 | const { state: deviceState, loaded: deviceStateLoaded } = useDeviceState( | 4215 | const { state: deviceState, loaded: deviceStateLoaded } = useDeviceState( |
| 4211 | activeThreadRef?.environmentId ?? null, | 4216 | activeThreadRef?.environmentId ?? null, |
| 4212 | ); | 4217 | ); |
| ... | @@ -8340,7 +8345,7 @@ export default function ChatView(props: ChatViewProps) { | ... | @@ -8340,7 +8345,7 @@ export default function ChatView(props: ChatViewProps) { |
| 8340 | } | 8345 | } |
| 8341 | composerDraftTarget={composerDraftTarget} | 8346 | composerDraftTarget={composerDraftTarget} |
| 8342 | onBack={ | 8347 | onBack={ |
| 8343 | activeThreadRef !== null && supportsThreadPullRequests | 8348 | activeThreadRef !== null && pullRequestsSurfaceAvailable |
| 8344 | ? addPullRequestsSurface | 8349 | ? addPullRequestsSurface |
| 8345 | : undefined | 8350 | : undefined |
| 8346 | } | 8351 | } |
| ... | @@ -8981,7 +8986,7 @@ export default function ChatView(props: ChatViewProps) { | ... | @@ -8981,7 +8986,7 @@ export default function ChatView(props: ChatViewProps) { |
| 8981 | diffAvailable={isServerThread && isGitRepo} | 8986 | diffAvailable={isServerThread && isGitRepo} |
| 8982 | filesAvailable={activeProject !== null} | 8987 | filesAvailable={activeProject !== null} |
| 8983 | pullRequestAvailable={pullRequestSurfaceAvailable} | 8988 | pullRequestAvailable={pullRequestSurfaceAvailable} |
| 8984 | pullRequestsAvailable={isServerThread && supportsThreadPullRequests} | 8989 | pullRequestsAvailable={pullRequestsSurfaceAvailable} |
| 8985 | agentsAvailable | 8990 | agentsAvailable |
| 8986 | deviceAvailable={activeThreadRef !== null} | 8991 | deviceAvailable={activeThreadRef !== null} |
| 8987 | liveAgentCount={agentPanelModel.liveCount} | 8992 | liveAgentCount={agentPanelModel.liveCount} |
| ... | @@ -9039,7 +9044,7 @@ export default function ChatView(props: ChatViewProps) { | ... | @@ -9039,7 +9044,7 @@ export default function ChatView(props: ChatViewProps) { |
| 9039 | diffAvailable={isServerThread && isGitRepo} | 9044 | diffAvailable={isServerThread && isGitRepo} |
| 9040 | filesAvailable={activeProject !== null} | 9045 | filesAvailable={activeProject !== null} |
| 9041 | pullRequestAvailable={pullRequestSurfaceAvailable} | 9046 | pullRequestAvailable={pullRequestSurfaceAvailable} |
| 9042 | pullRequestsAvailable={isServerThread && supportsThreadPullRequests} | 9047 | pullRequestsAvailable={pullRequestsSurfaceAvailable} |
| 9043 | agentsAvailable | 9048 | agentsAvailable |
| 9044 | deviceAvailable={activeThreadRef !== null} | 9049 | deviceAvailable={activeThreadRef !== null} |
| 9045 | liveAgentCount={agentPanelModel.liveCount} | 9050 | liveAgentCount={agentPanelModel.liveCount} |