Me again! Although this bug feels minor compared to the last one, I felt I should report since I noticed it.
I used the Import from Listening History Files feature, and imported a bunch of listens from Spotify, but it looks like the timestamp stored in the Spotify JSON files is the time the track ended playback, not the time the track started playback. Upon import, that timestamp got read as the start of the LB listen.
Example:
I’m not at my home PC right now so I don’t have every JSON entry for these listens, but I have this one:
Spotify Extended History JSON entry
{
"ts": "2018-01-31T21:56:27Z",
"platform": "iOS 11.0.3 (iPhone8,4)",
"ms_played": 7244,
"conn_country": "US",
"ip_addr": "23.226.132.228",
"master_metadata_track_name": "Mountain Sound",
"master_metadata_album_artist_name": "Of Monsters and Men",
"master_metadata_album_album_name": "My Head Is An Animal",
"spotify_track_uri": "spotify:track:60ZGteAEtPCnGE6zevgUcd",
"episode_name": null,
"episode_show_name": null,
"spotify_episode_uri": null,
"reason_start": "clickrow",
"reason_end": "fwdbtn",
"shuffle": true,
"skipped": false,
"offline": false,
"offline_timestamp": null,
"incognito_mode": false
}
Important lines are "ts": "2018-01-31T21:56:27Z"
and "ms_played": 7244
. On import, LB translated the timestamp to "listened_at": 1517435787
. (side note: the other bug report I mentioned would make this listen go away since it’s a skip, but it’s useful for demonstration purposes)
I think that’s the time the track ended playback, not the time the track started. Here are the surrounding listens (truncated just to show the timestamps and ms_played):
The listen directly before:
{
"inserted_at": 1756756096,
"listened_at": 1517435779,
"recording_msid": "10a5b59d-e28c-4962-80bd-a44397d9b693",
"track_metadata": {
"additional_info": {
"duration_ms": 229240,
"ms_played": 26006,
"music_service": "spotify.com",
The example listen above:
{
"inserted_at": 1756756096,
"listened_at": 1517435787,
"recording_msid": "16978791-e1e3-4119-bf93-003d13323b70",
"track_metadata": {
"additional_info": {
"duration_ms": 211453,
"ms_played": 7244,
The listen directly after:
{
"inserted_at": 1756756096,
"listened_at": 1517436022,
"recording_msid": "2f571ac8-d39b-4df8-895a-52a06d4a7b4b",
"track_metadata": {
"additional_info": {
"duration_ms": 236280,
"ms_played": 236280,
If I’m reading this right, LB now thinks I started listening to ~26 seconds of You’re the Inspiration, then ~7 seconds after starting, I also started listening to ~7 seconds of Mountain Sound, and then ~236 seconds after starting that, I started listening to ~236 seconds of Mountain to Move…
I assume since the history export contains the ms_played, it’ll be possible to calculate the start timestamp from the (end) timestamp given.
Now, does this really matter? Yes Probably not unless you’re pedantic or are regularly listening to very long tracks, but alas I am known to dabble in pedantry.