Implement live player issue tracker with async search and private report revisions
Bring approved PRK.PlayerPortal known-issues prototype into production Razor portal. Reuse Eclipse shell, searchable selects and reporting access/publication validation. Whole rows clickable without breaking edit controls. Add authenticated no-store API-driven debounced search, tokenized matching and issue ID lookup, category/topic/state filters, sorting and bounded pagination with accurate counts. Keep URL state, keyboard controls, error/empty/loading states and responsive layout. Add owner-only report list/detail and optimistic immutable text revisions with CSRF, current audience/role checks, preserved original intake/evidence/game context and original submission idempotency. Coordinator alone delivers private correction comments to intake; no player canonical writes or automatic public changes. Future explicitly requested analysis consumes latest delivered revision. Validate unit/HTTP/SQL tests where possible, browser interactions and patch review. Rollout includes reporting schema/coordinator compatibility. User authorized committing and opening the pull request. Implemented Razor/API tracker, shared scoped CSS/searchable dropdowns, public detail partial/full-page reuse, owner-only private revisions and coordinator delivery. Owner corrections are additive private intake comments, not automatic retriage or public edits; future requested analysis uses the highest correction acknowledged in its captured comment snapshot, including lost DB acknowledgements. Held deliveries receive delayed retry eligibility so they cannot starve later revisions. Final validation: 323 PlayerPortal tests passed on .NET8 Docker with disposable SQL, 3 unrelated trade-DB tests skipped; 9 existing Node submission tests passed. Production portal/fixture build passes with warnings-as-errors. CI now supplies PORTAL_FORMS_TEST_DB through its existing disposable SQL service (remote CI not run). Review findings fixed and regression-tested: correction/comment snapshot consistency and lost acknowledgements, held-delivery fairness, corrected candidate/development-context ranking, association provenance isolated from player corrections, save-time field locking, case-insensitive URL hydration/Back, and mobile no-JS label filters. Chrome directly verified non-title category/status/date/blank row clicks, Ctrl-click new tab, same document timeOrigin during search, lowercase history/page restoration, slow/error save locking/text preservation and idempotent retry IDs, save/reopen, native modal background inertness and no-JS mobile label filtering. Final delegated mobile/desktop pass verified filter collapse, private details/edit/cancel/linked public page, centered dialogs and transparent header wrapper. Final app inspector: zero failures, retained existing global footer label warning; prototype zero failures/warnings. All final screenshot sheets opened. Existing /favicon.ico 404 identified separately, no new JS failures. Private fixture preview remains at http://127.0.0.1:8891/fixture-login using production pages/API/assets with in-memory sample data, not live Keycloak/Forgejo. Temporary SQL container and generated credential file removed. Search validates the whole visible catalogue per request; production-scale load remains unmeasured/documented. Migration 014 and matching coordinator permissions/releases are required before production rollout. Branch feature/player-issue-tracker; committed as e46940130 and pushed. Pull request #2940: https://git.project-rk.com/prk/engines/pulls/2940 (base develop). Final staged-code validation repeated: portal warnings-as-errors build, 323 portal tests passed with disposable SQL (3 unrelated trade tests skipped), and 12 Node tests passed. Working tree clean. No deployment performed.
Checklist
3 of 3 complete- Implement and verify authorized catalogue API/search and responsive Razor tracker with accessible searchable filters and row navigation.
- Implement owner-only immutable report revisions, concurrency/CSRF checks and coordinator-only delivery preserving public issue and original evidence.
- Validate regressions, browser interactions, integration boundaries and rollout documentation. Record any unrun checks explicitly.
- Area
- Project Rubi-Ka
- Project
- engines
- Kind
- Feature
- Task ID
tsk_tbydgvu849- Updated