mirror of
https://github.com/FreshRSS/FreshRSS.git
synced 2026-04-17 12:57:14 -04:00
* prefer feed.icon Closes #5518 Changes proposed in this pull request: - When a feed provides an icon URL (<image><url> in RSS 2.0/1.0, <atom:icon>/<atom:logo> in Atom, icon/favicon fields in JSON Feed), that URL is stored as a feedIconUrl attribute on the feed and used as the primary source for favicon downloads, instead of scraping the feed's website for <link rel="icon"> tags. - If the feed-provided icon URL fails to return a valid image, the existing fallback chain (website HTML favicon search → /favicon.ico) is preserved. Custom favicons uploaded by users always take priority and are never overridden. How to test the feature manually: 1. Add an RSS feed that includes a <image><url> element (e.g. an RSSHub feed: `https://rsshub.app/youtube/channel/UC2cRwTuSWxxEtrRnT4lrlQA`). After actualization, confirm the feed's favicon matches the avatar image from the feed, not the Bilibili site favicon. 2. Add an Atom feed containing <atom:icon> or <atom:logo> Confirm the feed icon is used. 3. Add a JSON Feed (spec: icon field). Confirm icon is preferred over favicon when both are present. 4. Temporarily point a feed's <image><url> to a broken URL. Confirm FreshRSS falls back to the website favicon silently. 5. Upload a custom favicon for a feed, then actualize it. Confirm the custom favicon is not replaced. <img width="470" height="317" alt="image" src="https://github.com/user-attachments/assets/17445154-d94c-44d6-b7e7-019bf24c5767" /> * fix(favicon): use htmlspecialchars_decode for feed image URL * Decode quotes as well * New function in our SimplePie fork https://github.com/FreshRSS/simplepie/pull/73 --------- Co-authored-by: Alexandre Alapetite <alexandre@alapetite.fr>
30 lines
682 B
JSON
30 lines
682 B
JSON
{
|
|
"name": "freshrss.org/freshrss",
|
|
"description": "A free, self-hostable aggregator",
|
|
"type": "project",
|
|
"homepage": "https://freshrss.org/",
|
|
"license": "AGPL-3.0",
|
|
"repositories": [
|
|
{
|
|
"type": "git",
|
|
"url": "https://github.com/FreshRSS/simplepie.git"
|
|
}
|
|
],
|
|
"require": {
|
|
"marienfressinaud/lib_opml": "0.5.1",
|
|
"phpgt/cssxpath": "v1.5.0",
|
|
"phpmailer/phpmailer": "7.0.2",
|
|
"simplepie/simplepie": "dev-merge-get_icon_url#23119820c414c6117e98c870a13727d2d41f3992"
|
|
},
|
|
"config": {
|
|
"sort-packages": true,
|
|
"vendor-dir": "./"
|
|
},
|
|
"scripts": {
|
|
"post-update-cmd": [
|
|
"git clean -d -ff -X .",
|
|
"find . -name '.git' -type d -exec rm -rf {} + || true"
|
|
]
|
|
}
|
|
}
|