Skip to content

Add raw {id} placeholder support for custom art URLs#409

Closed
IbbyLabs wants to merge 1 commit intocedya77:devfrom
IbbyLabs:codex/add-custom-art-id-placeholder
Closed

Add raw {id} placeholder support for custom art URLs#409
IbbyLabs wants to merge 1 commit intocedya77:devfrom
IbbyLabs:codex/add-custom-art-id-placeholder

Conversation

@IbbyLabs
Copy link
Copy Markdown

@IbbyLabs IbbyLabs commented Apr 1, 2026

Summary

  • add {id} placeholder support for custom art URL patterns
  • preserve the raw meta.id during custom art ID extraction
  • document {id} in the configurator helper text
  • add a focused regression test for raw id extraction and pattern substitution

Why

XRDB and similar integrations sometimes need the original source id, such as mal:16498, when building custom poster URLs. AIOMetadata already exposes provider specific placeholders like {mal_id} and {tmdb_id}, but without a raw {id} placeholder mixed content integrations have to choose between provider specific fallbacks that do not cover every item cleanly.

This change is additive only and keeps all existing placeholders unchanged.

Root Cause

Custom art URL resolution only replaced provider specific placeholders and did not preserve the raw meta.id as a resolvable value. That blocked integrations that need the original source id for cases like MAL anime search and catalog items.

Validation

  • node --test addon/tests/custom-art-id-placeholder.test.js
  • npx eslint addon/index.js addon/utils/parseProps.js configure/src/components/sections/ArtProviderSettings.tsx addon/tests/custom-art-id-placeholder.test.js

Preserve the original meta.id during custom art ID extraction and expose it to custom art URL resolution as a new {id} placeholder.

Document the new placeholder in the configurator helper text and add a focused regression test for raw id extraction and pattern substitution.
@IbbyLabs IbbyLabs closed this Apr 1, 2026
@IbbyLabs IbbyLabs deleted the codex/add-custom-art-id-placeholder branch April 1, 2026 22:50
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.

1 participant