Fix Control Center metadata sometimes disappearing after item deletion #786
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Description
This PR fixes an issue with Control Center metadata sometimes disappearing after item deletion, e.g. after reshuffling the item after the current one with another down in a playlist, then deleting the current item.
The issue was located in our
ReplaySubject
implementation (similar implementations like CombineExt or Entwine have the same issue). See #785 for an explanation of the issue and how to solve it.Changes made
ReplaySubject
implementation to support in-order value processing in multicast configurations where some subscriber might trigger a new publisher emission on the same thread.ReplaySubject
public (just an oversight).QueuePlayer
-related types into separate files (general improvement).Checklist