fix(git): exit nested-repo states once resolution succeeds

NestedRepoResolutionStates had no success exit: on a non-repo root
rootIsGitRepo stays false forever, so once repositories were found the
pull-request and walkthrough tabs kept showing 'Checking repository'
even after the selected repository probed as a repository. GitView never
hit this because its call site sits inside its own isGitRepo === false
branch. The component now takes the operating directory's probe and
returns null when it resolves true.

DiffView also still keyed its not-a-repository gate and every diff
fetch off the raw project root, so opening a change from a nested
repository showed 'This directory is not a Git repository'. It now
resolves the nested repository for git data and diff operations while
session-scoped lookups (session messages, review-flow directory) stay
on the root.
This commit is contained in:
jaygupta17
2026-08-25 19:55:00 +05:30
parent cda273d69f
commit e26b55e067
6 changed files with 23 additions and 5 deletions
@@ -2343,6 +2343,7 @@ export const GitView: React.FC<GitViewProps> = ({ isActive }) => {
return (
<NestedRepoResolutionStates
rootIsGitRepo={rootIsGitRepo}
resolvedIsGitRepo={isGitRepo}
nestedRepos={nestedRepos}
onRetryDiscovery={() => {
if (currentDirectory) {