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