Changelog
Windows builds: free code signing provided by SignPath.io, certificate by SignPath Foundation (code signing policy).
FYI:
Lokal is 100% local; the library, history, anything in database, or any info that is used for API's such as yt-dlp, LRCLIB, is NOT seen by us.
What's Changed
-
Phone Remote in Popup (#372)
-
Add library browsing to Phone Remote- #203 (#374)
Details
User description
What changed
- Add searchable Tracks, Albums, Artists, Playlists and Liked Songs views to
/remote. - Add album, artist and playlist drill-down with track playback, Play Next and Queue actions.
- Keep a compact previous/play-pause/next bar pinned to the bottom while browsing.
- Add token-protected
/api/remote/library/*endpoints and scope liked songs/playlists to the active desktop user. - Resolve selected track IDs in the desktop app instead of exposing local file paths to the phone.
Implementation
- Existing playback controls, lyrics, seek, volume and
REMOTE_TOKENprompt remain in place. - Queue, play-next and play-collection actions use the existing player queue APIs, with batched track resolution for SQLite compatibility.
Validation
- JavaScript syntax parsing passed for the remote page's inline script, the remote API router and the scanner IPC module.
- No pull-request CI run is reporting for this commit. Runtime Electron browsing, playback and phone pairing have not yet been tested.
CodeAnt-AI Description
Browse your music and manage playback from the Phone Remote
What Changed
- Search tracks, albums, artists, playlists, and liked songs, then open collections to browse their tracks.
- Play tracks or add them to play next or the queue, including from collection views.
- Keep previous, play/pause, and next controls available in a dock while browsing.
- Show liked songs and playlists for the active desktop user.
Impact
✅ Find albums and artists from your phone
✅ Queue tracks without interrupting current playback
✅ Keep playback controls available while browsing💡 Usage Guide
Checking Your Pull Request
Every time you make a pull request, our system automatically looks through it. We check for security issues, mistakes in how you're setting up your infrastructure, and common code problems. We do this to make sure your changes are solid and won't cause any trouble later.
Talking to CodeAnt AI
Got a question or need a hand with something in your pull request? You can easily get in touch with CodeAnt AI right here. Just type the following in a comment on your pull request, and replace "Your question here" with whatever you want to ask:
@codeant-ai ask: Your question hereThis lets you have a chat with CodeAnt AI about your pull request, making it easier to understand and improve your code.
Example
@codeant-ai ask: Can you suggest a safer alternative to storing this secret?Preserve Org Learnings with CodeAnt
You can record team preferences so CodeAnt AI applies them in future reviews. Reply directly to the specific CodeAnt AI suggestion (in the same thread) and replace "Your feedback here" with your input:
@codeant-ai: Your feedback hereThis helps CodeAnt AI learn and adapt to your team's coding style and standards.
Example
@codeant-ai: Do not flag unused imports.Retrigger review
Ask CodeAnt AI to review the PR again, by typing:
@codeant-ai: reviewCheck Your Repository Health
To analyze the health of your code repository, visit our dashboard at https://app.codeant.ai. This tool helps you identify potential issues and areas for improvement in your codebase, ensuring your repository maintains high standards of code health.
Summary by CodeRabbit
- New Features
- Added a remote music library with searchable Tracks, Albums, Artists, Playlists, and Liked views, plus collection details and pagination.
- Added controls to play tracks or collections, queue tracks next, or add them to the queue.
- Added a mini-player with current-track information and previous, play/pause, and next controls.
- Library content refreshes when the signed-in account changes.
- Add searchable Tracks, Albums, Artists, Playlists and Liked Songs views to
Full Changelog: v8.7.1...v8.7.2
Setup
See README.md for full setup instructions.
macOS: this build is ad-hoc signed, not notarized (no Developer ID certificate is configured). The first time, right-click Lokal in Applications and choose Open, or run xattr -dr com.apple.quarantine /Applications/Lokal.app.
Binary Checksums (SHA-256)
Lokal-8.7.2-arm64-mac.zip:
[DAE7D728AF953F2D5AA98D3719B4CAAA9ADDA2FE6E98670A1B51E194CB879E40]
Lokal-8.7.2-arm64-mac.zip.blockmap:[01466348C5C8B5E9E4621D017CC6CE73D80CF51E4110A47DDF5CA886BC34CC0B]
Lokal-8.7.2-arm64.AppImage:[E72BE99104F9A4E469A6DA01A1B3E7830146CB90B155B80AC3FB935070281D75]
Lokal-8.7.2-arm64.dmg:[9CB0E54F9D0959FC5552016781ADD523724FB278D3C1D49AD24858DED0482C02]
Lokal-8.7.2-arm64.dmg.blockmap:[A480D963BC2914F7CA77158F92AB7B7FA7907397FAEC6D5E970A1AA39EF50E73]
Lokal-8.7.2-mac.zip:[46AFDC55E789530D58D56E63C7F873724F6B02AC33569D1DAD6A6C8E313E819A]
Lokal-8.7.2-mac.zip.blockmap:[C7447FA6111B6D24EF69712A976470D5D5B079390B64537029A19D605B92B5BB]
Lokal-8.7.2.AppImage:[62F4C5ABFF4FADEDE7FEDDD74FCCE5DF1349BEC1C8E27A9CE18C8F0182CD5480]
Lokal-8.7.2.dmg:[DDAAAAD2E31D41702DE1850DEEBB3B13D66E52BE435932EA12C60BEFFA94DDC5]
Lokal-8.7.2.dmg.blockmap:[793B265A209816AD7C47534AE1DB7AB6380F907D4BFB477E73B1F5F94445FB3A]
Lokal-8.7.2.exe:[4311BEF85434ADB4E8960B7DD2D1FD2B0E6B5CFCBF6350FC8C09076C37830597]
Lokal-Setup-8.7.2.exe:[53204D73CB94DE3BA02254A1D3802A05E1CB4301FF09B973B03473865ACEA40E]
Lokal-Setup-8.7.2.exe.blockmap:[DB7FC1057D29CF40B8B0ED2094E9DD1771EC2CF503E2A30B38BD299CDC482D26]
builder-debug.yml:[24D1B53C4B39C16252A17C456E3B932CB0BF64FCF470C68CF7ABC30B427313FF]
latest-linux-arm64.yml:[BACF0F35D540A32191226FE2B95941C2395FEDC10492EB8AAB37BC4165BF6D58]
latest-linux.yml:[88B7FCB76419EE4017831E3C7CBEA78B517C9571B44A99B6F790688AB1EB06F4]
latest-mac.yml:[1D0351942C742AB0041B3833C70EA67EA07E51428BA0641F68CBAABB2D681D5F]
latest.yml:[0E4380725C167571F6B90AFE59691EF13A3D50BC532A8F6746AD01211BD1912C]
lokal-music_8.7.2_amd64.deb:[FFA7F91DB2A900CFC5533D49F1843E5C86DFF714F2AE507A5EDA8BC43C122661]
lokal-music_8.7.2_arm64.deb:[7A95C1F05FACC49209E1F7B1EDB3B96E6DC5F3A1FEEA8CC17898C77749632A1B]
