Version 1.4.0
·28 changes
- Newplaystore:Console.mjs create-app task + GamingBox app created
- Newads:AdMob rewarded interstitial (fullscreen) for coins — mobile + web
- Newsound:A1 — procedural sound engine + persisted global mute toggle
- Newhome:Category filter on the game grid
- Newprogression:Daily login streak bonus
- Newa11y:Reduce-motion toggle (accessibility pass)
- Newboard-tables:Unified GameTopBar across reversi/gomoku/go/backgammon
- Newgo:Heuristic bot replacing the random-move placeholder
- Newai:Surface difficulty level + tier in the AI picker
- Newai:Level-aware gin-rummy + switch bots + difficulty pickers
- Newcosmetics:Server-authoritative card-back & table-felt customization
- Newsocial:Gift gold to a friend — POST /api/friends/gift
- Newquests:Daily objectives with settlement-driven progress
- Newleaderboard:Seasonal ranked tiers with quarterly reset & decay
- Newsettings:Settings panel + light/standard theme toggle (persisted)
- Newcosmetics:Board theming presets (configurable game-board themes)
- Newui:Empty states + loading skeletons (friends / history / rooms)
- Newclocks:Game clocks / time controls (blitz / rapid / untimed; timeout → loss)
- Newmatchmaking:Quick-play matchmaking queue (auto-find opponent by game + time-control)
- Newreplay:Spectate + live replay (move-by-move scrub from history)
- Newsocial:Friend challenges — direct game invite → notification → joinable room
- Newalliance:Seasonal ranking + members-only alliance chat channel
- Newplatform:PWA shell + perf tightening + e2e gap fill
- Newelo:Per-game ELO for the full catalog via elosByGame JSONB (M2)
- Newrooms:Graceful disconnect + reconnect with forfeit-on-timeout (M1)
- Fixedmobile:Restore GamingBox app identity in capacitor.config
- Fixedads:Correct rewarded-interstitial AdMob event names
- Fixedquests:Explicit integer casts in recordQuestProgress + unit tests