Code Monkey home page Code Monkey logo

jellyfin-rewind's Issues

Possibility of opening up Jellyfin Rewind early this year

Hello,
I love the contributions you have made to the Jellyfin ecosystem! This year, Spotify opened up Spotify wrapped earlier than I expected (today, as of the time of posting). Could Jellyfin Rewind open early as well? I'm sorry if this is a bother.

Option to Filter by library when multiple present

Expected: When viewing the Rewind, either at the beginning or in the pop up settings, an option to filter out results from non-primary libraries. Most people don't/won't have multiple Music libraries, but in the instance where they do, the other ones might bring in bad data/noise.
Actual: Some song I don't even think I intentionally listened to showed up in the "Most Skips" section. I know this is a niche situation, and I'm not actually sure how the Playback Reporting plugin labels songs in different libraries, if at all.
Further information: This is comparison of two tracks from different libraries (first song is the wrong one, second one is the right one), from the report:

"mostSkipped": [
        {
          "name": "Not Afraid (remix)",
          "id": "8e7084650762e0c47909e46e8965538c",
          "artistsBaseInfo": [
            {
              "id": "23a2a8f858a14ff5814b77e0e8372128",
              "name": "The League of Extraordinary G'"
            }
          ],
          "albumBaseInfo": {
            "id": "048149f048a5cf314afcc7f4d168b14a",
            "name": "Concealed Weapons 2",
            "albumArtistBaseInfo": {
              "id": "23a2a8f858a14ff5814b77e0e8372128",
              "name": "The League of Extraordinary G'"
            }
          },
          "genreBaseInfo": [],
          "image": {
            "parentItemId": "048149f048a5cf314afcc7f4d168b14a",
            "primaryTag": "674b59bc4bc7486c02887ac45541f366"
          },
          "year": null,
          "duration": 262,
          "skips": {
            "partial": 0,
            "full": 2,
            "total": 2,
            "score": {
              "jellyfin": 1.2,
              "playbackReport": 6,
              "average": 2
            }
          },
          "playCount": {
            "jellyfin": 5,
            "playbackReport": 1,
            "average": 3
          },
          "plays": [
            {
              "date": "2023-10-24T15:03:09.942Z",
              "duration": 33,
              "wasFullSkip": true,
              "wasPartialSkip": false,
              "client": "Android",
              "device": "asus ASUS-AI2202",
              "method": "directStream"
            },
            {
              "date": "2023-10-25T07:27:49.874Z",
              "duration": 0,
              "wasFullSkip": true,
              "wasPartialSkip": false,
              "client": "Android",
              "device": "asus ASUS-AI2202",
              "method": "directStream"
            }
          ],
          "mostSuccessivePlays": {
            "playCount": 1,
            "totalDuration": 0
          },
          "lastPlayed": "2023-10-25T13:27:29.264Z",
          "totalPlayDuration": {
            "jellyfin": 21.8078912,
            "playbackReport": 0.55,
            "average": 12
          },
          "isFavorite": false
        },
        {
          "name": "Co-Star",
          "id": "a7117d08a6d3260baddeddecfb212015",
          "artistsBaseInfo": [
            {
              "id": "3899c089ac98a1fb036d49a0620840d8",
              "name": "amaarae"
            }
          ],
          "albumBaseInfo": {
            "id": "6e3f0a5e180ddb70a32fd6513e42759d",
            "name": "Fountain Baby",
            "albumArtistBaseInfo": {
              "id": "3899c089ac98a1fb036d49a0620840d8",
              "name": "amaarae"
            }
          },
          "genreBaseInfo": [
            {
              "id": "f1f202f389018ad2c0766af4b0fcb155",
              "name": "Pop"
            }
          ],
          "image": {
            "parentItemId": "a7117d08a6d3260baddeddecfb212015",
            "primaryTag": "52c004042781323ed9b3043a1da48b28",
            "blurhash": "eUFhbeo#0et7WB9ERj-qo0kBJCxaxCNGoLx]slRjX9NG9ZjZozayt7"
          },
          "year": 2023,
          "duration": 167,
          "skips": {
            "partial": 0,
            "full": 2,
            "total": 2,
            "score": {
              "jellyfin": 0.2857142857142857,
              "playbackReport": 0.35294117647058826,
              "average": 0.3157894736842105
            }
          },
          "playCount": {
            "jellyfin": 21,
            "playbackReport": 17,
            "average": 19
          },
          "plays": [
            {
              "date": "2023-08-02T01:39:08.560Z",
              "duration": 165,
              "client": "Finamp",
              "device": "ASUS_AI2202",
              "method": "directPlay"
            },
            {
              "date": "2023-08-02T10:39:57.077Z",
              "duration": 165,
              "client": "Finamp",
              "device": "ASUS_AI2202",
              "method": "directPlay"
            },
            {
              "date": "2023-08-02T13:16:02.120Z",
              "duration": 144,
              "client": "Sonixd",
              "device": "PC",
              "method": "directPlay"
            },
            {
              "date": "2023-08-02T17:00:11.030Z",
              "duration": 167,
              "wasFullSkip": false,
              "wasPartialSkip": false,
              "client": "Sonixd",
              "device": "PC",
              "method": "directPlay"
            },
            {
              "date": "2023-08-03T09:53:44.121Z",
              "duration": 145,
              "client": "Sonixd",
              "device": "PC",
              "method": "directPlay"
            },
            {
              "date": "2023-08-03T17:10:16.627Z",
              "duration": 165,
              "client": "Finamp",
              "device": "ASUS_AI2202",
              "method": "directPlay"
            },
            {
              "date": "2023-08-04T12:49:24.900Z",
              "duration": 144,
              "client": "Sonixd",
              "device": "PC",
              "method": "directPlay"
            },
            {
              "date": "2023-08-04T16:03:35.282Z",
              "duration": 167,
              "wasFullSkip": false,
              "wasPartialSkip": false,
              "client": "Sonixd",
              "device": "PC",
              "method": "directPlay"
            },
            {
              "date": "2023-08-04T16:24:20.415Z",
              "duration": 145,
              "client": "Sonixd",
              "device": "PC",
              "method": "directPlay"
            },
            {
              "date": "2023-08-04T19:34:21.443Z",
              "duration": 145,
              "client": "Sonixd",
              "device": "PC",
              "method": "directPlay"
            },
            {
              "date": "2023-08-06T14:26:25.358Z",
              "duration": 145,
              "client": "Sonixd",
              "device": "PC",
              "method": "directPlay"
            },
            {
              "date": "2023-08-16T10:13:03.146Z",
              "duration": 145,
              "client": "Sonixd",
              "device": "PC",
              "method": "directPlay"
            },
            {
              "date": "2023-08-31T08:59:13.632Z",
              "duration": 144,
              "client": "Sonixd",
              "device": "PC",
              "method": "directPlay"
            },
            {
              "date": "2023-09-11T10:03:27.491Z",
              "duration": 0,
              "wasFullSkip": true,
              "wasPartialSkip": false,
              "client": "Feishin",
              "device": "PC",
              "method": "directPlay"
            },
            {
              "date": "2023-09-11T10:03:31.142Z",
              "duration": 0,
              "wasFullSkip": true,
              "wasPartialSkip": false,
              "client": "Feishin",
              "device": "PC",
              "method": "directPlay"
            },
            {
              "date": "2023-09-11T10:03:39.993Z",
              "duration": 164,
              "client": "Feishin",
              "device": "PC",
              "method": "directPlay"
            },
            {
              "date": "2023-10-12T19:32:15.295Z",
              "duration": 164,
              "client": "Finamp",
              "device": "ASUS_AI2202",
              "method": "directPlay"
            },
            {
              "date": "2023-12-06T18:49:05.156Z",
              "duration": 166,
              "client": "Finamp",
              "device": "ASUS_AI2202",
              "method": "directPlay"
            },
            {
              "date": "2023-12-30T14:38:19.527Z",
              "duration": 165,
              "client": "Finamp",
              "device": "ASUS_AI2202",
              "method": "directPlay"
            }
          ],
          "mostSuccessivePlays": {
            "playCount": 1,
            "totalDuration": 165
          },
          "lastPlayed": "2023-12-30T21:37:58.399Z",
          "totalPlayDuration": {
            "jellyfin": 58.30400128,
            "playbackReport": 44.083333333333336,
            "average": 52
          },
          "isFavorite": false
        },

Artist Images do not load even when present in Jellyfin metadata

Expected: On screens where Artists are the only/main information being portrayed, if an image is present on the server, that image should be used. On artists where there is no Primary or Other image for an artist, perhaps the most recent album's art would be used.
Actual: Images aren't shown for Artists, even when present on the server
Further information: I'm not seeing any failed calls for Artist Images, or any failed network calls in general. I'm using HTTP for my server.
I tried to go through the code to see how the Artist requests and rendering were working, but my eyes glaze over when I look at Javascript unfortunately. It certainly looks like you're getting Image information, but maybe I'm missing something.

finamp compatibility

I've noticed there's been a lot of talk about how and whether finamp should tell the server whether a song has been played. Therefore, I have the following question: Are songs played offline in finamp taken into account by Rewind?

Sorry, we couldn't generate your Rewind Report.

Hello, I stumbled across #4 to see if I could solve my problem getting Rewind working on my local only Jellyfin instance (http only also). But both the included sites in this repos readme, and the locally run version you have provided here end up with the following result:

image

Any help would be muchly appreciated!

Feature Request: Monthly reports

Hi! I had to migrate my Jellyfin server recently and annoyingly my listening stats did not survive the migration... Would it be possible to add monthly reports (Like I think apple music does). Would be cool to be able to have a mini-wrapped every month.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.