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.
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)
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>
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
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 validdownload_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 therequire_file_namegate from_media_item:file_nameis 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 fromincluded.🤖 Generated with Claude Code