since none of the new listens should be imported, the existing tests passing will mean it works.
2025-09-02 24557, 2025
__BrainzGit
[listenbrainz-server] 14amCap1712 merged pull request #3316 (03master…integrating-ia-into-bp): Integrating Internet Archive recordings into Brainzplayer https://github.com/metabrainz/listenbrainz-server…
2025-09-02 24537, 2025
lucifer[m]
holycow23: just that one change needed on the PR and then its ready acc. to me.
2025-09-02 24552, 2025
lucifer[m]
m.amanullah7: missing tests on the navidrome PR.
2025-09-02 24554, 2025
monkey[m]
<lucifer[m]> "sure. fwiw you only need to..." <- Shucks, I created a new test instead... but your method makes more sense, I can revert the changes and proceed as you suggested
2025-09-02 24533, 2025
lucifer[m]
new test is fine. if you have already implemented, feel free to keep it that way
2025-09-02 24543, 2025
lucifer[m]
* is fine too. if
2025-09-02 24511, 2025
monkey[m]
Yes. I pushed the commit in question if you want to look. One thing I wasn't sure about was self.wait_for_query_to_have_items(url, num_items=0, attempts=20) since we should get 0 results, not sure this loop utility makes sense or will test appropriately.
2025-09-02 24517, 2025
mamanullah7[m]
lucifer: Working on it! Was travelling last weeek will push before Thursday!
2025-09-02 24500, 2025
mamanullah7[m]
Btw any reviews ?
2025-09-02 24507, 2025
lucifer[m]
monkey: yes, i suggest to add one valid listen to the file so that you can change it to num_items=1.
2025-09-02 24537, 2025
monkey[m]
Yeah, was thinking that. Will add said listen at the end of the file so we know the entire think has been processed
2025-09-02 24540, 2025
lucifer[m]
fwiw its batch processed (chunk size 50 iirc) . so all of it will be processed in one go but yes sounds good.
2025-09-02 24551, 2025
lucifer[m]
s/.//
2025-09-02 24508, 2025
lucifer[m]
m.amanullah7: not yet, will let you know soon
2025-09-02 24546, 2025
holycow23[m]
<lucifer[m]> "holycow23: just that one..." <- done
2025-09-02 24522, 2025
spynx is now known as spynxic
2025-09-02 24500, 2025
lucifer[m]
monkey: pushed a small change. let me know if its ready according to you. will merge after tests pass.
2025-09-02 24539, 2025
monkey[m]
Yes, perfect, thanks for the assist lucifer
2025-09-02 24533, 2025
monkey[m]
I see the failing test, let me see which of those listens is not doing what I think it should
2025-09-02 24506, 2025
kellnerd[m]
The second to last, reason "unknown"
2025-09-02 24524, 2025
kellnerd[m]
Give me a minute, I think I have a few more reason_end values to be considered.
2025-09-02 24543, 2025
monkey[m]
Wasn't sure about the "unknow" case, but I suppose it should also be ignored if played less than 30s
2025-09-02 24521, 2025
monkey[m]
Made that change now.
2025-09-02 24502, 2025
kellnerd[m]
Most of my "endplay" listens are also very short (few seconds), they are only accompanied with skipped == true since October 2022.
2025-09-02 24533, 2025
kellnerd[m]
Earlier that field did not seem to exist.
2025-09-02 24542, 2025
monkey[m]
kellnerd[m]: Did you mean "unknown" listens? Otherwise I don't think I'm following what you said
2025-09-02 24504, 2025
kellnerd[m]
No, I mean "reason_end":"endplay"
2025-09-02 24551, 2025
kellnerd[m]
Unlike "trackdone" these seem to be incomplete/skipped listens as well.
2025-09-02 24526, 2025
monkey[m]
Found one good example, thanks
2025-09-02 24524, 2025
kellnerd[m]
They are even the most common skip reason in my export. And many pre-2018 listens have "reason_end":null even, which might be another candidate for skipped listens.
2025-09-02 24503, 2025
lucifer[m]
<kellnerd[m]> "Earlier that field did not..." <- Ah thanks, for confirming that. I was wondering as well if any of these fields haven't been always around. But I didn't find any example in my listening.
2025-09-02 24506, 2025
kellnerd[m]
monkey: Do you need a sample for `null` or do you have some yourself?
2025-09-02 24532, 2025
monkey[m]
Didn't find one yet, if you have one at hand I'm a taker. Don't be like me and leak your IP if you send it though :P
2025-09-02 24527, 2025
monkey[m]
I only have a older export, "reason_end":null does not appear in there
2025-09-02 24538, 2025
kellnerd[m]
Mine is from January 2024, I've checked possible values with elbisaur statistics spotify_2016-2024.jsonl --keys reason_end.
2025-09-02 24541, 2025
monkey[m]
Thanks kellnerd !
2025-09-02 24547, 2025
lucifer[m]
should reason_end imply track skip or not then?
2025-09-02 24535, 2025
monkey[m]
Not by itself. "skipped: true" implies a track skip.
2025-09-02 24535, 2025
monkey[m]
reason_end can be just "end of the song" basically
2025-09-02 24516, 2025
lucifer[m]
sounds good
2025-09-02 24557, 2025
lucifer[m]
ah sorry, i meant does reason_end: null imply a track skip?
2025-09-02 24546, 2025
monkey[m]
In the case where there is less than 30s play, yes
2025-09-02 24558, 2025
monkey[m]
Just added that to the filtering code and a test for it
2025-09-02 24519, 2025
lucifer[m]
okay cool, also need to update the code to account for these fields to be missing.
2025-09-02 24549, 2025
lucifer[m]
i'll do that and add a few listens.
2025-09-02 24503, 2025
monkey[m]
I wonder if we should filter the other way around, only keeping the ones with "trackdone" or "endplay" and whichever other reason_end values represent that the track played in its entirety...
2025-09-02 24541, 2025
monkey[m]
lucifer[m]: That I haven't seen. We've seen explicit null value but no missing field. Might be good to support it anyway just in case
2025-09-02 24553, 2025
lucifer[m]
i think its better to keep anything that we don't know that should be skipped for sure.