Brent Simmons
|
0bc84aa50c
|
Show the Keyboard Shortcuts menu via its new Window menu command. The window’s HTML content remains to be done, though.
|
2017-11-13 18:33:23 -08:00 |
Brent Simmons
|
5d781d1657
|
Add method to display contents of file in WebViewWindowController.
|
2017-11-13 18:19:25 -08:00 |
Brent Simmons
|
773f660601
|
Create WebViewWindow, which holds a WKWebView. To be used for keyboard shortcuts and whatever else needs a plain web view in a window.
|
2017-11-13 13:23:22 -08:00 |
Brent Simmons
|
9f56030b79
|
Calculate the Account’s unread count by looking at the set of flattened feeds — this way a given feed (which can occur more than once) is counted only once. Fix #101.
|
2017-11-11 19:34:10 -08:00 |
Brent Simmons
|
0fe8cbd360
|
Remove redundant check to see if feed is probably XML.
|
2017-11-11 14:27:56 -08:00 |
Brent Simmons
|
a593661ba9
|
Add feed detection test for DCRainmaker feed. Make sure it’s detected as RSS. Fix #146.
|
2017-11-11 10:37:28 -08:00 |
Brent Simmons
|
2982109f9b
|
Check that data is not XML, rather than that it is HTML, when determining feed type. Fix #144.
|
2017-11-11 10:30:01 -08:00 |
Brent Simmons
|
9818278c9b
|
Make undo deleting feeds/folders work.
|
2017-11-05 12:14:36 -08:00 |
Brent Simmons
|
57296279e4
|
Switch back to AnyObject from AnyHashable, because of http://openradar.appspot.com/34824398
|
2017-11-04 23:05:20 -07:00 |
Brent Simmons
|
e16911b363
|
Make deleting work. Can’t undo yet. But now everything is messed-up because of an AnyHashable casting bug. Don’t run this build.
|
2017-11-04 22:51:14 -07:00 |
Brent Simmons
|
66c02a6fe1
|
Fix build errors.
|
2017-11-04 19:29:43 -07:00 |
Brent Simmons
|
17e22fb91a
|
Upgrade to recommended settings everywhere.
|
2017-11-04 19:16:07 -07:00 |
Brent Simmons
|
ad3020f13f
|
Upgrade to recommend changes for Data.
|
2017-11-04 19:14:55 -07:00 |
Brent Simmons
|
5c984cbd23
|
Upgrade to recommend changes for RSTextDrawing.
|
2017-11-04 19:14:38 -07:00 |
Brent Simmons
|
9886ac110a
|
Upgrade to recommend changes for RSFeedFinder.
|
2017-11-04 19:14:16 -07:00 |
Brent Simmons
|
ef303c0c38
|
Make progress on deleting and especially undoing delete.
|
2017-11-04 19:03:47 -07:00 |
Brent Simmons
|
c08bbaa970
|
Use AnyHashable instead of AnyObject as representedObject for tree nodes.
|
2017-11-04 15:27:32 -07:00 |
Brent Simmons
|
ef1d95341b
|
Show feeds in Feed Directory sidebar.
|
2017-11-04 14:53:21 -07:00 |
Brent Simmons
|
2bb0cdb0ba
|
Fix build failures in OPMLTests. Tests all still pass in RSParser.
|
2017-11-04 10:25:13 -07:00 |
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 |
Brent Simmons
|
c258a9da5c
|
Rewrite and move BatchUpdate.swift.
|
2017-10-05 20:34:29 -07:00 |
Brent Simmons
|
c80c6c30f8
|
Fix builder errors, mostly in RSParser.
|
2017-10-04 13:28:48 -07:00 |
Brent Simmons
|
83231ed373
|
Fix some build errors.
|
2017-10-02 13:15:07 -07:00 |
Brent Simmons
|
cb4027a951
|
Fix some build errors.
|
2017-10-01 11:28:44 -07:00 |
Brent Simmons
|
04612049f5
|
Make progress on adding feeds.
|
2017-10-01 10:59:35 -07:00 |
Brent Simmons
|
a910841c65
|
Add createFeed method.
|
2017-09-30 16:56:48 -07:00 |
Brent Simmons
|
1f677ca600
|
Edit some access permissions in Folder.
|
2017-09-30 11:00:18 -07:00 |
Brent Simmons
|
5ae70758fb
|
Perform a minor refactoring in Folder.swift.
|
2017-09-28 13:34:16 -07:00 |
Brent Simmons
|
3a4e545e22
|
Fix build errors in Account.framework.
|
2017-09-28 13:16:47 -07:00 |
Brent Simmons
|
1ec3484a95
|
Init Folder with an Account rather than an accountID.
|
2017-09-28 06:53:01 -07:00 |
Brent Simmons
|
48543bcfd6
|
Make progress reading/writing Account feeds and folders to disk.
|
2017-09-27 13:29:05 -07:00 |
Brent Simmons
|
55967f8731
|
Fix some build errors.
|
2017-09-26 21:43:40 -07:00 |
Brent Simmons
|
f187f6a9ef
|
Make Feed provide a disk dictionary.
|
2017-09-26 13:32:02 -07:00 |
Brent Simmons
|
9b566dd10d
|
Init feed with a disk dictionary.
|
2017-09-26 13:26:28 -07:00 |
Brent Simmons
|
8d9c9217dc
|
Make HTTPConditionalGetInfo serializable via a dictionary.
|
2017-09-26 13:16:46 -07:00 |
Brent Simmons
|
2978d4420b
|
Start work on adding feeds and folders.
|
2017-09-25 13:31:36 -07:00 |
Brent Simmons
|
21080a97fc
|
Start work on feed importing.
|
2017-09-24 22:35:57 -07:00 |
Brent Simmons
|
4d677b2055
|
Fix a bunch of build errors.
|
2017-09-24 12:24:44 -07:00 |
Brent Simmons
|
1ab282c23a
|
Do some cleanups on app code.
|
2017-09-23 12:17:14 -07:00 |
Brent Simmons
|
0843c10bc5
|
Remove accountInfo references. This was speculative anyway. I’ll figure out later what we actually need. (Which might be accountInfo after all, and might not be.)
|
2017-09-22 08:06:06 -07:00 |
Brent Simmons
|
6bb1deaa9e
|
Start Database unit tests with a blank file.
|
2017-09-21 18:23:42 -07:00 |
Brent Simmons
|
a7063f7a5d
|
Simplify filterIncomingArticles.
|
2017-09-21 18:14:37 -07:00 |
Brent Simmons
|
d9f0e53312
|
Switch to using DatabaseArticle over article dictionaries.
|
2017-09-21 13:25:14 -07:00 |
Brent Simmons
|
19e65dd076
|
Create DatabaseArticle to use instead of that article dictionary thing.
|
2017-09-21 12:59:08 -07:00 |
Brent Simmons
|
93db92d611
|
Use temporary article dictionaries when fetching articles.
|
2017-09-20 13:29:21 -07:00 |
Brent Simmons
|
f0eea49179
|
Start working of moving from stubArticles to article dictionaries.
|
2017-09-19 13:36:13 -07:00 |
Brent Simmons
|
8767aa3178
|
Continue work on non-optional article.status.
|
2017-09-19 08:07:06 -07:00 |
Brent Simmons
|
b28a849af6
|
Continue march toward non-optional article.status.
|
2017-09-18 22:00:35 -07:00 |
Brent Simmons
|
6db993075b
|
Make progress on making ArticleStatus a reference type and on making article.status non-optional.
|
2017-09-18 13:17:30 -07:00 |
Brent Simmons
|
ab43db7761
|
Get Data.framework building again.
|
2017-09-18 13:01:36 -07:00 |
Brent Simmons
|
622fd51d50
|
Make ArticleStatus a reference type. Make article.status non-optional.
|
2017-09-18 12:59:42 -07:00 |