Skip to content

Fix plugin.audio.mp3streams broken <assets> paths - #22

Merged
JMAN730 merged 1 commit into
mainfrom
worktree-fix-mp3streams-assets
Jul 7, 2026
Merged

JMAN730 merged 1 commit into
mainfrom
worktree-fix-mp3streams-assets

Conversation

@JMAN730

@JMAN730 JMAN730 commented Jul 6, 2026

Copy link
Copy Markdown
Owner

Fixes #19 (wayfinder ticket).

addon.xml declared <icon>icon.png</icon> and <fanart>fanart.jpg</fanart>, but the icon lives at art/icon.png and no fanart file exists. Modern Kodi resolves pre-install art only from <assets> paths (no filename fallback — see docs/research/kodi-repo-artifact-format.md §4), so the addon shows no icon in the addon browser, on the live server today as well.

Changes:

  • <icon> now points at art/icon.png
  • <fanart> entry removed (no file to ship)
  • version bumped 2026.05.26 → 2026.07.06, news entry added

Verified: tools/build_repo.py runs clean (previous WARN gone) and copies art/icon.png into the datadir for the main channel.

🤖 Generated with Claude Code

Icon lives at art/icon.png; fanart.jpg does not exist. Modern Kodi
resolves pre-install art only from <assets> paths, so the addon showed
no icon in the addon browser. Bump version to 2026.07.06.

Closes #19

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
@chatgpt-codex-connector

Copy link
Copy Markdown

You have reached your Codex usage limits for code reviews. You can see your limits in the Codex usage dashboard.
To continue using code reviews, you can upgrade your account or add credits to your account and enable them for code reviews in your settings.

JMAN730 pushed a commit that referenced this pull request Jul 6, 2026
Resolves the cleanups agreed in #20 (executed as #23):

- Escape raw & / < and un-glue attributes in 11 malformed XML files
  (theredwizard settings.xml + 10 skin files); fix the mis-scoped
  comment that swallowed an </item> in SettingsProfile.xml
- Make all 5 skin strings.po files parse: escape inner double quotes,
  space-normalize comment lines, restore a lost msgstr (#40195) and a
  mangled msgstr (#31295) in it_it
- Self-close the empty xbmc.service extensions in both service addons
- Drop the start="startup" attribute (removed in Kodi 19) from
  mp3streams and gratisred service declarations
- Add lang attributes to mp3streams summary/description
- Migrate mp3streams resources/language/english/strings.xml to
  resource.language.en_gb/strings.po (17 strings, IDs unchanged)
- Give redlight a real <license> (GPL-2.0-or-later, repo convention)
- Rescale chainsliveplayer fanart 1365x768 -> 1280x720
- Bump versions of all eight touched addons

Verified: every .xml parses, every strings.po parses via polib,
py_compile clean, build_repo.py clean; advisory checker now reports
only the permanently-accepted noise plus the mp3streams asset paths
owned by the open PR #22.

Note: mp3streams addon.xml version line will conflict trivially with
PR #22 (bumped here to 2026.07.07, above #22's 2026.07.06).

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01KEenc63RbayTP6cdgVrkDF
JMAN730 pushed a commit that referenced this pull request Jul 6, 2026
Resolves the cleanups agreed in #20 (executed as #23):

- Escape raw & / < and un-glue attributes in 11 malformed XML files
  (theredwizard settings.xml + 10 skin files); fix the mis-scoped
  comment that swallowed an </item> in SettingsProfile.xml
- Make all 5 skin strings.po files parse: escape inner double quotes,
  space-normalize comment lines, restore a lost msgstr (#40195) and a
  mangled msgstr (#31295) in it_it
- Self-close the empty xbmc.service extensions in both service addons
- Drop the start="startup" attribute (removed in Kodi 19) from
  mp3streams and gratisred service declarations
- Add lang attributes to mp3streams summary/description
- Migrate mp3streams resources/language/english/strings.xml to
  resource.language.en_gb/strings.po (17 strings, IDs unchanged)
- Give redlight a real <license> (GPL-2.0-or-later, repo convention)
- Rescale chainsliveplayer fanart 1365x768 -> 1280x720
- Bump versions of all eight touched addons

Verified: every .xml parses, every strings.po parses via polib,
py_compile clean, build_repo.py clean; advisory checker now reports
only the permanently-accepted noise plus the mp3streams asset paths
owned by the open PR #22.

Note: mp3streams addon.xml version line will conflict trivially with
PR #22 (bumped here to 2026.07.07, above #22's 2026.07.06).

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
@JMAN730
JMAN730 merged commit 51b3b18 into main Jul 7, 2026
4 checks passed
JMAN730 added a commit that referenced this pull request Jul 7, 2026
…skills (#25)

* Add mattpocock/skills agent skills to the repo

Installed via 'npx skills add mattpocock/skills' so the /wayfinder,
/grilling, /prototype and related skills referenced by
docs/agents/issue-tracker.md are available in fresh sessions.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>

* Fix checker-reported defects across addon sources

Resolves the cleanups agreed in #20 (executed as #23):

- Escape raw & / < and un-glue attributes in 11 malformed XML files
  (theredwizard settings.xml + 10 skin files); fix the mis-scoped
  comment that swallowed an </item> in SettingsProfile.xml
- Make all 5 skin strings.po files parse: escape inner double quotes,
  space-normalize comment lines, restore a lost msgstr (#40195) and a
  mangled msgstr (#31295) in it_it
- Self-close the empty xbmc.service extensions in both service addons
- Drop the start="startup" attribute (removed in Kodi 19) from
  mp3streams and gratisred service declarations
- Add lang attributes to mp3streams summary/description
- Migrate mp3streams resources/language/english/strings.xml to
  resource.language.en_gb/strings.po (17 strings, IDs unchanged)
- Give redlight a real <license> (GPL-2.0-or-later, repo convention)
- Rescale chainsliveplayer fanart 1365x768 -> 1280x720
- Bump versions of all eight touched addons

Verified: every .xml parses, every strings.po parses via polib,
py_compile clean, build_repo.py clean; advisory checker now reports
only the permanently-accepted noise plus the mp3streams asset paths
owned by the open PR #22.

Note: mp3streams addon.xml version line will conflict trivially with
PR #22 (bumped here to 2026.07.07, above #22's 2026.07.06).

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>

* Promote all-XML well-formedness and PO validity to blocking CI

Extends the blocking tier per the decision in #20 (executed as #24):

- The addon.xml well-formedness step now parses every .xml under each
  addon dir (159 files) instead of only the ten addon.xml manifests
- New PO validity step parses every strings.po with polib (9 files)
- The permanently-accepted advisory noise is documented above the
  advisory job so future readers know those findings are deliberate

kodi-addon-checker itself stays advisory; both new steps are green on
the sources fixed in the previous commit.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>

* Share blocking validation between CI and Release workflows

Codex review on PR #25 caught that release.yml still ran its own
validation covering only addon.xml + py_compile, so a tag release
could publish a bundle that the promoted CI gates would reject.

Extract the full check set (all addon-dir XML, strings.po via polib,
py_compile) into tools/validate_sources.py and call it from both
workflows so the gates cannot drift apart again.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>

---------

Co-authored-by: Claude <noreply@anthropic.com>
@JMAN730
JMAN730 deleted the worktree-fix-mp3streams-assets branch July 17, 2026 00:42
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Fix plugin.audio.mp3streams broken <assets> paths

1 participant