Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Personal created playlist unable to load or play #670

Closed
1 task done
rdlr88 opened this issue Aug 29, 2023 · 16 comments · Fixed by #707
Closed
1 task done

Personal created playlist unable to load or play #670

rdlr88 opened this issue Aug 29, 2023 · 16 comments · Fixed by #707
Labels
bug Something isn't working

Comments

@rdlr88
Copy link

rdlr88 commented Aug 29, 2023

Is there an existing issue for this?

  • I have searched the existing issues

Current Behavior

When trying to open a created playlist of mine is unable to load it just shows a grey space and doesn't load the playlist

Expected Behavior

To load the playlist and be able also to rearrange order correctly and play the songs

Steps to reproduce

I open the app
Navigate to library, opening a personal created playlists and then it just stuck on a grey space

Operating System

Android and windows

Spotube version

3.1.1

Installation source

Website (spotube.netlify.app) or (spotube.krtirtho.dev)

Additional information

No response

@rdlr88 rdlr88 added the bug Something isn't working label Aug 29, 2023
@youlebret
Copy link

Hi, i Have same behavior on v3.1.1
I think it has something to do with the number of songs in the playlist, because for "short playlist" i got ( < 120 songs) spotube has no issue to load my playlist.

@KRTirtho
Copy link
Owner

@youlebret u r right. Currently, fetches all tracks at once without any pagination
Most of the time it loads after waiting for sometime. But it can also fail if the playlist is huge

@rdlr88
Copy link
Author

rdlr88 commented Aug 29, 2023

Well for my case it's a big playlist , over 1000 songs so it just won't load at all

@victj99
Copy link
Contributor

victj99 commented Sep 5, 2023

Hi. I have same problem, but my playlist has 163 songs.

This is the log.
------- DEVICE INFO -------
computerName: DESKTOP-5AJ03HP
numberOfCores: 12
systemMemoryInMegabytes: 8192
------- APP INFO -------
environment: release
version: 3.1.1
appName: spotube
buildNumber:
packageName: spotube
---------- ERROR ----------
Null check operator used on a null value
------- STACK TRACE -------
#0 PlaylistView.build.. (package:spotube/pages/playlist/playlist.dart:75)
#1 ListBase.any (dart:collection/list.dart:114)
#2 PlaylistView.build. (package:spotube/pages/playlist/playlist.dart:75)
#3 _MemoizedHookState.value (package:flutter_hooks/src/primitives.dart:82)
#4 _MemoizedHookState.build (package:flutter_hooks/src/primitives.dart)
#5 HookElement._use (package:flutter_hooks/src/framework.dart:484)
#6 Hook.use (package:flutter_hooks/src/framework.dart:139)
#7 use (package:flutter_hooks/src/framework.dart:18)
#8 useMemoized (package:flutter_hooks/src/primitives.dart:61)
#9 PlaylistView.build (package:spotube/pages/playlist/playlist.dart:72)
#10 _ConsumerState.build (package:flutter_riverpod/src/consumer.dart:477)
#11 StatefulElement.build (package:flutter/src/widgets/framework.dart:5198)
#12 ConsumerStatefulElement.build (package:flutter_riverpod/src/consumer.dart:538)
#13 HookElement.build (package:flutter_hooks/src/framework.dart:436)
#14 ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:5086)
#15 StatefulElement.performRebuild (package:flutter/src/widgets/framework.dart:5251)
#16 Element.rebuild (package:flutter/src/widgets/framework.dart:4805)
#17 BuildOwner.buildScope (package:flutter/src/widgets/framework.dart:2780)
#18 WidgetsBinding.drawFrame (package:flutter/src/widgets/binding.dart:903)
#19 RendererBinding._handlePersistentFrameCallback (package:flutter/src/rendering/binding.dart:358)
#20 SchedulerBinding._invokeFrameCallback (package:flutter/src/scheduler/binding.dart:1284)
#21 SchedulerBinding.handleDrawFrame (package:flutter/src/scheduler/binding.dart:1214)
#22 SchedulerBinding._handleDrawFrame (package:flutter/src/scheduler/binding.dart:1072)
#23 _invoke (dart:ui/hooks.dart:142)
#24 PlatformDispatcher._drawFrame (dart:ui/platform_dispatcher.dart:359)
#25 _drawFrame (dart:ui/hooks.dart:112)
------- CUSTOM INFO -------

@rramirezg22
Copy link

Pagination hasn't solved large playlists issues...

@pl1nk
Copy link

pl1nk commented Dec 15, 2023

I have this issue, still not fixed 1000+ tracks playlist

@rramirezg22
Copy link

I gave up on Spotube and large playlists.

My current alternative: export with "spotify_to_ytmusic" and play with InnerTune

@KRTirtho
Copy link
Owner

Do you guys have local tracks in those Playlist? If the playlist is public, please share.

@rramirezg22
Copy link

Do you guys have local tracks in those Playlist? If the playlist is public, please share.

no local tracks.

Please try with this playlist that I made public temporally:

https://open.spotify.com/playlist/2iPo2COjAR4N0wz783bcNS?si=a574b231f5ca4dd0

@KRTirtho
Copy link
Owner

First of all, dude, that was like the best playlist ever.

And I see the problem, because it consists of over 1200+ songs while you try to play the whole playlist, it takes time to fully fetch the entire playlist.
Imo, it should start playing the available tracks and should fetch the rest of 'em in the background. The API latency needs to be taken into account as well. It's generally lower for the official Spotify client compared to the API they provide for 3rd party applications.

@rramirezg22
Copy link

First of all, dude, that was like the best playlist ever.
hey! thanks! glad you like Rock!

And I see the problem, because it consists of over 1200+ songs while you try to play the whole playlist, it takes time to fully fetch the entire playlist. Imo, it should start playing the available tracks and should fetch the rest of 'em in the background. The API latency needs to be taken into account as well. It's generally lower for the official Spotify client compared to the API they provide for 3rd party applications.

And that's the problem... most of the time it simply does not play. A few times it plays but after a really long wait time.
Any chance you could implement a delay background update and start immediate playing with the last version of the playlist stored locally?

@KRTirtho
Copy link
Owner

My solution is:
Fetch few songs (e.g. first 100 tracks) at first and start to play it immediately. Then, in the background, load up the rest of the playlist while the loaded up tracks are being played.

@rramirezg22
Copy link

My solution is: Fetch few songs (e.g. first 100 tracks) at first and start to play it immediately. Then, in the background, load up the rest of the playlist while the loaded up tracks are being played.

Thank you! Please let us know when your solution is implemented and merged to try it.

@FreezyEx
Copy link

Same issue here.

@rramirezg22
Copy link

My solution is: Fetch few songs (e.g. first 100 tracks) at first and start to play it immediately. Then, in the background, load up the rest of the playlist while the loaded up tracks are being played.

Hello KRTirtho! Any updates on this issue ?

@KRTirtho KRTirtho moved this to Backlog in Spotube Board Jun 1, 2024
@KRTirtho
Copy link
Owner

KRTirtho commented Jun 1, 2024

Sorry, I forgot add it to the Project board. Thus the delay.
I'm working on this currently

KRTirtho added a commit that referenced this issue Jun 1, 2024
@KRTirtho KRTirtho moved this from Backlog to Done in Spotube Board Jun 1, 2024
KRTirtho added a commit that referenced this issue Jun 3, 2024
* chore: fix analyzer issues

* fix(updater): dead link (#1408)

* docs: broken link in README.md (fixes #1310) (#1311)

* docs: remove appimage link in readme #1082 (#1171)

* Updating Readme according to #1082

Updating Readme according to #1082

* Added explanation

The explanation is now given and the expression is more formal and explanatory, instead of just linking the issue.

* Update use_update_checker.dart

---------

Co-authored-by: MerkomassDev <[email protected]>
Co-authored-by: Karim <[email protected]>
Co-authored-by: Kingkor Roy Tirtho <[email protected]>

* fix(linux): tray icon not showing #541

upgrade old packages

* fix(search): load more button not working #1417

* fix: spotify friends and user profile icon (mobile) showing when not authenticated #1410

* chore: add docker and m1 based linux arm build

* cd: fix sed failing us

* cd: use docker cask

* fix: windows SSL Certificate error breaking login #905 (#1474)

* fix: certificate error by using custom ssl certificate

* Cd/docker linux ar (#1468)

* cd: use docker buildx

* cd: use linux host for linux arm instead of macos m1

m1 doesn't support nested virtualization. (Apple truly sucks)

* cd: don't specify arch in Dockerfile

* cd: use custom Dockerfile from ubuntu instead of flutter image

* cd: add setup java for android

* cd: add flutter distributor pre-built docker image for arm

* cd: save me from this cursed arm build

* cd: ??

* cd: ??

* cd: use docker build

* fix: windows SSL Exception for Signing in

* refactor: extract update checker as a basic function instead of a hook

* cd: fix windows build error due to nightly version format

* cd: fix github versioning scheme

* chore:  remove assets/ca entry in pubspec.yaml

* fix(macos): Logs directory not created by default #1353

* refactor: Dart based Github Workflow CLI (#1490)

* feat: add build dart script for windows

* feat: add android build support

* feat: add linux build support

* feat: add macos build support

* feat: add ios build support

* feat: add deps install command and workflow file

* cd: what?

* cd: what?

* cd: what?

* cd: update workflow inputs

* cd: replace release binary

* cd: run flutter pub get

* cd: use dpkg zstd instead of xz, windows disable innoInstall, fix channel enum.name and reset pubspec after changing build no for nightly

* cd: fix tar copy path

* cd: fix copy linux command

* cd: fix windows inno depend and fix android aab path

* cd: idk

* cd: linux why???

* cd: windows choco copy failed

* cd: use dart tar archive for creating tar file

* cd: fix linux file copy error

* cd: use tar command directly

* feat: add linux_arm platform

* cd: add linux_arm platform

* cd: don't know what?

* feat: notification about nightly channel update

* chore: fix some errors parsing nightly version info

* refactor: move dart scripts as commands under CLI

* chore: add translated message command to command list

* feat(translations): add Basque translation (#1493)

* added Basque translation

* chore: fix country codes and language native name

---------

Co-authored-by: Kingkor Roy Tirtho <[email protected]>

* feat(translations): add georgian language (#1450)

* feat: add georgian language

* feat: translate more georgian words

* feat(translations): add Finnish translations (#1449)

* docs: broken link in README.md (fixes #1310) (#1311)

* docs: remove appimage link in readme #1082 (#1171)

* Updating Readme according to #1082

Updating Readme according to #1082

* Added explanation

The explanation is now given and the expression is more formal and explanatory, instead of just linking the issue.

* added finnish translation

* chore: fix arb syntax errors and language in l10n entries

---------

Co-authored-by: MerkomassDev <[email protected]>
Co-authored-by: Karim <[email protected]>
Co-authored-by: Kingkor Roy Tirtho <[email protected]>
Co-authored-by: Onni Nevala <[email protected]>

* feat(translations): add Indonesian translation (#1426)

* docs: broken link in README.md (fixes #1310) (#1311)

* docs: remove appimage link in readme #1082 (#1171)

* Updating Readme according to #1082

Updating Readme according to #1082

* Added explanation

The explanation is now given and the expression is more formal and explanatory, instead of just linking the issue.

* Add Indonesia translation

---------

Co-authored-by: MerkomassDev <[email protected]>
Co-authored-by: Karim <[email protected]>
Co-authored-by: Kingkor Roy Tirtho <[email protected]>

* feat(translations): Improve tr locales (#1419)

* docs: broken link in README.md (fixes #1310) (#1311)

* docs: remove appimage link in readme #1082 (#1171)

* Updating Readme according to #1082

Updating Readme according to #1082

* Added explanation

The explanation is now given and the expression is more formal and explanatory, instead of just linking the issue.

* Improve tr locales

---------

Co-authored-by: MerkomassDev <[email protected]>
Co-authored-by: Karim <[email protected]>
Co-authored-by: Kingkor Roy Tirtho <[email protected]>

* feat(player): add volume slider floating label showing percentage (#1445)

* docs: broken link in README.md (fixes #1310) (#1311)

* docs: remove appimage link in readme #1082 (#1171)

* Updating Readme according to #1082

Updating Readme according to #1082

* Added explanation

The explanation is now given and the expression is more formal and explanatory, instead of just linking the issue.

* add volume level tooltip in volume_slider

---------

Co-authored-by: MerkomassDev <[email protected]>
Co-authored-by: Karim <[email protected]>
Co-authored-by: Kingkor Roy Tirtho <[email protected]>

* fix: fallback to LRCLIB when lyrics line less than 6 lines #1461

* feat: Local music library (#1479)

* feat: add one additional library folder

This folder just doesn't get downloaded to.
I think I'm going to rework it so that it can be multiple folders,
but I'm going to commit my progress so far anyway.

Signed-off-by: Blake Leonard <[email protected]>

* chore: update dependencies so that it builds

I'm not sure if this breaks CI or something, but I couldn't build
it locally to test my changes, so I made these changes and it
builds again.

Signed-off-by: Blake Leonard <[email protected]>

* feat: index multiple folders of local music

If you used a previous commit from this branch, this is a breaking
change, because it changes the type of a configuration field. but
since this is still in development, it should be fine.

Signed-off-by: Blake Leonard <[email protected]>

* refactor: manage local library in local tracks tab

This also refactors the list to use slivers instead. That's the
easiest way to have multiple scrolling lists here...

The console keeps getting spammed with some intermediate layout
error but I can't hold it long enough to figure out what's causing
it.

Signed-off-by: Blake Leonard <[email protected]>

* refactor: use folder add/remove icons in library

Signed-off-by: Blake Leonard <[email protected]>

* refactor: remove redundant settings page

Signed-off-by: Blake Leonard <[email protected]>

* refactor: rename "Local Tracks" to just "Local"

Not sure if this would be the recommended way to do it...

Signed-off-by: Blake Leonard <[email protected]>

* fix: console spam about useless Expanded

Signed-off-by: Blake Leonard <[email protected]>

* chore: remove completed TODO

Signed-off-by: Blake Leonard <[email protected]>

* chore: use new Platform constants; regenerate plugins

Signed-off-by: Blake Leonard <[email protected]>

* refactor: put local libraries on separate pages

Signed-off-by: Blake Leonard <[email protected]>

---------

Signed-off-by: Blake Leonard <[email protected]>

* fix: local track not showing up in queue

* feat: local library folder cards

* feat: personalized stats based on local music history (#1522)

* feat: add playback history provider

* feat: implement recently played section

* refactor: use route names

* feat: add stats summary and top tracks/artists/albums

* feat: add top date based filtering

* feat: add stream money calculation

* refactor: place search in mobile navbar and settings in home appbar

* feat: add individual minutes and streams page

* feat(stats): add individual minutes and streams page

* chore: default period to 1 month

* feat: add text to explain user how hypothetical fees are calculated

* chore: ensure usage of route names instead of direct paths

* cd: add cache key

* cd: remove media_kit_event_loop from git

* fix: some text are garbled in different parts of the app #1463 #1505

* refactor: use replace http with dio and use it as the default

* cd: use dio in cli as well

* chore: fix home feed not showing up

* chore: downloaded tracks folder not opening

* feat: play initially available tracks of playlist/album immediately and fetch rest in background #670

* feat: upgrade to Flutter 3.22.0

* refactor: migrate deprecated warnings

* fix(playback): skipping tracks with unplayable sources instead of falling back #1492

* chore: migrate android gradle to declarative config syntax

* chore: disable impeller for now

* fix(windows): installer tries to install in current directory

* chore: upgrade deps and appbar bg fix

* chore: podspec update

* chore: bump version and generate changelogs

---------

Signed-off-by: Blake Leonard <[email protected]>
Co-authored-by: Kshamendra <[email protected]>
Co-authored-by: MerkomassDev <[email protected]>
Co-authored-by: Karim <[email protected]>
Co-authored-by: Josu Igoa <[email protected]>
Co-authored-by: Omari Sopromadze <[email protected]>
Co-authored-by: ctih <[email protected]>
Co-authored-by: Onni Nevala <[email protected]>
Co-authored-by: Yusril Rapsanjani <[email protected]>
Co-authored-by: W͏ I͏ N͏ Z͏ O͏ R͏ T͏ <[email protected]>
Co-authored-by: Akash Pattnaik <[email protected]>
Co-authored-by: Blake Leonard <[email protected]>
@KRTirtho KRTirtho closed this as completed Jun 3, 2024
@KRTirtho KRTirtho moved this from Done to Deployed in Spotube Board Jun 3, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working
Projects
Status: Deployed
Development

Successfully merging a pull request may close this issue.

7 participants