Commit Graph

773 Commits

Author SHA1 Message Date
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
Brent Simmons baabf842e1 Progress. 2017-08-27 13:03:15 -07:00
Brent Simmons 3c43732e25 Delete some commented-out code that has been superseded. 2017-08-26 16:44:39 -07:00
Brent Simmons 2d1c63403d Make progress fetching articles. 2017-08-26 15:37:15 -07:00
Brent Simmons 2cefb87f20 Create ArticleCache, which wraps a weak-to-weak NSMapTable. An article is cached for as long as there’s an external (outside-the-cache) reference to the article. 2017-08-23 21:30:28 -07:00
Brent Simmons cdb8446c86 Make Articles table own the various related and lookup tables. 2017-08-23 13:23:12 -07:00
Brent Simmons becbf3d7b0 Fix Account-Database init method. 2017-08-22 07:45:09 -07:00
Brent Simmons 5860f774bd Make Database.framework build. Doesn’t work, but it builds. 2017-08-21 13:31:14 -07:00
Brent Simmons 4010011b5a Progress toward getting Database.framework to build. Mostly just commented stuff out. 2017-08-20 22:43:46 -07:00
Brent Simmons 9ddaaf5f5d Decide on preliminary public API for Database.swift. Stub-out everything. 2017-08-20 21:23:17 -07:00
Brent Simmons c164c29cde Make attachments use a DatabaseLookupTable. 2017-08-20 17:46:15 -07:00
Brent Simmons 213b1d7a6f Turn ObjectCache into DatabaseObjectCache — rather than a generic with a keypath, it works with DatabaseObject, which has a known databaseID property. 2017-08-20 16:03:09 -07:00
Brent Simmons 2ce577e9d4 Make progress on Database surgery. 2017-08-20 15:56:58 -07:00
Brent Simmons 54cfaefd81 Finish DatabaseLookupTable — well, except for testing and seeing if it actually works. 2017-08-20 15:03:05 -07:00
Brent Simmons dccc44c920 Make progress saving relationships in DatabaseLookupTable. 2017-08-20 12:41:33 -07:00
Brent Simmons e76beee988 Progress on relationships. 2017-08-19 22:07:31 -07:00
Brent Simmons 2d915a890e Start DatabaseLookupTableCache. 2017-08-19 16:30:55 -07:00
Brent Simmons 0186aeffa2 Added Swift compile time check setting. Fixed issue, and then Xcode stopped beachballing, which means I can move back from my laptop to my iMac. Whew. 2017-08-19 12:27:54 -07:00
Brent Simmons 8d5d94e1a9 Checking in to switch computers BECAUSE XCODE IS JUST BEACHBALLING ON MY IMAC GODDAMNIT. 2017-08-19 11:43:52 -07:00
Brent Simmons e7897e21d9 Start ToDo.ooutline. (OmniOutliner outline.) 2017-08-14 13:33:50 -07:00
Brent Simmons 177667d639 Remove one of the caches from DatabaseLookupTable. 2017-08-14 13:16:52 -07:00
Brent Simmons a4b27075a7 More work on relationships. 2017-08-14 12:54:57 -07:00
Brent Simmons 7f5277f3e0 Using LookupTable. 2017-08-08 20:10:02 -07:00
Brent Simmons 2fe6b0e2a6 LookupTable. 2017-08-07 22:09:10 -07:00
Brent Simmons 67cb2c57d7 Make LookupTable not a DatabaseTable. 2017-08-07 20:03:38 -07:00
Brent Simmons 7f573c2b14 Continue progress on relationships. 2017-08-07 20:00:46 -07:00
Brent Simmons 7edc76cd6e More progress on relationships. 2017-08-07 19:37:31 -07:00
Brent Simmons 4223808c74 Make progress on relationships. 2017-08-06 21:46:47 -07:00
Brent Simmons 570d70d8fe Progress on lookup tables. 2017-08-06 21:16:13 -07:00
Brent Simmons 4503f771da Attach authors. 2017-08-06 12:37:47 -07:00
Brent Simmons c30e7eeb99 Get StatusesTable compiling. 2017-08-05 11:12:45 -07:00
Brent Simmons 9d37d88c2f Make progress on Database.framework. 2017-08-03 21:10:01 -07:00
Brent Simmons 2ace9ec0d2 Get Data.framework building again. 2017-08-03 19:22:54 -07:00
Brent Simmons b756f39cbe Do things. I forget what, since it was yesterday or whatever. Progress, anyway. 2017-07-31 18:39:42 -07:00
Brent Simmons c76d42b42f Make progress on getting StatusTable to compile. 2017-07-30 11:55:46 -07:00
Brent Simmons 031617809f Add uniquedObjects to ObjectCache. 2017-07-30 11:36:27 -07:00
Brent Simmons 32ae8ab1d8 Create ObjectCache and start using it. 2017-07-30 11:22:21 -07:00
Brent Simmons bf11f88ea7 Continue moving functions to DatabaseTable. 2017-07-29 12:50:23 -07:00
Brent Simmons 77ba434878 Start moving common functions to DatabaseTable. 2017-07-29 12:29:05 -07:00
Brent Simmons da9a974dff Give DatabaseTable an RSDatabaseQueue. 2017-07-29 12:13:38 -07:00
Brent Simmons 02174012ec Rename Manager to Table. Conform to DatabaseTable protocol. 2017-07-29 12:08:10 -07:00
Brent Simmons 961454a447 I don't remember what I was doing, but I should commit it. Back from vacation now. Which was lovely. (At the beach, with family.) 2017-07-29 11:26:19 -07:00
Brent Simmons f293d5715c Make DatabaseTable a protocol. 2017-07-16 20:51:08 -07:00
Brent Simmons 8fc4c3041d Make progress on attachments. Build still broken. 2017-07-16 19:36:38 -07:00
Brent Simmons 13f8c4f9b1 Start work on Author management. 2017-07-13 13:38:47 -07:00
Brent Simmons e3b8e6833b Make progress on getting Database.framework to build. 2017-07-12 13:25:10 -07:00
Brent Simmons f46a3ece48 Back out of ArticleID struct in Data.framework. 2017-07-12 12:55:48 -07:00
Brent Simmons 7ce19b0659 Add ArticleID struct. 2017-07-10 21:47:27 -07:00
Brent Simmons c79580b87c Continue work on tags. Build broken. 2017-07-10 20:54:00 -07:00
Brent Simmons d02013cb3a Set Database.framework to compile with Swift 4. 2017-07-08 16:04:43 -07:00
Brent Simmons 4594949df7 Remove Database stuff from Data.framework, since it’s going in Database.framework. 2017-07-08 16:01:26 -07:00
Brent Simmons 2e862de338 Move LocalStatusesManager to Data.framework. 2017-07-08 13:35:06 -07:00
Brent Simmons d0a4effe07 Begin moving database stuff from LocalAccount.framework to Data.framework. 2017-07-08 13:32:09 -07:00
Brent Simmons 7ce6390f23 Set LocalAccount to use Swift 4. Broken build, though. 2017-07-08 13:25:28 -07:00
Brent Simmons 95c077b725 Replace import DataModel with import Data. 2017-07-08 13:18:59 -07:00
Brent Simmons 3f6ce99e21 Converrt Data.framework to Swift 4. 2017-07-08 13:14:39 -07:00
Brent Simmons 96e17818af Remove DataModel.framework. 2017-07-08 13:12:46 -07:00
Brent Simmons 226addd0ba Convert RSFeedFinder to Swift 4. 2017-07-08 13:10:55 -07:00
Brent Simmons b30032657c Convert RSTree to Swift 4. 2017-07-08 13:08:10 -07:00
Brent Simmons d4d3b491af Convert RSWeb to Swift 4. 2017-07-08 13:07:04 -07:00
Brent Simmons ea387a228f Convert RSCore to Swift 4. Build still broken. 2017-07-08 12:29:10 -07:00
Brent Simmons 1e856b7924 Convert RSParser to Swift 4. Now using Xcode 9. Buid still broken. 2017-07-08 12:21:29 -07:00
Brent Simmons 698c1faa95 Continue refactoring. Build still broken. 2017-07-07 17:49:16 -07:00
Brent Simmons 41d8a7f3de Continue surgery. Still broken build. 2017-07-03 15:04:31 -07:00
Brent Simmons d47c60e6de Work on getting Database.framework to build. 2017-07-03 11:20:14 -07:00
Brent Simmons 0379e5f525 Add to Database.framework. Delete RSXML.framework, since it’s been superseded by RSParser.framework. Everything still broken. 2017-07-03 10:40:48 -07:00
Brent Simmons 4a8f33b08a Move Database.framework’s Info.plist. 2017-07-03 10:32:20 -07:00
Brent Simmons d9cfab7d68 Continue major surgery. Everything is wildly broken. 2017-07-03 10:29:44 -07:00
Brent Simmons 944f05c71e Commit major surgery but leave it unfinished. Everything is broken. 2017-07-01 17:22:19 -07:00
Brent Simmons 483e00b2da Add more tests to RSParser. 2017-06-27 06:56:03 -07:00
Brent Simmons c32e1a3933 Fix bug finding channel element in RSS-in-JSON parser. 2017-06-26 19:51:01 -07:00
Brent Simmons 49a5e58ff2 Move feedType function to FeedType.swift. Add a few more cases to FeedParserTypeTests. 2017-06-26 19:37:30 -07:00
Brent Simmons 3bb9887513 Add HTML tests to RSParser. 2017-06-25 18:11:38 -07:00
Brent Simmons a53a0c4697 Add RSDateParserTests to RSParser. 2017-06-25 17:46:48 -07:00
Brent Simmons 67279b6796 Turn on more errors/warnings for RSParser, including treat-warnings-as-errors. 2017-06-25 17:42:30 -07:00
Brent Simmons 53574284dc Add OPMLTests to RSParser. 2017-06-25 17:34:48 -07:00
Brent Simmons c56f887ab4 Start adding RSParser tests. 2017-06-25 17:15:47 -07:00
Brent Simmons b939d91da0 Get RSParser.framework building again. 2017-06-25 16:40:29 -07:00
Brent Simmons e9c19e427a Make it build. Add a README. 2017-06-25 16:32:07 -07:00
Brent Simmons 1ad4474b29 Make progress on getting RSParser.framework to build. 2017-06-25 14:06:01 -07:00
Brent Simmons 6f0e4a9da6 Start JSONFeed parser. No idea if it works yet. 2017-06-25 11:48:44 -07:00
Brent Simmons aaa83e07aa Extract some code into methods in the RSS-in-JSON parser. 2017-06-25 10:37:02 -07:00
Brent Simmons 8589c21091 Start RSS-in-JSON parser. 2017-06-25 10:23:30 -07:00
Brent Simmons 552ab693a3 Create common data structure for all feeds. Using Swift structs, because I love them so awfully much. 2017-06-20 22:00:19 -07:00
Brent Simmons b00b2f39d7 Start work on turning RSXML.framework into RSParser.framework. 2017-06-20 21:18:46 -07:00
Andrew Carter 642955f1c9 Update sub-projects for Xcode 8.3.2
Apply recommended updates for Xcode 8.3.2 to eliminate the warnings.
2017-06-01 16:01:41 -07:00
Brent Simmons 5c4d51dcd6 Add Sparkle. Update SUFeedURL to use https, since I just added https to ranchero.com. (Thanks to Let’s Encrypt!). 2017-05-29 15:44:33 -07:00
Brent Simmons 3773f7b1bf Replace Ranchero Software with Ranchero Software, LLC. 2017-05-29 13:17:58 -07:00
Brent Simmons 3c083c712b Show progress indicator while refreshing. Fix #31. 2017-05-29 12:22:06 -07:00
Brent Simmons e79dbaef68 Add Help menu items. 2017-05-27 13:37:50 -07:00
Brent Simmons e1aca9375c Remove unneeded drop-index SQLite call. 2017-05-27 11:35:03 -07:00
Brent Simmons 19ce82329b Add a whole ton more code. 2017-05-27 10:43:27 -07:00
Brent Simmons 3d5358af09 Unbreak the build. Don’t know if anything works, but at least it builds. 2017-05-26 13:07:55 -07:00
Brent Simmons f49c552bf9 Add UniqueIdentifier file. Fix a couple build errors. 2017-05-24 13:29:40 -07:00
Brent Simmons a336140a9a Make HTTPConditionalGetInfo serialize and deserialize to a plist. 2017-05-24 13:22:57 -07:00
Brent Simmons f17f31ba12 Fix one of several build errors. 2017-05-23 13:31:56 -07:00
Brent Simmons e4d1ed8bd9 Add LocalAccount framework. Note: build is broken. 2017-05-23 13:24:42 -07:00
Brent Simmons 91d81831e9 Add DataModel framework. 2017-05-23 13:14:30 -07:00
Brent Simmons dec10ad0a1 Add RSTextDrawing framework. 2017-05-22 13:32:05 -07:00
Brent Simmons b2e3da5cb6 Add RSTree framework. 2017-05-22 13:29:37 -07:00
Brent Simmons 5c3870a03c Add RSFeedFinder framework. 2017-05-22 13:27:54 -07:00
Brent Simmons 074bbca652 Add RSWeb framework. 2017-05-22 13:17:28 -07:00
Brent Simmons 02503fadb9 Add RSCore framework. 2017-05-22 13:13:40 -07:00
Brent Simmons b506900e3d Add RSDatabase. 2017-05-22 13:09:19 -07:00
Brent Simmons 05a90742a6 Add RSXML framework. 2017-05-22 13:06:02 -07:00