spotube
spotube copied to clipboard
Screen elements misplaced
Is there an existing issue for this? (Please read the description)
- [x] I have searched the existing issues
Current Behavior
There are elements on the screen that are misplaced.
Expected Behavior
Those elements should be lower down
Steps to reproduce
This happens when you open the song you are playing
Logs
Logs
<[2025-09-12 07:00:10.392571]---------------------
File: /home/runner/work/spotube-plugin-musicbrainz-listenbrainz/spotube-plugin-musicbrainz-listenbrainz/src/common/recommendations.ht
Line: 238, Column: 17
Runtime error: nullObject
Message: Calling method [$sub_getter_] on null object [data].
#0 HTInterpreter.processError (package:hetu_script/interpreter/interpreter.dart:303)
#1 HTFunction._call (package:hetu_script/value/function/function.dart:750)
#2 HTFunction.call (package:hetu_script/value/function/function.dart:279)
#3 StreamBinding.hFetch.<anonymous closure>.<anonymous closure> (package:hetu_std/stream/stream.binding.dart:84)
#4 _rootRunUnary (dart:async/zone.dart:1538)
#5 _CustomZone.runUnary (dart:async/zone.dart:1429)
<asynchronous suspension>
#6 StreamBinding.hFetch.<anonymous closure>.<anonymous closure> (package:hetu_std/stream/stream.binding.dart:84)
<asynchronous suspension>
#7 FutureUtils.chain (package:hetu_std/future_utils/future_utils.binding.dart:29)
<asynchronous suspension>
#8 StreamBinding.hFetch.<anonymous closure>.<anonymous closure> (package:hetu_std/stream/stream.binding.dart:84)
<asynchronous suspension>
#9 MetadataPluginBrowseEndpoint.sections (package:spotube/services/metadata/endpoints/browse.dart:18)
<asynchronous suspension>
#10 MetadataPluginBrowseSectionsNotifier.fetch (package:spotube/provider/metadata_plugin/browse/sections.dart:14)
<asynchronous suspension>
#11 MetadataPluginBrowseSectionsNotifier.build (package:spotube/provider/metadata_plugin/browse/sections.dart:23)
<asynchronous suspension>
#12 FutureHandlerProviderElementMixin.handleFuture.<anonymous closure>.<anonymous closure> (package:riverpod/src/async_notifier/base.dart:355)
<asynchronous suspension>
----------------------------------------
[2025-09-12 07:00:13.641548]---------------------
File: /home/runner/work/spotube-plugin-musicbrainz-listenbrainz/spotube-plugin-musicbrainz-listenbrainz/src/common/recommendations.ht
Line: 238, Column: 17
Runtime error: nullObject
Message: Calling method [$sub_getter_] on null object [data].
#0 HTInterpreter.processError (package:hetu_script/interpreter/interpreter.dart:303)
#1 HTFunction._call (package:hetu_script/value/function/function.dart:750)
#2 HTFunction.call (package:hetu_script/value/function/function.dart:279)
#3 StreamBinding.hFetch.<anonymous closure>.<anonymous closure> (package:hetu_std/stream/stream.binding.dart:84)
#4 _rootRunUnary (dart:async/zone.dart:1538)
#5 _CustomZone.runUnary (dart:async/zone.dart:1429)
<asynchronous suspension>
#6 StreamBinding.hFetch.<anonymous closure>.<anonymous closure> (package:hetu_std/stream/stream.binding.dart:84)
<asynchronous suspension>
#7 FutureUtils.chain (package:hetu_std/future_utils/future_utils.binding.dart:29)
<asynchronous suspension>
#8 StreamBinding.hFetch.<anonymous closure>.<anonymous closure> (package:hetu_std/stream/stream.binding.dart:84)
<asynchronous suspension>
#9 MetadataPluginBrowseEndpoint.sections (package:spotube/services/metadata/endpoints/browse.dart:18)
<asynchronous suspension>
#10 MetadataPluginBrowseSectionsNotifier.fetch (package:spotube/provider/metadata_plugin/browse/sections.dart:14)
<asynchronous suspension>
#11 MetadataPluginBrowseSectionsNotifier.build (package:spotube/provider/metadata_plugin/browse/sections.dart:23)
<asynchronous suspension>
#12 FutureHandlerProviderElementMixin.handleFuture.<anonymous closure>.<anonymous closure> (package:riverpod/src/async_notifier/base.dart:355)
<asynchronous suspension>
----------------------------------------
[2025-09-12 07:00:30.399642]---------------------
type 'Null' is not a subtype of type 'String' in type cast
#0 _$$InvidiousMonitorImplFromJson (package:invidious/src/models/model.g.dart:477)
#1 new _$InvidiousMonitorImpl.fromJson (package:invidious/src/models/model.freezed.dart:5728)
#2 _$InvidiousMonitorFromJson (package:invidious/src/models/model.freezed.dart:5309)
#3 new InvidiousMonitor.fromJson (package:invidious/src/models/responses/instance.dart:128)
#4 _$$InvidiousInstanceDetailsImplFromJson (package:invidious/src/models/model.g.dart:361)
#5 new _$InvidiousInstanceDetailsImpl.fromJson (package:invidious/src/models/model.freezed.dart:4092)
#6 _$InvidiousInstanceDetailsFromJson (package:invidious/src/models/model.freezed.dart:3858)
#7 new InvidiousInstanceDetails.fromJson (package:invidious/src/models/responses/instance.dart:28)
#8 _$$InvidiousInstanceResponseImplFromJson (package:invidious/src/models/model.g.dart:336)
#9 new _$InvidiousInstanceResponseImpl.fromJson (package:invidious/src/models/model.freezed.dart:3792)
#10 _$InvidiousInstanceResponseFromJson (package:invidious/src/models/model.freezed.dart:3668)
#11 new InvidiousInstanceResponse.fromJson (package:invidious/src/models/responses/instance.dart:11)
#12 InstancesEndpoint.instances.<anonymous closure> (package:invidious/src/endpoints/instances.dart:13)
#13 MappedIterable.elementAt (dart:_internal/iterable.dart:402)
#14 ListIterator.moveNext (dart:_internal/iterable.dart:371)
#15 new _GrowableList._ofEfficientLengthIterable (dart:core-patch/growable_array.dart:194)
#16 new _GrowableList.of (dart:core-patch/growable_array.dart:154)
#17 new List.of (dart:core-patch/array_patch.dart:39)
#18 SetBase.toList (dart:collection/set.dart:119)
#19 InstancesEndpoint.instances (package:invidious/src/endpoints/instances.dart:17)
<asynchronous suspension>
#20 invidiousInstancesProvider.<anonymous closure> (package:spotube/provider/audio_player/sources/invidious_instances_provider.dart:7)
<asynchronous suspension>
#21 FutureHandlerProviderElementMixin.handleFuture.<anonymous closure>.<anonymous closure> (package:riverpod/src/async_notifier/base.dart:355)
<asynchronous suspension>
----------------------------------------
[2025-09-12 07:10:08.261929]---------------------
File: /home/runner/work/spotube-plugin-musicbrainz-listenbrainz/spotube-plugin-musicbrainz-listenbrainz/src/common/recommendations.ht
Line: 238, Column: 17
Runtime error: nullObject
Message: Calling method [$sub_getter_] on null object [data].
#0 HTInterpreter.processError (package:hetu_script/interpreter/interpreter.dart:303)
#1 HTFunction._call (package:hetu_script/value/function/function.dart:750)
#2 HTFunction.call (package:hetu_script/value/function/function.dart:279)
#3 StreamBinding.hFetch.<anonymous closure>.<anonymous closure> (package:hetu_std/stream/stream.binding.dart:84)
#4 _rootRunUnary (dart:async/zone.dart:1538)
#5 _CustomZone.runUnary (dart:async/zone.dart:1429)
<asynchronous suspension>
#6 StreamBinding.hFetch.<anonymous closure>.<anonymous closure> (package:hetu_std/stream/stream.binding.dart:84)
<asynchronous suspension>
#7 FutureUtils.chain (package:hetu_std/future_utils/future_utils.binding.dart:29)
<asynchronous suspension>
#8 StreamBinding.hFetch.<anonymous closure>.<anonymous closure> (package:hetu_std/stream/stream.binding.dart:84)
<asynchronous suspension>
#9 MetadataPluginBrowseEndpoint.sections (package:spotube/services/metadata/endpoints/browse.dart:18)
<asynchronous suspension>
#10 MetadataPluginBrowseSectionsNotifier.fetch (package:spotube/provider/metadata_plugin/browse/sections.dart:14)
<asynchronous suspension>
#11 MetadataPluginBrowseSectionsNotifier.build (package:spotube/provider/metadata_plugin/browse/sections.dart:23)
<asynchronous suspension>
#12 FutureHandlerProviderElementMixin.handleFuture.<anonymous closure>.<anonymous closure> (package:riverpod/src/async_notifier/base.dart:355)
<asynchronous suspension>
----------------------------------------
[2025-09-12 07:10:12.498232]---------------------
File: /home/runner/work/spotube-plugin-spotify/spotube-plugin-spotify/src/segments/browse.ht
Line: 16, Column: 55
Runtime error: nullObject
Message: Calling method [$sub_getter_] on null object [credentials].
#0 HTInterpreter.processError (package:hetu_script/interpreter/interpreter.dart:303)
#1 HTFunction._call (package:hetu_script/value/function/function.dart:750)
#2 HTFunction.call (package:hetu_script/value/function/function.dart:279)
#3 StreamBinding.hFetch.<anonymous closure>.<anonymous closure> (package:hetu_std/stream/stream.binding.dart:84)
#4 _rootRunUnary (dart:async/zone.dart:1538)
#5 _CustomZone.runUnary (dart:async/zone.dart:1429)
<asynchronous suspension>
#6 MetadataPluginBrowseEndpoint.sections (package:spotube/services/metadata/endpoints/browse.dart:18)
<asynchronous suspension>
#7 MetadataPluginBrowseSectionsNotifier.fetch (package:spotube/provider/metadata_plugin/browse/sections.dart:14)
<asynchronous suspension>
#8 MetadataPluginBrowseSectionsNotifier.build (package:spotube/provider/metadata_plugin/browse/sections.dart:23)
<asynchronous suspension>
#9 FutureHandlerProviderElementMixin.handleFuture.<anonymous closure>.<anonymous closure> (package:riverpod/src/async_notifier/base.dart:355)
<asynchronous suspension>
----------------------------------------
[2025-09-12 07:10:12.786274]---------------------
DioException [bad response]: This exception was thrown because the response has a status code of 401 and RequestOptions.validateStatus was configured to throw for this status code.
The status code of 401 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)
<asynchronous suspension>
#1 HttpClient.request (package:hetu_std/http/http.dart:146)
<asynchronous suspension>
#2 HttpClient.post (package:hetu_std/http/http.dart:189)
<asynchronous suspension>
#3 StreamBinding.hFetch.<anonymous closure>.<anonymous closure> (package:hetu_std/stream/stream.binding.dart:84)
<asynchronous suspension>
#4 StreamBinding.hFetch.<anonymous closure>.<anonymous closure> (package:hetu_std/stream/stream.binding.dart:84)
<asynchronous suspension>
#5 MetadataPluginAlbumEndpoint.releases (package:spotube/services/metadata/endpoints/album.dart:47)
<asynchronous suspension>
#6 MetadataPluginAlbumReleasesNotifier.fetch (package:spotube/provider/metadata_plugin/album/releases.dart:13)
<asynchronous suspension>
#7 MetadataPluginAlbumReleasesNotifier.build (package:spotube/provider/metadata_plugin/album/releases.dart:21)
<asynchronous suspension>
#8 FutureHandlerProviderElementMixin.handleFuture.<anonymous closure>.<anonymous closure> (package:riverpod/src/async_notifier/base.dart:355)
<asynchronous suspension>
----------------------------------------
[2025-09-12 07:14:11.316731]---------------------
File: /home/runner/work/spotube-plugin-spotify/spotube-plugin-spotify/src/segments/auth.ht
Line: 36, Column: 38
Runtime error: undefined
Message: Undefined identifier [_Timer].
#0 HTInterpreter.processError (package:hetu_script/interpreter/interpreter.dart:303)
#1 HTFunction._call (package:hetu_script/value/function/function.dart:750)
#2 HTFunction.call (package:hetu_script/value/function/function.dart:279)
#3 StreamBinding.hFetch.<anonymous closure>.<anonymous closure> (package:hetu_std/stream/stream.binding.dart:84)
#4 _rootRunUnary (dart:async/zone.dart:1538)
#5 _CustomZone.runUnary (dart:async/zone.dart:1429)
#6 _CustomZone.runUnaryGuarded (dart:async/zone.dart:1329)
#7 _BufferingStreamSubscription._sendData (dart:async/stream_impl.dart:381)
#8 _DelayedData.perform (dart:async/stream_impl.dart:573)
#9 _PendingEvents.handleNext (dart:async/stream_impl.dart:678)
#10 _PendingEvents.schedule.<anonymous closure> (dart:async/stream_impl.dart:649)
#11 _rootRun (dart:async/zone.dart:1517)
#12 _CustomZone.run (dart:async/zone.dart:1422)
#13 _CustomZone.runGuarded (dart:async/zone.dart:1321)
#14 _CustomZone.bindCallbackGuarded.<anonymous closure> (dart:async/zone.dart:1362)
#15 _rootRun (dart:async/zone.dart:1525)
#16 _CustomZone.run (dart:async/zone.dart:1422)
#17 _CustomZone.runGuarded (dart:async/zone.dart:1321)
#18 _CustomZone.bindCallbackGuarded.<anonymous closure> (dart:async/zone.dart:1362)
#19 _microtaskLoop (dart:async/schedule_microtask.dart:40)
#20 _startMicrotaskLoop (dart:async/schedule_microtask.dart:49)
----------------------------------------
[2025-09-12 07:14:11.439630]---------------------
Null check operator used on a null value
#0 Element.widget (package:flutter/src/widgets/framework.dart:3598)
#1 Element.findAncestorWidgetOfExactType (package:flutter/src/widgets/framework.dart:5031)
#2 StackRouterScope.of (package:auto_route/src/router/controller/controller_scope.dart:108)
#3 AutoRouter.of (package:auto_route/src/router/widgets/auto_router.dart:82)
#4 AutoRouterX.router (package:auto_route/src/router/auto_router_x.dart:8)
#5 AutoRouterX.maybePop (package:auto_route/src/router/auto_router_x.dart:32)
#6 MetadataPlugin.create.<anonymous closure> (package:spotube/services/metadata/metadata.dart:63)
#7 Webview.close (package:hetu_spotube_plugin/webview/webview.dart:76)
#8 WebviewBinding.htFetch.<anonymous closure> (package:hetu_spotube_plugin/webview/webview.binding.dart:90)
#9 HTFunction._call (package:hetu_script/value/function/function.dart:649)
#10 HTFunction.call (package:hetu_script/value/function/function.dart:279)
#11 HTInterpreter._call (package:hetu_script/interpreter/interpreter.dart:370)
#12 HTInterpreter._handleCallExpr (package:hetu_script/interpreter/interpreter.dart:2099)
#13 HTInterpreter._execute (package:hetu_script/interpreter/interpreter.dart:1518)
#14 HTInterpreter.execute (package:hetu_script/interpreter/interpreter.dart:1035)
#15 HTFunction._call (package:hetu_script/value/function/function.dart:546)
#16 HTFunction.call (package:hetu_script/value/function/function.dart:279)
#17 StreamBinding.hFetch.<anonymous closure>.<anonymous closure> (package:hetu_std/stream/stream.binding.dart:84)
#18 _rootRunUnary (dart:async/zone.dart:1538)
#19 _CustomZone.runUnary (dart:async/zone.dart:1429)
#20 Future._propagateToListeners.handleValueCallback (dart:async/future_impl.dart:948)
#21 Future._propagateToListeners (dart:async/future_impl.dart:977)
#22 Future._completeWithValue (dart:async/future_impl.dart:720)
<asynchronous suspension>
----------------------------------------
[2025-09-12 07:14:41.004998]---------------------
File: /home/runner/work/spotube-plugin-spotify/spotube-plugin-spotify/dependencies/hetu_spotify_gql_client/lib/assets/hetu/user.ht
Line: 187, Column: 31
Runtime error: undefined
Message: Undefined identifier [artistData].
#0 HTInterpreter.processError (package:hetu_script/interpreter/interpreter.dart:303)
#1 HTFunction._call (package:hetu_script/value/function/function.dart:750)
#2 HTFunction.call (package:hetu_script/value/function/function.dart:279)
#3 StreamBinding.hFetch.<anonymous closure>.<anonymous closure> (package:hetu_std/stream/stream.binding.dart:84)
#4 _rootRunUnary (dart:async/zone.dart:1538)
#5 _CustomZone.runUnary (dart:async/zone.dart:1429)
<asynchronous suspension>
#6 StreamBinding.hFetch.<anonymous closure>.<anonymous closure> (package:hetu_std/stream/stream.binding.dart:84)
<asynchronous suspension>
#7 MetadataPluginUserEndpoint.savedAlbums (package:spotube/services/metadata/endpoints/user.dart:66)
<asynchronous suspension>
#8 MetadataPluginSavedAlbumNotifier.fetch (package:spotube/provider/metadata_plugin/library/albums.dart:13)
<asynchronous suspension>
#9 MetadataPluginSavedAlbumNotifier.build (package:spotube/provider/metadata_plugin/library/albums.dart:22)
<asynchronous suspension>
#10 FutureHandlerProviderElementMixin.handleFuture.<anonymous closure>.<anonymous closure> (package:riverpod/src/async_notifier/base.dart:355)
<asynchronous suspension>
----------------------------------------
[2025-09-12 07:17:52.584995]---------------------
File: /home/runner/work/spotube-plugin-spotify/spotube-plugin-spotify/dependencies/hetu_spotify_gql_client/lib/assets/hetu/user.ht
Line: 187, Column: 31
Runtime error: undefined
Message: Undefined identifier [artistData].
#0 HTInterpreter.processError (package:hetu_script/interpreter/interpreter.dart:303)
#1 HTFunction._call (package:hetu_script/value/function/function.dart:750)
#2 HTFunction.call (package:hetu_script/value/function/function.dart:279)
#3 StreamBinding.hFetch.<anonymous closure>.<anonymous closure> (package:hetu_std/stream/stream.binding.dart:84)
#4 _rootRunUnary (dart:async/zone.dart:1538)
#5 _CustomZone.runUnary (dart:async/zone.dart:1429)
<asynchronous suspension>
#6 StreamBinding.hFetch.<anonymous closure>.<anonymous closure> (package:hetu_std/stream/stream.binding.dart:84)
<asynchronous suspension>
#7 MetadataPluginUserEndpoint.savedAlbums (package:spotube/services/metadata/endpoints/user.dart:66)
<asynchronous suspension>
#8 MetadataPluginSavedAlbumNotifier.fetch (package:spotube/provider/metadata_plugin/library/albums.dart:13)
<asynchronous suspension>
#9 MetadataPluginSavedAlbumNotifier.build (package:spotube/provider/metadata_plugin/library/albums.dart:22)
<asynchronous suspension>
#10 FutureHandlerProviderElementMixin.handleFuture.<anonymous closure>.<anonymous closure> (package:riverpod/src/async_notifier/base.dart:355)
<asynchronous suspension>
----------------------------------------
[2025-09-12 07:17:54.626477]---------------------
File: /home/runner/work/spotube-plugin-spotify/spotube-plugin-spotify/dependencies/hetu_spotify_gql_client/lib/assets/hetu/user.ht
Line: 187, Column: 31
Runtime error: undefined
Message: Undefined identifier [artistData].
#0 HTInterpreter.processError (package:hetu_script/interpreter/interpreter.dart:303)
#1 HTFunction._call (package:hetu_script/value/function/function.dart:750)
#2 HTFunction.call (package:hetu_script/value/function/function.dart:279)
#3 StreamBinding.hFetch.<anonymous closure>.<anonymous closure> (package:hetu_std/stream/stream.binding.dart:84)
#4 _rootRunUnary (dart:async/zone.dart:1538)
#5 _CustomZone.runUnary (dart:async/zone.dart:1429)
<asynchronous suspension>
#6 StreamBinding.hFetch.<anonymous closure>.<anonymous closure> (package:hetu_std/stream/stream.binding.dart:84)
<asynchronous suspension>
#7 MetadataPluginUserEndpoint.savedAlbums (package:spotube/services/metadata/endpoints/user.dart:66)
<asynchronous suspension>
#8 MetadataPluginSavedAlbumNotifier.fetch (package:spotube/provider/metadata_plugin/library/albums.dart:13)
<asynchronous suspension>
#9 MetadataPluginSavedAlbumNotifier.build (package:spotube/provider/metadata_plugin/library/albums.dart:22)
<asynchronous suspension>
#10 FutureHandlerProviderElementMixin.handleFuture.<anonymous closure>.<anonymous closure> (package:riverpod/src/async_notifier/base.dart:355)
<asynchronous suspension>
----------------------------------------
[2025-09-12 07:17:58.117378]---------------------
File: /home/runner/work/spotube-plugin-spotify/spotube-plugin-spotify/dependencies/hetu_spotify_gql_client/lib/assets/hetu/user.ht
Line: 187, Column: 31
Runtime error: undefined
Message: Undefined identifier [artistData].
#0 HTInterpreter.processError (package:hetu_script/interpreter/interpreter.dart:303)
#1 HTFunction._call (package:hetu_script/value/function/function.dart:750)
#2 HTFunction.call (package:hetu_script/value/function/function.dart:279)
#3 StreamBinding.hFetch.<anonymous closure>.<anonymous closure> (package:hetu_std/stream/stream.binding.dart:84)
#4 _rootRunUnary (dart:async/zone.dart:1538)
#5 _CustomZone.runUnary (dart:async/zone.dart:1429)
<asynchronous suspension>
#6 StreamBinding.hFetch.<anonymous closure>.<anonymous closure> (package:hetu_std/stream/stream.binding.dart:84)
<asynchronous suspension>
#7 MetadataPluginUserEndpoint.savedAlbums (package:spotube/services/metadata/endpoints/user.dart:66)
<asynchronous suspension>
#8 MetadataPluginSavedAlbumNotifier.fetch (package:spotube/provider/metadata_plugin/library/albums.dart:13)
<asynchronous suspension>
#9 MetadataPluginSavedAlbumNotifier.build (package:spotube/provider/metadata_plugin/library/albums.dart:22)
<asynchronous suspension>
#10 FutureHandlerProviderElementMixin.handleFuture.<anonymous closure>.<anonymous closure> (package:riverpod/src/async_notifier/base.dart:355)
<asynchronous suspension>
----------------------------------------
[2025-09-12 07:18:10.625993]---------------------
File: /home/runner/work/spotube-plugin-spotify/spotube-plugin-spotify/dependencies/hetu_spotify_gql_client/lib/assets/hetu/user.ht
Line: 187, Column: 31
Runtime error: undefined
Message: Undefined identifier [artistData].
#0 HTInterpreter.processError (package:hetu_script/interpreter/interpreter.dart:303)
#1 HTFunction._call (package:hetu_script/value/function/function.dart:750)
#2 HTFunction.call (package:hetu_script/value/function/function.dart:279)
#3 StreamBinding.hFetch.<anonymous closure>.<anonymous closure> (package:hetu_std/stream/stream.binding.dart:84)
#4 _rootRunUnary (dart:async/zone.dart:1538)
#5 _CustomZone.runUnary (dart:async/zone.dart:1429)
<asynchronous suspension>
#6 StreamBinding.hFetch.<anonymous closure>.<anonymous closure> (package:hetu_std/stream/stream.binding.dart:84)
<asynchronous suspension>
#7 MetadataPluginUserEndpoint.savedAlbums (package:spotube/services/metadata/endpoints/user.dart:66)
<asynchronous suspension>
#8 MetadataPluginSavedAlbumNotifier.fetch (package:spotube/provider/metadata_plugin/library/albums.dart:13)
<asynchronous suspension>
#9 MetadataPluginSavedAlbumNotifier.build (package:spotube/provider/metadata_plugin/library/albums.dart:22)
<asynchronous suspension>
#10 FutureHandlerProviderElementMixin.handleFuture.<anonymous closure>.<anonymous closure> (package:riverpod/src/async_notifier/base.dart:355)
<asynchronous suspension>
----------------------------------------
[2025-09-12 07:19:13.348273]---------------------
File: /home/runner/work/spotube-plugin-spotify/spotube-plugin-spotify/dependencies/hetu_spotify_gql_client/lib/assets/hetu/user.ht
Line: 187, Column: 31
Runtime error: undefined
Message: Undefined identifier [artistData].
#0 HTInterpreter.processError (package:hetu_script/interpreter/interpreter.dart:303)
#1 HTFunction._call (package:hetu_script/value/function/function.dart:750)
#2 HTFunction.call (package:hetu_script/value/function/function.dart:279)
#3 StreamBinding.hFetch.<anonymous closure>.<anonymous closure> (package:hetu_std/stream/stream.binding.dart:84)
#4 _rootRunUnary (dart:async/zone.dart:1538)
#5 _CustomZone.runUnary (dart:async/zone.dart:1429)
<asynchronous suspension>
#6 StreamBinding.hFetch.<anonymous closure>.<anonymous closure> (package:hetu_std/stream/stream.binding.dart:84)
<asynchronous suspension>
#7 MetadataPluginUserEndpoint.savedAlbums (package:spotube/services/metadata/endpoints/user.dart:66)
<asynchronous suspension>
#8 MetadataPluginSavedAlbumNotifier.fetch (package:spotube/provider/metadata_plugin/library/albums.dart:13)
<asynchronous suspension>
#9 MetadataPluginSavedAlbumNotifier.build (package:spotube/provider/metadata_plugin/library/albums.dart:22)
<asynchronous suspension>
#10 FutureHandlerProviderElementMixin.handleFuture.<anonymous closure>.<anonymous closure> (package:riverpod/src/async_notifier/base.dart:355)
<asynchronous suspension>
----------------------------------------
[2025-09-12 07:21:49.479060]---------------------
File: /home/runner/work/spotube-plugin-spotify/spotube-plugin-spotify/dependencies/hetu_spotify_gql_client/lib/assets/hetu/user.ht
Line: 187, Column: 31
Runtime error: undefined
Message: Undefined identifier [artistData].
#0 HTInterpreter.processError (package:hetu_script/interpreter/interpreter.dart:303)
#1 HTFunction._call (package:hetu_script/value/function/function.dart:750)
#2 HTFunction.call (package:hetu_script/value/function/function.dart:279)
#3 StreamBinding.hFetch.<anonymous closure>.<anonymous closure> (package:hetu_std/stream/stream.binding.dart:84)
#4 _rootRunUnary (dart:async/zone.dart:1538)
#5 _CustomZone.runUnary (dart:async/zone.dart:1429)
<asynchronous suspension>
#6 StreamBinding.hFetch.<anonymous closure>.<anonymous closure> (package:hetu_std/stream/stream.binding.dart:84)
<asynchronous suspension>
#7 MetadataPluginUserEndpoint.savedAlbums (package:spotube/services/metadata/endpoints/user.dart:66)
<asynchronous suspension>
#8 MetadataPluginSavedAlbumNotifier.fetch (package:spotube/provider/metadata_plugin/library/albums.dart:13)
<asynchronous suspension>
#9 MetadataPluginSavedAlbumNotifier.build (package:spotube/provider/metadata_plugin/library/albums.dart:22)
<asynchronous suspension>
#10 FutureHandlerProviderElementMixin.handleFuture.<anonymous closure>.<anonymous closure> (package:riverpod/src/async_notifier/base.dart:355)
<asynchronous suspension>
----------------------------------------
[2025-09-12 07:24:31.733957]---------------------
type 'Null' is not a subtype of type 'String' in type cast
#0 _$$InvidiousMonitorImplFromJson (package:invidious/src/models/model.g.dart:477)
#1 new _$InvidiousMonitorImpl.fromJson (package:invidious/src/models/model.freezed.dart:5728)
#2 _$InvidiousMonitorFromJson (package:invidious/src/models/model.freezed.dart:5309)
#3 new InvidiousMonitor.fromJson (package:invidious/src/models/responses/instance.dart:128)
#4 _$$InvidiousInstanceDetailsImplFromJson (package:invidious/src/models/model.g.dart:361)
#5 new _$InvidiousInstanceDetailsImpl.fromJson (package:invidious/src/models/model.freezed.dart:4092)
#6 _$InvidiousInstanceDetailsFromJson (package:invidious/src/models/model.freezed.dart:3858)
#7 new InvidiousInstanceDetails.fromJson (package:invidious/src/models/responses/instance.dart:28)
#8 _$$InvidiousInstanceResponseImplFromJson (package:invidious/src/models/model.g.dart:336)
#9 new _$InvidiousInstanceResponseImpl.fromJson (package:invidious/src/models/model.freezed.dart:3792)
#10 _$InvidiousInstanceResponseFromJson (package:invidious/src/models/model.freezed.dart:3668)
#11 new InvidiousInstanceResponse.fromJson (package:invidious/src/models/responses/instance.dart:11)
#12 InstancesEndpoint.instances.<anonymous closure> (package:invidious/src/endpoints/instances.dart:13)
#13 MappedIterable.elementAt (dart:_internal/iterable.dart:402)
#14 ListIterator.moveNext (dart:_internal/iterable.dart:371)
#15 new _GrowableList._ofEfficientLengthIterable (dart:core-patch/growable_array.dart:194)
#16 new _GrowableList.of (dart:core-patch/growable_array.dart:154)
#17 new List.of (dart:core-patch/array_patch.dart:39)
#18 SetBase.toList (dart:collection/set.dart:119)
#19 InstancesEndpoint.instances (package:invidious/src/endpoints/instances.dart:17)
<asynchronous suspension>
#20 invidiousInstancesProvider.<anonymous closure> (package:spotube/provider/audio_player/sources/invidious_instances_provider.dart:7)
<asynchronous suspension>
#21 FutureHandlerProviderElementMixin.handleFuture.<anonymous closure>.<anonymous closure> (package:riverpod/src/async_notifier/base.dart:355)
<asynchronous suspension>
----------------------------------------
[2025-09-12 07:24:52.584719]---------------------
Option af: dynaudnorm doesn't exist.
#0 new AudioPlayerInterface.<anonymous closure> (package:spotube/services/audio_player/audio_player.dart:62)
#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.<anonymous closure> (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.<anonymous closure> (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.<anonymous closure> (dart:async/zone.dart:1362)
#16 _microtaskLoop (dart:async/schedule_microtask.dart:40)
#17 _startMicrotaskLoop (dart:async/schedule_microtask.dart:49)
----------------------------------------
---------
[2025-09-12 07:24:52.591747]---------------------
Option af: dynaudnorm doesn't exist.
#0 new AudioPlayerInterface.<anonymous closure> (package:spotube/services/audio_player/audio_player.dart:62)
#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.<anonymous closure> (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.<anonymous closure> (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.<anonymous closure> (dart:async/zone.dart:1362)
#16 _microtaskLoop (dart:async/schedule_microtask.dart:40)
#17 _startMicrotaskLoop (dart:async/schedule_microtask.dart:49)
----------------------------------------
---------
[2025-09-12 07:49:00.924950]---------------------
[MediaKitError]
Failed to open http://0.0.0.0:17135/stream/0HpJb4Lstb9R6wlu2jUBoy?id=0HpJb4Lstb9R6wlu2jUBoy&title=Sound%20Check%20(Gravity)&artists=Gorillaz&album=Gorillaz&durationMs=282973&isrc=GBAYE0001454&explicit=false.
#0 new CustomPlayer.<anonymous closure> (package:spotube/services/audio_player/custom_player.dart:47)
#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.<anonymous closure> (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.<anonymous closure> (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.<anonymous closure> (dart:async/zone.dart:1362)
#16 _microtaskLoop (dart:async/schedule_microtask.dart:40)
#17 _startMicrotaskLoop (dart:async/schedule_microtask.dart:49)
----------------------------------------
[2025-09-12 09:10:19.828307]---------------------
DioException [bad response]: This exception was thrown because the response has a status code of 401 and RequestOptions.validateStatus was configured to throw for this status code.
The status code of 401 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)
<asynchronous suspension>
#1 HttpClient.request (package:hetu_std/http/http.dart:146)
<asynchronous suspension>
#2 HttpClient.get (package:hetu_std/http/http.dart:175)
<asynchronous suspension>
#3 StreamBinding.hFetch.<anonymous closure>.<anonymous closure> (package:hetu_std/stream/stream.binding.dart:84)
<asynchronous suspension>
#4 StreamBinding.hFetch.<anonymous closure>.<anonymous closure> (package:hetu_std/stream/stream.binding.dart:84)
<asynchronous suspension>
#5 MetadataPluginArtistEndpoint.getArtist (package:spotube/services/metadata/endpoints/artist.dart:14)
<asynchronous suspension>
#6 Future.wait.<anonymous closure> (dart:async/future.dart:525)
<asynchronous suspension>
#7 AudioPlayerStreamListeners.subscribeToScrobbleChanged.<anonymous closure> (package:spotube/provider/audio_player/audio_player_streams.dart:118)
<asynchronous suspension>
----------------------------------------
[2025-09-12 09:12:31.391477]---------------------
DioException [bad response]: This exception was thrown because the response has a status code of 401 and RequestOptions.validateStatus was configured to throw for this status code.
The status code of 401 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)
<asynchronous suspension>
#1 HttpClient.request (package:hetu_std/http/http.dart:146)
<asynchronous suspension>
#2 HttpClient.get (package:hetu_std/http/http.dart:175)
<asynchronous suspension>
#3 StreamBinding.hFetch.<anonymous closure>.<anonymous closure> (package:hetu_std/stream/stream.binding.dart:84)
<asynchronous suspension>
#4 StreamBinding.hFetch.<anonymous closure>.<anonymous closure> (package:hetu_std/stream/stream.binding.dart:84)
<asynchronous suspension>
#5 MetadataPluginArtistEndpoint.getArtist (package:spotube/services/metadata/endpoints/artist.dart:14)
<asynchronous suspension>
#6 Future.wait.<anonymous closure> (dart:async/future.dart:525)
<asynchronous suspension>
#7 AudioPlayerStreamListeners.subscribeToScrobbleChanged.<anonymous closure> (package:spotube/provider/audio_player/audio_player_streams.dart:118)
<asynchronous suspension>
----------------------------------------
[2025-09-12 09:16:02.976219]---------------------
DioException [bad response]: This exception was thrown because the response has a status code of 401 and RequestOptions.validateStatus was configured to throw for this status code.
The status code of 401 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)
<asynchronous suspension>
#1 HttpClient.request (package:hetu_std/http/http.dart:146)
<asynchronous suspension>
#2 HttpClient.get (package:hetu_std/http/http.dart:175)
<asynchronous suspension>
#3 StreamBinding.hFetch.<anonymous closure>.<anonymous closure> (package:hetu_std/stream/stream.binding.dart:84)
<asynchronous suspension>
#4 StreamBinding.hFetch.<anonymous closure>.<anonymous closure> (package:hetu_std/stream/stream.binding.dart:84)
<asynchronous suspension>
#5 MetadataPluginArtistEndpoint.getArtist (package:spotube/services/metadata/endpoints/artist.dart:14)
<asynchronous suspension>
#6 Future.wait.<anonymous closure> (dart:async/future.dart:525)
<asynchronous suspension>
#7 AudioPlayerStreamListeners.subscribeToScrobbleChanged.<anonymous closure> (package:spotube/provider/audio_player/audio_player_streams.dart:118)
<asynchronous suspension>
----------------------------------------
[2025-09-12 09:20:14.452809]---------------------
DioException [bad response]: This exception was thrown because the response has a status code of 401 and RequestOptions.validateStatus was configured to throw for this status code.
The status code of 401 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)
<asynchronous suspension>
#1 HttpClient.request (package:hetu_std/http/http.dart:146)
<asynchronous suspension>
#2 HttpClient.get (package:hetu_std/http/http.dart:175)
<asynchronous suspension>
#3 StreamBinding.hFetch.<anonymous closure>.<anonymous closure> (package:hetu_std/stream/stream.binding.dart:84)
<asynchronous suspension>
#4 StreamBinding.hFetch.<anonymous closure>.<anonymous closure> (package:hetu_std/stream/stream.binding.dart:84)
<asynchronous suspension>
#5 MetadataPluginArtistEndpoint.getArtist (package:spotube/services/metadata/endpoints/artist.dart:14)
<asynchronous suspension>
#6 Future.wait.<anonymous closure> (dart:async/future.dart:525)
<asynchronous suspension>
#7 AudioPlayerStreamListeners.subscribeToScrobbleChanged.<anonymous closure> (package:spotube/provider/audio_player/audio_player_streams.dart:118)
<asynchronous suspension>
----------------------------------------
[2025-09-12 09:24:28.435566]---------------------
DioException [bad response]: This exception was thrown because the response has a status code of 401 and RequestOptions.validateStatus was configured to throw for this status code.
The status code of 401 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)
<asynchronous suspension>
#1 HttpClient.request (package:hetu_std/http/http.dart:146)
<asynchronous suspension>
#2 HttpClient.get (package:hetu_std/http/http.dart:175)
<asynchronous suspension>
#3 StreamBinding.hFetch.<anonymous closure>.<anonymous closure> (package:hetu_std/stream/stream.binding.dart:84)
<asynchronous suspension>
#4 StreamBinding.hFetch.<anonymous closure>.<anonymous closure> (package:hetu_std/stream/stream.binding.dart:84)
<asynchronous suspension>
#5 MetadataPluginArtistEndpoint.getArtist (package:spotube/services/metadata/endpoints/artist.dart:14)
<asynchronous suspension>
#6 Future.wait.<anonymous closure> (dart:async/future.dart:525)
<asynchronous suspension>
#7 AudioPlayerStreamListeners.subscribeToScrobbleChanged.<anonymous closure> (package:spotube/provider/audio_player/audio_player_streams.dart:118)
<asynchronous suspension>
----------------------------------------
[2025-09-12 09:28:14.756911]---------------------
DioException [bad response]: This exception was thrown because the response has a status code of 401 and RequestOptions.validateStatus was configured to throw for this status code.
The status code of 401 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)
<asynchronous suspension>
#1 HttpClient.request (package:hetu_std/http/http.dart:146)
<asynchronous suspension>
#2 HttpClient.get (package:hetu_std/http/http.dart:175)
<asynchronous suspension>
#3 StreamBinding.hFetch.<anonymous closure>.<anonymous closure> (package:hetu_std/stream/stream.binding.dart:84)
<asynchronous suspension>
#4 StreamBinding.hFetch.<anonymous closure>.<anonymous closure> (package:hetu_std/stream/stream.binding.dart:84)
<asynchronous suspension>
#5 MetadataPluginArtistEndpoint.getArtist (package:spotube/services/metadata/endpoints/artist.dart:14)
<asynchronous suspension>
#6 Future.wait.<anonymous closure> (dart:async/future.dart:525)
<asynchronous suspension>
#7 AudioPlayerStreamListeners.subscribeToScrobbleChanged.<anonymous closure> (package:spotube/provider/audio_player/audio_player_streams.dart:118)
<asynchronous suspension>
----------------------------------------
[2025-09-12 09:32:06.282804]---------------------
DioException [bad response]: This exception was thrown because the response has a status code of 401 and RequestOptions.validateStatus was configured to throw for this status code.
The status code of 401 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)
<asynchronous suspension>
#1 HttpClient.request (package:hetu_std/http/http.dart:146)
<asynchronous suspension>
#2 HttpClient.get (package:hetu_std/http/http.dart:175)
<asynchronous suspension>
#3 StreamBinding.hFetch.<anonymous closure>.<anonymous closure> (package:hetu_std/stream/stream.binding.dart:84)
<asynchronous suspension>
#4 StreamBinding.hFetch.<anonymous closure>.<anonymous closure> (package:hetu_std/stream/stream.binding.dart:84)
<asynchronous suspension>
#5 MetadataPluginArtistEndpoint.getArtist (package:spotube/services/metadata/endpoints/artist.dart:14)
<asynchronous suspension>
#6 Future.wait.<anonymous closure> (dart:async/future.dart:525)
<asynchronous suspension>
#7 AudioPlayerStreamListeners.subscribeToScrobbleChanged.<anonymous closure> (package:spotube/provider/audio_player/audio_player_streams.dart:118)
<asynchronous suspension>
----------------------------------------
[2025-09-12 09:36:31.850290]---------------------
DioException [bad response]: This exception was thrown because the response has a status code of 401 and RequestOptions.validateStatus was configured to throw for this status code.
The status code of 401 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)
<asynchronous suspension>
#1 HttpClient.request (package:hetu_std/http/http.dart:146)
<asynchronous suspension>
#2 HttpClient.get (package:hetu_std/http/http.dart:175)
<asynchronous suspension>
#3 StreamBinding.hFetch.<anonymous closure>.<anonymous closure> (package:hetu_std/stream/stream.binding.dart:84)
<asynchronous suspension>
#4 StreamBinding.hFetch.<anonymous closure>.<anonymous closure> (package:hetu_std/stream/stream.binding.dart:84)
<asynchronous suspension>
#5 MetadataPluginArtistEndpoint.getArtist (package:spotube/services/metadata/endpoints/artist.dart:14)
<asynchronous suspension>
#6 Future.wait.<anonymous closure> (dart:async/future.dart:525)
<asynchronous suspension>
#7 AudioPlayerStreamListeners.subscribeToScrobbleChanged.<anonymous closure> (package:spotube/provider/audio_player/audio_player_streams.dart:118)
<asynchronous suspension>
----------------------------------------
[2025-09-12 09:40:22.918042]---------------------
DioException [bad response]: This exception was thrown because the response has a status code of 401 and RequestOptions.validateStatus was configured to throw for this status code.
The status code of 401 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)
<asynchronous suspension>
#1 HttpClient.request (package:hetu_std/http/http.dart:146)
<asynchronous suspension>
#2 HttpClient.get (package:hetu_std/http/http.dart:175)
<asynchronous suspension>
#3 StreamBinding.hFetch.<anonymous closure>.<anonymous closure> (package:hetu_std/stream/stream.binding.dart:84)
<asynchronous suspension>
#4 StreamBinding.hFetch.<anonymous closure>.<anonymous closure> (package:hetu_std/stream/stream.binding.dart:84)
<asynchronous suspension>
#5 MetadataPluginArtistEndpoint.getArtist (package:spotube/services/metadata/endpoints/artist.dart:14)
<asynchronous suspension>
#6 Future.wait.<anonymous closure> (dart:async/future.dart:525)
<asynchronous suspension>
#7 AudioPlayerStreamListeners.subscribeToScrobbleChanged.<anonymous closure> (package:spotube/provider/audio_player/audio_player_streams.dart:118)
<asynchronous suspension>
----------------------------------------
[2025-09-12 09:43:32.199523]---------------------
DioException [bad response]: This exception was thrown because the response has a status code of 401 and RequestOptions.validateStatus was configured to throw for this status code.
The status code of 401 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)
<asynchronous suspension>
#1 HttpClient.request (package:hetu_std/http/http.dart:146)
<asynchronous suspension>
#2 HttpClient.get (package:hetu_std/http/http.dart:175)
<asynchronous suspension>
#3 StreamBinding.hFetch.<anonymous closure>.<anonymous closure> (package:hetu_std/stream/stream.binding.dart:84)
<asynchronous suspension>
#4 StreamBinding.hFetch.<anonymous closure>.<anonymous closure> (package:hetu_std/stream/stream.binding.dart:84)
<asynchronous suspension>
#5 MetadataPluginArtistEndpoint.getArtist (package:spotube/services/metadata/endpoints/artist.dart:14)
<asynchronous suspension>
#6 Future.wait.<anonymous closure> (dart:async/future.dart:525)
<asynchronous suspension>
#7 AudioPlayerStreamListeners.subscribeToScrobbleChanged.<anonymous closure> (package:spotube/provider/audio_player/audio_player_streams.dart:118)
<asynchronous suspension>
----------------------------------------
[2025-09-12 09:46:25.732069]---------------------
DioException [bad response]: This exception was thrown because the response has a status code of 401 and RequestOptions.validateStatus was configured to throw for this status code.
The status code of 401 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)
<asynchronous suspension>
#1 HttpClient.request (package:hetu_std/http/http.dart:146)
<asynchronous suspension>
#2 HttpClient.get (package:hetu_std/http/http.dart:175)
<asynchronous suspension>
#3 StreamBinding.hFetch.<anonymous closure>.<anonymous closure> (package:hetu_std/stream/stream.binding.dart:84)
<asynchronous suspension>
#4 StreamBinding.hFetch.<anonymous closure>.<anonymous closure> (package:hetu_std/stream/stream.binding.dart:84)
<asynchronous suspension>
#5 MetadataPluginArtistEndpoint.getArtist (package:spotube/services/metadata/endpoints/artist.dart:14)
<asynchronous suspension>
#6 Future.wait.<anonymous closure> (dart:async/future.dart:525)
<asynchronous suspension>
#7 AudioPlayerStreamListeners.subscribeToScrobbleChanged.<anonymous closure> (package:spotube/provider/audio_player/audio_player_streams.dart:118)
<asynchronous suspension>
----------------------------------------
[2025-09-12 09:49:35.424506]---------------------
DioException [bad response]: This exception was thrown because the response has a status code of 401 and RequestOptions.validateStatus was configured to throw for this status code.
The status code of 401 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)
<asynchronous suspension>
#1 HttpClient.request (package:hetu_std/http/http.dart:146)
<asynchronous suspension>
#2 HttpClient.get (package:hetu_std/http/http.dart:175)
<asynchronous suspension>
#3 StreamBinding.hFetch.<anonymous closure>.<anonymous closure> (package:hetu_std/stream/stream.binding.dart:84)
<asynchronous suspension>
#4 StreamBinding.hFetch.<anonymous closure>.<anonymous closure> (package:hetu_std/stream/stream.binding.dart:84)
<asynchronous suspension>
#5 MetadataPluginArtistEndpoint.getArtist (package:spotube/services/metadata/endpoints/artist.dart:14)
<asynchronous suspension>
#6 Future.wait.<anonymous closure> (dart:async/future.dart:525)
<asynchronous suspension>
#7 AudioPlayerStreamListeners.subscribeToScrobbleChanged.<anonymous closure> (package:spotube/provider/audio_player/audio_player_streams.dart:118)
<asynchronous suspension>
----------------------------------------
[2025-09-12 10:15:29.149783]---------------------
[MediaKitError]
Failed to open http://0.0.0.0:17135/stream/0Y8nVuIY0Aac9kOyKkKAHA?id=0Y8nVuIY0Aac9kOyKkKAHA&title=Hongkongaton&artists=Gorillaz&album=D-Sides%20%5BSpecial%20Edition%5D&durationMs=215626&isrc=GBAYE0501586&explicit=false.
#0 new CustomPlayer.<anonymous closure> (package:spotube/services/audio_player/custom_player.dart:47)
#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.<anonymous closure> (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.<anonymous closure> (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.<anonymous closure> (dart:async/zone.dart:1362)
#16 _microtaskLoop (dart:async/schedule_microtask.dart:40)
#17 _startMicrotaskLoop (dart:async/schedule_microtask.dart:49)
----------------------------------------
[2025-09-12 10:19:26.024548]---------------------
DioException [unknown]: null
Error: SocketException: Connection failed (OS Error: Network is unreachable, errno = 101), address = rr1---sn-j5cax8pnpvo-x1xl7.googlevideo.com, port = 443
#0 DioMixin.fetch (package:dio/src/dio_mixin.dart:523)
<asynchronous suspension>
#1 ServerPlaybackRoutes.streamTrack (package:spotube/provider/server/routes/playback.dart:103)
<asynchronous suspension>
#2 ServerPlaybackRoutes.getStreamTrackId (package:spotube/provider/server/routes/playback.dart:234)
<asynchronous suspension>
#3 RouterEntry.invoke.<anonymous closure> (package:shelf_router/src/router_entry.dart:109)
<asynchronous suspension>
#4 RouterEntry.invoke (package:shelf_router/src/router_entry.dart:104)
<asynchronous suspension>
#5 Router.call (package:shelf_router/src/router.dart:184)
<asynchronous suspension>
#6 handleRequest (package:shelf/shelf_io.dart:140)
<asynchronous suspension>
----------------------------------------
[2025-09-12 10:21:37.097346]---------------------
DioException [unknown]: null
Error: SocketException: Connection failed (OS Error: Network is unreachable, errno = 101), address = rr1---sn-j5cax8pnpvo-x1xl7.googlevideo.com, port = 443
#0 DioMixin.fetch (package:dio/src/dio_mixin.dart:523)
<asynchronous suspension>
#1 YoutubeSourcedTrack.refreshStream (package:spotube/services/sourced_track/sources/youtube.dart:400)
<asynchronous suspension>
#2 TrackSourcesNotifier.refreshStreamingUrl.<anonymous closure> (package:spotube/provider/server/track_sources.dart:22)
<asynchronous suspension>
#3 AsyncNotifierBase.update (package:riverpod/src/async_notifier.dart:113)
<asynchronous suspension>
#4 TrackSourcesNotifier.refreshStreamingUrl (package:spotube/provider/server/track_sources.dart:21)
<asynchronous suspension>
#5 ServerPlaybackRoutes.streamTrack.<anonymous closure> (package:spotube/provider/server/routes/playback.dart:111)
<asynchronous suspension>
#6 ServerPlaybackRoutes.streamTrack (package:spotube/provider/server/routes/playback.dart:103)
<asynchronous suspension>
#7 ServerPlaybackRoutes.getStreamTrackId (package:spotube/provider/server/routes/playback.dart:234)
<asynchronous suspension>
#8 RouterEntry.invoke.<anonymous closure> (package:shelf_router/src/router_entry.dart:109)
<asynchronous suspension>
#9 RouterEntry.invoke (package:shelf_router/src/router_entry.dart:104)
<asynchronous suspension>
#10 Router.call (package:shelf_router/src/router.dart:184)
<asynchronous suspension>
#11 handleRequest (package:shelf/shelf_io.dart:140)
<asynchronous suspension>
----------------------------------------
[2025-09-12 10:32:46.142763]---------------------
Failed to open http://0.0.0.0:17135/stream/0p3wrdTGpm30M6xQAS9sCi?id=0p3wrdTGpm30M6xQAS9sCi&title=Rockit&artists=Gorillaz&album=D-Sides%20%5BSpecial%20Edition%5D&durationMs=213400&isrc=GBAYE0702865&explicit=false.
#0 new AudioPlayerInterface.<anonymous closure> (package:spotube/services/audio_player/audio_player.dart:62)
#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.<anonymous closure> (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.<anonymous closure> (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.<anonymous closure> (dart:async/zone.dart:1362)
#16 _microtaskLoop (dart:async/schedule_microtask.dart:40)
#17 _startMicrotaskLoop (dart:async/schedule_microtask.dart:49)
>
Operating System
Android
Spotube version
v5.0.0
Installation source
Website (spotube.krtirtho.dev)
Additional information
My cell phone is a Xiaomi Redmi Note 13 pro 4G
Self grab
- [ ] I'm ready to work on this issue!