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.
2021-10-04 27744, 2021
monkey
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.
2021-10-04 27744, 2021
monkey
Safely getting that information to some other website (or finding a way to circumvent that need) is really the crux of the problem here.
2021-10-04 27731, 2021
monkey
Here are the scenarios I think could potentially work:
2021-10-04 27732, 2021
monkey
1. What we first had in mind (see here:https://github.com/metabrainz/listenbrainz-s…) : 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).
2021-10-04 27738, 2021
monkey
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.
2021-10-04 27706, 2021
monkey
3. A combination of the two ideas: the player lives in a separate NPM package, but all auth goes through ListenBrainz/MetaBrainz
2021-10-04 27722, 2021
yvanzo
Updating beta.mb.o
2021-10-04 27743, 2021
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)
2021-10-04 27703, 2021
monkey
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.
2021-10-04 27708, 2021
ruaok
moooin!
2021-10-04 27721, 2021
ruaok
finally some long and slow rain here in the BCN!
2021-10-04 27717, 2021
tandy[m]
monkey: this seems like it could be the simplest solution
2021-10-04 27735, 2021
monkey
Which one? :)
2021-10-04 27749, 2021
tandy[m]
monkey: ahh wrong reply haha
2021-10-04 27701, 2021
tandy[m]
monkey: or this?
2021-10-04 27753, 2021
tandy[m]
although why not have that account data accessible across metabrainz?
2021-10-04 27713, 2021
tandy[m]
* across metabrainz? it would probably lead to some useful stuff, like music previews on musicbrainz?
2021-10-04 27726, 2021
monkey
Yes, that's one of the goals
2021-10-04 27736, 2021
monkey
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
2021-10-04 27743, 2021
tandy[m]
monkey: in which case, isnt option 2 not suitable
2021-10-04 27745, 2021
tandy[m]
* not suitable?
2021-10-04 27712, 2021
tandy[m]
<monkey> "4. Reimplement the music..." <- also, am i understanding correctly that auth workflow happens in the player as a distinct service?
2021-10-04 27736, 2021
tandy[m]
so that say, a user could have a musicbrainz / listenbrainz account linked to a brainzplayer account?
2021-10-04 27725, 2021
yvanzo
yyoung[m]: thanks, deployed your patch :)
2021-10-04 27706, 2021
reosarevok
yvanzo, bitmap: getting home in a few hours, will then release unless you already have :)
2021-10-04 27710, 2021
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/d…) and the relevant tokens are sent to the front-end where the player can access them.
2021-10-04 27747, 2021
tandy[m]
monkey: yes, but with option 4 would it be 'a user could have a musicbrainz / listenbrainz account linked to a brainzplayer account'?
2021-10-04 27736, 2021
monkey
With option 4 the player would be totally standalone and not be linked to any of metabrainz' accounts
2021-10-04 27731, 2021
tandy[m]
oh, wouldnt that also be incompatible with the goal of metabrainz access?
2021-10-04 27743, 2021
monkey
Yes, indeed
2021-10-04 27716, 2021
tandy[m]
so options 1 or 3 are probably the best choices
2021-10-04 27740, 2021
monkey
For us I do think so yes.
2021-10-04 27716, 2021
tandy[m]
do we have meetings where we could bring this up or is this chat suitable ? :)
2021-10-04 27733, 2021
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
2021-10-04 27746, 2021
tandy[m]
cool
2021-10-04 27726, 2021
loujine joined the channel
2021-10-04 27727, 2021
loujine has quit
2021-10-04 27743, 2021
loujine joined the channel
2021-10-04 27752, 2021
tandy[m]
btw, does metabrainz hire people? i see you have an office
2021-10-04 27720, 2021
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.
2021-10-04 27730, 2021
tandy[m]
sweet, il definitely do GSoC next summer :) metabrainz would be a dream job
2021-10-04 27743, 2021
yvanzo
reosarevok: Thanks, nothing special about musicbrainz-docker release this time.
2021-10-04 27700, 2021
ruaok
:)
2021-10-04 27701, 2021
yvanzo will be in transports soon again.
2021-10-04 27753, 2021
opal joined the channel
2021-10-04 27732, 2021
CatQuest has left the channel
2021-10-04 27726, 2021
yyoung has quit
2021-10-04 27750, 2021
zas
We just passed 3M releases in db 🍾
2021-10-04 27716, 2021
outsidecontext
hurray :D
2021-10-04 27736, 2021
ruaok
and $513,784.62 in the bank as of Oct 1!
2021-10-04 27723, 2021
zas
🍹
2021-10-04 27701, 2021
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
2021-10-04 27742, 2021
ruaok
ok, ping me tomorrow to renew the cert. too much BS already today.
2021-10-04 27728, 2021
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 :)
2021-10-04 27748, 2021
Lotheric_ joined the channel
2021-10-04 27758, 2021
Lotheric has quit
2021-10-04 27754, 2021
Lotheric__ joined the channel
2021-10-04 27755, 2021
Lotheric_ has quit
2021-10-04 27725, 2021
bitmap has quit
2021-10-04 27732, 2021
bitmap joined the channel
2021-10-04 27731, 2021
Lotheric__ is now known as Lotheric
2021-10-04 27752, 2021
reosarevok
Releasing prod
2021-10-04 27702, 2021
reosarevok
Well, getting ready to
2021-10-04 27724, 2021
reosarevok
Updating beta with translation stuff
2021-10-04 27753, 2021
reosarevok
Updating prod
2021-10-04 27744, 2021
reosarevok
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)
2021-10-04 27716, 2021
bitmap
okay, np
2021-10-04 27704, 2021
bitmap
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.
2021-10-04 27711, 2021
monkey
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?
2021-10-04 27704, 2021
wargreen has quit
2021-10-04 27713, 2021
ruaok
I wonder if that even makes sense, because a HEAD request would consume the same amount of resources as a GET request...
2021-10-04 27730, 2021
akashgp09[m] has quit
2021-10-04 27728, 2021
diru1100 has quit
2021-10-04 27710, 2021
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
2021-10-04 27728, 2021
wargreen joined the channel
2021-10-04 27700, 2021
bitmap
afaict the responses will be identical for GET/HEAD in most cases
2021-10-04 27721, 2021
ruaok
that is what I thought.
2021-10-04 27726, 2021
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.
2021-10-04 27721, 2021
akashgp09[m] joined the channel
2021-10-04 27736, 2021
bitmap
even for the index.json we redirect to the IA
2021-10-04 27726, 2021
kepstin
huh, is that a redirect? In the docs, it says that it's a 200 response.
2021-10-04 27726, 2021
tandy[m] has quit
2021-10-04 27731, 2021
kepstin
Indeed it is. The docs should probably be updated there to indicate that you are required to handle a redirect on the json responses.
2021-10-04 27739, 2021
bitmap
oh it does say that...I'll update it
2021-10-04 27743, 2021
kepstin
rather than a 200 response, it's a 307
2021-10-04 27715, 2021
kepstin
(a 307 then a 302 then a 200 - multiple redirects are in that chain)