github PierrunoYT/Deezy v0.2.10
Deezy v0.2.10

latest releases: v0.2.17, v0.2.16, v0.2.15...
3 months ago

Added

  • Example themes – Added 8 new example themes to the collection: Purple Haze (vibrant purple), Ocean Teal (tropical teal), Crimson Red (bold red), Golden Amber (luxurious gold), Rose Pink (soft pink), Slate Gray (professional gray), Cherry Blossom (delicate pink), and Cyber Neon (futuristic cyan). Total of 11 example themes now available for import

Improved

  • Theme Manager UI – Theme cards now always display description, author, and color palette preview instead of only showing on hover; all theme details are loaded upfront for better browsing experience
  • Theme creation backend – Updated create_example_themes command to include all 11 themes (previously only created 3 of the 11 available themes)

Fixed

  • AES padding panic – Fixed a runtime panic in encrypt_download_url (crypto.rs) that occurred for tracks whose combined URL data exceeded 80 bytes (e.g. track IDs with 10+ digits). The previous code padded to a fixed minimum of 80 chars, leaving the byte array length potentially not a multiple of 16; the AES encryption loop then called GenericArray::clone_from_slice on a short trailing chunk and panicked. The buffer is now padded to the next multiple of 16 (AES block size) regardless of input length
  • Windows file reveal – Fixed show_in_folder on Windows passing /select, and the file path as two separate arguments to explorer.exe. Explorer requires them as a single combined token (/select,<path>); splitting them caused the file to not be highlighted (or the wrong location to open). The argument is now formatted as one string
  • System theme listener leak – Fixed a memory/listener leak in +layout.svelte where the OS prefers-color-scheme change listener was never removed on cleanup. removeEventListener was called with a freshly created anonymous function that had never been registered; the actual handler is now stored as a variable and reused in both addEventListener and removeEventListener
  • Space shortcut fires in textarea – Fixed keyboard shortcut handler in keyboardShortcuts.ts ignoring Space in INPUT fields but not in TEXTAREA or contentEditable elements. Typing a space in a textarea would incorrectly trigger the play-pause shortcut. All keys except Escape are now fully blocked while any text-input element is focused
  • Dead BATCH_NOTIFICATION_THRESHOLD constantnotifications.ts defined BATCH_NOTIFICATION_THRESHOLD = 2 but flushPendingNotifications hard-coded === 1 directly, making the constant a no-op. The condition now uses the constant so the batching threshold is controlled from one place
  • Notification drop below batch threshold – Fixed flushPendingNotifications only sending the first notification when below the batch threshold, silently dropping the rest. All pending notifications below the threshold are now sent individually
  • Theme Manager accessibility – Fixed Svelte a11y warning "noninteractive element cannot have nonnegative tabIndex value" by removing unnecessary tabindex, role, and aria-label from theme card container; interactive buttons inside cards remain properly accessible
  • Theme Manager reset – Fixed "previewTheme is not defined" error when clicking "Reset to Default Theme" button; removed reference to deleted previewTheme variable after refactoring to use themeDetails Map
  • User profile image – Fixed profile image not loading when user has no custom avatar on Deezer; now properly displays fallback avatar icon instead of attempting to load broken CDN URL with all-zero hash

Chores

  • Removed TASKS.md from version control and added it to .gitignore

Don't miss a new Deezy release

NewReleases is sending notifications on new releases.