Commit Graph

254 Commits

Author SHA1 Message Date
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
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 306836766a Fix build error in RSWeb. 2017-09-17 11:37:22 -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 1f35892791 Make AttachmentsTable use default implementation of save. 2017-09-16 13:10:03 -07:00
Brent Simmons db757bcdb9 Implement marking statuses. 2017-09-16 11:04:29 -07:00
Brent Simmons 90c11bb687 Delete some unused code. 2017-09-16 10:38:54 -07:00
Brent Simmons 66129841a5 Use UnreadCountDictionary instead of UnreadCountTable. 2017-09-16 10:21:39 -07:00
Brent Simmons 72cfc84001 Cache statuses when fetching articles — since articles are fetched using a join statement with the statuses table. 2017-09-14 13:32:06 -07:00
Brent Simmons 80c8a848e9 Slightly simplify related-object adding code. 2017-09-13 21:52:11 -07:00
Brent Simmons 7563906f9b Create Articles with attached objects. 2017-09-13 21:41:01 -07:00
Brent Simmons 57cf5a25d7 Fix some build errors. 2017-09-13 17:40:25 -07:00
Brent Simmons 1cfa11d032 Move save-using-cache code to DatabaseRelatedObjectsTable. Fix some build errors. 2017-09-13 13:29:52 -07:00
Brent Simmons d284bf3757 Remove cache from Author since it’s now in AuthorsTable. 2017-09-12 22:27:36 -07:00
Brent Simmons 8f01e7e3b6 Fix build error. 2017-09-12 22:06:59 -07:00
Brent Simmons 8f12df8f5b Move fetchObjectsWithIDs from AttachmentsTable to default protocol implementation since AuthorsTable needs the exact same thing. 2017-09-12 21:47:04 -07:00
Brent Simmons 9341515926 Save and fetch attachments. Use a cache. 2017-09-12 21:19:45 -07:00
Brent Simmons b32c96c912 Prune DatabaseLookupTable some more. Get RSDatabase building again. 2017-09-11 21:58:22 -07:00
Brent Simmons d77c4d763f Add comment to RelatedObjectsMap. 2017-09-11 13:16:30 -07:00
Brent Simmons 45063d2d96 Remove cache from DatabaseLookupTable because it made the code too complex. If profiling says we need caching, we can add it back later. 2017-09-11 13:15:12 -07:00
Brent Simmons 258abab9f6 Rename *LookupTable data structures to *Map. 2017-09-11 13:11:29 -07:00
Brent Simmons 5ee58458a2 Make progress on related objects. 2017-09-11 06:46:32 -07:00
Brent Simmons 07a44f7af0 Fix some build errors in Database.framework. 2017-09-10 11:36:28 -07:00
Brent Simmons 2943fca8e3 Make ParsedAttachment require a URL. 2017-09-10 11:21:49 -07:00
Brent Simmons 9ad83e58b3 Make tags and attachments sets instead of arrays. 2017-09-10 11:18:15 -07:00
Brent Simmons b1bd1ac75a Use a Set<ParsedAuthor> instead of [ParsedAuthor] array. 2017-09-10 11:02:05 -07:00
Brent Simmons 9a45ab7996 Marked ParsedFeed.hubs a Set<ParsedHub>. 2017-09-10 10:53:24 -07:00
Brent Simmons 7415131e8d Make ParsedFeed.items a Set<ParsedItem>. Fix some build errors in Database.framework. 2017-09-09 18:46:58 -07:00
Brent Simmons 7680760537 Fix some Database.framework build errors. Add Author cache. 2017-09-09 12:57:24 -07:00
Brent Simmons 4d816850d6 Delete some dead code. 2017-09-09 12:24:30 -07:00
Brent Simmons 3c47b23b8b Add article.changesFrom() to get changes in an Article. 2017-09-09 12:09:48 -07:00
Brent Simmons 54b5100b09 Call saveUpdatedRelatedObjects when saving updated articles. 2017-09-09 11:10:15 -07:00
Brent Simmons f3406088f3 Use a KeyPath to generalize code for checking for tags, attachments, and authors changes. 2017-09-09 11:02:02 -07:00
Brent Simmons f40b400dd5 Make progress on saving updated articles. 2017-09-08 13:36:30 -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
Brent Simmons a92492eb91 Make further progress on saving articles from feeds. 2017-09-06 13:33:04 -07:00
Brent Simmons d84c65c66f Continue work on saving articles. 2017-09-05 08:53:45 -07:00
Brent Simmons dadb4a4cd0 Continue to make a mess. Switching computers so I can sit with my laptop in the living room and wait for the Pagliacci Pizza guy to knock. 2017-09-04 18:29:02 -07:00
Brent Simmons b0cb01a68e Make a mess of things. Article and ArticleStatus are now immutable structs. 2017-09-04 17:10:02 -07:00
Brent Simmons fb121f8a8c Make more progress on saving/updating articles. 2017-09-02 16:08:02 -07:00
Brent Simmons d33d8a0330 Make progress toward saving/updating articles. 2017-09-02 14:19:42 -07:00
Brent Simmons d017536d58 Make AttachmentsTable, AuthorsTable, and TagsTable classes instead of structs. 2017-09-02 10:13:37 -07:00
Brent Simmons b783d1c062 Create and use a DatabaseRelatedObjectsTable protocol, which clarifies the relationships between different table types. 2017-09-02 10:11:19 -07:00
Brent Simmons a00ac9c2ac Implement database.fetchUnreadCounts. 2017-09-01 13:31:27 -07:00
Brent Simmons 66ae62233f Start work on fetching unread counts. 2017-08-31 13:35:48 -07:00
Brent Simmons f3bfa8811d Implement marking statuses in memory and in database. 2017-08-29 13:32:36 -07:00