#metabrainz

/

      • ruaok
      • 2020-11-21 32610, 2020

      • ruaok
        the latest set of typesense improvements have made a huge differnce. most test cases in my test suite bass.
      • 2020-11-21 32614, 2020

      • ruaok
        pass even.
      • 2020-11-21 32626, 2020

      • ruaok
        right then, finally bed time. hopefully ready for the hackday.
      • 2020-11-21 32641, 2020

      • supersandro2000 has quit
      • 2020-11-21 32659, 2020

      • supersandro2000 joined the channel
      • 2020-11-21 32657, 2020

      • supersandro2000 has quit
      • 2020-11-21 32604, 2020

      • supersandro2000 joined the channel
      • 2020-11-21 32606, 2020

      • michaelqm has quit
      • 2020-11-21 32622, 2020

      • Nyanko-sensei has quit
      • 2020-11-21 32603, 2020

      • Nyanko-sensei joined the channel
      • 2020-11-21 32627, 2020

      • MajorLurker joined the channel
      • 2020-11-21 32618, 2020

      • davic has quit
      • 2020-11-21 32603, 2020

      • sumedh joined the channel
      • 2020-11-21 32624, 2020

      • d4rkie joined the channel
      • 2020-11-21 32657, 2020

      • Nyanko-sensei has quit
      • 2020-11-21 32636, 2020

      • shivam-kapila
        morning
      • 2020-11-21 32645, 2020

      • shivam-kapila
        LB hackday is today!!
      • 2020-11-21 32608, 2020

      • d4rkie has quit
      • 2020-11-21 32651, 2020

      • Nyanko-sensei joined the channel
      • 2020-11-21 32604, 2020

      • antlarr has quit
      • 2020-11-21 32612, 2020

      • antlarr joined the channel
      • 2020-11-21 32624, 2020

      • Mr_Monkey
        Moin !
      • 2020-11-21 32626, 2020

      • supersandro2000 has quit
      • 2020-11-21 32642, 2020

      • supersandro2000 joined the channel
      • 2020-11-21 32646, 2020

      • michaelqm joined the channel
      • 2020-11-21 32604, 2020

      • michaelqm
        Two questions about running a mirror. Is rebuilding indexes going to take the full amount of time each time (approx 4 hours) or is there a faster way to do it (other than the live indexing that's still in beta)?
      • 2020-11-21 32624, 2020

      • michaelqm
        And second, how often do you recommend rebuilding the indexes?
      • 2020-11-21 32655, 2020

      • ruaok
        moin!
      • 2020-11-21 32614, 2020

      • ruaok drags his ass into wakedness after late night hacking
      • 2020-11-21 32602, 2020

      • ruaok
        typesense is actually really really good. I think the MSID mapping can go away and be replaced with http://bono.metabrainz.org:8000/acrm-search
      • 2020-11-21 32640, 2020

      • ruaok
        the results are rather quite good. you can take even popular track names, without an artist and it will find the right artist/release/recording in a lot of cases.
      • 2020-11-21 32640, 2020

      • shivam-kapila
        noice
      • 2020-11-21 32602, 2020

      • shivam-kapila
        ruaok: have we started with the hack day?
      • 2020-11-21 32612, 2020

      • ruaok
        we're gathering at the office in about half an hour to get things started.
      • 2020-11-21 32626, 2020

      • shivam-kapila
        cool
      • 2020-11-21 32653, 2020

      • ruaok
        have a look at the planning doc.
      • 2020-11-21 32607, 2020

      • ruaok
        I know Mr_Monkey flushed out a pile of things for the react work yesterday.
      • 2020-11-21 32639, 2020

      • shivam-kapila
        will do. thanks
      • 2020-11-21 32615, 2020

      • ruaok goes for comfyness
      • 2020-11-21 32629, 2020

      • ruaok
        forget the formal office attire....
      • 2020-11-21 32601, 2020

      • Gazooo79494 has quit
      • 2020-11-21 32630, 2020

      • alastairp
        michaelqm: if you need search on your mirror, and if you want the data to be relatively up-to-date, you should rebuild often
      • 2020-11-21 32642, 2020

      • alastairp
        the options are as you say, full rebuild or live indexing
      • 2020-11-21 32643, 2020

      • Gazooo79494 joined the channel
      • 2020-11-21 32639, 2020

      • shivam-kapila
        Mr_Monkey: lets have a lil chat about react tasks when you're ready
      • 2020-11-21 32615, 2020

      • alastairp
        he's just making his tea
      • 2020-11-21 32647, 2020

      • _lucifer
        has anyone started working on the db schema?
      • 2020-11-21 32618, 2020

      • Mr_Monkey
        shivam-kapila: Cup of tea in hand, ready !
      • 2020-11-21 32615, 2020

      • shivam-kapila
        nice!! me too.
      • 2020-11-21 32653, 2020

      • Mr_Monkey
        So I think the easiest way to divvy it up is 1. implement API endpoints and 2. Implement the pages components
      • 2020-11-21 32623, 2020

      • shivam-kapila agrees
      • 2020-11-21 32628, 2020

      • Mr_Monkey
        Either that or we each implement a page (all playlists and single playlist views), and each one choose either API endpoint or websockets
      • 2020-11-21 32645, 2020

      • Mr_Monkey
        But I think that's more chances of stepping on each other's toes, maybe.
      • 2020-11-21 32613, 2020

      • Mr_Monkey
        Any preference in all this?
      • 2020-11-21 32618, 2020

      • shivam-kapila
        I think the former is a better option
      • 2020-11-21 32624, 2020

      • michaelqm has quit
      • 2020-11-21 32657, 2020

      • shivam-kapila
        imo api base will make it more clear how the react side should look
      • 2020-11-21 32603, 2020

      • Mr_Monkey
        Cool. And any preference of which side you'd like to work on?
      • 2020-11-21 32620, 2020

      • shivam-kapila
        in API vs websockets?
      • 2020-11-21 32631, 2020

      • Mr_Monkey
        APIs versus react pages
      • 2020-11-21 32600, 2020

      • shivam-kapila
        your call. I am cool with both
      • 2020-11-21 32601, 2020

      • Mr_Monkey
        I think I have an edge with CSS stuff, and with limited time it's probably a good idea that I take the charge on that.
      • 2020-11-21 32619, 2020

      • Mr_Monkey
        (And I've been making prototypes in my head :D)
      • 2020-11-21 32640, 2020

      • shivam-kapila
        truly you are CSS maester
      • 2020-11-21 32652, 2020

      • Mr_Monkey
        Oof, not sure about that title :D
      • 2020-11-21 32633, 2020

      • Mr_Monkey
        Since the API itself doesn't exist yet, it's gonna be a lot of scaffolding and setting up at first before you can test against the endpoints
      • 2020-11-21 32604, 2020

      • shivam-kapila
        yeah
      • 2020-11-21 32645, 2020

      • Mr_Monkey
        and error management etc. There's a pretty good idea of returned codes in the API endpoint description
      • 2020-11-21 32612, 2020

      • Mr_Monkey
        Although not complete, so you may have to ask ruaok (who's gonna be doing the API endpoints) in doubt
      • 2020-11-21 32649, 2020

      • shivam-kapila
        there will be many I am sure :D
      • 2020-11-21 32654, 2020

      • Mr_Monkey
        And there's also the need for a new SpotifyAPI component, where you can implement the playlist import/export endpoints at the very least (I think some other Spotify endpoints we call in other components will end in there too
      • 2020-11-21 32634, 2020

      • shivam-kapila
        so spotifyAPIService, something like that
      • 2020-11-21 32640, 2020

      • Mr_Monkey
        yep
      • 2020-11-21 32646, 2020

      • shivam-kapila
        ok ok
      • 2020-11-21 32631, 2020

      • Mr_Monkey
        And as for the whole websockets stuff, well… I don't know where to start really. Local dev might work but AFAIK WS is broken in prod
      • 2020-11-21 32644, 2020

      • Mr_Monkey
        But I think we'll keep that nugget for tomorrow anyway :)
      • 2020-11-21 32615, 2020

      • shivam-kapila
        cool cool
      • 2020-11-21 32615, 2020

      • Mr_Monkey
        Does that all sound like a plan ? Any questions?
      • 2020-11-21 32658, 2020

      • shivam-kapila
        thats a crisp overview for me to dig in. thanks. no questions as of now
      • 2020-11-21 32606, 2020

      • Mr_Monkey
        Coolio :)
      • 2020-11-21 32622, 2020

      • _lucifer
        alastairp: ruaok: how about making the `created_for` column to be a part of algorithm metadata instead of a separate column?
      • 2020-11-21 32623, 2020

      • Mr_Monkey
        Let's get this party started !
      • 2020-11-21 32658, 2020

      • antlarr has quit
      • 2020-11-21 32620, 2020

      • Mr_Monkey
        I'll create a feature branch for us all to work on
      • 2020-11-21 32620, 2020

      • Mr_Monkey
        There we go ! The branch is called `playlist-feature` (how original)
      • 2020-11-21 32609, 2020

      • alastairp
        _lucifer: we're just having an in-person discussion to work stuff out
      • 2020-11-21 32622, 2020

      • antlarr joined the channel
      • 2020-11-21 32653, 2020

      • _lucifer
        👍
      • 2020-11-21 32646, 2020

      • ruaok
        _lucifer: moin!
      • 2020-11-21 32653, 2020

      • ruaok
        ready to chat about what to work on?
      • 2020-11-21 32659, 2020

      • _lucifer
        yup
      • 2020-11-21 32614, 2020

      • ruaok
        ok, cool.
      • 2020-11-21 32647, 2020

      • ruaok
        so, the python work breaks down in to 3 areas right now: DB schema/DB models, API endpoints and websocket live playlist updates.
      • 2020-11-21 32656, 2020

      • ruaok
        we need someone to look at the websocket stuff
      • 2020-11-21 32609, 2020

      • ruaok
        right now we have the broken follow feature in LB.
      • 2020-11-21 32625, 2020

      • ruaok
        that is going away and should just be renamed to playlist-updates or somesuch.
      • 2020-11-21 32610, 2020

      • ruaok
        since we're making collaborative playlists, two or more users could have a playlist page open.
      • 2020-11-21 32626, 2020

      • ruaok
        if one user makes a change, the change should appear in the other users' pages.
      • 2020-11-21 32652, 2020

      • ruaok
        the operations will be things like: move recording with mbid at index X to index Y.
      • 2020-11-21 32634, 2020

      • ruaok
        that operation should be sent out to the web sockets and then the client should pick it up and adjust the ordering/content of the playlist in the UI.
      • 2020-11-21 32637, 2020

      • ruaok
        make sense so far?
      • 2020-11-21 32648, 2020

      • _lucifer
        yes
      • 2020-11-21 32604, 2020

      • Mr_Monkey
        So some quick analysis of the console logs on listenbrainz user page, here's the type of error I get:
      • 2020-11-21 32606, 2020

      • Mr_Monkey
        Access to XMLHttpRequest at 'https://sockets.listenbrainz.org/socket.io/?EIO=3&transport=polling&t=NNgPgIc' from origin 'https://listenbrainz.org' has been blocked by CORS policy: No 'Access-Control-Allow-Origin' header is present on the requested resource.
      • 2020-11-21 32609, 2020

      • ruaok
        the follow stuff is currently broken in production. it might be broken on dev as well.
      • 2020-11-21 32647, 2020

      • Mr_Monkey
        So I'm guessing we are doing a call for LB.org to sockets.LB.org, and the subdomain change requires us to set an HTTP header somewhere ( 'Access-Control-Allow-Origin' )
      • 2020-11-21 32606, 2020

      • Mr_Monkey
        That where my understanding of the situation stops
      • 2020-11-21 32650, 2020

      • shivam-kapila
        ah CORS is so coarse
      • 2020-11-21 32652, 2020

      • ruaok
      • 2020-11-21 32601, 2020

      • Mr_Monkey
        Of CORS.
      • 2020-11-21 32637, 2020

      • _lucifer
        ruaok: yup, looking at it.
      • 2020-11-21 32611, 2020

      • _lucifer
        i'll try this out locally to see if it works in dev.
      • 2020-11-21 32629, 2020

      • ruaok
        I would suggest that you dive in and get it working on your dev instance.
      • 2020-11-21 32645, 2020

      • _lucifer
        sure, makes sense.
      • 2020-11-21 32659, 2020

      • ruaok
        and then start adding support for playlist operations.
      • 2020-11-21 32625, 2020

      • _lucifer
        👍
      • 2020-11-21 32633, 2020

      • ruaok
        the function is a bit of a misnomer, but let's roll with it now.
      • 2020-11-21 32659, 2020

      • shivam-kapila
      • 2020-11-21 32608, 2020

      • shivam-kapila
        this looks like a simple fix
      • 2020-11-21 32653, 2020

      • ruaok
        ok, dev server is ready: http://bono.metabrainz.org:4000/
      • 2020-11-21 32618, 2020

      • ruaok
        alastairp: you were going to send me some links?
      • 2020-11-21 32657, 2020

      • alastairp
        ruaok: sorry, I forgot
      • 2020-11-21 32657, 2020

      • alastairp
      • 2020-11-21 32602, 2020

      • ruaok
        thx
      • 2020-11-21 32651, 2020

      • alastairp
        ruaok: Mr_Monkey: _lucifer: Does the 'last updated' date of a playlist reflect when recordings are added to it, or only when its metadata is changed? (we already store the date that each item is added to the playlist)
      • 2020-11-21 32624, 2020

      • ruaok
        the former since the latter can be derived, I would say.
      • 2020-11-21 32633, 2020

      • ruaok
        er..
      • 2020-11-21 32636, 2020

      • ruaok
        the opposite.
      • 2020-11-21 32651, 2020

      • alastairp
        keep in mind that this is for how it's stored in the datbase
      • 2020-11-21 32659, 2020

      • ruaok
        when metadata is updated, since the item timestamps can be derived from looking at the items
      • 2020-11-21 32603, 2020

      • alastairp
        public presentation could be modified
      • 2020-11-21 32627, 2020

      • _lucifer
        LB should use MUSICBRAINZ_OAUTH_URL from the config.py for redirecting the OAuth right?
      • 2020-11-21 32633, 2020

      • ruaok
        there should be no need for you to change that.
      • 2020-11-21 32602, 2020

      • ruaok
        the default of "https://musicbrainz.org/oauth2/userinfo" is fine.
      • 2020-11-21 32621, 2020

      • _lucifer
        i was trying to test the follow server with multiple user accounts and thought to use my existing from the test server
      • 2020-11-21 32634, 2020

      • ruaok
        you need to get OAuth keys from MB for settting MUSICBRAINZ_CLIENT_ID and MUSICBRAINZ_CLIENT_SECRET
      • 2020-11-21 32639, 2020

      • ruaok
      • 2020-11-21 32658, 2020

      • ruaok
        the extension stuff doesn't feel right yet.
      • 2020-11-21 32630, 2020

      • alastairp
        in terms of the structure, or the data that you're storing?
      • 2020-11-21 32650, 2020

      • ruaok
        structure is ok, but naming of keys...
      • 2020-11-21 32653, 2020

      • ruaok
      • 2020-11-21 32657, 2020

      • ruaok
        this feels a lot better.
      • 2020-11-21 32623, 2020

      • ruaok
        artist_identifier or identifier_artist ?
      • 2020-11-21 32633, 2020

      • ruaok
        I think a bettername space id might be: https://musicbrainz.org/doc/jspf
      • 2020-11-21 32643, 2020

      • ruaok
        where we document our extensions on that page
      • 2020-11-21 32621, 2020

      • alastairp
        agreed about space id
      • 2020-11-21 32643, 2020

      • alastairp
        putting a # after it is nice, so that we can have https://musicbrainz.org/doc/jspf#artist_identifier be a real piece of html
      • 2020-11-21 32658, 2020

      • ruaok
        k
      • 2020-11-21 32644, 2020

      • ruaok