vicrodh
55c5ea4013
feat(ui): wire link resolver into main page
...
Import LinkResolverModal, add handleResolvedLink() that dispatches to
handleAlbumClick/handleArtistClick/selectPlaylist. Listen for
link:resolved event from OS scheme handler. Render modal in template.
2026-02-17 00:29:15 -06:00
vicrodh
448c658996
feat(ui): add LinkResolverModal component
...
Svelte 5 modal with input field for pasting Qobuz URLs. Calls
v2_resolve_qobuz_link and forwards the resolved link to the parent.
Enter key submits, error displayed inline.
2026-02-17 00:27:51 -06:00
vicrodh
590b652649
feat(i18n): add link resolver translation keys
...
Added to all 4 locales (en, es, de, fr):
- settings.integrations.qobuzLinkHandler* keys for settings toggle
- linkResolver.* keys for the modal (title, placeholder, go, resolving, invalidLink)
2026-02-17 00:27:24 -06:00
vicrodh
f583092a76
chore(packaging): add qobuzapp scheme to desktop files
...
All 6 .desktop files now declare x-scheme-handler/qobuzapp in their
MimeType line, enabling OS-level link capture for qobuzapp:// URLs.
2026-02-17 00:25:09 -06:00
vicrodh
d286aec9ef
feat(core): forward scheme links from single-instance and launch args
...
Single-instance plugin now inspects args for qobuzapp:// or
play.qobuz.com URLs and emits link:resolved event. Launch args
are also checked on first startup with a 1.5s delay for frontend
readiness.
2026-02-17 00:24:49 -06:00
vicrodh
261d420540
feat(v2): add qobuzapp handler registration commands
...
v2_check_qobuzapp_handler, v2_register_qobuzapp_handler,
v2_deregister_qobuzapp_handler — use xdg-mime for scheme handler
registration and mimeapps.list editing for deregistration.
2026-02-17 00:24:02 -06:00
vicrodh
9006e64fa2
feat(v2): add v2_resolve_qobuz_link command
...
Thin Tauri command that calls qbz_qobuz::resolve_link(). Pure parsing,
no State params, no auth required. Registered in invoke_handler.
2026-02-17 00:23:16 -06:00
vicrodh
985f634817
feat(qobuz): add link resolver module with tests
...
Pure-Rust URL parser for qobuzapp:// and https://play.qobuz.com/ links.
Resolves to typed ResolvedLink enum (OpenAlbum, OpenTrack, OpenArtist,
OpenPlaylist). 24 unit tests covering happy paths and edge cases.
2026-02-17 00:22:26 -06:00
vicrodh
36a708d501
feat(ui): add artwork column in playlist tracks
...
cx
2026-02-16 23:02:45 -06:00
vicrodh
0c66a14249
fix(player): stabilize seek interaction and remove misleading secondary bar refs #75
...
cx
2026-02-16 22:48:39 -06:00
vicrodh
39bbbdc230
fix(playback): reduce mpris desync and stale playback event lag refs #85
...
cx
2026-02-16 21:36:07 -06:00
vicrodh
3ea67f0cdc
fix(ui): keep sidebar menus above playlist overlays refs #78
...
cx
2026-02-16 21:28:47 -06:00
vicrodh
243c212c62
chore(playback): validate long-track auto-advance fix refs #80
...
cx
2026-02-16 20:52:43 -06:00
vicrodh
c3696f02d4
fix(playback): harden auto-advance for long-track edge cases
...
cx
2026-02-16 20:08:34 -06:00
vicrodh
99877fa740
fix(v2): align immersive track info/radio and i18n history keys
...
cx
2026-02-16 19:27:47 -06:00
vicrodh
37db48ea3d
fix(v2): complete command migration sweep and musician/blacklist flows
...
- migrate remaining frontend invokes to V2 names
- add missing V2 command registrations and implementations
- enforce commands_v2 backend purity (no legacy delegation)
- restore blacklist/relationships/musician flows in V2
- align playlist/local-library/settings invoke paths with V2
cx
2026-02-16 18:40:07 -06:00
vicrodh
45b98c40d4
fix(v2): harden session restore and favorites query params
...
cx
2026-02-16 17:16:41 -06:00
vicrodh
131c6703ab
fix(v2): stabilize queue panel sync and shuffle counters
...
cx
2026-02-16 17:16:41 -06:00
vicrodh
6f7b8e0aff
Revert "fix(v2): harden session restore and favorites query params"
...
This reverts commit c20bb034ae .
2026-02-16 17:16:29 -06:00
vicrodh
c20bb034ae
fix(v2): harden session restore and favorites query params
...
cx
2026-02-16 17:15:58 -06:00
vicrodh
1037b59cfa
refactor(v2): hard-delete unused legacy command files
...
cx
2026-02-16 17:11:24 -06:00
vicrodh
ffd5c992b0
refactor(v2): shrink legacy command module to internal minimum
...
cx
2026-02-16 17:09:29 -06:00
vicrodh
43ebf19ae1
chore(v2): hard-cut legacy invoke handler surface
...
cx
2026-02-16 17:04:08 -06:00
vicrodh
a58116212c
fix(v2): stabilize plex playback control and shuffle reorder semantics
...
cx
2026-02-16 15:23:46 -06:00
vicrodh
e51f367b31
fix(v2): restore Plex command surface for LocalLibrary
...
cx
2026-02-16 12:53:20 -06:00
vicrodh
8ac5ba92fd
refactor(v2): enforce backend purity and stabilize playback runtime
...
cx
2026-02-16 07:45:43 -06:00
vicrodh
d64e0f38d7
chore(v2): apply phase-2 legacy cut-off for auth playback queue and context surface
...
cx
2026-02-16 04:14:13 -06:00
vicrodh
9e126a0c59
chore(v2): apply legacy invoke cut-off markers in handler with rollback notes
...
cx
2026-02-16 04:08:22 -06:00
vicrodh
ee5998533d
refactor(v2): route library flows through shared impls and remove command-to-command calls
...
cx
2026-02-16 04:05:16 -06:00
vicrodh
d2a13ba95e
refactor(v2): internalize notification offline playlist reset and reco training flows
...
cx
2026-02-16 04:02:52 -06:00
vicrodh
0aecda77e5
refactor(v2): migrate remaining unknown frontend invokes to v2 commands
...
cx
2026-02-16 03:53:24 -06:00
vicrodh
d02b8a9628
refactor(v2): eliminate legacy frontend invokes and close remaining v2 command gaps
...
cx
2026-02-16 03:51:01 -06:00
vicrodh
54af46fea8
refactor(v2): close missing command surface for cast, library, offline and radio
...
cx
2026-02-16 03:35:52 -06:00
vicrodh
d4b5dedc90
chore(v2): add migration guardrails for backend purity and invoke audit
...
cx
2026-02-16 03:29:02 -06:00
vicrodh
432dd828c1
refactor(v2): add native settings/cache/plex command surface
...
cx
2026-02-16 03:28:47 -06:00
vicrodh
fafa98c46a
refactor(v2): remove post-cutoff backend wrapper wave and restore pure v2 surface
...
cx
2026-02-16 03:10:21 -06:00
vicrodh
65632f08d5
refactor(frontend): migrate Library and Offline commands to V2
...
Update frontend to use v2_library_* and v2_get_pending_playlists.
Progress: 138 legacy commands remaining.
2026-02-16 02:52:15 -06:00
vicrodh
8d3627b743
feat(v2): add Library and Offline V2 command wrappers
...
Add V2 wrappers for frequently used commands:
- Library: play_track, get_albums, get_tracks_by_ids, check_folder_accessible,
set_album_hidden, get_scan_progress, clear_artwork_cache,
clear_thumbnails_cache, remove_folder, set_album_artwork
- Offline: get_pending_playlists, playlist_get_all_local_track_counts
2026-02-16 02:49:31 -06:00
vicrodh
e4fe4598d0
refactor(frontend): migrate playlist and settings commands to V2
...
Batch migrate frontend invocations to V2:
- Playlist commands (22 commands)
- Settings/preferences commands
- Cache and audio commands
- API commands (radio, genres, tags, etc.)
Progress: reduced legacy commands from ~228 to ~152
2026-02-16 02:40:50 -06:00
vicrodh
12246ea2ad
feat(v2): add more playlist V2 command wrappers
...
Add V2 wrappers for playlist commands:
- get_settings, get_all_settings
- get_stats, get_all_stats, increment_play_count
- get_favorites, get_local_tracks, get_local_tracks_with_position
- get_custom_order, has_custom_order, get_tracks_with_local_copies
- import_preview, import_execute
2026-02-16 02:28:33 -06:00
vicrodh
1de7c7830e
refactor(frontend): migrate Cast/DLNA/AirPlay commands to V2
...
Update all casting invocations to use v2_* commands:
- castStore: connect, disconnect, play, pause, stop, seek, volume
- CastPicker: device discovery
2026-02-16 02:25:32 -06:00
vicrodh
3ede4e2fc6
refactor(frontend): migrate Plex commands to V2
...
Update all Plex invocations to use v2_plex_* commands:
- SettingsView: auth, ping, cache operations
- LocalLibraryView: albums, tracks, search, hydration
- playerStore/playbackService: play_track
2026-02-16 01:47:33 -06:00
vicrodh
5dbd383bab
feat(v2): add Plex V2 command wrappers
...
Wrap all 18 Plex commands with V2 RuntimeError handling:
- Network: ping, get_music_sections, get_section_tracks, get_track_metadata
- Auth: auth_pin_start, auth_pin_check, open_auth_url
- Cache: get_sections, save_sections, get_tracks, get_albums,
get_album_tracks, search_tracks, save_tracks, update_track_quality,
get_tracks_needing_hydration, clear
- Playback: play_track
Completes the Plex category of V2 migration.
2026-02-16 01:03:45 -06:00
vicrodh
e565b964a5
feat(v2): add Other V2 commands
...
Add V2 commands for miscellaneous categories:
Audio Backends (7):
- v2_get_available_backends, v2_get_devices_for_backend
- v2_get_alsa_plugins, v2_check_alsa_utils_installed
- v2_get_default_device_name, v2_get_linux_distro
- v2_query_dac_capabilities
Audio Diagnostics (3):
- v2_get_hardware_audio_status
- v2_start_bitdepth_capture, v2_stop_bitdepth_capture
Radio (5):
- v2_create_artist_radio, v2_create_track_radio
- v2_refill_radio_queue, v2_get_queue_remaining
- v2_create_infinite_radio
Share (3):
- v2_get_qobuz_track_url/album_url/artist_url
Additional (7):
- v2_is_visualizer_enabled
- v2_get_current_queue_track, v2_peek_next_track
- v2_get_shuffle, v2_get_repeat
- v2_get_current_user_id
- v2_has_saved_credentials, v2_save_credentials
Total 25 new V2 commands.
2026-02-16 01:00:18 -06:00
vicrodh
d39fe148ed
feat(v2): add Cast/DLNA/AirPlay V2 commands
...
Add 39 V2 commands for casting:
Chromecast (14):
- v2_cast_start_discovery, v2_cast_stop_discovery
- v2_cast_get_devices, v2_cast_connect, v2_cast_disconnect
- v2_cast_get_status, v2_cast_get_position
- v2_cast_play_track, v2_cast_play_local_track
- v2_cast_play, v2_cast_pause, v2_cast_stop
- v2_cast_seek, v2_cast_set_volume
DLNA (14):
- v2_dlna_start_discovery, v2_dlna_stop_discovery
- v2_dlna_get_devices, v2_dlna_connect, v2_dlna_disconnect
- v2_dlna_get_status, v2_dlna_get_position
- v2_dlna_play_track, v2_dlna_load_media
- v2_dlna_play, v2_dlna_pause, v2_dlna_stop
- v2_dlna_seek, v2_dlna_set_volume
AirPlay (11):
- v2_airplay_start_discovery, v2_airplay_stop_discovery
- v2_airplay_get_devices, v2_airplay_connect
- v2_airplay_disconnect, v2_airplay_get_status
- v2_airplay_load_media
- v2_airplay_play, v2_airplay_pause, v2_airplay_stop
- v2_airplay_set_volume
All commands wrap existing implementations with RuntimeError.
2026-02-16 00:52:57 -06:00
vicrodh
d269acc709
feat(v2): add playlist custom V2 commands
...
Add 10 V2 commands for playlist customization:
- v2_playlist_set_sort
- v2_playlist_set_artwork
- v2_playlist_add_local_track
- v2_playlist_remove_local_track
- v2_playlist_set_hidden
- v2_playlist_set_favorite
- v2_playlist_reorder (reorder playlists in sidebar)
- v2_playlist_init_custom_order
- v2_playlist_set_custom_order
- v2_playlist_move_track
All commands wrap existing library implementations with
proper type signatures and RuntimeError handling.
2026-02-16 00:50:57 -06:00
vicrodh
a405954846
feat(v2): add V2 commands for cache management (clear cache, artist cache, vector store, offline cache, credentials)
2026-02-16 00:11:21 -06:00
vicrodh
477b032abe
feat(v2): add V2 commands for settings (tray, graphics, window, developer, playback, favorites prefs, visualizer, blacklist, locale)
2026-02-16 00:07:12 -06:00
vicrodh
18e7303aaf
fix: update remaining sync_cached_favorite_tracks to V2
2026-02-15 22:07:51 -06:00
vicrodh
68aec71fdf
fix(v2): migrate favorites cache, session, and context stores to V2 commands
...
- Add v2_save_session_state and v2_load_session_state commands
- Update favoritesStore to use V2 cache commands
- Update albumFavoritesStore to use V2 cache commands
- Update artistFavoritesStore to use V2 cache commands
- Update sessionService to use V2 session commands
- Update playbackContextStore to use V2 context commands
2026-02-15 21:55:15 -06:00