feat(feedback): Send feedback from the profile menu, as a pre-filled GitHub issue - #486
Merged
Merged
Conversation
…GitHub issue The profile menu gains "Send feedback": a bug, an idea or a question, a title and the details. "Open on GitHub" opens a new issue on tedious-code/foxSchema in a new tab, filled in, which the reader reviews and submits with their own GitHub account. Fox Schema holds no token and posts nothing: a token shipped with every self-hosted install would be readable by anyone running one. Issues are public, so: - "Include app details" lists every line it adds before anything is sent (version, browser, workspace, the engines in use) and names no host, database or connection; it can be unticked. - A line that looks like it carries a password (a credentialed URL, or an account statement the migration scrubber would rewrite) is flagged. - A description too long for a link (GitHub refuses ~8 KB URLs and the reader would lose what they typed) is shortened to fit, and says so. The dialog loads on the first click (4.7 KB gzip); first visit stays within the 170 KB budget. Unit and component tests, plus a DB-free e2e that runs in the cloud e2e suite. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_016PyNv48vpYUw2HhpjYFNUi
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_016PyNv48vpYUw2HhpjYFNUi
Contributor
Test IDsAdded (14)
|
Contributor
Bugbot couldn't run - usage limit reachedBugbot is counted against Cursor usage for this user or team, and this run hit a usage or spend limit. A user or team admin can review and increase usage limits in the Cursor dashboard. (requestId: 200af3fb-9b1f-4198-9380-c699091aeb7f) |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Adds Send feedback to the profile menu. A reader picks Something is wrong, An idea or A question, writes a title and details, and clicks Open on GitHub. A new issue on
tedious-code/foxSchemaopens in a new tab, filled in. The reader reviews it and submits it with their own GitHub account.Why the issue isn't posted by the app
Fox Schema holds no GitHub token and posts nothing. A token shipped with every self-hosted install could be read by anyone running one, who could then file issues as the project. The cost is that the reader needs a GitHub account and makes one more click, on a page where they can still edit or drop the issue. If a hosted instance should ever post directly, a server-side path with an operator-configured token can be added later, behind a setting.
Safeguards, since issues are public
postgres,oracle). It never adds a host, database or connection name. The dialog shows every line it would add, and the reader can untick it.PASSWORD '…',IDENTIFIED BY …). This reusesfindLeftoverSecretsandscrubSecretsfrom@foxschema/sql.Size
The dialog loads on first click (4.7 KB gzip). The first visit stays within the 170 KB budget (
npm run bundle:first-loadpasses).Tests
feedbackIssue.test.ts: URL and labels, characters special in URLs, the truncation search with multi-byte text, and the secret detection.FeedbackDialog.test.tsx: opens one tab with the right URL; the details name no server and can be left out; the password warning; the truncation notice; Escape, Cancel and backdrop close it. A/B checked: leaking hosts into the details, or dropping the warning, fails it.ProfileMenu.test.tsx: any role can open it from the menu.apps/e2e/src/tests/send-feedback.test.ts: in a real browser, withwindow.openstubbed so nothing reaches GitHub. It needs no database, so it's added to the cloud e2e suite (run-cloud.mjs) andrun-all.mjs.npx vitest run: 5854 passed. Typecheck, eslint andnpm run test-idsare clean.Docs: USER_GUIDE "Send feedback" section and an UNRELEASED note.
🤖 Generated with Claude Code
https://claude.ai/code/session_016PyNv48vpYUw2HhpjYFNUi
Generated by Claude Code
Note
Low Risk
Additive client-only UI with no auth or server changes; privacy safeguards are tested but users can still paste sensitive data into public GitHub issues.
Overview
Adds Send feedback on the profile menu so signed-in users can file bugs, ideas, or questions as a pre-filled GitHub issue on
tedious-code/foxSchemavia Open on GitHub (window.open); the app does not post issues or hold a GitHub token.The new
FeedbackDialog(lazy-loaded like the admin panel) collects kind, title, and description, optionally attaches app details (version, browser, workspace, engine dialects only—no hosts or connection names), warns on lines that look like secrets (reusing@foxschema/sqlscrub helpers), and shortens oversized bodies so the new-issue URL stays under GitHub’s limit.Coverage includes unit tests for
feedbackIssueand the dialog, aProfileMenutest for any role, browser e2e (send-feedback.test.ts) wired intotest:feedback,run-all.mjs, andrun-cloud.mjs, plus generated test IDs and USER_GUIDE / UNRELEASED docs.Reviewed by Cursor Bugbot for commit 05455e7. Bugbot is set up for automated code reviews on this repo. Configure here.