Commit Graph

869 Commits

Author SHA1 Message Date
Brent Simmons 39599a43f3 Make hasAtLeastOneFeed() a Container protocol function with a default implementation. Scrap Account’s feedIDDictionary, since it’s not needed. (Well, profiling may tell us later to bring it back.) 2017-10-18 18:45:09 -07:00
Brent Simmons fe29ccd2ed Show unread count in dock badge. Force-update unread counts at startup. 2017-10-18 18:37:45 -07:00
Brent Simmons 324f330a3b Use localizedStandardCompare when sorting Account names. It’s likely I got the order backwards, but I won’t know until we have accounts other than the local account. (I always get this backwards, even knowing that I always get it backwards.) 2017-10-18 18:21:36 -07:00
Brent Simmons 19b8d5fbfc Update ToDo. 2017-10-18 18:14:38 -07:00
Brent Simmons f90bf3bea1 Rename childrenContainsFeed to childrenContain. Add assertionFailure — expecting pointer equality. 2017-10-18 18:13:49 -07:00
Brent Simmons 3ea60cb461 Handle unread count change notifications in Folder. Update the unread count when needed. 2017-10-13 06:58:15 -07:00
Brent Simmons 505f4bcdba Handle unread count did change notification in Account. 2017-10-13 06:50:33 -07:00
Brent Simmons 4897181909 Avoid a compiler bug with constrained Set extensions. Add a notification observation to Account when unread count changes. 2017-10-12 21:02:27 -07:00
Brent Simmons 165e74a3f3 Refactor status change handling in Account. 2017-10-10 13:23:12 -07:00
Brent Simmons f5a5bf91b2 Update unread counts for feeds when statuses change. 2017-10-09 21:54:08 -07:00
Brent Simmons 106cedb638 Fix sort order in timeline. 2017-10-09 08:32:26 -07:00
Brent Simmons 77042f67b5 Include updated feeds in StatusesDidChange notification, so that updating unread counts will work. 2017-10-08 22:25:33 -07:00
Brent Simmons 6572631866 Update the timeline cell when an article’s status changes. 2017-10-08 21:06:25 -07:00
Brent Simmons e66e6083c7 Update ToDo. 2017-10-08 19:38:46 -07:00
Brent Simmons 8a6b8bde9b Remove some inaccurate assertions about the main thread. 2017-10-08 19:33:37 -07:00
Brent Simmons 8aa3746cb8 Add code for fetching articles for the timeline. Doesn’t actually work yet, though, for some reason. 2017-10-08 18:58:15 -07:00
Brent Simmons 4b662efe15 Comment-out some debugging code. 2017-10-08 01:56:18 -07:00
Brent Simmons 1b44591692 Save new and updated articles to the database. 2017-10-08 01:54:37 -07:00
Brent Simmons ca611623aa Simplify Container and its function implementations. 2017-10-07 21:41:21 -07:00
Brent Simmons dccb215c76 Set account to dirty after importing feeds. 2017-10-07 20:28:39 -07:00
Brent Simmons 7f6f6f9061 Set the account to dirty upon updating some Feed properties. 2017-10-07 20:25:17 -07:00
Brent Simmons c52eb024ab Avoid resetting the save timer so often during a refresh session. Instead just remove it (if refreshing) and add it back when the refresh session ends. 2017-10-07 20:24:58 -07:00
Brent Simmons 0ba557736e Avoid saving account to disk during a refresh session. Reschedule the timer and do it later. 2017-10-07 20:11:17 -07:00
Brent Simmons d8e723db46 Fix typo — send correct notification on account finishing refresh. 2017-10-07 18:31:34 -07:00
Brent Simmons ade76d6405 Save to disk when needed. Coalesce writing, so it doesn’t happen over and over during a refresh session. 2017-10-07 18:15:42 -07:00
Brent Simmons bed43dd3d6 Call the completion block in Account.update, so the refresher can do its thing properly. Also: update ToDo. 2017-10-07 17:53:37 -07:00
Brent Simmons c6f683c34c Make Account, rather than its delegate, watch for refresh progress changes. This way the delegate doesn’t have to be inited with its Account. 2017-10-07 17:43:10 -07:00
Brent Simmons b77569f38b Create and use CombinedRefreshProgress, which reports refresh progress across all accounts. Used by the status view. 2017-10-07 17:20:19 -07:00
Brent Simmons 7ddc09c2ec Update default feeds to account for newer canonical URLs for some of the feeds. 2017-10-07 14:42:21 -07:00
Brent Simmons 5d8aa94dc3 Keep track of refresh beginning and finishing. Validate the refreshAll command (menu, toolbar). 2017-10-07 14:40:14 -07:00
Brent Simmons ea63f5e343 Update ToDo. 2017-10-07 12:40:24 -07:00
Brent Simmons ab82febb9a Move Account/Local folder to Account/LocalAccount, to make it easier to spot (since LocalAccount is its name). Also: wire up refreshing. Make organization changes to LocalAccountRefresher. 2017-10-07 12:40:14 -07:00
Brent Simmons f7c5919674 Send DownloadProgressDidChange notification only when numberOfTasks or numberRemaining actually change. 2017-10-07 12:37:11 -07:00
Brent Simmons 1bffbb7312 Use new UserAgent.headers() function. Reorganize — API up top, with extensions for protocol conformances. 2017-10-07 12:36:09 -07:00
Brent Simmons 6888ad6d00 Use UserAgent.headers() function. 2017-10-07 12:35:11 -07:00
Brent Simmons 07e6ff5572 Add UserAgent.headers() function — otherwise that code was duplicated in a couple places. 2017-10-07 12:34:12 -07:00
Brent Simmons fa0d355ab0 Require High Sierra. 2017-10-07 12:00:47 -07:00
Brent Simmons 6a1c39d8a3 Remove Notifications.swift from Data.framework. Clean up UnreadCountProvider. 2017-10-07 11:56:22 -07:00
Brent Simmons 12ea6e6a9f Fix a second bug loading feeds. Feeds now appear in the sidebar. 2017-10-05 21:17:50 -07:00
Brent Simmons 199dd0e247 Fix bug loading feeds from disk. 2017-10-05 21:08:27 -07:00
Brent Simmons 0f19fda54d Use BatchUpdate.shared. 2017-10-05 20:38:54 -07:00
Brent Simmons c258a9da5c Rewrite and move BatchUpdate.swift. 2017-10-05 20:34:29 -07:00
Brent Simmons b53626fc84 Make super minor edits. 2017-10-05 20:03:35 -07:00
Brent Simmons 119a03e891 Create windowAutosaveName just once. 2017-10-05 18:17:07 -07:00
Brent Simmons 4d77dbfd36 Make a Browser struct with two static methods to replace two top-level functions. 2017-10-05 18:12:58 -07:00
Brent Simmons 77b01eb72c Remove emailSupport action, since there is no email-based support. 2017-10-05 18:02:01 -07:00
Brent Simmons 1bbaa3bfa2 Move dock badge updating code to new DockBadge.swift. 2017-10-05 18:01:18 -07:00
Brent Simmons 22275edf53 Create OPMLImporter with code cut from AppDelegate. 2017-10-05 13:28:39 -07:00
Brent Simmons 33e6e72d21 Fix crashing bug. Now the app window appears! Without any data in it, sure, but hey. 2017-10-05 13:15:32 -07:00
Brent Simmons b8f69779ed Fix build error. The app builds and runs now — and then crashes. But still, it’s progress! 2017-10-05 13:09:09 -07:00