Skip to content

Fix stripped image query string in Feedbin and GReader sync mappers - #1312

Merged
prof18 merged 3 commits into
mainfrom
claude/feed-download-issue-ededad
Jul 26, 2026
Merged

Fix stripped image query string in Feedbin and GReader sync mappers#1312
prof18 merged 3 commits into
mainfrom
claude/feed-download-issue-ededad

Conversation

@prof18

@prof18 prof18 commented Jul 24, 2026

Copy link
Copy Markdown
Owner

What changed

Introduced a shared ContentImageUrlExtractor in the core module and wired it into both sync mappers:

  • feedSync/feedbinEntryDTOMapper
  • feedSync/greader (FreshRSS / Miniflux) — ItemContentDTOMapper

The extractor ports RSS-Parser's current image-extraction logic: it keeps the full image URL including the query string, decodes HTML entities, and filters out emoji/smiley images. New unit tests cover the extractor and both mappers.

Why

Related to #1304 (blurry feed images).

The Feedbin and GReader mappers used an outdated image-extraction regex that truncated image URLs at the file extension, dropping the query string. For tagesschau.de feeds the image URL looks like:

https://images.tagesschau.de/image/.../schnieder-144.jpg?width=1920

Without the ?width=1920 query, the CDN returns a literal 16x9-pixel image, which is why the issue reports such extreme blur. This only affected Feedbin and GReader sync accounts — the local RSS path was already correct because RSS-Parser (>= 6.0.12) fixed the same regex upstream.

Verification

  • ./gradlew --quiet --console=plain detekt allTests green
  • New unit tests for ContentImageUrlExtractor, EntryDTOMapper, and ItemContentDTOMapper
  • Note: existing already-synced items keep their old stored (truncated) URL until they are re-fetched; the fix applies to newly synced content going forward.

Not covered

This PR does not fix the Europapress part of #1304. That feed genuinely only publishes a 120px image, so a proper fix there would need an og:image fallback, which is a separate feature. The issue stays open.

@prof18
prof18 force-pushed the claude/feed-download-issue-ededad branch from fd41083 to 862d0d3 Compare July 26, 2026 16:03
@prof18
prof18 merged commit fc21abc into main Jul 26, 2026
4 checks passed
@prof18
prof18 deleted the claude/feed-download-issue-ededad branch July 26, 2026 17:17
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