Skip to content

feat: compose local and Radio Browser station discovery (#274) - #280

Merged
pitill0 merged 1 commit into
mainfrom
feat/issue-274-combined-discovery
Oct 23, 2026
Merged

pitill0 merged 1 commit into
mainfrom
feat/issue-274-combined-discovery

Conversation

@pitill0

@pitill0 pitill0 commented Oct 23, 2026

Copy link
Copy Markdown
Owner

Summary

Implement opt-in station discovery across Radio Browser and the active local profile through the shared SearchService.

Changes

  • Add radio-browser, local, and all search scopes while preserving Radio Browser as the default.
  • Require an explicit SQLite connection and profile ID for local and combined searches.
  • Merge and deduplicate stations using stream URL identity.
  • Preserve profile-specific local metadata and expose temporary source observations separately from station data.
  • Apply deterministic relevance ranking, codec compatibility filtering, and a bounded candidate window.
  • Report remote search outcomes, distinguishing successful, partial, failed, cached, and unqueried searches.
  • Prevent complete Radio Browser request failures from being cached as valid empty results.

Scope

No GTK, TUI, Web UI, Brynse, or SQLite schema changes. UI source selection and persistent station provenance remain separate follow-up issues.

Validation

  • make gate — PASS
  • 1,580 tests passed, 7 optional Brynse contract tests skipped.
  • Ruff, mypy, JavaScript validation, pip-audit, and Bandit passed.

Closes #274

@pitill0 pitill0 self-assigned this Oct 23, 2026
@pitill0 pitill0 added the enhancement New feature or request label Oct 23, 2026
@pitill0
pitill0 merged commit 2cdb3a8 into main Oct 23, 2026
7 checks passed
@pitill0
pitill0 deleted the feat/issue-274-combined-discovery branch October 25, 2026 16:40
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

enhancement New feature or request

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Compose opt-in local and Radio Browser station discovery

1 participant