Skip to content

Bug/Feature Request: High latency and crashes on multi-level nested artist folders (Proposed UI/UX change for folder scanning) #305

Description

@tehrzky

Description

There is a severe performance issue when loading and rendering the music library if the user has a highly organized directory structure (e.g., thousands of nested folders organized by Artist > Album > Disc).

When scrolling or loading this section, the application lags heavily, and the UI text animations (specifically the scrolling path/folder names animation) cause the app to freeze and occasionally crash.

Steps to Reproduce

  1. Import a large local music library that utilizes deeply nested folder structures (Artist/Album/Track.mp3 or Artist/Year - Album/CD1/Track.mp3).
  2. Navigate to the Library Management / Folder view.
  3. Observe severe UI lag/stuttering while the path animations attempt to render.
  4. Scroll through the artist list quickly; the application becomes entirely unresponsive or crashes.

Expected Behavior

The library should either handle deeply nested structures smoothly without performance drops, or allow a more efficient scanning method that doesn't overload the UI thread with path animations.

Proposed Solution / Feature Suggestion

Instead of recursively scanning and trying to animate every single subfolder path at once upon opening the library view:

  1. Change the folder detection logic: Let the user explicitly select a parent folder (e.g., /Music).
  2. Implement Lazy Loading: Stop detecting and rendering all subfolders simultaneously. Only scan or display subfolders when a user explicitly clicks to expand an artist's parent directory.
  3. Disable or Optimize Path Animations: Consider removing or simplifying the scrolling path name text animation if it is the primary culprit behind the UI thread blocking and crashes.

Environment

  • App Version: 4.3.1
  • OS: Android 14

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions