Bug 498654 - Invalid URL when trying to login
Summary: Invalid URL when trying to login
Status: RESOLVED FIXED
Alias: None
Product: amarok
Classification: Applications
Component: Collections/DAAP (show other bugs)
Version: 3.2.1
Platform: Arch Linux Linux
: NOR normal
Target Milestone: kf5
Assignee: Amarok Developers
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2025-01-14 14:45 UTC by Christoph Berg
Modified: 2025-01-23 19:57 UTC (History)
1 user (show)

See Also:
Latest Commit:
Version Fixed In:
Sentry Crash Report:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Christoph Berg 2025-01-14 14:45:49 UTC
SUMMARY
I have a Synology NAS DS213 with DSM 6.2.4-25556 Update 8 running iTunes Server 1.5.3-2505. After Amarok didn't show up anything when I enabled the DAAP plugin (Apple Music finds it), I started it it in debug mode and saw the following message when a login in attempt is tried:

amarok: BEGIN: void Collections::DaapCollectionFactory::foundDaap(KDNSSD::RemoteService::Ptr)
amarok: END__: void Collections::DaapCollectionFactory::foundDaap(KDNSSD::RemoteService::Ptr) [Took: 0.001s]
amarok: BEGIN: void Collections::DaapCollectionFactory::foundDaap(KDNSSD::RemoteService::Ptr)
amarok: END__: void Collections::DaapCollectionFactory::foundDaap(KDNSSD::RemoteService::Ptr) [Took: 0s]
amarok: [DaapCollection] "ds213"   "ds213.local"   "local"   "_daap._tcp"
amarok: [DaapCollection] "ds213"   "ds213.local"   "local"   "_daap._tcp"
amarok: BEGIN: void Collections::DaapCollectionFactory::resolvedServiceIp(const QHostInfo&)
amarok:   [DaapCollection] Host:  "ds213.local"  port:  3689
amarok:   [DaapReader] Host:  "ds213.local"  port:  3689
amarok:   BEGIN: void Daap::Reader::loginRequest()
kf.kio.core: Invalid URL: QUrl("//ds213.local:3689/content-codes")
amarok:   END__: void Daap::Reader::loginRequest() [Took: 0.007s]
amarok: END__: void Collections::DaapCollectionFactory::resolvedServiceIp(const QHostInfo&) [Took: 0.007s]
amarok: BEGIN: void Collections::DaapCollectionFactory::resolvedServiceIp(const QHostInfo&)
amarok: END__: void Collections::DaapCollectionFactory::resolvedServiceIp(const QHostInfo&) [Took: 0s]
amarok: there is an error?  QNetworkReply::UnknownNetworkError   "//ds213.local:3689/content-codes"
amarok: BEGIN: void Daap::Reader::fetchingError(const QString&)
amarok:   BEGIN: void Collections::DaapCollection::httpError(const QString&)
amarok:     [DaapCollection] Http error in DaapReader:  "//ds213.local:3689/content-codes"
amarok:     BEGIN: void Collections::DaapCollectionFactory::slotCollectionDownloadFailed()
amarok:     END__: void Collections::DaapCollectionFactory::slotCollectionDownloadFailed() [Took: 0s]
amarok:   END__: void Collections::DaapCollection::httpError(const QString&) [Took: 0s]
amarok: END__: void Daap::Reader::fetchingError(const QString&) [Took: 0s]
amarok: BEGIN: void Daap::Reader::contentCodesReceived()
amarok:   BEGIN: Daap::Map Daap::Reader::parse(QDataStream&)
amarok:   END__: Daap::Map Daap::Reader::parse(QDataStream&) [Took: 0s]
amarok: END__: void Daap::Reader::contentCodesReceived() 

When I try to get the file with e.g. curl or wget and adding http in front of the URL, so wget http://ds213.local:3689/content-codes, the file can be downloaded.

OBSERVED RESULT
There is no DAAP collection shown.

EXPECTED RESULT
The collection should be shown.


SOFTWARE/OS VERSIONS
Linux/KDE Plasma: 
KDE Plasma Version: 6.2.5
KDE Frameworks Version: 5.116.0
Qt Version: 5.15.16+kde+r130
Comment 1 Tuomas Nurmi 2025-01-14 19:03:19 UTC
Thank you for the report!

It might be that adding
url.setScheme(QLatin1String("http"));
to daapreader/authentication/contentfetcher.cpp:62 might be enough to fix it. I can't test myself at the moment, but will probably try reproducing and fixing next weekend (unless someone else tries first)
Comment 2 Christoph Berg 2025-01-15 08:22:04 UTC
(In reply to Tuomas Nurmi from comment #1)
> Thank you for the report!
> 
> It might be that adding
> url.setScheme(QLatin1String("http"));
> to daapreader/authentication/contentfetcher.cpp:62 might be enough to fix
> it. I can't test myself at the moment, but will probably try reproducing and
> fixing next weekend (unless someone else tries first)

I tried it myself and I the login part works now:

amarok:   BEGIN: void Daap::Reader::loginRequest()
amarok:   END__: void Daap::Reader::loginRequest() [Took: 0.004s]
amarok: END__: void Collections::DaapCollectionFactory::resolvedServiceIp(const QHostInfo&) [Took: 0.004s]
amarok: BEGIN: void Daap::Reader::contentCodesReceived()
amarok:   BEGIN: Daap::Map Daap::Reader::parse(QDataStream&)
amarok:     BEGIN: Daap::Map Daap::Reader::parse(QDataStream&)
amarok:       BEGIN: Daap::Map Daap::Reader::parse(QDataStream&)
amarok:       END__: Daap::Map Daap::Reader::parse(QDataStream&) [Took: 0s]
amarok:       BEGIN: Daap::Map Daap::Reader::parse(QDataStream&)
amarok:       END__: Daap::Map Daap::Reader::parse(QDataStream&) [Took: 0s]
amarok:       BEGIN: Daap::Map Daap::Reader::parse(QDataStream&)
amarok:       END__: Daap::Map Daap::Reader::parse(QDataStream&) [Took: 0s]
amarok:       BEGIN: Daap::Map Daap::Reader::parse(QDataStream&)
amarok:       END__: Daap::Map Daap::Reader::parse(QDataStream&) [Took: 0s]
amarok:       BEGIN: Daap::Map Daap::Reader::parse(QDataStream&)
amarok:       END__: Daap::Map Daap::Reader::parse(QDataStream&) [Took: 0s]
amarok:       BEGIN: Daap::Map Daap::Reader::parse(QDataStream&)
amarok:       END__: Daap::Map Daap::Reader::parse(QDataStream&) [Took: 0s]
amarok:       BEGIN: Daap::Map Daap::Reader::parse(QDataStream&)
amarok:       END__: Daap::Map Daap::Reader::parse(QDataStream&) [Took: 0s]
amarok:       BEGIN: Daap::Map Daap::Reader::parse(QDataStream&)
amarok:       END__: Daap::Map Daap::Reader::parse(QDataStream&) [Took: 0s]
amarok:       BEGIN: Daap::Map Daap::Reader::parse(QDataStream&)
amarok:       END__: Daap::Map Daap::Reader::parse(QDataStream&) [Took: 0s]
amarok:       BEGIN: Daap::Map Daap::Reader::parse(QDataStream&)
amarok:       END__: Daap::Map Daap::Reader::parse(QDataStream&) [Took: 0s]
amarok:       BEGIN: Daap::Map Daap::Reader::parse(QDataStream&)
amarok:       END__: Daap::Map Daap::Reader::parse(QDataStream&) [Took: 0s]
amarok:       BEGIN: Daap::Map Daap::Reader::parse(QDataStream&)
amarok:       END__: Daap::Map Daap::Reader::parse(QDataStream&) [Took: 0s]
amarok:       BEGIN: Daap::Map Daap::Reader::parse(QDataStream&)
amarok:       END__: Daap::Map Daap::Reader::parse(QDataStream&) [Took: 0s]
amarok:       BEGIN: Daap::Map Daap::Reader::parse(QDataStream&)
amarok:       END__: Daap::Map Daap::Reader::parse(QDataStream&) [Took: 0s]
amarok:       BEGIN: Daap::Map Daap::Reader::parse(QDataStream&)
amarok:       END__: Daap::Map Daap::Reader::parse(QDataStream&) [Took: 0s]
amarok:       BEGIN: Daap::Map Daap::Reader::parse(QDataStream&)
amarok:       END__: Daap::Map Daap::Reader::parse(QDataStream&) [Took: 0s]
amarok:       BEGIN: Daap::Map Daap::Reader::parse(QDataStream&)
amarok:       END__: Daap::Map Daap::Reader::parse(QDataStream&) [Took: 0s]
amarok:       BEGIN: Daap::Map Daap::Reader::parse(QDataStream&)
amarok:       END__: Daap::Map Daap::Reader::parse(QDataStream&) [Took: 0s]
amarok:       BEGIN: Daap::Map Daap::Reader::parse(QDataStream&)
amarok:       END__: Daap::Map Daap::Reader::parse(QDataStream&) [Took: 0s]
amarok:       BEGIN: Daap::Map Daap::Reader::parse(QDataStream&)
amarok:       END__: Daap::Map Daap::Reader::parse(QDataStream&) [Took: 0s]
amarok:       BEGIN: Daap::Map Daap::Reader::parse(QDataStream&)
amarok:       END__: Daap::Map Daap::Reader::parse(QDataStream&) [Took: 0s]
amarok:       BEGIN: Daap::Map Daap::Reader::parse(QDataStream&)
amarok:       END__: Daap::Map Daap::Reader::parse(QDataStream&) [Took: 0s]
amarok:       BEGIN: Daap::Map Daap::Reader::parse(QDataStream&)
amarok:       END__: Daap::Map Daap::Reader::parse(QDataStream&) [Took: 0s]
amarok:       BEGIN: Daap::Map Daap::Reader::parse(QDataStream&)
amarok:       END__: Daap::Map Daap::Reader::parse(QDataStream&) [Took: 0s]
amarok:       BEGIN: Daap::Map Daap::Reader::parse(QDataStream&)
amarok:       END__: Daap::Map Daap::Reader::parse(QDataStream&) [Took: 0s]
amarok:       BEGIN: Daap::Map Daap::Reader::parse(QDataStream&)
amarok:       END__: Daap::Map Daap::Reader::parse(QDataStream&) [Took: 0s]
amarok:       BEGIN: Daap::Map Daap::Reader::parse(QDataStream&)
amarok:       END__: Daap::Map Daap::Reader::parse(QDataStream&) [Took: 0s]
amarok:       BEGIN: Daap::Map Daap::Reader::parse(QDataStream&)
amarok:       END__: Daap::Map Daap::Reader::parse(QDataStream&) [Took: 0s]
amarok:       BEGIN: Daap::Map Daap::Reader::parse(QDataStream&)
amarok:       END__: Daap::Map Daap::Reader::parse(QDataStream&) [Took: 0s]
amarok:       BEGIN: Daap::Map Daap::Reader::parse(QDataStream&)
amarok:       END__: Daap::Map Daap::Reader::parse(QDataStream&) [Took: 0s]
amarok:       BEGIN: Daap::Map Daap::Reader::parse(QDataStream&)
amarok:       END__: Daap::Map Daap::Reader::parse(QDataStream&) [Took: 0s]
amarok:       BEGIN: Daap::Map Daap::Reader::parse(QDataStream&)
amarok:       END__: Daap::Map Daap::Reader::parse(QDataStream&) [Took: 0s]
amarok:       BEGIN: Daap::Map Daap::Reader::parse(QDataStream&)
amarok:       END__: Daap::Map Daap::Reader::parse(QDataStream&) [Took: 0s]
amarok:       BEGIN: Daap::Map Daap::Reader::parse(QDataStream&)
amarok:       END__: Daap::Map Daap::Reader::parse(QDataStream&) [Took: 0s]
amarok:       BEGIN: Daap::Map Daap::Reader::parse(QDataStream&)
amarok:       END__: Daap::Map Daap::Reader::parse(QDataStream&) [Took: 0s]
amarok:       BEGIN: Daap::Map Daap::Reader::parse(QDataStream&)
amarok:       END__: Daap::Map Daap::Reader::parse(QDataStream&) [Took: 0s]
amarok:       BEGIN: Daap::Map Daap::Reader::parse(QDataStream&)
amarok:       END__: Daap::Map Daap::Reader::parse(QDataStream&) [Took: 0s]
amarok:       BEGIN: Daap::Map Daap::Reader::parse(QDataStream&)
amarok:       END__: Daap::Map Daap::Reader::parse(QDataStream&) [Took: 0s]
amarok:       BEGIN: Daap::Map Daap::Reader::parse(QDataStream&)
amarok:       END__: Daap::Map Daap::Reader::parse(QDataStream&) [Took: 0s]
amarok:       BEGIN: Daap::Map Daap::Reader::parse(QDataStream&)
amarok:       END__: Daap::Map Daap::Reader::parse(QDataStream&) [Took: 0s]
amarok:       BEGIN: Daap::Map Daap::Reader::parse(QDataStream&)
amarok:       END__: Daap::Map Daap::Reader::parse(QDataStream&) [Took: 0s]
amarok:       BEGIN: Daap::Map Daap::Reader::parse(QDataStream&)
amarok:       END__: Daap::Map Daap::Reader::parse(QDataStream&) [Took: 0s]
amarok:       BEGIN: Daap::Map Daap::Reader::parse(QDataStream&)
amarok:       END__: Daap::Map Daap::Reader::parse(QDataStream&) [Took: 0s]
amarok:       BEGIN: Daap::Map Daap::Reader::parse(QDataStream&)
amarok:       END__: Daap::Map Daap::Reader::parse(QDataStream&) [Took: 0s]
amarok:       BEGIN: Daap::Map Daap::Reader::parse(QDataStream&)
amarok:       END__: Daap::Map Daap::Reader::parse(QDataStream&) [Took: 0s]
amarok:       BEGIN: Daap::Map Daap::Reader::parse(QDataStream&)
amarok:       END__: Daap::Map Daap::Reader::parse(QDataStream&) [Took: 0s]
amarok:       BEGIN: Daap::Map Daap::Reader::parse(QDataStream&)
amarok:       END__: Daap::Map Daap::Reader::parse(QDataStream&) [Took: 0s]
amarok:       BEGIN: Daap::Map Daap::Reader::parse(QDataStream&)
amarok:       END__: Daap::Map Daap::Reader::parse(QDataStream&) [Took: 0s]
amarok:       BEGIN: Daap::Map Daap::Reader::parse(QDataStream&)
amarok:       END__: Daap::Map Daap::Reader::parse(QDataStream&) [Took: 0s]
amarok:       BEGIN: Daap::Map Daap::Reader::parse(QDataStream&)
amarok:       END__: Daap::Map Daap::Reader::parse(QDataStream&) [Took: 0s]
amarok:       BEGIN: Daap::Map Daap::Reader::parse(QDataStream&)
amarok:       END__: Daap::Map Daap::Reader::parse(QDataStream&) [Took: 0s]
amarok:       BEGIN: Daap::Map Daap::Reader::parse(QDataStream&)
amarok:       END__: Daap::Map Daap::Reader::parse(QDataStream&) [Took: 0s]
amarok:       BEGIN: Daap::Map Daap::Reader::parse(QDataStream&)
amarok:       END__: Daap::Map Daap::Reader::parse(QDataStream&) [Took: 0s]
amarok:       BEGIN: Daap::Map Daap::Reader::parse(QDataStream&)
amarok:       END__: Daap::Map Daap::Reader::parse(QDataStream&) [Took: 0s]
amarok:       BEGIN: Daap::Map Daap::Reader::parse(QDataStream&)
amarok:       END__: Daap::Map Daap::Reader::parse(QDataStream&) [Took: 0s]
amarok:       BEGIN: Daap::Map Daap::Reader::parse(QDataStream&)
amarok:       END__: Daap::Map Daap::Reader::parse(QDataStream&) [Took: 0s]
amarok:       BEGIN: Daap::Map Daap::Reader::parse(QDataStream&)
amarok:       END__: Daap::Map Daap::Reader::parse(QDataStream&) [Took: 0s]
amarok:       BEGIN: Daap::Map Daap::Reader::parse(QDataStream&)
amarok:       END__: Daap::Map Daap::Reader::parse(QDataStream&) [Took: 0s]
amarok:       BEGIN: Daap::Map Daap::Reader::parse(QDataStream&)
amarok:       END__: Daap::Map Daap::Reader::parse(QDataStream&) [Took: 0s]
amarok:       BEGIN: Daap::Map Daap::Reader::parse(QDataStream&)
amarok:       END__: Daap::Map Daap::Reader::parse(QDataStream&) [Took: 0s]
amarok:       BEGIN: Daap::Map Daap::Reader::parse(QDataStream&)
amarok:       END__: Daap::Map Daap::Reader::parse(QDataStream&) [Took: 0s]
amarok:       BEGIN: Daap::Map Daap::Reader::parse(QDataStream&)
amarok:       END__: Daap::Map Daap::Reader::parse(QDataStream&) [Took: 0s]
amarok:       BEGIN: Daap::Map Daap::Reader::parse(QDataStream&)
amarok:       END__: Daap::Map Daap::Reader::parse(QDataStream&) [Took: 0s]
amarok:       BEGIN: Daap::Map Daap::Reader::parse(QDataStream&)
amarok:       END__: Daap::Map Daap::Reader::parse(QDataStream&) [Took: 0s]
amarok:       BEGIN: Daap::Map Daap::Reader::parse(QDataStream&)
amarok:       END__: Daap::Map Daap::Reader::parse(QDataStream&) [Took: 0s]
amarok:       BEGIN: Daap::Map Daap::Reader::parse(QDataStream&)
amarok:       END__: Daap::Map Daap::Reader::parse(QDataStream&) [Took: 0s]
amarok:       BEGIN: Daap::Map Daap::Reader::parse(QDataStream&)
amarok:       END__: Daap::Map Daap::Reader::parse(QDataStream&) [Took: 0s]
amarok:       BEGIN: Daap::Map Daap::Reader::parse(QDataStream&)
amarok:       END__: Daap::Map Daap::Reader::parse(QDataStream&) [Took: 0s]
amarok:       BEGIN: Daap::Map Daap::Reader::parse(QDataStream&)
amarok:       END__: Daap::Map Daap::Reader::parse(QDataStream&) [Took: 0s]
amarok:       BEGIN: Daap::Map Daap::Reader::parse(QDataStream&)
amarok:       END__: Daap::Map Daap::Reader::parse(QDataStream&) [Took: 0s]
amarok:       BEGIN: Daap::Map Daap::Reader::parse(QDataStream&)
amarok:       END__: Daap::Map Daap::Reader::parse(QDataStream&) [Took: 0s]
amarok:       BEGIN: Daap::Map Daap::Reader::parse(QDataStream&)
amarok:       END__: Daap::Map Daap::Reader::parse(QDataStream&) [Took: 0s]
amarok:       BEGIN: Daap::Map Daap::Reader::parse(QDataStream&)
amarok:       END__: Daap::Map Daap::Reader::parse(QDataStream&) [Took: 0s]
amarok:       BEGIN: Daap::Map Daap::Reader::parse(QDataStream&)
amarok:       END__: Daap::Map Daap::Reader::parse(QDataStream&) [Took: 0s]
amarok:       BEGIN: Daap::Map Daap::Reader::parse(QDataStream&)
amarok:       END__: Daap::Map Daap::Reader::parse(QDataStream&) [Took: 0s]
amarok:       BEGIN: Daap::Map Daap::Reader::parse(QDataStream&)
amarok:       END__: Daap::Map Daap::Reader::parse(QDataStream&) [Took: 0s]
amarok:       BEGIN: Daap::Map Daap::Reader::parse(QDataStream&)
amarok:       END__: Daap::Map Daap::Reader::parse(QDataStream&) [Took: 0s]
amarok:       BEGIN: Daap::Map Daap::Reader::parse(QDataStream&)
amarok:       END__: Daap::Map Daap::Reader::parse(QDataStream&) [Took: 0s]
amarok:       BEGIN: Daap::Map Daap::Reader::parse(QDataStream&)
amarok:       END__: Daap::Map Daap::Reader::parse(QDataStream&) [Took: 0s]
amarok:       BEGIN: Daap::Map Daap::Reader::parse(QDataStream&)
amarok:       END__: Daap::Map Daap::Reader::parse(QDataStream&) [Took: 0s]
amarok:       BEGIN: Daap::Map Daap::Reader::parse(QDataStream&)
amarok:       END__: Daap::Map Daap::Reader::parse(QDataStream&) [Took: 0s]
amarok:       BEGIN: Daap::Map Daap::Reader::parse(QDataStream&)
amarok:       END__: Daap::Map Daap::Reader::parse(QDataStream&) [Took: 0s]
amarok:       BEGIN: Daap::Map Daap::Reader::parse(QDataStream&)
amarok:       END__: Daap::Map Daap::Reader::parse(QDataStream&) [Took: 0s]
amarok:       BEGIN: Daap::Map Daap::Reader::parse(QDataStream&)
amarok:       END__: Daap::Map Daap::Reader::parse(QDataStream&) [Took: 0s]
amarok:       BEGIN: Daap::Map Daap::Reader::parse(QDataStream&)
amarok:       END__: Daap::Map Daap::Reader::parse(QDataStream&) [Took: 0s]
amarok:       BEGIN: Daap::Map Daap::Reader::parse(QDataStream&)
amarok:       END__: Daap::Map Daap::Reader::parse(QDataStream&) [Took: 0s]
amarok:       BEGIN: Daap::Map Daap::Reader::parse(QDataStream&)
amarok:       END__: Daap::Map Daap::Reader::parse(QDataStream&) [Took: 0s]
amarok:       BEGIN: Daap::Map Daap::Reader::parse(QDataStream&)
amarok:       END__: Daap::Map Daap::Reader::parse(QDataStream&) [Took: 0s]
amarok:       BEGIN: Daap::Map Daap::Reader::parse(QDataStream&)
amarok:       END__: Daap::Map Daap::Reader::parse(QDataStream&) [Took: 0s]
amarok:       BEGIN: Daap::Map Daap::Reader::parse(QDataStream&)
amarok:       END__: Daap::Map Daap::Reader::parse(QDataStream&) [Took: 0s]
amarok:     END__: Daap::Map Daap::Reader::parse(QDataStream&) [Took: 0.001s]
amarok:   END__: Daap::Map Daap::Reader::parse(QDataStream&) [Took: 0.001s]
amarok:   [DaapReader] Added DAAP code "miid" : "dmap.itemid" with type 5
amarok:   [DaapReader] Added DAAP code "minm" : "dmap.itemname" with type 9
amarok:   [DaapReader] Added DAAP code "mikd" : "dmap.itemkind" with type 1
amarok:   [DaapReader] Added DAAP code "mper" : "dmap.persistentid" with type 7
amarok:   [DaapReader] Added DAAP code "mcon" : "dmap.container" with type 12
amarok:   [DaapReader] Added DAAP code "mcti" : "dmap.containeritemid" with type 5
amarok:   [DaapReader] Added DAAP code "mpco" : "dmap.parentcontainerid" with type 5
amarok:   [DaapReader] Added DAAP code "msts" : "dmap.statusstring" with type 9
amarok:   [DaapReader] Added DAAP code "mimc" : "dmap.itemcount" with type 5
amarok:   [DaapReader] Added DAAP code "mctc" : "dmap.containercount" with type 5
amarok:   [DaapReader] Added DAAP code "mrco" : "dmap.returnedcount" with type 5
amarok:   [DaapReader] Added DAAP code "mtco" : "dmap.specifiedtotalcount" with type 5
amarok:   [DaapReader] Added DAAP code "mlcl" : "dmap.listing" with type 12
amarok:   [DaapReader] Added DAAP code "mlit" : "dmap.listingitem" with type 12
amarok:   [DaapReader] Added DAAP code "mbcl" : "dmap.bag" with type 12
amarok:   [DaapReader] Added DAAP code "msrv" : "dmap.serverinforesponse" with type 12
amarok:   [DaapReader] Added DAAP code "msau" : "dmap.authenticationmethod" with type 1
amarok:   [DaapReader] Added DAAP code "mslr" : "dmap.loginrequired" with type 1
amarok:   [DaapReader] Added DAAP code "mpro" : "dmap.protocolversion" with type 11
amarok:   [DaapReader] Added DAAP code "msal" : "dmap.supportsautologout" with type 1
amarok:   [DaapReader] Added DAAP code "msup" : "dmap.supportsupdate" with type 1
amarok:   [DaapReader] Added DAAP code "mspi" : "dmap.supportspersistentids" with type 1
amarok:   [DaapReader] Added DAAP code "msex" : "dmap.supportsextensions" with type 1
amarok:   [DaapReader] Added DAAP code "msbr" : "dmap.supportsbrowse" with type 1
amarok:   [DaapReader] Added DAAP code "msqy" : "dmap.supportsquery" with type 1
amarok:   [DaapReader] Added DAAP code "msix" : "dmap.supportsindex" with type 1
amarok:   [DaapReader] Added DAAP code "msrs" : "dmap.supportsresolve" with type 1
amarok:   [DaapReader] Added DAAP code "mstm" : "dmap.timeoutinterval" with type 5
amarok:   [DaapReader] Added DAAP code "msdc" : "dmap.databasescount" with type 5
amarok:   [DaapReader] Added DAAP code "mlog" : "dmap.loginresponse" with type 12
amarok:   [DaapReader] Added DAAP code "mlid" : "dmap.sessionid" with type 5
amarok:   [DaapReader] Added DAAP code "mupd" : "dmap.updateresponse" with type 12
amarok:   [DaapReader] Added DAAP code "musr" : "dmap.serverrevision" with type 5
amarok:   [DaapReader] Added DAAP code "muty" : "dmap.updatetype" with type 1
amarok:   [DaapReader] Added DAAP code "mudl" : "dmap.deletedidlisting" with type 12
amarok:   [DaapReader] Added DAAP code "ased" : "daap.songextradata" with type 3
amarok:   [DaapReader] Added DAAP code "asac" : "daap.songartworkcount" with type 3
amarok:   [DaapReader] Added DAAP code "apro" : "daap.protocolversion" with type 11
amarok:   [DaapReader] Added DAAP code "abro" : "daap.databasebrowse" with type 12
amarok:   [DaapReader] Added DAAP code "abal" : "daap.browsealbumlisting" with type 12
amarok:   [DaapReader] Added DAAP code "abar" : "daap.browseartistlisting" with type 12
amarok:   [DaapReader] Added DAAP code "abcp" : "daap.browsecomposerlisting" with type 12
amarok:   [DaapReader] Added DAAP code "abgn" : "daap.browsegenrelisting" with type 12
amarok:   [DaapReader] Added DAAP code "asal" : "daap.songalbum" with type 9
amarok:   [DaapReader] Added DAAP code "asar" : "daap.songartist" with type 9
amarok:   [DaapReader] Added DAAP code "asaa" : "daap.songalbumartist" with type 9
amarok:   [DaapReader] Added DAAP code "asbt" : "daap.songbeatsperminute" with type 3
amarok:   [DaapReader] Added DAAP code "asbr" : "daap.songbitrate" with type 3
amarok:   [DaapReader] Added DAAP code "ascm" : "daap.songcomment" with type 9
amarok:   [DaapReader] Added DAAP code "asco" : "daap.songcompilation" with type 1
amarok:   [DaapReader] Added DAAP code "ascp" : "daap.songcomposer" with type 9
amarok:   [DaapReader] Added DAAP code "asda" : "daap.songdateadded" with type 10
amarok:   [DaapReader] Added DAAP code "asdm" : "daap.songdatemodified" with type 10
amarok:   [DaapReader] Added DAAP code "asdc" : "daap.songdisccount" with type 3
amarok:   [DaapReader] Added DAAP code "asdn" : "daap.songdiscnumber" with type 3
amarok:   [DaapReader] Added DAAP code "asdb" : "daap.songdisabled" with type 1
amarok:   [DaapReader] Added DAAP code "aseq" : "daap.songeqpreset" with type 9
amarok:   [DaapReader] Added DAAP code "asfm" : "daap.songformat" with type 9
amarok:   [DaapReader] Added DAAP code "asgn" : "daap.songgenre" with type 9
amarok:   [DaapReader] Added DAAP code "asdt" : "daap.songdescription" with type 9
amarok:   [DaapReader] Added DAAP code "asrv" : "daap.songrelativevolume" with type 2
amarok:   [DaapReader] Added DAAP code "assr" : "daap.songsamplerate" with type 5
amarok:   [DaapReader] Added DAAP code "assz" : "daap.songsize" with type 5
amarok:   [DaapReader] Added DAAP code "asst" : "daap.songstarttime" with type 5
amarok:   [DaapReader] Added DAAP code "assp" : "daap.songstoptime" with type 5
amarok:   [DaapReader] Added DAAP code "astm" : "daap.songtime" with type 5
amarok:   [DaapReader] Added DAAP code "astc" : "daap.songtrackcount" with type 3
amarok:   [DaapReader] Added DAAP code "astn" : "daap.songtracknumber" with type 3
amarok:   [DaapReader] Added DAAP code "asur" : "daap.songuserrating" with type 1
amarok:   [DaapReader] Added DAAP code "asyr" : "daap.songyear" with type 3
amarok:   [DaapReader] Added DAAP code "asdk" : "daap.songdatakind" with type 1
amarok:   [DaapReader] Added DAAP code "asul" : "daap.songdataurl" with type 9
amarok:   [DaapReader] Added DAAP code "aply" : "daap.databaseplaylists" with type 12
amarok:   [DaapReader] Added DAAP code "abpl" : "daap.baseplaylist" with type 1
amarok:   [DaapReader] Added DAAP code "apso" : "daap.playlistsongs" with type 12
amarok:   [DaapReader] Added DAAP code "arsv" : "daap.resolve" with type 12
amarok:   [DaapReader] Added DAAP code "arif" : "daap.resolveinfo" with type 12
amarok:   [DaapReader] Added DAAP code "ated" : "daap.supportsextradata" with type 3
amarok:   [DaapReader] Added DAAP code "aeNV" : "com.apple.itunes.norm-volume" with type 5
amarok:   [DaapReader] Added DAAP code "aeSP" : "com.apple.itunes.smart-playlist" with type 1
amarok:   [DaapReader] Added DAAP code "aeHV" : "com.apple.itunes.has-video" with type 1
amarok:   [DaapReader] Added DAAP code "aeMK" : "com.apple.itunes.mediakind" with type 1
amarok: END__: void Daap::Reader::contentCodesReceived() [Took: 0.002s]

It still looks as if something is missing as there is nothing in logs where it then tries to retrieve the actual collection content.
Comment 3 Tuomas Nurmi 2025-01-15 15:58:12 UTC
Okay, good to know, thank you for testing!
I'll probably try diving a bit deeper later. I've never used DAAP myself before, but now is as good a time as any, I guess.
Comment 4 Christoph Berg 2025-01-16 04:36:21 UTC
(In reply to Tuomas Nurmi from comment #3)
> Okay, good to know, thank you for testing!
> I'll probably try diving a bit deeper later. I've never used DAAP myself
> before, but now is as good a time as any, I guess.

I also never used it myself. I originally used the Ampache connection, but as I reinstalled the NAS, I wanted to avoid having custom packages as I wasn't able to uninstall/update them anymore. And while Amarok's help still refers to the UPNP collection module, it looks like it was removed some time ago.
Comment 5 Bug Janitor Service 2025-01-19 10:04:46 UTC
A possibly relevant merge request was started @ https://invent.kde.org/multimedia/amarok/-/merge_requests/138
Comment 6 Tuomas Nurmi 2025-01-23 19:57:53 UTC
Git commit 7946fe150c8cd1a643b9c5e5d3b8f0f6ae33c6be by Tuomas Nurmi.
Committed on 23/01/2025 at 19:49.
Pushed by nurmi into branch 'master'.

Add fixes to get DAAP listings working

The m_reply was deleted during the cleanup of previous request, causing the
next already ongoing request to fail, too. Do cleaning up of the reply before
emitting anything to ensure that the m_reply hasn't been changed meanwhile.

Also, proceed even if no login is required, and also, first update call seems to
require revision number 1 (otherwise at least rhythmbox logs a warning and doesn't
respond with anything).

M  +2    -1    src/core-impl/collections/daap/daapreader/Reader.cpp
M  +1    -1    src/core-impl/collections/daap/daapreader/authentication/contentfetcher.cpp

https://invent.kde.org/multimedia/amarok/-/commit/7946fe150c8cd1a643b9c5e5d3b8f0f6ae33c6be