Skip to content

Release Notes - v1.6.0

Choose a tag to compare

@CyberSphinxxx CyberSphinxxx released this 28 Jun 03:39

Architectural Refactoring

  • Hook Modularization: Completely removed the monolithic src/hooks/useGame.ts and 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 UserStats object. 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.tsx and src/hooks/useArchiveGame.ts where 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.ts that automatically cross-references a user's totalPlayed with 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.tsx to 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.tsx to automatically iterate through and display all accepted aliases below 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.tsx tracker with a "Total Wins" counter to reinforce the separation of Daily metrics from alternate game modes. Added a new not-found.tsx custom 404 page for broken routes.

Full Changelog: v1.5.0...v1.6.0