Skip to content

GitHub plugin silently discards extraRepos entries that are not owner/repo #2540

Description

@MPIsaac-Per

Summary

The GitHub plugin's extraRepos setting silently discards any entry that is not exactly owner/repo. I set it to MPIV-AI/* expecting the org's repos to be tracked, and nothing happened: no error in the settings form, no warning in the log, no change in bb github repos. The setting stored my value and the plugin ignored it, which is indistinguishable from a setting that worked but found nothing.

I expected either the wildcard to be honored or, failing that, to be told it was not.

Versions and environment

  • bb from source at ad79bbb5e, run with scripts/bb-dev-app current.
  • Also reproduced on the packaged desktop app 0.39.0 (github@0.2.1).
  • macOS 15.6 (Darwin 25.6.0), Node 24.19.0.
  • gh 2.86.0, authenticated to github.com.

Steps to reproduce

bb plugin config github set extraRepos "SOME-ORG/*"
bb plugin reload github
bb github repos

Any string that fails /^[\w.-]+\/[\w.-]+$/ reproduces it. A bare typo does too:

bb plugin config github set extraRepos "get-bb/bb, nonsense"
bb github sync

What does not reproduce it: a well-formed owner/repo entry, which tracks correctly.

Expected vs actual

bb plugin config github confirms the value is stored:

extraRepos = "MPIV-AI/*"  (string)
  Extra repositories — Comma-separated "owner/repo" list to track in addition to repos discovered from BB projects.

Actual, bb github repos — only the repos discovered from BB project checkouts, with no mention of the setting:

mpiv-ai/mpiv-main	(proj_yfvfyfwqkt)
mpiv-ai/kept	(proj_vrmb7zhsvg)
mpiv-ai/rig	(proj_ppswj7vb9d)
mpiv-ai/receptn	(proj_m437zwj9hw)

Nothing appears in the server log for the discarded entry. Expected: a warning naming the entry and the shape the setting wants.

Evidence

The parse keeps only entries that pass isRepoName and drops the rest with no else branch:

* is not in [\w.-], so MPIV-AI/* fails the test and the loop body never runs for it.

What you ruled out

  • Not a gh auth problem: valid entries in the same setting track fine, and gh repo list MPIV-AI returns 26 repos for this account.
  • Not a sync failure: the sync reports success, having simply never been given the repo.
  • Not a duplicate of GitHub plugin cannot target a GitHub Enterprise Server host #2313. That issue is about the plugin being pinned to github.com and unable to reach a GHE host; this is about the parse dropping input on the host it already talks to.
  • Still present on main at ad79bbb5e.

Suggested priority and effort

Low effort. Hits anyone who guesses at the setting's syntax, and the failure is silent, so the time lost is spent wondering whether the plugin is broken. Workaround is to list every repo explicitly.

AGENT GENERATED

Metadata

Metadata

Assignees

No one assigned

    Labels

    clibb CLIconfirmed-reproBug reproduced independently; see linked reportgithubBuilt-in plugin: githubuiApp shell, sidebar, composer, rendering

    Type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions