Sending incorrect release_mbid

Hey there,
just installed this today and tried it out a little. There is a small issue I noticed in my listen history however:

Obviously all the cover arts are different which at first I thought was an issue on ListenBrainz' side. However I quickly discovered that you could pull the submitted info and I got them for the bottom two:
{
  "inserted_at":<PHONE_NUMBER>,
  "listened_at":<PHONE_NUMBER>,
  "recording_msid": "6ba57367-e845-42a5-92ad-511a427a5cee",
  "track_metadata": {
    "additional_info": {
      "artist_mbids": [
        "6aa40207-fec8-43a7-991d-b872a42def05"
      ],
      "duration_ms": 274000,
      "media_player": "Jellyfin",
      "recording_mbid": "725dec27-0adb-455c-a8dc-15d6ffccb4a9",
      "recording_msid": "6ba57367-e845-42a5-92ad-511a427a5cee",
      "release_group_mbid": "ebb692e3-d569-4c3e-9fd3-4a42a89c9022",
      "release_mbid": "c3a103d6-6c60-4339-a353-0175b6a65b4f",
      "submission_client": "ListenBrainz plugin for Jellyfin",
      "submission_client_version": "<IP_ADDRESS>",
      "tags": [],
      "track_mbid": "63b00787-90e3-3c87-bcc4-fd21b84dfa69",
      "track_number": 1
    },
    "artist_name": "Amy Macdonald",
    "mbid_mapping": {
      "artist_mbids": [
        "6aa40207-fec8-43a7-991d-b872a42def05"
      ],
      "artists": [
        {
          "artist_credit_name": "Amy Macdonald",
          "artist_mbid": "6aa40207-fec8-43a7-991d-b872a42def05",
          "join_phrase": ""
        }
      ],
      "caa_id":<PHONE_NUMBER>3,
      "caa_release_mbid": "c3a103d6-6c60-4339-a353-0175b6a65b4f",
      "recording_mbid": "725dec27-0adb-455c-a8dc-15d6ffccb4a9",
      "recording_name": "Ordinary Life",
      "release_mbid": "c3a103d6-6c60-4339-a353-0175b6a65b4f"
    },
    "release_name": "Love Love UK & European Arena Tour LIVE 2010: 26.10.2010 HMV Apollo Hammersmith",
    "track_name": "Ordinary Life"
  },
  "user_name": "Mihawk90"
}

{
  "inserted_at":<PHONE_NUMBER>,
  "listened_at":<PHONE_NUMBER>,
  "recording_msid": "ee14bedb-7249-437d-877c-d2ee8b58f988",
  "track_metadata": {
    "additional_info": {
      "artist_mbids": [
        "6aa40207-fec8-43a7-991d-b872a42def05"
      ],
      "duration_ms": 272000,
      "media_player": "Jellyfin",
      "recording_mbid": "95c3e752-dcff-4033-b035-3e8f494c0af3",
      "recording_msid": "ee14bedb-7249-437d-877c-d2ee8b58f988",
      "release_group_mbid": "ebb692e3-d569-4c3e-9fd3-4a42a89c9022",
      "release_mbid": "c3a103d6-6c60-4339-a353-0175b6a65b4f",
      "submission_client": "ListenBrainz plugin for Jellyfin",
      "submission_client_version": "<IP_ADDRESS>",
      "tags": [],
      "track_mbid": "fa15d6c4-bcb1-3b7a-95eb-87a30e54769c",
      "track_number": 2
    },
    "artist_name": "Amy Macdonald",
    "mbid_mapping": {
      "artist_mbids": [
        "6aa40207-fec8-43a7-991d-b872a42def05"
      ],
      "artists": [
        {
          "artist_credit_name": "Amy Macdonald",
          "artist_mbid": "6aa40207-fec8-43a7-991d-b872a42def05",
          "join_phrase": ""
        }
      ],
      "caa_id":<PHONE_NUMBER>,
      "caa_release_mbid": "25cfed81-0e8f-3a31-aa11-756406e0b890",
      "recording_mbid": "95c3e752-dcff-4033-b035-3e8f494c0af3",
      "recording_name": "Poison Prince",
      "release_mbid": "1c6c1d7b-2a0d-392b-b6c7-42bf0781ac2e"
    },
    "release_name": "Love Love UK & European Arena Tour LIVE 2010: 26.10.2010 HMV Apollo Hammersmith",
    "track_name": "Poison Prince"
  },
  "user_name": "Mihawk90"
}

After running a diff it became fairly obvious that the release_mbid was different for both. Also note it seems to be submitting the release_mbid twice? Once in the track_metadata object (where they match), and once in the mbid_mapping object, where they don't.
However, one thing that makes me wonder if this is an issue on your end or on ListenBrainz' end is that for some reason both album covers link to the same release (and the correct one at that) on Musicbrainz?

As you can see... same href URL, but different img URL?
The IDs in Jellyfin are certainly correct (imported correctly from my files for once):

Otherwise it works great though, so thanks for this plugin :)
If this is an issue on ListenBrainz' side, I can also report it there.

Hi, that's quite a detailed report, thanks!

After running a diff it became fairly obvious that the release_mbid was different for both. Also note it seems to be submitting the release_mbid twice? Once in the track_metadata object (where they match), and once in the mbid_mapping object, where they don't.

You are looking at ListenBrainz data. This might very well differ from what the plugin sent, as ListenBrainz may do some post-processing on the submissions. To see what's exactly being sent by the plugin, please enable debug logging in Jellyfin. If the data being sent match your expectations, then there is definitely something going on on their side. If not, then the plugin is obviously supplying invalid data and we should look into it further.
Unfortunately, I don't have a working Jellyfin instance currently, so I can't do some quick tests. Please let me know what you find.

The data under additional_info is what got sent by the plugin. The mbid_mapping contains the info from LB after mapping the submission

Mh I'm having some difficulties enabling debug logging right now...

The data under additional_info is what got sent by the plugin. The mbid_mapping contains the info from LB after mapping the submission

Thanks for the input, that's actually soft of what I expected. So I guess it'd be safe to submit a bug on the Listenbrainz Jira then?

Yes, would be best to report it there. But there might be already a ticket. AFAIK LB is currently only using the submitted recording MBID for the mapping and not considering the release MBID. There was a discussion about this recently in the Metabrainz forums.

OK, so now I got the logs. It's a lot (how I wish the JF logs had a filtering á la journalctl lol), but anyway this is what came up for the first 3 tracks:
[2023-11-08 16:22:14.388 +00:00] [DBG] [26] Jellyfin.Api.Controllers.PlaystateController: ReportPlaybackStopped PlaySessionId: ""
[2023-11-08 16:22:14.503 +00:00] [DBG] [36] Jellyfin.Plugin.ListenBrainz: Picking up user data save event for item "Poison Prince"
[2023-11-08 16:22:14.503 +00:00] [DBG] [36] Jellyfin.Plugin.ListenBrainz: Dropping event - alternative mode is disabled
[2023-11-08 16:22:14.504 +00:00] [INF] [26] Emby.Server.Implementations.Session.SessionManager: Playback stopped reported by app "Finamp" "0.6.18" playing "Ordinary Life". Stopped at "274181" ms
[2023-11-08 16:22:14.571 +00:00] [DBG] [26] Jellyfin.Plugin.ListenBrainz: Picking up user data save event for item "Ordinary Life"
[2023-11-08 16:22:14.571 +00:00] [DBG] [26] Jellyfin.Plugin.ListenBrainz: Dropping event - alternative mode is disabled
[2023-11-08 16:22:14.580 +00:00] [DBG] [36] Jellyfin.Plugin.ListenBrainz: Picking up playback stop event for item "Ordinary Life"
[2023-11-08 16:22:14.581 +00:00] [INF] [36] Jellyfin.Plugin.ListenBrainz: MusicBrainz integration is enabled, fetching metadata for track "Ordinary Life"
[2023-11-08 16:22:14.582 +00:00] [DBG] [36] Jellyfin.Plugin.ListenBrainz: Sending request ("174c327"):
Method: "GET"
URI: https://musicbrainz.org/ws/2/recording?query=tid%3a63b00787-90e3-3c87-bcc4-fd21b84dfa69&limit=1
Data: "null"
[2023-11-08 16:22:14.687 +00:00] [DBG] [24] Jellyfin.Plugin.ListenBrainz: Picking up user data save event for item "Poison Prince"
[2023-11-08 16:22:14.687 +00:00] [DBG] [24] Jellyfin.Plugin.ListenBrainz: Dropping event - alternative mode is disabled
[2023-11-08 16:22:14.697 +00:00] [DBG] [26] Jellyfin.Plugin.ListenBrainz: Picking up playback start event for item "Poison Prince"
[2023-11-08 16:22:14.697 +00:00] [INF] [26] Jellyfin.Plugin.ListenBrainz: Checking required metadata and user configuration
[2023-11-08 16:22:14.697 +00:00] [INF] [26] Jellyfin.Plugin.ListenBrainz: All checks passed, sending 'now playing' listen of track "Poison Prince" for user "tarulia"
[2023-11-08 16:22:14.697 +00:00] [INF] [26] Jellyfin.Plugin.ListenBrainz: MusicBrainz integration is enabled, fetching metadata for track "Poison Prince"
[2023-11-08 16:22:14.697 +00:00] [DBG] [26] Jellyfin.Plugin.ListenBrainz: Sending request ("bd9fa2f"):
Method: "GET"
URI: https://musicbrainz.org/ws/2/recording?query=tid%3afa15d6c4-bcb1-3b7a-95eb-87a30e54769c&limit=1
Data: "null"
[2023-11-08 16:22:14.751 +00:00] [DBG] [34] Jellyfin.Plugin.ListenBrainz: Response status is OK, will not retry
[2023-11-08 16:22:14.751 +00:00] [DBG] [34] Jellyfin.Plugin.ListenBrainz: Got response ("174c327"):
Status: OK
Data: "{\"created\":\"2023-11-08T16:17:38.240Z\",\"count\":1,\"offset\":0,\"recordings\":[{\"id\":\"725dec27-0adb-455c-a8dc-15d6ffccb4a9\",\"score\":100,\"title\":\"Ordinary Life\",\"length\":274000,\"disambiguation\":\"live, 2010-10-26: HMV Hammersmith Apollo, London, UK\",\"video\":null,\"artist-credit\":[{\"name\":\"Amy Macdonald\",\"artist\":{\"id\":\"6aa40207-fec8-43a7-991d-b872a42def05\",\"name\":\"Amy Macdonald\",\"sort-name\":\"Macdonald, Amy\",\"disambiguation\":\"Scottish singer/songwriter\",\"aliases\":[{\"sort-name\":\"Amy Mc Donald\",\"type-id\":\"1937e404-b981-3cb7-8151-4c86ebfc8d8e\",\"name\":\"Amy Mc Donald\",\"locale\":null,\"type\":\"Search hint\",\"primary\":null,\"begin-date\":null,\"end-date\":null},{\"sort-name\":\"Macdonald, Amy Elizabeth\",\"type-id\":\"d4dcd0c0-b341-3612-a332-c0ce797b25cf\",\"name\":\"Amy Elizabeth Macdonald\",\"locale\":null,\"type\":\"Legal name\",\"primary\":null,\"begin-date\":null,\"end-date\":null}]}}],\"first-release-date\":\"2010-10-26\",\"releases\":[{\"id\":\"c3a103d6-6c60-4339-a353-0175b6a65b4f\",\"status-id\":\"4e304316-386d-3409-af2e-78857eec5cfe\",\"count\":3,\"title\":\"Love Love UK & European Arena Tour LIVE 2010: 26.10.2010 HMV Apollo Hammersmith\",\"status\":\"Official\",\"artist-credit\":[{\"name\":\"Amy Macdonald\",\"artist\":{\"id\":\"6aa40207-fec8-43a7-991d-b872a42def05\",\"name\":\"Amy Macdonald\",\"sort-name\":\"Macdonald, Amy\",\"disambiguation\":\"Scottish singer/songwriter\"}}],\"release-group\":{\"id\":\"ebb692e3-d569-4c3e-9fd3-4a42a89c9022\",\"type-id\":\"6fd474e2-6b58-3102-9d17-d6f7eb7da0a0\",\"primary-type-id\":\"f529b476-6e62-324f-b0aa-1f3e33d313fc\",\"title\":\"Love Love UK & European Tour LIVE 2010\",\"primary-type\":\"Album\",\"secondary-types\":[\"Live\"],\"secondary-type-ids\":[\"6fd474e2-6b58-3102-9d17-d6f7eb7da0a0\"]},\"date\":\"2010-10-26\",\"country\":\"GB\",\"release-events\":[{\"date\":\"2010-10-26\",\"area\":{\"id\":\"8a754a16-0027-3a29-b6d7-2b40ea0481ed\",\"name\":\"United Kingdom\",\"sort-name\":\"United Kingdom\",\"iso-3166-1-codes\":[\"GB\"]}}],\"track-count\":19,\"media\":[{\"position\":1,\"format\":\"CD\",\"track\":[{\"id\":\"63b00787-90e3-3c87-bcc4-fd21b84dfa69\",\"number\":\"1\",\"title\":\"Ordinary Life\",\"length\":274000}],\"track-count\":10,\"track-offset\":0}]}]}]}"
[2023-11-08 16:22:14.752 +00:00] [DBG] [36] Jellyfin.Plugin.ListenBrainz: Sending request ("b59ab8b"):
Method: "POST"
URI: https://api.listenbrainz.org/1/submit-listens
Data: "{\"listen_type\":\"single\",\"payload\":[{\"listened_at\":1699460534,\"track_metadata\":{\"artist_name\":\"Amy Macdonald\",\"track_name\":\"Ordinary Life\",\"release_name\":\"Love Love UK & European Arena Tour LIVE 2010: 26.10.2010 HMV Apollo Hammersmith\",\"additional_info\":{\"artist_mbids\":[\"6aa40207-fec8-43a7-991d-b872a42def05\"],\"release_group_mbid\":\"ebb692e3-d569-4c3e-9fd3-4a42a89c9022\",\"release_mbid\":\"c3a103d6-6c60-4339-a353-0175b6a65b4f\",\"recording_mbid\":\"725dec27-0adb-455c-a8dc-15d6ffccb4a9\",\"track_mbid\":\"63b00787-90e3-3c87-bcc4-fd21b84dfa69\",\"track_number\":1,\"tags\":[],\"media_player\":\"Jellyfin\",\"submission_client\":\"ListenBrainz plugin for Jellyfin\",\"submission_client_version\":\"<IP_ADDRESS>\",\"duration_ms\":274000}}}]}"
[2023-11-08 16:22:14.761 +00:00] [DBG] [36] Jellyfin.Plugin.ListenBrainz: Sending request ("0c2d8bb"):
Method: "POST"
URI: https://api.listenbrainz.org/1/feedback/recording-feedback
Data: "{\"recording_mbid\":\"725dec27-0adb-455c-a8dc-15d6ffccb4a9\"}"
[2023-11-08 16:22:14.813 +00:00] [DBG] [3] Jellyfin.Plugin.ListenBrainz: Response status is OK, will not retry
[2023-11-08 16:22:14.813 +00:00] [DBG] [3] Jellyfin.Plugin.ListenBrainz: Got response ("bd9fa2f"):
Status: OK
Data: "{\"created\":\"2023-11-08T16:22:14.804Z\",\"count\":1,\"offset\":0,\"recordings\":[{\"id\":\"95c3e752-dcff-4033-b035-3e8f494c0af3\",\"score\":100,\"title\":\"Poison Prince\",\"length\":272000,\"disambiguation\":\"live, 2010-10-26: HMV Hammersmith Apollo, London, UK\",\"video\":null,\"artist-credit\":[{\"name\":\"Amy Macdonald\",\"artist\":{\"id\":\"6aa40207-fec8-43a7-991d-b872a42def05\",\"name\":\"Amy Macdonald\",\"sort-name\":\"Macdonald, Amy\",\"disambiguation\":\"Scottish singer/songwriter\",\"aliases\":[{\"sort-name\":\"Amy Mc Donald\",\"type-id\":\"1937e404-b981-3cb7-8151-4c86ebfc8d8e\",\"name\":\"Amy Mc Donald\",\"locale\":null,\"type\":\"Search hint\",\"primary\":null,\"begin-date\":null,\"end-date\":null},{\"sort-name\":\"Macdonald, Amy Elizabeth\",\"type-id\":\"d4dcd0c0-b341-3612-a332-c0ce797b25cf\",\"name\":\"Amy Elizabeth Macdonald\",\"locale\":null,\"type\":\"Legal name\",\"primary\":null,\"begin-date\":null,\"end-date\":null}]}}],\"first-release-date\":\"2010-10-26\",\"releases\":[{\"id\":\"c3a103d6-6c60-4339-a353-0175b6a65b4f\",\"status-id\":\"4e304316-386d-3409-af2e-78857eec5cfe\",\"count\":3,\"title\":\"Love Love UK & European Arena Tour LIVE 2010: 26.10.2010 HMV Apollo Hammersmith\",\"status\":\"Official\",\"artist-credit\":[{\"name\":\"Amy Macdonald\",\"artist\":{\"id\":\"6aa40207-fec8-43a7-991d-b872a42def05\",\"name\":\"Amy Macdonald\",\"sort-name\":\"Macdonald, Amy\",\"disambiguation\":\"Scottish singer/songwriter\"}}],\"release-group\":{\"id\":\"ebb692e3-d569-4c3e-9fd3-4a42a89c9022\",\"type-id\":\"6fd474e2-6b58-3102-9d17-d6f7eb7da0a0\",\"primary-type-id\":\"f529b476-6e62-324f-b0aa-1f3e33d313fc\",\"title\":\"Love Love UK & European Tour LIVE 2010\",\"primary-type\":\"Album\",\"secondary-types\":[\"Live\"],\"secondary-type-ids\":[\"6fd474e2-6b58-3102-9d17-d6f7eb7da0a0\"]},\"date\":\"2010-10-26\",\"country\":\"GB\",\"release-events\":[{\"date\":\"2010-10-26\",\"area\":{\"id\":\"8a754a16-0027-3a29-b6d7-2b40ea0481ed\",\"name\":\"United Kingdom\",\"sort-name\":\"United Kingdom\",\"iso-3166-1-codes\":[\"GB\"]}}],\"track-count\":19,\"media\":[{\"position\":1,\"format\":\"CD\",\"track\":[{\"id\":\"fa15d6c4-bcb1-3b7a-95eb-87a30e54769c\",\"number\":\"2\",\"title\":\"Poison Prince\",\"length\":272000}],\"track-count\":10,\"track-offset\":1}]}]}]}"
[2023-11-08 16:22:14.813 +00:00] [DBG] [26] Jellyfin.Plugin.ListenBrainz: Sending request ("769a30c"):
Method: "POST"
URI: https://api.listenbrainz.org/1/submit-listens
Data: "{\"listen_type\":\"playing_now\",\"payload\":[{\"track_metadata\":{\"artist_name\":\"Amy Macdonald\",\"track_name\":\"Poison Prince\",\"release_name\":\"Love Love UK & European Arena Tour LIVE 2010: 26.10.2010 HMV Apollo Hammersmith\",\"additional_info\":{\"artist_mbids\":[\"6aa40207-fec8-43a7-991d-b872a42def05\"],\"release_group_mbid\":\"ebb692e3-d569-4c3e-9fd3-4a42a89c9022\",\"release_mbid\":\"c3a103d6-6c60-4339-a353-0175b6a65b4f\",\"recording_mbid\":\"95c3e752-dcff-4033-b035-3e8f494c0af3\",\"track_mbid\":\"fa15d6c4-bcb1-3b7a-95eb-87a30e54769c\",\"track_number\":2,\"tags\":[],\"media_player\":\"Jellyfin\",\"submission_client\":\"ListenBrainz plugin for Jellyfin\",\"submission_client_version\":\"<IP_ADDRESS>\",\"duration_ms\":272000}}}]}"
[2023-11-08 16:22:14.852 +00:00] [DBG] [26] Jellyfin.Plugin.ListenBrainz: Response status is OK, will not retry
[2023-11-08 16:22:14.852 +00:00] [DBG] [26] Jellyfin.Plugin.ListenBrainz: Got response ("b59ab8b"):
Status: OK
Data: "{\"status\":\"ok\"}
"
[2023-11-08 16:22:14.854 +00:00] [DBG] [26] Jellyfin.Plugin.ListenBrainz: Response status is BadRequest, will not retry
[2023-11-08 16:22:14.854 +00:00] [DBG] [26] Jellyfin.Plugin.ListenBrainz: Got response ("0c2d8bb"):
Status: BadRequest
Data: "{\"code\":400,\"error\":\"JSON document must contain either recording_msid or recording_mbid, and score top level keys\"}
"
[2023-11-08 16:22:14.884 +00:00] [DBG] [26] Jellyfin.Plugin.ListenBrainz: Response status is OK, will not retry
[2023-11-08 16:22:14.884 +00:00] [DBG] [26] Jellyfin.Plugin.ListenBrainz: Got response ("769a30c"):
Status: OK
Data: "{\"status\":\"ok\"}
"
[2023-11-08 16:22:18.083 +00:00] [DBG] [41] Jellyfin.Plugin.ListenBrainz: Picking up user data save event for item "Poison Prince"
[2023-11-08 16:22:18.083 +00:00] [DBG] [41] Jellyfin.Plugin.ListenBrainz: Dropping event - alternative mode is disabled
...
[2023-11-08 16:25:50.982 +00:00] [DBG] [44] Jellyfin.Plugin.ListenBrainz: Picking up user data save event for item "Poison Prince"
[2023-11-08 16:25:50.982 +00:00] [DBG] [44] Jellyfin.Plugin.ListenBrainz: Dropping event - alternative mode is disabled
[2023-11-08 16:26:46.544 +00:00] [DBG] [40] Jellyfin.Api.Controllers.PlaystateController: ReportPlaybackStopped PlaySessionId: ""
[2023-11-08 16:26:46.630 +00:00] [DBG] [38] Jellyfin.Plugin.ListenBrainz: Picking up user data save event for item "Love Love"
[2023-11-08 16:26:46.630 +00:00] [DBG] [38] Jellyfin.Plugin.ListenBrainz: Dropping event - alternative mode is disabled
[2023-11-08 16:26:46.631 +00:00] [INF] [40] Emby.Server.Implementations.Session.SessionManager: Playback stopped reported by app "Finamp" "0.6.18" playing "Poison Prince". Stopped at "272137" ms
[2023-11-08 16:26:46.698 +00:00] [DBG] [40] Jellyfin.Plugin.ListenBrainz: Picking up user data save event for item "Poison Prince"
[2023-11-08 16:26:46.698 +00:00] [DBG] [40] Jellyfin.Plugin.ListenBrainz: Dropping event - alternative mode is disabled
[2023-11-08 16:26:46.708 +00:00] [DBG] [38] Jellyfin.Plugin.ListenBrainz: Picking up playback stop event for item "Poison Prince"
[2023-11-08 16:26:46.708 +00:00] [INF] [38] Jellyfin.Plugin.ListenBrainz: MusicBrainz integration is enabled, fetching metadata for track "Poison Prince"
[2023-11-08 16:26:46.709 +00:00] [DBG] [38] Jellyfin.Plugin.ListenBrainz: Sending request ("b2b4601"):
Method: "GET"
URI: https://musicbrainz.org/ws/2/recording?query=tid%3afa15d6c4-bcb1-3b7a-95eb-87a30e54769c&limit=1
Data: "null"
[2023-11-08 16:26:46.801 +00:00] [DBG] [40] Jellyfin.Plugin.ListenBrainz: Picking up user data save event for item "Love Love"
[2023-11-08 16:26:46.801 +00:00] [DBG] [40] Jellyfin.Plugin.ListenBrainz: Dropping event - alternative mode is disabled
[2023-11-08 16:26:46.810 +00:00] [DBG] [42] Jellyfin.Plugin.ListenBrainz: Picking up playback start event for item "Love Love"
[2023-11-08 16:26:46.810 +00:00] [INF] [42] Jellyfin.Plugin.ListenBrainz: Checking required metadata and user configuration
[2023-11-08 16:26:46.810 +00:00] [INF] [42] Jellyfin.Plugin.ListenBrainz: All checks passed, sending 'now playing' listen of track "Love Love" for user "tarulia"
[2023-11-08 16:26:46.810 +00:00] [INF] [42] Jellyfin.Plugin.ListenBrainz: MusicBrainz integration is enabled, fetching metadata for track "Love Love"
[2023-11-08 16:26:46.810 +00:00] [DBG] [42] Jellyfin.Plugin.ListenBrainz: Sending request ("313b1ed"):
Method: "GET"
URI: https://musicbrainz.org/ws/2/recording?query=tid%3a9429f1da-db9c-3631-abd6-3af9412aeb9b&limit=1
Data: "null"
[2023-11-08 16:26:46.855 +00:00] [DBG] [45] Jellyfin.Plugin.ListenBrainz: Response status is OK, will not retry
[2023-11-08 16:26:46.855 +00:00] [DBG] [45] Jellyfin.Plugin.ListenBrainz: Got response ("b2b4601"):
Status: OK
Data: "{\"created\":\"2023-11-08T16:26:46.837Z\",\"count\":1,\"offset\":0,\"recordings\":[{\"id\":\"95c3e752-dcff-4033-b035-3e8f494c0af3\",\"score\":100,\"title\":\"Poison Prince\",\"length\":272000,\"disambiguation\":\"live, 2010-10-26: HMV Hammersmith Apollo, London, UK\",\"video\":null,\"artist-credit\":[{\"name\":\"Amy Macdonald\",\"artist\":{\"id\":\"6aa40207-fec8-43a7-991d-b872a42def05\",\"name\":\"Amy Macdonald\",\"sort-name\":\"Macdonald, Amy\",\"disambiguation\":\"Scottish singer/songwriter\",\"aliases\":[{\"sort-name\":\"Amy Mc Donald\",\"type-id\":\"1937e404-b981-3cb7-8151-4c86ebfc8d8e\",\"name\":\"Amy Mc Donald\",\"locale\":null,\"type\":\"Search hint\",\"primary\":null,\"begin-date\":null,\"end-date\":null},{\"sort-name\":\"Macdonald, Amy Elizabeth\",\"type-id\":\"d4dcd0c0-b341-3612-a332-c0ce797b25cf\",\"name\":\"Amy Elizabeth Macdonald\",\"locale\":null,\"type\":\"Legal name\",\"primary\":null,\"begin-date\":null,\"end-date\":null}]}}],\"first-release-date\":\"2010-10-26\",\"releases\":[{\"id\":\"c3a103d6-6c60-4339-a353-0175b6a65b4f\",\"status-id\":\"4e304316-386d-3409-af2e-78857eec5cfe\",\"count\":3,\"title\":\"Love Love UK & European Arena Tour LIVE 2010: 26.10.2010 HMV Apollo Hammersmith\",\"status\":\"Official\",\"artist-credit\":[{\"name\":\"Amy Macdonald\",\"artist\":{\"id\":\"6aa40207-fec8-43a7-991d-b872a42def05\",\"name\":\"Amy Macdonald\",\"sort-name\":\"Macdonald, Amy\",\"disambiguation\":\"Scottish singer/songwriter\"}}],\"release-group\":{\"id\":\"ebb692e3-d569-4c3e-9fd3-4a42a89c9022\",\"type-id\":\"6fd474e2-6b58-3102-9d17-d6f7eb7da0a0\",\"primary-type-id\":\"f529b476-6e62-324f-b0aa-1f3e33d313fc\",\"title\":\"Love Love UK & European Tour LIVE 2010\",\"primary-type\":\"Album\",\"secondary-types\":[\"Live\"],\"secondary-type-ids\":[\"6fd474e2-6b58-3102-9d17-d6f7eb7da0a0\"]},\"date\":\"2010-10-26\",\"country\":\"GB\",\"release-events\":[{\"date\":\"2010-10-26\",\"area\":{\"id\":\"8a754a16-0027-3a29-b6d7-2b40ea0481ed\",\"name\":\"United Kingdom\",\"sort-name\":\"United Kingdom\",\"iso-3166-1-codes\":[\"GB\"]}}],\"track-count\":19,\"media\":[{\"position\":1,\"format\":\"CD\",\"track\":[{\"id\":\"fa15d6c4-bcb1-3b7a-95eb-87a30e54769c\",\"number\":\"2\",\"title\":\"Poison Prince\",\"length\":272000}],\"track-count\":10,\"track-offset\":1}]}]}]}"
[2023-11-08 16:26:46.855 +00:00] [DBG] [38] Jellyfin.Plugin.ListenBrainz: Sending request ("9e07110"):
Method: "POST"
URI: https://api.listenbrainz.org/1/submit-listens
Data: "{\"listen_type\":\"single\",\"payload\":[{\"listened_at\":1699460806,\"track_metadata\":{\"artist_name\":\"Amy Macdonald\",\"track_name\":\"Poison Prince\",\"release_name\":\"Love Love UK & European Arena Tour LIVE 2010: 26.10.2010 HMV Apollo Hammersmith\",\"additional_info\":{\"artist_mbids\":[\"6aa40207-fec8-43a7-991d-b872a42def05\"],\"release_group_mbid\":\"ebb692e3-d569-4c3e-9fd3-4a42a89c9022\",\"release_mbid\":\"c3a103d6-6c60-4339-a353-0175b6a65b4f\",\"recording_mbid\":\"95c3e752-dcff-4033-b035-3e8f494c0af3\",\"track_mbid\":\"fa15d6c4-bcb1-3b7a-95eb-87a30e54769c\",\"track_number\":2,\"tags\":[],\"media_player\":\"Jellyfin\",\"submission_client\":\"ListenBrainz plugin for Jellyfin\",\"submission_client_version\":\"<IP_ADDRESS>\",\"duration_ms\":272000}}}]}"
[2023-11-08 16:26:46.856 +00:00] [DBG] [38] Jellyfin.Plugin.ListenBrainz: Sending request ("1fd356b"):
Method: "POST"
URI: https://api.listenbrainz.org/1/feedback/recording-feedback
Data: "{\"recording_mbid\":\"95c3e752-dcff-4033-b035-3e8f494c0af3\"}"
[2023-11-08 16:26:46.906 +00:00] [DBG] [45] Jellyfin.Plugin.ListenBrainz: Response status is OK, will not retry
[2023-11-08 16:26:46.906 +00:00] [DBG] [45] Jellyfin.Plugin.ListenBrainz: Got response ("313b1ed"):
Status: OK
Data: "{\"created\":\"2023-11-08T16:26:46.894Z\",\"count\":1,\"offset\":0,\"recordings\":[{\"id\":\"01bb795e-8d16-4e0f-b383-f3035ccd932f\",\"score\":100,\"title\":\"Love Love\",\"length\":263000,\"disambiguation\":\"live, 2010-10-26: HMV Hammersmith Apollo, London, UK\",\"video\":null,\"artist-credit\":[{\"name\":\"Amy Macdonald\",\"artist\":{\"id\":\"6aa40207-fec8-43a7-991d-b872a42def05\",\"name\":\"Amy Macdonald\",\"sort-name\":\"Macdonald, Amy\",\"disambiguation\":\"Scottish singer/songwriter\",\"aliases\":[{\"sort-name\":\"Amy Mc Donald\",\"type-id\":\"1937e404-b981-3cb7-8151-4c86ebfc8d8e\",\"name\":\"Amy Mc Donald\",\"locale\":null,\"type\":\"Search hint\",\"primary\":null,\"begin-date\":null,\"end-date\":null},{\"sort-name\":\"Macdonald, Amy Elizabeth\",\"type-id\":\"d4dcd0c0-b341-3612-a332-c0ce797b25cf\",\"name\":\"Amy Elizabeth Macdonald\",\"locale\":null,\"type\":\"Legal name\",\"primary\":null,\"begin-date\":null,\"end-date\":null}]}}],\"first-release-date\":\"2010-10-26\",\"releases\":[{\"id\":\"72a87f25-c443-4957-9987-1a5d031f3428\",\"status-id\":\"4e304316-386d-3409-af2e-78857eec5cfe\",\"count\":2,\"title\":\"Greatest Live Hits\",\"status\":\"Official\",\"artist-credit\":[{\"name\":\"Amy Macdonald\",\"artist\":{\"id\":\"6aa40207-fec8-43a7-991d-b872a42def05\",\"name\":\"Amy Macdonald\",\"sort-name\":\"Macdonald, Amy\",\"disambiguation\":\"Scottish singer/songwriter\"}}],\"release-group\":{\"id\":\"1d2f9e1d-8ad9-4302-a006-0268479c2bd4\",\"type-id\":\"dd2a21e1-0c00-3729-a7a0-de60b84eb5d1\",\"primary-type-id\":\"f529b476-6e62-324f-b0aa-1f3e33d313fc\",\"title\":\"Greatest Live Hits\",\"primary-type\":\"Album\",\"secondary-types\":[\"Compilation\",\"Live\"],\"secondary-type-ids\":[\"dd2a21e1-0c00-3729-a7a0-de60b84eb5d1\",\"6fd474e2-6b58-3102-9d17-d6f7eb7da0a0\"]},\"date\":\"\",\"country\":\"GB\",\"release-events\":[{\"date\":\"\",\"area\":{\"id\":\"8a754a16-0027-3a29-b6d7-2b40ea0481ed\",\"name\":\"United Kingdom\",\"sort-name\":\"United Kingdom\",\"iso-3166-1-codes\":[\"GB\"]}}],\"track-count\":15,\"media\":[{\"position\":1,\"format\":\"CD\",\"track\":[{\"id\":\"d1c31f43-3e8c-4cff-bea2-2482fc54d784\",\"number\":\"8\",\"title\":\"Love Love\",\"length\":263000}],\"track-count\":8,\"track-offset\":7}]},{\"id\":\"c3a103d6-6c60-4339-a353-0175b6a65b4f\",\"status-id\":\"4e304316-386d-3409-af2e-78857eec5cfe\",\"count\":3,\"title\":\"Love Love UK & European Arena Tour LIVE 2010: 26.10.2010 HMV Apollo Hammersmith\",\"status\":\"Official\",\"artist-credit\":[{\"name\":\"Amy Macdonald\",\"artist\":{\"id\":\"6aa40207-fec8-43a7-991d-b872a42def05\",\"name\":\"Amy Macdonald\",\"sort-name\":\"Macdonald, Amy\",\"disambiguation\":\"Scottish singer/songwriter\"}}],\"release-group\":{\"id\":\"ebb692e3-d569-4c3e-9fd3-4a42a89c9022\",\"type-id\":\"6fd474e2-6b58-3102-9d17-d6f7eb7da0a0\",\"primary-type-id\":\"f529b476-6e62-324f-b0aa-1f3e33d313fc\",\"title\":\"Love Love UK & European Tour LIVE 2010\",\"primary-type\":\"Album\",\"secondary-types\":[\"Live\"],\"secondary-type-ids\":[\"6fd474e2-6b58-3102-9d17-d6f7eb7da0a0\"]},\"date\":\"2010-10-26\",\"country\":\"GB\",\"release-events\":[{\"date\":\"2010-10-26\",\"area\":{\"id\":\"8a754a16-0027-3a29-b6d7-2b40ea0481ed\",\"name\":\"United Kingdom\",\"sort-name\":\"United Kingdom\",\"iso-3166-1-codes\":[\"GB\"]}}],\"track-count\":19,\"media\":[{\"position\":1,\"format\":\"CD\",\"track\":[{\"id\":\"9429f1da-db9c-3631-abd6-3af9412aeb9b\",\"number\":\"3\",\"title\":\"Love Love\",\"length\":265000}],\"track-count\":10,\"track-offset\":2}]}]}]}"
[2023-11-08 16:26:46.906 +00:00] [DBG] [42] Jellyfin.Plugin.ListenBrainz: Sending request ("1e80c58"):
Method: "POST"
URI: https://api.listenbrainz.org/1/submit-listens
Data: "{\"listen_type\":\"playing_now\",\"payload\":[{\"track_metadata\":{\"artist_name\":\"Amy Macdonald\",\"track_name\":\"Love Love\",\"release_name\":\"Love Love UK & European Arena Tour LIVE 2010: 26.10.2010 HMV Apollo Hammersmith\",\"additional_info\":{\"artist_mbids\":[\"6aa40207-fec8-43a7-991d-b872a42def05\"],\"release_group_mbid\":\"ebb692e3-d569-4c3e-9fd3-4a42a89c9022\",\"release_mbid\":\"c3a103d6-6c60-4339-a353-0175b6a65b4f\",\"recording_mbid\":\"01bb795e-8d16-4e0f-b383-f3035ccd932f\",\"track_mbid\":\"9429f1da-db9c-3631-abd6-3af9412aeb9b\",\"track_number\":3,\"tags\":[],\"media_player\":\"Jellyfin\",\"submission_client\":\"ListenBrainz plugin for Jellyfin\",\"submission_client_version\":\"<IP_ADDRESS>\",\"duration_ms\":265000}}}]}"
[2023-11-08 16:26:46.974 +00:00] [DBG] [40] Jellyfin.Plugin.ListenBrainz: Response status is OK, will not retry
[2023-11-08 16:26:46.974 +00:00] [DBG] [40] Jellyfin.Plugin.ListenBrainz: Got response ("9e07110"):
Status: OK
Data: "{\"status\":\"ok\"}
"
[2023-11-08 16:26:46.977 +00:00] [DBG] [40] Jellyfin.Plugin.ListenBrainz: Response status is BadRequest, will not retry
[2023-11-08 16:26:46.977 +00:00] [DBG] [40] Jellyfin.Plugin.ListenBrainz: Got response ("1fd356b"):
Status: BadRequest
Data: "{\"code\":400,\"error\":\"JSON document must contain either recording_msid or recording_mbid, and score top level keys\"}
"
[2023-11-08 16:26:46.992 +00:00] [DBG] [40] Jellyfin.Plugin.ListenBrainz: Response status is OK, will not retry
[2023-11-08 16:26:46.992 +00:00] [DBG] [40] Jellyfin.Plugin.ListenBrainz: Got response ("1e80c58"):
Status: OK
Data: "{\"status\":\"ok\"}
"
[2023-11-08 16:26:49.568 +00:00] [DBG] [18] Jellyfin.Plugin.ListenBrainz: Picking up user data save event for item "Love Love"
[2023-11-08 16:26:49.568 +00:00] [DBG] [18] Jellyfin.Plugin.ListenBrainz: Dropping event - alternative mode is disabled
...
[2023-11-08 16:30:17.029 +00:00] [DBG] [48] Jellyfin.Plugin.ListenBrainz: Picking up user data save event for item "Love Love"
[2023-11-08 16:30:17.029 +00:00] [DBG] [48] Jellyfin.Plugin.ListenBrainz: Dropping event - alternative mode is disabled
[2023-11-08 16:31:11.689 +00:00] [DBG] [48] Jellyfin.Api.Controllers.PlaystateController: ReportPlaybackStopped PlaySessionId: ""
[2023-11-08 16:31:12.293 +00:00] [DBG] [46] Jellyfin.Plugin.ListenBrainz: Picking up user data save event for item "Mr Rock and Roll"
[2023-11-08 16:31:12.293 +00:00] [DBG] [46] Jellyfin.Plugin.ListenBrainz: Dropping event - alternative mode is disabled
[2023-11-08 16:31:12.370 +00:00] [DBG] [23] Jellyfin.Plugin.ListenBrainz: Picking up user data save event for item "Mr Rock and Roll"
[2023-11-08 16:31:12.370 +00:00] [DBG] [23] Jellyfin.Plugin.ListenBrainz: Dropping event - alternative mode is disabled
[2023-11-08 16:31:12.371 +00:00] [INF] [48] Emby.Server.Implementations.Session.SessionManager: Playback stopped reported by app "Finamp" "0.6.18" playing "Love Love". Stopped at "265171" ms
[2023-11-08 16:31:12.442 +00:00] [DBG] [48] Jellyfin.Plugin.ListenBrainz: Picking up user data save event for item "Love Love"
[2023-11-08 16:31:12.442 +00:00] [DBG] [48] Jellyfin.Plugin.ListenBrainz: Dropping event - alternative mode is disabled
[2023-11-08 16:31:12.455 +00:00] [DBG] [50] Jellyfin.Plugin.ListenBrainz: Picking up playback stop event for item "Love Love"
[2023-11-08 16:31:12.455 +00:00] [INF] [50] Jellyfin.Plugin.ListenBrainz: MusicBrainz integration is enabled, fetching metadata for track "Love Love"
[2023-11-08 16:31:12.455 +00:00] [DBG] [50] Jellyfin.Plugin.ListenBrainz: Sending request ("bde2740"):
Method: "GET"
URI: https://musicbrainz.org/ws/2/recording?query=tid%3a9429f1da-db9c-3631-abd6-3af9412aeb9b&limit=1
Data: "null"
[2023-11-08 16:31:12.551 +00:00] [DBG] [46] Jellyfin.Plugin.ListenBrainz: Picking up user data save event for item "Mr Rock and Roll"
[2023-11-08 16:31:12.551 +00:00] [DBG] [46] Jellyfin.Plugin.ListenBrainz: Dropping event - alternative mode is disabled
[2023-11-08 16:31:12.560 +00:00] [DBG] [51] Jellyfin.Plugin.ListenBrainz: Picking up playback start event for item "Mr Rock and Roll"
[2023-11-08 16:31:12.560 +00:00] [INF] [51] Jellyfin.Plugin.ListenBrainz: Checking required metadata and user configuration
[2023-11-08 16:31:12.560 +00:00] [INF] [51] Jellyfin.Plugin.ListenBrainz: All checks passed, sending 'now playing' listen of track "Mr Rock and Roll" for user "tarulia"
[2023-11-08 16:31:12.560 +00:00] [INF] [51] Jellyfin.Plugin.ListenBrainz: MusicBrainz integration is enabled, fetching metadata for track "Mr Rock and Roll"
[2023-11-08 16:31:12.560 +00:00] [DBG] [51] Jellyfin.Plugin.ListenBrainz: Sending request ("49c65d2"):
Method: "GET"
URI: https://musicbrainz.org/ws/2/recording?query=tid%3a34aaec8c-57d5-3cff-8652-22b62b77544c&limit=1
Data: "null"
[2023-11-08 16:31:12.621 +00:00] [DBG] [23] Jellyfin.Plugin.ListenBrainz: Response status is OK, will not retry
[2023-11-08 16:31:12.621 +00:00] [DBG] [23] Jellyfin.Plugin.ListenBrainz: Got response ("bde2740"):
Status: OK
Data: "{\"created\":\"2023-11-08T16:26:46.894Z\",\"count\":1,\"offset\":0,\"recordings\":[{\"id\":\"01bb795e-8d16-4e0f-b383-f3035ccd932f\",\"score\":100,\"title\":\"Love Love\",\"length\":263000,\"disambiguation\":\"live, 2010-10-26: HMV Hammersmith Apollo, London, UK\",\"video\":null,\"artist-credit\":[{\"name\":\"Amy Macdonald\",\"artist\":{\"id\":\"6aa40207-fec8-43a7-991d-b872a42def05\",\"name\":\"Amy Macdonald\",\"sort-name\":\"Macdonald, Amy\",\"disambiguation\":\"Scottish singer/songwriter\",\"aliases\":[{\"sort-name\":\"Amy Mc Donald\",\"type-id\":\"1937e404-b981-3cb7-8151-4c86ebfc8d8e\",\"name\":\"Amy Mc Donald\",\"locale\":null,\"type\":\"Search hint\",\"primary\":null,\"begin-date\":null,\"end-date\":null},{\"sort-name\":\"Macdonald, Amy Elizabeth\",\"type-id\":\"d4dcd0c0-b341-3612-a332-c0ce797b25cf\",\"name\":\"Amy Elizabeth Macdonald\",\"locale\":null,\"type\":\"Legal name\",\"primary\":null,\"begin-date\":null,\"end-date\":null}]}}],\"first-release-date\":\"2010-10-26\",\"releases\":[{\"id\":\"72a87f25-c443-4957-9987-1a5d031f3428\",\"status-id\":\"4e304316-386d-3409-af2e-78857eec5cfe\",\"count\":2,\"title\":\"Greatest Live Hits\",\"status\":\"Official\",\"artist-credit\":[{\"name\":\"Amy Macdonald\",\"artist\":{\"id\":\"6aa40207-fec8-43a7-991d-b872a42def05\",\"name\":\"Amy Macdonald\",\"sort-name\":\"Macdonald, Amy\",\"disambiguation\":\"Scottish singer/songwriter\"}}],\"release-group\":{\"id\":\"1d2f9e1d-8ad9-4302-a006-0268479c2bd4\",\"type-id\":\"dd2a21e1-0c00-3729-a7a0-de60b84eb5d1\",\"primary-type-id\":\"f529b476-6e62-324f-b0aa-1f3e33d313fc\",\"title\":\"Greatest Live Hits\",\"primary-type\":\"Album\",\"secondary-types\":[\"Compilation\",\"Live\"],\"secondary-type-ids\":[\"dd2a21e1-0c00-3729-a7a0-de60b84eb5d1\",\"6fd474e2-6b58-3102-9d17-d6f7eb7da0a0\"]},\"date\":\"\",\"country\":\"GB\",\"release-events\":[{\"date\":\"\",\"area\":{\"id\":\"8a754a16-0027-3a29-b6d7-2b40ea0481ed\",\"name\":\"United Kingdom\",\"sort-name\":\"United Kingdom\",\"iso-3166-1-codes\":[\"GB\"]}}],\"track-count\":15,\"media\":[{\"position\":1,\"format\":\"CD\",\"track\":[{\"id\":\"d1c31f43-3e8c-4cff-bea2-2482fc54d784\",\"number\":\"8\",\"title\":\"Love Love\",\"length\":263000}],\"track-count\":8,\"track-offset\":7}]},{\"id\":\"c3a103d6-6c60-4339-a353-0175b6a65b4f\",\"status-id\":\"4e304316-386d-3409-af2e-78857eec5cfe\",\"count\":3,\"title\":\"Love Love UK & European Arena Tour LIVE 2010: 26.10.2010 HMV Apollo Hammersmith\",\"status\":\"Official\",\"artist-credit\":[{\"name\":\"Amy Macdonald\",\"artist\":{\"id\":\"6aa40207-fec8-43a7-991d-b872a42def05\",\"name\":\"Amy Macdonald\",\"sort-name\":\"Macdonald, Amy\",\"disambiguation\":\"Scottish singer/songwriter\"}}],\"release-group\":{\"id\":\"ebb692e3-d569-4c3e-9fd3-4a42a89c9022\",\"type-id\":\"6fd474e2-6b58-3102-9d17-d6f7eb7da0a0\",\"primary-type-id\":\"f529b476-6e62-324f-b0aa-1f3e33d313fc\",\"title\":\"Love Love UK & European Tour LIVE 2010\",\"primary-type\":\"Album\",\"secondary-types\":[\"Live\"],\"secondary-type-ids\":[\"6fd474e2-6b58-3102-9d17-d6f7eb7da0a0\"]},\"date\":\"2010-10-26\",\"country\":\"GB\",\"release-events\":[{\"date\":\"2010-10-26\",\"area\":{\"id\":\"8a754a16-0027-3a29-b6d7-2b40ea0481ed\",\"name\":\"United Kingdom\",\"sort-name\":\"United Kingdom\",\"iso-3166-1-codes\":[\"GB\"]}}],\"track-count\":19,\"media\":[{\"position\":1,\"format\":\"CD\",\"track\":[{\"id\":\"9429f1da-db9c-3631-abd6-3af9412aeb9b\",\"number\":\"3\",\"title\":\"Love Love\",\"length\":265000}],\"track-count\":10,\"track-offset\":2}]}]}]}"
[2023-11-08 16:31:12.622 +00:00] [DBG] [50] Jellyfin.Plugin.ListenBrainz: Sending request ("b9eb67d"):
Method: "POST"
URI: https://api.listenbrainz.org/1/submit-listens
Data: "{\"listen_type\":\"single\",\"payload\":[{\"listened_at\":1699461072,\"track_metadata\":{\"artist_name\":\"Amy Macdonald\",\"track_name\":\"Love Love\",\"release_name\":\"Love Love UK & European Arena Tour LIVE 2010: 26.10.2010 HMV Apollo Hammersmith\",\"additional_info\":{\"artist_mbids\":[\"6aa40207-fec8-43a7-991d-b872a42def05\"],\"release_group_mbid\":\"ebb692e3-d569-4c3e-9fd3-4a42a89c9022\",\"release_mbid\":\"c3a103d6-6c60-4339-a353-0175b6a65b4f\",\"recording_mbid\":\"01bb795e-8d16-4e0f-b383-f3035ccd932f\",\"track_mbid\":\"9429f1da-db9c-3631-abd6-3af9412aeb9b\",\"track_number\":3,\"tags\":[],\"media_player\":\"Jellyfin\",\"submission_client\":\"ListenBrainz plugin for Jellyfin\",\"submission_client_version\":\"<IP_ADDRESS>\",\"duration_ms\":265000}}}]}"
[2023-11-08 16:31:12.622 +00:00] [DBG] [50] Jellyfin.Plugin.ListenBrainz: Sending request ("2aaab9f"):
Method: "POST"
URI: https://api.listenbrainz.org/1/feedback/recording-feedback
Data: "{\"recording_mbid\":\"01bb795e-8d16-4e0f-b383-f3035ccd932f\"}"
[2023-11-08 16:31:12.667 +00:00] [DBG] [23] Jellyfin.Plugin.ListenBrainz: Response status is OK, will not retry
[2023-11-08 16:31:12.667 +00:00] [DBG] [23] Jellyfin.Plugin.ListenBrainz: Got response ("49c65d2"):
Status: OK
Data: "{\"created\":\"2023-11-08T16:31:12.659Z\",\"count\":1,\"offset\":0,\"recordings\":[{\"id\":\"72c6f52f-adad-44e4-a04f-b56d0acd14ae\",\"score\":100,\"title\":\"Mr Rock and Roll\",\"length\":319000,\"disambiguation\":\"live, 2010-10-26: HMV Hammersmith Apollo, London, UK\",\"video\":null,\"artist-credit\":[{\"name\":\"Amy Macdonald\",\"artist\":{\"id\":\"6aa40207-fec8-43a7-991d-b872a42def05\",\"name\":\"Amy Macdonald\",\"sort-name\":\"Macdonald, Amy\",\"disambiguation\":\"Scottish singer/songwriter\",\"aliases\":[{\"sort-name\":\"Amy Mc Donald\",\"type-id\":\"1937e404-b981-3cb7-8151-4c86ebfc8d8e\",\"name\":\"Amy Mc Donald\",\"locale\":null,\"type\":\"Search hint\",\"primary\":null,\"begin-date\":null,\"end-date\":null},{\"sort-name\":\"Macdonald, Amy Elizabeth\",\"type-id\":\"d4dcd0c0-b341-3612-a332-c0ce797b25cf\",\"name\":\"Amy Elizabeth Macdonald\",\"locale\":null,\"type\":\"Legal name\",\"primary\":null,\"begin-date\":null,\"end-date\":null}]}}],\"first-release-date\":\"2010-10-26\",\"releases\":[{\"id\":\"c3a103d6-6c60-4339-a353-0175b6a65b4f\",\"status-id\":\"4e304316-386d-3409-af2e-78857eec5cfe\",\"count\":3,\"title\":\"Love Love UK & European Arena Tour LIVE 2010: 26.10.2010 HMV Apollo Hammersmith\",\"status\":\"Official\",\"artist-credit\":[{\"name\":\"Amy Macdonald\",\"artist\":{\"id\":\"6aa40207-fec8-43a7-991d-b872a42def05\",\"name\":\"Amy Macdonald\",\"sort-name\":\"Macdonald, Amy\",\"disambiguation\":\"Scottish singer/songwriter\"}}],\"release-group\":{\"id\":\"ebb692e3-d569-4c3e-9fd3-4a42a89c9022\",\"type-id\":\"6fd474e2-6b58-3102-9d17-d6f7eb7da0a0\",\"primary-type-id\":\"f529b476-6e62-324f-b0aa-1f3e33d313fc\",\"title\":\"Love Love UK & European Tour LIVE 2010\",\"primary-type\":\"Album\",\"secondary-types\":[\"Live\"],\"secondary-type-ids\":[\"6fd474e2-6b58-3102-9d17-d6f7eb7da0a0\"]},\"date\":\"2010-10-26\",\"country\":\"GB\",\"release-events\":[{\"date\":\"2010-10-26\",\"area\":{\"id\":\"8a754a16-0027-3a29-b6d7-2b40ea0481ed\",\"name\":\"United Kingdom\",\"sort-name\":\"United Kingdom\",\"iso-3166-1-codes\":[\"GB\"]}}],\"track-count\":19,\"media\":[{\"position\":1,\"format\":\"CD\",\"track\":[{\"id\":\"34aaec8c-57d5-3cff-8652-22b62b77544c\",\"number\":\"4\",\"title\":\"Mr Rock and Roll\",\"length\":319000}],\"track-count\":10,\"track-offset\":3}]}]}]}"
[2023-11-08 16:31:12.667 +00:00] [DBG] [51] Jellyfin.Plugin.ListenBrainz: Sending request ("87e33df"):
Method: "POST"
URI: https://api.listenbrainz.org/1/submit-listens
Data: "{\"listen_type\":\"playing_now\",\"payload\":[{\"track_metadata\":{\"artist_name\":\"Amy Macdonald\",\"track_name\":\"Mr Rock and Roll\",\"release_name\":\"Love Love UK & European Arena Tour LIVE 2010: 26.10.2010 HMV Apollo Hammersmith\",\"additional_info\":{\"artist_mbids\":[\"6aa40207-fec8-43a7-991d-b872a42def05\"],\"release_group_mbid\":\"ebb692e3-d569-4c3e-9fd3-4a42a89c9022\",\"release_mbid\":\"c3a103d6-6c60-4339-a353-0175b6a65b4f\",\"recording_mbid\":\"72c6f52f-adad-44e4-a04f-b56d0acd14ae\",\"track_mbid\":\"34aaec8c-57d5-3cff-8652-22b62b77544c\",\"track_number\":4,\"tags\":[],\"media_player\":\"Jellyfin\",\"submission_client\":\"ListenBrainz plugin for Jellyfin\",\"submission_client_version\":\"<IP_ADDRESS>\",\"duration_ms\":319000}}}]}"
[2023-11-08 16:31:12.729 +00:00] [DBG] [50] Jellyfin.Plugin.ListenBrainz: Response status is OK, will not retry
[2023-11-08 16:31:12.729 +00:00] [DBG] [50] Jellyfin.Plugin.ListenBrainz: Got response ("b9eb67d"):
Status: OK
Data: "{\"status\":\"ok\"}
"
[2023-11-08 16:31:12.742 +00:00] [DBG] [50] Jellyfin.Plugin.ListenBrainz: Response status is BadRequest, will not retry
[2023-11-08 16:31:12.742 +00:00] [DBG] [50] Jellyfin.Plugin.ListenBrainz: Got response ("2aaab9f"):
Status: BadRequest
Data: "{\"code\":400,\"error\":\"JSON document must contain either recording_msid or recording_mbid, and score top level keys\"}
"
[2023-11-08 16:31:12.758 +00:00] [DBG] [23] Jellyfin.Plugin.ListenBrainz: Response status is OK, will not retry
[2023-11-08 16:31:12.758 +00:00] [DBG] [23] Jellyfin.Plugin.ListenBrainz: Got response ("87e33df"):
Status: OK
Data: "{\"status\":\"ok\"}
"

ListenBrainz Data for comparison:
{
  "track_metadata": {
    "track_name": "Ordinary Life",
    "artist_name": "Amy Macdonald",
    "release_name": "Love Love UK & European Arena Tour LIVE 2010: 26.10.2010 HMV Apollo Hammersmith",
    "additional_info": {
      "tags": [],
      "track_mbid": "63b00787-90e3-3c87-bcc4-fd21b84dfa69",
      "duration_ms": 274000,
      "artist_mbids": [
        "6aa40207-fec8-43a7-991d-b872a42def05"
      ],
      "media_player": "Jellyfin",
      "release_mbid": "c3a103d6-6c60-4339-a353-0175b6a65b4f",
      "track_number": 1,
      "recording_mbid": "725dec27-0adb-455c-a8dc-15d6ffccb4a9",
      "submission_client": "ListenBrainz plugin for Jellyfin",
      "release_group_mbid": "ebb692e3-d569-4c3e-9fd3-4a42a89c9022",
      "submission_client_version": "<IP_ADDRESS>",
      "recording_msid": "6ba57367-e845-42a5-92ad-511a427a5cee"
    },
    "mbid_mapping": {
      "recording_mbid": "725dec27-0adb-455c-a8dc-15d6ffccb4a9",
      "recording_name": "Ordinary Life",
      "release_mbid": "c3a103d6-6c60-4339-a353-0175b6a65b4f",
      "artists": [
        {
          "artist_mbid": "6aa40207-fec8-43a7-991d-b872a42def05",
          "artist_credit_name": "Amy Macdonald",
          "join_phrase": ""
        }
      ],
      "artist_mbids": [
        "6aa40207-fec8-43a7-991d-b872a42def05"
      ],
      "caa_id":<PHONE_NUMBER>3,
      "caa_release_mbid": "c3a103d6-6c60-4339-a353-0175b6a65b4f"
    }
  },
  "listened_at":<PHONE_NUMBER>,
  "recording_msid": "6ba57367-e845-42a5-92ad-511a427a5cee",
  "user_name": "Mihawk90",
  "inserted_at":<PHONE_NUMBER>
}

{
  "track_metadata": {
    "track_name": "Poison Prince",
    "artist_name": "Amy Macdonald",
    "release_name": "Love Love UK & European Arena Tour LIVE 2010: 26.10.2010 HMV Apollo Hammersmith",
    "additional_info": {
      "tags": [],
      "track_mbid": "fa15d6c4-bcb1-3b7a-95eb-87a30e54769c",
      "duration_ms": 272000,
      "artist_mbids": [
        "6aa40207-fec8-43a7-991d-b872a42def05"
      ],
      "media_player": "Jellyfin",
      "release_mbid": "c3a103d6-6c60-4339-a353-0175b6a65b4f",
      "track_number": 2,
      "recording_mbid": "95c3e752-dcff-4033-b035-3e8f494c0af3",
      "submission_client": "ListenBrainz plugin for Jellyfin",
      "release_group_mbid": "ebb692e3-d569-4c3e-9fd3-4a42a89c9022",
      "submission_client_version": "<IP_ADDRESS>",
      "recording_msid": "ee14bedb-7249-437d-877c-d2ee8b58f988"
    },
    "mbid_mapping": {
      "recording_mbid": "95c3e752-dcff-4033-b035-3e8f494c0af3",
      "recording_name": "Poison Prince",
      "release_mbid": "1c6c1d7b-2a0d-392b-b6c7-42bf0781ac2e",
      "artists": [
        {
          "artist_mbid": "6aa40207-fec8-43a7-991d-b872a42def05",
          "artist_credit_name": "Amy Macdonald",
          "join_phrase": ""
        }
      ],
      "artist_mbids": [
        "6aa40207-fec8-43a7-991d-b872a42def05"
      ],
      "caa_id":<PHONE_NUMBER>,
      "caa_release_mbid": "25cfed81-0e8f-3a31-aa11-756406e0b890"
    }
  },
  "listened_at":<PHONE_NUMBER>,
  "recording_msid": "ee14bedb-7249-437d-877c-d2ee8b58f988",
  "user_name": "Mihawk90",
  "inserted_at":<PHONE_NUMBER>
}

So, same result as the original report.
What sticks out in the logs though:
[2023-11-08 16:22:14.854 +00:00] [DBG] [26] Jellyfin.Plugin.ListenBrainz: Response status is BadRequest, will not retry
[2023-11-08 16:22:14.854 +00:00] [DBG] [26] Jellyfin.Plugin.ListenBrainz: Got response ("0c2d8bb"):
Status: BadRequest
Data: "{\"code\":400,\"error\":\"JSON document must contain either recording_msid or recording_mbid, and score top level keys\"}
"
...
[2023-11-08 16:26:46.977 +00:00] [DBG] [40] Jellyfin.Plugin.ListenBrainz: Response status is BadRequest, will not retry
[2023-11-08 16:26:46.977 +00:00] [DBG] [40] Jellyfin.Plugin.ListenBrainz: Got response ("1fd356b"):
Status: BadRequest
Data: "{\"code\":400,\"error\":\"JSON document must contain either recording_msid or recording_mbid, and score top level keys\"}
"

So if I'm interpreting this right the MBIDs shouldn't be in the additional_info object but rather the top-level track_metadata?

Checking the Jira it seems this is relevant:
LB-1263
But it's not exactly the same. The responses are talking about different releases in the same release group, however in my case the releases aren't even in the same group. Now the linked PR metabrainz/listenbrainz-server#2464 was merged back in May so I'd expect it to be live, but I can't find version info on the website.
LB-1116 and LB-1330 also seem relevant.

This is definitely a ListenBrainz issue, thanks for the report @mihawk90 !
I think you can close the issue here, and let's continue the discussion on https://tickets.metabrainz.org/browse/LB-1263

I'll leave the closing up to the Repo owner, if nothing else just to list it as a "known issue" or similar so people won't open duplicate reports :)

Actually, the submitted JSON seems correct according to the Docs. So the question is why it's still throwing a BadRequest.

@mihawk90
The BadRequests are for feedback sync requests and the JSON serializer was dropping the score field as it was set to 0 and it was configured to drop default values. Fix should be available shortly in plugin version <IP_ADDRESS>.
As for the issue with the release IDs I'll close the issue and pin it for visibility. Thank you.


[FEATURE] Allow to change the order of labels once the dataset is created

Change the label order shown to users for single and multi-label questions in Feedback datasets from the UI settings section.

Is this correcting the position in which (a) specific label(s) appear or more like changing into an alphabetic sort or other kinds of sorting?

Let's discuss also being able to change the names and titles of labels.

Some additions:
Scope suggestion:

First, reorder Single/Multi labels and Span
Second, title and name edition for Single/Multi labels and Span
Third Color edition for Spans

UI:

Compare options between visually maintaining the placeholder until the label is reordered or not showing it (could be useful when there are many labels).
The shortcut is not visible in the labels area edition (only visible in the preview)


Add SharePoint Server Links

@KCCross Please merge this PR. Thanks

@JohanFreelancer9 - kindly do the copy editor review for this PR. Thanks

@JohanFreelancer9

@KCCross Please merge this PR. Thanks

@KCCross Gentle reminder


[3.x] User login disable

3.x tests + implementation for https://github.com/area17/twill/pull/1827

Thank you @haringsrob Maybe we can have a toast to notify user like which appear if credentials do not match our records. Also, may I know these changes will backport to 2.x?


Terminal doesn't open on Windows.

When I click the Terminal icon nothing happens.
I opened the Developers Tools and this error is showing:

Should be fixed in version 0.14.15, please provide feedback. Thanks

It is fixed in 0.14.15
Thank you!


Unexpected path for upload

Hi,
My GATK variant calling run is failing (at the upload stage, by the looks of it) with the following error:

ValueError: Unexpected path for upload: {'path': '/home/semlucas/Resequencing_KC_GWAS/Resequencing/work/qc/KSA542/samtools/KSA542-idxstats.txt.bcbiotmp', 'dir': 'qc/samtools'}

The file in question, /home/semlucas/Resequencing_KC_GWAS/Resequencing/work/qc/KSA542/samtools/KSA542-idxstats.txt.bcbiotmp doesn't exist, although /home/semlucas/Resequencing_KC_GWAS/Resequencing/work/qc/KSA542/samtools/KSA542-idxstats.txt does.
Any ideas on why this file is missing (or why bcbio is looking for a file that doesn't exist)?
Thanks,
Bennet

Bennet;
Thanks for the report and apologies about the issue. It appears as if bcbio found a temporary file (used when copying/staging) that then got cleaned up. This could happen if running on a shared filesystem and it had not yet cleared the file.  I also pushed a fix to development to avoid this happening in the future. Thank you again for the report and hope all works cleanly for you now.


Some changes on the bibliography

Added the geography references.
Standardized use of references for the licensing 'paper'

Already merged manually..


pass information through to a post-processing stage - how?

The method LibCameraApp.Wait()  waits for the next frame, but I want to modify what my post-processing-stage does with the frame.  How should I pass data re the next frame to my post-processing-stage?
The obvious way to do that would be to have Wait() take an optional argument that looks like metadata, but perhaps I can adjust existing metdata?  Perhaps AdjustConfig can be called before ... but that doesn't look as if it is meant for that. Perhaps I can get a reference to my PostProcessingStage that was created from the specification in the json file - then I could call my own public method there before doing the Wait()?
Before someone says I don't want to do that, I want to adjust the ROI for my fiducial finder based on a compass reading.

We designed the postprocessing API to be as simple as possible based on the simple example use cases we had implemented.  As such, there is no way currently to pass data into the stages as you need here.
However, you should be able to achieve what you need if you take your compass readings (I assume they are electronically read?) in your postprocessing stage Process() function itself and adjusting your ROI directly from there?
If that is not possible, we need to consider an API update to allow access to the post processing stages from the application and  a new method to pass arbitrary data into it.

If there was some way to access the CompletedRequestPtr before calling LibcameraApp.Wait(), I could add things to the metadata and pull it out in the post-processing stage...

Unfortunately there is no callback mechanism to do this.  Could you not embed the compass reading within your stage driectly?

I could, but then other things that access the compass will need to access
the post-processing-stage buried in libcamera-app.  It would be tidier to
not use the stage mechanism.
It would not be a callback would it? The 'app' object is sitting there -
the call to wait is app.Wait() if I recall - a method like
app.getMetaData() could return a pointer to the static (presumably)
"response" metadata object.
p
On Tue, 11 Jul 2023 at 12:45, naushir @.***> wrote:

Unfortunately there is no callback mechanism to do this. Could you not
embed the compass reading within your stage directly?
—
Reply to this email directly, view it on GitHub
https://github.com/raspberrypi/libcamera-apps/issues/532#issuecomment-1630674617,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ALY3LWJJALB7ETACGXD7TGTXPU4G5ANCNFSM6AAAAAA2CYM7DY
.
You are receiving this because you authored the thread.Message ID:
@.***>

Hm. yes, I was expecting it to be possible to grab a reference to the
metadata object from libcamera before it returns its next buffer - possible
(presumably) if the metadata structure is re-used by libcamera.. and not
cleared ofcourse..
On Tue, 11 Jul 2023 at 16:35, naushir @.***> wrote:

I could, but then other things that access the compass will need to access
the post-processing-stage buried in libcamera-app. It would be tidier to
not use the stage mechanism.
The mechanism I would suggest to account for this is to create a "compass"
postprocessing stage that runs first. This reads the compass data, writes
it to a metadata tag. Any other postprocessing stage downstream that wants
compass data would read it from the appropriate metadata tag.
It would not be a callback would it? The 'app' object is sitting there -
the call to wait is app.Wait() if I recall - a method like
app.getMetaData() could return a pointer to the static (presumably)
"response" metadata object.
Unfortunately it's a bit more complicated I think. The framebuffer flow is
hidden within private members of the object. To hook into the correct
place, i.e. after libcamera has returned the buffer but before the
postprocessing stages have run would require a callback to ensure correct
synchronisation. This is because the metadata is only available after
libcamera has signalled a request has completed.
—
Reply to this email directly, view it on GitHub
https://github.com/raspberrypi/libcamera-apps/issues/532#issuecomment-1631050054,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ALY3LWPKA53CUT6T3WTJA2TXPVXDTANCNFSM6AAAAAA2CYM7DY
.
You are receiving this because you authored the thread.Message ID:
@.***>

If there is nothing more to discuss here, I'll close this down shortly.

That is fine. My use-case has been noted for future releases no doubt 🙂
On Tue, 18 Jul 2023, 09:20 naushir, @.***> wrote:

If there is nothing more to discuss here, I'll close this down shortly.
—
Reply to this email directly, view it on GitHub
https://github.com/raspberrypi/libcamera-apps/issues/532#issuecomment-1639743024,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ALY3LWLJ7BHUU2BUQODFL2DXQZBK7ANCNFSM6AAAAAA2CYM7DY
.
You are receiving this because you authored the thread.Message ID:
@.***>


Fix share target issue when sharing a contact (vcard)

the

Issue created by BlueBubbles Bot in the BlueBubbles commnity on behalf of @zach in #android-development.

This might just be a matter of adding an additional supported MIME type

I was unable to replicate this bug. Was only able to one time on another device. If it happens again, I will re-open


Route handler bug

Hi,
The route handler has a bug where it is executed twice when the request body has JSON and the route has a middleware
I have also attached a reproducible demo
With body
curl -X POST localhost:4000/api/profile -d '{ "test": "test" }'

Output:
1659969926326
1659969926326

Without body
curl -X POST localhost:4000/api/profile

Output:
1659969971285

Reproducible Demo
const HyperExpress = require('hyper-express')

const router = new HyperExpress.Router()
const webserver = new HyperExpress.Server()

const useAuthentication = async (request, response, next) => {
    return next()
}

const updateprofile = async (request, response) => {
    console.log(Date.now())
    response.send('ok')
}

router.post('/profile', {
    middlewares: [useAuthentication]
}, updateprofile)

webserver.use('/api/', router)

webserver.listen(4000)

Hi @neo773 This is not a bug in HyperExpress but rather that your middleware useAuthentication is incorrect. Your middleware is async but you also call next() inside of it which leads to a double iteration. If you try setting an error handler using Server.set_error_handler you will see the error being logged to console and that your requests are receiving a 500 HTTP response due to a server error. You may only call next() inside of a synchronous middleware while async middlewares are simply awaited internally thus not requiring you to iterate forward with the next callback.


Fix worker sleep bug from 8093

Apparently this logical operator was haunting me in the last week :(
Fix bug introduced in #8093.

I might cut a pre11 tag tomorrow with this patch in. However, this is only present on the agent side, so we can also wait for a couple of days and see if further patches are needed or not for cmsweb.

Thanks Alan, I would never find this problem. This this the bug which make the thread super in steroid? 😄

Yes, because worker threads were NOT sleeping and just running the whole algorithm again. It would have been a catastrophe to have it in production :)

I guess Agent would be super busy.  :-) Anyway, that was the problem I saw when I tested 1.1.6.pre10 agent. Now it seems working normally. However I am not sure why MemoryCache didn't work when I increase the timeout.


Allow passing in an existing Redux store and pick which key in the store should be managed by Apollo

@stubailo this will require a partial rewrite to move the default store generated from createApolloStore to be a combined reducer where all apollo data will live under a specified key. I'm thinking nesting it under an apollo key makes the most sense.
In order to support a dynamic key, we will need that to be an input of the ApolloClient and passed to query manager (I think, still working through it).
As long as you don't see any troubles with this direction, I'll proceed!

yeah that sounds great! It would be good if it was possible to just not pass in a store, in which case Apollo would make one for you. Basically having flexibility while having sane defaults.

@stubailo yep! 100% still possible!

Fixed by #81

@stubailo this closes out our needs to get this into production :tada: :tada: I'll let you know when it's alive and working in our app!

Dude, amazing! Let me know. Excited to see our first set of production bug reports 😄
Sounds like I should get those breaking API changes in today, so that you don't have to make random weird changes once you start using it: https://github.com/apollostack/apollo-client/issues/82

@jbaxleyiii Super exciting! It's great having you guys as a partner. I can't wait to hear how it goes.

@stubailo if you don't get them all in today, I'd be happy to help you finish next week before I start integrating.

Is this one implemented already?

http://dev.apollodata.com/react/redux.html


Sharp have issue with pkg package

I used sharp with pkg package ( pkg creates an exe file from an express app), but I received an error complaining about the sharp package. Can it be related to the node version used in sharp?
any advice will be appreciated.

Please can you provide a complete, minimal, standalone repo that allows someone else to reproduce the problem.

Closing due to inactivity but please feel free to reopen with the requested details if further help is required.


[Doc]: Add a docstring example in narwhals.dtypes for Unknown

What type of report is this?
Improvement
Please describe the issue.
Thank you for contributing to Narwhals
May the Undwerwater Unicorn Magic be with You! 🌊🦄
Add a docstring example for Unknown - dtype, that will be visible here:
https://narwhals-dev.github.io/narwhals/api-reference/dtypes/#narwhals.dtypes.Unknown
Check https://github.com/narwhals-dev/narwhals/blob/main/CONTRIBUTING.md
for instructions how to set up your environment
Check https://narwhals-dev.github.io/narwhals/api-reference/dtypes/#narwhals.dtypes.List
as a reference of how it should look like
and https://github.com/narwhals-dev/narwhals/blob/main/narwhals/dtypes.py
as a reference on how to create docstrings
If you need any help just let us know!
Happy Contributing💻🎉
If you have a suggestion on how it should be, add it below.
No response

Was taking a look at this and wanted to confirm that the following would be a decent example that users might encounter:
>>> import narwhals as nw
>>> import pandas as pd
>>> ser_pd = pd.Series(pd.period_range('2000-01', periods=4, freq='M'))
>>> nw.from_native(ser_pd, series_only=True).dtype
Unknown

Unfortunately I can't seem to trick an Unknown conversion from either Polars or PyArrow with out some more complicated examples. I figured that the primary trigger for this in Narwhals would be from individuals who work with extension/custom datatypes.

thanks @camriddell ! I think that'd already be a useful addition, it shows the kind of code which results in nw.Unknown


meta(output): tracking issue for issues related to output modes (--json, stdout, stderr)

Issues
--json

[ ] https://github.com/foundry-rs/foundry/issues/8789
[ ]  https://github.com/foundry-rs/foundry/issues/8735
[ ] https://github.com/foundry-rs/foundry/issues/6922
[ ] https://github.com/foundry-rs/foundry/issues/2210

stdout, stderr

[ ] https://github.com/foundry-rs/foundry/issues/8568
[ ] https://github.com/foundry-rs/foundry/issues/7055
[ ] https://github.com/foundry-rs/foundry/issues/1976
[ ] https://github.com/foundry-rs/foundry/issues/3981
[ ] https://github.com/foundry-rs/foundry/pull/6569 (resolves above)

I think is not yet referenced here yet, but another command where --json output would be important is build --sizes.
In our CIs we're currently jumping trough hoops to track changes in contract size and gas consumption.


[openwrt] fix building on OpenWRT

Use openthread-br as the package name instead of openthread.
Added a OpenWRT Makefile and README at etc/openwrt to guide
development for OpenWRT.
Added --enable-dbus-server to allow build without dbus support.
Updated OpenThread to support detect big endian automatically.
Added openwrt-check in travis-ci.

@Vyrastas, can you review the README.md when you get a chance?

@Vyrastas @jwhui This PR is only aimed at fixing build OpenWRT. There are still some enhancements to to be done before it's ready for users. To prevent this PR becomes bigger and bigger, I hope we merge it at the current state. I will update the document in separate PRs.


create widget for new CC search on home page and use-remix page

Widget for search on home page (top) and at https://creativecommons.org/use-remix/

This can happen post-flip

This is not relevant with the new design coming in the next couple of months.


class properties disappear if assigned a var that has no value assigned

While I was implementing the transaction feature I notices a curious behaviour that happened in the unittests
a getter threw an exception that a defined property does not exist. I found my bug but I was curious. I tested if this is a behaviour that can be easily reproduced.
php 7.2 + zephir 1.0.7
2 classes:
TestCase:
namespace Bugreport;

class PropertyIsGoingToDisappear {
    protected _magicProperty;

    public function setProperty(param) {
        let this->_magicProperty = param;

        return this;
    }

    public function getProperty() {
        return this->_magicProperty;
    }
}

and
namespace Bugreport;

class MyClass {

    protected _property1;

    public function useSetterOfChild() {
        var myValue, instanceToBeReturned;

        let instanceToBeReturned = new PropertyIsGoingToDisappear();
        return instanceToBeReturned->setProperty(myValue);
    }
}

invoked by
$myObject = new Bugreport\MyClass();
$returnedObject = $myObject->useSetterOfChild();

// same as the returned object
$myOtherObject = new Bugreport\PropertyIsGoingToDisappear();
$myOtherObject->setProperty(1);

var_dump($myOtherObject->getProperty());
var_dump($returnedObject->getProperty());

results in
/home/j/development/repos/bugreport-zephir/test.php:19:
int(1)
PHP Notice:  Undefined property: Bugreport\PropertyIsGoingToDisappear::$_magicProperty in /home/j/development/repos/bugreport-zephir/test.php on line 20
PHP Stack trace:
PHP   1. {main}() /home/j/development/repos/bugreport-zephir/test.php:0
PHP   2. Bugreport\PropertyIsGoingToDisappear->getProperty() /home/j/development/repos/bugreport-zephir/test.php:20
/home/j/development/repos/bugreport-zephir/test.php:20:
NULL

the issue is
var myValue, instanceToBeReturned;
instanceToBeReturned->setProperty(myValue);

the var has no value assigned so instead of setting a null value it removes the property in runtime, which is a quite curious sideeffect.

@dreamsxin Another strange issue that seems to have always been. Could you please look at this

PHP 7.2
Zephir 0.11.10 can't reproduce, it's initialize:
ZVAL_UNDEF(&myValue);

@chilimatic You can test again use Zephir 0.11.10

I'm closing this issue due to the lack of any reaction. I'll open it again if the need arises


VMware ESXi logs Ingestion into Sentinel

Hi Folks,
With the VCenter ESXi connector deprecated. Could you kindly provide link to documentation on how ESXi could be integrated into Sentinel?
Thx,
Muid

Hi @casecasr,
VMware ESXi solution is dependent on the Syslog solution containing the Syslog via AMA connector to collect the logs.
So now you need to use Syslog via AMA connector.
Please refer solution description of VMWareESXi solution.

Thanks

Hi @casecasr,
Please confirm that are you able to integrate VMware ESXi solution.
Thanks

Hi @casecasr, Gentle Reminder: We are waiting for your response on this issue. If you still need to keep this issue active, please respond to it in the next 2 days. If we don't receive a response by 27-09-2024 date, we will be closing this issue.
Thanks!

Hi @v-rusraut ,
Apologies for my late response.  I've been away. This is quite helpful.
I have put in a CR and I believe it should be straight forward.
Thanks for helping out with this.
You may close this case.

Hi @casecasr,
Thanks for your response, closing this issue now. If you still need support for this issue, feel free to re-open it any time. Thank you for your co-operation


new package: argp-standalone 1.3

Description of package
Needed by iucode-tool which is going to be needed by intel-ucode
Checklist

[x] Latest upstream version.
[x] I agree to maintain this package (required).
[x] I agree to notify KISS if I can no longer maintain this package (required).

This is probably a better implementation: https://github.com/xhebox/libuargp
It's ripped out of UClibc instead of GlibC and is specifically made to work well with Musl.

I will just move all this stuff to my own spot for now. Thanks


Add prism syntax highlighting generator

Closes https://github.com/langium/langium/issues/993
Also addresses the discussion https://github.com/langium/langium/discussions/785
See this generator in use in this file for the corresponding website PR https://github.com/langium/langium-website/pull/140. As outlined by the comment that is generated into the file, this is a best guess attempt at syntax highlighting and needs to be extended for the users/devs needs. How this can be done can be seen in the linked file.

Oooh! I can't wait to try this out!

@msujew was there a reasoning behind using Prism.languages.camelCaseGrammar = ...
and not
Prism.languages["language-id"]= ...

@cdietrich No specific one, no. I'm fine with changing it, though I assumed that adopters would modify the generated file anyway, given that the generated file is doing very little beside keyword highlighting.

https://github.com/eclipse-langium/langium/pull/1617


[Telegram] panic: runtime error: slice bounds out of range

Describe the bug
Matterbridge crashes with the following error:
panic: runtime error: slice bounds out of range

goroutine 386 [running]:
github.com/42wim/matterbridge/bridge/telegram.(*Btelegram).handleEntities(0xc000458420, 0xc0004d1e20, 0xc000628780)
        /go/src/github.com/42wim/matterbridge/bridge/telegram/handlers.go:378 +0x3b4
github.com/42wim/matterbridge/bridge/telegram.(*Btelegram).handleRecv(0xc000458420, 0xc0007f6cc0)
        /go/src/github.com/42wim/matterbridge/bridge/telegram/handlers.go:153 +0x43c
created by github.com/42wim/matterbridge/bridge/telegram.(*Btelegram).Connect
        /go/src/github.com/42wim/matterbridge/bridge/telegram/telegram.go:46 +0x376

To Reproduce
I don't know how to reproduce it. It happens once in a week.
Environment (please complete the following information):

Linux
version: 1.15.0 f06e9b5

Should be fixed in #858
You can try dev binaries with this PR in on https://bintray.com/42wim/nightly/Matterbridge/v1.15.0-11-g4762597#files


OS have added 3 new columns to AddressBase Basic - this breaks the import

PostgreSQL's \COPY command requires every column in the CSV to be defined in the database, and it crashes when there's a mismatch.
So when OS add columns to AddressBase, we need to update the tmp import table definition, or the import will fail

see https://www.ordnancesurvey.co.uk/docs/product-schemas/addressbase-header.csv and https://www.ordnancesurvey.co.uk/business-and-government/help-and-support/products/addressbase.html for details


feat: add friends dashboard

This pull request introduces friends dashboard with responsive design
Commit: b69ba9be4427a6be6ce900e16d180f3b3926e6a6
Additionally, here is a screenshot of the layout with the dashboard:

Great work Moaz.

Change this:

To this:

Direct messgaes tab needs to have an active state:

Like this:

Same with servers tabs

Show server name when hovered like this:

When direct messages tab is clicked it should redirect u to /app/channels/me.

Try to align these lines:


Trying to install either eslint or jshint and none of them will install.

VSCode Version: Code 1.12.1 (f6868fce3eeb16663840eb82123369dec6077a9b, 2017-05-04T21:18:32.269Z)
OS Version: Darwin x64 15.6.0
Extensions:

Extension
Author
Version

EditorConfig
EditorConfig
0.9.3

HTMLHint
mkaufman
0.3.3

atom-keybindings
ms-vscode
2.0.1

jscs
ms-vscode
0.1.9

debugger-for-chrome
msjsdiag
3.1.1

better-merge
pprice
0.7.0

vscode-icons
robertohuertasm
7.7.0

vscode-spotify
shyykoserhiy
1.1.0

gitblame
waderyan
1.8.1

Material-theme
zhuangtongfa
2.7.4

Steps to Reproduce:

Find Extension
Click Install
The Install button grays out and says Installing for a quick second and returns to Install.
Keep repeating and same thing.

@moisesrodriguez pls see #26459 for a work around.
@joao we are getting more reports from users that fail to update extensions with a running language server and incomplete cleaned up extension (see #26459). Has anything changed in this area?

@egamma that worked, thanks!

@egamma Not that I am aware of. cc @sandy081

Me neither

Here is another report https://github.com/Microsoft/vscode-tslint/issues/210

More reports... #26875

Another instance https://github.com/Microsoft/vscode-tslint/issues/214
Reopening the issue

@fangpenlin
Do you see an exception in the Development Tools console (Help>Toggle Developer Tools)?
Do you have auto update of extensions enabled?
Does it help when you delete the extension manually from disk?
The extension is located in the ~/.vscode-insiders/extensions/eg2.tslint-0.15.0

@egamma yeah, it works after I rm -rf that folder. Thank you so much.

ea05102c9ec0fdcb0a6374476c1d5143eb17a1ed should have fixed this

That change would have been in 1.13 though? What's new in 1.14?


Document how to override memory allocation for each application

As a developer, I'd like to document how to override memory allocation for each application.
Acceptance:
Document the memory allocation override in the context of an application within the stream. Specifically, explain how to use spring.cloud.deployer.kubernetes.environmentVariables and JAVA_OPTIONS= as the optional override.

I don't know what section this should go in. It's not a "Getting Started" style topic and doesn't fit in the "Server Configuration" section since it is an app deployment issue.

I think I'll add an "Application Configuration" section in the "Getting Started" chapter


Add new testcase to cover all the cases in persist init command

Description:
This is related to issues #3783 and #3811
We need to figure out all the scenarios for the init command covering all the edge cases based on the V2 design and write most test cases for them.
Let's come up with a list of the scenarios we need to cover and review them and then add test cases for each of them

Following is the list of the scenario that should be covered in init command

[ ] Command is used outside of a ballerina project.
[ ] Command is used inside a proper ballerina project(Without entities).
[ ] Command is used inside a ballerina project with syntax/semantic errors.
[ ] Command is used inside an already initialised project.
[ ] Command is used inside a project with entities.
[ ] Command is used inside a project with entities and clients.
[ ] Command is used inside a project with entities and different clients.
[ ] Command is used inside a project with entities defined in several places

This task is addressed in https://github.com/ballerina-platform/persist-tools/pull/82. hence closing the issue


Rework circuit downloader

We are moving the downloading and unpacking of the circuit files outside of codex into a separate tool. Codex will prompt the user to run the tool when necessary.

This passes marketplace dist-test.

Downloader is now reworked to use tar.gz instead of zip.
Using status-im/zippy library: https://github.com/status-im/nim-zippy
New circuit assets have been generated: https://github.com/codex-storage/codex-storage-proofs-circuits/actions/runs/10941033813
Codex Contracts repository PR for updated hash: https://github.com/codex-storage/codex-contracts-eth/pull/178
TODO:

Once contracts update is merged, pull new master into nim-codex
Redeploy marketplace for testnet with updated contract
Adjust testnet scripts/docs with new marketplace address


Enhancement: Add hover effect to the main heading for a more dynamic appearance

Description:
Hello,
I noticed that while the e-nyanjyoti website is well-designed, the main heading looks a bit static. I believe adding a hover effect to the main heading would make it more dynamic and visually engaging, helping to create a stronger impression for users.
I’ve attached a screenshot of the current design for reference and would be happy to work on implementing the hover effect to enhance the heading’s appearance.
Looking forward to your feedback!
Screenshot:
Please find the attached screenshot of the main heading section.

Best regards,
Sanchit

I generated a pr (https://github.com/Vin205/Enyanjyoti/pull/395). I couldn't link this issue to the pr coz there was some bug in the Git. Hope you'll consider it. Thanks @skmirajulislam


Install and Tutorial Documentation

Coverage remained the same at 63.989% when pulling 90b3fbe2046e8ed25664481f5373ee3c7e0df085 on jeldred:documentation_update into 60f6a44951ba7d3bace8792444ae837d52ebf658 on hall-lab:master.

merging.   additional changes will happen in a new branch!


fix(wasm): do not call attach() on re-entrancy

Summary
kong.runloop.wasm.attach() may be called more than once when filters utilize the dispatch_http_call proxy-wasm SDK function. Previously this was assumed to be false, which can yield errors like this one:

2024-01-22 16:39:16 2024/01/22 22:39:16 [crit] 2464#0: *340 [lua] wasm.lua:790: attach(): failed attaching service(6bc44ccb-30c9-5f3d-acfa-017fa1b2ef82) filter chain to request: previous plan already attached, client: <IP_ADDRESS>, server: kong, request: "GET /anything HTTP/1.1", host: "localhost:8000", request_id: "112ec236dcf487391a579a6f6f63fc0b"

This adds a ngx.ctx check and avoids calling proxy_wasm.attach() in this case.
Unfortunately it is incredibly non-trivial to add a test case for this at the moment, but the behavior change/correctness has been validated by hand.
Checklist

[ ] The Pull Request has tests
[x] A changelog file has been created under changelog/unreleased/kong or skip-changelog label added on PR if changelog is unnecessary. README.md
[x] ~There is a user-facing docs PR~

Issue reference
KAG-3603

Calling proxy_wasm.start() several times probably work since the underlying implementation uses ngx_wasm_ops and the filter chain is phase-aware; when invoked a second time, the filter chain loop will not be entered to ngx_http_wasm_ffi_start sort of becomes a NOP. This is the expected behavior since ngx_wasm_ops_resume is re-entrant. At least this would be my guess as to why it works.


Fix panic /pipelines/

Description
This fixes the eventPool.dump panic.
Fixes #96

Is it really necessary to have more than one panic handler function?


Add deno.jsonc file and use --config flag instead of --import-map

Summary
This is the first change to offer a bit more flexibility around specifying import maps, and adopt some of the upcoming conventions of deno supporting a config file if present.
Currently to support an import-map we have to add the import-map flag to all deno commands in our hooks. This means we also require the specified import_map.json file to be present, otherwise deno will throw an error.
By adding a deno.jsonc file that specifies the importMap, it will allow developers to optionally use one, or not if they prefer not to, and not put us in a spot where we have to have that file present for things to work properly. Currently, it does mean we have to set the --config=deno.json flag, which means that deno.jsonc file has to be present, but in an upcoming release of deno, it should pick up that file if present without any flag needed, so this sets us up for that.

Neato!


[HybridApp] Align native dependencies between Old and New App

Problem
We have iOS cocoapod and Android gradle dependencies that do not match up between the old and new app, we need to align them to make sure we can combine all the native code.
Solution
Align the dependency versions between:

Airship
Google sign in (this uses two different dependencies)

cc @WoLewicki

🚀

Pr with the changes: https://github.com/Expensify/Mobile-Expensify/pull/12439


Develop routes list

Trying to create merge RouteList brach in the main

Trying to create merge RouteList brach in the main Closes №8


Tooltip titles have the wrong value when datapoints are a subset of the labels array

Expected Behavior
Title of the first orange datapoints tooltip should be '3' (see codepen below)
Title of the first grey datapoints tooltip should be '2'
Current Behavior
Title of the first orange datapoints tooltip is '1'
Title of the first grey datapoints tooltip is '1'
Possible Solution
Besides having this fixed (in case this actually is unexpected behaviour), I would appreciate if instead of just having {{ x: number, y: number }} for each datapoint also having the option to add labels {{ x: number, y: number, xLabel: string, yLabel: string }} which will be used in the Tooltip. Might be easier to use than the callbacks. Or #6009
For a workaround, you can try to insert this in your options object:
tooltips: {
    callbacks: {
        title: (datapoints, { datasets }) => {
            const { datasetIndex, index } = datapoints[0]
            return datasets[datasetIndex].data[index].x
        }
    }
},

Steps to Reproduce (for bugs)
https://codepen.io/sezanzeb/pen/pozBgGB
Context
displaying outliers next inside a linechart which is the average of multiple datapoints
Environment

Chart.js version: "chart.js": "2.8.0" and whatever codepen uses
Browser name and version: Mozilla Firefox 68.0

This has been fixed by #6576
Pen using master


Get-EventLog missing

PS7
Get-EventLog -List
Get-EventLog: The term 'Get-EventLog' is not recognized as the name of a cmdlet, function, script file, or operable program.
Check the spelling of the name, or if a path was included, verify that the path is correct and try again.

get-winevent -listlog *


Mistake

wat

@MathieuMamath details?  I am closing for now

@desmondmorris @Roach Hello, sorry I opened this issue 1 month ago but I didn't find a way to close/delete it.


Could SWADE Tools Work with Token Action HUD?

I'm not sure whether this is a bug or a feature request. I just started using SWADE and I'm not sure that the HUD is intended to support the SWADE Tools module.
When I use the SWADE Tools module their dialogs aren't invoked when I choose a weapon in the HUD. With SWADE tools clicking a weapon in the character sheet brings up a concise dialog and more user friendly cards in chat, handling a lot of the arithmetic for dishing out damage.
The Tools make it much simpler to run combat. The downside is that you have to have the character sheets open, and the HUD is much nicer to work with.
It would be nice if clicking a weapon in the Token Action HUD invoked the SWADE Tools in the same fashion as clicking in the character sheet, rather than using the basic SWADE functionality.
I'd like it to work the same way as Midi QOL works in the DnD system: you get the same thing from the Token Action HUD that you get from clicking an item in the character sheet.
I'm using SWADE 4.2.0, Foundry 12.331, SWADE tools 1.16.8 and Token Action HUD 2.0.10 and SWADE TAHUD 2.0.3.

it is possible to use the HUD with swade tools. Please check the configuration for the HUD.

Oh, this is great! I completely missed that configuration setting. Thanks!


Implement a layout system

Currently, the layout of views is at the mercy of Gtk, which is not too great. Gtk supports styling through CSS, so the layout system would most likely just consist of generating css for each component according to certain layout rules. But there may be a better approach that I haven't thought of.
The SwiftGtk package currently doesn't support CSS styling which means that the styling feature request for SwiftGtk would have to be completed first.

We now have some limited layout:

Alignment through Spacer:

/// horizontal alignment
HStack {
  Spacer()
  Content()
}

/// vertical alignment
VStack {
  Spacer()
  Content()
}

Forced minimum size using .frame(minWidth:maxWidth:)

Content().frame(minWidth: 200)

Padding

Content().padding(10)

Maybe we should define which layout features we would like next

That's almost all of the main ones done, I can't really think of any off the top of my head other than navigation layouts, but that's also pretty good now. I feel like it's almost time to start trying to build some more complicated apps and just see what's missing in practice

The new layout system fixes the existing implementations of layout primitives and expands them to be fully featured. For example, the frame modifier now supports setting minimum, ideal, and maximum values for both width and height. And spacers now expand correctly no matter the backend cause they're implemented completely within SwiftCrossUI itself.
We've also had the navigation layouts that I mentioned for a while.
I believe that the new layout system is at a point now where any additional layout feature requests can get their own issues.


Update RuboCop RSpec to 1.32.0

Hi, is there any reason for the lock at 1.29.0?

Before submitting the PR make sure the following are checked:

[x] Wrote good commit messages.
[ ] Commit message starts with [Fix #issue-number] (if the related issue exists).
[x] Feature branch is up-to-date with master (if not - rebase it).
[x] Squashed related commits together.
[ ] Added tests.
[ ] Added an entry to the Changelog if the new code introduces user-observable changes. See changelog entry format.
[x] The PR relates to only one subject with a clear title
and description in grammatically correct, complete sentences.
[x] Run bundle exec rake default. It executes all tests and RuboCop for itself, and generates the documentation.

Simply no one bothered to test a newer version. Usually the updates require making some changes to the specs as well, but this time we were lucky.


Add support for python 3.9

3.9.0 final is expected on Monday, 2020-10-05, see https://www.python.org/dev/peps/pep-0596/#schedule

Codecov Report

Merging #2159 into develop will increase coverage by 0.40%.
The diff coverage is n/a.

@@             Coverage Diff             @@
##           develop    #2159      +/-   ##
===========================================
+ Coverage    97.88%   98.29%   +0.40%
===========================================
  Files           58       58
  Lines        10556    10556
===========================================
+ Hits         10333    10376      +43
+ Misses         223      180      -43

Impacted Files
Coverage Δ

botocore/credentials.py
98.64% <0.00%> (+0.10%)
:arrow_up:

botocore/awsrequest.py
97.56% <0.00%> (+0.34%)
:arrow_up:

botocore/hooks.py
95.98% <0.00%> (+0.80%)
:arrow_up:

botocore/compat.py
94.31% <0.00%> (+22.15%)
:arrow_up:

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update 04524f6...12ec77c. Read the comment docs.

Hey @michael-k, apologies on the delay here. We've finished the required changes we needed to merge this today but the branch is significantly out of date. We've just merged #2498 which adds 3.9 and 3.10 support, so I'll resolve this as completed. Thanks for the contribution!


Order of e2e tests execution spread across multiple *.go files

What do you want to see?
Hello everyone,
(this is not
I would like to split all e2e tests across different *_test.go files for maintenance purposes.
How do I enforce specific order of all Test* functions from different *_test.go files ? Is there any way I can do that ?
Extra Labels
No response

@przemolb I don't know of a way to force execution order of test functions spread across multiple files.

You can try to name your test functions with numerical suffix (i.e. TestMyFunc01(..), TestMyFunc02(..), etc).
You can write a test driver function that calls your own tests in order

func TestDriver(t *testing.T){
    myTestA(t)
    myTestB(t)
 ...
}
func myTestA(t *testing.T)
func myTestB(t *testing.T)

Hope that helps.


Infinite loop issue

Not sure what changed with Runelite, but recently something has made this plugin start calling drawXpLabel way too often.
https://github.com/rsn-INVU/pre-eoc-xp-drops/blob/master/src/main/java/com/preeocxp/PreEocXpOverlay.java#L284
You can catch this by running Runelite in debug mode with the plugin enabled. I noticed that lines like the one below were being spammed about 50-100 times per second in my debug log:
2022-08-02 19:52:54 [Client] DEBUG client-patch - getSkillExperience called for OVERALL!
This is causing a performance impact to the client.

I will take a look at this and see if I can replicate and find the problem! Thanks for writing a report!

I think what's happening is the drawXpLabel is getting called every game frame rendered. I believe Runelite lets you use an event subscription to only redraw when the player gains XP.
Example: https://github.com/runelite/runelite/blob/master/runelite-client/src/main/java/net/runelite/client/plugins/xptracker/XpTrackerPlugin.java#L381

You’re right. I’m using event subscriptions for most everything else, so I’ll see whether there was a specific reason it didn’t work here, or whether it was just an oversight.
Good catch 👍

I think what's happening is the drawXpLabel is getting called every game frame rendered. I believe Runelite lets you use an event subscription to only redraw when the player gains XP.
Example: https://github.com/runelite/runelite/blob/master/runelite-client/src/main/java/net/runelite/client/plugins/xptracker/XpTrackerPlugin.java#L381

Alright so I did some work on this.
What I've done is to only fetch the xp of the displayed skill when Xp is gained, or when the Config is updated (technically this could be made to only fetch when the displayed skill of choice is updated, but you'd have to be spamming the config settings quite hard to ever be able to tell a difference 😂)
Drawing has to be done for every frame, because it needs to be visible - but also for the xp drops themselves to function properly - fetching the xp from the client 50+ times a second is, however, unnecessary.
Does it sound like this addresses your problem? Let me know and I'll publish!

Sounds good to me. I'm assuming only fetching for your displayed skill also includes "Overall"?

Overall is fetched once per game tick, indiscriminately. I believe there were issues with instances and quick hopping otherwise, causing it not to load properly, or to result in xp drops every time an instance was entered/left.

Sounds good, thanks for the updates!


EventFlowGuide

I started a set of simple guides to using EventFlow. Every guide uses Nocco to generate line comments and guides to explain the code and use of EventFlow.
Your input would be appreciated.
See https://github.com/JC008/EventFlowGuide

@JC008 I had a look, but some code seems to be missing. A clean checkout doesn't build.

Fixed it.


Pagination is broken after the first page

The numbers to individual pages disappear after the first page.

Closed via 69dcfb6598cdba8a1cf50494adaf3e96c73cfbf9


add xmldoc about Seq.rev consume input sequence

ref #902
phrase is ok?

used @dsyme phrase

others function who consume the whole input? /cc @vasily-kirichenko @forki @kolektiv

@7sharp9 identified: sort, foldBack, reduceBack, tryFindBack, findBack, scanBack, tryFindIndexBack, findIndexBack, sortWith, permute, mapFold, mapFoldBack, splitinto

*Back it's ok
*reduce, *fold, sort, scan ok
but splitInto too? why?

added the other functions, thx @forki and @7sharp9 .
@dsyme pharse are ok?

This looks fine.  Since it's just XML documentation I will merge it.


How to use this example using Canvas as a platform?

I've been reading about the specification and still trying to figure things out.
But for now, at least, the tool is working using my own imsglobal platform
https://lti-ri.imsglobal.org/platforms/395/
But now, do you know how to setup this in a different platform? I'm using Canvas.
When I launch the tool, it goes to game_example/login.php using this data
https://lti-ri.imsglobal.org/platforms/395/authorizations/new?
scope=openid
response_type=id_token
response_mode=form_post
prompt=none
client_id=Cloud
redirect_uri=http%3A%2F%2Flocalhost%3A9001%2Fgame_example%2Fgame.php
state=state-5d541bcf323c28_11275570
nonce=nonce-d541bcf323ee3.44777709
login_hint=374a6c8841a87aa700dcf83b144106fc4e2c86aa
lti_message_hint=eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJ2ZXJpZmllciI6IjVkMGY1NWQwZDZhODQyY2E5NDIwMmIyZjRjZTViZjczODI2MTBhYmUyYWQ0ZjQ0NDk2OTZmYmI1YjEyYmI5YTRjNjQ0ZWQ4ZGU1YzZmMzQ0MTM3ODZkZjU0ZDJjYzNlMjE5ZDAzMzFmNzdiM2Y5N2E5ZDJiYzczOTM3MWQ3Y2Q3IiwiY2FudmFzX2RvbWFpbiI6InZpZGdyaWQuaW5zdHJ1Y3R1cmUuY29tIiwiY29udGV4dF90eXBlIjoiQ291cnNlIiwiY29udGV4dF9pZCI6MTQ5NzEwMDAwMDAwMDAwMDM5LCJleHAiOjE1NjU3OTM0MTh9.su5kb18R_qv74nkatejsbRVlF1hkE-KH4E5U5Ewdbek
But
https://lti-ri.imsglobal.org/platforms/395/authorizations/new
Fails with a 500 error.
This is what I have in my local.json
"https://canvas.instructure.com": {
    "client_id": "Cloud",
    "auth_login_url": "https://lti-ri.imsglobal.org/platforms/395/authorizations/new",
    "auth_token_url": "https://lti-ri.imsglobal.org/platforms/395/access_tokens",
    "key_set_url": "https://lti-ri.imsglobal.org/platforms/395/platform_keys/389.json",
    "private_key_file": "/private.key",
    "deployment": {
        "1": "1"
    }
},

I'm PRETTY sure I'm missing something, but I'm at my wits end by now.
Thanks.

Found the solution yesterday
in my local.json
"https://canvas.instructure.com": {
"client_id": "//Api key id key from canvas
"auth_login_url": //Canvas auth login url,
"auth_token_url": //Still trying to figure out this one
"key_set_url": //Canvas url to public keys
"private_key_file": //Tool private key
"deployment": {
"deplymentIdFromCanvas": "deplymentIdFromCanvas" //This comes from canvas too.
}
},
Questions:

Everything except the private_key_file comes from the Platform (In this case Canvas)??
How do I get the deploymentId? I was able to get it by reading this variable
$this->jwt['body']['https://purl.imsglobal.org/spec/lti/claim/deployment_id']
and applying the value to local.json.
But do I need to do that everytime?

Now for the fun part, deep linking :/

Hey @mwleinad,
Canvas have some unofficial documentation on 1.3 here https://docs.google.com/document/d/1g2ODyuXvYGYfpZHwxBOcjqZOJwjme_85t72F3jbWb4E/edit i don't think there are any official docs for it yet

Yeah, it was very hard to figure out, but I finally was able to 😄
I still don't know how I'm supposed to get the deployment id though.
Maybe you can point me in the right direction with something else?
How can I get the email for the person that launched the tool?
Thanks!

You can have a look in the id_token JWT that is passed in the launch, the deployment_id will be in there under the https://purl.imsglobal.org/spec/lti/claim/deployment_id claim
You can get the email address $launch->get_launch_data()['email'] which gets the email claim in the id_token

What if the launch data doesn't not contain the email?
Array
(
    [https://purl.imsglobal.org/spec/lti/claim/message_type] => LtiDeepLinkingRequest
    [https://purl.imsglobal.org/spec/lti/claim/version] => 1.3.0
    [https://purl.imsglobal.org/spec/lti-dl/claim/deep_linking_settings] => Array
        (
            [deep_link_return_url] => https://vidgrid.instructure.com/courses/39/deep_linking_response?modal=true
            [accept_types] => Array
                (
                    [0] => link
                    [1] => file
                    [2] => html
                    [3] => ltiResourceLink
                    [4] => image
                )

            [accept_presentation_document_targets] => Array
                (
                    [0] => embed
                    [1] => iframe
                    [2] => window
                )

            [accept_media_types] => image/*,text/html,application/vnd.ims.lti.v1.ltilink,*/*
            [accept_multiple] =>
            [auto_create] =>
            [validation_context] =>
            [errors] => Array
                (
                    [errors] => Array
                        (
                        )

                )

        )

    [aud] =><PHONE_NUMBER>00000004
    [azp] =><PHONE_NUMBER>00000004
    [https://purl.imsglobal.org/spec/lti/claim/deployment_id] => 77:ef42577560dbb9f4932b829b1ebcaab31428040b
    [exp] =><PHONE_NUMBER>
    [iat] =><PHONE_NUMBER>
    [iss] => https://canvas.instructure.com
    [nonce] => nonce-5d5ab1e1340402.37906781
    [sub] => bf1e68b3-5b2c-4f7b-9be6-5489bf890aaf
    [https://purl.imsglobal.org/spec/lti/claim/target_link_uri] => http://localhost:9001/game_example/game.php
    [https://purl.imsglobal.org/spec/lti/claim/context] => Array
        (
            [id] => ef42577560dbb9f4932b829b1ebcaab31428040b
            [label] => CloudVidgrid
            [title] => CloudVidgrid
            [type] => Array
                (
                    [0] => http://purl.imsglobal.org/vocab/lis/v2/course#CourseOffering
                )

            [validation_context] =>
            [errors] => Array
                (
                    [errors] => Array
                        (
                        )

                )

        )

    [https://purl.imsglobal.org/spec/lti/claim/tool_platform] => Array
        (
            [guid] => NT9pgxz1jHdyoPOyqagEKwoPZkQAl87ZbN5nzCqU:canvas-lms
            [name] => VidGrid
            [version] => cloud
            [product_family_code] => canvas
            [validation_context] =>
            [errors] => Array
                (
                    [errors] => Array
                        (
                        )

                )

        )

    [https://purl.imsglobal.org/spec/lti/claim/launch_presentation] => Array
        (
            [document_target] => iframe
            [height] => 400
            [width] => 800
            [return_url] => https://vidgrid.instructure.com/courses/39/external_content/success/external_tool_dialog
            [locale] => en
            [validation_context] =>
            [errors] => Array
                (
                    [errors] => Array
                        (
                        )

                )

        )

    [locale] => en
    [https://purl.imsglobal.org/spec/lti/claim/roles] => Array
        (
            [0] => http://purl.imsglobal.org/vocab/lis/v2/institution/person#Administrator
            [1] => http://purl.imsglobal.org/vocab/lis/v2/institution/person#Instructor
            [2] => http://purl.imsglobal.org/vocab/lis/v2/membership#Instructor
            [3] => http://purl.imsglobal.org/vocab/lis/v2/system/person#User
        )

    [https://purl.imsglobal.org/spec/lti/claim/custom] => Array
        (
        )

    [errors] => Array
        (
            [errors] => Array
                (
                )

        )

)

I'm taking a look at Canvas settings but I can't find one to "send the email" like in lti 1.1. No luck so far

Email is not a required field, so the platform does not have to send it. I believe in Canvas when you create your tool credentials there is an option to set the privacy level that determines if emails are sent

Everything except the private_key_file comes from the Platform (In this case Canvas)??

Getting following error not sure what value and where to set private_key_file??
{"errors":{"jwt":[{"attribute":"jwt","type":"JWT verification failure","message":"JWT verification failure"}]}}

I still don't know how I'm supposed to get the deployment id though.

Deployment Id will get from External Apps. for ease of reference check screenshot below.

Did you determine what the auth_token_url should be? I found some Canvas oAuth 2.0 docs (https://canvas.instructure.com/doc/api/file.oauth_endpoints.html) that said it would be /login/oauth2/token though I get a page not found with my own open source Canvas set up. Plus it also wants a "client_secret", but does this library support that?

Yeah, it was very hard to figure out, but I finally was able to
I still don't know how I'm supposed to get the deployment id though.
Maybe you can point me in the right direction with something else?
How can I get the email for the person that launched the tool?
Thanks!

Deeplinking service https://xxxxx.instructure.com/courses/175/deep_linking_response?modal=true giving 500.  Is there anything which I'm missing?


Implement support for VP in open/undefined STL subtitles

Currently, STL reader ignores VP open/undefined STL subtitles, resulting in all subtitles being positioned at the bottom of the root container.
One possible approach would be to trust the MNR field by default, but let the user override it if needs be.

@xchange11 Any opinion?

@palemieux As per mapping guideline EBU Tech 3360, Chapter § 3.5.1 the interpretation of the MNR and VP  fields for open/undefined STL files depends on the processing context. One approach could be to handle it similar to the TCP field:

add a new parameter
if the DSC is set to another value than 1 or 2:

ignore MNR and VP and bottom align the subtitle by default
calculate the vertical position based on MNR and VP if the new parameter is set to MNR
calculate the new position based on user-defined MNR value if the new parameter is set to a numeric value