Repository navigation
feat: open any pull request of the task's repository in a Pull request tab - #3823
Merged
Merged
Conversation
… by its number An agent's Pull request tab could only show the pull request from the branch the agent stands on now, so a pull request it opened before moving to another branch had no tab. The tab's reads and its changes (changes, the overview's three parts, viewed files, and the pull request action) now take an optional `number`: the pull request of the agent's repository by that number, read afresh and never written on the agent's row. With no number they read the agent's own pull request as before. Co-authored-by: luke-agent[bot] <339870089+luke-agent[bot]@users.noreply.github.com>
… request tab
A link to a pull request no agent stands on now, such as one an agent
opened before moving to another branch for the next PR of a stack, opened
on GitHub. A Pull request tab may now name a pull request by its number
(`{ changes: agentId, number }`): it reads, counts, and changes that pull
request through its agent, is kept, pinned, and named apart from the
agent's own, and a link to any pull request of the task's repository, on a
task, an agent's page, or an Inbox item, opens in one.
Co-authored-by: luke-agent[bot] <339870089+luke-agent[bot]@users.noreply.github.com>
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
…eep their newest read Review on the numbered Pull request tab: - Tab views, pin names, and the numbered pull requests the control keeps are nested by agent and then number rather than keyed by a joined id, and the strip draws a numbered tab under a key made for the two. - A numbered read landing after a newer one no longer takes it back. - A numbered read that failed or named none is asked again the next time the open tabs change, so its tab's name is not stranded. Tests whose links to another pull request of the repository opened on GitHub now open it by its number, as this change means them to. Co-authored-by: luke-agent[bot] <339870089+luke-agent[bot]@users.noreply.github.com>
This branch was successfully deployed
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.
Why
Dean asked why #3798 opened on GitHub while #3799 opened in Luke. Both should open in Luke unless something fundamental stops them.
The cause: a Pull request tab belonged to an agent and only showed the pull request from the branch that agent is on now. The same agent opened both PRs. It switched to a new branch for #3799 after opening #3798, so nothing in Luke counted #3798 as anyone's, and its link went to GitHub. Every endpoint the tab reads and writes through was keyed by agent id alone.
What changes
Service, wire, host. The tab's reads and writes can now name a pull request with an optional
numberquery:agentPullRequestOfNumber). It never writes it on the agent's row.service-paths, the client, the act/gateway schemas (codingAgentPullRequestReadParamsSchema, plusnumberon the action params) andhost-operator.Panel.
ChangesStripTabgains an optionalnumber, whichsameTab,tabKey, the stored tab schema, pins and per-tab views all respect.pull-request-number.ts), so its writes include it: comments, threads, reactions, viewed marks, and merge/close. Each read binds it too.numberedPullRequests, kept separately from the agents' own PRs.Not covered
Links outside a task's own places still go to GitHub when the PR isn't any listed agent's current one: Factory, Chat, another task's card. That would need Luke links to carry a PR number; I left it out to keep this small.
Tests
numberis refused.numberthrough to the client.showPullRequestwith a number opens a separate tab unless the number is the agent's own.openPullRequestsHeresends another PR of the repository to a numbered tab.repositoryPullRequestOfand the Inbox target.LUKE_UPDATE_FIXTURES=1. There is one new fixture, and the action params gainnumber.Typecheck passes in every package, run one package at a time.
pnpm check:affectedcouldn't finish in the sandbox: the parallel typecheck ran out of memory and two unrelated features tests timed out under load, then passed when re-run alone.Made with Luke