Brent Simmons
|
f8d6cb48dc
|
Remove instance where Feed equality was expected to be pointer equality, which is no longer true.
|
2018-09-16 12:46:50 -07:00 |
Brent Simmons
|
4010b4cb2a
|
On startup, import from AccountData.plist one last time, then rename it to AccountData-old.plist. On subsequent startups, import using Subscriptions.opml.
|
2018-09-16 12:42:46 -07:00 |
Brent Simmons
|
823d83c942
|
Write to disk on display-name-change only if it’s a Folder, since Feed names are stored in ODB.
|
2018-09-15 12:08:57 -07:00 |
Brent Simmons
|
d0df791b93
|
Skip writing to disk when feed setting changes, since we’re writing OPML now and storing feed settings in ODB.
|
2018-09-15 12:06:19 -07:00 |
Brent Simmons
|
abd8fb2236
|
Store feed.name and feed.editedName in ODB.
|
2018-09-15 11:45:01 -07:00 |
Brent Simmons
|
ce1fe6ed1f
|
Store feed.editedName in ODB.
|
2018-09-15 11:39:33 -07:00 |
Brent Simmons
|
0f59b904ef
|
Store feed.authors in ODB. Make Author Codable.
|
2018-09-15 11:16:05 -07:00 |
Brent Simmons
|
904feb9950
|
Store feed.homePageURL in ODB.
|
2018-09-14 22:23:30 -07:00 |
Brent Simmons
|
fb9590de98
|
Make feedID and accountID the things that determine hashing and equality for a Feed.
|
2018-09-14 22:15:22 -07:00 |
Brent Simmons
|
47cf018143
|
Store feed.unreadCount with the Account rather than the feed. This is part of making it so that feeds no longer have to be uniqued.
|
2018-09-14 22:06:03 -07:00 |
Brent Simmons
|
28d084e246
|
Store iconURL and faviconURL in ODB.
|
2018-09-14 21:51:05 -07:00 |
Brent Simmons
|
6d2bb123e3
|
Save conditional GET info in ODB.
|
2018-09-14 19:33:47 -07:00 |
Brent Simmons
|
3f1f4fd24c
|
Write Subscriptions.opml to disk.
|
2018-09-14 13:25:38 -07:00 |
Brent Simmons
|
b8546d8e8b
|
Don't store account.unreadCount in Settings.odb. Don’t rewrite AccountData.plist when feed.contentHash changes.
|
2018-09-14 13:12:55 -07:00 |
Brent Simmons
|
13fbad12a5
|
Store feed.contentHash in Settings.odb.
|
2018-09-13 22:52:34 -07:00 |
Brent Simmons
|
679e6f6c0b
|
Give Feed a weak account rather than accountID.
|
2018-09-13 22:37:40 -07:00 |
Brent Simmons
|
b5b42b8df6
|
Stop storing unreadCount for Feed and Folder objects on disk, since they’re fast to fetch at startup. Also, give Feed an ODBRawValueTable for metadata storage.
|
2018-09-13 22:25:10 -07:00 |
Brent Simmons
|
b7e9fbf2a6
|
Stop saving account’s unread count to disk — no need. It gets calculated at startup plenty fast enough.
|
2018-09-13 21:25:35 -07:00 |
Brent Simmons
|
4bc6c7d5db
|
Start using ODB code with Account. Store the unread count in the settings database.
|
2018-09-12 22:28:21 -07:00 |
Brent Simmons
|
25ff76e1e5
|
Fix a performance bug when fetching all unread articles. When validating unread counts, it was looping through the entire set of articles once per feed. Now it loops through articles just once, for a major performance boost with lots of feeds and/or lots of unread articles.
|
2018-09-10 22:08:38 -07:00 |
Maurice Parker
|
808715892f
|
Changed project and framework projects to default to using tabs per the coding guidelines. Also corrected previously committed files with spaces used incorrectly.
|
2018-09-07 13:46:00 -05:00 |
Brent Simmons
|
fdb159a61b
|
Normalize homePageURL in its setter. Fix #397.
|
2018-09-02 12:14:04 -07:00 |
Brent Simmons
|
5d2a3e9142
|
Normalize homePageURL on init-ing Feed.
|
2018-09-02 12:08:35 -07:00 |
Brent Simmons
|
141ae5cc2f
|
Continue rename to NetNewsWire.
|
2018-08-28 22:18:24 -07:00 |
Brent Simmons
|
9263ffcb79
|
Use synthesized init.
|
2018-08-25 17:07:55 -07:00 |
Brent Simmons
|
cfb3bd706e
|
Use new hash-into function instead of calculating hashValue. WIP on #402.
|
2018-08-25 11:54:58 -07:00 |
Brent Simmons
|
b16112ad56
|
Remove deleted frameworks from Account.
|
2018-07-28 17:30:12 -07:00 |
Brent Simmons
|
fc338d5371
|
Move Feed from Articles.framework to Account.framework.
|
2018-07-28 12:16:14 -07:00 |
Brent Simmons
|
b7575c687c
|
Rename Data.framework to Articles.framework. Rename Database.framework to ArticlesDatabase.framework.
|
2018-07-23 18:29:08 -07:00 |
Olof Hellman
|
c91f4621e1
|
Merge remote-tracking branch 'brentsimmons/master'
|
2018-03-04 18:43:49 -08:00 |
Brent Simmons
|
7def2ae8d0
|
Fix bug where deleting from the sidebar would not stick across runs of the app sometimes — whatever you deleted could come back.
|
2018-02-24 15:54:32 -08:00 |
Olof Hellman
|
71005b56af
|
support for "make new feed"
|
2018-02-20 00:26:46 -08:00 |
Brent Simmons
|
c80e3e86de
|
Don’t save an Account to disk during a refresh session. Wait till it’s over.
|
2018-02-17 18:02:40 -08:00 |
Brent Simmons
|
64647c73c6
|
Use a coalescing queue (instead of a Timer) in Account for saving to disk.
|
2018-02-17 15:38:54 -08:00 |
Brent Simmons
|
2f21dbf6be
|
Remove extraneous get { from a bunch of read-only accessors.
|
2018-02-14 13:14:25 -08:00 |
Brent Simmons
|
192439abe7
|
Make Folder watch for children-did-change notifications — when its own children change, update the unread count. Fix #322.
|
2018-02-12 22:22:06 -08:00 |
Brent Simmons
|
a13d21395e
|
Fetch starred articles for the Starred smart feed.
|
2018-02-11 12:07:55 -08:00 |
Brent Simmons
|
5aeb914ab6
|
Fetch articles for the Today smart feed.
|
2018-02-10 17:37:47 -08:00 |
Brent Simmons
|
00cf3934e5
|
Add fetchUnreadArticles method to Account, which will be used by the All Unread smart feed.
|
2018-02-10 13:00:16 -08:00 |
Brent Simmons
|
a6db249ab6
|
Add ArticleFetcher protocol. Add Feed and Folder extensions for it.
|
2018-02-04 10:57:41 -08:00 |
Olof Hellman
|
e038fb0fb5
|
convert Evergreen frameworks projects to use .xcconfig files.
|
2018-02-02 03:24:13 -08:00 |
Daniel Jalkut
|
3507313f84
|
Accept Xcode 9.3 recommended build settings.
|
2018-01-29 11:20:30 -05:00 |
Daniel Jalkut
|
d7f13ca4be
|
Change from flatMap to new compactMap rename in Xcode 9.3.
|
2018-01-29 11:19:54 -05:00 |
Brent Simmons
|
cf0d5cdc51
|
Remove unwanted debugging print statement.
|
2018-01-24 21:48:20 -08:00 |
Brent Simmons
|
f109237bfa
|
Handle feed renames in the inspector. Handle multiple selection. Fix #137.
|
2018-01-23 21:49:33 -08:00 |
Brent Simmons
|
2cf0dbd96e
|
Extend Notification.Name, not NSNotification.Name.
|
2018-01-22 22:00:01 -08:00 |
Brent Simmons
|
02ad70097e
|
Send a Notification when a Folder’s name changes.
|
2018-01-22 21:59:13 -08:00 |
Brent Simmons
|
6b059671f5
|
Make progress on reloading timeline when feed updates.
|
2018-01-17 17:28:09 -08:00 |
Olof Hellman
|
775dbf0852
|
basic readonly scripting support for account, feed, folder
|
2018-01-11 00:51:25 -08:00 |
Brent Simmons
|
8f9575ee84
|
Remove assertion that wasn’t valid in some situations. Fix #283.
|
2017-12-29 10:13:11 -08:00 |
Brent Simmons
|
0b2d7c6733
|
Validate unread counts on fetching articles. Fix #274.
|
2017-12-26 11:27:55 -08:00 |
Brent Simmons
|
23769bc391
|
Add AccountDelegate.accountDidInitialize method, so that the delegate can set the account’s nameForDisplay before anything else happens. Fix #247.
|
2017-12-19 17:48:30 -08:00 |
Brent Simmons
|
5b01f04afe
|
Save to disk right after importing OPML. Fix #249.
|
2017-12-18 21:46:35 -08:00 |
Brent Simmons
|
3eb95ce63d
|
Fix OPML import performance regression. Fix #238.
|
2017-12-11 23:12:54 -08:00 |
Brent Simmons
|
0b4a9f143e
|
Parse Feedbin articles.
|
2017-12-11 13:36:16 -08:00 |
Brent Simmons
|
8160d8e38e
|
Create Feedbin, FeedbinAccountDelegate, and FeedbinGetSubscriptionsDelegate.
|
2017-12-10 14:05:01 -08:00 |
Brent Simmons
|
6e93cc2718
|
Create FeedbinSubscription struct.
|
2017-12-10 14:04:14 -08:00 |
Brent Simmons
|
89a74077d9
|
Create FeedbinSubscription struct.
|
2017-12-10 13:58:44 -08:00 |
Brent Simmons
|
a488683550
|
Refresh all after importing OPML. Fix #59.
|
2017-12-03 12:54:51 -08:00 |
Brent Simmons
|
0c176eccd0
|
Fetch all unread counts at startup. This is done with a single SQL call, and it’s done in the background, so performance hit should not be noticeable. Fix #138.
|
2017-12-03 11:57:53 -08:00 |
Brent Simmons
|
3da2521e8e
|
When adding a feed, update it right away rather than waiting for the next Refresh. Fix #147. Fix #215.
|
2017-12-02 17:47:08 -08:00 |
Brent Simmons
|
e71d763443
|
Save feed.authors.
|
2017-12-02 14:20:58 -08:00 |
Brent Simmons
|
f28d921aff
|
Avoid skipping parsing Dr. Drang’s JSON Feed, which can’t be detected that it’s a JSON Feed with only partial data, since it has the version element at the end. Add a test for this.
|
2017-12-01 13:19:30 -08:00 |
Brent Simmons
|
e026e159d1
|
Rebuild the feed dictionary at appropriate times. Fix #169.
|
2017-11-25 18:05:20 -08:00 |
Brent Simmons
|
68c01491fc
|
Note when feed settings change and update the sidebar cells.
|
2017-11-25 13:48:14 -08:00 |
Brent Simmons
|
55166e0979
|
Update a Feed with settings taken from the raw feed. (Some Feeds had no homePageURL set, which meant, in most cases, no favicons.)
|
2017-11-25 12:17:49 -08:00 |
Brent Simmons
|
bd8b7c6ed9
|
Implement debugDropConditionalGetInfo command. Fix #197.
|
2017-11-25 11:13:15 -08:00 |
Brent Simmons
|
1864f60e0b
|
Save iconURL and faviconURL in Feed when found in ParsedFeed.
|
2017-11-19 22:38:42 -08:00 |
Brent Simmons
|
ffaa55c50c
|
Implement mark-everywhere-as-read.
|
2017-11-19 16:28:26 -08:00 |
Brent Simmons
|
9c571271e6
|
Create SmartFeed class. It’s for Unread and Starred pseudo-feeds — and will also be used later on by predicate-based smart feeds.
|
2017-11-19 15:40:02 -08:00 |
Brent Simmons
|
83cee90929
|
Fix a couple bugs in PseudoFeed. Make callback for fetching unread count @escaping.
|
2017-11-19 12:45:35 -08:00 |
Brent Simmons
|
e681007bbe
|
Add TodayFeedDelegate. Start work on fetching unread count for Today pseudo-feed.
|
2017-11-19 12:12:43 -08:00 |
Brent Simmons
|
1e713e3bfd
|
Update Account unread count when BatchUpdate did perform.
|
2017-11-15 13:26:10 -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
|
9818278c9b
|
Make undo deleting feeds/folders work.
|
2017-11-05 12:14:36 -08: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
|
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
|
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
|
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
|
da1b7a6c7b
|
Post children-did-change notification after adding a feed.
|
2017-10-21 16:06:25 -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
|
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
|
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
|
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
|
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
|
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
|
54ca352a70
|
Continue fixing build errors.
|
2017-09-17 17:56:04 -07:00 |
Brent Simmons
|
92a60d8f06
|
Continue fixing build errors.
|
2017-09-17 17:03:58 -07:00 |
Brent Simmons
|
0336e30b0d
|
Continue to fix build errors.
|
2017-09-17 16:30:45 -07:00 |
Brent Simmons
|
6631a9c2f8
|
Continue fixing build errors.
|
2017-09-17 13:07:55 -07:00 |
Brent Simmons
|
c0ce68e64b
|
Fix some build errors.
|
2017-09-17 12:54:08 -07:00 |
Brent Simmons
|
1b391c262e
|
Continue working on build errors.
|
2017-09-17 12:34:10 -07:00 |
Brent Simmons
|
1c63e868c9
|
Delete dead code.
|
2017-09-17 12:20:59 -07:00 |
Brent Simmons
|
121fbf3c27
|
Move AccountManager to Account.framework.
|
2017-09-17 12:20:32 -07:00 |
Brent Simmons
|
e78fc0d696
|
Get Account.framework building.
|
2017-09-17 12:08:50 -07:00 |
Brent Simmons
|
4bb0325c45
|
Delete superseded code.
|
2017-09-17 11:32:58 -07:00 |
Brent Simmons
|
ba8d2c81e8
|
Create AccountDelegate. The actual implementation for each different type of Account will conform to AccountDelegate.
|
2017-09-16 15:30:26 -07:00 |
Brent Simmons
|
5715d2f221
|
Move Folder and Container from Data to Account.
|
2017-09-16 15:25:38 -07:00 |
Brent Simmons
|
9ee20ee270
|
Get Data.framework building again.
|
2017-09-07 21:00:30 -07:00 |
Brent Simmons
|
75603eefdc
|
Deal with fallout from moving Account to its own framework.
|
2017-09-07 20:51:51 -07:00 |
Brent Simmons
|
6a4fd38056
|
Continue mess-making. Start Account framework.
|
2017-09-07 20:41:25 -07:00 |