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.
android docs indicate that any system window can take focus from the activity, so we should not clear full screen in that case; the system will handle it if necessary (e.g. user leaves application, swipes navigation back up)
- 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.
- Fixed offset short stories.
- Moved autoscroll controls closer to bottom on iPhone or compact.
- Moved autoscroll controls between traversal buttons on regular iPad.
Improved it so interactive back gesture works when the navigation bar is shown, or when scrolling between stories vertically. As you originally pointed out, scrolling between stories horizontally conflicts with the back gesture.
It is using the system gesture, so I can’t change the gesture behavior.