diff --git a/lib/provider/proxy_playlist/proxy_playlist_provider.dart b/lib/provider/proxy_playlist/proxy_playlist_provider.dart index ca0fb308..77cc297f 100644 --- a/lib/provider/proxy_playlist/proxy_playlist_provider.dart +++ b/lib/provider/proxy_playlist/proxy_playlist_provider.dart @@ -14,6 +14,7 @@ import 'package:spotube/models/local_track.dart'; import 'package:spotube/models/logger.dart'; import 'package:spotube/models/skip_segment.dart'; +import 'package:spotube/models/source_match.dart'; import 'package:spotube/provider/blacklist_provider.dart'; import 'package:spotube/provider/palette_provider.dart'; @@ -448,6 +449,18 @@ class ProxyPlaylistNotifier extends PersistedStateNotifier audioPlayer.currentSource!, makeAppropriateSource(newTrack), ); + + // update cache: first remove track, then add the new source + await SourceMatch.box.delete(state.activeTrack?.id); + await SourceMatch.box.put( + newTrack.id, + SourceMatch( + id: newTrack.id!, + sourceType: SourceType.youtube, + createdAt: DateTime.now(), + sourceId: sibling.id, + ), + ); } }