* Refactor aircraft photo and hero banner components to reset loading state on photo change
- Updated Lightbox component to reset image loading state when navigating between photos.
- Modified HeroBanner component to reset loading state when the photo changes.
Clean up control panel search logic
- Removed unnecessary hasResults variable in SearchContent component.
Implement flight API client with fallback mechanism
- Added flight-api-client to handle fetching flight data from multiple sources (airplanes.live, adsb.lol, OpenSky).
- Introduced flight-api-parsing module to convert raw API responses into standardized FlightState objects.
- Created flight-api-types for shared types between API responses.
Refactor useFlights hook to utilize new flight API client
- Updated useFlights hook to fetch flights using the new flight API client.
- Removed credit management logic as it is no longer applicable with the new API structure.
Fix useFlightMonitors to fetch flight data by hex address
- Changed useFlightMonitors to use fetchFlightByHex instead of fetchFlightByIcao24.
Update geo utility function for better readability
- Refactored splitAtAntimeridian function to improve variable naming and clarity.
Enhance OpenSky types with additional fields
- Added typeCode and registration fields to FlightState type for better integration with readsb data.
* fix: correct 6 files that diverged during rebase (iata code, globe mode ref, terrain attribution, cache eviction, opensky parsing)
* fix: improve keyboard shortcuts help focus trapping
feat: add showAirspace option to MapAttribution component
fix: clear hideTimer on ScrollArea cleanup
refactor: change pendingFpvRef to MutableRefObject in useFlightMonitors
fix: handle sessionStorage availability in useFlightTrack
refactor: increase POLL_INTERVAL_MS in useFlights for better performance
fix: optimize keyboard shortcuts dialog check
refactor: optimize useMergedTrails by caching selected flight position
feat: extend Settings type with airspace options
refactor: improve airline logo normalization functions
refactor: enhance flight API client with serialized rate limiting
refactor: optimize registration country lookup with pre-built maps
refactor: enhance logo cache management with size limits
feat: update map attribution to include airspace option
fix: validate rawState in parseStateRow function
refactor: improve utility functions with clamp implementation
* feat: add ATC lookup functionality and GPU memory monitoring
- Implemented ATC lookup functions in `atc-lookup.ts` for converting IATA to ICAO codes, finding nearby ATC feeds, and looking up ATC feeds by code.
- Introduced `atc-types.ts` to define types and priorities for ATC feeds.
- Added GPU memory monitoring in `gpu-memory-monitor.ts` to track WebGL resource allocations and provide memory reports.
- Enhanced trail stitching logic in `trail-stitching.ts` by adding a function to clear the splined track cache and optimizing altitude checks.
* feat: enhance flight data handling and improve API resilience
- Implemented a maximum empty response streak guard in useFlights to prevent data loss during transient API failures.
- Added immediate fetch on network reconnect in useFlights to ensure timely data retrieval.
- Updated useMergedTrails to include timestamps for trail points.
- Removed smoothAnimations setting from useSettings as it is no longer needed.
- Enhanced useTrailHistory to preserve last-known trails during empty flight responses and added dynamic jump detection for tab resume scenarios.
- Improved flight API client with a circuit breaker mechanism to handle provider failures and prevent excessive retries.
- Updated flight API parsing to reject non-JSON responses from OpenSky and other providers.
- Enhanced trail smoothing and stitching logic to ensure better continuity at junctions between historical and live data.
* feat: migrate aircraft models to Cloudinary CDN and update mapping logic
* fix: adjust UI component styles and improve trail smoothing parameters
* fix: adjust base aircraft size for improved rendering
* feat: update changelog with recent enhancements and modify data source attribution
* fix: update model optimization details and remove Draco compression dependency
* feat: update changelog with recent code review fixes and fallback provider adjustments
- Introduced FlightCard component for displaying flight information with animations.
- Added ScrollArea component for custom scroll behavior.
- Implemented StatusBar component to show flight count and loading status.
- Created useFlights hook for fetching and managing flight data based on city selection.
- Developed useSettings hook for managing user settings with local storage persistence.
- Added useTrailHistory hook for managing flight trail data.
- Defined City type and CITIES constant for city data management.
- Implemented flight utility functions for altitude and speed conversions.
- Created map styles for different visual representations.
- Added OpenSky API integration for fetching flight data.
- Implemented utility functions for class name merging.
- Configured TypeScript settings for the project.