-
-
Notifications
You must be signed in to change notification settings - Fork 2k
Description
Is there an existing issue for this? (Please read the description)
- I have searched the existing issues
Current Behavior
It makes an error.
Expected Behavior
?
Steps to reproduce
No response
Logs
new List.of (dart:core-patch/array_patch.dart:39)
#8 SetBase.toList (dart:collection/set.dart:119)
#9 NewPipeExtractor.search (package:flutter_new_pipe_extractor/flutter_new_pipe_extractor.dart:45)
#10 NewPipeEngine.searchVideos (package:spotube/services/youtube_engine/newpipe_engine.dart:101)
#11 MetadataPlugin.create.. (package:spotube/services/metadata/metadata.dart:87)
#12 StreamBinding.hFetch.. (package:hetu_std/stream/stream.binding.dart:84)
#13 MetadataPluginAudioSourceEndpoint.matches (package:spotube/services/metadata/endpoints/audio_source.dart:24)
#14 SourcedTrack.fetchSiblings (package:spotube/services/sourced_track/sourced_track.dart:166)
#15 SourcedTrack.fetchFromTrack (package:spotube/services/sourced_track/sourced_track.dart:62)
#16 FutureHandlerProviderElementMixin.handleFuture.. (package:riverpod/src/async_notifier/base.dart:355)
[2026-01-13 17:35:26.973776]---------------------
DioException [bad response]: This exception was thrown because the response has a status code of 400 and RequestOptions.validateStatus was configured to throw for this status code.
The status code of 400 has the following meaning: "Client error - the request contains bad syntax or cannot be fulfilled"
Read more about status codes at https://developer.mozilla.org/en-US/docs/Web/HTTP/Status
In order to resolve this exception you typically have either to verify and fix your request code or you have to fix the server code.
#0 DioMixin.fetch (package:dio/src/dio_mixin.dart:523)
#1 HttpClient.request (package:hetu_std/http/http.dart:146)
#2 HttpClient.get (package:hetu_std/http/http.dart:175)
#3 StreamBinding.hFetch.. (package:hetu_std/stream/stream.binding.dart:84)
#4 MetadataPluginUserEndpoint.savedTracks (package:spotube/services/metadata/endpoints/user.dart:25)
#5 MetadataPluginSavedTracksNotifier.fetch (package:spotube/provider/metadata_plugin/library/tracks.dart:13)
#6 MetadataPluginSavedTracksNotifier.build (package:spotube/provider/metadata_plugin/library/tracks.dart:26)
#7 FutureHandlerProviderElementMixin.handleFuture.. (package:riverpod/src/async_notifier/base.dart:355)
[2026-01-13 17:35:28.712788]---------------------
File: /home/krtirtho/dev/spotube-plugin-musicbrainz-listenbrainz/src/segments/playlist.ht
Line: 171, Column: 60
Runtime error: undefined
Message: Undefined identifier [then].
#0 HTInterpreter.processError (package:hetu_script/interpreter/interpreter.dart:303)
#1 HTInstance.invoke (package:hetu_script/value/instance/instance.dart:303)
#2 MetadataPluginPlaylistEndpoint.removeTracks (package:spotube/services/metadata/endpoints/playlist.dart:106)
#3 MetadataPluginSavedPlaylistsNotifier.removeTracks (package:spotube/provider/metadata_plugin/library/playlists.dart:116)
[2026-01-13 17:35:41.208739]---------------------
DioException [bad response]: This exception was thrown because the response has a status code of 400 and RequestOptions.validateStatus was configured to throw for this status code.
The status code of 400 has the following meaning: "Client error - the request contains bad syntax or cannot be fulfilled"
Read more about status codes at https://developer.mozilla.org/en-US/docs/Web/HTTP/Status
In order to resolve this exception you typically have either to verify and fix your request code or you have to fix the server code.
#0 DioMixin.fetch (package:dio/src/dio_mixin.dart:523)
#1 HttpClient.request (package:hetu_std/http/http.dart:146)
#2 HttpClient.get (package:hetu_std/http/http.dart:175)
#3 StreamBinding.hFetch.. (package:hetu_std/stream/stream.binding.dart:84)
#4 MetadataPluginUserEndpoint.savedTracks (package:spotube/services/metadata/endpoints/user.dart:25)
#5 MetadataPluginSavedTracksNotifier.fetch (package:spotube/provider/metadata_plugin/library/tracks.dart:13)
#6 MetadataPluginSavedTracksNotifier.build (package:spotube/provider/metadata_plugin/library/tracks.dart:26)
#7 FutureHandlerProviderElementMixin.handleFuture.. (package:riverpod/src/async_notifier/base.dart:355)
[2026-01-13 17:44:37.642746]---------------------
type 'Null' is not a subtype of type 'String' in type cast
#0 _$VideoSearchResultItemFromJson (package:flutter_new_pipe_extractor/src/models/models.g.dart:119)
#1 new VideoSearchResultItem.fromJson (package:flutter_new_pipe_extractor/src/models/search.dart:103)
#2 NewPipeExtractor.search. (package:flutter_new_pipe_extractor/flutter_new_pipe_extractor.dart:38)
#3 MappedIterable.elementAt (dart:_internal/iterable.dart:402)
#4 ListIterator.moveNext (dart:_internal/iterable.dart:371)
#5 new _GrowableList._ofEfficientLengthIterable (dart:core-patch/growable_array.dart:194)
#6 new _GrowableList.of (dart:core-patch/growable_array.dart:154)
#7 new List.of (dart:core-patch/array_patch.dart:39)
#8 SetBase.toList (dart:collection/set.dart:119)
#9 NewPipeExtractor.search (package:flutter_new_pipe_extractor/flutter_new_pipe_extractor.dart:45)
#10 NewPipeEngine.searchVideos (package:spotube/services/youtube_engine/newpipe_engine.dart:101)
#11 MetadataPlugin.create.. (package:spotube/services/metadata/metadata.dart:87)
#12 StreamBinding.hFetch.. (package:hetu_std/stream/stream.binding.dart:84)
#13 MetadataPluginAudioSourceEndpoint.matches (package:spotube/services/metadata/endpoints/audio_source.dart:24)
#14 SourcedTrack.fetchSiblings (package:spotube/services/sourced_track/sourced_track.dart:166)
#15 SourcedTrack.fetchFromTrack (package:spotube/services/sourced_track/sourced_track.dart:62)
#16 FutureHandlerProviderElementMixin.handleFuture.. (package:riverpod/src/async_notifier/base.dart:355)
[2026-01-13 17:45:10.950051]---------------------
type 'Null' is not a subtype of type 'String' in type cast
#0 _$VideoSearchResultItemFromJson (package:flutter_new_pipe_extractor/src/models/models.g.dart:119)
#1 new VideoSearchResultItem.fromJson (package:flutter_new_pipe_extractor/src/models/search.dart:103)
#2 NewPipeExtractor.search. (package:flutter_new_pipe_extractor/flutter_new_pipe_extractor.dart:38)
#3 MappedIterable.elementAt (dart:_internal/iterable.dart:402)
#4 ListIterator.moveNext (dart:_internal/iterable.dart:371)
#5 new _GrowableList._ofEfficientLengthIterable (dart:core-patch/growable_array.dart:194)
#6 new _GrowableList.of (dart:core-patch/growable_array.dart:154)
#7 new List.of (dart:core-patch/array_patch.dart:39)
#8 SetBase.toList (dart:collection/set.dart:119)
#9 NewPipeExtractor.search (package:flutter_new_pipe_extractor/flutter_new_pipe_extractor.dart:45)
#10 NewPipeEngine.searchVideos (package:spotube/services/youtube_engine/newpipe_engine.dart:101)
#11 MetadataPlugin.create.. (package:spotube/services/metadata/metadata.dart:87)
#12 StreamBinding.hFetch.. (package:hetu_std/stream/stream.binding.dart:84)
#13 MetadataPluginAudioSourceEndpoint.matches (package:spotube/services/metadata/endpoints/audio_source.dart:24)
#14 SourcedTrack.fetchSiblings (package:spotube/services/sourced_track/sourced_track.dart:166)
#15 SourcedTrack.fetchFromTrack (package:spotube/services/sourced_track/sourced_track.dart:62)
#16 FutureHandlerProviderElementMixin.handleFuture.. (package:riverpod/src/async_notifier/base.dart:355)
[2026-01-13 17:45:10.960110]---------------------
Failed to open http://0.0.0.0:6110/stream/51b0a68a-f67f-4c4a-a0f8-4cb1f13c6704.
#0 new AudioPlayerInterface. (package:spotube/services/audio_player/audio_player.dart:56)
#1 _rootRunUnary (dart:async/zone.dart:1538)
#2 _CustomZone.runUnary (dart:async/zone.dart:1429)
#3 _CustomZone.runUnaryGuarded (dart:async/zone.dart:1329)
#4 _BufferingStreamSubscription._sendData (dart:async/stream_impl.dart:381)
#5 _DelayedData.perform (dart:async/stream_impl.dart:573)
#6 _PendingEvents.handleNext (dart:async/stream_impl.dart:678)
#7 _PendingEvents.schedule. (dart:async/stream_impl.dart:649)
#8 _rootRun (dart:async/zone.dart:1517)
#9 _CustomZone.run (dart:async/zone.dart:1422)
#10 _CustomZone.runGuarded (dart:async/zone.dart:1321)
#11 _CustomZone.bindCallbackGuarded. (dart:async/zone.dart:1362)
#12 _rootRun (dart:async/zone.dart:1525)
#13 _CustomZone.run (dart:async/zone.dart:1422)
#14 _CustomZone.runGuarded (dart:async/zone.dart:1321)
#15 _CustomZone.bindCallbackGuarded. (dart:async/zone.dart:1362)
#16 _microtaskLoop (dart:async/schedule_microtask.dart:40)
#17 _startMicrotaskLoop (dart:async/schedule_microtask.dart:49)
[2026-01-13 17:48:12.028132]---------------------
DioException [bad response]: This exception was thrown because the response has a status code of 400 and RequestOptions.validateStatus was configured to throw for this status code.
The status code of 400 has the following meaning: "Client error - the request contains bad syntax or cannot be fulfilled"
Read more about status codes at https://developer.mozilla.org/en-US/docs/Web/HTTP/Status
In order to resolve this exception you typically have either to verify and fix your request code or you have to fix the server code.
#0 DioMixin.fetch (package:dio/src/dio_mixin.dart:523)
#1 HttpClient.request (package:hetu_std/http/http.dart:146)
#2 HttpClient.post (package:hetu_std/http/http.dart:189)
#3 StreamBinding.hFetch.. (package:hetu_std/stream/stream.binding.dart:84)
#4 MetadataPluginScrobbleNotifier.build. (package:spotube/provider/metadata_plugin/core/scrobble.dart:28)
[2026-01-14 08:09:40.136625]---------------------
ClientException with SocketException: Connection reset by peer (OS Error: Connection reset by peer, errno = 104), address = coverartarchive.org, port = 37572, uri=https://coverartarchive.org/release-group/e70af2d8-83c3-4da9-835b-19a0c3cfdba0/front-250.jpg
#0 IOClient.send (package:http/src/io_client.dart:227)
#1 HttpFileService.get (package:flutter_cache_manager/src/web/file_service.dart:37)
#2 WebHelper._updateFile (package:flutter_cache_manager/src/web/web_helper.dart:96)
#3 WebHelper._downloadOrAddToQueue (package:flutter_cache_manager/src/web/web_helper.dart:64)
[2026-01-14 08:09:40.141169]---------------------
DioException [connection error]: The connection errored: Connection reset by peer This indicates an error which most likely cannot be solved by the library.
Error: SocketException: Connection reset by peer (OS Error: Connection reset by peer, errno = 104), address = api.listenbrainz.org, port = 37586
#0 DioMixin.fetch (package:dio/src/dio_mixin.dart:523)
#1 HttpClient.request (package:hetu_std/http/http.dart:146)
#2 HttpClient.get (package:hetu_std/http/http.dart:175)
#3 StreamBinding.hFetch.. (package:hetu_std/stream/stream.binding.dart:84)
#4 StreamBinding.hFetch.. (package:hetu_std/stream/stream.binding.dart:84)
#5 FutureUtils.chain (package:hetu_std/future_utils/future_utils.binding.dart:29)
#6 StreamBinding.hFetch.. (package:hetu_std/stream/stream.binding.dart:84)
#7 MetadataPluginBrowseEndpoint.sections (package:spotube/services/metadata/endpoints/browse.dart:18)
#8 MetadataPluginBrowseSectionsNotifier.fetch (package:spotube/provider/metadata_plugin/browse/sections.dart:14)
#9 MetadataPluginBrowseSectionsNotifier.build (package:spotube/provider/metadata_plugin/browse/sections.dart:23)
#10 FutureHandlerProviderElementMixin.handleFuture.. (package:riverpod/src/async_notifier/base.dart:355)
[2026-01-14 08:09:40.151351]---------------------
DioException [connection error]: The connection errored: Connection reset by peer This indicates an error which most likely cannot be solved by the library.
Error: SocketException: Connection reset by peer (OS Error: Connection reset by peer, errno = 104), address = api.listenbrainz.org, port = 37598
#0 DioMixin.fetch (package:dio/src/dio_mixin.dart:523)
#1 HttpClient.request (package:hetu_std/http/http.dart:146)
#2 HttpClient.get (package:hetu_std/http/http.dart:175)
#3 StreamBinding.hFetch.. (package:hetu_std/stream/stream.binding.dart:84)
#4 MetadataPluginAlbumEndpoint.releases (package:spotube/services/metadata/endpoints/album.dart:47)
#5 MetadataPluginAlbumReleasesNotifier.fetch (package:spotube/provider/metadata_plugin/album/releases.dart:13)
#6 MetadataPluginAlbumReleasesNotifier.build (package:spotube/provider/metadata_plugin/album/releases.dart:21)
#7 FutureHandlerProviderElementMixin.handleFuture.. (package:riverpod/src/async_notifier/base.dart:355)
[2026-01-14 08:12:04.053669]---------------------
DioException [bad response]: This exception was thrown because the response has a status code of 400 and RequestOptions.validateStatus was configured to throw for this status code.
The status code of 400 has the following meaning: "Client error - the request contains bad syntax or cannot be fulfilled"
Read more about status codes at https://developer.mozilla.org/en-US/docs/Web/HTTP/Status
In order to resolve this exception you typically have either to verify and fix your request code or you have to fix the server code.
#0 DioMixin.fetch (package:dio/src/dio_mixin.dart:523)
#1 HttpClient.request (package:hetu_std/http/http.dart:146)
#2 HttpClient.get (package:hetu_std/http/http.dart:175)
#3 StreamBinding.hFetch.. (package:hetu_std/stream/stream.binding.dart:84)
#4 FutureUtils.chain (package:hetu_std/future_utils/future_utils.binding.dart:29)
#5 StreamBinding.hFetch.. (package:hetu_std/stream/stream.binding.dart:84)
#6 FutureUtils.chain (package:hetu_std/future_utils/future_utils.binding.dart:29)
#7 StreamBinding.hFetch.. (package:hetu_std/stream/stream.binding.dart:84)
#8 MetadataPluginBrowseEndpoint.sections (package:spotube/services/metadata/endpoints/browse.dart:18)
#9 MetadataPluginBrowseSectionsNotifier.fetch (package:spotube/provider/metadata_plugin/browse/sections.dart:14)
#10 MetadataPluginBrowseSectionsNotifier.build (package:spotube/provider/metadata_plugin/browse/sections.dart:23)
#11 FutureHandlerProviderElementMixin.handleFuture.. (package:riverpod/src/async_notifier/base.dart:355)
[2026-01-14 08:12:53.474928]---------------------
DioException [bad response]: This exception was thrown because the response has a status code of 400 and RequestOptions.validateStatus was configured to throw for this status code.
The status code of 400 has the following meaning: "Client error - the request contains bad syntax or cannot be fulfilled"
Read more about status codes at https://developer.mozilla.org/en-US/docs/Web/HTTP/Status
In order to resolve this exception you typically have either to verify and fix your request code or you have to fix the server code.
#0 DioMixin.fetch (package:dio/src/dio_mixin.dart:523)
#1 HttpClient.request (package:hetu_std/http/http.dart:146)
#2 HttpClient.get (package:hetu_std/http/http.dart:175)
#3 StreamBinding.hFetch.. (package:hetu_std/stream/stream.binding.dart:84)
#4 FutureUtils.chain (package:hetu_std/future_utils/future_utils.binding.dart:29)
#5 StreamBinding.hFetch.. (package:hetu_std/stream/stream.binding.dart:84)
#6 FutureUtils.chain (package:hetu_std/future_utils/future_utils.binding.dart:29)
#7 StreamBinding.hFetch.. (package:hetu_std/stream/stream.binding.dart:84)
#8 MetadataPluginBrowseEndpoint.sections (package:spotube/services/metadata/endpoints/browse.dart:18)
#9 MetadataPluginBrowseSectionsNotifier.fetch (package:spotube/provider/metadata_plugin/browse/sections.dart:14)
#10 MetadataPluginBrowseSectionsNotifier.build (package:spotube/provider/metadata_plugin/browse/sections.dart:23)
#11 FutureHandlerProviderElementMixin.handleFuture.. (package:riverpod/src/async_notifier/base.dart:355)
[2026-01-14 08:12:55.109669]---------------------
DioException [bad response]: This exception was thrown because the response has a status code of 400 and RequestOptions.validateStatus was configured to throw for this status code.
The status code of 400 has the following meaning: "Client error - the request contains bad syntax or cannot be fulfilled"
Read more about status codes at https://developer.mozilla.org/en-US/docs/Web/HTTP/Status
In order to resolve this exception you typically have either to verify and fix your request code or you have to fix the server code.
#0 DioMixin.fetch (package:dio/src/dio_mixin.dart:523)
#1 HttpClient.request (package:hetu_std/http/http.dart:146)
#2 HttpClient.get (package:hetu_std/http/http.dart:175)
#3 StreamBinding.hFetch.. (package:hetu_std/stream/stream.binding.dart:84)
#4 MetadataPluginUserEndpoint.savedTracks (package:spotube/services/metadata/endpoints/user.dart:25)
#5 MetadataPluginSavedTracksNotifier.fetch (package:spotube/provider/metadata_plugin/library/tracks.dart:13)
#6 MetadataPluginSavedTracksNotifier.build (package:spotube/provider/metadata_plugin/library/tracks.dart:26)
#7 FutureHandlerProviderElementMixin.handleFuture.. (package:riverpod/src/async_notifier/base.dart:355)
[2026-01-14 08:12:58.183550]---------------------
No metadata plugin available
#0 metadataPluginSupportTextProvider. (package:spotube/provider/metadata_plugin/core/support.dart:8)
#1 FutureHandlerProviderElementMixin.handleFuture.. (package:riverpod/src/async_notifier/base.dart:355)
[2026-01-14 08:12:58.199102]---------------------
MetadataPluginException: No default metadata plugin is set. Please set a default plugin in the settings.
#0 MetadataPluginMixin.metadataPlugin (package:spotube/provider/metadata_plugin/utils/common.dart:23)
#1 MetadataPluginBrowseSectionsNotifier.fetch (package:spotube/provider/metadata_plugin/browse/sections.dart:14)
#2 MetadataPluginBrowseSectionsNotifier.build (package:spotube/provider/metadata_plugin/browse/sections.dart:23)
#3 FutureHandlerProviderElementMixin.handleFuture.. (package:riverpod/src/async_notifier/base.dart:355)
[2026-01-14 08:13:05.713982]---------------------
MetadataPluginException: No default metadata plugin is set. Please set a default plugin in the settings.
#0 MetadataPluginMixin.metadataPlugin (package:spotube/provider/metadata_plugin/utils/common.dart:23)
#1 MetadataPluginAlbumReleasesNotifier.fetch (package:spotube/provider/metadata_plugin/album/releases.dart:13)
#2 MetadataPluginAlbumReleasesNotifier.build (package:spotube/provider/metadata_plugin/album/releases.dart:21)
#3 FutureHandlerProviderElementMixin.handleFuture.. (package:riverpod/src/async_notifier/base.dart:355)
[2026-01-14 08:13:05.735297]---------------------
MetadataPluginException: No default metadata plugin is set. Please set a default plugin in the settings.
#0 MetadataPluginMixin.metadataPlugin (package:spotube/provider/metadata_plugin/utils/common.dart:23)
#1 MetadataPluginAlbumReleasesNotifier.fetch (package:spotube/provider/metadata_plugin/album/releases.dart:13)
#2 MetadataPluginAlbumReleasesNotifier.build (package:spotube/provider/metadata_plugin/album/releases.dart:21)
#3 FutureHandlerProviderElementMixin.handleFuture.. (package:riverpod/src/async_notifier/base.dart:355)
[2026-01-14 08:13:06.026497]---------------------
MetadataPluginException: No default metadata plugin is set. Please set a default plugin in the settings.
#0 MetadataPluginMixin.metadataPlugin (package:spotube/provider/metadata_plugin/utils/common.dart:23)
#1 MetadataPluginBrowseSectionsNotifier.fetch (package:spotube/provider/metadata_plugin/browse/sections.dart:14)
#2 MetadataPluginBrowseSectionsNotifier.build (package:spotube/provider/metadata_plugin/browse/sections.dart:23)
#3 FutureHandlerProviderElementMixin.handleFuture.. (package:riverpod/src/async_notifier/base.dart:355)
[2026-01-14 08:13:12.663190]---------------------
MetadataPluginException: No default metadata plugin is set. Please set a default plugin in the settings.
#0 MetadataPluginMixin.metadataPlugin (package:spotube/provider/metadata_plugin/utils/common.dart:23)
#1 MetadataPluginSavedPlaylistsNotifier.fetch (package:spotube/provider/metadata_plugin/library/playlists.dart:16)
#2 MetadataPluginSavedPlaylistsNotifier.build (package:spotube/provider/metadata_plugin/library/playlists.dart:27)
#3 FutureHandlerProviderElementMixin.handleFuture.. (package:riverpod/src/async_notifier/base.dart:355)
[2026-01-14 08:13:16.491796]---------------------
No metadata plugin available
#0 metadataPluginSupportTextProvider. (package:spotube/provider/metadata_plugin/core/support.dart:8)
#1 FutureHandlerProviderElementMixin.handleFuture.. (package:riverpod/src/async_notifier/base.dart:355)
[2026-01-14 08:13:22.534036]---------------------
MetadataPluginException: Same plugin already exists with the same name and version.
#0 MetadataPluginNotifier.addPlugin (package:spotube/provider/metadata_plugin/metadata_plugin_provider.dart:404)
#1 MetadataPluginRepositoryItem.build. (package:spotube/modules/metadata_plugins/plugin_repository.dart:142)
[2026-01-14 08:13:28.240485]---------------------
MetadataPluginException: Same plugin already exists with the same name and version.
#0 MetadataPluginNotifier.addPlugin (package:spotube/provider/metadata_plugin/metadata_plugin_provider.dart:404)
#1 MetadataPluginRepositoryItem.build. (package:spotube/modules/metadata_plugins/plugin_repository.dart:142)
[2026-01-14 08:13:39.042550]---------------------
DioException [bad response]: This exception was thrown because the response has a status code of 400 and RequestOptions.validateStatus was configured to throw for this status code.
The status code of 400 has the following meaning: "Client error - the request contains bad syntax or cannot be fulfilled"
Read more about status codes at https://developer.mozilla.org/en-US/docs/Web/HTTP/Status
In order to resolve this exception you typically have either to verify and fix your request code or you have to fix the server code.
#0 DioMixin.fetch (package:dio/src/dio_mixin.dart:523)
#1 HttpClient.request (package:hetu_std/http/http.dart:146)
#2 HttpClient.get (package:hetu_std/http/http.dart:175)
#3 StreamBinding.hFetch.. (package:hetu_std/stream/stream.binding.dart:84)
#4 FutureUtils.chain (package:hetu_std/future_utils/future_utils.binding.dart:29)
#5 StreamBinding.hFetch.. (package:hetu_std/stream/stream.binding.dart:84)
#6 FutureUtils.chain (package:hetu_std/future_utils/future_utils.binding.dart:29)
#7 StreamBinding.hFetch.. (package:hetu_std/stream/stream.binding.dart:84)
#8 MetadataPluginBrowseEndpoint.sections (package:spotube/services/metadata/endpoints/browse.dart:18)
#9 MetadataPluginBrowseSectionsNotifier.fetch (package:spotube/provider/metadata_plugin/browse/sections.dart:14)
#10 MetadataPluginBrowseSectionsNotifier.build (package:spotube/provider/metadata_plugin/browse/sections.dart:23)
#11 FutureHandlerProviderElementMixin.handleFuture.. (package:riverpod/src/async_notifier/base.dart:355)
new List.of (dart:core-patch/array_patch.dart:39)
#8 SetBase.toList (dart:collection/set.dart:119)
#9 NewPipeExtractor.search (package:flutter_new_pipe_extractor/flutter_new_pipe_extractor.dart:45)
#10 NewPipeEngine.searchVideos (package:spotube/services/youtube_engine/newpipe_engine.dart:101)
#11 MetadataPlugin.create.. (package:spotube/services/metadata/metadata.dart:87)
#12 StreamBinding.hFetch.. (package:hetu_std/stream/stream.binding.dart:84)
#13 MetadataPluginAudioSourceEndpoint.matches (package:spotube/services/metadata/endpoints/audio_source.dart:24)
#14 SourcedTrack.fetchSiblings (package:spotube/services/sourced_track/sourced_track.dart:166)
#15 SourcedTrack.fetchFromTrack (package:spotube/services/sourced_track/sourced_track.dart:62)
#16 FutureHandlerProviderElementMixin.handleFuture.. (package:riverpod/src/async_notifier/base.dart:355)
[2026-01-13 17:35:26.973776]---------------------
DioException [bad response]: This exception was thrown because the response has a status code of 400 and RequestOptions.validateStatus was configured to throw for this status code.
The status code of 400 has the following meaning: "Client error - the request contains bad syntax or cannot be fulfilled"
Read more about status codes at https://developer.mozilla.org/en-US/docs/Web/HTTP/Status
In order to resolve this exception you typically have either to verify and fix your request code or you have to fix the server code.
#0 DioMixin.fetch (package:dio/src/dio_mixin.dart:523)
#1 HttpClient.request (package:hetu_std/http/http.dart:146)
#2 HttpClient.get (package:hetu_std/http/http.dart:175)
#3 StreamBinding.hFetch.. (package:hetu_std/stream/stream.binding.dart:84)
#4 MetadataPluginUserEndpoint.savedTracks (package:spotube/services/metadata/endpoints/user.dart:25)
#5 MetadataPluginSavedTracksNotifier.fetch (package:spotube/provider/metadata_plugin/library/tracks.dart:13)
#6 MetadataPluginSavedTracksNotifier.build (package:spotube/provider/metadata_plugin/library/tracks.dart:26)
#7 FutureHandlerProviderElementMixin.handleFuture.. (package:riverpod/src/async_notifier/base.dart:355)
[2026-01-13 17:35:28.712788]---------------------
File: /home/krtirtho/dev/spotube-plugin-musicbrainz-listenbrainz/src/segments/playlist.ht
Line: 171, Column: 60
Runtime error: undefined
Message: Undefined identifier [then].
#0 HTInterpreter.processError (package:hetu_script/interpreter/interpreter.dart:303)
#1 HTInstance.invoke (package:hetu_script/value/instance/instance.dart:303)
#2 MetadataPluginPlaylistEndpoint.removeTracks (package:spotube/services/metadata/endpoints/playlist.dart:106)
#3 MetadataPluginSavedPlaylistsNotifier.removeTracks (package:spotube/provider/metadata_plugin/library/playlists.dart:116)
[2026-01-13 17:35:41.208739]---------------------
DioException [bad response]: This exception was thrown because the response has a status code of 400 and RequestOptions.validateStatus was configured to throw for this status code.
The status code of 400 has the following meaning: "Client error - the request contains bad syntax or cannot be fulfilled"
Read more about status codes at https://developer.mozilla.org/en-US/docs/Web/HTTP/Status
In order to resolve this exception you typically have either to verify and fix your request code or you have to fix the server code.
#0 DioMixin.fetch (package:dio/src/dio_mixin.dart:523)
#1 HttpClient.request (package:hetu_std/http/http.dart:146)
#2 HttpClient.get (package:hetu_std/http/http.dart:175)
#3 StreamBinding.hFetch.. (package:hetu_std/stream/stream.binding.dart:84)
#4 MetadataPluginUserEndpoint.savedTracks (package:spotube/services/metadata/endpoints/user.dart:25)
#5 MetadataPluginSavedTracksNotifier.fetch (package:spotube/provider/metadata_plugin/library/tracks.dart:13)
#6 MetadataPluginSavedTracksNotifier.build (package:spotube/provider/metadata_plugin/library/tracks.dart:26)
#7 FutureHandlerProviderElementMixin.handleFuture.. (package:riverpod/src/async_notifier/base.dart:355)
[2026-01-13 17:44:37.642746]---------------------
type 'Null' is not a subtype of type 'String' in type cast
#0 _$VideoSearchResultItemFromJson (package:flutter_new_pipe_extractor/src/models/models.g.dart:119)
#1 new VideoSearchResultItem.fromJson (package:flutter_new_pipe_extractor/src/models/search.dart:103)
#2 NewPipeExtractor.search. (package:flutter_new_pipe_extractor/flutter_new_pipe_extractor.dart:38)
#3 MappedIterable.elementAt (dart:_internal/iterable.dart:402)
#4 ListIterator.moveNext (dart:_internal/iterable.dart:371)
#5 new _GrowableList._ofEfficientLengthIterable (dart:core-patch/growable_array.dart:194)
#6 new _GrowableList.of (dart:core-patch/growable_array.dart:154)
#7 new List.of (dart:core-patch/array_patch.dart:39)
#8 SetBase.toList (dart:collection/set.dart:119)
#9 NewPipeExtractor.search (package:flutter_new_pipe_extractor/flutter_new_pipe_extractor.dart:45)
#10 NewPipeEngine.searchVideos (package:spotube/services/youtube_engine/newpipe_engine.dart:101)
#11 MetadataPlugin.create.. (package:spotube/services/metadata/metadata.dart:87)
#12 StreamBinding.hFetch.. (package:hetu_std/stream/stream.binding.dart:84)
#13 MetadataPluginAudioSourceEndpoint.matches (package:spotube/services/metadata/endpoints/audio_source.dart:24)
#14 SourcedTrack.fetchSiblings (package:spotube/services/sourced_track/sourced_track.dart:166)
#15 SourcedTrack.fetchFromTrack (package:spotube/services/sourced_track/sourced_track.dart:62)
#16 FutureHandlerProviderElementMixin.handleFuture.. (package:riverpod/src/async_notifier/base.dart:355)
[2026-01-13 17:45:10.950051]---------------------
type 'Null' is not a subtype of type 'String' in type cast
#0 _$VideoSearchResultItemFromJson (package:flutter_new_pipe_extractor/src/models/models.g.dart:119)
#1 new VideoSearchResultItem.fromJson (package:flutter_new_pipe_extractor/src/models/search.dart:103)
#2 NewPipeExtractor.search. (package:flutter_new_pipe_extractor/flutter_new_pipe_extractor.dart:38)
#3 MappedIterable.elementAt (dart:_internal/iterable.dart:402)
#4 ListIterator.moveNext (dart:_internal/iterable.dart:371)
#5 new _GrowableList._ofEfficientLengthIterable (dart:core-patch/growable_array.dart:194)
#6 new _GrowableList.of (dart:core-patch/growable_array.dart:154)
#7 new List.of (dart:core-patch/array_patch.dart:39)
#8 SetBase.toList (dart:collection/set.dart:119)
#9 NewPipeExtractor.search (package:flutter_new_pipe_extractor/flutter_new_pipe_extractor.dart:45)
#10 NewPipeEngine.searchVideos (package:spotube/services/youtube_engine/newpipe_engine.dart:101)
#11 MetadataPlugin.create.. (package:spotube/services/metadata/metadata.dart:87)
#12 StreamBinding.hFetch.. (package:hetu_std/stream/stream.binding.dart:84)
#13 MetadataPluginAudioSourceEndpoint.matches (package:spotube/services/metadata/endpoints/audio_source.dart:24)
#14 SourcedTrack.fetchSiblings (package:spotube/services/sourced_track/sourced_track.dart:166)
#15 SourcedTrack.fetchFromTrack (package:spotube/services/sourced_track/sourced_track.dart:62)
#16 FutureHandlerProviderElementMixin.handleFuture.. (package:riverpod/src/async_notifier/base.dart:355)
[2026-01-13 17:45:10.960110]---------------------
Failed to open http://0.0.0.0:6110/stream/51b0a68a-f67f-4c4a-a0f8-4cb1f13c6704.
#0 new AudioPlayerInterface. (package:spotube/services/audio_player/audio_player.dart:56)
#1 _rootRunUnary (dart:async/zone.dart:1538)
#2 _CustomZone.runUnary (dart:async/zone.dart:1429)
#3 _CustomZone.runUnaryGuarded (dart:async/zone.dart:1329)
#4 _BufferingStreamSubscription._sendData (dart:async/stream_impl.dart:381)
#5 _DelayedData.perform (dart:async/stream_impl.dart:573)
#6 _PendingEvents.handleNext (dart:async/stream_impl.dart:678)
#7 _PendingEvents.schedule. (dart:async/stream_impl.dart:649)
#8 _rootRun (dart:async/zone.dart:1517)
#9 _CustomZone.run (dart:async/zone.dart:1422)
#10 _CustomZone.runGuarded (dart:async/zone.dart:1321)
#11 _CustomZone.bindCallbackGuarded. (dart:async/zone.dart:1362)
#12 _rootRun (dart:async/zone.dart:1525)
#13 _CustomZone.run (dart:async/zone.dart:1422)
#14 _CustomZone.runGuarded (dart:async/zone.dart:1321)
#15 _CustomZone.bindCallbackGuarded. (dart:async/zone.dart:1362)
#16 _microtaskLoop (dart:async/schedule_microtask.dart:40)
#17 _startMicrotaskLoop (dart:async/schedule_microtask.dart:49)
[2026-01-13 17:48:12.028132]---------------------
DioException [bad response]: This exception was thrown because the response has a status code of 400 and RequestOptions.validateStatus was configured to throw for this status code.
The status code of 400 has the following meaning: "Client error - the request contains bad syntax or cannot be fulfilled"
Read more about status codes at https://developer.mozilla.org/en-US/docs/Web/HTTP/Status
In order to resolve this exception you typically have either to verify and fix your request code or you have to fix the server code.
#0 DioMixin.fetch (package:dio/src/dio_mixin.dart:523)
#1 HttpClient.request (package:hetu_std/http/http.dart:146)
#2 HttpClient.post (package:hetu_std/http/http.dart:189)
#3 StreamBinding.hFetch.. (package:hetu_std/stream/stream.binding.dart:84)
#4 MetadataPluginScrobbleNotifier.build. (package:spotube/provider/metadata_plugin/core/scrobble.dart:28)
[2026-01-14 08:09:40.136625]---------------------
ClientException with SocketException: Connection reset by peer (OS Error: Connection reset by peer, errno = 104), address = coverartarchive.org, port = 37572, uri=https://coverartarchive.org/release-group/e70af2d8-83c3-4da9-835b-19a0c3cfdba0/front-250.jpg
#0 IOClient.send (package:http/src/io_client.dart:227)
#1 HttpFileService.get (package:flutter_cache_manager/src/web/file_service.dart:37)
#2 WebHelper._updateFile (package:flutter_cache_manager/src/web/web_helper.dart:96)
#3 WebHelper._downloadOrAddToQueue (package:flutter_cache_manager/src/web/web_helper.dart:64)
[2026-01-14 08:09:40.141169]---------------------
DioException [connection error]: The connection errored: Connection reset by peer This indicates an error which most likely cannot be solved by the library.
Error: SocketException: Connection reset by peer (OS Error: Connection reset by peer, errno = 104), address = api.listenbrainz.org, port = 37586
#0 DioMixin.fetch (package:dio/src/dio_mixin.dart:523)
#1 HttpClient.request (package:hetu_std/http/http.dart:146)
#2 HttpClient.get (package:hetu_std/http/http.dart:175)
#3 StreamBinding.hFetch.. (package:hetu_std/stream/stream.binding.dart:84)
#4 StreamBinding.hFetch.. (package:hetu_std/stream/stream.binding.dart:84)
#5 FutureUtils.chain (package:hetu_std/future_utils/future_utils.binding.dart:29)
#6 StreamBinding.hFetch.. (package:hetu_std/stream/stream.binding.dart:84)
#7 MetadataPluginBrowseEndpoint.sections (package:spotube/services/metadata/endpoints/browse.dart:18)
#8 MetadataPluginBrowseSectionsNotifier.fetch (package:spotube/provider/metadata_plugin/browse/sections.dart:14)
#9 MetadataPluginBrowseSectionsNotifier.build (package:spotube/provider/metadata_plugin/browse/sections.dart:23)
#10 FutureHandlerProviderElementMixin.handleFuture.. (package:riverpod/src/async_notifier/base.dart:355)
[2026-01-14 08:09:40.151351]---------------------
DioException [connection error]: The connection errored: Connection reset by peer This indicates an error which most likely cannot be solved by the library.
Error: SocketException: Connection reset by peer (OS Error: Connection reset by peer, errno = 104), address = api.listenbrainz.org, port = 37598
#0 DioMixin.fetch (package:dio/src/dio_mixin.dart:523)
#1 HttpClient.request (package:hetu_std/http/http.dart:146)
#2 HttpClient.get (package:hetu_std/http/http.dart:175)
#3 StreamBinding.hFetch.. (package:hetu_std/stream/stream.binding.dart:84)
#4 MetadataPluginAlbumEndpoint.releases (package:spotube/services/metadata/endpoints/album.dart:47)
#5 MetadataPluginAlbumReleasesNotifier.fetch (package:spotube/provider/metadata_plugin/album/releases.dart:13)
#6 MetadataPluginAlbumReleasesNotifier.build (package:spotube/provider/metadata_plugin/album/releases.dart:21)
#7 FutureHandlerProviderElementMixin.handleFuture.. (package:riverpod/src/async_notifier/base.dart:355)
[2026-01-14 08:12:04.053669]---------------------
DioException [bad response]: This exception was thrown because the response has a status code of 400 and RequestOptions.validateStatus was configured to throw for this status code.
The status code of 400 has the following meaning: "Client error - the request contains bad syntax or cannot be fulfilled"
Read more about status codes at https://developer.mozilla.org/en-US/docs/Web/HTTP/Status
In order to resolve this exception you typically have either to verify and fix your request code or you have to fix the server code.
#0 DioMixin.fetch (package:dio/src/dio_mixin.dart:523)
#1 HttpClient.request (package:hetu_std/http/http.dart:146)
#2 HttpClient.get (package:hetu_std/http/http.dart:175)
#3 StreamBinding.hFetch.. (package:hetu_std/stream/stream.binding.dart:84)
#4 FutureUtils.chain (package:hetu_std/future_utils/future_utils.binding.dart:29)
#5 StreamBinding.hFetch.. (package:hetu_std/stream/stream.binding.dart:84)
#6 FutureUtils.chain (package:hetu_std/future_utils/future_utils.binding.dart:29)
#7 StreamBinding.hFetch.. (package:hetu_std/stream/stream.binding.dart:84)
#8 MetadataPluginBrowseEndpoint.sections (package:spotube/services/metadata/endpoints/browse.dart:18)
#9 MetadataPluginBrowseSectionsNotifier.fetch (package:spotube/provider/metadata_plugin/browse/sections.dart:14)
#10 MetadataPluginBrowseSectionsNotifier.build (package:spotube/provider/metadata_plugin/browse/sections.dart:23)
#11 FutureHandlerProviderElementMixin.handleFuture.. (package:riverpod/src/async_notifier/base.dart:355)
[2026-01-14 08:12:53.474928]---------------------
DioException [bad response]: This exception was thrown because the response has a status code of 400 and RequestOptions.validateStatus was configured to throw for this status code.
The status code of 400 has the following meaning: "Client error - the request contains bad syntax or cannot be fulfilled"
Read more about status codes at https://developer.mozilla.org/en-US/docs/Web/HTTP/Status
In order to resolve this exception you typically have either to verify and fix your request code or you have to fix the server code.
#0 DioMixin.fetch (package:dio/src/dio_mixin.dart:523)
#1 HttpClient.request (package:hetu_std/http/http.dart:146)
#2 HttpClient.get (package:hetu_std/http/http.dart:175)
#3 StreamBinding.hFetch.. (package:hetu_std/stream/stream.binding.dart:84)
#4 FutureUtils.chain (package:hetu_std/future_utils/future_utils.binding.dart:29)
#5 StreamBinding.hFetch.. (package:hetu_std/stream/stream.binding.dart:84)
#6 FutureUtils.chain (package:hetu_std/future_utils/future_utils.binding.dart:29)
#7 StreamBinding.hFetch.. (package:hetu_std/stream/stream.binding.dart:84)
#8 MetadataPluginBrowseEndpoint.sections (package:spotube/services/metadata/endpoints/browse.dart:18)
#9 MetadataPluginBrowseSectionsNotifier.fetch (package:spotube/provider/metadata_plugin/browse/sections.dart:14)
#10 MetadataPluginBrowseSectionsNotifier.build (package:spotube/provider/metadata_plugin/browse/sections.dart:23)
#11 FutureHandlerProviderElementMixin.handleFuture.. (package:riverpod/src/async_notifier/base.dart:355)
[2026-01-14 08:12:55.109669]---------------------
DioException [bad response]: This exception was thrown because the response has a status code of 400 and RequestOptions.validateStatus was configured to throw for this status code.
The status code of 400 has the following meaning: "Client error - the request contains bad syntax or cannot be fulfilled"
Read more about status codes at https://developer.mozilla.org/en-US/docs/Web/HTTP/Status
In order to resolve this exception you typically have either to verify and fix your request code or you have to fix the server code.
#0 DioMixin.fetch (package:dio/src/dio_mixin.dart:523)
#1 HttpClient.request (package:hetu_std/http/http.dart:146)
#2 HttpClient.get (package:hetu_std/http/http.dart:175)
#3 StreamBinding.hFetch.. (package:hetu_std/stream/stream.binding.dart:84)
#4 MetadataPluginUserEndpoint.savedTracks (package:spotube/services/metadata/endpoints/user.dart:25)
#5 MetadataPluginSavedTracksNotifier.fetch (package:spotube/provider/metadata_plugin/library/tracks.dart:13)
#6 MetadataPluginSavedTracksNotifier.build (package:spotube/provider/metadata_plugin/library/tracks.dart:26)
#7 FutureHandlerProviderElementMixin.handleFuture.. (package:riverpod/src/async_notifier/base.dart:355)
[2026-01-14 08:12:58.183550]---------------------
No metadata plugin available
#0 metadataPluginSupportTextProvider. (package:spotube/provider/metadata_plugin/core/support.dart:8)
#1 FutureHandlerProviderElementMixin.handleFuture.. (package:riverpod/src/async_notifier/base.dart:355)
[2026-01-14 08:12:58.199102]---------------------
MetadataPluginException: No default metadata plugin is set. Please set a default plugin in the settings.
#0 MetadataPluginMixin.metadataPlugin (package:spotube/provider/metadata_plugin/utils/common.dart:23)
#1 MetadataPluginBrowseSectionsNotifier.fetch (package:spotube/provider/metadata_plugin/browse/sections.dart:14)
#2 MetadataPluginBrowseSectionsNotifier.build (package:spotube/provider/metadata_plugin/browse/sections.dart:23)
#3 FutureHandlerProviderElementMixin.handleFuture.. (package:riverpod/src/async_notifier/base.dart:355)
[2026-01-14 08:13:05.713982]---------------------
MetadataPluginException: No default metadata plugin is set. Please set a default plugin in the settings.
#0 MetadataPluginMixin.metadataPlugin (package:spotube/provider/metadata_plugin/utils/common.dart:23)
#1 MetadataPluginAlbumReleasesNotifier.fetch (package:spotube/provider/metadata_plugin/album/releases.dart:13)
#2 MetadataPluginAlbumReleasesNotifier.build (package:spotube/provider/metadata_plugin/album/releases.dart:21)
#3 FutureHandlerProviderElementMixin.handleFuture.. (package:riverpod/src/async_notifier/base.dart:355)
[2026-01-14 08:13:05.735297]---------------------
MetadataPluginException: No default metadata plugin is set. Please set a default plugin in the settings.
#0 MetadataPluginMixin.metadataPlugin (package:spotube/provider/metadata_plugin/utils/common.dart:23)
#1 MetadataPluginAlbumReleasesNotifier.fetch (package:spotube/provider/metadata_plugin/album/releases.dart:13)
#2 MetadataPluginAlbumReleasesNotifier.build (package:spotube/provider/metadata_plugin/album/releases.dart:21)
#3 FutureHandlerProviderElementMixin.handleFuture.. (package:riverpod/src/async_notifier/base.dart:355)
[2026-01-14 08:13:06.026497]---------------------
MetadataPluginException: No default metadata plugin is set. Please set a default plugin in the settings.
#0 MetadataPluginMixin.metadataPlugin (package:spotube/provider/metadata_plugin/utils/common.dart:23)
#1 MetadataPluginBrowseSectionsNotifier.fetch (package:spotube/provider/metadata_plugin/browse/sections.dart:14)
#2 MetadataPluginBrowseSectionsNotifier.build (package:spotube/provider/metadata_plugin/browse/sections.dart:23)
#3 FutureHandlerProviderElementMixin.handleFuture.. (package:riverpod/src/async_notifier/base.dart:355)
[2026-01-14 08:13:12.663190]---------------------
MetadataPluginException: No default metadata plugin is set. Please set a default plugin in the settings.
#0 MetadataPluginMixin.metadataPlugin (package:spotube/provider/metadata_plugin/utils/common.dart:23)
#1 MetadataPluginSavedPlaylistsNotifier.fetch (package:spotube/provider/metadata_plugin/library/playlists.dart:16)
#2 MetadataPluginSavedPlaylistsNotifier.build (package:spotube/provider/metadata_plugin/library/playlists.dart:27)
#3 FutureHandlerProviderElementMixin.handleFuture.. (package:riverpod/src/async_notifier/base.dart:355)
[2026-01-14 08:13:16.491796]---------------------
No metadata plugin available
#0 metadataPluginSupportTextProvider. (package:spotube/provider/metadata_plugin/core/support.dart:8)
#1 FutureHandlerProviderElementMixin.handleFuture.. (package:riverpod/src/async_notifier/base.dart:355)
[2026-01-14 08:13:22.534036]---------------------
MetadataPluginException: Same plugin already exists with the same name and version.
#0 MetadataPluginNotifier.addPlugin (package:spotube/provider/metadata_plugin/metadata_plugin_provider.dart:404)
#1 MetadataPluginRepositoryItem.build. (package:spotube/modules/metadata_plugins/plugin_repository.dart:142)
[2026-01-14 08:13:28.240485]---------------------
MetadataPluginException: Same plugin already exists with the same name and version.
#0 MetadataPluginNotifier.addPlugin (package:spotube/provider/metadata_plugin/metadata_plugin_provider.dart:404)
#1 MetadataPluginRepositoryItem.build. (package:spotube/modules/metadata_plugins/plugin_repository.dart:142)
[2026-01-14 08:13:39.042550]---------------------
DioException [bad response]: This exception was thrown because the response has a status code of 400 and RequestOptions.validateStatus was configured to throw for this status code.
The status code of 400 has the following meaning: "Client error - the request contains bad syntax or cannot be fulfilled"
Read more about status codes at https://developer.mozilla.org/en-US/docs/Web/HTTP/Status
In order to resolve this exception you typically have either to verify and fix your request code or you have to fix the server code.
#0 DioMixin.fetch (package:dio/src/dio_mixin.dart:523)
#1 HttpClient.request (package:hetu_std/http/http.dart:146)
#2 HttpClient.get (package:hetu_std/http/http.dart:175)
#3 StreamBinding.hFetch.. (package:hetu_std/stream/stream.binding.dart:84)
#4 FutureUtils.chain (package:hetu_std/future_utils/future_utils.binding.dart:29)
#5 StreamBinding.hFetch.. (package:hetu_std/stream/stream.binding.dart:84)
#6 FutureUtils.chain (package:hetu_std/future_utils/future_utils.binding.dart:29)
#7 StreamBinding.hFetch.. (package:hetu_std/stream/stream.binding.dart:84)
#8 MetadataPluginBrowseEndpoint.sections (package:spotube/services/metadata/endpoints/browse.dart:18)
#9 MetadataPluginBrowseSectionsNotifier.fetch (package:spotube/provider/metadata_plugin/browse/sections.dart:14)
#10 MetadataPluginBrowseSectionsNotifier.build (package:spotube/provider/metadata_plugin/browse/sections.dart:23)
#11 FutureHandlerProviderElementMixin.handleFuture.. (package:riverpod/src/async_notifier/base.dart:355)
Operating System
Android
Spotube version
5.1
Installation source
Website (spotube.krtirtho.dev)
Additional information
No response
Self grab
- I'm ready to work on this issue!
