Commit Graph

520 Commits

Author SHA1 Message Date
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 6e6f64321b fixed unintended developement team change 2018-09-07 13:50:34 -05: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 0e5051b060 Fix a major performance regression with article fetching/creation by not using implicit hashing — use explicit and simpler hashValue that will still provide high quality. 2018-09-02 12:36:46 -07: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 30972ef435 Use synthesized init, Equatable, Hashable. 2018-08-25 16:29:11 -07:00
Brent Simmons d274b4eac1 Use new hash-into instead of hashValue. WIP on #402. 2018-08-25 12:52:48 -07:00
Brent Simmons a3a9e9c9bd Use new hash-into over hashValue in Articles.framework. WIP on #402. 2018-08-25 12:05:47 -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 6d49cd4620 Unignore IDEWorkspaceChecks.plist. 2018-08-25 11:33:09 -07:00
Brent Simmons f621f8fff7 Fix missing setting for Articles.framework — fixes bug doing Release build. (Didn’t affect Debug builds.) 2018-08-19 15:32:19 -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
Brent Simmons ce0d2450b8 Get the app building with Xcode 10 beta 3. 2018-07-15 12:05:00 -07:00
Brent Simmons 74e07521ea Build still broken. De-framework-ized FeedFinder. 2018-06-23 11:35:55 -07:00
Brent Simmons b61df8c185 Rename RSFeedFinder references to FeedFinder. 2018-06-21 13:18:28 -07:00
Brent Simmons 168f6138ac Rename RSFeedFinder.h to FeedFinder.h. 2018-06-21 13:07:31 -07:00
Brent Simmons 375bef6d44 Break build. Rename RSFeedFinder on disk to FeedFinder. 2018-06-21 13:06:13 -07:00
Brent Simmons fdda92e4c2 Break build. Remove local copy of DB5.framework. 2018-06-21 13:04:26 -07:00
Brent Simmons ecfee69fdf Break the build. Continue switch to submodules. Remove local copy of RSDatabase. 2018-06-18 16:59:22 -07:00
Brent Simmons 72a89dd048 Break the build. Continue switch to submodules. Remove local copy of RSParser. 2018-06-18 16:52:24 -07:00
Brent Simmons 2927422f1f Break the build. Continue switch to submodules. Remove local copy of RSWeb. 2018-06-18 16:45:29 -07:00
Brent Simmons d597631bd6 Break the build. Continue switch to submodules. Remove local copy of RSTree. 2018-06-18 16:39:16 -07:00
Brent Simmons 993d584731 Break the build. Switching to submodules. Delete local copy of RSCore. 2018-06-18 16:34:11 -07:00
Brent Simmons a1374d5420 Remove no-longer-used RSTextDrawing.framework. 2018-06-18 16:31:08 -07:00
Olof Hellman 3dd74ce148 better logic for rs_normalizedURLString 2018-04-29 19:36:40 -07:00
Olof Hellman c91f4621e1 Merge remote-tracking branch 'brentsimmons/master' 2018-03-04 18:43:49 -08:00
Brent Simmons 6e6eefab27 Make Node.childNodes non-optional. 2018-02-25 22:01:09 -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 b39bcd9a77 Remove RSTextDrawing and all references to it. 2018-02-19 22:06:36 -08:00
Brent Simmons 389f04bcfb Make the selected text in the timeline white. 2018-02-19 21:49:32 -08:00
Brent Simmons 6342eaeb00 Add mactories.net to the JSON special case list with titles. 2018-02-19 21:23:58 -08:00
Brent Simmons 6d46b44e22 Remove no-longer-used RSSingleLineView and RSSingleLineRenderer. 2018-02-19 16:00:26 -08:00
Brent Simmons c887cd7921 Fix bug in existingItemWithIdentifier. 2018-02-17 20:46:20 -08:00
Brent Simmons 5ffe3bb948 Move existingToolbarItem function to NSToolbar category in RSCore. 2018-02-17 20:45:15 -08:00
Brent Simmons 2325e7edbc Move the isOpen property from specific window controllers to the NSWindowController extension in RSCore. 2018-02-17 18:22:57 -08:00
Brent Simmons 8e7863c66d Add isDisplayingSheet calculated readonly property to NSWindow and NSWindowController. 2018-02-17 18:14:24 -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 3a94cf9a51 Create CoalescingQueue.standard, a shared instance. 2018-02-17 17:42:57 -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 4e7fc8efcb Remove rs_performSelectorCoalesced, since it’s been replaced by the CoalescingQueue. 2018-02-17 15:18:42 -08:00
Brent Simmons d9cba50c89 Remove DiskSave from RSCore, since it’s unused. 2018-02-17 15:17:08 -08:00
Brent Simmons 0951b525f1 Add CoalescingQueue, a FIFO queue of target/selector pairs, used for things like updating table row cells — things that should be coalesced and can be delayed minimally. 2018-02-17 15:14:00 -08:00
Brent Simmons 0e2e0f7eea Do a case-insensitive match when checking for special-case feed URLs. 2018-02-16 13:15:20 -08:00
Brent Simmons 891416e7b7 Add a special case to the JSON Feed parser for feeds that include HTML entities in their titles. At the moment this is used for kottke.org and pxlnv.com. More could be added later, and these feeds could be removed if fixed. 2018-02-16 13:13:00 -08:00
Brent Simmons f8f78810ef When detecting and parsing a potential JSON Feed, allow for the version URL to have the wrong scheme, as it does (at this writing) in https://pxlnv.com/feed/json/
Fix #347.
2018-02-14 20:56:02 -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 2b6c2eb5ba Create a PasteboardWriterOwner protocol and an NSPasteboard extension that references it. 2018-02-11 21:55:32 -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 863de80281 Add convenience method to Set<Article> for just getting unread articles. 2018-02-10 13:21:43 -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 c77866c4d7 Add takeItems: method to a new NSMenu extension. 2018-02-09 22:10:36 -08:00
Brent Simmons dcf758acc5 Pass menuForEvent: to the enclosing tableview. This gets contextual menus to appear in e timeline. 2018-02-09 21:40:09 -08:00
Brent Simmons 839780303f Add needed cast to return value in rs_enclosingTableView. 2018-02-09 21:39:33 -08:00
Brent Simmons 1b09d35c77 Add rs_enclosingTableView method as NSView category. 2018-02-09 21:33:13 -08:00
Brent Simmons a6db249ab6 Add ArticleFetcher protocol. Add Feed and Folder extensions for it. 2018-02-04 10:57:41 -08:00
Brent Simmons 50dcf436d9 Change Cocoa imports to AppKit imports, because we don’t need CoreData imported (which Cocoa imports). 2018-02-02 22:51:32 -08:00
Olof Hellman e038fb0fb5 convert Evergreen frameworks projects to use .xcconfig files. 2018-02-02 03:24:13 -08:00
Daniel Jalkut 56a39042f3 Remove Garbage-Collection-specific finalize method overrides, which were flagged by new deprecated OBJC methods warning. 2018-01-29 11:20:38 -05:00
Daniel Jalkut 3507313f84 Accept Xcode 9.3 recommended build settings. 2018-01-29 11:20:30 -05:00
Daniel Jalkut 68a8437ea2 It appears that libxml/parser.h must be explicitly imported as of Xcode 9.3. 2018-01-29 11:20:24 -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 fb45ae11eb Add URLPasteboardWriter to RSCore. It takes a string and writes a URL (if possible) and a string to the pasteboard. 2018-01-28 16:08:38 -08:00
Brent Simmons ef8f508ee4 Add NSOutlineView extension methods: canSelectItem and selectItemAndScrollToVisible. 2018-01-27 12:34:53 -08:00
Brent Simmons 7ba2fe72dd Add descendantNodeRepresentingObject to Node.swift. 2018-01-27 12:03:17 -08: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 786138d6e7 Create postDisplayNameDidChangeNotification, so that a DisplayNameProvider can post a Notification when its name changes. 2018-01-22 21:58:53 -08:00
Brent Simmons c692d357d2 Adjust for < 0 x origin. 2018-01-21 13:10:42 -08:00
Brent Simmons ca5703e14f Keep the inspector’s top-left origin steady on changing views. 2018-01-21 12:46:22 -08:00
Brent Simmons 394274f1e5 Continue progress on inspector. 2018-01-21 11:35:50 -08:00
Brent Simmons d3a0d8b8b7 Remove Inspector stuff from RSCore on YAGNI basis. Start work on inspector in Evergreen. 2018-01-20 19:06:07 -08:00
Brent Simmons 6b059671f5 Make progress on reloading timeline when feed updates. 2018-01-17 17:28:09 -08:00
Brent Simmons d1e915394e Use properties rather than strings and KVC. Duh. 2018-01-15 12:28:35 -08:00
Brent Simmons f4aca068ea Make SendToBlogEditorApp public in RSCore. 2018-01-15 12:21:54 -08:00
Brent Simmons 77bc330d8c Create SendToBlogEditorApp, which implements the sending side of the external blog editor interface: http://ranchero.com/netnewswire/developers/externalinterface 2018-01-15 12:11:28 -08:00
Brent Simmons c63303f05a Add UserApp.targetDescriptor. 2018-01-15 12:10:57 -08:00
Brent Simmons eaeb333120 Add NSAppleEventDescriptor category method: +descriptorWithRunningApplication:. 2018-01-15 12:10:31 -08:00
Brent Simmons 7a8e0ec4aa Increase the sleep interval for waiting for an app to launch. I’m sure there’s a better way to do this, but I don’t know what it is yet. 2018-01-14 11:19:19 -08:00
Brent Simmons 39d6086e0c Use %20 instead of + when encoding for URL query strings, since it appears to be more compatible. (Well, it works better with Micro.blog.) 2018-01-14 11:11:53 -08:00
Brent Simmons 75d0752a67 Make UserApp properties and methods public. 2018-01-14 11:00:29 -08:00
Brent Simmons fd7c6d07ac Add UserApp class to RSCore. It represents an of the type usually found in /Applications. A UserApp may or may not be running and may or may not exist locally on disk. It could be entirely fictional, even. 2018-01-14 10:56:06 -08:00
Brent Simmons f430d6a095 Add Dictionary and String extensions for creating URL query strings. Add tests. 2018-01-13 17:40:27 -08:00
Olof Hellman 775dbf0852 basic readonly scripting support for account, feed, folder 2018-01-11 00:51:25 -08:00
Brent Simmons 1b0648cd18 Make feed icons show up more promptly and reliably in the timeline. 2018-01-08 21:34:39 -08:00
Brent Simmons e181822c48 Merge, manually, fix and tests for detecting as JSON Feed feeds which do slash-escaping, such as Curt’s feed <http://curtclifton.net/feed.json>. 2018-01-08 13:13:15 -08:00
Brent Simmons 0d4a58e2ab Create and use an NSTableView extension method: indexesOfAvailableRowsPassingTest. 2018-01-06 12:12:31 -08:00