Tidal App discussion

It is just console output.

1 Like

Could that be an issue ? Your comment from volla thread :

With the new player not imho.
However i am on ipv4 due.to.intermet sharing

Ohh yes, that could be the issue.

I am now using volte, ipv4 and player seems pretty stable, recovers from airplane mode etc.
Today after overnight airplane mode it would beeing to continue to play the playlist for 3,4 songs, then stopped, i assume the urls did change on the server.
Pushed re-init from settings page and playing continues.
(i made yesterday a mini dirt hack in the fu to wait for the async re-logging)
Did not test behaviour while driving yet.
(i used to loose connection every 40-50km in the past)

What would be great: multi actions in playlist (move delete)
and sorting.

Opal gallery list seems to support that

1 Like

just a small update:
since last week tidal app can’t loggin into tidal

i have bumped tidal-api locally. it requires now one more dependency: pyaes-1.6.1
this is available on github
i have tried to update make file etc. to get it deployed.

i can now login again using device authentication

however the auth flow will need a little rework to support what they call pkce_login
the change seem to have happend in 0.8.6 or 0.8.5 in tidal-api (we were on 0.8.3 after my update).

the goid thing about the update of tidal-api : i did travel 400km incl border without the need to restart app.
With 0.8.3.you had to restart every 50 kms

4 Likes

Thanks for the work!
XA2 dual here.
App starts but signaled about missing python3-typing _extensions.
It proposed a link to download it from Openrepos. I did.
Now, it says that Tidal API module can’t be imported.

Here is the output when I launch it from cmd line

defaultuser@XperiaXA2-DualSIM ~> sailfish-qml harbour-tidalplayer
[D] unknown:0 - Using Wayland-EGL
[D] unknown:0 - Got library name: “/usr/lib/qt5/qml/io/thp/pyotherside/libpyothersideplugin.so”
[D] onCompleted:337 - AdvancedPlayManager: Initialized with default action: replace
[D] onCompleted:278 - TidalCache initialized with LRU + DB batching, max size per type: 1000
[D] onCompleted:478 - Pure QML PlaylistManager loaded
[D] onCompleted:1187 - STARTUP: Tidal Player initialized with debug level 0 (None)
[D] isTokenValid:94 - Token check - expiry: 1757603439 current: 1761925413
[D] isTokenValid:102 - Token valid: false expires in: -4321974 seconds
[W] unknown:0 - QQmlContext: Cannot set context object on invalid context.
[W] unknown:0 - QQmlComponent: Cannot create a component in an invalid context
[W] unknown:0 - QQmlContext: Cannot set context object on invalid context.
[W] unknown:0 - QQmlComponent: Cannot create a component in an invalid context
[W] unknown:0 - QQmlContext: Cannot set context object on invalid context.
[W] unknown:0 - QQmlComponent: Cannot create a component in an invalid context
[D] unknown:0 - “PyOtherSide error: Traceback (most recent call last):\n\n File “/usr/share/harbour-tidalplayer/qml/tidal.py”, line 12, in \n import tidalapi\n\n File “/usr/share/harbour-tidalplayer/python/tidalapi/init.py”, line 8, in \n from .media import Quality, Track, Video, VideoQuality # noqa: F401\n\n File “/usr/share/harbour-tidalplayer/python/tidalapi/media.py”, line 40, in \n from isodate import parse_duration\n\nImportError: cannot import name ‘parse_duration’ from ‘isodate’ (unknown location)\n”
[D] unknown:0 - “PyOtherSide error: Traceback (most recent call last):\n\n File “”, line 1, in \n\nNameError: name ‘tidal’ is not defined\n”
[D] unknown:0 - “PyOtherSide error: Traceback (most recent call last):\n\n File “”, line 1, in \n\nNameError: name ‘tidal’ is not defined\n”
[D] onError:188 - PyOtherSide Error: Cannot import module: tidal (Traceback (most recent call last):

File “/usr/share/harbour-tidalplayer/qml/tidal.py”, line 12, in
import tidalapi

File “/usr/share/harbour-tidalplayer/python/tidalapi/init.py”, line 8, in
from .media import Quality, Track, Video, VideoQuality # noqa: F401

File “/usr/share/harbour-tidalplayer/python/tidalapi/media.py”, line 40, in
from isodate import parse_duration

ImportError: cannot import name ‘parse_duration’ from ‘isodate’ (unknown location)
)
[D] showCriticalError:116 - CRITICAL ERROR: Critical Dependency Error - Failed to import Tidal API module
App cannot function without this dependency.
Please reinstall the app or check Python installation.
[D] showCriticalErrorDialog:721 - CRITICAL DIALOG: Critical Dependency Error - Failed to import Tidal API module
App cannot function without this dependency.
Please reinstall the app or check Python installation.
[D] onError:188 - PyOtherSide Error: Function not found: ‘tidal.Tidaler.initialize’ (Traceback (most recent call last):

File “”, line 1, in

NameError: name ‘tidal’ is not defined
)
[D] showWarningNotification:696 - WARNING: Python Error - Backend error occurred:
NameError: name ‘tidal’ is not defined
[W] unknown:116 - file:///usr/lib/qt5/qml/Sailfish/Silica/RemorsePopup.qml:116:13: QML PropertyChanges: Cannot assign to non-existent property “showNavigationIndicator”
[D] onError:188 - PyOtherSide Error: Function not found: ‘tidal.Tidaler.login’ (Traceback (most recent call last):

File “”, line 1, in

NameError: name ‘tidal’ is not defined
)
[D] showWarningNotification:696 - WARNING: Python Error - Backend error occurred:
NameError: name ‘tidal’ is not defined
[D] onTriggered:112 - PERFORMANCE: Incremental cleanup completed
[D] generateList:282 - Generate current playlist view, size: 0
[D] expression for onListChanged:686 - update playlist
[D] expression for onListChanged:688 - update current playlist
[W] unknown:130 - file:///usr/lib/qt5/qml/Sailfish/Silica/RemorsePopup.qml:130:13: QML PropertyChanges: Cannot assign to non-existent property “showNavigationIndicator”

Ok thank you !
It is still a missing dep issue.
I will check the log and come back.

3 Likes

link removed

if you find some time, try this

Thanks :–)

Hmm… not yet, alas.
I’ve uninstalled the app and I reinstalled what I downloaded with

pkcon install-local /home/defaultuser/android_storage/Download/harbour-tidalplayer-0.3.0-1.noarch.rpm
(I DLed it with Firefox as the browser didn’t support the page)

When I launch the app, I still get this:

Here is the log

I finally very rarely use Tidal myself though. So I’m not sure when it was working on my phone last time. Perhaps do I miss something else?

No its my fault, mean: packaging.
Please do not install the proposed fixes..
I mean the python message ..
Can you pm me the log ?

Thanks,
Log sent.
I already have installed them. Is it a problem or just unnecessary?

My 50 cents: app should deploy into its folder and clean up when uninstalled.
If stuff gets installed globally, it does Not get cleaned up.

The cleanest way to include deps which are a snapshot (so, not a submodule but just a folder of files) is like this:

in .pro:

COPIES += ratelimit
ratelimit.files = $$files(external/ratelimit/ratelimit/*.py)
ratelimit.path  = $$OUT_PWD/python/ratelimit

in .spcec:

%qmake5_install
cp -r python/ratelimit  %{buildroot}%{_datadir}/%{name}/python/ratelimit


That installs the files from folder external (same level as qml, rpm) ‘ratelimit’ to /usr/share/habour-tidalplayer/python/ratelimit

EDIT: those files will be removed when the app is removed, etc.

1 Like

Hello, I’ve installed the app and everything seems to work fine - except for the login, which takes me to the sailfishos.org landing page and an eternal spinner.
I read above that login might currently be broken - anything I can do apart from waiting?

1 Like

Same here, is there a workaround for the login?

I try to install tidal api but no luck with pip install tidalapi, what is wrong… I was dowload api from github and try to install. Please help. Best regards

Can you please tell me how to install tidalapi so that the app works + streaming.

Did you install it from the provided link ?
Version in chum is outdated

Please, can you provide the link again? This one here seems to be empty Sign in - mailbox Suite

I am just curios if my problem is solved, as I have a paid Tidal account, now.

Going out tonite.
I will provide it tomorrow with a short how-o
A have a condirmation that it installs and play :slight_smile:

3 Likes