Repository navigation
Conversation
The sort menu offers GitHub's orders: newest, oldest, recently updated, least recently updated, most commented and most reactions. The choice is saved with the other host settings and passed to the search API as its sort and order parameters, which were fixed to created/desc. Closes ajma#4 Co-Authored-By: Claude Opus 5.5 <[email protected]>
A new Owners setting lists GitHub organizations or users. When it is set, an All tab before the project tabs searches their open issues in one search (user:<owner> for each, which GitHub ORs), with the same search box, sort order and paging. Each row names its repository. The server marks each issue with its repository and, when this host has a project on it, that project and its coverage. Those issues get Create workspace in that project; the others link to GitHub instead. Rows are told apart by URL, since numbers repeat across repositories, and PR status is fetched per repository. Labels, milestones and assignable people belong to each repository, so the All tab's Labels menu offers the labels on the issues shown plus any already in the search, Author and Assignees offer you and any typed login, Types offers the organizations' issue types, and Milestones is hidden. Co-Authored-By: Claude Opus 5.5 <[email protected]>
…need - PR status for a page across repositories is one aliased GraphQL query (issues.pull-requests takes `issues`), instead of one gh process per repository. A repository GitHub refuses is left out; only a page where nothing loads is an error. - An empty All page returns before listing projects and running git. - The screen falls back to the All tab only once other hosts' projects are known, so it does not search past a project another host has. - Row test ids name the repository, since numbers repeat across them. Co-Authored-By: Claude Opus 5.5 <[email protected]>
The same hardening as ajma#12, on this branch's filter options: -f instead of -F for the repository's owner and name, and owner/repo validation. Co-Authored-By: Claude Opus 5.5 <[email protected]>
- issues.assigned-counts also takes the owners and counts their open issues assigned to me under `*`, in the same GraphQL request; the All tab shows it like the project tabs. Counts wait for the projects, so no request goes out with an empty list. - GitHub's search sometimes times out on a search across several owners and answers with zero results marked incomplete_results. The table then said "0 Open". searchPage asks once more, then reports the timeout as an error instead. Co-Authored-By: Claude Opus 5.5 <[email protected]>
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.
Based on #10 (sorting): both change the table header, the page RPC and the settings, so this branch is stacked on it. Its first commit is #10's; review the second one, "Add an All tab…". Once #10 merges, this diff shrinks to that commit.
Adds an All tab before the project tabs that lists the open issues of several GitHub owners at once, for people who work across a few organizations.
user:<owner>for each owner (GitHub ORs repeated qualifiers;user:matches organizations as well as users,org:only organizations), plus the search box, the sort order and paging as in the project tabs. The search API limits are unchanged: 30 searches a minute, and 1,000 results across all the owners, which the docs now say.owner/repo #12 opened …). The server marks each issue with its repository and, when the host has a project on it, that project and its coverage. Those issues get Create workspace in that project, or Open workspace. Any other issue gets Open on GitHub. Rows, menus and the pending create are keyed by issue URL now, since numbers repeat across repositories.issues.pull-requestsalso takesissues: [{repo, number}]). A repository GitHub refuses is left out and the others keep their status; only a page where nothing loads shows the error.The last commit applies #12's hardening (
-fandowner/repovalidation for filter options) to this branch's version of that code.Tested:
npm run typecheckandnpm test, with new server, shared, settings and screen tests.issues.pagewith three organizations, several sorts and pages. Rows matched local projects and coverage; issues in other repositories came back withprojectId: null.issues.filter-optionsfor those organizations.🤖 Generated with Claude Code