github lokal-music/desktop v14.1.3
Release v14.1.3

latest release: v14.1.4
2 hours ago

Release Banner

Merge pull request #739 from lokal-music/release/v14.1.3


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

  • Fix desktop Addons settings renderer crash (installKey undefined) (#737)

    Details

    Root cause

    AddonsSettings references installKey and setInstallKey in the HTTP add-on installation form, but the state hook was accidentally declared inside the unrelated RepositoryBrowser component. React renders the parent with an unbound variable, throwing ReferenceError: installKey is not defined and replacing the desktop UI with its renderer error screen.

    Fix

    • Move the signing-key state hook from RepositoryBrowser into AddonsSettings.
    • Keep HMAC signing-key configuration scoped to individual HTTP add-on installation and preserve the existing install/reset behavior.
    • Add a regression test checking the state hook's ownership, input binding, installation forwarding, and reset.

    Verification

    • Checked updated source on the branch: one installKey state hook inside AddonsSettings, none in RepositoryBrowser; the form, installation API call, and reset reference that same hook.
    • Added scripts/addons-settings-install-key.test.mjs (node --test scripts/addons-settings-install-key.test.mjs). The full Electron build and GUI smoke test have not been run here.

    Fixes the renderer exception shown when opening Settings → Addons.

  • fix(desktop): keep lyric focus until the final lead or backing vocal finishes (#738)

    Details

    Reproduced on user FLAC

    The Pump It FLAC has full LOKAL_LYRICS JSON with independent vocal windows. At 36.711 s the next lead starts before the preceding backing stops at 36.739 s. Desktop already reads LOKAL_LYRICS and highlights backing correctly, but LyricsPanel focuses the newest start (with lead-ahead), causing the backing to jump into the next row.

    Fix

    • Add focusRowUntilVocalsFinish to the shared lyrics timing math.
    • Keep earlier lead focused until the later end of its lead words and attached backing words, including when the next lyric timestamp has passed.
    • Use this in the actual Desktop LyricsPanel renderer, preserving ordinary next-start behavior for line-only LRC with no known end.
    • Add reproducible tests using anonymized real timing from Pump It and include them in the existing lyric/LastWave PR CI workflow.

    Validation

    Automated tests added; verify latest CI and visually test original file.

    Summary by CodeRabbit

    • Bug Fixes
      • Synced lyrics now keep the current line focused until its lead or backing vocals finish, rather than advancing too early.
      • Focus remains consistent when seeking through tracks. Lyrics with only line-level timestamps retain their existing focus behavior.

Contributors: @CHEYCKIT

Full Changelog: v14.1.2...v14.1.3


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-14.1.3-arm64-mac.zip: [14B050807ACF9949F8574E513540D5C1E8791105C4E9A25CDEBE102662CA0EF0]
Lokal-14.1.3-arm64-mac.zip.blockmap: [136F0AEF77D9850E3BCA11E9816A64C4AB1D6190D74CF0566F68412995E87930]
Lokal-14.1.3-arm64.AppImage: [287EF1F71D52134FAE2F8494C593A6E4EF6EE69F444DDBA330B0EB4171136C53]
Lokal-14.1.3-arm64.dmg: [05AB191A5588FD66E9F8740AD285FD0935770D16544A8869203B4938932E72C1]
Lokal-14.1.3-arm64.dmg.blockmap: [D31B626C1419BE7B322640F07F9BA9FC5EC60D08207677A469DE6937B38DB992]
Lokal-14.1.3-mac.zip: [3C7D5A01B39E733C96943A9649B90ABAB06F43F00BF20CD8B8E88BE8F58CE230]
Lokal-14.1.3-mac.zip.blockmap: [A7D2503EFD50AD718DF2427C5AA0B81DD465CF0779969E7041F3E8C5FAA0DE35]
Lokal-14.1.3.AppImage: [8247038A2D0317FC8E2946FA4FFD2ED8E75087335C636F4ACCD001EF0D8A43DE]
Lokal-14.1.3.dmg: [532034D56BB40F98AB69BA7F8E9A9EBE4417161FD407A5619A0C33302E5A5A12]
Lokal-14.1.3.dmg.blockmap: [80B0FEF90592081610BAA1D55772852A808FFBA0953A66BDD4EB5550BE17F511]
Lokal-14.1.3.exe: [88B54A2B11906BEE0F879AE255EF67EC8C6F8E965821E6B7DE022D269E2642EB]
Lokal-Setup-14.1.3.exe: [DAE2C46A806305BBBAC8ED9FB1641870FFF1D6BE695893D3929503C8F71D3DE3]
Lokal-Setup-14.1.3.exe.blockmap: [DD18A792FEFA6B90CE7B9802379DB3470AFDA5297538E9A67843AA22E952B9DF]
builder-debug.yml: [3140A5F47524418C8DD5FEB7003E530CF87E5C0224504AEC6297B8A003293DFC]
latest-linux-arm64.yml: [29BD61F856E31A5D59EB268141EC35C61E49FC987E0934BAA2EE4AD57157A2FE]
latest-linux.yml: [7823B0FDF2BF9CADE59204BD6C1E8A6F8D0C7450EE52C12C92FAA8937957D57C]
latest-mac.yml: [5E018BA63F73320B5D20CEE307BF4F638E85147B8F3DABF484367FC7CFAF225A]
latest.yml: [36EC8A7B2D5D87FA6E39062215CA37FFB7772B62AC9500EEFBF153D93522C69E]
lokal-music_14.1.3_amd64.deb: [E036DE49E296D490066B09D353CE474BECA988B2C1BC16AB21EB6B6C8DB73105]
lokal-music_14.1.3_arm64.deb: [49C2443151E3699E1C3C577967DAA89C4683863BCAF40877B9006682035E0490]

Don't miss a new desktop release

NewReleases is sending notifications on new releases.