LeetCode панел за филтрирање и скривање задатака

Додаје филтере и картицу напретка.

These are versions of this script where the code was updated. Show all versions.

  • v1.4 15. 04. 2026

    # 📌 Changelog — LeetCode Problem Hider & Filter Panel (v1.3)

    ## 🚀 Performance Improvements
    - Optimized row scanning to reduce unnecessary DOM operations
    - Reduced repeated selector queries for better runtime speed
    - Improved MutationObserver efficiency to only process added nodes
    - Minimized redundant class toggling to prevent layout reflows
    - Smarter progress update logic with reduced UI redraws

    ## 📊 Progress Circle Fixes
    - Fixed progress circle calculation to correctly reflect `solved / total`
    - Improved stroke rendering using consistent circumference math
    - Ensured circle starts at top using proper rotation transform
    - Fixed incorrect or drifting progress visualization issues

    ## 🧠 Stability Improvements
    - Added safer initialization checks to prevent duplicate execution
    - Improved sidebar detection for dynamic LeetCode SPA rendering
    - Prevented race conditions when UI loads before DOM elements exist
    - More reliable MutationObserver initialization flow

    ## 🎛 UI Enhancements
    - Increased progress circle size for better visibility
    - Improved spacing and layout consistency in sidebar panel
    - Cleaner button rendering logic with fewer DOM writes
    - Better visual feedback for active filter states

    ## 🔒 Behavior Fixes
    - Prevents disabling all difficulty filters at once
    - Ensures filter state is always recoverable
    - Improved handling of missing or partially loaded LeetCode UI elements

    ## ⚡ Overall
    - Faster startup on page load
    - More stable across LeetCode SPA navigation
    - Lower CPU usage during problem list updates
    - More accurate progress tracking display

    ---

    ## 📝 Notes
    This update focuses on:
    - Performance optimization
    - UI stability improvements
    - Fixing progress visualization accuracy
    - Making the script more reliable on dynamic page loads

  • v1.3.1 15. 04. 2026

    Update the circle to match the completed Problems and to be a bit larger.

  • v1.3 15. 04. 2026

    📌 Changelog — LeetCode Problem Hider & Filter Panel

    🚀 Version 1.3

    This update is mostly about fixing edge cases and making the script behave more reliably on LeetCode’s constantly changing UI. No new features were added — just polishing, stability improvements, and bug fixes.


    🧠 Settings handling

    • Improved how settings are loaded from localStorage
    • Script now safely falls back to defaults if stored data is missing or broken
    • Prevents crashes caused by invalid JSON or partially saved settings
    • Ensures updates between versions don’t wipe or break user preferences

    🎨 Style loading

    • CSS is now injected directly into document.head
    • More consistent styling on first load
    • Fixes rare cases where styles didn’t apply when the page loaded slowly or partially

    ⚡ Sidebar reliability

    • Improved detection of the sidebar container (#sidebarWidthContainer)
    • Script retries more reliably until the sidebar is available
    • Panel now appears more consistently on refresh and SPA navigation

    🔁 Filtering improvements

    • Better handling of dynamically loaded rows (infinite scroll / SPA updates)
    • MutationObserver logic is more stable and less likely to miss new content
    • Filters now apply more consistently when LeetCode updates the DOM in chunks

    📊 Progress card fixes

    • More reliable parsing of progress text (solved / total)
    • Handles cases where the progress element hasn’t loaded yet
    • Prevents broken states like NaN or empty values
    • Progress circle animation is smoother and less likely to flicker

    🧹 Cleanup

    • Removed some redundant DOM checks
    • Simplified initialization flow slightly
    • Improved readability and consistency of row scanning logic

    🐛 Bug fixes

    • Fixed sidebar occasionally not appearing on fast navigation
    • Fixed some cases where newly loaded problems weren’t being filtered
    • Fixed progress card flickering on initial load
    • Fixed inconsistent difficulty detection in rare layouts

    📌 Notes

    • No external APIs are used
    • Everything runs locally in the browser
    • Works entirely by reading and modifying the existing LeetCode page
  • v1.2 14. 04. 2026

    v1.2
    Expanded internationalization support (added 30+ language translations for metadata)
    Improved localization consistency across @name and @description
    Standardized wording across all supported languages
    Minor correction of several translations for accuracy and readability

  • v1.1 14. 04. 2026

    Changed License From All Rights Reserved to GPL v3

  • v1.0 14. 04. 2026