Fix stripped image query string in Feedbin and GReader sync mappers - #1312
Merged
Conversation
prof18
force-pushed
the
claude/feed-download-issue-ededad
branch
from
July 26, 2026 16:03
fd41083 to
862d0d3
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
What changed
Introduced a shared
ContentImageUrlExtractorin thecoremodule and wired it into both sync mappers:feedSync/feedbin—EntryDTOMapperfeedSync/greader(FreshRSS / Miniflux) —ItemContentDTOMapperThe 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:
Without the
?width=1920query, 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 allTestsgreenContentImageUrlExtractor,EntryDTOMapper, andItemContentDTOMapperNot 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:imagefallback, which is a separate feature. The issue stays open.