- All app-specific uses of UIWebView have been replaced with WKWebView.
- Some third-party uses remain.
- More testing required.
- Note that I’ve bumped the minimum iOS version to iOS 11, since that is needed for WKWebView support.
- Committing to a new branch until ready.
- Added Statistics to the preferences for the left swipe in the feeds list.
- A bit of refactoring to support displaying the popover from a cell on iPad.
- Added a Statistics item to the feed detail menu (please provide an icon).
- This command will show the statistics web page in a popover on iPad, or pushed on iPhone.
- Extended the “original” view controller to support showing a custom page without changing the title or including the navigation bar buttons.
- Added an Export Preferences… button in the Preferences view to save a copy of the preferences to a file.
- Added an Import Preferences… button to load a saved preferences file and replace the prefs.
- Added a document type and UTI type for the prefs file (you can provide an icon if you like).
- Enabled iCloud document support to allow saving to shared locations.
- Added a bridging header to enable Swift code to work properly.
- Fixed the story sometimes not getting displayed in the app when tapping in the widget.
- Now uses the scaled thumbnails provided by the server.
- Split the image cache into separate caches for feed images and story images.
- Now prunes the cached story images to only those currently displayed.
- Added the feed color bars (sharing those colors required a bit of refactoring).
- The fonts etc now more closely match the app.
- Now uses elipsises for the feed name, title, and content text, if needed.
- Improved HTML tag cleanup.
- Tapping a story in the widget now opens it in the All Stories river view.
- Tried to get the widget to reload the content on first launch, but couldn’t. I might try again later.
- Reworded the first launch message as “Tap to set up in NewsBlur”, as a placeholder and to help discover the prefs.
- Now just reloads the table when collapsing or expanding, to avoid @nriley’s crash (the animation was pretty much invisible anyway).
- Manually changing the theme now turns off the preference to follow the system appearance.
- Turning on following the system appearance immediately updates the theme appropriately.
- Done; it’s first in the story settings menu, to be consistent with others.
- I resisted replacing FontSettingsViewController with a MenuViewController usage; that would simplify the code and future changes, but would’ve taken more time now.
- Added a "Download text" preference. Defaults on.
- If on, the text is fetched for feeds that are in text view when fetching new stories.
- The text is fetched after stories, and before images, using a similar mechanism.
- The text is stored in a new "cached_text" database table.
- The text is deleted when the story is deleted.
- When displaying a text view, the cached text is used if available, otherwise it is fetched as before.
- Replaced the non-functional multi-select segmented control in notification popover with four buttons, that are drawn similar to an iOS 13 segmented control.
- Now reloads the feeds list when the preference is changed.
- This also fixed some other preference changes, since the notification handler passes a different class for multi-select options.
Note that need to pull-to-refresh to make the preference take effect, since it sorts on loading the feeds. I think that’s reasonable; not something people would change often.
This was a tricky one to reproduce and trace. I added a safety check for the master navigation view getting too big. I also fixed a couple of other Catalina bugs: a crash on launch due to incorrectly creating an image, and a NaN issue with drawing.
- Reproduced by scrolling a story to go full-screen, double-click to show the Safari browser view, interactively go partially back, then scroll in the browser.
- Now shows the navigation bar when using the browser, since the browser shows it, so they’re consistent.
- Fixed the story appearing to be unread after returning to the app.
- Fixed the "scroll horizontally" preference appearing twice.
- Fixed the add feed and action toolbar buttons sometimes appearing blue.
- Fixed issues related to the way the feeds list is set up, that caused tapping on folders and feed detail buttons to fail (that was very tricky to narrow down).
- Fixed the FTUX presentation on iPad.
- Fixed tapping when traverse is visible.
- Tweaked the autoscroll controls position on iPad to line up with traverse when visible, or go a bit higher when not (to avoid the home indicator).
Moved the 1-second load (which was added for issue #1152, to cope with slow avatars) to after the full HTML is generated, so it won’t fail. Also changed to GCD `dispatch_after` instead of `NSTimer`.
- Implemented the feature, showing or hiding hidden stories, only offering it if there are some.
- I used the “all” icon in the menu as a placeholder; please provide one you’d prefer.
- Since the crusty old menu mechanism doesn’t handle dynamic items well, I took this opportunity to migrate the feed detail menu to the block-based MenuViewController mechanism, resulting in significant code reduction.
- Enhanced MenuViewController to support the theme controls etc, so other menus can be more easily migrated next time they need to be updated.
When there are changes, the “Show Changes” button appears before the date, like on the web. Tapping loads and displays the changes, and the button changes to “Hide Changes”, which works without loading. The insertion and deletion highlights support style-appropriate colors.
- Now doesn’t use estimated row heights, since that seemed to cause the jitter.
- Increased efficiency by caching row heights.
- The cached row heights are reset when reloading the table etc.