- Added exta logic to check that a swipe starts and ends on the same row and story, and abandon it if not, to avoid doing the wrong thing.
- It appears that this was caused by reloading a row while loading images, so I also added logic to avoid reloading a row in the middle of a swipe.
- Implemented a modern UIContextMenuInteraction for Feed Detail on Mac, since it handles right-click in a Mac way.
- Disabled the Feed Detail long press menu on Mac, since it’s redundant.
- Fixed some items in the contextual menu in Grid view.
- Improved scrolling performance of Grid view; now avoids reloading while actively scrolling (might hit bottom of loaded cards more often, though).
- Added more diagnostics to check performance (also did Instruments profiling).
- 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.
- Fixed theme jumping from light to dark (seemed to be caused by a recent iOS change).
- Fixed fading out of list cells.
- Hopefully fixed infinite loading indicator.
- Fixed background crashes.
- Fixed list view stories incorrectly marked as read.
- Fixed grid view wrong dates in story header.
- Fixed grid view heading not matching story.
- Fixed grid view showing the wrong story.
- Fixed grid view duplicate stories.
- Tapping grid view story heading now scrolls to show that story’s card.
- Now always shows the Sites button in non-left layout, since the collapse fullscreen button doesn’t seem to work.
- Fixed crash with malformed story.
- Fixed loading feeds in different layouts.
- And some other tweaks.
- Tweaked the grid view background color for several themes.
- The list/grid layout is now a per-folder and per-feed setting.
- Fixed some issues revealed by that change.
- Fixed crash with reloading individual rows (witnessed when scrolling and loading images, I think).
- Fixed deselection of stories in the list layout.
- Fixed opening a story, advancing a few, and returnng to feed detail showing the correct story.
- Significantly improved the performance of scrolling and marking as read.
- Fixed the grid view not changing with the theme.
- Fixed a gap at the top of the story view.
- Fixed a crash in some situations due to not loading the view.
- Fixed grid layout glitch returning to the grid view from the stories view.
- Swipe left on grid card to mark read; swipe right to mark unread.
- Added support for disabling mark read on scroll.
- Added the pulsating loading bar (styled to fit list and grid layouts).
- Added the end stories bottom indicator, including the premium message when appropriate.
- Fixed not opening feeds for grid layout.
- Fixed just dismissing the settings menu when tapping in grid layout.
- Unread indicator in grid layout is now the same size as in the legacy table layout and the web.
- Increased the size of the content text in grid layout.
- 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.
- Moving logic from collection view code to story cache.
- Commenting out collection view code; keeping for now in case any of it is needed.
- More investigating List to Grid switch issue.
- Implemented marking as read on scroll.
- Increased the font size of the feed title and date/author.
- The read state of stories is now indicated correctly, including dimming read stories.
- Selecting a story scrolls to it, with animation.
- 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.
- Cards now include the feed bar, favicon, and name.
- Cards now include unread, saved, and shared indicators.
- Previews now support the none, left/right, and small/large options.
- Several layout tweaks.
- The Grid layout now supports the columns and length settings.
- The Grid layout now includes a bar above the story to close it.
- Tidied the code a bit.
- Experimenting with using SwiftUI for the list and grid views. Working really well!
- Beginnings of a real data model, at last; probably only for caching stories initially.
- Work in progress on refactoring the feed detail cell to view-based Swift, to make it easier to maintain, and to use autolayout to rearrange the content.
- Work in progress on view-based feed detail cell layout, which enables dynamically sizing cells without the ugly hacks used in the past, and will make it easier to support different layouts (like image on top).