Add + Discover Sites feature for iOS#2079
Open
samuelclay wants to merge 9 commits intomainfrom
Open
Conversation
Adds a full-page discovery experience with 8 tabs (Search, Web Feed, Popular, YouTube, Reddit, Newsletters, Podcasts, Google News) as a new sidebar section. Includes category/subcategory filtering with wrapping flow layout pills, feed cards with Try/Add actions, trending feeds, autocomplete search, web feed URL analysis with variant selection, and Google News topic/category subscription. Backend: Add webfeed status polling endpoint and Google News categories API for iOS (which can't use WebSocket like web). iOS: 17 new Swift files under DiscoverSites/ with shared components (feed cards, category pills, search bar, tab bar, theme colors), sidebar integration via new NewsBlurTopSectionDiscoverSites enum value, and UIKit hosting via DiscoverSitesViewController. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
…in Discover Sites - Show trending header with spinner while feeds load on Search tab - Clear feeds and show progress indicator when switching categories - Fix URL encoding for categories with ampersands by using URLComponents - Show globe placeholder for favicons during loading/failure instead of invisible Color.clear Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
…icons - Add segmented grid/list picker to search bar on all Discover tabs - In list mode, request stories from API and show them under feed cards - Auto-reload feeds when switching to list mode if stories not yet loaded - Replace old g_icn_unread/g_icn_focus dots with indicator-unread/indicator-focus icons - Vertically center new icons with count labels in feed list header Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
…ng as URL The server returns favicon as base64-encoded image data, not a URL. SearchTabView and DiscoverFeedCardView were passing this to AsyncImage which silently failed, showing globe icons for every feed. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Use naturalWidth/naturalHeight instead of rendered dimensions and raise the minimum width threshold to 300px for full-width image display. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Adds a "Go to feed" row to the story settings menu (visible in river/social views) that navigates directly to the story's feed. Adds a full-screen pan gesture recognizer for swiping back when in vertical scroll orientation, since the edge-only gesture conflicts with vertical story scrolling. Also replaces emoji labels on the scroll orientation toggle with SF Symbol icons. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
* main: (51 commits) Run isort and black formatting Require 2+ user-subscribed feeds for widely_covered classification More compare links Add bug fixing workflow: write failing test before fixing Expand testimonials to 108 cards across 4 rows with real Twitter avatars Add Feedbin comparison, Inoreader Alternative pages, and redesign welcome compare section Add compare cross-links section and welcome page comparison pills Add "People Love NewsBlur" testimonials section with 58 scrolling cards Add Plausible analytics, sitemap, SEO meta tags, and comparison/alternative pages Polish welcome page real-time stats section typography and spacing Redesign forgot password and reset password pages to match static pages Add /login, /signup, /forgot-password URL redirects Add mongodump timeout, failure email alerts, and backup drive mount script Rework welcome background shader with Gaussian wave ridges and additive blending Add features, pricing, and comparison static pages with top nav and footer Redesign welcome page features section with grouped mosaic layout and FAQ Skip LLM calls when API keys are blank or placeholder Gate Web Feed subscription to Premium Archive with upgrade banners Fix folder operations: case-insensitive dedup, exact name matching, iOS rename Add Premium from Trial and Non-Trial charts to Grafana dashboard ...
* main: (216 commits) Replace ZUNIONSTORE with pipelined ZREVRANGE merges for trending endpoints Bump iOS version to 14.2 Fix recursive iPad sidebar refresh crash Eliminate cache TTL pattern from trending feeds Prometheus endpoint Fix off-site backups never running on schedule and make script resilient Speed up trending Prometheus endpoints by removing top feeds chart and eliminating cache TTL Avoid full collection scans in classifier Prometheus by using subtraction Replace 25 MongoDB count queries with 6 aggregation pipelines for classifier Prometheus endpoint Switch clustering usage tracking from SETs to HyperLogLog Add `make enable` to re-enable app servers after a canceled deploy Move Google News image prepend from read time to fetch time Fix iPad hardware keyboard story navigation Fix river pagination drift when stories marked as read between pages Add ES query instrumentation and caps to story clustering Fix iPad fullscreen overlay story behavior Broadcast mini player close to all browser instances via WebSocket Fix iPad split view story sidebar behavior Include folder/global classifiers in trainer opened from river views Prepend discovered story images to imageless stories Fix iPad keyboard navigation and sidebar collapse regressions ...
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Test plan
Generated with Claude Code