github lokal-music/lokal v12.3.0
Release v12.3.0

latest release: v12.3.1
4 hours ago

Release Banner

Merge pull request #631 from lokal-music/release/v12.3.0


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): relaunch after updates and simplify search UI (#630)

    Details

    Fix 1 — Relaunch after desktop updates

    Clicking Restart & install previously closed all Electron windows and scheduled quitAndInstall(false, true) 500 ms later. Lokal's normal window-close handlers called app.quit() first, so Electron could exit without completing installation/relaunch.

    • Call quitAndInstall(false, true) immediately after a completed update download, preserving the NSIS post-install relaunch flag.
    • Suppress the normal window-close quit path during updater-controlled shutdown only; preserve ordinary closing and close-to-tray behavior.
    • Remove redundant window destruction in before-quit, make repeated install clicks idempotent, and report/recover from installer-launch errors.
    • Add scripts/updater-install.test.mjs regression tests for relaunch arguments, lifecycle races, retries, and missing downloads.

    Fix 2 — Clean up desktop Local and Online Search

    Scope is the Search page only, not Library.jsx.

    • Remove redundant Local/Online mode descriptions and verbose empty-search instructions.
    • Remove repetitive Recent, Tracks, Lyrics Matches, Online songs/albums/artists, and provider Online headings, plus per-result catalogue and provider subtitles.
    • Keep search-scope and result-type tabs, provider selection, loading/error/setup notices, result metadata, actionable playback controls, and the Play All action.
    • Avoid rendering empty catalogue result sections now that their headers are gone.

    Validation

    • Electron main-process syntax is covered by scripts/check-electron-syntax.cjs in the existing build workflow.
    • Added runnable regression test node --test scripts/updater-install.test.mjs (not executed locally here).
    • Full packaged NSIS install/relaunch and desktop UI visual checks still require testing on a desktop build. GitHub Actions runs may still be pending.

    Summary by CodeRabbit

    • Bug Fixes
      • Update installation now waits for the download to finish, avoids duplicate installation attempts, and reports installer launch errors. Closing the app during an update no longer interrupts installer-managed shutdown and relaunch.
    • Style
      • Search results no longer show several section headings, scope descriptions, or library-status text. Empty result sections are hidden, and the loading indicator now appears beside the source tabs.

Contributors: @CHEYCKIT

Full Changelog: v12.2.8...v12.3.0


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.3.0-arm64-mac.zip: [0EBA1F4A409FBFBC79E9E6A34ADDDC179575980E7BF2E77B1710753F414C9DFE]
Lokal-12.3.0-arm64-mac.zip.blockmap: [6B94201174D21A5DFFE506E134D47A973CA0F0C798757DAA6EE017966CB50954]
Lokal-12.3.0-arm64.AppImage: [CE3D32EAFC276DFFD77C4A581CB704431656C7343F898E731DC2EBCD22F1784A]
Lokal-12.3.0-arm64.dmg: [D4F851786F0F2F0F55F4DDC097E7B2E094B54AAFAF1595522EBABA2AE5B491D5]
Lokal-12.3.0-arm64.dmg.blockmap: [5417692102A0610E7263BCC70C908EE57456DB5CA7AF6BAE93A8E534A5F9C96C]
Lokal-12.3.0-mac.zip: [0F20E475260097FC4DDB8D356DDD5E5DBB58510D76FDDFEFF1F39A7F2A9122D7]
Lokal-12.3.0-mac.zip.blockmap: [0F02AA4CF4E81C1E811D4CA354555842EC8AB0DE7D1FD99CC624DBD351326750]
Lokal-12.3.0.AppImage: [B67BB85C7CC691658CF2ACBC4644C2BDE690FCC06C3913D7C71FFA38282AD5F4]
Lokal-12.3.0.dmg: [759EB4304BE355A5E722DF6B04F387F29BD046472A636B901508E1EDBD8FB3E3]
Lokal-12.3.0.dmg.blockmap: [C08F78830CAB657A9CE5C9D7F7E2A769B7083229A4D453A164483954C3154B40]
Lokal-12.3.0.exe: [3983E3A930D0D53472D36C02F1FBD7F2EA5B3A0B3CA1FF209BC4C5F02C05DFC1]
Lokal-Setup-12.3.0.exe: [94793FE9D26AED669BFF32FCA24A6EF55FE48B12AAD2E8815236BC8FD7799B1F]
Lokal-Setup-12.3.0.exe.blockmap: [49F772F6E2C32A53E553252283F2A81B7348BFB059B6EA7007D5AD2AEF4A1234]
builder-debug.yml: [FDEFF1A3C31048EEBB971BC4251590DAC8785107FB62AAD28205AADA50CA798B]
latest-linux-arm64.yml: [BD5865CF2C02D964D9EE412E8FB6C5C3375E4125C334D259F11BADFDBE3E8935]
latest-linux.yml: [2A2A6636EE4E6A913C7FB004B9DF5F34ED9A803508116C0C8E3309C135B10A33]
latest-mac.yml: [16273E9D6D86B4C85A64DAFCD5999D996CFAA2A28E0EA272E63C818E5E3CEA30]
latest.yml: [D19F8EF807D178097E99185D821260D32308F41C455BB2CA98E57E40D0388FBF]
lokal-music_12.3.0_amd64.deb: [99FA6958193B7B7B6476CE612C0D2DA2ECE6C520F6E262D82D91EB7A1B700D03]
lokal-music_12.3.0_arm64.deb: [86B650AAD8108E4842EF592FA424157D5BEFC58620E255F52277F35EE1E0B7A2]

Don't miss a new lokal release

NewReleases is sending notifications on new releases.