Skip to content

[plugin.video.piped] 1.1.0#4755

Open
syhlx wants to merge 1 commit intoxbmc:matrixfrom
syhlx:matrix
Open

[plugin.video.piped] 1.1.0#4755
syhlx wants to merge 1 commit intoxbmc:matrixfrom
syhlx:matrix

Conversation

@syhlx
Copy link
Copy Markdown

@syhlx syhlx commented Mar 9, 2026

Description

Improvements & Features

  • Ability to update the feed (Thanks to @Phoenix616)
  • Live stream support
  • Blacklist for channels & video titles
  • New settings to customise the UI

Translations

Checklist:

  • My code follows the add-on rules and piracy stance of this project.
  • I have read the CONTRIBUTING document
  • Each add-on submission should be a single commit with using the following style: [plugin.video.foo] v1.0.0

@kodiai
Copy link
Copy Markdown

kodiai bot commented Mar 9, 2026

Kodiai Review Summary

What Changed

This PR adds live stream support, feed update functionality, channel and video title blacklisting features, and UI customization settings to the Piped plugin, along with French translations.

Reviewed: core logic, docs

Strengths

  • ✅ Live stream support is properly implemented with HLS redirect fallback at lib/services/httpserver.py:409-412
  • ✅ Blacklist functionality correctly persists data using JSON file storage with proper file handling at lib/blacklist.py:15-16

Observations

Impact

[CRITICAL] plugin.video.piped/lib/blacklist.py (31): Bare except clause silently suppresses all exceptions including system exits
Bare except: at lib/blacklist.py:31 catches all exceptions including KeyboardInterrupt and SystemExit, which can mask critical errors and make the application unresponsive. When the blacklist file is corrupted or unreadable, this silently returns an empty dict without logging, making debugging impossible.

[MAJOR] plugin.video.piped/lib/blacklist.py (50): KeyError on missing channel_id
At lib/blacklist.py:50, accessing blacklist[channel_id]['name'] when prompt=True will raise KeyError if the channel_id doesn't exist in the blacklist. The check if channel_id in blacklist only occurs after this line, so calling blacklist_remove(non_existent_id, prompt=True) will crash.

[MAJOR] plugin.video.piped/lib/sections.py (222): Unhandled regex compilation errors
At lib/sections.py:222, compiling user-provided regex with re.compile(rf"{blacklist_titles_regex_str}", ...) can raise re.error if the user enters invalid regex syntax. This exception is unhandled and will crash the video listing function, preventing any videos from displaying.

Verdict

🔴 Address before merging -- 3 blocking issue(s) found

Review Details
  • Files reviewed: 8
  • Lines changed: +627 -46
  • Profile: minimal (auto, lines changed: 673)
  • Author: regular (default)
  • Findings: 1 critical, 2 major, 0 medium, 0 minor (includes 3 from summary observations)
  • Review completed: 2026-03-09T16:49:58.498Z
  • Keyword parsing:
    • focus hints: [PLUGIN.VIDEO.PIPED]

@pkscout
Copy link
Copy Markdown
Member

pkscout commented Mar 15, 2026

@syhlx, please address the issues pointed out by the KodiAI review.

@syhlx
Copy link
Copy Markdown
Author

syhlx commented Mar 16, 2026

@syhlx, please address the issues pointed out by the KodiAI review.

The issue was fixed immediately after it was pointed out by the KodiAI review.
The original commit was replaced.

Do you need me to remake the PR?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants