Giter Site home page Giter Site logo

Comments (3)

ajgae avatar ajgae commented on May 18, 2024

reopening as a new issue from a discussion on #10993, as suggested by @opusforlife2. Here is the state of my research on the topic so far:

  • the getPlaylists() queries in the RemotePlaylistDAO and local playlist DAO classes seem to be ordered by display index, as expected, which lets me think that the issue is with either merge logic or the updating of display indices, but not with the queries themselves
  • the fact that only autogenerated remote playlists are affected is very strange and confuses me greatly
  • the fact that remote playlists are sorted alphabetically before all other playlists may indicate that they share the same display index
  • this line sets the display index to -1 for all remote playlists by default (which is strange, because newly bookmarked remote playlists do not appear at the top of the bookmarked playlists but at the bottom)
  • the only place in the entire codebase where setDisplayIndex() is called on a PlaylistRemoteEntity is in BookmarkFragment.saveImmediate(), which is called by BookmarkFragment.onPause() (this corresponds with the moment at which the playlists are moved all the way up)
    • in saveImmediate(), debounceSaver.getIsModified() returns false so the function returns immediately. The code which computes and updates the display index for playlists is not executed. it seems that the issue is with the debounceSaver in some way, but i do not understand this part of the application very well

from newpipe.

ajgae avatar ajgae commented on May 18, 2024

you can consider that i working on this btw, I just won't have time in the next couple of days.

Here's a new specificity i observed about the behavior (shown in the video below): the buggy reordering is only triggered when the playlist is loaded. Once it has been loaded, opening it does not trigger the reordering

video_2024-04-30_11-05-52.mp4

from newpipe.

opusforlife2 avatar opusforlife2 commented on May 18, 2024

@ajgae If it's a small bug fix, easy to review, sure. Otherwise it might be postponed for, or after, the rewrite.

from newpipe.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.