Commit Graph

34 Commits

Author SHA1 Message Date
1802fd6607 Add OpenAPI contract and generated frontend client 2026-02-18 21:25:07 +01:00
a130cba41a Harden CSRF/CSP and add hash version upgrades 2026-02-18 20:51:18 +01:00
3c7f3d2114 Add event-driven state sync with ETag optimization 2026-02-18 19:58:57 +01:00
acffbc199d Remove startup migration and runtime frontend rewrites 2026-02-08 21:46:26 +01:00
42e60d2a5a Harden app security controls from audit 2026-02-08 18:40:13 +01:00
abb9874c98 Refactor state transitions into workflow service 2026-02-07 13:27:02 +01:00
a281f4acaf Code cleanup 2026-02-07 02:51:01 +01:00
b16bf8007f Standardize API auth challenge responses as ProblemDetails 2026-02-07 01:51:09 +01:00
0d60108036 Extract admin and results workflows into services 2026-02-07 01:06:22 +01:00
5d40d555d1 Extract suggestion and vote workflows into services 2026-02-07 01:01:10 +01:00
9c1eb63084 Add trusted forwarded-header config and tests 2026-02-07 00:51:36 +01:00
b86343a59d Harden image URL validation against followed redirects 2026-02-07 00:46:03 +01:00
c0756ff2c6 C# formatting 2026-02-05 20:39:12 +01:00
67a164e53b Expand test coverage to match specs 2026-02-05 18:57:25 +01:00
7e2d9ba9b8 Add backend test harness with mock SQLite 2026-02-05 17:46:56 +01:00
c03cee1777 Sign out invalid auth cookies when player no longer exists 2026-02-05 17:09:58 +01:00
d88469724a Auto-set app-base meta from BasePath config at startup 2026-02-05 16:45:08 +01:00
a6265e8656 Switch to signed cookie auth and stop leaking player IDs 2026-02-05 16:28:22 +01:00
f713756ece Add remote image validation for screenshot URLs 2026-01-29 01:43:02 +01:00
f1534b7631 Add username/password auth and login UI 2026-01-29 01:01:13 +01:00
e15dd02228 Honor forwarded proto and scope cookie to base path to prevent new player cookies 2026-01-28 20:08:08 +01:00
4509c0f8a8 Add configurable BasePath for subfolder hosting and update frontend base handling 2026-01-28 20:00:54 +01:00
983488d258 Split API into phase-specific endpoint files 2026-01-28 17:11:25 +01:00
9363b029df Refactor backend into structured endpoints, contracts, and middleware 2026-01-28 17:05:39 +01:00
3ec1808ad1 Allow deleting own suggestions in Suggest phase and surface delete chip 2026-01-28 16:58:18 +01:00
6396d583b5 Require display name before suggesting/voting and enforce in UI 2026-01-28 16:30:30 +01:00
bec3930200 Fix admin toggle visibility, include media in results, remove stretch tasks 2026-01-28 15:40:25 +01:00
57de6bb8f1 Order /suggestions/mine client-side to avoid SQLite DateTimeOffset ordering 2026-01-28 15:10:40 +01:00
74dcad74aa Add phase-aware frontend shell, polling client, and global exception handler 2026-01-28 15:05:54 +01:00
44514f8ecc Add factory reset admin endpoint and use it in smoke test 2026-01-28 15:02:24 +01:00
37c3eed552 Order suggestions client-side to avoid SQLite DateTimeOffset ORDER BY 2026-01-28 14:59:45 +01:00
a4b86bb1ca Accept enum names in JSON via JsonStringEnumConverter 2026-01-28 14:57:45 +01:00
68ba872031 Add phase-gated API, cookie identity, and initial migration 2026-01-28 14:46:59 +01:00
257b473253 Upgrade to .NET 10 and finalize foundation scaffold 2026-01-28 14:29:42 +01:00