adrianbonpin
4e324fa6e0
feat: create community suggestions table
2026-04-30 19:07:54 +08:00
adrianbonpin
33b0198506
fix: add notNull constraints to playability fields
2026-04-30 19:04:02 +08:00
adrianbonpin
d21e83897f
feat: add playability fields to games and platform support schemas
2026-04-30 18:59:38 +08:00
adrianbonpin
09bf8f64d6
fix: use pgEnum for steamReviewSentiment
2026-04-30 18:50:48 +08:00
adrianbonpin
5dfd8db578
feat: add steam review fields to games schema
2026-04-30 18:46:18 +08:00
adrianbonpin
bce1e812b5
chore: bump version to 2026.0.9
2026-04-29 13:02:26 +08:00
adrianbonpin
b435712b9c
docs: overhaul README with architecture overview, badges, and complete setup guide
2026-04-29 12:59:42 +08:00
adrianbonpin
c54e332a9e
feat: enable recursive comment threading up to 3 levels deep
2026-04-29 12:52:26 +08:00
adrianbonpin
171cbaaeee
feat: enable recursive comment threading up to 3 levels deep
2026-04-29 12:46:57 +08:00
adrianbonpin
5db88b25cb
fix: add syncCompleted reset, Escape key handler, and a11y attributes to sync overlay
2026-04-29 12:44:02 +08:00
adrianbonpin
b2be929f63
fix: sync modal now fills viewport via portal and persists after completion
2026-04-29 12:26:08 +08:00
adrianbonpin
e49908cd73
feat: add sync progress visualization with real-time status updates
2026-04-29 12:01:29 +08:00
adrianbonpin
d79a2605ed
fix: resolve type errors and lint warnings in sync system
2026-04-29 11:46:35 +08:00
adrianbonpin
a4cf2636e7
feat: add image validation and SteamGridDB fallback to game stub creation
2026-04-29 11:36:38 +08:00
adrianbonpin
caae92ca4f
fix: clear selection on pagination/search, add error handling for bulk sync
2026-04-29 11:32:25 +08:00
adrianbonpin
1215aca41a
feat: add checkbox selection and bulk sync to manage games page
2026-04-29 11:25:00 +08:00
adrianbonpin
06e811613d
fix: add bulk sync limit (100), fix N+1 queries, improve route ordering and responses
2026-04-29 11:19:19 +08:00
adrianbonpin
5d388f6f49
feat: add sync API endpoints (single + bulk)
2026-04-29 10:58:21 +08:00
adrianbonpin
3388d3225a
fix: use exponential backoff for sync retry instead of fixed 7-day interval
2026-04-29 10:55:21 +08:00
adrianbonpin
5227b1fd90
feat: enhance sync with error tracking, image validation, and SteamGridDB fallback
2026-04-29 10:44:49 +08:00
adrianbonpin
861ac7dfdc
schema: add sync error tracking columns to games table
2026-04-29 10:33:53 +08:00
adrianbonpin
133a4a9cc2
fix: resolve lint warnings - remove unused imports and fix type annotations
2026-04-29 01:47:11 +08:00
adrianbonpin
7903c9fbbd
Tasks 12-13: Fix release date input to type=date, add sort direction toggle to games page
2026-04-29 01:45:04 +08:00
adrianbonpin
8a063bfb6c
fix: include benchmark games in device filter and exclude soft-deleted entries from search
...
Task 10: Device filter now combines games with platform support entries
AND games with performance entries for the selected hardware, instead of
only checking gamePlatformSupport. This ensures games that have benchmarks
but no explicit platform support entry still appear in filtered results.
Task 11: The benchmark count query (bCounts) in unified search now filters
out soft-deleted performance entries using isRemoved = false. The pCounts
and perfStats queries already had this filter; only bCounts was missing it.
2026-04-29 01:43:37 +08:00
adrianbonpin
dfae540fd4
feat(manage): add manual resync button for games
2026-04-29 01:39:58 +08:00
adrianbonpin
b64e55157e
fix: add horizontal scroll to benchmarks table, add hard delete functionality
...
- Wrap table in overflow-x-auto container with min-w-[800px] to prevent overflow on smaller screens
- Add hard delete (purge) button to actions column for each benchmark entry
- Add confirmation dialog for permanent deletion with warning
- Add handleHardDelete handler that calls DELETE /api/admin/performance/:id/hard-delete
- Add DELETE endpoint for hard-deleting performance entries from the database
- Expand confirmAction state type to include 'hardDelete'
2026-04-29 01:38:29 +08:00
adrianbonpin
2fed5a3964
feat: improve users management UI with card-based layout
2026-04-29 01:34:59 +08:00
adrianbonpin
f7d825f5b3
tasks 5 & 6: update /admin UI refs to /manage, full-width manage layout
2026-04-29 01:33:07 +08:00
adrianbonpin
6642501b91
refactor: rename admin to manage in layout, sidebar, and redirects
2026-04-29 01:31:44 +08:00
adrianbonpin
b68bf36bff
refactor: rename admin route group to manage
2026-04-29 01:25:00 +08:00
adrianbonpin
fcfcce614a
chore: fix lint and type errors from feature bundle implementation
2026-04-29 00:54:39 +08:00
adrianbonpin
2101dfef08
feat: compare page with game selector, stats comparison, and charts
2026-04-29 00:45:16 +08:00
adrianbonpin
0f0176ae39
feat: add compare API endpoints for games and presets
2026-04-29 00:36:21 +08:00
adrianbonpin
0a6f5ac8d2
feat: non-Steam game edit page and edit button on game details
2026-04-29 00:32:44 +08:00
adrianbonpin
b8173bd8f8
feat: non-Steam game editing API, createdBy tracking, and source badges in search
2026-04-29 00:16:43 +08:00
adrianbonpin
c6d4e7b3d1
feat: non-Steam game submission wizard with SteamGridDB integration
2026-04-29 00:00:10 +08:00
adrianbonpin
74fe0447ee
feat: add SteamGridDB proxy API for non-Steam game images
2026-04-28 23:36:00 +08:00
adrianbonpin
cc34fd17ef
feat: add pinned presets with admin pin/unpin and dedicated section
2026-04-28 23:32:32 +08:00
adrianbonpin
23fa7be89f
feat: display system requirements and store stats on game details page
2026-04-28 23:24:33 +08:00
adrianbonpin
799bfbbf31
feat: add system requirements, store stats, and pricing to game schema and steam sync
2026-04-28 23:13:08 +08:00
adrianbonpin
7e2ab978e1
feat: add performance tier and stability scatter charts
2026-04-28 23:08:01 +08:00
adrianbonpin
741c19e840
feat: display 1% low FPS in presets, stats API, and game details
2026-04-28 22:56:43 +08:00
adrianbonpin
4d759160db
feat: add 1% low FPS field to benchmark submission wizard
2026-04-28 22:43:46 +08:00
adrianbonpin
943fcff12b
feat: add fps_one_percent_low column to performance entries
2026-04-28 22:39:23 +08:00
adrianbonpin
ab27ba948f
fix: add image fallback chain for missing game covers in search
2026-04-28 22:30:19 +08:00
adrianbonpin
59e3ca338b
fix(search): correct PriceTag logic for free pricing
...
- Return null when price is missing instead of showing 'Free'
- Show green 'Free' badge only when initial === 0 && final === 0
- Show emerald 'Free*' badge with tooltip for promotional free (final === 0, initial > 0)
- Fixes incorrect 'Free' label for games like Days Gone during free weekends
2026-04-28 22:28:01 +08:00
adrianbonpin
c91433958b
fix: remove SteamOS prefix doubling on osVersion display
2026-04-28 22:26:04 +08:00
adrianbonpin
748a9fa8c8
fix: tiptap duplicate link extension warning + settings editor number inputs to text+inputMode
2026-04-28 10:07:03 +08:00
adrianbonpin
d6a9601591
fix: refactor wizard edit mode to use lazy state init instead of effect setState
2026-04-28 09:51:26 +08:00
adrianbonpin
d8d0e8f826
fix: use vote-based reputation instead of contributions*10
2026-04-28 09:38:38 +08:00