adrianbonpin
b627a15a21
refactor: game-stub route now uses ensureSteamGame pipeline
2026-05-05 02:05:36 +08:00
adrianbonpin
47ac4c218b
test: add unit tests for ensureSteamGame stub-then-sync
2026-05-05 02:01:41 +08:00
adrianbonpin
50353952db
feat: add ensureSteamGame — unified stub-then-sync entry point
2026-05-05 01:29:01 +08:00
adrianbonpin
cfd18064bd
docs: add tactical implementation plan for sync unification & nav cleanup
2026-05-05 01:16:02 +08:00
adrianbonpin
765adfa1d5
docs: architectural spec for sync unification, nav cleanup, and PWA
2026-05-05 01:10:27 +08:00
adrianbonpin
863358a8fd
fix: resolve Next.js 16 build errors
...
- Extract Elysia app from route.ts into lib/api/app.ts to avoid
Next.js 16 invalid export validation ('app' is not a valid route
export field)
- Remove runtime='nodejs' from opengraph-image.tsx (invalid segment
config in Next.js 16)
- Replace computed revalidate expression in sitemap.ts with literal
(Next.js cannot statically evaluate BinaryExpression for segment
configs)
- Update eden.ts imports to match new app.ts location
2026-05-05 00:36:17 +08:00
adrianbonpin
f0db19b243
fix: sitemaps pt.2
2026-05-04 21:41:25 +08:00
adrianbonpin
633117f452
chore: final verification fixes for sitemap reliability
...
- Replace invalid revalidate export with unstable_cache in sitemap.ts
- Add revalidateTag('sitemap', 'default') to on-demand revalidation endpoint
- Fix test assertions to match /game/ URL path
2026-05-04 13:16:47 +08:00
adrianbonpin
9d3690ce50
feat: add on-demand sitemap revalidation webhook
2026-05-04 13:12:37 +08:00
adrianbonpin
0a138c3099
fix: remove non-standard host directive from robots.txt
2026-05-04 13:11:27 +08:00
adrianbonpin
16e5cf586d
feat: rewrite sitemap with ISR caching, validation, and filtered allowlist
2026-05-04 13:10:56 +08:00
adrianbonpin
26e0b510da
feat: add sitemap dynamic entries fetcher with LIMIT, validation, and error recovery
2026-05-04 13:09:02 +08:00
adrianbonpin
4fbaea9d9d
feat: add static sitemap entry allowlist (no auth pages)
2026-05-04 13:05:28 +08:00
adrianbonpin
e0df92e05e
feat: add sitemap image URL validation gate
2026-05-04 13:04:00 +08:00
adrianbonpin
ca08024cb5
feat: updates page and lint fixes
2026-05-01 10:15:13 +08:00
adrianbonpin
7bcd580397
fix: replace prose plugin with custom CSS for markdown styling
2026-05-01 09:49:26 +08:00
adrianbonpin
7749162414
fix: switch markdown pipeline to remark-rehype for proper HTML rendering
2026-05-01 09:44:47 +08:00
adrianbonpin
1abb254fef
chore: add changelog entry for updates page (v2026.0.96)
2026-05-01 09:38:21 +08:00
adrianbonpin
fbc0085e9e
feat: add typography plugin and prose styles for update viewer
2026-05-01 09:37:43 +08:00
adrianbonpin
695c3fbedf
feat: add updates route and sitemap entry
2026-05-01 09:36:44 +08:00
adrianbonpin
42cf4652dd
feat: add update viewer page with static generation
2026-05-01 09:36:03 +08:00
adrianbonpin
db36ef01e1
feat: add updates list page
2026-05-01 09:35:26 +08:00
adrianbonpin
c204c30eb9
feat: add UpdateViewer component with chapter nav and progress bar
2026-05-01 09:34:45 +08:00
adrianbonpin
cd98d6637f
feat: add ChapterNav component with mobile support
2026-05-01 09:34:04 +08:00
adrianbonpin
f8ba2d0370
feat: add ReadingProgressBar component
2026-05-01 09:33:12 +08:00
adrianbonpin
7e06dec5c0
feat: add UpdateCard component for updates list
2026-05-01 09:32:39 +08:00
adrianbonpin
edbd352b34
content: add first update post from changelog v2026.0.95
2026-05-01 09:31:57 +08:00
adrianbonpin
19c2515437
feat: add content loading utilities for updates
2026-05-01 09:31:04 +08:00
adrianbonpin
04da5d6210
chore: add markdown parsing dependencies for updates page
2026-05-01 09:29:25 +08:00
adrianbonpin
824fbbd13f
feat: rearrange game benchmark wizard and improve overall
2026-05-01 01:18:13 +08:00
adrianbonpin
293aadbff0
fix: sequential sync with 1.5s delay to avoid Steam rate limiting
2026-04-30 23:13:28 +08:00
adrianbonpin
583486de1a
feat: streaming progress for bulk sync - real-time updates
2026-04-30 23:09:35 +08:00
adrianbonpin
e38a2fabe7
fix: better error handling for bulk sync, fix NaN% progress display
2026-04-30 23:04:51 +08:00
adrianbonpin
5f037481ec
perf: parallel bulk sync with 5 concurrent requests, remove 100-game limit
2026-04-30 22:59:28 +08:00
adrianbonpin
0461beca4e
feat: review score prominent display, improved sync logic, changelog update
2026-04-30 22:24:40 +08:00
adrianbonpin
ea01438935
Fix Steam sync logic: extract retry helper, add 429/rate-limit handling, game type validation, set syncStatus on errors
...
- Extract recordSyncFailure() helper to deduplicate 3 identical retry/backoff blocks
- Set syncStatus: 'error' on all failure paths (was missing before)
- Handle HTTP 429 (rate limiting) with Retry-After header support
- Reject non-game Steam app types (DLC, soundtrack, demo) during sync
- Add type field to SteamAppDetails interface
2026-04-30 22:23:04 +08:00
adrianbonpin
730793d6b6
feat: add star icon and styled steam review score to game cards
...
- Show steamReviewScore on games list cards in compact badge row with star icon
- Update search result right panel to use blue-400 styling with star icon
- Include "Positive" label on search results for clarity
2026-04-30 22:15:09 +08:00
adrianbonpin
99766d3b4b
feat: add Steam review score badge to game details hero section
2026-04-30 22:11:13 +08:00
adrianbonpin
9df2677fd5
docs: update changelog with steam reviews fix
2026-04-30 22:06:01 +08:00
adrianbonpin
2620023a96
fix: steam reviews pagination - fetch more and slice instead of broken cursor
2026-04-30 22:05:42 +08:00
adrianbonpin
d2e40a2696
fix: add missing preset fields to serialization
2026-04-30 21:59:00 +08:00
adrianbonpin
976b918397
fix: suggest edit only for non-Steam games, improve preset modal, improve steam reviews error handling, update changelog
2026-04-30 21:55:38 +08:00
adrianbonpin
2286f0793c
fix: anti-cheat is game-level, not per-device
2026-04-30 21:40:25 +08:00
adrianbonpin
90acde90b6
fix: add null safety to SteamReviews component
2026-04-30 21:38:47 +08:00
adrianbonpin
fccef57d43
fix: auto-recalculate playability on benchmark submit and sync, fix anti-cheat logic for games without anti-cheat
2026-04-30 21:35:38 +08:00
adrianbonpin
a9f78ef74c
fix: remove duplicate /api prefix from new routes
2026-04-30 21:27:07 +08:00
adrianbonpin
aa57a96191
fix: register dashboard and saved-filters API routes
2026-04-30 21:25:20 +08:00
adrianbonpin
6b6893a201
docs: add CHANGELOG.md tracking all new features
2026-04-30 20:50:14 +08:00
adrianbonpin
5fba98cd3d
feat(manage): add dashboard as manage landing page
...
- Add Dashboard as first sidebar nav item under Overview section
- Update /manage page to render DashboardOverview instead of redirecting
- Remove redirect to /manage/users
2026-04-30 20:49:32 +08:00
adrianbonpin
ce3c88ec54
feat(manage): add dashboard overview and charts components
...
- DashboardOverview: stat cards, top contributors, playability distribution,
and Steam sync health sections
- DashboardCharts: placeholder for future ECharts integration
2026-04-30 20:48:28 +08:00