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