|
|
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 |
|