Michael
b8682eafe0
fix: resolve compilation error in XtreamService by restoring missing streams variable
2026-03-10 19:50:21 +01:00
Michael
a8d2a5446d
perf: implement robust playback stabilization to fix choppy video
...
- Increased MPEG-TS stashInitialSize to 1MB for better jitter resistance
- Enabled HLS.js discontinuity nudging to prevent freezing on corrupt segments
- Smoothed latency chasing with 1.1x playback rate
- Increased HLS sync distance to 6 segments for improved stability
2026-03-10 19:25:02 +01:00
Michael
bb8978efaa
perf: accelerate metadata loading with parallel fetching and local storage caching
...
- Implement parallel fetching for categories and streams in Live, VOD, and Series
- Add persistent local storage caching for instant UI population
- Optimize JSON parsing logic for large datasets
- Implement failover to local cache when network is unavailable
2026-03-10 18:59:39 +01:00
Michael
df4bcfd07f
fix: stabilize IPTV playback and implement request throttling
...
- Add playback lock to XtreamService to delay EPG during stream init
- Increase MPEG-TS stash buffer to 512KB for better stability
- Enable liveBufferLatencyChasing to prevent stream drift
- Tune HLS parameters for balanced speed and reliability
2026-03-10 18:54:44 +01:00
Michael
0ca6f96710
feat: implement Turbo-Start stream acceleration
...
- Add direct MPEG-TS support and optimized HLS tuning
- Implement low-latency sync and instant bitrate selection
- Achieve TiviMate-like zapping speed by reducing initial buffers
2026-03-10 18:41:46 +01:00
Michael
736ab0f51c
chore: optimize IPTV performance and fix navigation Loop
...
- Revert aggressive caching in XtreamService (use forceCache + 1h stale)
- Adjust HLS.js buffers (60s-120s) for stream stability
- Fix desktop navigation loop in PlaylistSelectionScreen
- Fix receive timeouts (revert to 30s/60s)
2026-03-10 18:28:10 +01:00
Michael
1377b70aee
fix: add missing xtream_provider import to resolve build error
2026-03-10 08:29:43 +01:00
Michael
69c23a9c35
fix(desktop): fix playlist selection not updating provider and navigation issue
2026-03-10 08:26:51 +01:00
Michael
a256ca87b6
fix(player): resolve Safari infinite loading by refining play overlay and loading logic
2026-03-09 23:05:10 +01:00
Michael
dbb6559640
fix(player): restore missing stream variables in player_mobile.html to fix infinite loading
2026-03-09 22:56:27 +01:00
Michael
3ef4884336
feat(player): remove non-functional fullscreen button as requested
2026-03-09 22:52:05 +01:00
Michael
0ae4946816
feat(player): standardize Safari compatibility fixes across all player versions
2026-03-09 22:43:51 +01:00
Michael
105496d243
feat(player): improve Safari/iOS compatibility with manual play overlay and robust loading
2026-03-09 22:40:58 +01:00
Michael
7a338db981
fix(player): remove duplicate declarations causing build failure
2026-03-09 22:34:26 +01:00
Michael
19a0755e01
feat(mobile): dedicated mobile player and responsive UI improvements
2026-03-09 22:14:33 +01:00
Michael
29a0d04b21
fix(mobile): apply responsive LayoutBuilder to player bottom bar
2026-03-09 22:01:57 +01:00
Michael
b69e9d1812
fix(mobile): optimize player UI for mobile portrait and tune HLS buffering
2026-03-09 21:56:56 +01:00
Michael
441597354e
fix(mobile): fix orientation reset with IndexedStack, support HLS in Lite player, and optimize fullscreen
2026-03-09 21:35:00 +01:00
Michael
39f4205d68
fix(mobile): fix XtreamService cache/URL logic and add tab error handling
2026-03-09 18:18:20 +01:00
Michael
e4f8ebcf8f
fix(mobile): stabilize router and add loading timeout/retry on playlists screen
2026-03-09 17:35:09 +01:00
Michael
180b57e1b7
fix(router): add missing import for MobileLoginScreen
2026-03-09 17:09:07 +01:00
Michael
13647a35da
feat: Implement TV recording management with API endpoints, a data model, and a scheduling service that uses FFmpeg to record streams.
2026-03-09 16:46:45 +01:00
Michael
37945b513e
fix(epg): use /api/epg/ backend for full guide (48h), fix _ProgrammeCard for Map format, remove stale EpgEntry code
2026-03-09 09:07:04 +01:00
Michael
1e1687e160
fix(epg): complete rewrite of recordings_tab (XtreamService direct), fix epg_api action (get_epg), add keepAlive
2026-03-09 08:54:45 +01:00
Michael
104159e8da
fix(epg): pass playlist as parameter to RecordingsTab/_EpgGuideView — was null from selectedPlaylistProvider
2026-03-09 08:44:44 +01:00
Michael
1c38b62516
fix: remove literal newline in Dart string causing build_runner syntax error
2026-03-09 08:40:22 +01:00
Michael
3e0088ecf8
fix(epg): load filtered channels from playlist provider instead of manual channel ID input
2026-03-09 08:36:41 +01:00
Michael
47fff742e0
fix(epg): use playlist.dns directly (PlaylistConfig has no serverUrl field)
2026-03-09 08:26:16 +01:00
Michael
50a6998c09
feat: add EPG TV guide, season passes (auto-recording) and unified recordings/EPG tab with 3 sub-tabs
2026-03-09 08:21:48 +01:00
Michael
4762b4edf8
feat(recordings): switch output format from mp4 to mkv for better IPTV stream compatibility
2026-03-08 23:56:43 +01:00
Michael
bbf462ae05
fix(recordings): DELETE now kills FFmpeg process before removing from DB to properly stop active recordings
2026-03-08 23:54:37 +01:00
Michael
4c2e3ce600
feat: add stop recording button and POST /api/recordings/stop/<id> endpoint to kill FFmpeg process
2026-03-08 23:53:32 +01:00
Michael
0d2ad322fe
fix(entrypoint): add chmod 777 on /app/recordings for Unraid nobody:users shares + update default recordings path
2026-03-08 23:46:11 +01:00
Michael
424019d01a
fix(scheduler): wrap _startRecording in single try/catch to prevent server crash, fix localhost port 8080→8089
2026-03-08 23:38:57 +01:00
Michael
93cecfc6d3
fix(docker): move CACHEBUST ARG before COPY to properly invalidate Flutter web build cache
2026-03-08 23:28:16 +01:00
Michael
9107eadc73
fix(recordings): send start_time and end_time in UTC to avoid +1h timezone offset with Docker server
2026-03-08 23:19:20 +01:00
Michael
c04acc2fab
debug(scheduler): add verbose logging every 10s and force UTC datetime comparisons
2026-03-08 23:11:22 +01:00
Michael
60bb10fe4d
fix(recordings): correct stream_url to use real live stream, resolve to absolute URL for FFmpeg, use copy mode, speed up scheduler to 10s
2026-03-08 22:43:42 +01:00
Michael
7e0837374e
refactor(recordings): eliminate Router/mount, expose direct handler methods to avoid shelf_router path collision
2026-03-08 22:10:59 +01:00
Michael
d91be43f27
fix(backend): move GET /recordings/logs/<id> to main router to avoid shelf_router collision with DELETE /<id>
2026-03-08 21:42:53 +01:00
Michael
989303db77
fix(ui): gracefully handle json parse error when showLogs receives 404 text string
2026-03-08 21:36:21 +01:00
Michael
9d670c0625
fix(ui): handle 404 router errors gracefully instead of crashing on json parse
2026-03-08 21:30:55 +01:00
Michael
238cb8f407
feat(recording): add immediate record button to recording modal
2026-03-08 21:28:47 +01:00
Michael
f217622e4a
fix(recording): create log file before ffmpeg starts to capture boot exceptions and force absolute path
2026-03-08 20:50:38 +01:00
Michael
548e4cd664
fix(recording): rename log api route to avoid shelf_router Not Found param collisions
2026-03-08 20:43:50 +01:00
Michael
966311f560
feat(recording): add ffmpeg logs writing and viewing in UI
2026-03-08 19:26:54 +01:00
Michael
abbac75926
feat(ui): add recordings tab to dashboard to list scheduled and active recordings
2026-03-08 19:24:03 +01:00
Michael
40e2f30ff1
fix(docker): ensure xtremuser has write access to /app/recordings volume
2026-03-08 17:46:26 +01:00
Michael
2cba30db4d
feat(ui): add date picker and force 24h format in recording modal
2026-03-08 17:34:16 +01:00
Michael
344cf51ef9
fix(backend): make proxy handler robust to timeouts and add transparent pixel fallback for picons
2026-03-08 17:28:29 +01:00
Michael
b3618805a6
fix(ui): use relative url for api recording requests in flutter web
2026-03-08 16:58:07 +01:00
Michael
219d6c816f
fix(ui): remove invalid backgroundColor from showDialog
2026-03-08 16:52:59 +01:00
Michael
04b8b317c3
fix(ui): resolve bracket syntax error in live tv tab
2026-03-08 10:02:51 +01:00
Michael
e46a1c15b3
fix: add missing recording model import in database
2026-03-08 09:05:18 +01:00
Michael
2180572b92
feat: implement live tv recording system
2026-03-08 08:40:55 +01:00