Skip to content

feat(feedback): add hosted feedback form and private Linear intake - #129

Merged
devnull03 merged 13 commits into
sitefrom
feat/feedback-site
Sep 10, 2026
Merged

devnull03 merged 13 commits into
sitefrom
feat/feedback-site

Conversation

@devnull03

@devnull03 devnull03 commented Sep 9, 2026 •

Copy link
Copy Markdown
Owner

Summary

  • Add an account-free hosted form with six categories, editable diagnostics, an optional automatic session log, and optional user attachments.
  • Keep small session logs readable in the Linear issue. Gzip logs above 64 KiB in supported browsers.
  • Validate Turnstile, enforce rate and size limits, and create private Linear issues in qrate / Beta Intake & Stabilization / Backlog.
  • Apply only the category, concrete platform, and Logs Attached labels when applicable.
  • Show a clear success or failure dialog and return the Linear ticket identifier.
  • Keep analytics disabled on the feedback page and remove diagnostic fragments immediately.
  • Update privacy disclosures and deployment instructions.

Linear body format

  • Put the user description first.
  • Put optional reply information before the automated sections.
  • Add a horizontal divider.
  • Render diagnostics and logs in fenced code blocks.
  • Do not repeat the category in the issue body.

Verification

  • bun test: 11 passed.
  • bun run build: passed.
  • Browser-compatible empty multipart file fields are covered.
  • A real local Worker submission created TSGB-284 with a compressed log link.
  • A second real submission created TSGB-285 with its small log inline.
  • A label-routing submission created TSGB-287 in Backlog with only Bug, Windows, and Logs Attached.
  • Verified the qrate project and Beta Intake & Stabilization milestone through Linear GraphQL.

Companion and deployment

Companion desktop PR: #128. Merge and deploy this site before releasing the desktop controls.

Required Worker configuration: TURNSTILE_SITE_KEY, TURNSTILE_SECRET_KEY, and LINEAR_API_KEY.

@devnull03

Copy link
Copy Markdown
Owner Author

Local testing is now supported: copy .dev.vars.example to .dev.vars, add the Linear and Turnstile values, then run bun run dev. The form is at http://localhost:4321/feedback. .dev.vars is ignored. The Turnstile site key now uses the same Worker runtime configuration as the two secrets.

@devnull03

Copy link
Copy Markdown
Owner Author

Local setup no longer needs a Turnstile widget. .dev.vars.example now contains Cloudflare public always-pass test keys, and the Worker accepts their test response only on localhost/127.0.0.1. Add only LINEAR_API_KEY to the copied .dev.vars file.

@devnull03
devnull03 merged commit 41dc61a into site Sep 10, 2026
@devnull03
devnull03 deleted the feat/feedback-site branch September 10, 2026 02:18
@devnull03
devnull03 restored the feat/feedback-site branch September 10, 2026 02:18
@devnull03
devnull03 deleted the feat/feedback-site branch September 20, 2026 04:04
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.

1 participant