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

2 hours ago

Release Banner

Merge pull request #708 from lokal-music/release/v12.7.7


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

  • perf(desktop): smooth fullscreen side lyrics without per-frame layout (#707)

    Details

    Problem

    Opening lyrics to the side in fullscreen previously animated two transition-all duration-500 containers. Chromium recalculated the width of the side panel and cover during the entire animation, reflowing the lyric text/word spans as the artwork moved. This contended with karaoke rendering and caused visible frame drops.

    Changes

    • Keep the lyrics/queue side panel at its final layout width even while closed. Slide/fade it with compositor-friendly transform and opacity; avoid per-frame width changes.
    • Reserve the panel space in one layout update, then apply FLIP via the Web Animations API to smoothly translate the cover stage and scale the cover artwork back from its previous size to the new size.
    • Measure the lyrics gap from untransformed layout offsets, preventing animation frames from feeding back into React width updates.
    • Preserve reduced-motion behavior, panel content, queue/lyrics controls, artwork modes, cover flight, and existing fullscreen exit handling.
    • Update fullscreen appearance regression assertions to prevent reintroducing animated layout dimensions.

    Validation

    Source review and static regression assertions updated. CI/build and actual GPU frame-time measurements are pending. Test on 60/120 Hz Electron hardware with synced long/word-level lyrics, rapid panel toggles, lyrics/no lyrics, queue, reduced motion and fullscreen exit.

    Performance target

    120 FPS on 120 Hz-capable hardware is a target, not a measured guarantee. The transition removes the major per-frame layout invalidations; validate with Chromium Performance trace (target <=8.33 ms frame budget at 120 Hz).

Contributors: @CHEYCKIT

Full Changelog: v12.7.6...v12.7.7


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.7-arm64-mac.zip: [B1B52FC786EAF1F833C3676D1D69FA5D004C26881E3E0D8BCC24B870D4C50A02]
Lokal-12.7.7-arm64-mac.zip.blockmap: [D1A4B48C86CF3B14700EE285A9C440B9628C5471FBB8D12053567E7F56305C15]
Lokal-12.7.7-arm64.AppImage: [A6472DEDA453DE62855FD7B64CFDDD7C763FECF75C0F66FBFC5400B3FAA44A5A]
Lokal-12.7.7-arm64.dmg: [17EFB3CA00443CD6C2ECC27613F59232EF7E3448FD2A908AE3A774F0E557E6C7]
Lokal-12.7.7-arm64.dmg.blockmap: [8E0AC68721F95DFC3D3093426DAF6B048E494EEDEABA6C6742E4CC581F269C1E]
Lokal-12.7.7-mac.zip: [16CAF0816570E3A33B75C68DA8EB4D0AF4F41579F868C9617874E6499ED8A264]
Lokal-12.7.7-mac.zip.blockmap: [BE6ECCD88A84DDF8F83AF5F33D4C14A614E5024702E5F38EF1724DA4B6ACBBBC]
Lokal-12.7.7.AppImage: [0672C29F89E13C86F835CF1FF16549AA871FDBC58E1AD3D1143B78C6A9652DFA]
Lokal-12.7.7.dmg: [B3D8ED2CA61A8D43767A03ABF41CCF6C0BF7167B605F0BC7E99BE12A7C25068B]
Lokal-12.7.7.dmg.blockmap: [E6911DE36CE621708F8503F02681636E867FDB17AA0E08E75FA0738B67BF3AB4]
Lokal-12.7.7.exe: [15923283571E45CC53C8464FA4B5E9F4B076539FF8548FD5C97A604353AC5940]
Lokal-Setup-12.7.7.exe: [517222C70F5EFB64DB001EAB2759F2C6FD0F89B78B3C56094C4E77E83D998496]
Lokal-Setup-12.7.7.exe.blockmap: [343D2CBF801B5CBC1475965D9906F7F60B200E45689A4DFBC5DF320CDEBAB6F0]
builder-debug.yml: [77DB3FF8DA93BDCC1B04E108AED6E1FD0CEDE5A3D2E139E392F003E3A1B22AE9]
latest-linux-arm64.yml: [897614E9F33786056A6D3FEF6F7E2B95CF09D1A8689272EAB414F9663714FCD4]
latest-linux.yml: [1FAA4BD4D150726478AA3D282C526E945A4EDE9E5262B9F0B737AF8E9FA68CCA]
latest-mac.yml: [F18B78ACE348CDC5B70621D91AA266C49BD358E00F5B2400E56617545A71AF3C]
latest.yml: [9AC2D807A72843030209E49300C814E391630A48942CB7C553A50EFE59594B9A]
lokal-music_12.7.7_amd64.deb: [C1ED649ADBB70B24FB9B731D63E4AF03910FD24216C86DAFB6B39FB71FB955FB]
lokal-music_12.7.7_arm64.deb: [1109E473FBC27AE3CFDC1C2C7EAE7D3CAA741EFA60D84B45ED05A3BDA5A5EFC2]

Don't miss a new lokal release

NewReleases is sending notifications on new releases.