Skip to content

feat(discovery): add profile-scoped local station search (#273) - #277

Merged
pitill0 merged 2 commits into
mainfrom
feat/issue-273-local-station-discovery
Oct 23, 2026
Merged

pitill0 merged 2 commits into
mainfrom
feat/issue-273-local-station-discovery

Conversation

@pitill0

@pitill0 pitill0 commented Oct 23, 2026

Copy link
Copy Markdown
Owner

Summary

Closes #273.

Introduce read-only, profile-scoped local station discovery as the first implementation phase following the architecture investigation in #256.

Changes

  • Add fluxtuner/core/local_station_search.py with an explicit search_local_stations() interface.
  • Discover stations belonging to the selected profile through favorites and playlist membership.
  • Deduplicate stations through the existing shared station identity.
  • Support searches by display name and tags, with deterministic relevance ranking.
  • Support country, minimum bitrate and result-limit filters.
  • Preserve useful MIME metadata for player compatibility.
  • Require an existing, explicit profile ID; never fall back to another profile.
  • Restrict result metadata to known shared station fields and favorite metadata belonging to the selected profile.
  • Support genuinely read-only SQLite connections without modifying transaction boundaries.

Validation

  • 24 new local discovery tests passing.
  • Full suite: 1,561 passed, 7 skipped.
  • Ruff: passed.
  • Python compilation: passed.
  • Targeted mypy: passed.

Full-project mypy currently reports nine errors in three unrelated files (theme_runtime.py, tui.py and web/app.py). These were reproduced against an unchanged copy of the base commit and are not introduced by this PR.

Scope and follow-ups

Note: Existing shared station metadata does not reliably encode the original ownership or provenance of every field. This PR protects profile-specific search results without redesigning historical station persistence; that broader concern remains part of #276.

@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 ee1699a into main Oct 23, 2026
7 checks passed
@pitill0
pitill0 deleted the feat/issue-273-local-station-discovery branch October 25, 2026 17:52
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.

Add profile-scoped local station discovery

1 participant