diff --git a/notes/host-context-implementation-checklist.md b/notes/host-context-implementation-checklist.md index a59a2812fb5..724521a15b4 100644 --- a/notes/host-context-implementation-checklist.md +++ b/notes/host-context-implementation-checklist.md @@ -221,6 +221,7 @@ Done means: reviewers and future agents can understand the vision, implementatio - [x] 2026-06-12: Preserved Jira task detail source context in Tasks open payloads, back/forward history entries, and replay state so a reopened Jira issue does not fall back to the ambient site/host; added a same-issue/different-source-host history regression and verified focused UI/history/feature-interaction tests, oxlint, and full `pnpm run typecheck`. - [x] 2026-06-12: Scoped Jira optimistic detail patches to the selected `TaskSourceContext` so a same-key issue cached from another Jira host/site is not visually mutated; verified with `jira.test.ts`, focused oxlint, and full `pnpm run typecheck`. - [x] 2026-06-12: Updated Composer GitHub PR and GitLab MR base-resolution to run against the selected workspace run repo instead of the provider item's source repo, preserving task source identity separately from run-host git commands; verified with a host-context boundary test, focused oxlint, and full `pnpm run typecheck`. +- [x] 2026-06-12: Added Jira provider-depth interaction recording when starting workspace creation from a Jira issue, matching GitHub/GitLab/Linear task-provider behavior; verified with the feature-interaction writer-boundary test and focused oxlint. - [x] 2026-06-12: Threaded GitHub Tasks row-level mutations through `TaskSourceContext` for issue state, assignees, reviewer requests/removals, PR merge/auto-merge, and new issue creation/follow-up reads; verified with focused GitHub/TaskPage tests, focused oxlint, `pnpm run typecheck`, and `git diff --check`. - [x] 2026-06-12: Added provider account-scope diagnostics to GitHub/GitLab CLI integration cards so code-host credential checks show whether they belong to the local desktop client or selected remote server, matching the existing Linear/Jira ownership copy; verified with focused integration-card scope tests and oxlint. - [x] 2026-06-12: Extended task-detail navigation state to GitLab and fixed Linear replay so saved `TaskSourceContext` is restored through back/forward and direct detail reopens; GitLab detail history keys now include source scope so identical MRs from different hosts stay distinct. Verified with focused UI/history/static-boundary tests and oxlint. diff --git a/src/renderer/src/components/TaskPage.tsx b/src/renderer/src/components/TaskPage.tsx index a869159581b..3de39fa379e 100644 --- a/src/renderer/src/components/TaskPage.tsx +++ b/src/renderer/src/components/TaskPage.tsx @@ -7111,6 +7111,7 @@ export default function TaskPage(): React.JSX.Element { const handleUseJiraItem = useCallback( (issue: JiraIssue): void => { + useAppStore.getState().recordFeatureInteraction('jira-tasks') openComposerForJiraItem(issue) }, [openComposerForJiraItem] diff --git a/src/renderer/src/components/feature-interaction-writer-boundaries.test.ts b/src/renderer/src/components/feature-interaction-writer-boundaries.test.ts index 6e1757c7fa9..a890bce3bb7 100644 --- a/src/renderer/src/components/feature-interaction-writer-boundaries.test.ts +++ b/src/renderer/src/components/feature-interaction-writer-boundaries.test.ts @@ -209,6 +209,15 @@ describe('feature interaction writer boundaries', () => { } }) + it('records Jira provider-depth for workspace use', () => { + const taskPageSource = componentSource('TaskPage.tsx') + const jiraWriter = "recordFeatureInteraction('jira-tasks')" + + expect( + sourceBetween(taskPageSource, 'const handleUseJiraItem', 'const handleJiraConnect') + ).toContain(jiraWriter) + }) + it('records browser annotation agent handoff only from the prompt-delivered callback', () => { const source = componentSource('browser-pane/BrowserPane.tsx') expect(