diff --git a/CHANGELOG.md b/CHANGELOG.md
index cc56fa1..ab9e9cd 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -2,37 +2,38 @@
All notable changes to this project will be documented in this file.
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
-and this project does NOT adhere to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
+and this project does adhere to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
## [Unreleased]
### Added
-- Adding feed: 5xx server errors have a reload button which will initiate a new download with the same URL
-- Adding feed: Cmd+R will reload the same URL
-- Settings, Feeds: Cmd+R will reload the data source
-- Settings, Feeds: Refresh interval string localizations
-- Settings, Feeds: Right click menu with edit actions
-- Settings, Feeds: Drag & Drop feeds from / to OPML file
-- Settings, Feeds: Drag & Drop feed titles and urls as text
-- Settings, Feeds: OPML export with selected items only
-- Accessibility hints for most UI elements
+- *Adding feed:* 5xx server errors have a reload button which will initiate a new download with the same URL
+- *Adding feed:* `⌘R` will reload the same URL
+- *Settings, Feeds:* `⌘R` will reload the data source
+- *Settings, Feeds:* Refresh interval string localizations
+- *Settings, Feeds:* Right click menu with edit actions
+- *Settings, Feeds:* Drag & Drop feeds from / to OPML file
+- *Settings, Feeds:* Drag & Drop feed titles and urls as text
+- *Settings, Feeds:* OPML export with selected items only
+- *UI:* Accessibility hints for most UI elements
- Associate OPML files (double click and right click actions in Finder)
- Quick Look preview for OPML files
### Fixed
-- Adding feed: Show users any 5xx server error response and extracted failure reason
-- Adding feed: If URLs can't be resolved in the first run (5xx error), try a second time. E.g., 'Done' click (issue: #5)
-- Settings, Feeds: Actions 'delete' and 'edit' use clicked items instead of selected items
+- *Adding feed:* Show users any 5xx server error response and extracted failure reason
+- *Adding feed:* If URLs can't be resolved in the first run (5xx error), try a second time. E.g., `Done` click (issue: #5)
+- *Adding feed:* Prefer favicons with size `32x32`
+- *Settings, Feeds:* Actions `delete` and `edit` use clicked items instead of selected items
+- *UI:* If an error occurs, show document URL (path to file or web url)
- Comparison of existing articles with nonexistent guid and link
- Don't mark articles read if opening URLs failed
-- If an error occurs, show document URL (path to file or web url)
### Changed
-- Interface builder files replaced with code equivalent
-- Settings, Feeds: Single add button for feeds, groups, and separators
-- Settings, Feeds: Always append new items at the end
-- Adding feed: Display error reason if user cancels the creation of a new feed item
-- Adding feed: Refresh interval hotkeys set to: Cmd+1 … Cmd+6
+- *UI:* Interface builder files replaced with code equivalent
+- *Settings, Feeds:* Single add button for feeds, groups, and separators
+- *Settings, Feeds:* Always append new items at the end
+- *Adding feed:* Display error reason if user cancels the creation of a new feed item
+- *Adding feed:* Refresh interval hotkeys set to: `⌘1` … `⌘6`
## [0.9.4] - 2019-04-02
@@ -41,16 +42,16 @@ and this project does NOT adhere to [Semantic Versioning](https://semver.org/spe
- If multiple consecutive items reappear in the middle of the feed mark them read
### Changed
-- Removed 'Start on login'. Use Preferences > Users > Login Items instead.
+- *UI:* Removed checkbox `Start on login`. Use Preferences > Users > Login Items instead.
## [0.9.3] - 2019-03-14
### Added
- Changelog
-- UI: Show body tag in article tooltip if abstract tag is empty
+- *UI:* Show body tag in article tooltip if abstract tag is empty
### Fixed
-- 'Update all feeds' will shows unread items count properly during update
+- `Update all feeds` will shows unread items count properly during update
- Fixed update for feeds where all article URLs point to the same resource (issue: #3)
@@ -59,9 +60,9 @@ and this project does NOT adhere to [Semantic Versioning](https://semver.org/spe
- Limit number of articles that are displayed in feed menu (issue: #2)
### Fixed
-- Cmd+Q in preferences will close the window instead of quitting the application
+- `⌘Q` in preferences will close the window instead of quitting the application
- Crash when libxml2 encountered and set an error
-- libxml2 will ignore lower ascii characters (0x00–0x1F)
+- libxml2 will ignore lower ascii characters (`0x00`–`0x1F`)
## [0.9.1] - 2019-02-14
@@ -69,12 +70,12 @@ and this project does NOT adhere to [Semantic Versioning](https://semver.org/spe
- Mark single article as un/read (hold down option key and click on article)
### Fixed
-- Mouse click on 'Done' button, while entering a new feed URL, will start download properly
+- Mouse click on `Done` button, while entering a new feed URL, will start download properly
- Use guid url if link is not set (issue: #1)
- Issue with feeds not being detected if XML tags start after 4kb
-- Support uppercase schemes (e.g., 'FEED:')
-- UI: Hide 'Next update in -25yrs'
-- UI: Show alert after click on 'Fix Cache'
+- Support uppercase schemes (e.g., `FEED:`)
+- *UI:* Hide `Next update in -25yrs`
+- *UI:* Show alert after click on `Fix Cache`
### Changed
- Auto increment build number
diff --git a/baRSS/Helper/FeedDownload.m b/baRSS/Helper/FeedDownload.m
index e8e6fab..838939f 100644
--- a/baRSS/Helper/FeedDownload.m
+++ b/baRSS/Helper/FeedDownload.m
@@ -475,13 +475,17 @@ static BOOL _nextUpdateIsForced = NO;
else if (meta.iconLinks.count > 0) {
// at least any url (even if all items in list have size 0)
NSString *iconURL = meta.iconLinks.firstObject.link;
- // we dont need much, lets find the smallest icon ...
- int smallest = 9001;
+ double best = DBL_MAX;
for (RSHTMLMetadataIconLink *icon in meta.iconLinks) {
- int size = (int)[icon getSize].width;
- if (size > 0 && size < smallest) {
- smallest = size;
- iconURL = icon.link;
+ CGSize size = [icon getSize];
+ CGFloat area = size.width * size.height;
+ if (area > 0) {
+ // find icon with closest matching size 32x32
+ double match = fabs(log10(area) - log10(32*32));
+ if (match < best) {
+ best = match;
+ iconURL = icon.link;
+ }
}
}
if (iconURL && iconURL.length > 0)
diff --git a/baRSS/Info.plist b/baRSS/Info.plist
index 11cab05..e313240 100644
--- a/baRSS/Info.plist
+++ b/baRSS/Info.plist
@@ -60,7 +60,7 @@
CFBundleVersion
- 9740
+ 9750
LSApplicationCategoryType
public.app-category.news
LSMinimumSystemVersion