Commit Graph
75 Commits
Author SHA1 Message Date
jessy-david-dev 08f67ee4f5 fix(multi): prevent host pruning and increase timeout to 90s
- Exempt host from inactivity pruning to prevent room corruption
- Increase player timeout from 45s to 90s for slower connections
- Reduce heartbeat interval from 20s to 15s for better coverage
- Refresh all players' lastSeen on nextRound/resetGame to avoid immediate pruning
2026-04-17 15:35:13 +02:00
jessy-david-dev e86f65d6af fix(multi): only prune inactive players in waiting phase to prevent losing host 2026-04-17 15:18:12 +02:00
jessy-david-dev 84db5451a2 feat(lobby): replace max players select with free number input 2026-04-15 19:27:49 +02:00
jessy-david-dev 6ba0df304f feat(lobby): allow up to 100 players per room 2026-04-15 19:26:50 +02:00
jessy-david-dev 1dcd45930c fix(lobby): optimistic toggle for search allowed, fixes display always showing blocked 2026-04-15 18:34:02 +02:00
jessy-david-dev 4e03876338 fix(lobby): use local state for rounds selector instead of server state 2026-04-15 18:27:51 +02:00
jessy-david-dev afe1dfd2d7 refactor(sse): improve error handling and connection cleanup 2026-04-14 16:32:32 +02:00
jessy-david-dev 90b14919c5 feat(multiplayer): replace polling with server-sent events and redis pub/sub 2026-04-14 16:00:09 +02:00
jessy-david-dev 7ecf268191 feat(leaderboard): add separate rankings for daily and blitz modes 2026-04-14 15:40:44 +02:00
jessy-david-dev b889f3fd10 ui(solo): align topbar design with multiplayer game screen 2026-04-13 17:17:47 +02:00
jessy-david-dev a2e1ac1c93 feat(profile): add pagination for game history (10 games per page) 2026-04-13 17:07:27 +02:00
jessy-david-dev 4614b087c3 fix: use inline svg for linkedin missing from simple-icons v16 2026-04-13 16:58:06 +02:00
jessy-david-dev e61ea79e68 chore: replace inline SVG icons with simple-icons package 2026-04-13 16:57:22 +02:00
jessy-david-dev 190722838f feat: add badge system with 10 achievement tiers 2026-04-13 16:47:47 +02:00
jessy-david-dev a9821623de fix(admin): render activity chart bars with proper height calculation 2026-04-13 16:18:11 +02:00
jessy-david-dev c497fa1f33 ui: center target article in topbar 2026-04-13 16:02:47 +02:00
jessy-david-dev ddf24e5714 feat(multi): display time for each player in round results 2026-04-13 15:59:34 +02:00
jessy-david-dev 7423bfc389 ui: make target article badge more visible in game topbar 2026-04-13 15:45:39 +02:00
jessy-david-dev 2a3dd6be56 fix: sync totalRounds changes to server, filter geographic admin articles, validate user exists before saving game 2026-04-13 15:42:00 +02:00
jessy-david-dev 79d90b75c4 fix(multi): use startGame for next round button in waiting phase 2026-04-13 00:20:17 +02:00
jessy-david-dev 12031b7507 fix(article): keep references and related sections visible in wikipedia display 2026-04-13 00:01:33 +02:00
jessy-david-dev 169f71c67d fix(multi): sync game mode changes to server in lobby 2026-04-12 23:59:40 +02:00
jessy-david-dev 05e5cb04b9 fix(multi): redirect to lobby after next round and reset game; keep article detail links visible 2026-04-12 16:33:18 +02:00
jessy-david-dev 5627a4bb30 feat(multi): award points based on both clicks and time 2026-04-11 23:08:09 +02:00
jessy-david-dev b1fcbbdb04 feat(multi): add configurable time limit per round with countdown display 2026-04-11 22:41:40 +02:00
jessy-david-dev 54c4400393 feat(multi): add go back button with extra click penalty 2026-04-11 22:30:47 +02:00
jessy-david-dev d268905f2d style: apply prettier formatting across codebase 2026-04-11 22:25:34 +02:00
jessy-david-dev b76fbf8789 fix(multi): stay on game screen between rounds instead of redirecting to lobby 2026-04-11 22:19:25 +02:00
jessy-david-dev 1aad4d74a9 fix(multi): disable player prune during playing phase to prevent kick on long reads 2026-04-11 22:13:51 +02:00
jessy-david-dev 1153f574a4 fix(multi): prevent player kick on slow load and background tab throttling 2026-04-11 22:12:39 +02:00
jessy-david-dev 6be8db9145 fix(multi): hide next round button when all rounds are completed 2026-04-11 22:10:04 +02:00
jessy-david-dev c3152058ce feat(multi): display player paths in round results screen 2026-04-11 22:08:56 +02:00
jessy-david-dev d4bb21da5d style(lobby): format game mode labels and search toggle 2026-04-11 22:03:00 +02:00
jessy-david-dev ede083f881 fix(multi): restrict search and game settings to room host only 2026-04-11 22:02:06 +02:00
jessy-david-dev 0401cdffe6 feat(multi): add game mode selection and surrender button for all_finish mode 2026-04-11 21:58:35 +02:00
jessy-david-dev 552bb17c15 feat(rooms): migrate multiplayer room storage from memory to PostgreSQL 2026-04-11 17:37:56 +02:00
jessy-david-dev 589e379dc3 fix(daily): remove invalid phase comparison causing TS build error 2026-04-11 15:57:35 +02:00
jessy-david-dev 5cd32c37e0 chore(linting): remove unused eslint-disable directives 2026-04-11 15:41:35 +02:00
jessy-david-dev d5a66c2dac chore(api): add explicit type casting for request payloads 2026-04-11 15:20:29 +02:00
jessy-david-dev 7d1b236b46 feat(profiles): add public player profiles with clickable leaderboard entries
- Create /api/users/[id] endpoint for public player stats
- Add PublicProfileScreen component with stats by mode
- Make leaderboard entries clickable to view player profiles
- Fix .gitignore to exclude .claude/ and *.db files
2026-04-11 15:17:56 +02:00
jessy-david-dev 8ff64b3470 feat(admin): add admin panel with user management, daily puzzle CRUD, and activity graph
- Add admin page at /admin (restricted to ADMIN_EMAIL via proxy)
- Implement user ban/unban and deletion
- Add daily puzzle creation, modification, deletion
- Include 14-day activity chart with hover details
- Add User.banned field to schema and migrate database
- Block banned users from logging in
- Add ADMIN_EMAIL to .env.local configuration
- Update Prisma client after schema changes
2026-04-11 15:10:08 +02:00
jessy-david-dev 5d8f7eae45 refactor(home): rename todayEmoji to totalEmoji 2026-04-11 13:47:49 +02:00
jessy-david-dev e9f39c572d feat(game): add configurable rounds per room 2026-04-11 13:47:05 +02:00
jessy-david-dev d245232497 fix(api): improve security and performance in leaderboard and rooms 2026-04-11 13:37:50 +02:00
jessy-david-dev f62ce65858 feat: add robots.txt, sitemap, and JSON-LD structured data 2026-04-11 13:30:45 +02:00
jessy-david-dev 2db89a85ad chore: update footer link styling for legal pages 2026-04-11 13:24:57 +02:00
jessy-david-dev b2f28bbb75 feat: add search toggle for game setup and improve RGPD compliance 2026-04-11 13:24:30 +02:00
jessy-david-dev 76c7967a9a feat: add RGPD data export and legal notices page 2026-04-10 23:09:36 +02:00
jessy-david-dev 7f9d58bdf2 fix(home): restore fixed topbar positioning 2026-04-10 22:58:45 +02:00
jessy-david-dev a52edfd458 feat: add share buttons for victory screens (X, LinkedIn, WhatsApp) 2026-04-10 22:57:31 +02:00