quarto add owner/repo fails on repos whose default branch isn't main
Nobody has claimed this yet.
Assessment
- Difficulty
- 3/5
- Estimated time
- 1-2 days
- Newbie friendliness
- 74/100
- Issue type
- Bug
- Clarity
- Mostly clear
- Activity status
- Active
- Tech stack
- typescript
- Domain
- cli
Research direction
Start in src/extension/extension-host.ts at githubLatestUrlProvider.extensionUrl() and trace how extensionSource() and makeResolvers() select providers. Reproduce with quarto add nickriches/quarto-paper-pile, then make the no-ref lookup handle repositories whose default branch is not main, while preserving explicit @branch behavior. Done means the reported master-default repository installs without @master instead of returning “Extension not found in local or remote sources”.
Written by the indexing model from the issue text.
Description
quarto add owner/repo (no @ref modifier) only ever tries https://github.com/OWNER/REPO/archive/refs/heads/main.tar.gz. If the repo's default branch is master (or anything else), that request 404s and the resolver gives up with:
Extension not found in local or remote sources
There's no fallback to master and no call to GitHub's API to look up the repo's actual default_branch.
Source: src/extension/extension-host.ts, githubLatestUrlProvider.extensionUrl() (~line 114), invoked via extensionSource()/makeResolvers(). githubBranchUrlProvider can hit an arbitrary branch, but only when the user explicitly writes @branch — it's never tried automatically as a fallback.
Repro:
$ quarto add nickriches/quarto-paper-pile
Extension not found in local or remote sources
$ quarto add nickriches/quarto-paper-pile@master
# installs fine
(nickriches/quarto-paper-pile's default branch is master.) Quarto version: 1.11.1.
Expected: either query the repo's default_branch via the GitHub API before guessing, or fall back to master when main 404s.
Found while reviewing quarto-dev/quarto-web#2149 (a master-default extension submitted to the extension listing).
- Dominant language
- JavaScript
- Stars
- 6k
- Forks
- 458
- Avg merge
- 1d 9h
- Merged PRs (30d)
- 41
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
More from quarto-dev/quarto-cli
-
binder bug
Difficulty 1/5 Under an hour Newbie friendliness 92/100
quarto-dev/quarto-cli#14907 · 3 comments ·
-
brand bug
Difficulty 2/5 1-3 hours Newbie friendliness 68/100
quarto-dev/quarto-cli#14891 ·
-
brand bug html revealjs
Difficulty 2/5 1-3 hours Newbie friendliness 84/100
quarto-dev/quarto-cli#14882 ·
-
bug
Difficulty 2/5 1-3 hours Newbie friendliness 85/100
quarto-dev/quarto-cli#14875 ·
-
Percent scripts: accept raw-string (r""") and '''-delimited markdown cells, as jupytext writes them Openengines-jupyter enhancement
Difficulty 2/5 1-3 hours Newbie friendliness 84/100
quarto-dev/quarto-cli#14850 · 2 comments ·
All issues in quarto-dev/quarto-cli
Similar issues
-
enhancement
Difficulty 2/5 1-3 hours Newbie friendliness 70/100
babalae/bettergi-scripts-list#3674 ·
-
ecosystem wording
Difficulty 1/5 Under an hour Newbie friendliness 90/100
matrix-org/matrix.org#3649 ·
-
Difficulty 2/5 1-3 hours Newbie friendliness 88/100
vadimdemedes/ink#1029 ·
-
code-quality refactoring
Difficulty 2/5 1-3 hours Newbie friendliness 84/100
github/gh-aw-firewall#8816 ·
-
integration:quickjs org:external priority:backlog topic:code-interpreter topic:middleware type:feature
Difficulty 2/5 1-3 hours Newbie friendliness 74/100
langchain-ai/deepagents#6450 ·