Skip to content

feat: default browserless onboarding and request strategies#895

Merged
gildesmarais merged 9 commits intomainfrom
pr/onboarding-defaults
Mar 21, 2026
Merged

feat: default browserless onboarding and request strategies#895
gildesmarais merged 9 commits intomainfrom
pr/onboarding-defaults

Conversation

@gildesmarais
Copy link
Copy Markdown
Member

Summary

  • default the onboarding flow to the JavaScript/browserless strategy and keep the utility links aligned with that path
  • expose featured included feeds at the API root and allow embedded config lookup for built-in feed paths
  • align generated feed defaults and onboarding tests with the current request-service strategy baseline

Verification

  • docker compose -f .devcontainer/docker-compose.yml run --rm app make setup
  • docker compose -f .devcontainer/docker-compose.yml run --rm app make ready
  • browser smoke in chrome-devtools at http://127.0.0.1:4001/ covering guest, token-required, and success states

Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Updates the html2rss-web onboarding and metadata surfaces so new users default to the browserless/JavaScript strategy, while also promoting built-in/embedded feed configs via the API and UI.

Changes:

  • Defaults onboarding strategy selection to browserless in the frontend (with auto-submit support for ?url= flows) and aligns tests/mocks.
  • Exposes featured_feeds on the API v1 root metadata and adds backend support for resolving embedded config paths via LocalConfig.
  • Updates backend defaults to defer to Html2rss::RequestService.default_strategy_name instead of hard-coding :faraday.

Reviewed changes

Copilot reviewed 14 out of 14 changed files in this pull request and generated 2 comments.

Show a summary per file
File Description
spec/html2rss/web/local_config_spec.rb Adds coverage for embedded-config fallback and malformed path handling.
spec/html2rss/web/feeds/source_resolver_spec.rb Aligns static generator strategy defaulting with request-service default.
spec/html2rss/web/api/v1_spec.rb Verifies API root returns featured_feeds.
app/web/config/local_config.rb Adds embedded-config lookup and path-style normalization for feed names.
app/web/api/v1/root_metadata.rb Adds featured_feeds to root metadata response.
app/web/feeds/source_resolver.rb Uses request-service default strategy when static config omits strategy.
app/web/domain/auto_source.rb Uses request-service default strategy for stable feed creation.
frontend/src/components/App.tsx Prefers browserless by default, supports auto-submit, passes featured feeds + OpenAPI URL to UI.
frontend/src/components/AppPanels.tsx Tweaks labels/styling, adds featured-feeds promotion panel, reorders utility links.
frontend/src/api/contracts.ts Extends metadata contract with optional featured_feeds.
frontend/src/tests/* Updates mocks and adds tests for new defaults, featured feeds, and utility link ordering.
docker-compose.yml Switches to optional .env env_file and documents how to override bundled feeds.yml.

Comment thread app/web/config/local_config.rb Outdated
Comment thread app/web/api/v1/root_metadata.rb
@gildesmarais gildesmarais marked this pull request as ready for review March 21, 2026 13:25
@gildesmarais gildesmarais enabled auto-merge (squash) March 21, 2026 13:25
@gildesmarais gildesmarais merged commit 377cff0 into main Mar 21, 2026
9 checks passed
@gildesmarais gildesmarais deleted the pr/onboarding-defaults branch March 21, 2026 13:29
@mrlubos
Copy link
Copy Markdown

mrlubos commented Mar 21, 2026

@gildesmarais you don't need @hey-api/client-fetch in dependencies anymore, it's been deprecated and is unused

@gildesmarais
Copy link
Copy Markdown
Member Author

Moin @mrlubos

Thank you!
I've removed it in https://github.com/html2rss/html2rss-web/pull/918/changes#diff-da6498268e99511d9ba0df3c13e439d10556a812881c9d03955b2ef7c6c1c655

Thank you very much for hey-api project and the personal support.

Cheers!

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