Repository navigation
feat: attach and start threads from GitHub issues - #110
Merged
Merged
Conversation
GitHub issues now work like Linear issues. They attach to a message as a context chip carrying the description and selected comments, from the attach menu, the # menu, the command palette, and the mobile attach menu. They're read with `gh` from the project's checkout. Starting a thread from an issue, from the new Issues tab in the start-from picker or mobile's ⋯ menu, links the issue to the thread's tab group. Pickers mark linked issues In use and offer to open that thread, and the chat header and mobile tab switcher show the issue's live state. Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Issue attachment and start-from only worked with Linear. That leaves out open-source work, where the issues live on GitHub.
GitHub issues now work alongside Linear issues on web, desktop, and mobile:
github-issuecontext chip from the composer attach menu, a new GitHub issues tab in the#menu, the command palette (Attach GitHub issue), and the mobile attach menu. It's offered for projects whose remote is on GitHub.ghfrom the project's checkout and renders capped markdown. That covers state, author, assignees, labels, milestone, description, and selected comments. Hidden (minimized), empty, "+1", and reaction-only comments are dropped, and comments from the issue's author and maintainers are marked. When space runs out, the oldest comments go first. The snapshot is inlined into the prompt for every provider. Linear's budget and comment-trimming renderer moved to a sharedapps/server/src/issueMarkdown.ts, so both use it.PRs | Branches | Issues | Lineartabs, where Issues lists the project's GitHub issues. Mobile's ⋯ menu gains GitHub issue. Picking an issue attaches it and links it to the thread's tab group, stored in the new fork tablefork_github_issue_thread_links.#123with its live open or closed state, plus Open on GitHub and Unlink issue.On contracts and the server,
packages/contracts/src/githubIssues.tsdefines the sixgithubIssues.*RPCs. Every RPC except list identifies an issue by its URL, so only listing needs a checkout.gh issue list/viewshare the existing GitHub rate-limit guard, andgh's "could not resolve to an issue" now counts as not found.Not included: per-comment picking (comments are selected automatically), and a "Link GitHub issue" action from the thread menu or command palette. Linking happens through start-from, and unlinking through the chip.
Testing: targeted typechecks pass for contracts, client-runtime, server, web, and mobile, and 945 tests pass across the touched suites. New tests cover the
ghservice, comment selection and rendering, link storage, in-use detection, and chip records.server.test.tshas one failure, "flushes more than one tool chunk before the synchronization marker", in thread streaming code this change doesn't touch. Nothing has been run in a live client yet, so screenshots are still to come.Done by Claude Opus 5.5 in Claude Code.
🤖 Generated with Claude Code