fix(gitlab): route Checks job fetches through the worktree runtime

Address review feedback: handleLoadCheckDetails passed the globally-active
`settings` to loadGitLabCheckRunDetails, so the trace fetch could route to the
wrong runtime when the viewed worktree's environment differs from the global
one. Use `ownerSettings` (worktree-scoped), matching every other runtime-routed
call in this component and the editor-slice sibling.

Also switch the sibling MR-details/job-list fetch to `ownerSettings` so the job
list and the trace keyed off it resolve against the same GitLab host.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
William Quintal
2026-07-20 15:29:36 -07:00
committed by Brennan Benson
co-authored by Claude Opus 4.8
parent 3d3fd7fc71
commit b03a2852fb
@@ -1815,7 +1815,9 @@ export default function ChecksPanel(): React.JSX.Element {
const details = await fetchGitLabMRDetailsForChecks({
repoPath: repo.path,
repoId: repo.id,
settings,
// Why: route to the active worktree's runtime so the job list (and the
// trace fetch keyed off it) resolve against the same GitLab host.
settings: ownerSettings,
iid: targetMRNumber
})
if (!isCurrentAsyncResult(requestKey)) {
@@ -1851,7 +1853,7 @@ export default function ChecksPanel(): React.JSX.Element {
hostedReviewCacheKey,
isCurrentAsyncResult,
repo,
settings
ownerSettings
]
)
@@ -1965,7 +1967,9 @@ export default function ChecksPanel(): React.JSX.Element {
return loadGitLabCheckRunDetails({
repoPath: repo.path,
repoId: repo.id,
settings,
// Why: route to the active worktree's runtime, not the globally-active
// one, matching the other runtime-routed calls in this component.
settings: ownerSettings,
check
})
}
@@ -1981,7 +1985,7 @@ export default function ChecksPanel(): React.JSX.Element {
{ repoId: repo.id }
)
},
[fetchPRCheckDetails, pr?.prRepo, repo, settings]
[fetchPRCheckDetails, ownerSettings, pr?.prRepo, repo]
)
useEffect(() => {