- Adjusted the timeout and caching of images.
- Cleans up cached image URLs if needed.
- When offline, now replaces an uncached image with a blank image, to avoid the broken image.
- When online, now loads the remote image if no cached image.
- Experimented with using cleaner cache filenames, but that wasn’t needed (it initially looked like the MD5 was changing between invocations).
- Now uses “jpeg” for the cache extension, since the image URL can have parameter junk that messes with caching.
- Fixed trainer not working in Everything folder.
- Fixed crash when loading images during a reload.
- Fixed story blanking out after 15 minutes (due to a WebKit crash; now auto-recovers).
- Added submenus to the View menu for Layout, Story Preview, Image Preview, Grid Columns, and Grid Height.
- Implemented the remaining menu items.
- Menus now update based on folder vs site.
- Menus now disable when not appropriate.
- Added some handy new stories collection properties.
- Added the acivity button to the user info above the feeds list.
- Now validates the menu items based on visible views.
- The View > Columns etc submenus now include checkmarks for their current state.
- The Feed menu items are now disabled for Everything and folders etc as appropriate.
- The Story > Save This Story and Mark as Read menu items toggle their titles as appropriate.
- Fixed the Notifications, Statistics, and other panels not appearing.
- Removed the View > Hide Toolbar menu command, since it doesn’t make sense to do so.
- Fixed the no story message being hidden when it shouldn’t be.
- Moved globally-relevant methods to BaseViewController, so their menu items are always available.
- Big refactor to eliminate redundant appDelegate properties.
- Work in progress on reimplementing the navigation bars as a Mac toolbar.
- Now uses the Documents directory instead of the Caches one, to avoid losing data in low disk space.
- Exisitng data is copied to the new location if needed.
- Restored the legacy table view for the list layout.
- Still uses the modern SwiftUI view for the grid layout.
- Added an option in Preferences (below the “Story titles layout” for “List style”, to choose between “Standard” (aka the table) and “Experimental” (aka the grid-based list) so we can continue to improve the nicer modern list.
- Removed the swipe gesture from the grid view.
- Fixed a crash putting the app in the background.
- Fixed some other issues.
- In Grid layout, when the number of columns is set to Auto, it uses 4 columns for landscape and 2 columns for portrait.
- In Grid layout, if the number columns is 4, it only displays 3 in portrait, since 4 won’t fit.
- Removed the old collection view; code referencing it is left commented out for now, just in case any is needed later.
- Now respects the safe area at the bottom of the screen.
- Added support for pull-to-refresh.
- Added a progress indicator when loading (nicer than the old flashing row, I think).
- Deselecting a story in Grid view now avoids scrolling.
- Added support for the Grid layout on iPhone, with one or two columns. Works fairly well.
- Bumped up the feed title & date/author font size again.
- Now markes as read on scroll when the card is scrolled halfway off the top.
- The story view on Grid layout now resizes to fit the content.
- The story view scrolls as part of the Grid.
- Selecting a story scrolls to it in Grid layout, most of the time.
Feeds list:
- Fixed dark areas next to nested folders.
- The feeds list background colors now match the web.
- Adjusted the color of the icons.
- Changing the font size or comfort layout no longer dismisses the menu or reloads.
Feed detail:
- A story with a short title in two-line mode now has a shorter cell.
- Fixed multiple rows being selected.
- Comfortable layout now has larger top and bottom margins.
- Fixed notification icon in menu.
- Fixed saved_searches appearing in move submenu.
- Adjusted the height for feeds.
- Changing the title, image, font size, or comfort layout no longer dismisses the menu or reloads.
Story:
- Lighter header color.
- Updated icons and removed borders for share/save/train buttons.
- Updated the trainer popover to use the new style.
- Added a new smart folder for Widget Site Stories, above Read Stories towards the bottom.
- It lists stories from the feeds the widget displays.
- Loading a story from the widget uses this feed, so it’s much faster (doesn’t have to keep loading to find the story).
- On iPad, added a feed detail preference to open the first story (default) or list the stories
- Didn't do this on iPhone, as it makes less sense there; going back from the story to the list would just bounce back into the story. I could add extra logic to avoid that if you really want this option on iPhone too.
- Both are back to the old marking as read behavior.