diff --git a/README.md b/README.md index 708ecb0..e8ab0c5 100644 --- a/README.md +++ b/README.md @@ -36,27 +36,8 @@ ToDo ---- - [ ] Preferences - - [x] Choose favorite web browser - - [x] Show list of installed browsers - [ ] ~~Choose status bar icon?~~ - - [x] Tick mark feed items based on prefs - - [x] Open a few links (# editable) - - [x] Performance: Update menu partially - - [x] Start on login - - [x] Make it system default application - [ ] Display license info (e.g., RSXML) - - [x] Short article names - - [x] Import / Export (all feeds) - - [x] Support for `.opml` format - - [x] Append or replace - - -- [x] Status menu - - [x] Update menu header after mark (un)read - - [x] Pause updates functionality - - [x] Update all feeds functionality - - [x] Hold only relevant information in memory - - [x] Icon for paused / no internet state - [ ] Edit feed @@ -64,29 +45,15 @@ ToDo - [ ] How often gets the feed updated (min, max, avg) - [ ] Automatically choose best interval? - [ ] Show time of next update - - [x] Auto fix 301 Redirect or ask user - - [x] Make `feed://` URLs clickable - [ ] Feeds with authentication - - [x] Show proper feed icon - - [x] Download and store icon file - [ ] Other - [ ] App Icon - [ ] Translate text to different languages - - [x] Automatically update feeds with chosen interval - - [x] Reuse ETag and Modification date - - [x] Append only new items, keep sorting - - [x] Delete old ones eventually - - [x] Pause on internet connection lost - [ ] Download with ephemeral url session? - - [x] Purge cache - - [x] Manually or automatically - - [x] Add something to restore a broken state - - [x] Code Documentation (mostly methods) - [ ] Add Sandboxing - [ ] Disable Startup checkbox (or other workaround) - - [x] Fix nasty bug: empty feed list (initial state) - [ ] Additional features diff --git a/baRSS/AppHook.m b/baRSS/AppHook.m index b310aed..2a71ed1 100644 --- a/baRSS/AppHook.m +++ b/baRSS/AppHook.m @@ -40,7 +40,6 @@ } - (void)applicationDidFinishLaunching:(NSNotification *)aNotification { - printf("up and running\n"); // feed://https://feeds.feedburner.com/simpledesktops [FeedDownload registerNetworkChangeNotification]; // will call update scheduler } diff --git a/baRSS/Constants.h b/baRSS/Constants.h index ea789df..1df49ff 100644 --- a/baRSS/Constants.h +++ b/baRSS/Constants.h @@ -26,6 +26,8 @@ // TODO: Add support for media player? image feed? // // TODO: Disable 'update all' menu item during update? +// TODO: List of hidden preferences for readme +// TODO: Do we need to search for favicon in places other than '../favicon.ico'? static NSString *kNotificationFeedUpdated = @"baRSS-notification-feed-updated"; static NSString *kNotificationNetworkStatusChanged = @"baRSS-notification-network-status-changed"; diff --git a/baRSS/FeedDownload.m b/baRSS/FeedDownload.m index 3e30495..ac5d0a3 100644 --- a/baRSS/FeedDownload.m +++ b/baRSS/FeedDownload.m @@ -254,7 +254,6 @@ static BOOL _nextUpdateIsForced = NO; } else { [feed.meta setSucessfulWithResponse:response]; if (rss) [feed updateWithRSS:rss postUnreadCountChange:YES]; - // TODO: save changes for this feed only? / Partial Update [successful addObject:feed]; // will be added even if statusCode == 304 (rss == nil) } dispatch_group_leave(group); diff --git a/baRSS/Preferences/Feeds Tab/ModalFeedEdit.m b/baRSS/Preferences/Feeds Tab/ModalFeedEdit.m index e17755e..8cbc79e 100644 --- a/baRSS/Preferences/Feeds Tab/ModalFeedEdit.m +++ b/baRSS/Preferences/Feeds Tab/ModalFeedEdit.m @@ -157,6 +157,7 @@ if (self.modalSheet.didCloseAndCancel) return; [self preDownload]; + // TODO: parse webpage to find feed links instead (automatic link detection) [FeedDownload newFeed:self.previousURL block:^(RSParsedFeed *result, NSError *error, NSHTTPURLResponse* response) { if (self.modalSheet.didCloseAndCancel) return; @@ -178,7 +179,6 @@ if (self.modalSheet.didCloseAndCancel) return; // 1. Stop spinner animation for name field. (keep spinner for URL running until favicon downloaded) - // TODO: play error sound? [self.spinnerName stopAnimation:nil]; // 2. If URL was redirected, replace original text field value with new one. (e.g., https redirect) if (responseURL.length > 0 && ![responseURL isEqualToString:self.previousURL]) { @@ -194,7 +194,7 @@ if (self.feedError) { [self finishDownloadWithFavicon:[NSImage imageNamed:NSImageNameCaution]]; } else { - NSString *faviconURL = self.feedResult.link; // TODO: add support for custom URLs ? + NSString *faviconURL = self.feedResult.link; if (faviconURL.length == 0) faviconURL = responseURL; [FeedDownload downloadFavicon:faviconURL finished:^(NSImage * _Nullable img) { diff --git a/baRSS/Preferences/Feeds Tab/SettingsFeeds.m b/baRSS/Preferences/Feeds Tab/SettingsFeeds.m index f51ceb0..5b3834f 100644 --- a/baRSS/Preferences/Feeds Tab/SettingsFeeds.m +++ b/baRSS/Preferences/Feeds Tab/SettingsFeeds.m @@ -362,7 +362,7 @@ static NSString *dragNodeType = @"baRSS-feed-drag"; } [[NSPasteboard generalPasteboard] clearContents]; [[NSPasteboard generalPasteboard] setString:str forType:NSPasteboardTypeString]; - NSLog(@"%@", str); + NSLog(@"%@", str); // TODO: drag-n-drop feed to opml? } /**