monkey: "Error while submitting feedback JSON document must contain recording_msid and score top level keys" when I click heart on listening now track on lb prod.
also mooooin!
CatQuest
"[21:17] <ruaok> I am now, lucifer "
#messagestakenoutofcontext
(sorry :D)
monkey
ruaok: I suppose that's expected, the playing_now listens don't have the necessary recording_msid
Buttons should be disabled in that case though. Can you mae a ticekt please?
Actually, never mind, I got it
ruaok skips adding the ticket.
Etua has quit
Time to refactor the listen component !
ruaok
may the force be with you, monkey
hmm, the not being able to heart a listen_now is... not making for a good workflow. I now have to wait for the song to appear in my listens, which can be delayed by minutes. by then I don't remember what I loved/hated, since its all new to me.
I'll have to think of how to make that work on the backend.
lucifer
now playing listens are not lookup up for msid. since that part was moved to ts writer.
ruaok
yes, is the problem.
lucifer
we could add msid lookup for now playing listens directly in api or websockets though.
only api actually (putting in ws will cause inconsistencies)
ruaok
that leaves the possibility of having feedback for msids that may not turn into listens.
if the user clicks hate and skips the track before 30 seconds, we've got shit data.
lucifer
right, but we can already love/hate another person's listens?
ruaok
we can on test
alastairp
how complex would it be to have a "queue" of likes (username, artist-recording credit)?
lucifer
which we might not have listened anyways
alastairp
and then turn them into real likes as a listen comes in
I guess that doesn't help it if the track never turns into a listen (user skips before 30s)
ruaok
more complex than I care for, really. but that seems to be the right answer.
perhaps the queue is not the right method here
redis with a timeout of 1hr?
alastairp
or, for a like without an msid, directly do an acr lookup and store it as an mbid like
lucifer
i think its fine as is. if you have a listen for msid, the feedback is considered otherwise spark or whatever else ignores it
ruaok
lucifer: how is it fine? it doesn't provide a feature I feel is missing.
acr lookup is an interesting idea, alastairp
I think my redis idea is doable:
1. when we get love/hate on now listening, we add an item to redis: (user, artist_name, track_name) with expiry of 1hr
lucifer
ruaok: i meant fine as in let people submit feedback as they want regarless of listens. if you give feedback for a track that you haven't listened to it will just get ignored.
ruaok
2. when the TS writer gets a listen, it checks to see if that exists in redis. if so, add feedback, remove redis key
lucifer: ah, I see. but then we have cruft in the DB.
2) we will probably want people to give feedback on their recommendations, not necessary that people listen to those before providing feedback
ruaok
yes, good points.
esp the hate part. we don't want to force people to listen to a track they hate at second 3.
so, if we add a add-now-listening-feedback API endpoint which provides user, artist, track, we generate MSIDs, and add a feeback event.
like that?
reosarevok
But maybe it gets *AMAZING* at second 5! :P
ruaok
your mom is amazing at 5 seconds.
lucifer
an endpoint for now playing listens sounds good
ruaok
k, let me add a ticket for that.
lucifer
and as for the feedback itself, my suggestion is keep that feedback. ignore feedback without listens for the time being. once we incorporate feedback with listens in recs, we can try to figure out to use the one without listens as well.
ruaok
agreed. and we could always cleanup feedback later if we find it needs to be done.
LB-950: Add support for love/hate on a now listening listen
ruaok
lucifer: another thing we discussed in person yesterday...
the listen_mbid_mapping table currently uses artist_credit_id, when it would clearly be better to use artist_mbids[].
and the fact that the MBID mapping tables previously didn't contain all of the releases (it skipped VA releases) and that the old mapping had some minor data instability.
it would be good to re-generate the table, but named tmp_listen_mbid_mapping.
once that is caught up, we stop both mbid-mapping writers and swap one table for the other. then restart the new mapping writer as the default one. then drop the old table.
make sense?
alastairp
does pg do table aliases?
I guess that's basically a view
and I guess table renames are instant too
ruaok
yeah, you can do it all in one transaction.
alastairp
ruaok:
> The DROP COLUMN form does not physically remove the column, but simply makes it invisible to SQL operations. Subsequent insert and update operations in the table will store a null value for the column. Thus, dropping a column is quick but it will not immediately reduce the on-disk size of your table, as the space occupied by the dropped column is not reclaimed. The space will be reclaimed over time as existing rows are updated.
although since we're append-only we're not going to free any space unless we vacuum full
(or migrate to a larger server at some time in the future)
ruaok
I think that is all fine.
alastairp
agreed
BrainzGit
[listenbrainz-server] 14mayhem opened pull request #1618 (03master…include-all-releases-in-mapping): Add all releases (not use non VA) into the mapping https://github.com/metabrainz/listenbrainz-serv...
lucifer
ruaok: yup, makes sense. +1
monkey
Something else we talked about yesterday, not sure if that's still not working as intended: LB-493
yyoung[m]: ^ do make sure this seems fine to you when you have some time, please :)
yyoung[m]: hmm, can't we just highlight the relationship(s)?
yyoung[m]
Sure
BrainzGit
[listenbrainz-server] 14mayhem merged pull request #1618 (03master…include-all-releases-in-mapping): Add all releases (not use non VA) into the mapping https://github.com/metabrainz/listenbrainz-serv...
reosarevok
So, if the user changes the existing one, mark yellow, if the user removes, then red, if adds, then green? Or something :)
yyoung[m]
Ideally that would be better, but select boxes are not suitable for highlights
reosarevok
But we also have "type: ", right?
Why not add a background to the whole div?
yyoung[m]
Or what about changing the background of select, like the red one before?
Highlighting the whole div probably works though.
reosarevok
Either works IMO, but the div might be more visible
yyoung[m]
OK then, I'll have a try
And what about highlights of URL?
lucifer
ruaok: looking at sitewide stats in spark, it seems the sitewide one is calculating the top artists for each day in past 2 weeks, each day in past 2 months, each month in the past year 2 years and each year since the start. this looks like an overkill to me. we do this sort of stuff during user listening activity calculation which makes sense but for user top artists we do not.
reosarevok
Well, I'd expect to highlight what has changed
So if the URL has changed, highlight that, if the relationship, highlight that
lucifer
i think we should not do it for sitewide top artists either. thoughts?
reosarevok
If all uses of a URL are being removed, maybe highlight the whole block in red?
But I'd have to see it to be sure it'd work :)
yyoung[m]
Yes
atj
!m reosarevok
BrainzBot
You're doing good work, reosarevok!
atj
thanks for fixing those bugs I submitted <3
reosarevok
Np :)
Not sure when it'll get merged, but I'm hoping release after next (so, beta in two weeks, out in three)
yyoung[m]
yvanzo, reosarevok : BTW, do you think displaying type combinations in a dialog is enough for MBS-11899?
Do you mean having a bubble with documentation, or having a select with all the allowed combinations, or a third, different thing? :)
ruaok
lucifer: not sure I follow the question. are you suggesting that we only calculate sitewide stats for all time and not the other ranges?
yyoung[m]
reosarevok: I mean providing a link in error message for users to view a list of allowed type combinations. My first thought is using a dialog since we don't favor bubbles now.
Etua has quit
Etua joined the channel
BrainzGit
[musicbrainz-server] 14reosarevok opened pull request #2270 (03master…MBS-10056): MBS-10056: Don't add redundant credit to relationship on entity merge https://github.com/metabrainz/musicbrainz-serve...