Skip to content
Open
Show file tree
Hide file tree
Changes from 8 commits
Commits
Show all changes
34 commits
Select commit Hold shift + click to select a range
b0e2bbf
Add smart playlist provider
Apr 9, 2026
eee9e98
Add count_tracks API, fix in_library, overwrite description, artist/a…
Apr 10, 2026
f3903e4
Smart playlist: add year range filter (year_from/year_to)
Apr 10, 2026
bda9036
Smart playlist: fix seed track bugs and add seed_track_name
Apr 10, 2026
f60986d
Add static icon fallback for smart playlists
Apr 13, 2026
b6bd616
Address Copilot review: seed mode, count_tracks, resolve_image, gener…
Apr 18, 2026
ddb5191
Merge remote-tracking branch 'upstream/dev' into feature/smart-playli…
Apr 18, 2026
3aff4d0
Address Marvin review: async JSON helpers, list[Track] return type, u…
Apr 20, 2026
d52e6f7
Address Copilot review: fix unload library ID, seed short-circuit, pr…
Apr 20, 2026
04707dc
Add codeowners to manifest
Apr 20, 2026
8a5c63c
Address Copilot review comments on smart playlist provider
Apr 20, 2026
35361d4
Add on_item_updated to sync playlist name changes
Apr 20, 2026
e1404aa
Fix test_rules_persist_to_disk to call handle_async_init
Apr 20, 2026
bda2f0d
feat: add get_providers_supporting_feature dispatch helper
MarvinSchenkel Apr 29, 2026
a32a062
feat: fall back to metadata/plugin providers for similar tracks
MarvinSchenkel Apr 29, 2026
c037e8b
feat: add similar_artists controller with cross-type dispatch
MarvinSchenkel Apr 29, 2026
d72b0de
feat: route browse across all provider types declaring BROWSE
MarvinSchenkel Apr 29, 2026
1f3496f
feat: aggregate recommendations across all provider types
MarvinSchenkel Apr 29, 2026
44d6512
feat: optional cross-type feature methods on MetadataProvider
MarvinSchenkel Apr 29, 2026
ab9cd14
feat: optional cross-type feature methods on PluginProvider
MarvinSchenkel Apr 29, 2026
57dedc2
docs: document cross-type feature stubs on the demo plugin
MarvinSchenkel Apr 29, 2026
0619a49
docs: trim verbose docstrings on cross-type provider methods
MarvinSchenkel Apr 29, 2026
dfd48cf
refactor: drop unused CROSS_TYPE_FEATURES constant
MarvinSchenkel Apr 29, 2026
99152a5
refactor: narrow with isinstance instead of type-ignoring cross-type …
MarvinSchenkel Apr 29, 2026
39a1dc3
refactor: cast instead of isinstance for cross-type provider fallback
MarvinSchenkel Apr 29, 2026
a41ba99
docs: turn demo plugin cross-type stubs into real empty implementations
MarvinSchenkel Apr 29, 2026
f68887b
Cleanup
MarvinSchenkel Apr 29, 2026
13dbd09
feat: route get_provider_item through PluginProvider for plugin-owned…
MarvinSchenkel Apr 29, 2026
02f7d30
Merge branch 'dev' into feat/cross-type-provider-features
MarvinSchenkel Apr 29, 2026
3973423
Feedback
MarvinSchenkel Apr 30, 2026
a01100a
Merge feat/cross-type-provider-features (PR #3811): PluginProvider ga…
May 1, 2026
74ddbf5
Migrate SmartPlaylistProvider from MusicProvider to PluginProvider (r…
May 1, 2026
9e1dd33
Fix mypy: correct EventType names and RecommendationFolder required args
May 1, 2026
64e0816
Document why _handle_add_playlist_tracks is used over public API
May 1, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Loading
Loading