You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
ui_get backs synchronous MCP App UI pickers (label/assignee/milestone/branch/reviewer dropdowns). Each method paginated GitHub API results in an unbounded loop (100 per page, looping until NextPage==0). On large repos/orgs this fans into dozens of sequential API calls — production telemetry showed tail latency spiking to ~20 minutes.
Fix: introduce uiGetMaxPages = 10 (1000 items maximum) constant in ui_tools.go. All pagination loops for labels, assignees, milestones, branches, and reviewers (collaborators + teams loops) now break at uiGetMaxPages. A has_more boolean is added to each response to signal truncation. uiGetIssueTypes and issue_fields are single-request and left unchanged.
ui_get feeds type-ahead pickers that pair with user search input, so responsiveness matters more than completeness. Truncating at 1000 results with a has_more flag gives the UI a signal to show a "type to filter" hint rather than implying the list is exhaustive.
No-op. The fork already has uiGetMaxPages = 10 constant in pkg/github/ui_tools.go (line 30), with bounded pagination and has_more flag in all ui_get loops. No work needed.
Activity
gastrodon commentedon Jun 27, 2026
Unified Changelog — upstream main since v1.4.0
See #10 for the full changelog. Summary:
get_parentforissue_readissue_writeshow_ui, centralize show/deferdelete:trueon issue fieldsui_getpaginationissue_writeform gatingadd_comment_to_pending_reviewgastrodon commentedon Jun 27, 2026
No-op. The fork already has
uiGetMaxPages = 10constant inpkg/github/ui_tools.go(line 30), with bounded pagination andhas_moreflag in allui_getloops. No work needed.