Patreon: a missing media file_name is a fallback, not API drift #79

Merged
bvandeusen merged 1 commits from dev into main 2026-06-06 23:14:26 -04:00
Owner

All CI-green on dev (run 650).

The native client raised "Patreon API changed — ingester needs update" and failed the whole walk when a gallery image lacked file_name (BlenderKnight event #41346, post 73665615). But the resource had a valid download_url, and the code already derives a filename from the URL basename — Patreon legitimately serves some images without a name, so it isn't drift. Dropped the require_file_name gate from _media_item: file_name is now optional for every kind (images/attachments/postfile), falling back to the URL basename. Genuine drift still errors — no resolvable URL, or a media id absent from included.

🤖 Generated with Claude Code

All CI-green on dev (run 650). The native client raised "Patreon API changed — ingester needs update" and failed the whole walk when a gallery image lacked `file_name` (BlenderKnight event #41346, post 73665615). But the resource had a valid `download_url`, and the code already derives a filename from the URL basename — Patreon legitimately serves some images without a name, so it isn't drift. Dropped the `require_file_name` gate from `_media_item`: `file_name` is now optional for every kind (images/attachments/postfile), falling back to the URL basename. Genuine drift still errors — no resolvable URL, or a media id absent from `included`. 🤖 Generated with [Claude Code](https://claude.com/claude-code)
bvandeusen added 1 commit 2026-06-06 23:14:20 -04:00
fix(patreon): a missing media file_name is a URL-basename fallback, not API drift
CI / lint (push) Successful in 2s
CI / frontend-build (push) Successful in 24s
CI / backend-lint-and-test (push) Successful in 25s
CI / integration (push) Successful in 3m0s
4c42a15fa1
The native client treated a gallery image without `file_name` as schema drift
and raised "Patreon API changed — ingester needs update", failing the whole walk
(operator-flagged 2026-06-07: BlenderKnight post 73665615, kind=images). But the
resource had a valid URL, and the code already derives a filename from the URL
basename right below the raise — the same fallback gallery-dl uses. Patreon
legitimately serves some images without file_name, so this isn't drift.

Drop the require_file_name gate from _media_item: file_name is now optional for
every kind (images/attachments/postfile), falling back to the URL basename.
Genuine drift still raises — no resolvable URL, or a media id referenced by a
relationship but absent from `included`. Test updated to assert the fallback.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
bvandeusen merged commit 11acdb0322 into main 2026-06-06 23:14:26 -04:00
Sign in to join this conversation.
No Reviewers
No Label
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: bvandeusen/FabledCurator#79