Tool bugs seen from issue-tracker work (2026-10-23): wiki get, repo contents, issue pagination, empty responses, label assignment #1
Labels
No labels
area/dsh
area/forgejo
experiment
priority/later
priority/next
priority/now
type/bug
type/task
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set
Reference
dsh-plugins/dsh-gitea#1
Loading…
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Found while bootstrapping
pvlb-infra/issue-tracker(2026-10-23) — reproduced against the live Forgejo 17.0.0 as userdsh. Logged here so the next agent does not re-debug them; the same list lives inissue-tracker/AGENTS.mdunder Tool bugs.1.
gitea_wiki getreturns onlyOKgitea_wiki {action: "get", owner: "pvlb-infra", repo: "vps-setup", pageName: "Home"}→OK. The page exists (a wiki-repo clone containsHome.md).git clone ssh://git@git.pvlb.dev/pvlb-infra/vps-setup.wiki.git. Already documented in the DSH Bootcamp wiki page, so this is the known occurrence.2.
gitea_repo_contentsreturns the filename, not the contentsowner: pvlb-infra, repo: vps-setup, path: AGENTS.md→AGENTS.md;owner: web, repo: web-frontend, path: README.md→README.md.path: ""fails withgitea_repo_contents failed: invalid owner, repo, or filePath, so directories cannot be listed either.GET /api/v1/repos/{owner}/{repo}/contents/{path}withGITEA_TOKEN.3.
gitea_issue_listsilently truncates whenlimit > 20On
pvlb-infra/vps-setup(28 issues,state=all):limit: 5, page: 1limit: 100, page: 1limit: 50, page: 1limit: 50, page: 2OK(empty) — but issues #9–#2 remainlimit: 20, page: 2Looks like the page size is clamped to 20 but the offset is still
(page - 1) * limit, so page 2+ is skipped silently. A naive "list everything" call misses 8 of 28 issues in a single repo — exactly the failure mode a cross-project digest cannot afford.limit <= 20, then page through.4. Empty results render as a bare
OKgitea_issue_listonpvlb-infra/issue-trackerorpvlb-infra/forge-runner(0 issues) →OK. Same forgitea_labels liston a repo without labels, andgitea_labels createon success.[], "no issues", or the created object — right now "empty" and "it worked" are indistinguishable without a second query.Verified not broken
owner/repo/statefiltering is correct (t14-deepsopen → 5 rows;dsh-resend-mcpall → 7 rows).Acceptance
gitea_wiki getreturns the page body.gitea_repo_contentsreturns file content (and either supports directory listing or says so in its description).gitea_issue_listhonourslimitup to the server max and paginates consistently.OK.Tool bugs seen from issue-tracker work (2026-10-23): wiki get, repo contents, issue pagination, empty responsesto Tool bugs seen from issue-tracker work (2026-10-23): wiki get, repo contents, issue pagination, empty responses, label assignment5.
gitea_issue_createignoreslabels(names), silentlyFound immediately after filing the first two issues.
labels: ["type/bug", "area/forgejo", "priority/next"]; it opened with zero labels. Same for the companion issue inpvlb-infra/issue-tracker.GET /api/v1/repos/{owner}/{repo}/labels), thengitea_labels {action: "set", number, labels: [<ids>]}. Numeric ids work; names do not.Combined with #4 (empty/
OKresponses), the failure mode is nasty: create + set both answerOK, and only a third read shows the labels never landed.Split into one actionable issue per defect, each with root cause (file:line) and a concrete fix:
gitea_issue_listsilently hides everything past 20 rows (formatters.js:205) — priority/nowgitea_repo_contentsreturns the path, not the file body (formatters.js:230)gitea_wiki getanswersOK; the REST endpoint is metadata-onlyOK(formatters.js:211and:287)gitea_issue_createcannot set labels/assignee/milestone (issues.js:104)Closing this tracker. New tool bugs get their own issue from now on (one defect = one issue), and
pvlb-infra/issue-tracker/AGENTS.mdkeeps the live table with links.