summaryrefslogtreecommitdiff
path: root/app/src/main/java/org/terst/feedreader/data/CachedExtraction.kt
diff options
context:
space:
mode:
authorPeter Stone <thepeterstone@gmail.com>2026-11-13 19:56:19 +0000
committerPeter Stone <thepeterstone@gmail.com>2026-11-13 19:56:19 +0000
commit7374edc0773988ac3de4d0480a1005d5d1c8cd6d (patch)
tree9080e5bc1fcc9d2a443c2cdb77c035df13065ec3 /app/src/main/java/org/terst/feedreader/data/CachedExtraction.kt
parent17643797517693664e6d4f5e5911b9855d6c484b (diff)
Take the giant Google badge out of the readerHEADmaster
"Remove giant Google icon", reported on a West Hawaii Today article. It is the "Add as a preferred source on Google" badge that sits beside the byline. Giant because the page caps it at 120px with its own stylesheet and the reader drops the page's CSS, so a small badge on the site becomes a full-width image above the first paragraph. Matched on the link's address rather than the class, and that is forced rather than preferred: running the vendored Readability.js over the real page shows the wrapper's preferred_source_badge class does not survive extraction at all, so a class rule would match nothing. The anchor does survive, and its address is Google's own and identical for every publisher in the programme -- where the badge's image filename sits under this newspaper's theme directory and is not. So the address is both the only signal left and the one that generalises. A link with words in it is never touched. An article may discuss the programme and link to it in a sentence, and that sentence is the author's. Both cleaners now run from one entry point. There are two places a body is cleaned -- a fresh extraction on the way out, a cached one on the way back in -- and a cached article is cleaned in place rather than discarded, so a cleaner wired into only the fresh path would leave every already-read article carrying litter nothing would ever remove. Peter's report says the article was cached, which is exactly that case. Pinned against the real thing: the reported article, put through the real extractor, loses the badge and keeps its text and byline. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_018AwnALZL6bD4VBtATDVv3B
Diffstat (limited to 'app/src/main/java/org/terst/feedreader/data/CachedExtraction.kt')
-rw-r--r--app/src/main/java/org/terst/feedreader/data/CachedExtraction.kt4
1 files changed, 2 insertions, 2 deletions
diff --git a/app/src/main/java/org/terst/feedreader/data/CachedExtraction.kt b/app/src/main/java/org/terst/feedreader/data/CachedExtraction.kt
index 63614d1..39f39a5 100644
--- a/app/src/main/java/org/terst/feedreader/data/CachedExtraction.kt
+++ b/app/src/main/java/org/terst/feedreader/data/CachedExtraction.kt
@@ -1,7 +1,7 @@
package org.terst.feedreader.data
import org.terst.feedreader.readability.ConsentNotice
-import org.terst.feedreader.readability.RecirculationWidgets
+import org.terst.feedreader.readability.ArticleLitter
import org.terst.feedreader.readability.UnrenderedTex
/** What a cached `articles.extractedContent` value turned out to be worth. */
@@ -64,7 +64,7 @@ suspend fun loadCachedExtraction(
// article carrying the publisher's promo blocks is a good article with litter in it,
// not a poisoned row: cleaning it in place shows the right thing immediately, where
// discarding it would throw away a usable body and fetch the identical one back.
- content = RecirculationWidgets.strip(cached),
+ content = ArticleLitter.strip(cached),
discardedConsentNotice = false
)