Skip to content

[script.easytv] 1.5.1#2809

Merged
romanvm merged 1 commit intoxbmc:omegafrom
Rouzax:script.easytv-1.5.0
Mar 27, 2026
Merged

[script.easytv] 1.5.1#2809
romanvm merged 1 commit intoxbmc:omegafrom
Rouzax:script.easytv-1.5.0

Conversation

@Rouzax
Copy link
Copy Markdown

@Rouzax Rouzax commented Mar 18, 2026

Update: EasyTV v1.5.1

Addon ID: script.easytv
Version: 1.5.1
Previous version: 1.5.0

Reviewer feedback addressed

Entry points (service.py, default.py) are now thin stubs delegating to cached modules in resources/lib/ — as recommended by @pkscout in PR #2797.

Changes since v1.5.0

New:

  • Showcase browse view (5th view style — horizontal poster filmstrip)
  • Heading areas with item counts on all five browse views
  • Icon theme selection with 4 bundled styles and instant texture cache refresh
  • Dialog preview rewrite with real library data
  • Missed episode warning upgraded to poster-style dialog

Improved:

  • Visual harmonization with EasyMovie (sibling addon)
  • Clone updates now mandatory when version mismatch detected
  • Richer metadata in browse views (year, genres, duration)

Internal:

  • GitHub Actions CI validation workflow added

Links

@kodiai
Copy link
Copy Markdown

kodiai bot commented Mar 18, 2026

Kodiai Review Summary

What Changed

Major feature release adding four browse view styles, color themes, custom icon selection, redesigned dialogs, and enhanced browse functionality. Includes significant refactoring that moves logic from entry point files (default.py, service.py) into library modules for better code organization and maintainability.

Reviewed: core logic, docs

Strengths

  • ✅ Comprehensive error handling for ast.literal_eval() calls throughout the codebase with proper try/except blocks and fallback values (script.easytv/resources/lib/data/shows.py:432-436)
  • ✅ No SQL injection vulnerabilities - all database queries use parameterized JSON-RPC calls with proper integer type validation (script.easytv/resources/lib/data/queries.py)
  • ✅ Proper resource management with context managers for file operations and logging infrastructure (script.easytv/resources/lib/utils.py:274-282)

Observations

Impact

[MAJOR] script.easytv/resources/lib/playback/browse_mode.py (333): Logic error in loop condition
The original or condition would continue waiting as long as either condition was true. The new and condition exits immediately when count >= DIALOG_WAIT_MAX_TICKS, even if a YesNo dialog is still open. This defeats the purpose of the wait loop and could cause the browse window to cover service dialogs, breaking user interaction.

Verdict

🔴 Address before merging -- 1 blocking issue(s) found (CRITICAL/MAJOR)

Review Details
  • Files reviewed: 65

  • Lines changed: +4492 -1621

  • Profile: minimal (auto, lines changed: 6113)

  • Author: first-time (adapted tone)

  • Findings: 0 critical, 2 major, 0 medium, 0 minor (includes 1 from summary observations)

  • Review completed: 2026-03-18T18:44:46.232Z

  • Review scope: Reviewed 50/65 files, prioritized by risk

  • Full review: 30 files | Abbreviated review: 20 files | Not reviewed: 15 files

Files not fully reviewed (sorted by risk score)
  • script.easytv/resources/skins/Default/media/ButtonUnfocused.png (risk: 26)
  • script.easytv/resources/skins/Default/media/ContextBackground3.png (risk: 26)
  • script.easytv/resources/skins/Default/media/IconWatched.png (risk: 26)
  • script.easytv/resources/skins/Default/media/IconWatchedFO.png (risk: 26)
  • script.easytv/resources/skins/Default/media/IconWatchedNF.png (risk: 26)
  • script.easytv/resources/skins/Default/media/OneBlackPixel.png (risk: 26)
  • script.easytv/resources/skins/Default/media/check_off.png (risk: 26)
  • script.easytv/resources/skins/Default/media/check_on.png (risk: 26)
  • script.easytv/resources/skins/Default/media/common/line_fade.png (risk: 26)
  • script.easytv/resources/skins/Default/media/common/menu.png (risk: 26)
  • script.easytv/resources/skins/Default/media/common/white.png (risk: 26)
  • script.easytv/resources/skins/Default/media/common/white_rounded.png (risk: 26)
  • script.easytv/resources/skins/Default/media/itemBGFO.png (risk: 26)
  • script.easytv/resources/skins/Default/media/itemBGNF.png (risk: 26)
  • script.easytv/resources/skins/Default/media/thinline.png (risk: 26)
- Keyword parsing: - focus hints: [SCRIPT.EASYTV]

@Rouzax Rouzax changed the title [script.easytv] 1.5.0 [script.easytv] 1.5.1 Mar 24, 2026
@romanvm romanvm added the Approved Approved and is ready to merge label Mar 27, 2026
@romanvm romanvm merged commit ca66f0a into xbmc:omega Mar 27, 2026
1 check passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Approved Approved and is ready to merge

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants