#metabrainz

/

      • yuzie joined the channel
      • 2022-07-05 18600, 2022

      • yuzie has quit
      • 2022-07-05 18633, 2022

      • yuzie joined the channel
      • 2022-07-05 18645, 2022

      • yuzie has quit
      • 2022-07-05 18638, 2022

      • Rotab has quit
      • 2022-07-05 18601, 2022

      • reosarevok
        lucifer, mayhem: wonder whether it would be interesting to see which artists somebody listens to in LB that do not yet have genres, and ask them to improve that? :)
      • 2022-07-05 18608, 2022

      • reosarevok
        I would like to know, at least :D
      • 2022-07-05 18604, 2022

      • reosarevok
        Also, who should I be sending Android app reports of issues to?
      • 2022-07-05 18629, 2022

      • CatQuest has quit
      • 2022-07-05 18610, 2022

      • yellowhatpro
        moin!!
      • 2022-07-05 18610, 2022

      • yellowhatpro
        <reosarevok> "Also, who should I be sending..." <- Maibi I might . What is it??
      • 2022-07-05 18610, 2022

      • yellowhatpro
        Otherwise akshaaatt or lucifer might help
      • 2022-07-05 18624, 2022

      • akshaaatt
        You can direct them to me reosarevok
      • 2022-07-05 18653, 2022

      • reosarevok
        Ok :) I just didn't know how much time you have to deal with it, but I can do that, will forward
      • 2022-07-05 18615, 2022

      • reosarevok
        (if you answer, please cc support)
      • 2022-07-05 18607, 2022

      • outsidecontext
        zas: can we delay the Picard release, maybe to Thursday? I'd like to investigate https://tickets.metabrainz.org/browse/PICARD-2515 more closely and maybe have this fixed in this release as well.
      • 2022-07-05 18608, 2022

      • BrainzBot
        PICARD-2515: Swatches not coloured in Options > User Interface > Colours, macOS 12.4
      • 2022-07-05 18654, 2022

      • mayhem
        reosarevok: that is not a bad idea at all!
      • 2022-07-05 18608, 2022

      • CatQuest joined the channel
      • 2022-07-05 18607, 2022

      • alastairp
        hi, will work from home today
      • 2022-07-05 18645, 2022

      • mayhem
        moin and thanks for that.
      • 2022-07-05 18644, 2022

      • ansh
        moin!!
      • 2022-07-05 18643, 2022

      • ansh
        alastairp: I checked the API again yesterday, the user info getting returned. Some data was missing just because the users did not have an mb username.
      • 2022-07-05 18650, 2022

      • zas
        outsidecontext: ok, np
      • 2022-07-05 18622, 2022

      • alastairp
        ansh: right, some users don't have musicbrainz usernames (from reviews that we imported from a separate collection)
      • 2022-07-05 18631, 2022

      • ansh
        For BB, I just need avg ratings to be returned.
      • 2022-07-05 18605, 2022

      • alastairp
        which is the other PR?
      • 2022-07-05 18617, 2022

      • ansh
        I raised CB#401 before, but it requires a lot of changes
      • 2022-07-05 18618, 2022

      • BrainzBot
        CB-427: Support entity endpoint in the API including average rating: https://github.com/metabrainz/critiquebrainz/pull…
      • 2022-07-05 18635, 2022

      • alastairp
        what changes does it require?
      • 2022-07-05 18606, 2022

      • ansh
        We were adding endpoints for every entity type
      • 2022-07-05 18615, 2022

      • ansh
        So that needs to be done
      • 2022-07-05 18634, 2022

      • alastairp
        ah right, because these are entity API endpoints, not review endpoints. got it
      • 2022-07-05 18625, 2022

      • ansh
        But I was thinking if we can send avg ratings at the review endpoint if the user has given a specific entity_id
      • 2022-07-05 18636, 2022

      • alastairp
        this is related to CB-437 anyway, right?
      • 2022-07-05 18636, 2022

      • BrainzBot
        CB-437: Add entity metadata to review get endpoints https://tickets.metabrainz.org/browse/CB-437
      • 2022-07-05 18607, 2022

      • alastairp
        so within a review block (https://critiquebrainz.readthedocs.io/api/endpoin…) we could have an "entity" field, and then inside that the average rating for the entity
      • 2022-07-05 18617, 2022

      • alastairp
        will that save an API call on BB?
      • 2022-07-05 18618, 2022

      • monkey
        I was going to suggest the same. Get reviews for an entity, get the average rating as part of the response as well
      • 2022-07-05 18649, 2022

      • alastairp
        unfortunately we don't have a great API format to get reviews for an entity and then show entity data
      • 2022-07-05 18650, 2022

      • alastairp
        mmm
      • 2022-07-05 18658, 2022

      • alastairp
      • 2022-07-05 18658, 2022

      • ansh
        not exactly related to CB-437. It can be done separately also
      • 2022-07-05 18601, 2022

      • alastairp
        oh, perhaps
      • 2022-07-05 18635, 2022

      • alastairp
        we _could_ say, only in the case that an entity_id is provided, include another top-level key "entity"
      • 2022-07-05 18621, 2022

      • alastairp
        it feels a bit funny if that output format changes depending on the query parameters
      • 2022-07-05 18609, 2022

      • monkey
        Funny but not 🤡
      • 2022-07-05 18619, 2022

      • alastairp
        scary like that emoji>
      • 2022-07-05 18620, 2022

      • alastairp
        ?
      • 2022-07-05 18617, 2022

      • ansh
        Or we can return avg rating here in the review endpoint, and if the user wants the entity metadata also, we can have them in entity endpoints
      • 2022-07-05 18601, 2022

      • alastairp
        I think we can duplicate some data in places - so we can have the entity metadata + average rating endpoint per entity
      • 2022-07-05 18624, 2022

      • alastairp
        but also add entity metadata to the review (CB-437), and include average rating there too
      • 2022-07-05 18624, 2022

      • BrainzBot
        CB-437: Add entity metadata to review get endpoints https://tickets.metabrainz.org/browse/CB-437
      • 2022-07-05 18650, 2022

      • alastairp
        it would mean that if you get all reviews for a single entity then that metadata will be repeated in all reviews, but I don't think that is a problem
      • 2022-07-05 18616, 2022

      • ansh
        Yes, it can be done in this way also
      • 2022-07-05 18658, 2022

      • monkey
        I find the top level key a bit cleaner to avoid duplicating data, but if you definitely want to avoid Schroedinger's response output then duplicated entity info for each review works.
      • 2022-07-05 18615, 2022

      • ansh
        monkey: When will the next BB dump release?
      • 2022-07-05 18615, 2022

      • monkey
        Could also be hidden behind an option
      • 2022-07-05 18649, 2022

      • alastairp
        monkey: yeah, I think we considered some inc parameters, but I don't think that this is going to save us much
      • 2022-07-05 18631, 2022

      • monkey
        ansh: dumps are created every monday
      • 2022-07-05 18657, 2022

      • ansh
        okay
      • 2022-07-05 18646, 2022

      • ansh
        alastairp: this is how the response will look after adding entity info in the reviews endpoint: https://www.irccloud.com/pastebin/A1YfYQ7g/
      • 2022-07-05 18627, 2022

      • alastairp
        I looks good. I wonder if we should name the entity key the value of entity_type
      • 2022-07-05 18648, 2022

      • alastairp
        that is, call it "recording" instead of "entity". I noticed yesterday that this is what the musicbrainz API does when you look up relations
      • 2022-07-05 18640, 2022

      • monkey
        Doesn't that make the API response a bit harder to work with down the line?
      • 2022-07-05 18624, 2022

      • ansh
        I agree. Because the api is dynamic to work for every entity type
      • 2022-07-05 18631, 2022

      • alastairp
        given that we already have `"entity_type":"recording",` I don't think it makes it any more difficult
      • 2022-07-05 18601, 2022

      • alastairp
        and it certainly makes it a bit easier to define the structure (in pydantic, typescript, etc) of each of the metadata blocks, as we know that they're all separate
      • 2022-07-05 18612, 2022

      • alastairp
      • 2022-07-05 18630, 2022

      • alastairp
        has a list of "relations", and some of them have a sub-item "artist", and others a subitem "work"
      • 2022-07-05 18635, 2022

      • ansh
        makes sense
      • 2022-07-05 18644, 2022

      • Pratha-Fish
        alastairp: moin :)
      • 2022-07-05 18646, 2022

      • Pratha-Fish
        Can we discuss the artist conflation issue today? (whenver you get the time ofc)
      • 2022-07-05 18656, 2022

      • CatQuest
        I no like clowns :c
      • 2022-07-05 18602, 2022

      • Pratha-Fish
        CatQuest: That statement makes you vulnerable to "Damn you must hate yourself then" type roasts.
      • 2022-07-05 18610, 2022

      • reosarevok
        That it does :D
      • 2022-07-05 18609, 2022

      • Pratha-Fish
        P.S. I didn't mean to actually say it. Just wanted to point out someone else might exploit the vulnerability 💀
      • 2022-07-05 18619, 2022

      • alastairp
        Pratha-Fish: hi, just finishing up end-of-month paperwork from last week. what a day. I just need to send one more email and then I'll be with you
      • 2022-07-05 18647, 2022

      • CatQuest
        it's not a vulnerability because i am not a clown. i am a cat
      • 2022-07-05 18614, 2022

      • CatQuest
        ;)
      • 2022-07-05 18607, 2022

      • alastairp
        zas: hi, is it possible to use gateways config to redirect an http request to another location (permanent redirect)?. I wish to redirect http[s]://ftp.acousticbrainz.org/* to http://ftp.eu.metabrainz.org/pub/musicbrainz/acou…
      • 2022-07-05 18623, 2022

      • alastairp
        I guess this can be done with a custom nginx config stub in upstreams-auto directory in openresty-gateways repo?
      • 2022-07-05 18619, 2022

      • zas
        yup
      • 2022-07-05 18656, 2022

      • zas
        but first we need to point ftp.acousticbrainz.org to gateways
      • 2022-07-05 18600, 2022

      • zas
      • 2022-07-05 18610, 2022

      • zas
        it can be done using such config
      • 2022-07-05 18611, 2022

      • zas
        in this case there's a subpath, I need to check if it works without changes though
      • 2022-07-05 18645, 2022

      • zas
        it should, but we need to take care of ending /, see https://github.com/metabrainz/openresty-gateways/…
      • 2022-07-05 18641, 2022

      • CatQuest
        wait what's the thing picard uses now. it's not libtunepimp anymore is it? it's called other thing
      • 2022-07-05 18649, 2022

      • zas
        alastairp: https://github.com/metabrainz/docker-server-confi… (but we need a DNS change along this)
      • 2022-07-05 18657, 2022

      • zas
        CatQuest: uses for?
      • 2022-07-05 18638, 2022

      • CatQuest
        uh.. idk, it's lib
      • 2022-07-05 18647, 2022

      • CatQuest
        it has a lib called libsomethingsomething
      • 2022-07-05 18650, 2022

      • CatQuest
        used to atleast
      • 2022-07-05 18659, 2022

      • CatQuest
        for..
      • 2022-07-05 18600, 2022

      • CatQuest
        uh
      • 2022-07-05 18607, 2022

      • CatQuest
        i dont know :(
      • 2022-07-05 18619, 2022

      • outsidecontext
        CatQuest: you mean mutagen?
      • 2022-07-05 18615, 2022

      • CatQuest
        I actually wanted to know because on wikipedia there is actually a page called "libformat" for ffmpeg or something, and I wanted to see if something existed for picard's file
      • 2022-07-05 18617, 2022

      • CatQuest
        hmm
      • 2022-07-05 18636, 2022

      • CatQuest
        .. no mutagen wikipage is not that :D
      • 2022-07-05 18649, 2022

      • CatQuest
        libavformat actually, but whatever
      • 2022-07-05 18659, 2022

      • CatQuest
        libtunepimp doesn't exist on wp
      • 2022-07-05 18606, 2022

      • outsidecontext
        I don't know exactly what you are looking for or what question you want to answer / problem to solve :D There is no libpicard or something. For reading / writing metadata in audio files there is mutagen
      • 2022-07-05 18607, 2022

      • CatQuest
      • 2022-07-05 18653, 2022

      • outsidecontext
        libtunepimp *is* ancient history https://wiki.musicbrainz.org/History:libtunepimp
      • 2022-07-05 18603, 2022

      • CatQuest
        ah, tnhe I'm just outdated severely. (i remembered the "libtunepimp" name (and it's what I associate "libxxx") with)
      • 2022-07-05 18606, 2022

      • CatQuest
        yea
      • 2022-07-05 18618, 2022

      • mayhem
        lol, libtunepimp.
      • 2022-07-05 18623, 2022

      • CatQuest
        i mena i remember he name :D
      • 2022-07-05 18624, 2022

      • mayhem
        that never took off, lol.
      • 2022-07-05 18629, 2022

      • CatQuest
        it didn't? huh
      • 2022-07-05 18634, 2022

      • CatQuest
        but such a cool name
      • 2022-07-05 18640, 2022

      • outsidecontext
        It had been basically become outdated even before I contributed my first code to Picard, and that has been nearly 15 years ago :D
      • 2022-07-05 18605, 2022

      • CatQuest
        huh. my memory is weird
      • 2022-07-05 18603, 2022

      • BrainzGit
        [listenbrainz-server] 14staticssleever668 opened pull request #2049 (03master…fix/youtube_short_link): Simplify the code to get Youtube URL from a listen https://github.com/metabrainz/listenbrainz-server…
      • 2022-07-05 18646, 2022

      • monkey
        alastairp: Ahaa, first person asking the real questions about our canonical music_service domain name :D -> https://github.com/web-scrobbler/web-scrobbler/is…
      • 2022-07-05 18643, 2022

      • alastairp
        zas: thanks for the redirect configuration
      • 2022-07-05 18602, 2022

      • alastairp
        mayhem: can you update DNS for ftp.acousticbrainz.org to point to gateways? you can restore TTL to something more sane too
      • 2022-07-05 18655, 2022

      • alastairp
        monkey: interesting. this comes back to our discussion about "should it be the domain of the music service, or should you generate it from the url that you have", right?
      • 2022-07-05 18605, 2022

      • monkey
        Yes. The subtlety here is that in JS the browser location will have the full domain (i.e open.spotify.com) but there's no good reliable way to get the root domain (spotify.com) from it (without fetching a giant list of TLDs somewhere)
      • 2022-07-05 18647, 2022

      • alastairp
        yes right, and the whole idea of webscrobbler is that it's supposed to be generic and magic?
      • 2022-07-05 18605, 2022

      • alastairp
        in which case having a list of TLDs requires keeping it up to date
      • 2022-07-05 18627, 2022

      • alastairp
        bandcamp specifically is [bandname].bandcamp.com, right?
      • 2022-07-05 18656, 2022

      • monkey
        In most cases I can think of
      • 2022-07-05 18623, 2022

      • monkey
        That or without the subdomain: `https://bandcamp.com/mr_monkey/feed`
      • 2022-07-05 18643, 2022

      • alastairp
      • 2022-07-05 18657, 2022

      • monkey
        But I think if you're gonna go and modify each connector they have, might as well hardcode a value
      • 2022-07-05 18601, 2022

      • monkey
        Yep, lots of connectors
      • 2022-07-05 18609, 2022

      • alastairp
        it seems that they work by the presence of a particular selector? rather than the domain that it's running on
      • 2022-07-05 18611, 2022

      • alastairp
        which is a shame
      • 2022-07-05 18633, 2022

      • monkey
        No, I think they initially work on URL: https://github.com/web-scrobbler/web-scrobbler/bl…
      • 2022-07-05 18613, 2022

      • mayhem
        alastairp: done
      • 2022-07-05 18630, 2022

      • alastairp
        monkey: ahhh, missed that
      • 2022-07-05 18652, 2022

      • alastairp
        monkey: I mean, my initial gut feel is that `matches` is really close to what we want
      • 2022-07-05 18654, 2022

      • alastairp
        mayhem: thanks
      • 2022-07-05 18642, 2022

      • alastairp
        and in fact 'id' could be music_service_name, in absence of any better solution
      • 2022-07-05 18650, 2022

      • monkey
        alastairp: Somewhat, but then they also support multiple TLDs sometimes: https://github.com/web-scrobbler/web-scrobbler/bl…
      • 2022-07-05 18601, 2022

      • alastairp
        yeah, I saw a few examples. especially in bandcamp
      • 2022-07-05 18601, 2022

      • alastairp
        mmm yeah, that yandex one looks difficult. because in this case "radio.yandex.kz" is probably the correct example, but in the case of a match of *.bandcamp.com we'd want -> bandcamp.com
      • 2022-07-05 18654, 2022

      • alastairp
        I feel a bit bad recommending that they add another 500 lines to that file... :)
      • 2022-07-05 18603, 2022

      • monkey
        Yeah. That is something I brought up while we were discussing, but I suppose the argument was "There will be a way to do it, even if it's cumbersome"
      • 2022-07-05 18613, 2022

      • monkey
        Which holds true
      • 2022-07-05 18656, 2022

      • monkey
        Here's a canonical URL where the subdomain is required: reddit.musicplayer.io
      • 2022-07-05 18605, 2022

      • monkey
        musicplayer.io -> 404
      • 2022-07-05 18626, 2022

      • alastairp
        yeah, right. I I didn't think about this idea of multiple localised domains that might be different when we came up with the idea
      • 2022-07-05 18644, 2022

      • outsidecontext
        alastairp, monkey: isn't that easily solved on the server side? Just having a rule to drop subdomains from e.g foo.bandcamp.com
      • 2022-07-05 18605, 2022

      • alastairp
        and of course the original idea was to try and come up with a uniform way of identifying a site without relying on people typing text which might be different from app to app
      • 2022-07-05 18613, 2022

      • monkey
        IIRC we avoid doing any manipulation of the incoming listens
      • 2022-07-05 18615, 2022

      • outsidecontext
        even if you just do it for analysis reasons that would be possible. or automatically add the canonical version of the input