Release Notes - v1.6.0
Architectural Refactoring
- Hook Modularization: Completely removed the monolithic
src/hooks/useGame.tsand replaced it with specialized, purpose-built hooks for each individual mode (useDailyGame.ts,useArchiveGame.ts,useCategoryGame.ts,useEndlessGame.ts,useP1OutageGame.ts,useSLATimeAttack.ts). - Storage and API Optimization: Disconnected all alternative game modes from mutating the global
UserStatsobject. Eliminated secondary Firestore API sync requests from modes like Endless and P1 Outage, streamlining the application strictly around Daily and Archive metrics.
Bug Fixes & Stability
- Firebase App Check Crash: Resolved a critical Turbopack runtime error where the application would crash during component evaluation if Firebase App Check was not initialized properly.
- Archive Dropdown Fix: Addressed a bug in
src/app/archive/[date]/page.tsxandsrc/hooks/useArchiveGame.tswhere playing historical puzzles resulted in an unresponsive search dropdown. The system now correctly fetches and hydrates the global answer dictionary aliases payload for the archive GameBoard. - P1 Outage Stats Contamination: Fixed a critical logic flaw where failing tickets in the 3-guess "P1 Outage" mode inadvertently recorded global daily losses.
- Global Stats Auto-Repair: Implemented a self-healing algorithm inside
src/lib/storage.tsthat automatically cross-references a user'stotalPlayedwith their strict Archive history array upon load, purging any phantom stats injected by previous P1 Outage play sessions.
UI/UX Improvements
- Landing Page Simplification: Refactored
src/components/LandingPage.tsxto conditionally hide the "Log In" button and "Log Out" options if the user is already authenticated, streamlining the path to "Play" and avoiding logout confusion. - Gamemode Modals: Introduced a dynamic, theme-matched "How to Play" slide-in modal ecosystem in
src/app/modes/page.tsx. Each card features custom hover styling and isolated info cards detailing the rules for SLA, P1 Outage, Endless, and Category Drill. - Expanded Terminology: Fully spelled out "Service Level Agreement (SLA) Time Attack" on the modes page for improved accessibility and clarity for new users.
- Resolution Ticket Clarity: Updated
src/components/ResolutionTicket.tsxto automatically iterate through and display all acceptedaliasesbelow the primary Root Cause, reducing ambiguity for players who used alternative terminology. - Pure Stats UI: Replaced the non-standard "Endless Best" stat metric on the
src/app/stats/page.tsxtracker with a "Total Wins" counter to reinforce the separation of Daily metrics from alternate game modes. Added a newnot-found.tsxcustom 404 page for broken routes.
Full Changelog: v1.5.0...v1.6.0