BDMS-897: In-app bug report and feature request panel#293
Merged
Conversation
Replaces the Google Form bug reporter with a Help & Support panel built into the app sidebar. Clicking the bug icon in the sidebar footer (or the Get Help button in the header) opens a slide-out panel with two forms: Report a Bug and Request a Feature. Bug form auto-captures page URL, reporter name, browser, and date/time. User fills in what happened and picks a severity (Low/Medium/High radio buttons). Feature form asks for the problem, who would use it, and what it should do. Both forms POST to /api/feedback on OcotilloAPI, which creates a JIRA ticket and posts a Slack notification, then returns the ticket key and link to show in the success state. Removes the old Google Form wiring: bug-report.ts config, BuildBugReportUrl.ts utility, and updates the /report-a-bug static page to describe the new in-app flow.
Gradient borders on the bug and feature buttons (emerald/teal and sky), larger base font size throughout the panel, severity changed to radio buttons with Low as the default, orange background on the captured context box, and the urgent issues email line removed from its box.
Preview DeploymentPreview URL: https://preview-bdms-897-bug-panel-auejgdbofq-uc.a.run.app Note: This preview uses the staging API endpoints. |
Contributor
Grabacion.de.pantalla.2026-06-12.a.la.s.07.05.20.mov |
TylerAdamMartinez
left a comment
Contributor
There was a problem hiding this comment.
Looks great. Can't wait to fully test it once DataIntegrationGroup/OcotilloAPI#717 is approved and merged.
chasetmartin
left a comment
Collaborator
There was a problem hiding this comment.
Like Tyler said, I'm excited to see this in action with the api endpoint!
| }), | ||
| } | ||
| try { | ||
| const res = await fetch('/api/feedback', { |
Collaborator
There was a problem hiding this comment.
For the POST could handleSubmit use the useCustomMutation hook from Refine? I believe that would route it via the custom method in the ocotilloDataProvider (which I think is setup). You'd get the success/error handling benefits of TanStack Query.
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.
Why
The previous flow sent users to an external Google Form, breaking their context and making it easy to abandon. This replaces it with a panel built directly into the app.
What changed
New: Help & Support slide-out panel
Clicking Get Help in the header, or the bug icon in the sidebar footer, opens a panel with two options:
Both forms POST to
POST /api/feedbackon OcotilloAPI (see companion PR OcotilloAPI #717). The API creates a Jira ticket and sends a Slack notification, then returns the ticket key. The panel shows a success state with a link to the ticket.Removed
src/config/bug-report.ts— old Google Form configsrc/utils/BuildBugReportUrl.ts— old URL builderReportBugButtonUpdated
public/content/report-a-bug.md— static/report-a-bugpage updated to describe the new in-app flowsrc/components/Button/ReportBugButton.tsx— now opens the panel instead of linking to a form; responsive (icon-only on mobile, icon + "Get Help" text on sm+)src/components/AppShell.tsx— panel state management, both form views, success stateDependency
This PR requires the API changes in OcotilloAPI #717 to be deployed first, or at the same time.
Before either can go to production, the following env vars must be added to Secret Manager for both staging and production:
JIRA_BASE_URLhttps://nmbgmr.atlassian.netJIRA_EMAILJIRA_API_TOKENJIRA_DEFAULT_PROJECTBDMS(default, can omit)SLACK_FEEDBACK_WEBHOOK_URLFiles changed
src/components/AppShell.tsxsrc/components/Button/ReportBugButton.tsxpublic/content/report-a-bug.mdsrc/config/bug-report.tssrc/utils/BuildBugReportUrl.tssrc/config/index.tssrc/utils/index.ts