Skip to content

Add text/URL/regex classifiers and modernize iOS sheet presentations#2042

Open
samuelclay wants to merge 176 commits intomainfrom
ios-classifiers
Open

Add text/URL/regex classifiers and modernize iOS sheet presentations#2042
samuelclay wants to merge 176 commits intomainfrom
ios-classifiers

Conversation

@samuelclay
Copy link
Owner

Summary

  • Add new intelligence classifier types: text, URL, title regex, text regex, and URL regex with Pro tier gating for regex classifiers
  • Modernize all iOS dialog presentations to use UISheetPresentationController with themed grabbers, replacing legacy popovers and form sheets
  • Add Premium Pro tier support in premium dialog with external upgrade button and feature list

Test plan

  • Verify trainer UI shows new classifier types (text, URL, regex variants) when available
  • Confirm regex classifiers are gated behind Pro tier in intelligence score computation
  • Test sheet presentations for trainer, premium, preferences, add site, friends, notifications, feed chooser, activities, and share dialogs
  • Verify themed grabber styling matches across light, sepia, medium, and dark themes
  • Test Premium Pro section in premium dialog with scroll-to-pro navigation
  • Confirm mark.js highlighting works for URL matches in story detail headers

🤖 Generated with Claude Code

Dejal added 30 commits May 6, 2024 18:38
- Changed the feed detail settings item for the view layout to use icons instead of text.
- Added feed detail settings items and View > Layout menu items (on Mac) for List and Magazine views.
- When List layout is chosen, the feed detail shows a layout like that on the web, with the preview image on the left or right, the title, zero to 3 lines of content text, the author and date on the title line, and other layout changes.
- When Magazine layout is chosen, the feed detail shows a layout like that on the web, with more lines of text, a wider preview, and other layout changes.
- For Magazine layout, the content text includes linefeeds (which are stripped out for other layouts).
- The feed color bar on the left of cards/rows is now semi-transparent for read stories.
- The preview image in the selected story heading now appears on the left if that display option is chosen.
… or manually)

- Replaced the mark story read on scroll preference switch with a multi-value choice to mark story read on scroll or selection, only selection, after an interval, or manually.
- Renamed the “Show override mark read on scroll” setting to “Site-specific mark story read”.
- Updated the preference logic to support those new values, and handle updating from old values.
- Replaced the Feed Detail settings menu segmented control for mark read on scroll with a submenu with the new options.
- Work in progress.
… or manually)

- Added a settings data upgrade.
- Renamed the mark read settings, to avoid conflict with the old name.
- Added a submenu with the mark read options in the Site menu on Mac.
- Fixed the settings menu checkmark color.
- Refactored all the places that do the isStoryUnread/markStoryRead/syncStoryAsRead dance to use a common method with the extra logic.
- For the After… option, marks as read after the specified interval.
- For the Manually option, shows a full-width Mark Story Read button above the Train/Save/Share buttons in the story. If tapped, marks the story as read.
- For the Manually option, if a story is marked as read, the button is titled just Read.
- Fixed the story not showing the unread indicator in the header when it first apepars.
- Tested on Mac, iPad, and iPhone.
- Removed animation when swiping between stories.
- Magazine view shows story traversal buttons at the bottom of the screen as you scroll, until the end of the story is scrolled into view.
- Replaced the long-press on an image with a pinch to show a standard Quick Look preview panel.
- Renamed the old DashboardViewController as ActivitiesViewController, and cleaned up obsolete references to dashboard, to avoid confusion.
- Added NewsBlur Dashboard to top of feeds list.
- Updated StoryCache to cache stories for multiple feeds.
- Added SwiftUI views for the Dashboard (WIP).
- StoryCache changes for the Dashboard.
- Some code cleanup.
- Adding Dashboard view controller to feed detail (WIP).
- Populating the dashboard data.
- Loading each folder/feed stories.
- And more work in progress.
- Switched back to Swift 5; Swift 6 isn’t ready for prime time yet (changing rapidly, several Apple APIs that don’t fully support it).
- More work on loading.
- Added Folder class.
Dejal and others added 30 commits January 27, 2026 14:50
…ttps://github.com/samuelclay/NewsBlur into dejal-alpha

# Conflicts:
#	clients/ios/Classes/NewsBlurAppDelegate.m
iOS 26: Custom icons, UI updates, and collapse-all button
Merge dejal-alpha into iOS-26 and fix iPad split/compact helpers
Add support for new classifier types (text, URL, title regex, text regex,
URL regex) with Pro tier gating for regex classifiers. Includes intelligence
score computation, trainer UI, and story detail header rendering for URL
matches with mark.js highlighting.

Convert popovers and form sheets to iOS 15+ UISheetPresentationController
across trainer, premium, preferences, add site, friends, notifications,
feed chooser, activities, and share dialogs. Add themed custom grabber
with consistent styling across all sheet presentations.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants