Merge pull request #696 from lokal-music/release/v12.7.1
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
-
Issue #387 desktop counterpart: faster remote catalogue pages and file sizes (#695)
Details
Companion to Lokal Mobile's issue #387 follow-up.
- Allow up to 250 records per page on
/api/remote/library/tracksfor explicit desktop→mobile sync rather than capping the phone's 250 request at 50, reducing large-library HTTP round trips. - Add a paired-device-authenticated
GET /api/remote/library/file-size/:trackIdendpoint that asynchronously stats one local audio file and returns only its bytes, not the path or audio. Reject ghost tracks and unauthorized/unpaired devices; no bulk NAS stat pass. - Display file size (decimal MB) as read-only metadata in desktop Edit Track using the existing
api.getTrackFileSizeIPC, with refresh after replacement. - Add regression tests for auth/pagination/metadata wiring in
scripts/issue-387-cross-device-regressions.test.mjs.
Verification: Check Node tests and desktop app build before merge. Mobile file-size lookup requires this endpoint; absent newer desktop the mobile sheet retains Unknown without disrupting playback.
Summary by CodeRabbit
- New Features
- The Edit Track view now displays a track’s file size in megabytes when available.
- Catalogue browsing can show up to 250 tracks at a time, instead of stopping at 50.
- Bug Fixes
- Tracks without an available file size are shown with an unknown size rather than an invalid value.
- Allow up to 250 records per page on
Contributors: @CHEYCKIT
Full Changelog: v12.7.0...v12.7.1
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-12.7.1-arm64-mac.zip:
[D2EC45BED0A30E2ED6C1F31A62B63A920AD54AD18970896EB63F94D3A5F7DE50]
Lokal-12.7.1-arm64-mac.zip.blockmap:[09E402717900DC81F3E34D1A5E8B11A34D80CC8554C16F72042BE913BF616FB4]
Lokal-12.7.1-arm64.AppImage:[48EC8E9E599BF27E875066972C09C44A60010C0770E7ABA24AAA05C907547930]
Lokal-12.7.1-arm64.dmg:[C55C28045F632897731066DED23C240E59BF961B3E9B6D91BF41394719F67775]
Lokal-12.7.1-arm64.dmg.blockmap:[40128B6622FC072EFECB306CFB0B21C611945257370E7A273FE5341EB0E1FCDA]
Lokal-12.7.1-mac.zip:[E89FB3A6C05AF292E514CBC4C760449FC14F7EF900ADB2AC4D6A2BA2CBDCE760]
Lokal-12.7.1-mac.zip.blockmap:[CA83D8C2DC5C6566D84FB8319F559A0A3C3AC946D5FBE5C6A25F78FE1B872364]
Lokal-12.7.1.AppImage:[5E02B4B6E99E8174E992CE53B19974B0724525784FA5321DF1EB4B057B3AEDDD]
Lokal-12.7.1.dmg:[9F8B330F4F4E1506F2C6AA760C1C5D2A5FD3908CA9D80E6D9B1BC2614908FBDE]
Lokal-12.7.1.dmg.blockmap:[D0109D44E3440BD8E1A7850257E5AFBB8D11BDD072ABE820DF6E940FF604D5AC]
Lokal-12.7.1.exe:[24DE84654AB5BDB155E5FD8E7BA709DA0A6DA4E10280B3BC094D6E93A8E2769A]
Lokal-Setup-12.7.1.exe:[3E40633EEF1545C73A49888F1D2F93957F3A8EC38756C35290583CD5AA31CDA2]
Lokal-Setup-12.7.1.exe.blockmap:[0FA8A68288D39A5989273ED408FE9F056A7F9A496C8476B7B18B551F54666770]
builder-debug.yml:[7BBC363E99ABEE51AF79388960079867D1FC7C231E28580677F9CAB646875E5C]
latest-linux-arm64.yml:[6F628DF717F6E18745FED079D98F101EF086DA7F026CEF8B472BF4D83778EC32]
latest-linux.yml:[79ED9AF33FD0399C3866ABDF72877B28A5D9AEB47311580BB539BB0F35ADCB63]
latest-mac.yml:[4B64E93FD41D50AE99BCE7CE42D41BEA727BF16B4476C7CFFDED0BF571A35912]
latest.yml:[25576C04F763D8C75E52959021E37F1241E99AC7C37A30F036AA2157FCB789E4]
lokal-music_12.7.1_amd64.deb:[9FFF4B3B5C6C560D6176E666A72D4CB82CD6ED8095A9AB16E894ECE958BD3316]
lokal-music_12.7.1_arm64.deb:[29C1745FC12C9D70F11F3DFEF084DE92D2D4492C261FB7D90DDDCE73A3999CA8]
