@officebeats/matrix-iptv-cli 3.0.7 → 3.0.9

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (2) hide show
  1. package/CHANGES.md +37 -1
  2. package/package.json +1 -1
package/CHANGES.md CHANGED
@@ -1,5 +1,29 @@
1
1
  # IPTV App Changes Summary
2
2
 
3
+ ## Date: 2025-12-27 (v3.0.8)
4
+
5
+ ### Changes Implemented
6
+
7
+ #### ✅ 1. Fixed Critical Out-of-Bounds Panic
8
+
9
+ **Issue:** Application crashed with `index outside of buffer` error on Mac/Windows when the terminal window was small (e.g., 80 columns).
10
+ **Files Modified:**
11
+
12
+ - `src/matrix_rain.rs`
13
+ - `src/ui/loading.rs`
14
+ - `src/ui/groups.rs`
15
+
16
+ **Changes:**
17
+
18
+ - Updated Matrix logo width to correct value (103).
19
+ - Added defensive bounds checking and clipping to all manual coordinate drawing.
20
+ - Clamped popup heights to terminal height.
21
+ - Implemented `intersection` clipping for large UI elements.
22
+
23
+ **Rationale:** Ensures application stability across all terminal sizes and operating systems.
24
+
25
+ ---
26
+
3
27
  ## Date: 2025-12-21
4
28
 
5
29
  ### Changes Implemented
@@ -7,9 +31,11 @@
7
31
  #### ✅ 1. Renamed "ARCHIVE_DATA" to "MOVIE_DATA"
8
32
 
9
33
  **Files Modified:**
34
+
10
35
  - `src/ui.rs`
11
36
 
12
37
  **Changes:**
38
+
13
39
  - **Line 167-169**: Changed header tab from `ARCHIVE_ACCESS` to `MOVIE_ACCESS`
14
40
  - **Line 799-801**: Changed VOD streams pane title from `ARCHIVE_DATA` to `MOVIE_DATA`
15
41
 
@@ -20,9 +46,11 @@
20
46
  #### ✅ 2. Added "All Movies" Category for VOD
21
47
 
22
48
  **Files Modified:**
49
+
23
50
  - `src/main.rs`
24
51
 
25
52
  **Changes:**
53
+
26
54
  - **Line 237-253**: Injected "All Movies" category at index 0 of VOD categories list
27
55
  - Category ID: "ALL"
28
56
  - Category Name: "All Movies"
@@ -35,15 +63,18 @@
35
63
  #### ✅ 3. Implemented "All Movies" Stream Loading
36
64
 
37
65
  **Files Modified:**
66
+
38
67
  - `src/main.rs`
39
68
 
40
69
  **Changes:**
70
+
41
71
  - **Line 1362-1403**: Modified VOD stream loading logic to handle "ALL" category
42
72
  - When "ALL" category is selected, calls `client.get_vod_streams_all().await`
43
73
  - Otherwise, calls `client.get_vod_streams(&cat_id).await` for specific category
44
74
  - Properly formatted with consistent indentation and error handling
45
75
 
46
76
  **Code Structure:**
77
+
47
78
  ```rust
48
79
  tokio::spawn(async move {
49
80
  // Handle "All Movies" category
@@ -66,16 +97,19 @@ tokio::spawn(async move {
66
97
  ### Performance Considerations
67
98
 
68
99
  **Existing Optimizations:**
100
+
69
101
  - Windowed rendering is already implemented in `src/ui.rs` (lines 608-702)
70
102
  - Only visible items are parsed and rendered, not the entire list
71
103
  - This should provide good scrolling performance even with large datasets
72
104
 
73
105
  **Potential Performance Issues:**
106
+
74
107
  1. Network latency when loading large "All Movies" list
75
108
  2. Parsing overhead in `parse_movie()` and `parse_stream()` functions
76
109
  3. The windowed rendering uses a half-window buffer which should be optimal
77
110
 
78
- **Recommendation:**
111
+ **Recommendation:**
112
+
79
113
  - Monitor performance with real-world data
80
114
  - If issues persist, consider:
81
115
  - Caching parsed results
@@ -89,11 +123,13 @@ tokio::spawn(async move {
89
123
  **Status:** ✅ App compiles and runs successfully
90
124
 
91
125
  **Test Command:**
126
+
92
127
  ```bash
93
128
  cargo run --bin matrix-iptv
94
129
  ```
95
130
 
96
131
  **Expected Behavior:**
132
+
97
133
  1. Navigate to VOD section (press 'v' from live channels)
98
134
  2. "All Movies" should appear as the first category
99
135
  3. Selecting "All Movies" should load all VOD streams across all categories
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@officebeats/matrix-iptv-cli",
3
- "version": "3.0.7",
3
+ "version": "3.0.9",
4
4
  "description": "The premium Terminal IPTV Decoder",
5
5
  "main": "index.js",
6
6
  "bin": {