- Add Logger utility with tagged output and environment-based control
- Configure Babel to remove console calls in production builds
- Replace all console.* calls across stores, services, and components with Logger
- Enable development-only logging with formatted output and component tags
- Optimize production builds by eliminating all logging code
- Add comprehensive SSL certificate error detection and automatic source switching
- Implement smart video source fallback strategy with failed source tracking
- Enhance video component with optimized event handlers and useCallback patterns
- Add explicit playAsync() call in onLoad to improve auto-play reliability
- Integrate performance monitoring with detailed logging throughout playback chain
- Optimize Video component props with useMemo and custom useVideoHandlers hook
- Add source matching fixes for fallback scenarios in DetailStore
- Enhance error handling with user-friendly messages and recovery strategies
- Add playback rate state and actions to player store
- Create SpeedSelectionModal with 7 speed options (0.5x - 2x)
- Add speed control button with Gauge icon to PlayerControls
- Integrate rate prop with Expo AV Video component
- Extend PlayerSettings storage to persist playback rate per video
- Support speed control across TV, mobile, and tablet platforms
- Implement intelligent row-based layout system
- Full rows (3 cards) use space-between for even distribution
- Partial rows (<3 cards) use flex-start for left alignment
- Replace flexWrap approach with row grouping for better control
- Add dynamic margin handling for different row types
This resolves both the uneven spacing in full rows and scattered alignment in partial rows.
- Hide live streaming tab in mobile navigation components
- Hide remote input and live stream configurations in settings
- Hide API configuration description text on mobile
- Disable HTTP server startup on mobile devices to save resources
This streamlines the mobile interface while preserving full functionality on tablet and TV platforms.
Add SafeAreaProvider to root layout and implement proper safe area handling:
- Wrap app in SafeAreaProvider in _layout.tsx
- Update HomeScreen to use safe area insets for proper top padding
- Fix SettingsScreen safe area handling for all device types
- Update ResponsiveHeader to use SafeAreaContext instead of manual calculation
This ensures content is not covered by the status bar on mobile and tablet devices while maintaining TV compatibility.