- 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.
- Add toast error messages when version check fails
- Show user-friendly error notifications for download failures
- Display specific installation error messages with troubleshooting hints
- Improve logging from console.error to console.info for better categorization
- Fix UpdateService to use DocumentDir instead of DownloadDir for APK storage
- Add retry mechanism for network failures in version checking and downloading
- Implement automatic cleanup of old APK files to manage storage
- Replace TouchableOpacity with StyledButton in UpdateModal for consistency
- Add TV focus control to UpdateSection component
- Reduce category button spacing on TV for better navigation
- Update download URL template to match release naming convention
Fix race condition where 'please check network or server address' error
was shown on first startup even when API was properly configured.
- Add isLoadingServerConfig state to track server config fetch status
- Modify authStore to wait for server config loading before showing errors
- Ensure loadSettings completes fully before triggering login checks
- Only show network error when config fetch actually fails, not during loading