Local viewer: UI polish and a Feedback & support tab#847
Merged
Conversation
- Sidebar redesign: account-switcher-style header, uniform nav rows, updated icons, drag-to-resize/collapse. - Refined content width, padding, and motion (page/card transitions, dialog animations). - Platform features (PR Security Reviews, Integrations, Members) open a dialog instead of a page. - Copy tidied up; "Email report" -> "Export report to PDF"; finding actions moved into the header. - New: Feedback & support tab that collects a message + work email and relays it through the local server. Fixes: - load_skill transcript entries no longer crash the agent/finding view. - Run details show the local source path instead of [object Object]. - "Issues" returns to the full list from a finding's detail view. Rebuilt the committed static bundle.
Contributor
Greptile SummaryThis PR polishes the local viewer and adds a feedback workflow. The main changes are:
Confidence Score: 4/5The feedback failure path needs a contained fix before merging.
strix/viewer/frontend/src/components/FeedbackView.tsx Important Files Changed
Prompt To Fix All With AIFix the following 2 code review issues. Work through them one at a time, proposing concise fixes.
---
### Issue 1 of 2
strix/viewer/frontend/src/components/FeedbackView.tsx:34-45
**Rejected Request Leaves Form Stuck**
When `submitFeedback` rejects because the local server is unavailable or the response cannot be parsed, this handler never restores `step` from `"sending"`. The button remains disabled and shows “Sending…” indefinitely instead of displaying the existing unavailable error.
```suggestion
const send = async () => {
if (!canSend) return;
setStep("sending");
setError(null);
try {
const result = await submitFeedback(message.trim(), email.trim());
if (result.ok) {
setStep("sent");
return;
}
setStep("form");
setError(ERROR_COPY[result.error] ?? ERROR_COPY.unavailable);
} catch {
setStep("form");
setError(ERROR_COPY.unavailable);
}
};
```
### Issue 2 of 2
strix/viewer/frontend/src/components/FeedbackView.tsx:9-13
**Rate Limit Uses Availability Message**
The backend deliberately returns `rate_limited` for a relay 429, but this map has no matching entry. A rate-limited submission therefore tells the user the service is unavailable and to retry immediately, which can prolong the rate limit instead of explaining that they need to wait.
```suggestion
const ERROR_COPY: Record<string, string> = {
invalid_email: "That email doesn't look right.",
invalid_message: "Please write a little more.",
rate_limited: "Too many messages were sent. Please wait and try again.",
unavailable: "Couldn't send that just now. Try again.",
};
```
Reviews (1): Last reviewed commit: "Local viewer: UI polish and a Feedback &..." | Re-trigger Greptile |
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.
Polishes the local run viewer and adds a Feedback & support tab.
Fixes:
load_skilltranscript entries no longer crash the agent/finding view.[object Object].Rebuilt the committed static bundle.