✨ Changelog
Every update to the GamingBox platform.
Get the GamingBox app
Play on the official Android app for the smoothest experience.
Chess v1.2.1
- v1.2.1
- FixedPlay vs AI now uses Fairy-Stockfish at depth 15-20
- v1.2.0
- NewSwitch app icon to chess knight; add 512x512 Play Store icon
- v1.1.0
- NewBatch 3 — chess/chat/backgammon surfaces
- v1.0.1
- FixedAdd missing resync() call so bot-hosted rooms go live after join
- v1.0.0
- FixedReturn to the homepage after login, not /chinese-chess
GamingBox v1.25.0
- NewClient-cached fake lobby rooms (1-6, materialize-on-challenge)
- New15s auto bot-join of your own room (human plays red/first)
- NewAnimated "waiting for opponent" indicator (sonar pulse + bouncing dots)
- Fixed10s bot auto-fill, AI rooms wager from 50 gold, one table per user
- FixedBot auto-join + play work for game-scoped accounts
- FixedDebounce "reconnecting" indicator (no strobe on transient SSE blips)
- FixedShow opponent's last move on the board across all board games
- NewDelay end-game modal 3s so winning move is visible
- NewNative Play Billing via PurchasesPlugin + wire StorePanel
- NewReplace emoji icons with official Play Store icons for Legacy Age and Castle Defense tiles
- FixedNever mint Xsolla sandbox tokens on production deploys
- FixedProxy Google avatars through /api/avatar to unblock COEP require-corp pages
- FixedAllow xsolla domains in WebView so checkout stays in-app
- FixedGate native Play Billing on isPlayStoreBuild() not isNativeApp()
- FixedAdd robots.txt + sitemap + metadata for Google indexing (CC/gamek.online)
- FixedUpdate legacy age icon to official live site icon (icon-192.png)
- FixedUpdate castle defense icon to official gamek-icons source
- FixedConsistent icon padding and rounding for Legacy Age and Castle Defense tiles
- FixedForce single-line title on Legacy Age and Castle Defense tiles for consistency
- NewPick time control before entering the table + instant AI first move
- NewScale bot wager with ELO/depth (50→2000 gold)
- NewTrue fullscreen + WebView back navigation (v1.4.0)
- NewGate join/rematch on gold + add post-match "Review your game"
- FixedRemove content-leak copy/open-in-new-tab options
- FixedMake difficulty tiers actually differ + stop AI-room red-side stuck
- NewPer-version detail pages at /changelog/<version> + sitemap
- NewAdd local-only offline guest mode (play vs AI / tutorials, no login)
- NewClose offline-guest dead ends — hub redirect, tutorials offline
- NewXsolla web storefront page + Shop nav links
- NewGenerate 1080p gameplay trailer for YouTube/Play
- NewScale strength by table ELO via engine Skill Level
- NewReal notation, engine robustness, interactive "try a move"
- NewEval bar, instant caching, tutorial, and sharing
- NewClient-side review achievements
- NewTrim Play-vs-AI to 3 difficulty tiers at depth 5/7/10
- NewProminent, reliably-visible 'AI thinking' indicator
- NewLeaving a live PvP/bot match is a rated loss, warned up front
- FixedGenerate launcher icon from store icon (Misleading Claims fix)
- FixedAllow committing an edit without auto-send-for-review
- FixedJS-engine fallback so client AI never freezes on WASM failure
- FixedRoute logged-out buyers to sign-in instead of hanging
- FixedMake downloaded games actually load offline + real reconnection screen
- FixedDiscard stale bestmove from a stopped engine search
- FixedReload to a cross-origin-isolated doc on SPA arrival so WASM engines run
- FixedCache WASM engines for offline play + offline-mode UX polish
- ImprovedTime-bound the engine search so it is fast AND strong (best-so-far)
- NewAdd Xsolla Pay Station web checkout + webhook
- NewAdd og:image to /exiled-prince and /defender pages
- NewPull game grid right behind the hero on mobile
- NewDrop hero subtitle, welcome line and CTA buttons
- NewAdd web-inspector / devtools guard loaded app-wide
- NewStandalone landing microsite at gamebuzz.gamek.online
- NewRebuild home into landing + knowledge base, move games to /games, 8-language i18n
- NewAdd zh translations for slot detail page keys
- NewLocalize per-game detail pages in 8 languages
- NewRebuild site root into a localized landing page + knowledge base
- NewMake landing hero logo link to home
- NewPlatform + per-game changelogs generated from git history
- NewDrive room-bot moves for the generic board games
- NewPush notifications/profile over one SSE stream, drop polling
- NewRate human-fake AI bot matches, gate on turns, encrypt settlement
- NewForfeit abandoned/rage-quit games as a real loss (ELO + gold)
- FixedEvaluate room staleness DB-side so clock skew can't empty the lobby
- FixedPass explicit glue-script URL to the Fairy pthread worker
- FixedMake the client WASM engines fail fast instead of hanging
- FixedServe engine workers cross-origin-isolated + drop dead server WASM tracing
- FixedTrim GA measurement id so a trailing newline can't kill gtag
- FixedCommit account scope core that origin/main build depends on
- FixedRoom bots search a depth they can actually return in time
- FixedStop doubled icon on Friends/Profile in the home bottom nav
- FixedStop nested <a> from LevelBadge in account chips
- FixedRestore cross-origin isolation on locale-prefixed play pages
- FixedRecord generic board PvP, never 500 on missing moves
- FixedCommit origin-scoped ApiUser + 2-arg verifyToken (unbreak build)
- FixedCommit untracked scope-client (unbreak build)
- NewPublic landing + Learn/Features hub with per-game tutorials
- NewAdd Castle Defense (defender.gamek.online) to the lobby
- NewPlace Chinese Chess & Chess just behind Texas Hold'em
- NewAdd GameBuzz Slots cross-promo tile
- NewCollapse multi-title unlocks into one notification
- NewPer-game cross-promo pages for GameBuzz slots
- NewHide GameBuzz/slots cross-promo in the Play Store AAB
- NewAdd hello@gamek.online support email as Contact link
- NewFold login-streak & XP bars by default, toggle from profile bar
- NewApply design system to game lobbies and chat
- NewAdd XP progress strip, bottom nav, live dots, ELO trend, FeatureGate shimmer
- NewAnimate quests/achievements/daily/mastery pages
- NewAnimate leaderboard rows, profile header, friends online dots
- NewAnimate alliances, player profile, and lobby room lists
- NewAnimate level timeline and history rows
- NewPolish home top bar, login streak, action buttons, weekly tab
- NewLoop 7 — entrance animations on locked screen, weekly quests, settings panel
- NewLoop 8 — btn-press + entrance animations on game lobby pages
- NewComplete btn-press sweep across all remaining interactive elements
- NewAdd slide-up-in to game grid + btn-press sweep for friends page
- NewComplete btn-press sweep across all game action buttons
- NewEntrance animations + btn-press sweep loop 13
- NewBtn-press sweep for settings panel + weekly toast animation
- NewBtn-press on game practice action buttons + lobby chat CTAs
- NewBtn-press on remaining practice CTAs + slide-up-in stagger on achievement & stats lists
- NewBtn-press on messages, tournaments, wheel, mastery, PvP card actions + stagger on tournament list
- NewBtn-press on replay scrubber, tournament detail, settings gear, PvP chat, NoGoldModal
- NewBtn-press on login flows, tutorial CTAs, stake modal, pvp-shell
- NewLoop 22 — nav btn-press, notifications & suggestions stagger
- NewLoop 23 — btn-press gaps, lobby nav, stagger polish
- NewLoop 24 — home widget btn-press polish
- NewLoop 25 — card lobby nav btn-press + spectator stagger + back-link feedback
- NewLoop 26 — chat panel btn-press + alliance stagger fill-mode
- NewLoop 27 — MinimalGameLobby bottom nav btn-press + slug back links
- NewLoop 28 — bulk btn-press on all back/home navigation links
- NewLoop 29 — btn-press on restart/nav/tournament links + stagger fixes
- NewLoop 30 — stagger fixes, btn-press on social/tutorial links
- NewLoop 33 — btn-press on tutorial/wiki/footer/email links, fix profile header links
- NewAdd entrance animations to login, home CTA, and result modal
- NewAdd copy-invite-link button to board game waiting rooms
- NewLoop 37 — jump-back-in strip, toast for invite copy, activity feed stagger
- NewLoop 38 — trending strip, low-gold pulse, player share via toast
- NewAnimate store/modal, i18n NoGoldModal, category-colored filter pills
- NewPractice lobby animations, win-rate stat, animated empty states
- NewAnimated empty states + home logo/tagline entrance animations
- NewHome page entrance animations and i18n polish (loop 42)
- NewFix hardcoded English in friends + leaderboard polish (loop 43)
- NewAlliance tabs i18n + styled loading/empty states (loop 44)
- NewLocalize board room turn indicator (loop 46)
- NewEmbed legacyage.gamek.online in iframe, match exiled-prince layout
- NewAdd real-time multiplayer rooms for 17 additional games
- FixedPolish login layout and settings gear position
- FixedReplace undefined btn-press-transform with btn-press in MultiplayerGameLobby secondary actions
- NewLocalize help, privacy, terms, exiled-prince, game-stub pages (batch 7)
- NewGame name DRY — pull from registry instead of hardcoded title props (batch 8)
- NewDaily quests UI — /quests page + home entry chip
- NewVi + zh translations for quests, notif, pvp, stats, nav keys
- NewFire 'all quests complete' notification on first crossing
- NewDaily rewards chip + notifications category i18n
- NewLocalize CardGameLobby section headers + room entry strings
- NewLocalize RequireFeature gate labels on all 6 gated pages
- NewMove 25 game blurbs to dict.ts, auto-lookup by slug
- NewLevel-up gold reward on settlement
- NewFire reward notification on level-up completion
- NewLocalize tournament bracket + status strings
- NewELO tier badge on own + public profiles
- NewTier badges on each leaderboard row
- NewFill in Chinese locale for all high-traffic missing sections
- NewFill in Vietnamese locale for all high-traffic missing sections
- NewVIP badge on own + public profile pages
- NewAdd vi+zh blurbs for 11 remaining game cards
- NewSeason info bar + tier badges
- NewELO tier progress bar on own + public profile
- NewClient-side player name filter
- NewRecent form dots per player row
- NewPlay-streak tracker + milestone bonus
- NewLogin-streak badge, level on public profile, play-streak on leaderboard
- NewWeekly challenge system with bigger rewards
- NewCard games + opponent names in match history
- NewProgression overview page + LevelBadge link
- NewWeekly tab with top-10 challenge leaderboard
- NewWeekly challenge card on alliance detail page
- NewCopy profile link button on /players/[uid]
- New7-day attendance mini-calendar on /daily
- NewTournaments page i18n sweep — game names + status labels
- NewProfile page i18n sweep — stats labels + game names
- NewHome page i18n sweep — players count, status badges, filters
- NewSettings panel i18n sweep — toggles, notifications, share feedback
- NewPublic player profile i18n sweep — buttons, stats, presence
- NewAchievements page i18n sweep
- NewLevel page i18n sweep — localize Lv prefix in timeline
- NewELO history sparkline on per-game stat rows
- NewCompact login-streak widget below the signed-in top bar
- NewDaily page i18n sweep
- NewELO sparkline on public player profile (/players/[uid])
- NewLevel-up reward notifications in all settlement paths
- NewQuests page — localize reward amount display
- NewAdd data-testids to bell and notification items
- NewWeekly quests page — localize reward amount display
- NewPaginated weekly leaderboard with own-rank
- NewLive player counts on game cards — poll every 30s
- NewReplace Fly WSS gateway with SSE + REST
- NewReal PvP in-game views for all 4 card games
- NewServer-side card game settlement with idempotent matchKey
- NewCopy invite link button in PvP waiting room
- NewAward XP for AI card games via useAiCardSettlement hook
- NewShow opponent names + history link in card PvP result overlay
- NewRefined 3-spike crown with deep valleys — PWA + store assets
- NewReplace JS minimax with Fairy-Stockfish WASM server-side (depth 15-20)
- NewAdd polish rule + implement ergonomics sweep across feature pages
- NewPolish lobby ergonomics across all game pages
- NewAdd press feedback to all interactive elements
- NewAdd hover states to room cards for better visual feedback
- NewPolish MinimalGameLobby for all newly-live games
- NewAdd press feedback to home page interactive elements
- NewDramatically increase AI search depth for stronger room bots
- NewCollapse social bar by default and move to bottom-right corner
- NewCollapse social bar by default, move to bottom-right
- NewRaise AI search depth — floor 10, max 20 plies
- NewAdd PvP rooms and bot rooms for all 26 games
- FixedLocalize ROUND badge in tournament list
- FixedDerive FEN from room.moves at fire time, not stale memoized state
- FixedCorrect AAB path after mobile/ folder move + bump versionCode
- FixedCompute FEN from room.moves to fix AI stuck in bot rooms after SSE migration
- FixedRetry after SSE reconnect when bot-move REST call failed during disconnect
- FixedRetry when engine returns null or server rejects bot move
- FixedExpose botRoom flag on wire so client bot driver can fire
- FixedRemove dead WSS gateway files; reduce bot depth; add driver logging
- FixedPre-warm WASM engine on bot room detection to eliminate cold-start delay
- FixedServer computes bot reply after /move — eliminate client WASM dependency
- FixedRemove Firebase loading guard from provider buttons
- FixedShow actual opponent name instead of 'Opponent' in bot-controlled rooms
- NewAccount level/XP spine + feature-gate + task timers
- NewFeature-gate UI primitives + gate home meta entries
- NewRoute-level gating + lock screen for gated systems
- NewPer-game Mastery — the §11 time-gated effort system
- NewSurface account Level + XP in the home top bar
- NewInternal level chain-gating across all gated systems (§11b)
- NewHardcoded-string scanner script (§12 sweep tooling)
- NewLocalize home page — search, Exiled Prince tile, no-matches, Android CTAs
- NewLocalize store, leaderboard, daily reward, card lobby
- NewLocalize tournaments + alliances surfaces
- NewLocalize friends, notifications, tournament detail
- NewLocalize achievements, history, loading, messages, profile, offline, replay
- NewLocalize ui, login, and players surfaces (batch 2)
- NewLocalize card game components — batch 4
- NewLocalize all 25 games/ practice pages — batch 5
- NewLocalize all 31 tutorial pages (batch 6)
- NewGate the landing portal to the top 10 tiles
- NewFavorite movies & actors on the profile pages
- NewReopen the full lobby + fix the site-wide canonical bug
- NewPer-page metadata for every game hub + tutorial page
- NewGet-it-on-Google-Play links on the embed page + homepage
- FixedDisambiguate Get Gold CTA locator in freemium-variants
- NewHuman-look-like rooms ramp to level 10–12 from move 4
- NewBot replies move off the event loop — worker thread + human think pause
- NewSettle-at-end — no upfront charges, no 50% abandon forfeit
- NewSigned-in top bar with player identity + gold on the landing page
- FixedMask bot uids in every client-facing payload — the wire never reveals a bot
- FixedCarve in-flight AI-settlement work back out of the masking commit
- FixedAI-mode settlement can no longer be farmed — idempotency key + daily caps
- FixedExclude the bot roster from public boards and player lookup
- FixedUn-stale app-backend-url + make android-download env-robust
- FixedDetached deploy log no longer stays empty on Windows
- FixedRemove gambling/real-money framing from all user-facing copy
- FixedPiece-move animation slides straight — no more two-diagonal path
- NewEmbed The Exiled Prince visual novel + Gamek Corp credit
- NewAdd per-game tutorial URLs to the sitemap
- FixedStatus bar must not hide game UI (edge-to-edge safe area)
- FixedPoint app WebView at the live gamingbox URL (delivers web fixes)
- FixedLocate Exiled Prince tile by href, not data-testid
- FixedMake gamek.online the canonical WebView URL
- FixedHide bot identity in room id + auto-seat into waiting tables
- FixedPoint browser Firebase config at gamingbox-lobby (match the fixture)
- NewConsolidate bottom-left chrome into one Settings panel
- NewScript to set Google sign-in (OAuth consent) app name
- NewKick seated-but-not-ready card players after a grace window
- NewList all 32 games in the listing + capture game-board screenshots
- NewIn-app share, embedded review, and re-engagement reminders
- NewSeed human-like bot rooms in all card-game lobbies
- FixedTwo room tiers — beginner (lvl 1–4) AND advanced (lvl 5–10)
- FixedRoom bots are the STRONG tier (level 7–10) and play well
- FixedRoom tables show casual ELO 500–1100 but play strong (7–10); UNRANKED
- FixedBind opponentElo to $4 so Play-now seats the challenger
- NewLooping background music with remote-first loading
- NewReal downloaded SFX with remote-first loading + our-server fallback
- NewFill empty lobbies with 5-10 beginner opponents (ELO 500-1100)
- NewBlocking hides a user's chat in every channel + their feed content
- NewLet players withdraw during registration; make cron tick authoritative
- NewProgress bars + special titles on the gallery
- NewMy Tournaments dashboard + section
- NewOnline presence indicators (heartbeat + dots)
- NewDaily rewards calendar (/daily)
- NewChat profanity filter on every send path
- NewReport user-generated content (chat messages)
- FixedDrop the stale 3-col report_open_uq index definition
- FixedUnfreeze bot-hosted tables after join + cap/expire empty-lobby fillers
- NewShowcase earned titles on the profile pages
- NewNotify a player when they earn a title
- NewAlliance badge on the public profile
- NewRecent activity on the public profile
- NewFriend suggestions (people you may know)
- NewMake achievement notifications muteable
- NewGift gold to a friend from the friends page
- NewIncoming friend-request badge on the Friends nav icon
- NewReport a player from their public profile
- NewFriend count on the public profile
- NewGift gold to a friend from their public profile
- FixedLoser always gets an end screen with options
- NewDeploy-survival snapshot + active-game keepalive (Branch 5)
- NewPer-connection message flood guard on the gateway
- NewGateway /health returns live room + connection metrics
- NewClient auto-reconnect/resume on the room socket
- NewAuto-reconnect/resume for the card transport (symmetric with board)
- NewPlayer report endpoint + moderation log
- NewPer-game stats summary endpoint
- NewNotification mute preferences
- NewHonor the 'social' mute end-to-end
- NewPlayer search by name endpoint
- NewSearch players by name in the Add-a-friend UI
- NewExclude blocked users from player search
- NewA profile page surfacing per-game stats
- NewNotification mute toggles in the settings panel
- NewReport a blocked player from the friends UI
- NewPublic player profile page (e2e pending Firebase cooldown)
- NewLink each entry name to the player's public profile
- NewChallenge + block actions on the player profile
- NewHub links to match history + own public profile
- NewFriends activity feed
- NewFriends scope
- FixedPublic profile page stops the skeleton on any load failure
- NewStateful in-RAM board gateway + e2e harness (additive)
- NewCut board play pages to the WS gateway (state + moves over RAM)
- NewFCM push notifications — token registry + send-on-event (S1)
- NewFastSpring web checkout + order webhook (web IAP)
- NewShow opponent name + per-game ELO the moment a match starts
- NewAI/practice is unranked + difficulty fixed at level 2
- New"person waiting" bot lobby tables (rated, server-driven)
- NewFly real-time room gateway — shared core + deploy scaffold (additive)
- FixedWeb rewarded value comes from ayeT-Studios, not "the Android app"
- FixedLoser now gets the end-of-match modal with gold/ELO lost
- NewConsole.mjs create-app task + GamingBox app created
- NewAdMob rewarded interstitial (fullscreen) for coins — mobile + web
- NewA1 — procedural sound engine + persisted global mute toggle
- NewCategory filter on the game grid
- NewDaily login streak bonus
- NewReduce-motion toggle (accessibility pass)
- NewUnified GameTopBar across reversi/gomoku/go/backgammon
- NewHeuristic bot replacing the random-move placeholder
- NewSurface difficulty level + tier in the AI picker
- NewLevel-aware gin-rummy + switch bots + difficulty pickers
- NewServer-authoritative card-back & table-felt customization
- NewGift gold to a friend — POST /api/friends/gift
- NewDaily objectives with settlement-driven progress
- NewSeasonal ranked tiers with quarterly reset & decay
- NewSettings panel + light/standard theme toggle (persisted)
- NewBoard theming presets (configurable game-board themes)
- NewEmpty states + loading skeletons (friends / history / rooms)
- NewGame clocks / time controls (blitz / rapid / untimed; timeout → loss)
- NewQuick-play matchmaking queue (auto-find opponent by game + time-control)
- NewSpectate + live replay (move-by-move scrub from history)
- NewFriend challenges — direct game invite → notification → joinable room
- NewSeasonal ranking + members-only alliance chat channel
- NewPWA shell + perf tightening + e2e gap fill
- NewPer-game ELO for the full catalog via elosByGame JSONB (M2)
- NewGraceful disconnect + reconnect with forfeit-on-timeout (M1)
- FixedRestore GamingBox app identity in capacitor.config
- FixedCorrect rewarded-interstitial AdMob event names
- FixedExplicit integer casts in recordQuestProgress + unit tests
- NewRewarded-ads gold (complete) + IAP phase 1 (catalog, verify, store wiring)
- NewReal Google Play Developer API purchase verification (phase 1.5)
- NewWire native Play Billing purchase token
- NewRemove-ads / VIP entitlement gate on interstitials
- NewVIP subscription perks — daily gold, extra spins, flair, no-ads
- NewEnglish names for VN games, freemium package store, regional ruleset picker
- NewStake winnings preview + fix StakeModal showing 0 max while profile loads
- NewShow English name in the home search dropdown
- NewSwitch ruleset from inside practice (re-deal in place)
- FixedShow the signed-in user's Google photo (photoURL)
- NewMake the right-edge SocialBar movable + collapsible
- NewOffer Google sign-in, remove anonymous/guest login
- NewCapacitor Android scaffold + native Google sign-in bridge
- NewManual ship script + env-gated Android APK download button
- ImprovedCut lobby idle chatter ~4× by slowing background polls + CDN cache
- FixedDisable hover-prefetch on landing CTA links
- FixedDeliver global messages + pin the chat input
- FixedUpsert Profile inside alliance create + join