Updated TODOs

This commit is contained in:
relikd
2019-01-15 02:21:04 +01:00
parent 3d6865657b
commit 55850832d8
6 changed files with 5 additions and 38 deletions

View File

@@ -36,27 +36,8 @@ ToDo
---- ----
- [ ] Preferences - [ ] Preferences
- [x] Choose favorite web browser
- [x] Show list of installed browsers
- [ ] ~~Choose status bar icon?~~ - [ ] ~~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) - [ ] 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 - [ ] Edit feed
@@ -64,29 +45,15 @@ ToDo
- [ ] How often gets the feed updated (min, max, avg) - [ ] How often gets the feed updated (min, max, avg)
- [ ] Automatically choose best interval? - [ ] Automatically choose best interval?
- [ ] Show time of next update - [ ] Show time of next update
- [x] Auto fix 301 Redirect or ask user
- [x] Make `feed://` URLs clickable
- [ ] Feeds with authentication - [ ] Feeds with authentication
- [x] Show proper feed icon
- [x] Download and store icon file
- [ ] Other - [ ] Other
- [ ] App Icon - [ ] App Icon
- [ ] Translate text to different languages - [ ] 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? - [ ] 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 - [ ] Add Sandboxing
- [ ] Disable Startup checkbox (or other workaround) - [ ] Disable Startup checkbox (or other workaround)
- [x] Fix nasty bug: empty feed list (initial state)
- [ ] Additional features - [ ] Additional features

View File

@@ -40,7 +40,6 @@
} }
- (void)applicationDidFinishLaunching:(NSNotification *)aNotification { - (void)applicationDidFinishLaunching:(NSNotification *)aNotification {
printf("up and running\n");
// feed://https://feeds.feedburner.com/simpledesktops // feed://https://feeds.feedburner.com/simpledesktops
[FeedDownload registerNetworkChangeNotification]; // will call update scheduler [FeedDownload registerNetworkChangeNotification]; // will call update scheduler
} }

View File

@@ -26,6 +26,8 @@
// TODO: Add support for media player? image feed? // TODO: Add support for media player? image feed?
// <enclosure url="https://url.mp3" length="63274022" type="audio/mpeg" /> // <enclosure url="https://url.mp3" length="63274022" type="audio/mpeg" />
// TODO: Disable 'update all' menu item during update? // 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 *kNotificationFeedUpdated = @"baRSS-notification-feed-updated";
static NSString *kNotificationNetworkStatusChanged = @"baRSS-notification-network-status-changed"; static NSString *kNotificationNetworkStatusChanged = @"baRSS-notification-network-status-changed";

View File

@@ -254,7 +254,6 @@ static BOOL _nextUpdateIsForced = NO;
} else { } else {
[feed.meta setSucessfulWithResponse:response]; [feed.meta setSucessfulWithResponse:response];
if (rss) [feed updateWithRSS:rss postUnreadCountChange:YES]; 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) [successful addObject:feed]; // will be added even if statusCode == 304 (rss == nil)
} }
dispatch_group_leave(group); dispatch_group_leave(group);

View File

@@ -157,6 +157,7 @@
if (self.modalSheet.didCloseAndCancel) if (self.modalSheet.didCloseAndCancel)
return; return;
[self preDownload]; [self preDownload];
// TODO: parse webpage to find feed links instead (automatic link detection)
[FeedDownload newFeed:self.previousURL block:^(RSParsedFeed *result, NSError *error, NSHTTPURLResponse* response) { [FeedDownload newFeed:self.previousURL block:^(RSParsedFeed *result, NSError *error, NSHTTPURLResponse* response) {
if (self.modalSheet.didCloseAndCancel) if (self.modalSheet.didCloseAndCancel)
return; return;
@@ -178,7 +179,6 @@
if (self.modalSheet.didCloseAndCancel) if (self.modalSheet.didCloseAndCancel)
return; return;
// 1. Stop spinner animation for name field. (keep spinner for URL running until favicon downloaded) // 1. Stop spinner animation for name field. (keep spinner for URL running until favicon downloaded)
// TODO: play error sound?
[self.spinnerName stopAnimation:nil]; [self.spinnerName stopAnimation:nil];
// 2. If URL was redirected, replace original text field value with new one. (e.g., https redirect) // 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]) { if (responseURL.length > 0 && ![responseURL isEqualToString:self.previousURL]) {
@@ -194,7 +194,7 @@
if (self.feedError) { if (self.feedError) {
[self finishDownloadWithFavicon:[NSImage imageNamed:NSImageNameCaution]]; [self finishDownloadWithFavicon:[NSImage imageNamed:NSImageNameCaution]];
} else { } else {
NSString *faviconURL = self.feedResult.link; // TODO: add support for custom URLs ? NSString *faviconURL = self.feedResult.link;
if (faviconURL.length == 0) if (faviconURL.length == 0)
faviconURL = responseURL; faviconURL = responseURL;
[FeedDownload downloadFavicon:faviconURL finished:^(NSImage * _Nullable img) { [FeedDownload downloadFavicon:faviconURL finished:^(NSImage * _Nullable img) {

View File

@@ -362,7 +362,7 @@ static NSString *dragNodeType = @"baRSS-feed-drag";
} }
[[NSPasteboard generalPasteboard] clearContents]; [[NSPasteboard generalPasteboard] clearContents];
[[NSPasteboard generalPasteboard] setString:str forType:NSPasteboardTypeString]; [[NSPasteboard generalPasteboard] setString:str forType:NSPasteboardTypeString];
NSLog(@"%@", str); NSLog(@"%@", str); // TODO: drag-n-drop feed to opml?
} }
/** /**