- Fixed 20+ syntax errors caused by incorrect event listener wrapping
- Fixed null reference error in updateTrackList function
- Added null checks for trackCount and trackList elements
- Corrected all misplaced closing braces in arrow functions
- Separated nested if statements that were incorrectly combined
- Hamburger menu now functional
- Track loading error resolved
- Changed touch event handlers from L.DomEvent to native addEventListener
- Added passive: false to allow preventDefault on touch events
- Implemented fallback quick-tap navigation for Chrome/PWA compatibility
- Added capture: true for better touch event handling
- Quick taps (<300ms) now trigger navigation dialog immediately
This fixes the issue where tap-to-navigate only worked on Firefox mobile
but not Chrome or installed PWA. Now supports both long-press and quick-tap.
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
Major features added:
- Progressive Web App (PWA) manifest and service worker for offline support
- Push notifications with VAPID authentication
- Mobile-optimized UI with touch navigation fix
- Admin panel with configurable settings
- Geocache sound alerts
- App icons in all required sizes
Technical improvements:
- Fixed mobile touch handling for navigation selection
- Added remesh tool for track point standardization
- Improved pathfinding algorithm for more efficient routes
- WebSocket-based real-time multi-user tracking
- Docker deployment with persistent data volumes
Ready for APK generation via PWA2APK.com or Bubblewrap
Full offline support with map tile caching
Push notifications for geocache alerts
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
- Removed icon switching between read/unread states
- Fixed CSS conflict between transform transition and pulse animation
- Changed proximity detection to directly toggle DOM classes instead of recreating icons
- Now uses classList.add/remove on marker._icon instead of setIcon() to prevent rendering issues
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>