Speed up issue-to-issue navigation

This commit is contained in:
Dotta 2026-04-11 11:05:32 -05:00
parent 11de5ae9c9
commit 1729e41179
8 changed files with 347 additions and 32 deletions

View file

@ -30,6 +30,7 @@ import {
rememberIssueDetailLocationState,
withIssueDetailHeaderSeed,
} from "../lib/issueDetailBreadcrumb";
import { prefetchIssueDetail } from "../lib/issueDetailCache";
import {
hasBlockingShortcutDialog,
isKeyboardShortcutTextInputTarget,
@ -1578,6 +1579,7 @@ export function Inbox() {
const pathId = issue.identifier ?? issue.id;
const detailState = armIssueDetailInboxQuickArchive(withIssueDetailHeaderSeed(issueLinkState, issue));
rememberIssueDetailLocationState(pathId, detailState);
void prefetchIssueDetail(queryClient, pathId, { issue });
act.navigate(createIssueDetailPath(pathId), { state: detailState });
} else if (item) {
if (item.kind === "issue") {
@ -1586,6 +1588,7 @@ export function Inbox() {
withIssueDetailHeaderSeed(issueLinkState, item.issue),
);
rememberIssueDetailLocationState(pathId, detailState);
void prefetchIssueDetail(queryClient, pathId, { issue: item.issue });
act.navigate(createIssueDetailPath(pathId), { state: detailState });
} else if (item.kind === "approval") {
act.navigate(`/approvals/${item.approval.id}`);