GitHub Copilot and Claude Haiku 4.5
93b8e5b337
perf(critical): Implement P0 optimization fixes - TiviMate parity
...
CRITICAL FIXES:
- P0-1: Fix EPG N+1 query storm with batch loading
* Implement XtreamServiceMobile with getBatchEPG() method
* Batch load EPG data instead of per-channel requests
* Reduce 50-200 concurrent requests to 1 request per category
* Add EPG cache with 1-hour TTL to prevent redundant calls
- P0-2: Remove destructive cache clearing on startup
* Implement TTL-based cache invalidation
* Preserve cache between app launches (6h channels, 1h EPG, 30m search)
* Add HiveService.invalidateExpiredCache() method
* Expected: -80% startup time on cold launches
- P0-3: Preserve tab state with IndexedStack
* Replace switch statement with IndexedStack
* Keep all tabs alive in widget tree
* Preserve scroll position, search state, filters across tab switches
* Expected: instant tab switching (<100ms)
HIGH PRIORITY FIXES:
- P1-1: Debounce search input (500ms)
* Prevent per-keystroke full rebuilds
* Add search debounce timer
- P1-3: Fix double FocusNode disposal crash
* Remove duplicate focus node disposal in native_player_screen.dart
* Prevents StateError on player exit
Expected impact: -75-80% perceived latency, instant tab switching, no OOM on startup.
Co-Authored-By: Claude Haiku 4.5 <noreply@anthropic.com >
2026-03-25 22:31:36 +01:00
GitHub Copilot
1293a159ee
Phase 1: Android-Only Cleanup - Code and configuration cleanup
...
- Clean web-specific comments from hive_service.dart
- Update platform_utils.dart documentation
- Remove web-specific imports from mobile_xtream_providers.dart
- All platform-specific code removed
- Ready for Flutter build validation
2026-03-25 21:53:53 +01:00
Michael
9a0bda4b7d
feat: Add LitePlayerScreen for IPTV playback with video controls, EPG, and stream type handling.
2025-12-25 12:54:10 +01:00
Michael
af95742321
feat: Introduce LitePlayerScreen for IPTV playback, including stream type definitions and mobile settings providers.
2025-12-20 22:53:14 +01:00
Michael
b60efd6acb
feat: implement native video player for IPTV live TV, VOD, and series with media_kit, including related UI and settings.
2025-12-20 16:26:11 +01:00
Michael
b249074db1
feat: Add initial mobile dashboard screen with Xtream data and UI state providers.
2025-12-20 16:05:01 +01:00
Michael
55acbbc135
feat: Implement a web-based IPTV player with HLS/MPEG-TS support and Flutter communication.
2025-12-17 23:45:56 +01:00
Michael
2406b9b100
feat: introduce XtreamServiceMobile for IPTV API interactions and DnsFallbackInterceptor for network robustness.
2025-12-10 22:16:51 +01:00
Michael
451dd082b0
Fix: Resume playback not working - Hive storage issues
...
- 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
2025-12-10 11:41:28 +01:00
Michael
bf5893e545
Feature: Resume playback from last position
...
- 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%+)
2025-12-10 11:13:53 +01:00
Michael
ccda497236
Fix: Movie infinite scroll + Player controls auto-hide
...
- 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)
2025-12-10 10:23:04 +01:00
Michael
3888a21990
UI: Clean up player controls (remove duplicate arrows, move LIVE badge)
2025-12-09 20:34:44 +01:00
Michael
e6281ff912
feat: Add mobile-specific Riverpod providers for Xtream services, including live channels, movies, series, and series info.
2025-12-09 18:36:44 +01:00
Michael
d0c5c4ff3a
init: Initial Flutter project setup with Android and iOS platform files.
2025-12-09 08:40:50 +01:00