Commit Graph
13 Commits
Author SHA1 Message Date
vicrodh 38b92bb8d8 chore: update package-lock.json after reinstall 2026-01-31 17:17:23 -06:00
vicrodh 6260b2f66c chore: Bump version to 1.1.6 for release 2026-01-20 22:00:40 -06:00
vicrodh 4748cef7df chore: Bump version to 1.1.6-rc and add ARM64 workflow
- Update version to 1.1.6-rc for release candidate testing
- Add Linux ARM64/aarch64 build workflow
- Uses ubuntu-24.04-arm GitHub runner (free for public repos)
- Builds .deb, .rpm, .AppImage, and AUR tarball for ARM64
- Workflow isolated with continue-on-error to not block x86_64 builds
2026-01-20 16:04:35 -06:00
vicrodh 59cf94e7ca Support adding tracks to pending playlists in offline mode
Backend:
- Add add_tracks_to_pending_playlist method to OfflineStore
- Reads current track lists, appends new tracks, updates DB
- Add corresponding Tauri command and register in lib.rs

Frontend:
- Detect pending playlists by negative ID in handleAddToPlaylist
- Call add_tracks_to_pending_playlist for pending playlists
- Properly separate Qobuz and local tracks before adding
- Fixes error trying to call playlist_add_local_track with negative ID
2026-01-20 10:11:07 -06:00
vicrodh 8565696d41 security: override cookie to 0.7.x
Fixes CVE for out of bounds characters (LOW)
All 7 dependabot alerts now resolved
2026-01-16 13:43:09 -06:00
vicrodh 3025c918f1 security: override esbuild to 0.25.x
Fixes CVE for dev server request vulnerability (MEDIUM)
svelte-i18n requires ^0.19.2, override forces ^0.25.0
2026-01-16 13:09:20 -06:00
vicrodh deeb26dc3f security: update svelte to 5.46.4
Fixes CVE for Cross-site Scripting vulnerability (MEDIUM)
2026-01-16 12:37:33 -06:00
vicrodh c81d03b5b0 security: update @sveltejs/kit to 2.49.5
Fixes:
- CVE for DoS/SSRF in prerendering (HIGH)
- CVE for memory amplification DoS (HIGH)
- Also updates devalue to 5.6.2 (2 HIGH CVEs)
2026-01-16 10:27:01 -06:00
vicrodh 71156e9d0a feat: replace polling with Tauri events and add unit tests
- Backend now emits playback:state events every 250ms when state changes
- PlayerStore uses listen() instead of setInterval for real-time updates
- Added Vitest testing framework with mocked Tauri APIs
- Added 53 unit tests for playerStore and queueStore
2026-01-10 06:14:59 -06:00
vicrodh 145186a06a feat: add casting module scaffolding (disabled)
Import Chromecast, AirPlay, and DLNA casting scaffolding from separate
branches. The module is currently disabled due to:

- Thread safety issues: rust_cast uses Rc internally (not Send)
- API compatibility: rupnp methods have changed

The scaffolding includes:
- Chromecast: mDNS discovery, device connection, media server
- AirPlay: Discovery scaffolding (RAOP playback pending)
- DLNA/UPnP: SSDP discovery scaffolding (playback pending)

To enable casting in the future:
1. Fix rust_cast thread safety (or use spawn_blocking)
2. Update rupnp API calls for current version
3. Add Deserialize derive to metadata types
4. Uncomment cast module in lib.rs
5. Wire up commands in invoke_handler
2026-01-09 17:40:26 -06:00
vicrodh b0a64b9caa feat: add tauri-plugin-dialog for file picker 2026-01-09 13:56:10 -06:00
vicrodh cdfd3263de feat: Convert Figma React UI to Svelte 5
- Add lucide-svelte for icons
- Create app.css with theme CSS variables (Dark, Light, OLED, Warm)
- Convert all React components to Svelte 5 using runes ($state, $derived, $effect, $props)
- Implement core components: Sidebar, NowPlayingBar, NavigationItem, UserCard,
  AlbumCard, HorizontalScrollRow, HeroSection, TrackRow, Toggle, Dropdown,
  Tooltip, VolumeSlider
- Implement view components: HomeView, SettingsView, AlbumDetailView
- Implement overlay components: QueuePanel, FullScreenNowPlaying, FocusMode, Toast
- Create main +page.svelte with routing, state management and keyboard shortcuts
- All components use Svelte 5 snippets for component children patterns
2026-01-09 07:16:46 -06:00
vicrodh ef92897d43 Add i18n support with English and Spanish locales
- Add svelte-i18n dependency
- Create i18n configuration with locale persistence
- Add complete translation files for EN and ES
- Create root layout with theme CSS variables
- Support 4 themes: dark (default), light, oled, warm
- Add global styles and spacing system
2026-01-08 23:39:30 -06:00