feat: Report Bug button that creates Gitea issues #15

Merged
Pakobbix merged 1 commits from feat/report-bug into main 2026-10-03 19:07:45 +00:00
Collaborator

Adds a "Report Bug" button to the web UI (top bar) that files an issue on Gitea via the daemon, enriched with auto-collected context: version, hostname, GPU, offset summary, active profile, and a collapsed recent-log tail.

Security model:

  • Gitea token (nvcurve_bot, scope write:issue) is a built-in default → works out of the box for every install of this public repo, no configuration.
  • Token is used server-side only; never reaches browser, logs, or API responses.
  • Behind existing session auth when enabled; rate-limited to 1 report / 5 min per client IP.
  • config.json can override gitea_url/gitea_repo/gitea_token (forks pointing at their own repo); gitea_token: "" disables it.

Changed:

  • nvcurve/config.py — gitea_* fields with built-in defaults
  • nvcurve/cli.py — loads overrides from /etc/nvcurve/config.json
  • nvcurve/server.py — POST /api/report-bug + GET /api/report-bug/status
  • frontend: ReportBugDialog.tsx (new), StatusBar.tsx (button), api/client.ts

Verified end-to-end: issue created via UI with full auto-context; 429 on repeat; zero-config path confirmed.

Adds a "Report Bug" button to the web UI (top bar) that files an issue on Gitea via the daemon, enriched with auto-collected context: version, hostname, GPU, offset summary, active profile, and a collapsed recent-log tail. Security model: - Gitea token (nvcurve_bot, scope write:issue) is a built-in default → works out of the box for every install of this public repo, no configuration. - Token is used server-side only; never reaches browser, logs, or API responses. - Behind existing session auth when enabled; rate-limited to 1 report / 5 min per client IP. - config.json can override gitea_url/gitea_repo/gitea_token (forks pointing at their own repo); gitea_token: "" disables it. Changed: - nvcurve/config.py — gitea_* fields with built-in defaults - nvcurve/cli.py — loads overrides from /etc/nvcurve/config.json - nvcurve/server.py — POST /api/report-bug + GET /api/report-bug/status - frontend: ReportBugDialog.tsx (new), StatusBar.tsx (button), api/client.ts Verified end-to-end: issue created via UI with full auto-context; 429 on repeat; zero-config path confirmed.
ARIA added 1 commit 2026-10-03 19:06:57 +00:00
Adds a 'Report Bug' button to the web UI (top bar) that files an issue
on Gitea via the daemon. The issue body is enriched with auto-collected
context: nvcurve version, hostname, GPU name, applied offset summary,
active profile, and a collapsed tail of the recent server log.

Security model:
- The Gitea token (nvcurve_bot, scope write:issue) is embedded as a
  built-in default so the feature works out of the box for every
  install of this public repo — no configuration required.
- The token is only ever used server-side; it never reaches the
  browser, logs, or API responses.
- The endpoint is behind the existing session auth when enabled, and
  rate-limited to one report per 5 minutes per client IP.
- config.json can override gitea_url/gitea_repo/gitea_token (e.g.
  forks pointing at their own repo); gitea_token: '' disables it.
Pakobbix merged commit 3c0fee3ec8 into main 2026-10-03 19:07:45 +00:00
Pakobbix deleted branch feat/report-bug 2026-10-03 19:07:45 +00:00
Sign in to join this conversation.