Skip to content

Refactor internal Progress/busy Reporting #12336

@dev-victoria

Description

@dev-victoria

Checklist

  • I made sure that there are no existing issues - open or closed - which I could contribute my information to.
  • I have read the FAQ and my problem isn't listed.
  • I'm aware that this is a request for NewPipe itself and that requests for adding a new service need to be made at NewPipeExtractor.
  • I have taken the time to fill in all the required details. I understand that the feature request will be dismissed otherwise.
  • This issue contains only one feature request.
  • I have read and understood the contribution guidelines.

Feature description

current behavior

  • one global feed State
    • only shown on Feed Tabs (and the Device notifications) tho
  • very similar Events
  • Event states
    • IDLE
    • Progress
    • Success
    • Error
  • The concept only applies to Feed update
  • The concept only knows the one (Main)Feed, no regard for groupId
  • Every Feed shows the progress of the one current update progress, despite being initiated from a diffrent Feed

desired behavior

  • still global e.g The Main Page should be able to recognize that some work is being done
    • should not be tied to a certain type of tab e.g. blank tab could know of updates being processed
  • Add Cancel state/event so future features would be able to cancel a job and report that to the GUI
  • Other work should be able to be plugged into the Reporting system in the future(maybe kiosk data, downloads, etc.) -> maybe enum of types of progress
  • append an identifier as a sub category -> for FeedUpdating that would be the groupId, allowing for a certain group feed to only react to progress intended for it.

Why do you want this feature?

Required for future-proof GUI / Process change

  1. I have multiple feedGroups to update.
  2. I have >100 subscriptions to update at a time
  3. There's plans or is even potentially required to update subscriptions more asynchronously in the future as to not be blocked by the services
  4. I want my UX eventually to be less blocked by updating jobs
  5. I ideally want to see a global indicator of work being done in the background
  6. I only want to see feed progress on the specific feed it applies to
  7. I intend on future ability to cancel a certain job by either User request or by process logic

Additional information

I was & am tinkering with it from my interest in the FeedGroups.
I think it is a refactoring topic. Throwing it out here for people to consider if they might already work on refactoring in this area or are faster than me.

Open for discussion, suggestions and comments.

Metadata

Metadata

Assignees

No one assigned

    Labels

    code qualityImprovements to the codebase to improve the code qualitydiscussionThis needs to be discussed before anything is donefeature requestIssue is related to a feature in the appfeedIssue is related to the feed

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions