Skip to content

Commit 00db9b0

Browse files
committed
Release v3.6.0
- Fixed freeze when pressing X to stop a stream - Fixed intermittent loading overlay (busy dialog) getting stuck - Fixed Kodi becoming unresponsive on Stop - Fixed 30s UI freeze from unreachable channel icon servers - Added persistent file-based caching (Live TV, Movies, Series, Catch-up) - Added user-configurable cache expiry in Settings → Cache (5 min → 7 days) - Added persistent disk cache for icon-host reachability - Added curl timeout limits in advancedsettings.xml - Added .gitignore to exclude release zips from repo
1 parent 87ccdc4 commit 00db9b0

7 files changed

Lines changed: 388 additions & 93 deletions

File tree

.gitignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
*.zip

CHANGELOG.md

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,26 @@
1+
# Version 3.6.0 (2026-03-03)
2+
3+
### 🐛 Bug Fixes
4+
- **Fixed freeze / slowdown when pressing X to stop a stream** — the plugin monitoring loop now exits immediately once playback stops instead of spinning for the full 30-second guard window
5+
- **Fixed intermittent loading overlay (spinning busy dialog) getting stuck** — busy dialog is now force-closed after stream resolve, and a background watchdog repeatedly closes it during teardown
6+
- **Fixed Kodi becoming unresponsive on Stop** — removed auto-retry logic that fought the stop state; playback teardown now completes cleanly
7+
- **Fixed slow stream start** — removed `ReconnectPlayer` double-play and sleep-loop blocking; playback now starts immediately via standard `setResolvedUrl`
8+
- **Fixed UI freeze caused by unreachable channel icon servers** — playback `ListItem` now always uses the local addon icon; icon hosts are TCP-probed before use and replaced with a fallback if unreachable
9+
- **Fixed 30-second curl stall on icon fetch** — added `curlclienttimeout` and `curllowtimeout` to `advancedsettings.xml` capping all thumbnail fetches at 3–5 seconds
10+
- **Fixed intermittent loading overlay race condition** — removed `sys.exit(0)` that caused Kodi to see "script aborted" and retry stream resolution in a loop
11+
12+
### ✨ New Features
13+
- **Persistent file-based content caching** for Live TV (30 min), Movies/VOD (60 min), Series (60 min), and Catch-up (15 min) — repeat navigation is near-instant
14+
- **User-configurable cache expiry** — new **Settings → Cache** category lets users set separate expiry for Live TV, Movies, and Series (options: 5 minutes → 7 days)
15+
- **Clear content cache** button in Settings → Cache for instant cache reset
16+
- **Persistent icon-host reachability cache** — dead icon server results are saved to disk and survive between plugin invocations (re-tested every hour), eliminating repeated TCP probes on each list load
17+
- **`safe_icon()` applied throughout** — both `addDir()` and `addDirMeta()` now skip unreachable icon hosts in directory listings
18+
19+
### 🔧 Improvements
20+
- `setContentLookup(False)` set on playback `ListItem` to prevent Kodi probing the stream on stop
21+
- Plugin script exits naturally after `setResolvedUrl` (clean exit instead of forced abort)
22+
- Proper title/description metadata passed to resolve `ListItem`
23+
124
# Version 3.5.2 (2026-01-28)
225
- Playback now automatically retries up to 5 times if the connection drops during playback or seeking (improves reliability for unstable streams)
326
- Version updated in addon.xml and release zip

README.md

Lines changed: 14 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ Live TV • VOD • Catch-up • TV Series
1212
Optimized for **Kodi v21 (Omega)** & **Python 3.13**
1313

1414
[![Latest Release](https://img.shields.io/github/v/release/Nigel1992/plugin.video.iptvxc?style=flat-square)](https://github.com/Nigel1992/plugin.video.iptvxc/releases/latest)
15-
[![Version](https://img.shields.io/badge/Version-3.5.2-brightgreen?style=flat-square)](https://github.com/Nigel1992/plugin.video.iptvxc/releases/tag/v3.5.2)
15+
[![Version](https://img.shields.io/badge/Version-3.6.0-brightgreen?style=flat-square)](https://github.com/Nigel1992/plugin.video.iptvxc/releases/tag/v3.6.0)
1616
[![Kodi](https://img.shields.io/badge/Kodi-21%20Omega-blue?style=flat-square)](https://kodi.tv)
1717
[![Python](https://img.shields.io/badge/Python-3.13-yellow?style=flat-square)](https://www.python.org/)
1818
[![Issues](https://img.shields.io/github/issues/Nigel1992/plugin.video.iptvxc?style=flat-square)](https://github.com/Nigel1992/plugin.video.iptvxc/issues)
@@ -45,11 +45,13 @@ Built for fast, reliable XC/XCUI playback on Kodi 21 (Omega) with modern parsing
4545

4646
## ✨ Features
4747

48-
- Fast Live/VOD navigation with lightweight caching
48+
- Fast Live/VOD navigation with persistent file-based caching
49+
- Configurable cache expiry per content type (Live TV, Movies, Series) in Settings → Cache
4950
- TV Series with seasons/episodes restored
5051
- Catch-up TV (provider-dependent)
5152
- Speed test and advanced settings helpers
5253
- Robust handling of inconsistent provider APIs
54+
- Icon-host reachability checks — dead icon servers never stall the UI
5355

5456
---
5557

@@ -118,14 +120,18 @@ Built for fast, reliable XC/XCUI playback on Kodi 21 (Omega) with modern parsing
118120
---
119121

120122

123+
## Version 3.6.0 (2026-03-03)
124+
- Fixed freeze/slowdown when pressing X to stop a stream
125+
- Fixed intermittent loading overlay (busy dialog) getting stuck on stream start/stop
126+
- Fixed Kodi becoming unresponsive on Stop
127+
- Fixed UI freeze caused by unreachable channel icon servers (30s curl stall)
128+
- Added persistent file-based caching for Live TV, Movies/VOD, Series, Catch-up
129+
- Added user-configurable cache expiry in Settings → Cache (5 minutes → 7 days)
130+
- Added Clear content cache button in Settings → Cache
131+
- Persistent icon-host reachability cache (survives between plugin invocations)
132+
121133
## Version 3.5.2 (2026-01-28)
122134
- Playback now automatically retries up to 5 times if the connection drops during playback or seeking (improves reliability for unstable streams)
123-
- Version updated in addon.xml and release zip
124-
- All previous features and fixes retained
125-
126-
## Version 3.5.1 (2026-01-27)
127-
- Extras menu placeholders (Setup PVR Guide, Install PVR Guide, Refresh M3U, Clear Cache) are now visible but disabled in the UI. Only Speed Test is active. Disabled options will show a message if selected.
128-
- Fixed: The version number in addon.xml now matches the release version.
129135

130136
---
131137

addon.xml

Lines changed: 19 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -1,17 +1,19 @@
1-
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
2-
<addon id="plugin.video.iptvxc" name="[B][COLOR red]XCUI Streams[/B][/COLOR]" version="3.5.2" provider-name="Nigel1992">
3-
<extension point="xbmc.python.pluginsource"
4-
library="default.py">
5-
<provides>video</provides>
6-
</extension>
7-
<extension point="xbmc.addon.metadata">
8-
<summary lang="en">[COLOR red]An IPTV addon written to work with XC and XCUI for Kodi 21. Trakt integration is coming in a future release.[/COLOR]</summary>
9-
<language>en</language>
10-
<description lang="en">[COLOR red]This addon does not supply nor provide any illegal content. Trakt integration is coming in a future release.[/COLOR]</description>
11-
<platform>all</platform>
12-
<assets>
13-
<icon>icon.png</icon>
14-
<fanart>fanart.jpg</fanart>
15-
</assets>
16-
</extension>
17-
</addon>
1+
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
2+
<addon id="plugin.video.iptvxc" name="[B][COLOR red]XCUI Streams[/COLOR][/B]" version="3.6.0" provider-name="Nigel1992">
3+
<requires>
4+
<import addon="xbmc.python" version="3.0.0"/>
5+
</requires>
6+
<extension point="xbmc.python.pluginsource" library="default.py">
7+
<provides>video</provides>
8+
</extension>
9+
<extension point="xbmc.addon.metadata">
10+
<summary lang="en">[COLOR red]An IPTV addon for Kodi 21.[/COLOR]</summary>
11+
<description lang="en">[COLOR red]This addon does not supply illegal content.[/COLOR]</description>
12+
<language>en</language>
13+
<platform>all</platform>
14+
<assets>
15+
<icon>icon.png</icon>
16+
<fanart>fanart.jpg</fanart>
17+
</assets>
18+
</extension>
19+
</addon>

0 commit comments

Comments
 (0)