Updated TODOs
This commit is contained in:
33
README.md
33
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
|
||||
|
||||
@@ -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
|
||||
}
|
||||
|
||||
@@ -26,6 +26,8 @@
|
||||
// TODO: Add support for media player? image feed?
|
||||
// <enclosure url="https://url.mp3" length="63274022" type="audio/mpeg" />
|
||||
// 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";
|
||||
|
||||
@@ -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);
|
||||
|
||||
@@ -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) {
|
||||
|
||||
@@ -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?
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
Reference in New Issue
Block a user