From bde36a985cceb0cded6aba264a67da54e042c776 Mon Sep 17 00:00:00 2001 From: Gil Desmarais Date: Mon, 10 Aug 2026 22:21:34 +0200 Subject: [PATCH 1/3] refactor(feeds): remove hardcoded max_requests override Remove AUTO_SOURCE_MAX_REQUESTS override in SourceResolver.token_generator_input. The web application now relies entirely on the core gem's dynamic budget slot calculations, ensuring correct scaling for sitemap scans and fallbacks. (Context: CONTEXT.md) --- app/web/feeds/source_resolver.rb | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-) diff --git a/app/web/feeds/source_resolver.rb b/app/web/feeds/source_resolver.rb index e025d3c6..5cd48367 100644 --- a/app/web/feeds/source_resolver.rb +++ b/app/web/feeds/source_resolver.rb @@ -8,9 +8,6 @@ module Feeds ## # Resolves static and token-backed requests into shared generator inputs. module SourceResolver - # Request budget for token-backed auto-source feeds - AUTO_SOURCE_MAX_REQUESTS = 4 - class << self # @param feed_request [Html2rss::Web::Feeds::Contracts::Request] # @return [Html2rss::Web::Feeds::Contracts::ResolvedSource] @@ -134,8 +131,7 @@ def token_generator_input(url, strategy) base_input.merge( channel: { url: url }, auto_source: {}, - strategy: strategy.to_sym, - request: { max_requests: AUTO_SOURCE_MAX_REQUESTS } + strategy: strategy.to_sym ) end From c84dfe0f737209ec35d6079be7b450af6dc07bcb Mon Sep 17 00:00:00 2001 From: Gil Desmarais Date: Mon, 10 Aug 2026 22:25:22 +0200 Subject: [PATCH 2/3] refactor(boot): align renderer with defaults and new stylesheet namespaces Update Renderer to use Html2rss.defaults instead of Html2rss.configuration, and FeedBuilder::Rss::Stylesheet instead of the retired RssBuilder::Stylesheet namespace. This aligns html2rss-web with the breaking API changes introduced in html2rss gem master. (Context: CONTEXT.md) --- Gemfile | 2 +- Gemfile.lock | 2 +- app/web/feeds/renderer.rb | 6 +++--- spec/html2rss/web/feeds/renderer_spec.rb | 4 ++-- 4 files changed, 7 insertions(+), 7 deletions(-) diff --git a/Gemfile b/Gemfile index 78224b06..85c6e5b6 100644 --- a/Gemfile +++ b/Gemfile @@ -4,7 +4,7 @@ source 'https://rubygems.org' git_source(:github) { |repo_name| "https://github.com/#{repo_name}" } -gem 'html2rss', '~> 0.20' +gem 'html2rss', '~> 0.23' # gem 'html2rss', github: 'html2rss/html2rss', branch: 'master' gem 'html2rss-configs', github: 'html2rss/html2rss-configs' diff --git a/Gemfile.lock b/Gemfile.lock index d0071ddf..ce08d2e7 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -367,7 +367,7 @@ PLATFORMS DEPENDENCIES climate_control concurrent-ruby - html2rss (~> 0.20) + html2rss (~> 0.23) html2rss-configs! irb parallel diff --git a/app/web/feeds/renderer.rb b/app/web/feeds/renderer.rb index 796a2929..e0793d73 100644 --- a/app/web/feeds/renderer.rb +++ b/app/web/feeds/renderer.rb @@ -397,10 +397,10 @@ def parse_date(item) def build_rss(title:, description:, link: nil, items: [], timestamp: nil) ::RSS::Maker.make('2.0') do |maker| # Apply stylesheets - stylesheets = Html2rss.configuration.stylesheets.map do |s| - Html2rss::RssBuilder::Stylesheet.new(**s) + stylesheets = Html2rss.defaults.stylesheets.map do |s| + Html2rss::FeedBuilder::Rss::Stylesheet.new(**s) end - Html2rss::RssBuilder::Stylesheet.add(maker, stylesheets) + Html2rss::FeedBuilder::Rss::Stylesheet.add(maker, stylesheets) # Channel details now = timestamp || Time.now diff --git a/spec/html2rss/web/feeds/renderer_spec.rb b/spec/html2rss/web/feeds/renderer_spec.rb index 0224b819..65d4f068 100644 --- a/spec/html2rss/web/feeds/renderer_spec.rb +++ b/spec/html2rss/web/feeds/renderer_spec.rb @@ -42,8 +42,8 @@ end before do - config_double = instance_double(Html2rss::Config) - allow(Html2rss).to receive(:configuration).and_return(config_double) + config_double = instance_double(Html2rss::Defaults) + allow(Html2rss).to receive(:defaults).and_return(config_double) allow(config_double).to receive(:stylesheets).and_return([{ href: '/custom.xsl', type: 'text/xsl' }]) end From 500432ccd85449d5e87259a612bce99ad242aa37 Mon Sep 17 00:00:00 2001 From: Gil Desmarais Date: Tue, 11 Aug 2026 09:29:17 +0200 Subject: [PATCH 3/3] chore: regen openapi --- public/openapi.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/public/openapi.yaml b/public/openapi.yaml index 7d6f305d..46c421ef 100644 --- a/public/openapi.yaml +++ b/public/openapi.yaml @@ -1,5 +1,5 @@ --- -openapi: 3.0.3 +openapi: 3.2.0 info: title: html2rss-web API version: 1.5.3