Skip to content

File reports as GitHub issues from one box - #43

Draft
Meet2304 wants to merge 3 commits into
mainfrom
cursor/feedback-page-ff76
Draft

Meet2304 wants to merge 3 commits into
mainfrom
cursor/feedback-page-ff76

Conversation

@Meet2304

@Meet2304 Meet2304 commented Sep 13, 2026 •

Copy link
Copy Markdown
Owner

Why

People hitting trouble should be able to send a sentence and have that become a GitHub issue you can close. Opening issues/new (or copying a report) still asked them to have GitHub.

Approach

POST /api/feedback creates a GitHub issue (or comments on an open crash with the same signature). The form is two chips — Problem / Idea — and one box. Linea attaches diagnostics in main; the renderer never talks to GitHub (default-src 'self').

Crashes auto-send after renderer-gone, unresponsive, and uncaughtException. Same endpoint, crash label. Local 1-hour dedupe plus a <!-- linea-crash:… --> marker so repeats comment on the open issue instead of opening a duplicate. GPU child-process blips are not sent.

What this does

  • /feedback — Problem | Idea, one textarea, Send. Honeypot field company. Rate-limited by IP (5/10 min; Linea User-Agent 20/10 min).
  • POST /api/feedback — files or comments on issues in Meet2304/Project-Linea. Response is { ok: true } only (no issue number).
  • Settings → Report a problem — a tiny composer inside the overlay. Main attaches version, OS, player, song, lyrics/source, controls.
  • Crashes — fire-and-forget POST, then the overlay recovers as today.
  • Unpackaged / e2e builds do not hit production unless LINEA_FEEDBACK_URL is set.

Ops

Set GITHUB_FEEDBACK_TOKEN on Vercel (Issues: write on this repo). Falls back to GITHUB_TOKEN. Without a write token the form returns 503. The token stays server-side.

How to try it

  1. Open /feedback. Write a sentence, Send. With a write token it should appear on the Issues tab; locally without a token you should see “Reporting is not configured yet.”
  2. In the overlay: Settings → Report a problem → Write → Send. Unpackaged builds acknowledge without POSTing production.
  3. Repeat crashes with the same kind/reason/version should comment on the open crash issue.

Verification

  • Linea unit tests: 180 passing. Overlay e2e: composer opens, Send shows “Sent.” (unpackaged, no production POST).
  • Website tsc + bun test lib + next build. /api/feedback returns 400 / 200 (honeypot) / 503 (no token) as expected.
  • Browser: home → Feedback, short text error, Idea send → “Reporting is not configured yet.”, demo settings link, 390px layout.
Open in Web Open in Cursor 

People in trouble should not have to remember what to include, or start
from a blank GitHub issue. /feedback asks for the diagnostic fields Linea
already needs, files them as a structured issue, and the overlay's
settings link opens that form with the current session filled in.

Co-authored-by: Meet Bhatt <Meet2304@users.noreply.github.com>
@vercel

vercel Bot commented Sep 13, 2026 •

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated
project-linea Ready Ready Preview Sep 13, 2026 4:03am UTC

Send on the site and in overlay settings POSTs to /api/feedback, which
opens or comments on a GitHub issue. Crashes auto-send with signature
grouping so a flapping renderer does not flood the tracker.

Co-authored-by: Meet Bhatt <Meet2304@users.noreply.github.com>
@cursor cursor Bot changed the title Add a guided feedback page for problem reports File reports as GitHub issues from one box Sep 13, 2026
The lede said “Send files it”, which does not read. Also give the too-short
API error a period so it matches the form.

Co-authored-by: Meet Bhatt <Meet2304@users.noreply.github.com>

This branch was successfully deployed

1 active deployment
Preview — 7b05f49b Deployed Sep 13, 2026 by vercel[bot]
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants