Brent Simmons
|
911e6b0879
|
Do some refactoring.
|
2017-11-01 22:40:28 -07:00 |
Brent Simmons
|
17b84ec57c
|
Rename MarkAllReadCommand to MarkReadOrUnreadCommand and make it handle both cases.
|
2017-10-29 12:09:56 -07:00 |
Brent Simmons
|
f9b3eeb4d7
|
Switch macOS deployment target to 10.13. Get MarkAllReadCommand working as an undoable command.
|
2017-10-29 11:14:10 -07:00 |
Brent Simmons
|
d16f83c99a
|
Start UndoableCommand as part of undo support.
|
2017-10-24 09:28:58 -07:00 |
Brent Simmons
|
c101d9dd04
|
Maintain url-to-feed and feedID-to-feed dictionaries to make lookups faster. This makes OPML importing very fast.
|
2017-10-22 11:08:51 -07:00 |
Brent Simmons
|
649f62207f
|
Fix OPML importing.
|
2017-10-21 21:00:21 -07:00 |
Brent Simmons
|
8d5e568cde
|
Make folder.account weak and optional.
|
2017-10-21 16:37:40 -07:00 |
Brent Simmons
|
d512908b6f
|
Use @discardableResult with addFeed.
|
2017-10-21 16:32:29 -07:00 |
Brent Simmons
|
7bf1847588
|
Send notification on adding a feed to a folder. Also: Update ToDo.
|
2017-10-21 16:27:06 -07:00 |
Brent Simmons
|
c237aed5b8
|
Rejigger the find-feed scoring to handle bitsplitting.org — we were getting the podcast feed just because it had “RSS” in the title. But we want the blog feed to get the best score.
|
2017-10-21 16:23:51 -07:00 |
Brent Simmons
|
da1b7a6c7b
|
Post children-did-change notification after adding a feed.
|
2017-10-21 16:06:25 -07:00 |
Brent Simmons
|
edea37dba6
|
Add TreeController.normalizeSelectedNodes and supporting functions in Node.
|
2017-10-21 12:14:15 -07:00 |
Brent Simmons
|
702559cfb1
|
Define kDeleteKeyCode for use in key handling.
|
2017-10-21 10:54:59 -07:00 |
Brent Simmons
|
aca8acea7c
|
Update sidebar when adding a folder.
|
2017-10-19 13:27:59 -07:00 |
Brent Simmons
|
3812c216b2
|
Show unread count in window title.
|
2017-10-18 21:53:45 -07:00 |
Brent Simmons
|
2383ecd480
|
Implement ensureFolder — it actually creates and adds a folder and makes sure account is saved to disk.
|
2017-10-18 19:46:35 -07:00 |
Brent Simmons
|
31947854c0
|
Add AccountDelegate methods for reading and writing a userInfo dictionary that’s stored on disk in the same file as the rest of the Account info. Save account unreadCount with the disk dictionary. Mark an account as dirty when any descendant changes an unread count.
|
2017-10-18 19:14:40 -07:00 |
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
|
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
|
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
|
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
|
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
|
5d8aa94dc3
|
Keep track of refresh beginning and finishing. Validate the refreshAll command (menu, toolbar).
|
2017-10-07 14:40:14 -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
|
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 |