3 Commits

Author SHA1 Message Date
relikd
7df70a7936 update changelog 2020-08-31 21:26:44 +02:00
relikd
e8c4c06d33 Fix an issue where indices weren't updated, related to #6 2020-08-31 21:14:13 +02:00
relikd
a9c0e64689 Fix error log 'extractOptions unknown hint identifier' 2020-08-31 20:44:41 +02:00
7 changed files with 41 additions and 20 deletions

View File

@@ -8,7 +8,12 @@ and this project does adhere to [Semantic Versioning](https://semver.org/spec/v2
## [Unreleased] ## [Unreleased]
## [1.1.0] - 2020-01-17 ## [1.1.1] 2020-08-31
### Fixed
- Feed indices weren't updated properly which resulted in empty feed menus (issue: #6)
## [1.1.0] 2020-01-17
### Added ### Added
- *QuickLook*: Thumbnail previews for OPML files (QLOPML v1.3) - *QuickLook*: Thumbnail previews for OPML files (QLOPML v1.3)
- *Status Bar Menu*: Tint menu bar icon with Accent color (macOS 10.14+) - *Status Bar Menu*: Tint menu bar icon with Accent color (macOS 10.14+)
@@ -17,19 +22,19 @@ and this project does adhere to [Semantic Versioning](https://semver.org/spec/v2
- Resolved Xcode warnings in Xcode 11 - Resolved Xcode warnings in Xcode 11
## [1.0.2] - 2019-10-25 ## [1.0.2] 2019-10-25
### Fixed ### Fixed
- *Status Bar Menu*: Preferences could not be opened on macOS 10.15 - *Status Bar Menu*: Preferences could not be opened on macOS 10.15
- *Status Bar Menu*: Menu flickering resulting in a hang on macOS 10.15 - *Status Bar Menu*: Menu flickering resulting in a hang on macOS 10.15
- *UI*: Text color in `About` tab - *UI*: Text color in `About` tab
## [1.0.1] - 2019-10-04 ## [1.0.1] 2019-10-04
### Fixed ### Fixed
- Crash on macOS 10.14 due to a `CGColorRef` null pointer - Crash on macOS 10.14 due to a `CGColorRef` null pointer
## [1.0.0] - 2019-10-03 ## [1.0.0] 2019-10-03
### Added ### Added
- App Signing - App Signing
- Sandboxing & hardened runtime environment - Sandboxing & hardened runtime environment
@@ -86,7 +91,7 @@ and this project does adhere to [Semantic Versioning](https://semver.org/spec/v2
- *UI:* Mark unread articles with blue dot, instead of tick mark - *UI:* Mark unread articles with blue dot, instead of tick mark
## [0.9.4] - 2019-04-02 ## [0.9.4] 2019-04-02
### Fixed ### Fixed
- Article order got mixed up for some feeds (issue: #4) - Article order got mixed up for some feeds (issue: #4)
- If multiple consecutive items reappear in the middle of the feed mark them read - If multiple consecutive items reappear in the middle of the feed mark them read
@@ -95,7 +100,7 @@ and this project does adhere to [Semantic Versioning](https://semver.org/spec/v2
- *UI:* Removed checkbox `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 ## [0.9.3] 2019-03-14
### Added ### Added
- Changelog - 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
@@ -105,7 +110,7 @@ and this project does adhere to [Semantic Versioning](https://semver.org/spec/v2
- Fixed update for feeds where all article URLs point to the same resource (issue: #3) - Fixed update for feeds where all article URLs point to the same resource (issue: #3)
## [0.9.2] - 2019-03-07 ## [0.9.2] 2019-03-07
### Added ### Added
- Limit number of articles that are displayed in feed menu (issue: #2) - Limit number of articles that are displayed in feed menu (issue: #2)
@@ -115,7 +120,7 @@ and this project does adhere to [Semantic Versioning](https://semver.org/spec/v2
- libxml2 will ignore lower ascii characters (`0x00``0x1F`) - libxml2 will ignore lower ascii characters (`0x00``0x1F`)
## [0.9.1] - 2019-02-14 ## [0.9.1] 2019-02-14
### Added ### Added
- Mark single article as un/read (hold down option key and click on article) - Mark single article as un/read (hold down option key and click on article)
@@ -133,11 +138,12 @@ and this project does adhere to [Semantic Versioning](https://semver.org/spec/v2
- Remove html tags from abstract on save (not on display) - Remove html tags from abstract on save (not on display)
## [0.9] - 2019-02-11 ## [0.9] 2019-02-11
Initial release Initial release
[Unreleased]: https://github.com/relikd/baRSS/compare/v1.1.0...HEAD [Unreleased]: https://github.com/relikd/baRSS/compare/v1.1.1...HEAD
[1.1.1]: https://github.com/relikd/baRSS/compare/v1.1.0...v1.1.1
[1.1.0]: https://github.com/relikd/baRSS/compare/v1.0.2...v1.1.0 [1.1.0]: https://github.com/relikd/baRSS/compare/v1.0.2...v1.1.0
[1.0.2]: https://github.com/relikd/baRSS/compare/v1.0.1...v1.0.2 [1.0.2]: https://github.com/relikd/baRSS/compare/v1.0.1...v1.0.2
[1.0.1]: https://github.com/relikd/baRSS/compare/v1.0.0...v1.0.1 [1.0.1]: https://github.com/relikd/baRSS/compare/v1.0.0...v1.0.1

View File

@@ -196,7 +196,8 @@
if (self.articles.count == 0) { if (self.articles.count == 0) {
img = [NSImage imageNamed:NSImageNameCaution]; img = [NSImage imageNamed:NSImageNameCaution];
} else if (self.hasIcon) { } else if (self.hasIcon) {
img = [[NSImage alloc] initByReferencingURL:[self iconPath]]; NSData* data = [[NSData alloc] initWithContentsOfURL:[self iconPath]];
img = [[NSImage alloc] initWithData:data];
} else { } else {
img = [NSImage imageNamed:RSSImageDefaultRSSIcon]; img = [NSImage imageNamed:RSSImageDefaultRSSIcon];
} }

View File

@@ -89,10 +89,11 @@
- (void)setSortIndexIfChanged:(int32_t)sortIndex { - (void)setSortIndexIfChanged:(int32_t)sortIndex {
if (self.sortIndex != sortIndex) { if (self.sortIndex != sortIndex) {
self.sortIndex = sortIndex; self.sortIndex = sortIndex;
[self iterateSorted:NO overDescendantFeeds:^(Feed *feed, BOOL *cancel) {
[feed calculateAndSetIndexPathString];
}];
} }
// Otherwise move from 0.0 -> 0 will not trigger index path update
[self iterateSorted:NO overDescendantFeeds:^(Feed *feed, BOOL *cancel) {
[feed calculateAndSetIndexPathString];
}];
} }
/// Set @c name attribute but only if value differs. /// Set @c name attribute but only if value differs.

View File

@@ -147,7 +147,13 @@
return; return;
self.currentDownload = [[NSURLRequest requestWithURL:self.remoteURL] downloadTask:^(NSURL * _Nullable path, NSError * _Nullable error) { self.currentDownload = [[NSURLRequest requestWithURL:self.remoteURL] downloadTask:^(NSURL * _Nullable path, NSError * _Nullable error) {
if (error) path = nil; // will also nullify img if (error) path = nil; // will also nullify img
NSImage *img = path ? [[NSImage alloc] initByReferencingURL:path] : nil; NSImage *img;
if (path) {
NSData* data = [[NSData alloc] initWithContentsOfURL:path];
img = [[NSImage alloc] initWithData:data];
} else {
img = nil;
}
if (img.valid) { if (img.valid) {
// move image to temporary destination, otherwise dataTask: will delete it. // move image to temporary destination, otherwise dataTask: will delete it.
NSString *tmpFile = NSProcessInfo.processInfo.globallyUniqueString; NSString *tmpFile = NSProcessInfo.processInfo.globallyUniqueString;
@@ -166,7 +172,8 @@
if (self.canceled) if (self.canceled)
return; return;
NSURL *path = self.fileURL; NSURL *path = self.fileURL;
NSImage *img = [[NSImage alloc] initByReferencingURL:path]; NSData* data = [[NSData alloc] initWithContentsOfURL:path];
NSImage* img = [[NSImage alloc] initWithData:data];
if (!img.valid) { path = nil; img = nil; } if (!img.valid) { path = nil; img = nil; }
#if DEBUG && ENV_LOG_DOWNLOAD #if DEBUG && ENV_LOG_DOWNLOAD
printf("ICON %1.0fx%1.0f %s\n", img.size.width, img.size.height, self.remoteURL.absoluteString.UTF8String); printf("ICON %1.0fx%1.0f %s\n", img.size.width, img.size.height, self.remoteURL.absoluteString.UTF8String);

View File

@@ -45,7 +45,7 @@
<key>CFBundlePackageType</key> <key>CFBundlePackageType</key>
<string>APPL</string> <string>APPL</string>
<key>CFBundleShortVersionString</key> <key>CFBundleShortVersionString</key>
<string>1.1.0</string> <string>1.1.1</string>
<key>CFBundleURLTypes</key> <key>CFBundleURLTypes</key>
<array> <array>
<dict> <dict>
@@ -70,7 +70,7 @@
</dict> </dict>
</array> </array>
<key>CFBundleVersion</key> <key>CFBundleVersion</key>
<string>14603</string> <string>14624</string>
<key>LSApplicationCategoryType</key> <key>LSApplicationCategoryType</key>
<string>public.app-category.news</string> <string>public.app-category.news</string>
<key>LSMinimumSystemVersion</key> <key>LSMinimumSystemVersion</key>

View File

@@ -216,7 +216,13 @@
*/ */
- (void)faviconDownload:(FaviconDownload*)sender didFinish:(nullable NSURL*)path { - (void)faviconDownload:(FaviconDownload*)sender didFinish:(nullable NSURL*)path {
// Create image from favicon temporary file location or default icon if no favicon exists. // Create image from favicon temporary file location or default icon if no favicon exists.
NSImage *img = path ? [[NSImage alloc] initByReferencingURL:path] : [NSImage imageNamed:RSSImageDefaultRSSIcon]; NSImage *img;
if (path) {
NSData* data = [[NSData alloc] initWithContentsOfURL:path];
img = [[NSImage alloc] initWithData:data];
} else {
img = [NSImage imageNamed:RSSImageDefaultRSSIcon];
}
self.view.favicon.image = img; self.view.favicon.image = img;
self.faviconFile = path; self.faviconFile = path;
[self downloadComplete]; [self downloadComplete];

View File

@@ -44,7 +44,7 @@
[content setFrameSize: NSMakeSize(w, h)]; [content setFrameSize: NSMakeSize(w, h)];
// after content size, increase to window size // after content size, increase to window size
w += 2 * PAD_WIN; w += 2 * (NSInteger)PAD_WIN;
h += PAD_WIN + contentOffsetY; // the second PAD_WIN is already in contentOffsetY h += PAD_WIN + contentOffsetY; // the second PAD_WIN is already in contentOffsetY
NSWindowStyleMask style = NSWindowStyleMaskTitled | NSWindowStyleMaskResizable | NSWindowStyleMaskFullSizeContentView; NSWindowStyleMask style = NSWindowStyleMaskTitled | NSWindowStyleMaskResizable | NSWindowStyleMaskFullSizeContentView;