- Added ExcludeFocus and readOnly: !_isEditing to _TVTextField
- Prevents keyboard from opening during D-pad navigation
- Ensures keyboard only opens when strictly intended by _activateInput
- Added SystemChannels.textInput.invokeMethod('TextInput.show') to force keyboard
- Used addPostFrameCallback to ensure widget state is updated before focus request
- Added support for gameButtonA and numpadEnter keys
- Added FocusTraversalGroup for D-pad navigation
- Handled text field submission to focus next field
- Configured keyboard actions (Next/Done)
- Added SingleChildScrollView preventing focus/keyboard issues
- Increased cache to 5 minutes (was 2 min)
- Increased buffer to 150MB (was 50MB)
- Added back-buffer of 75MB
- Network timeout increased to 2 min
- More aggressive reconnection settings
- Added read-ahead buffer of 60s
- Frame dropping to catch up on delays
- Added _seekToResume() method with retry logic (max 10 attempts)
- Seek now waits until player is playing AND has duration loaded
- Added debug logging for resume position checks
- 500ms retry interval with 1.5s initial delay
- Fixed Hive Map type conversion with safe iteration
- Improved save logic to not require duration loaded
- Added debug logging for troubleshooting
- Save position even if duration not available yet
- Added resumePositions storage in MobileWatchHistory
- Save position on player exit (if not finished)
- Auto-seek to saved position on content load
- Clear resume position when content finished (80%+)
- Added _checkAndMarkWatched() method in NativePlayerScreen
- Moved watch tracking from immediate play to 80% completion
- Added seriesId/season/episodeNum params to NativePlayerScreen
- Removed premature markWatched calls from movies/series tabs
- Added MPV reconnect options (stream-lavf-o reconnect parameters)
- Implemented auto-reconnect on stream completion for live TV
- Added watchdog timer to detect stalled streams
- Max 5 reconnect attempts with exponential backoff
- Added in-memory caching for movies/series pagination in XtreamServiceMobile
- Fixed player controls appearing then instantly disappearing on touch
- Updated refresh methods to clear cache on pull-to-refresh
- Added releases/ to gitignore (APKs too large for GitHub)