KushCloud v3.2.0
What's Changed
Bug Fixes
- Fixed isTimeExpired() always returning false (dead code removed)
- Fixed CrateReveal inline definition breaking React reconciliation
- Fixed duplicate global error listeners in main.tsx and App.tsx
- Fixed onFrenzy firing every frame instead of on state change
- Fixed CrateReveal useEffect re-running on every render
- Fixed leaderboard subscription recreating on every bestScore change
- Fixed async anti-pattern in getLeaderboard() (redundant callback)
- Fixed 10 no-explicit-any lint warnings across tests
Features
- Restored Firebase connectivity (leaderboard, auth)
- Speed prototype improvements
- URL score sharing
- Auto-refresh leaderboard
- Leaderboard cache repair
Infrastructure
- Centralized error handling in errorHandler.ts
- Extracted CrateReveal to its own component
- Firebase .env credentials restored
- TypeScript: 0 errors, ESLint: 0 warnings, Tests: 155/155 passing
Full Changelog: v3.1.0...v3.2.0