fix: guard linear subissue open state (#3673)

This commit is contained in:
Neil
2026-05-30 05:43:22 -07:00
committed by GitHub
parent 8f07d45a96
commit c707a2deec
@@ -112,6 +112,7 @@ function LinearIssueSubIssueButton({
const [subIssues, setSubIssues] = useState<LinearIssueChildSummary[]>(issue.subIssues ?? [])
const [submitting, setSubmitting] = useState(false)
const [openingSubIssueId, setOpeningSubIssueId] = useState<string | null>(null)
const mountedRef = useMountedRef()
useEffect(() => {
setSubIssues(issue.subIssues ?? [])
@@ -122,18 +123,25 @@ function LinearIssueSubIssueButton({
setOpeningSubIssueId(subIssue.id)
try {
const fullIssue = await fetchLinearIssue(subIssue.id, issue.workspaceId)
if (!mountedRef.current) {
return
}
if (fullIssue) {
onOpenIssue(fullIssue)
} else {
toast.error('Failed to load sub-issue')
}
} catch (error) {
toast.error(error instanceof Error ? error.message : 'Failed to load sub-issue')
if (mountedRef.current) {
toast.error(error instanceof Error ? error.message : 'Failed to load sub-issue')
}
} finally {
setOpeningSubIssueId(null)
if (mountedRef.current) {
setOpeningSubIssueId(null)
}
}
},
[fetchLinearIssue, issue.workspaceId, onOpenIssue]
[fetchLinearIssue, issue.workspaceId, mountedRef, onOpenIssue]
)
const handleCreate = useCallback(async () => {