tandy[m]: Hi! I'm been trying to clarify what areas of work are required to advance the project to use brainzplayer on other websites, but I'm not at a point where I can exactly tell you what would be useful to work on right now.
The main issues we currently have is that users need to be logged into the various music services, and this information lives in the ListenBrainz database.
Safely getting that information to some other website (or finding a way to circumvent that need) is really the crux of the problem here.
Here are the scenarios I think could potentially work:
1. What we first had in mind (see here:https://github.com/metabrainz/listenbrainz...) : do a POST request to a ListenBrainz endpoint (requiring being previously logged in) containing a list of track MBIDs or names, and get returned an html page with a player set to play the list of tracks. Pop that in an iframe on your website and off we go (in theory).
2. Make the player a separate react NPM package, and let whoever uses it pass the relevant tokens to use it, handle auth with music services, etc.
3. A combination of the two ideas: the player lives in a separate NPM package, but all auth goes through ListenBrainz/MetaBrainz
yvanzo
Updating beta.mb.o
monkey
4. Reimplement the music services auth workflow so that it all happens in the player rather than on the LB website, so that the player can live completely separately. (and then package it or serve it as iframe, in either case we’re not worrying about sensitive information anymore)
I think it would be useful for the LB team to have another discussion about this before we make a move in any direction; I don’t feel confident I understand all the moving parts or possible blockages.
ruaok
moooin!
finally some long and slow rain here in the BCN!
tandy[m]
monkey: this seems like it could be the simplest solution
monkey
Which one? :)
tandy[m]
monkey: ahh wrong reply haha
monkey: or this?
although why not have that account data accessible across metabrainz?
* across metabrainz? it would probably lead to some useful stuff, like music previews on musicbrainz?
monkey
Yes, that's one of the goals
Let's say, having the account data accessible across MetaBrainz websites makes it more useful for our websites but maybe harder to use on other websites, compared to a solution where the player itself handles auth to music services. But I don't think that consideration should lead our choice
tandy[m]
monkey: in which case, isnt option 2 not suitable
* not suitable?
<monkey> "4. Reimplement the music..." <- also, am i understanding correctly that auth workflow happens in the player as a distinct service?
so that say, a user could have a musicbrainz / listenbrainz account linked to a brainzplayer account?
yvanzo
yyoung[m]: thanks, deployed your patch :)
reosarevok
yvanzo, bitmap: getting home in a few hours, will then release unless you already have :)
monkey
No, currently all auth happens on ListenBrainz but not in the player. Users log in to ListenBrainz with their MusicBrainz account, sign in to music services on LB on a separate page (https://listenbrainz.org/profile/music-services...) and the relevant tokens are sent to the front-end where the player can access them.
tandy[m]
monkey: yes, but with option 4 would it be 'a user could have a musicbrainz / listenbrainz account linked to a brainzplayer account'?
monkey
With option 4 the player would be totally standalone and not be linked to any of metabrainz' accounts
tandy[m]
oh, wouldnt that also be incompatible with the goal of metabrainz access?
monkey
Yes, indeed
tandy[m]
so options 1 or 3 are probably the best choices
monkey
For us I do think so yes.
tandy[m]
do we have meetings where we could bring this up or is this chat suitable ? :)
monkey
This chat is where we do most of our communication. I might have an IRL chat with ruaok and alastairp to clarify things a bit, but feel free to discuss here
tandy[m]
cool
loujine joined the channel
loujine has quit
loujine joined the channel
btw, does metabrainz hire people? i see you have an office
ruaok
when there is money in the bank to hire a new person, we look at the community to see how is doing good work, fits with the team and is affordable. If there is a match we hire that person. Often out of GSoC.
tandy[m]
sweet, il definitely do GSoC next summer :) metabrainz would be a dream job
yvanzo
reosarevok: Thanks, nothing special about musicbrainz-docker release this time.
ruaok
:)
yvanzo will be in transports soon again.
opal joined the channel
CatQuest has left the channel
yyoung has quit
zas
We just passed 3M releases in db 🍾
outsidecontext
hurray :D
ruaok
and $513,784.62 in the bank as of Oct 1!
zas
🍹
outsidecontext
ruaok: oh the fun with the apple certificates. I guess I'll need you again to renew the certificates. And I need to check what we actually need to do to update the certificates for our builds, has been a while since I last had to deal with that. But I'm happy they still work this week, because we want to do releases the next days
ruaok
ok, ping me tomorrow to renew the cert. too much BS already today.
outsidecontext
no, let's do this later. I won't be able to properly deal with this this week, and I don't want to break our ability to do the Picard releases zas and I wanted to do. I'll also be traveling early next week, so I'll say we get in touch afterwards and then see how we both have time :)
Lotheric_ joined the channel
Lotheric has quit
Lotheric__ joined the channel
Lotheric_ has quit
bitmap has quit
bitmap joined the channel
Lotheric__ is now known as Lotheric
reosarevok
Releasing prod
Well, getting ready to
Updating beta with translation stuff
Updating prod
yvanzo, bitmap: I'm finishing the release but I have guests today so can't do more meeting stuff - ping me if needed and I'll read later (probably will be around for a bit for meeting time)
bitmap
okay, np
it's probable that these 5xx errors that happen during the release are due to the containers being stopped while they've accepted requests and then the connections being closed, rather than reduced capacity
Turns out it also works fairly well with releases and artists. Using Spotify it'll play the most popular track (or however spotify ranks their stuff) from that album/artist.
Playing with Youtube, sometimes it finds the full album when searching for a release. That's pretty nice after all.
bitmap: do you know if the CAA handles HEAD requests in an intelligent fashion?
wargreen has quit
I wonder if that even makes sense, because a HEAD request would consume the same amount of resources as a GET request...
akashgp09[m] has quit
diru1100 has quit
bitmap
ruaok: it does respond to HEAD, but that's a good point since we're only returning headers for the redirect in both cases
wargreen joined the channel
afaict the responses will be identical for GET/HEAD in most cases
ruaok
that is what I thought.
kepstin
https://musicbrainz.org/doc/Cover_Art_Archive/API does say that HEAD is supported. For the endpoints that return json i suppose it could reduce processing a bit (does it return meaningful modification timestamps in the headers?), but for the ones that return redirects there's no difference between a GET and a HEAD request at all, yeah.
akashgp09[m] joined the channel
bitmap
even for the index.json we redirect to the IA
kepstin
huh, is that a redirect? In the docs, it says that it's a 200 response.
tandy[m] has quit
Indeed it is. The docs should probably be updated there to indicate that you are required to handle a redirect on the json responses.
bitmap
oh it does say that...I'll update it
kepstin
rather than a 200 response, it's a 307
(a 307 then a 302 then a 200 - multiple redirects are in that chain)