Skip to content

YouLyPlus Release v3.2.0 - Huge Improvement

Choose a tag to compare

@ibratabian17 ibratabian17 released this 15 Oct 11:24
· 122 commits to main since this release

YouLyPlus Release v3.2.0

🚀 New Features

  • ✨ Tidal Integration (Experimental) (v3 extension only)
    Lyrics+ now runs natively on Tidal Web Player, complete with synced lyrics, custom panel, and tab switching.

    • Injects a dedicated Lyrics+ tab inside Tidal’s UI.

    • Hides Tidal’s built-in lyrics to avoid duplication.

    • Smooth tab-switch animation and consistent styling.

    • Accurate song detection and tracking, even during quick skips.

  • 💾 Local Lyrics Management
    Users can now upload, store, and manage their own lyrics directly inside the extension.

    • Upload .lrc / .elrc / .json (Kpoe Format) lyrics.

    • View, delete, and reuse stored lyrics anytime.

    • Local lyrics automatically take priority over online APIs.

  • 🪶 Lightweight Mode
    A new performance-friendly renderer mode that disables heavy visual effects like syllable animations and transformations.
    Perfect for low-end devices or users who prefer a cleaner, simpler look.

  • 📖 Larger Text Mode
    Choose whether lyrics or romanization appear larger when both are displayed together for improved readability.


⚙️ Enhancements

  • Improved Lyrics Fetching Logic

    • Lyrics, translation, and romanization now fetched concurrently.

    • New helper functions:

      • combineLyricsData() — merges multi-layer lyrics correctly.

      • determineFinalDisplayMode() — picks the right mode based on available data.

    • More robust error handling; one failed fetch no longer blocks others.

  • Better Settings Feedback

    • Added status messages for save, upload, and delete actions in all settings tabs.

    • Clearer inline UI feedback = no more silent actions.

  • Romanization Improvements

    • Enhanced Gemini prompt for better chunking and proportional syllable output.

    • Support for backend-provided romanization to skip redundant API calls.

  • Refined Lyric Animation & Spacing

    • Pre-highlight duration increased by 10% for smoother wipe transitions.

    • Trimmed syllable text before width calculation to improve timing precision.

    • white-space handling adjusted to maintain proper word spacing.

    • transform animation duration increased to 1s with softer translateY motion (−3.5%).

  • Text Rendering Improvements

    • Switched lyric text layout to white-space: pre-wrap; and overflow-wrap: break-word;.

    • New font: Roboto replaces YouTube Sans (rip 🪦).


🧹 Refactors

  • Modular Codebase Structure

    • Core modules (lyrics, settings, YT Music) moved under src/modules/.

    • Dedicated folders for each platform (ytmusic/, tidal/) to ease future integrations.

  • Background API Handling

    • SponsorBlock API calls moved to background scripts for stability and Gecko compatibility.

  • Unified Lyrics Parsing

    • Consolidated LRC and ELRC parsers into a single, smarter parseSyncedLyrics engine.

  • Simplified CSS and Theme Overrides

    • All lyrics-related CSS variables editable from one place.

    • Added compatibility layer for users with ThemeSong Extension.


🛠 Fixes

  • YT Music Fullscreen Gap Lines

    • Prevented gap lines from fading out or disappearing during fullscreen mode.

  • Debounce & State Tracking Bugs

    • Fixed re-render issues when switching between translation/romanization modes.

    • Proper tracking between currentDisplayMode (user intent) and lastProcessedDisplayMode (rendered mode).

  • RTL Language Display

    • Improved text alignment and directionality for Arabic, Hebrew, and other RTL scripts.

  • Song Detection Stability (Tidal)

    • Added debouncing and pending state logic for accurate song change detection.

  • Custom CSS Loading

    • Reimplemented missing _injectCustomCSS() method so user styles apply correctly.

  • IgnoreSponsorBlock Fix

    • Fixed config flag being ignored when defined.


🧠 Developer Notes

  • Optimized Lyrics Highlighting Loop
    Rewrote update cycles to minimize DOM thrashing and improve scroll smoothness.

  • Better Cleanup
    cleanupLyrics() now cancels all timers, observers, and animations properly to avoid memory leaks.

  • Dynamic Wipe Animation for RTL
    Fixed offset bugs and visual glitches for right-to-left text transitions.


📦 Build Packages

Package Compatibility Notes
youlyplus-3.2.0-chrome-firefox.zip Chrome & Firefox Stable WebExtension build
youlyplus-3.2.0-chrome-edge.zip Chrome & Edge Manifest v3 compliant, Edge compatible
youlyplus-3.2.0-generic-v2.zip Older Browser Legacy-compatible fallback build

Full Changelog:
🔗 release-3.1.5...release-3.2.0