Web route: /feedback/ (protected).
Source: llm-fe/src/llm-fe/pages/FeedbackPage2/FeedbackPage2.tsx.
Screenshot
Not attached. Route redirects to Sign in without a session. Capture after sign-in: submit card and history table.
Behavior
Same header as Dashboard. Two cards:
Submit feedback. Title (required), category (required), text (required, at least one character). Submit clears the form and prepends the new row locally.
Feedback history. Table columns: Title, Category, Text, Status. Loaded on mount.
Categories shown to the user, and the values the API expects:
Label
Value sent
Bug
BUG
Enhancement
ENCHANCEMENT
Other
OTHER
ENCHANCEMENT is the spelling the web client and backend already use. Keep it.
Empty history is an empty table. Load and submit failures are only logged; the web page does not show an error string. Android should still surface a failure.
API
Call
Purpose
GET /feedbacks/
List { id, title, text, status, category } for the current user.
POST /feedbacks/
Body { title, text, category }.
Android
New screen on the header nav.
Part of #1.
Web route: `/feedback/` (protected).
Source: `llm-fe/src/llm-fe/pages/FeedbackPage2/FeedbackPage2.tsx`.
## Screenshot
Not attached. Route redirects to Sign in without a session. Capture after sign-in: submit card and history table.
## Behavior
Same header as Dashboard. Two cards:
1. **Submit feedback.** Title (required), category (required), text (required, at least one character). Submit clears the form and prepends the new row locally.
2. **Feedback history.** Table columns: Title, Category, Text, Status. Loaded on mount.
Categories shown to the user, and the values the API expects:
| Label | Value sent |
| --- | --- |
| Bug | `BUG` |
| Enhancement | `ENCHANCEMENT` |
| Other | `OTHER` |
`ENCHANCEMENT` is the spelling the web client and backend already use. Keep it.
Empty history is an empty table. Load and submit failures are only logged; the web page does not show an error string. Android should still surface a failure.
## API
| Call | Purpose |
| --- | --- |
| `GET /feedbacks/` | List `{ id, title, text, status, category }` for the current user. |
| `POST /feedbacks/` | Body `{ title, text, category }`. |
## Android
New screen on the header nav.
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
Part of #1.
Web route:
/feedback/(protected).Source:
llm-fe/src/llm-fe/pages/FeedbackPage2/FeedbackPage2.tsx.Screenshot
Not attached. Route redirects to Sign in without a session. Capture after sign-in: submit card and history table.
Behavior
Same header as Dashboard. Two cards:
Categories shown to the user, and the values the API expects:
BUGENCHANCEMENTOTHERENCHANCEMENTis the spelling the web client and backend already use. Keep it.Empty history is an empty table. Load and submit failures are only logged; the web page does not show an error string. Android should still surface a failure.
API
GET /feedbacks/{ id, title, text, status, category }for the current user.POST /feedbacks/{ title, text, category }.Android
New screen on the header nav.