Skip to content

feat(web): open task links from chat in a sheet over the thread - #223

Open
coreybain wants to merge 1 commit into
mainfrom
feat/web-task-link-sheet
Open

coreybain wants to merge 1 commit into
mainfrom
feat/web-task-link-sheet

Conversation

@coreybain

@coreybain coreybain commented Sep 28, 2026 •

Copy link
Copy Markdown
Collaborator

Clicking a task key such as COR-159 in an agent's reply navigated to Tasks, so checking one task meant finding your way back to the thread afterwards.

  • Plain click: opens the task in the chat's existing task sheet, the same one task chips already use. Clicking outside the sheet or its close button returns to the thread.
  • Modified and middle clicks: Cmd/Ctrl/Shift-clicks and middle-clicks still go through the router, and the link's address still names the task, so a new tab or a copied link lands on it.
  • Open in Tasks: the sheet gains this action for the full view.
  • How it's wired: a small IssueMentionOpenContext wraps only the message timeline. Links rendered anywhere else keep navigating as before, including the Tasks assistant panel, which already sits on Tasks.

Surfaces: web and desktop share the chat view. Mobile doesn't linkify task keys, so nothing changes there. The user docs on tasks are updated.

Tests: a plain click opens the task in place; Cmd-clicks and middle-clicks don't; existing link tests are rendered through React now that the link reads context. The web typecheck and lint are clean. Before/after images are still to come: this hasn't been tried in a real client yet.

Model: Claude Opus 5.5. Harness: Claude Code.

🤖 Generated with Claude Code


View with [code]smith Autofix with [code]smith
Need help on this PR? Tag @codesmith-bot with what you need. Autofix is disabled.

Clicking a task key in an agent's reply navigated to Tasks, so checking one
task meant finding your way back to the thread. A plain click now opens the
task in the chat's existing task sheet; clicking outside it or its close
button returns to the thread. Cmd/Ctrl/Shift and middle clicks still go
through the router, the href still names the task, and the sheet gains an
Open in Tasks action for the full view.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>

@greptile-apps greptile-apps Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Your trial has ended. Reactivate Greptile to resume code reviews.

@chatgpt-codex-connector

chatgpt-codex-connector Bot commented Sep 28, 2026 •

Copy link
Copy Markdown

Codex Review Summary

This comment shows the latest Codex review activity on this pull request.

Review Status Commit Review trigger
📝 Code Review ✅ Completed 2026-09-28T10:12:02.266632Z cbe6a85 PR opened
ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review" or "@codex security review".

Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings.

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: cbe6a8599e

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

topFadeEnabled={!hasTimelineTopBanner}
/>
<IssueMentionOpenContext
value={props.onOpenIssueContext === undefined ? setLocalIssueDetailKey : null}

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P2 Badge Route mentions through the embedded task opener

When ChatView is embedded in IssuesAssistantPanel, that caller supplies onOpenIssueContext specifically to open a task as another panel tab, but this branch gives mention links a null opener. A plain click therefore follows /issues and navigates away from the active conversation instead of opening the task in place. Pass an opener that forwards the mentioned task to the supplied callback, or otherwise preserve the embedded panel flow.

AGENTS.md reference: AGENTS.md:L69-L74

Useful? React with 👍 / 👎.

openInPlace === null
? undefined
: (event) => {
if (event.button !== 0 || event.metaKey || event.ctrlKey || event.shiftKey) return;

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P2 Badge Preserve Alt-modified link activation

When a user Alt-clicks a task mention, this handler treats it as a plain click, prevents the link's native behavior, and opens the sheet. Alt is a link modifier—commonly used to download the target—and the existing markdown fragment handler in ChatMarkdown.tsx already preserves it alongside Meta/Ctrl/Shift. Include event.altKey in this guard so task links retain the same modified-click behavior as other chat links.

Useful? React with 👍 / 👎.

@github-actions github-actions Bot added size:M vouch:trusted PR author is trusted by repo permissions or the VOUCHED list. labels Sep 28, 2026

This branch has not been deployed

No deployments
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

size:M vouch:trusted PR author is trusted by repo permissions or the VOUCHED list.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant