- 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 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.
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`.
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.
The autoscroll controls will now hide with the traversal when scrolling. They still appear on tap, or when going to a new story, to make it easy to re-enable scrolling. Of course, they never appear if set to manual scrolling.
- Fixed offset short stories.
- Moved autoscroll controls closer to bottom on iPhone or compact.
- Moved autoscroll controls between traversal buttons on regular iPad.
- Added a "Restore position" preference in the "Reading Stories" group, with options to restore the previous state on launch always, within a specified interval, or never.
- When within the indicated interval, the app restores the feeds, feed detail, and story selections and scrolling positions.
- The active story is marked unread to ensure it remains available for restoring, and re-marked read when resumed.
- NOTE: only supported on iPhone for now. I’ll add iPad support later.
- Pinch in gesture in a story to force the nav bar to show when hidden for full screen or autoscroll.
- Pinch out gesture to hide it if appropriate.
- Form sheet Safari presentation now only on iPad.
- Responsive swipe is covered by another issue.
I really like this feature!
- Added a segmented control to the story detail menu (in the previous commit).
- When autoscroll is on, the story scrolls automatically.
- Tapping the story when autoscroll is on now shows a small overlay with buttons to turn off autoscroll, pause/resume scrolling, go slower, or go faster.
- The overlay auto-hides after a moment.
- Uses full-screen, even if not separately enabled.
- The user can still manually scroll, and it keeps autoscrolling from there.
- It stops autoscrolling when reaches the bottom.
- When going to another story, the autoscroll overlay briefly appears (if enabled), so the user can resume autoscroling, but it doesn’t resume automatically.
- Removed the tap gesture, as requested. Though I suspect you might change your mind about that one.
- Added a segmented control to toggle full screen in the story detail menu.
- (Also added one for the forthcoming autoscroll feature while I was there, since it’s easier to add both at once.)
- Fixed a bug with full screen when vertically scrolling between stories.
Now supports interactively hiding or showing the nav & status bars when scrolling up and down, and the text no longer moves when hiding/showing via tap.
Added a screen edge swipe gesture recognizer to support that when full-screen (as the built-in one doesn’t work then); added support for tapping images to toggle.
Added a "Tap story" preference with "Toggle full screen" and "Do nothing" options; toggling is the default. This is only available on iPhone. When active, a single tap in a story, not on a link, image, movie, or button, will hide or show the status and navigation bars. On iPhones with a notch (iPhone X, XS, etc), the feed bar at the top is also hidden, so the story can scroll under the notch, using every bit of the screen.
Added a new "Scroll horizontally" preference (in the "Reading Stories" section of the prefs). Defaults off. Note that this is a change in behavior from before; you might want to default it on to avoid confusing existing users. I do prefer the new vertical scrolling behavior.