Add portal bug report investigation dashboard
Implement the staff-facing bug report investigation dashboard based on the approved standalone mockup while extracting reusable investigation-page structure from Trade History. Scope: - Extract shared investigation layout/styles/partials without changing Trade History behavior. - Add a bug report list/detail page with report, workflow, Forgejo correlation, reporter identity, and same-account report context. - Restrict access to fresh portal-client developer, administrator, or management roles. Exclude bug_hunter, unscoped/wrong-client roles, and stale sessions. - Keep reporter PII out of public pages, Forgejo payloads, worker contracts, and logs. Acceptance criteria: - Trade History and Bug Reports share investigation primitives instead of duplicating the complete Razor structure. - Bug reports support bounded filtering/pagination and identifier/reporter search with no-store responses. - Matched, legacy, and unidentified reporter states render safely. - Authorization and data-boundary tests cover allowed and denied roles. - Relevant unit, SQL, and browser validation pass. Implemented outcome: - Added `/Admin/BugReports` with bounded server-side report/title/identifier search, product/identity/workflow filters, pagination, reporter detail, workflow state, verified legacy attribution, same-account reports, and private Forgejo links. - Access is limited to fresh portal-client developer, administrator, or management roles. Bug hunters, anonymous users, stale sessions, wrong-client and unscoped roles are denied. - Reporter PII is absent from list markup, GET search behavior, Forgejo/worker data and logs; selected detail reads log only report ID and opaque staff account key. - Extracted shared investigation page headers, result/empty states, pagination, detail headers, list/detail layout and responsive CSS from Trade History while retaining domain-specific markup/styles. - Added an explicit Awaiting analysis workflow filter and mutually exclusive state precedence. - Validation passed: portal build, all 227 PlayerPortal tests with disposable SQL, Trade History SQL page regression, responsive Chrome acceptance at 1440x900 and 390x844, and final feature review with no findings. - Pull request: #2783 https://git.project-rk.com/prk/engines/pulls/2783
Checklist
4 of 4 complete- Extract shared investigation Razor partials and responsive CSS from Trade History
- Implement bounded bug report list/detail reader and staff dashboard
- Enforce fresh developer, administrator, or management authorization
- Validate authorization, SQL queries, Trade History regression, and responsive browser behavior
- Area
- Project Rubi-Ka
- Project
- engines
- Kind
- Feature
- Priority
- Medium
- Task ID
tsk_796rdd9nsw- Updated