refactor: colocate Jira cache and project selection owners (#36051)

* refactor: colocate Jira cache and project selection owners

* ci: refresh Jira refactor validation after main test fix

* ci: refresh Jira owner move after main validation fixes
This commit is contained in:
Neil
2026-10-29 13:29:24 -07:00
committed by GitHub
parent a01568e08c
commit 29a6ff3ffa
14 changed files with 17 additions and 17 deletions
+1 -1
View File
@@ -1131,7 +1131,7 @@
1 test-no-wall-clock:src/renderer/src/components/tab-bar/TabBarCreateEntry.history.test.tsx
2 test-no-wall-clock:src/renderer/src/components/tab-bar/cli-chat-resume-run.test.ts
1 test-no-wall-clock:src/renderer/src/components/tab-bar/open-tab-search.test.ts
4 test-no-wall-clock:src/renderer/src/components/task-page-jira-cache-selectors.test.ts
4 test-no-wall-clock:src/renderer/src/components/task-page/jira/task-page-jira-cache-selectors.test.ts
1 test-no-wall-clock:src/renderer/src/components/task-page-jira-saved-filter-load-failure.test.tsx
1 test-no-wall-clock:src/renderer/src/components/terminal-pane/cache-timer-seeding.test.ts
2 test-no-wall-clock:src/renderer/src/components/terminal-pane/fish-color-scheme-child-stdin.node-pty.test.ts
+2 -2
View File
@@ -9421,7 +9421,7 @@
"src/renderer/src/components/task-page-jira-board-transitions.test.ts": 60,
"src/renderer/src/components/task-page-jira-board-view.test.tsx": 1408,
"src/renderer/src/components/task-page-jira-board.test.tsx": 1616,
"src/renderer/src/components/task-page-jira-cache-selectors.test.ts": 66,
"src/renderer/src/components/task-page/jira/task-page-jira-cache-selectors.test.ts": 66,
"src/renderer/src/components/task-page-jira-create-fields.test.ts": 66,
"src/renderer/src/components/task-page-jira-favourite-catalogue.test.tsx": 2450,
"src/renderer/src/components/task-page-jira-favourite-selection.test.tsx": 3325,
@@ -9429,7 +9429,7 @@
"src/renderer/src/components/task-page/jira/task-page-jira-item-source-context.test.ts": 31,
"src/renderer/src/components/task-page/jira/task-page-jira-linked-issues.test.ts": 54,
"src/renderer/src/components/task-page/jira/task-page-jira-load-state.test.ts": 48,
"src/renderer/src/components/task-page-jira-project-selection.test.ts": 28,
"src/renderer/src/components/task-page/jira/task-page-jira-project-selection.test.ts": 28,
"src/renderer/src/components/task-page-jira-quick-copy.test.tsx": 2171,
"src/renderer/src/components/task-page-jira-saved-filter-application.test.tsx": 1838,
"src/renderer/src/components/task-page-jira-saved-filter-load-failure.test.tsx": 2974,
@@ -9,7 +9,7 @@ import {
import { Button } from './ui/button'
import { Popover, PopoverContent, PopoverTrigger } from './ui/popover'
import { Command, CommandInput, CommandList, CommandEmpty, CommandItem } from './ui/command'
import { getJiraProjectSelectionKey } from './task-page-jira-project-selection'
import { getJiraProjectSelectionKey } from './task-page/jira/task-page-jira-project-selection'
import { translate } from '@/i18n/i18n'
export function JiraProjectPicker({
@@ -1,6 +1,6 @@
import type { JiraIssue } from '../../../shared/jira/jira-types'
import type { JiraProjectReference } from '../../../shared/jira/jira-project-reference'
import { getJiraProjectSelectionKey } from './task-page-jira-project-selection'
import { getJiraProjectSelectionKey } from './task-page/jira/task-page-jira-project-selection'
export function getJiraStatusCatalogScopeKey(
sourceScopeKey: string,
@@ -6,7 +6,7 @@ import { cn } from '@/lib/utils'
import { Tooltip, TooltipTrigger, TooltipContent } from '@/components/ui/tooltip'
import { Button } from '@/components/ui/button'
import { useAppStore } from '@/store'
import { getJiraProjectSelectionKey } from '@/components/task-page-jira-project-selection'
import { getJiraProjectSelectionKey } from '@/components/task-page/jira/task-page-jira-project-selection'
import { translate } from '@/i18n/i18n'
import { LoaderCircle, Plus, RefreshCw, Search, X } from 'lucide-react'
import { Input } from '@/components/ui/input'
@@ -3,7 +3,7 @@ import type { TaskPageComposerActionsModel } from '../use-task-page-composer-act
import { getJiraSelfUser } from '@/components/jira-self-user'
import { JiraUserPicker, type JiraUserPickerFixedOption } from '@/components/jira-user-picker'
import { hasJiraAssigneeCreateField } from '@/components/task-page/jira/task-page-jira-create-fields'
import { getJiraProjectSelectionKey } from '@/components/task-page-jira-project-selection'
import { getJiraProjectSelectionKey } from '@/components/task-page/jira/task-page-jira-project-selection'
import { jiraListAssignableUsersForProject } from '@/runtime/runtime-jira-client'
import { translate } from '@/i18n/i18n'
import { defaultScopeSource } from '@/lib/default-creation-host'
@@ -21,7 +21,7 @@ import {
CommandEmpty,
CommandItem
} from '@/components/ui/command'
import { getJiraProjectSelectionKey } from '@/components/task-page-jira-project-selection'
import { getJiraProjectSelectionKey } from '@/components/task-page/jira/task-page-jira-project-selection'
import { cn } from '@/lib/utils'
import {
Select,
@@ -2,8 +2,8 @@ import { describe, expect, it } from 'vitest'
import {
getTaskSourceCacheScope,
type TaskSourceContext
} from '../../../shared/task-source-context'
import type { JiraIssue } from '../../../shared/jira/jira-types'
} from '../../../../../shared/task-source-context'
import type { JiraIssue } from '../../../../../shared/jira/jira-types'
import { findTaskPageJiraIssue } from './task-page-jira-cache-selectors'
function jiraSourceContext(environmentId: string): TaskSourceContext {
@@ -2,8 +2,8 @@ import type { CacheEntry } from '@/store/github/cache-model'
import {
getTaskSourceCacheScope,
type TaskSourceContext
} from '../../../shared/task-source-context'
import type { JiraIssue } from '../../../shared/jira/jira-types'
} from '../../../../../shared/task-source-context'
import type { JiraIssue } from '../../../../../shared/jira/jira-types'
type JiraIssueCache = Record<string, CacheEntry<JiraIssue>>
type JiraSearchCache = Record<string, CacheEntry<JiraIssue[]>>
@@ -4,7 +4,7 @@ import {
compareJiraProjectsByDisplayLabel,
getJiraProjectSelectionKey
} from './task-page-jira-project-selection'
import type { JiraProject } from '../../../shared/jira/jira-types'
import type { JiraProject } from '../../../../../shared/jira/jira-types'
function project(overrides: Partial<JiraProject> = {}): JiraProject {
return { id: '1', key: 'AA', name: 'Alpha', ...overrides }
@@ -1,4 +1,4 @@
import type { JiraProject } from '../../../shared/jira/jira-types'
import type { JiraProject } from '../../../../../shared/jira/jira-types'
import { uiCollator } from '@/i18n/ui-intl-formatters'
export function getJiraProjectSelectionKey(project: JiraProject): string {
@@ -7,7 +7,7 @@ import { isVisibleJiraCreateField } from '@/components/task-page/jira/task-page-
import {
compareJiraProjectsByDisplayLabel,
getJiraProjectSelectionKey
} from '@/components/task-page-jira-project-selection'
} from '@/components/task-page/jira/task-page-jira-project-selection'
import type { TaskPageJiraCreationStatePreludeModel } from './use-task-page-jira-creation-state'
@@ -5,7 +5,7 @@ import type { JiraIssue } from '../../../../shared/jira/jira-types'
import { useAppStore } from '@/store'
import { useShallow } from 'zustand/react/shallow'
import { findTaskPageLinearIssue } from './linear/task-page-linear-cache-selectors'
import { findTaskPageJiraIssue } from '@/components/task-page-jira-cache-selectors'
import { findTaskPageJiraIssue } from '@/components/task-page/jira/task-page-jira-cache-selectors'
export function useTaskPageDetailRouting(model: TaskPageGitHubIssueDraftModel) {
const {
pageData,
@@ -1,6 +1,6 @@
import type { TaskPageLinearBoardModel } from './task-page/linear/use-task-page-linear-board'
import { useMemo, useCallback } from 'react'
import { findTaskPageJiraIssue } from '@/components/task-page-jira-cache-selectors'
import { findTaskPageJiraIssue } from '@/components/task-page/jira/task-page-jira-cache-selectors'
import {
getSingleJiraProjectScope,
getTaskPageJiraStatusOrderScopeKey,