Add testing agains each feat PT version

Before submitting

[ ] Was this discussed/approved via a Github issue? (no need for typos and docs improvements)
[ ] Did you read the contributor guideline, Pull Request section?
[ ] Did you make sure to update the docs?
[ ] Did you write any new necessary tests?

What does this PR do?
Fixes #125
PR review
Anyone in the community is free to review the PR once the tests have passed.
If we didn't discuss your PR in Github issues there's a high chance it will not be merged.
Did you have fun?
Make sure you had fun coding 🙃

Hello @Borda! Thanks for updating this PR.

In the file tests/classification/test_roc.py:

Line 94:6: E121 continuation line under-indented for hanging indent


I can't start working with jellyfin

Describe the bug
After upgrading to version 0.8.5 and using the API to work with jelly fun, I can't get playback data.

multi-scrobbler: [e.g. 0.8.5 on docker]
jellyfin [e.g. 10.9.11]

[2024-10-05 19:43:00.294 +0300] WARN   : [App] [Sources] [Jellyfin - unnamed] Poll retries (5) equal to max poll retries (5), stopping polling!
[2024-10-05 19:43:00.293 +0300] ERROR  : [App] [Sources] [Jellyfin - unnamed] Cannot read properties of undefined (reading 'map')
TypeError: Cannot read properties of undefined (reading 'map')
at Function.formatPlayObj (CWD/src/backend/sources/JellyfinApiSource.ts:244:44)
at JellyfinApiSource.sessionToPlayerState (CWD/src/backend/sources/JellyfinApiSource.ts:316:51)
at  (CWD/src/backend/sources/JellyfinApiSource.ts:281:101)
at Array.map ()
at JellyfinApiSource.getRecentlyPlayed (CWD/src/backend/sources/JellyfinApiSource.ts:281:87)
at process.processTicksAndRejections (node:internal/process/task_queues:95:5)
at JellyfinApiSource.doPolling (CWD/src/backend/sources/AbstractSource.ts:389:34)
at JellyfinApiSource.startPolling (CWD/src/backend/sources/AbstractSource.ts:324:27)
at JellyfinApiSource.poll (CWD/src/backend/sources/AbstractSource.ts:292:9)
[2024-10-05 19:43:00.292 +0300] ERROR  : [App] [Sources] [Jellyfin - unnamed] Error occurred while polling
[2024-10-05 19:42:57.467 +0300] ERROR  : [App] [Sources] [Jellyfin - unnamed] Cannot read properties of undefined (reading 'map')
TypeError: Cannot read properties of undefined (reading 'map')
at Function.formatPlayObj (CWD/src/backend/sources/JellyfinApiSource.ts:244:44)
at JellyfinApiSource.sessionToPlayerState (CWD/src/backend/sources/JellyfinApiSource.ts:316:51)
at  (CWD/src/backend/sources/JellyfinApiSource.ts:281:101)
at Array.map ()
at JellyfinApiSource.getRecentlyPlayed (CWD/src/backend/sources/JellyfinApiSource.ts:281:87)
at process.processTicksAndRejections (node:internal/process/task_queues:95:5)
at JellyfinApiSource.doPolling (CWD/src/backend/sources/AbstractSource.ts:389:34)
at JellyfinApiSource.startPolling (CWD/src/backend/sources/AbstractSource.ts:324:27)
at JellyfinApiSource.poll (CWD/src/backend/sources/AbstractSource.ts:292:9)

Hi @Druidblack , please try using this docker image foxxmd/multi-scrobbler:pr-205 and let me know if this fixes your issue. Thanks

[2024-10-10 21:47:04.426 +0300] WARN   : [App] [Sources] [Jellyfin - unnamed] Poll retries (5) equal to max poll retries (5), stopping polling! [2024-10-10 21:47:04.424 +0300] ERROR  : [App] [Sources] [Jellyfin - unnamed] Cannot destructure property 'data' of '{}' as it is undefined. TypeError: Cannot destructure property 'data' of '{}' as it is undefined.     at buildTrackString (CWD/src/core/StringUtils.ts:62:15)     at JellyfinApiSource.getRecentlyPlayed (CWD/src/backend/sources/JellyfinApiSource.ts:289:76)     at process.processTicksAndRejections (node:internal/process/task_queues:95:5)     at JellyfinApiSource.doPolling (CWD/src/backend/sources/AbstractSource.ts:389:34)     at JellyfinApiSource.startPolling (CWD/src/backend/sources/AbstractSource.ts:324:27)     at JellyfinApiSource.poll (CWD/src/backend/sources/AbstractSource.ts:292:9) [2024-10-10 21:47:04.423 +0300] ERROR  : [App] [Sources] [Jellyfin - unnamed] Error occurred while polling [2024-10-10 21:47:04.422 +0300] WARN   : [App] [Sources] [Jellyfin - unnamed] Player State for  ->  - Жизнь среди заразы <-- is being dropped because 'usersAllow does not include user iliy [2024-10-10 21:46:58.663 +0300] ERROR  : [App] [Sources] [Jellyfin - unnamed] Cannot destructure property 'data' of '{}' as it is undefined. TypeError: Cannot destructure property 'data' of '{}' as it is undefined.     at buildTrackString (CWD/src/core/StringUtils.ts:62:15)     at JellyfinApiSource.getRecentlyPlayed (CWD/src/backend/sources/JellyfinApiSource.ts:289:76)     at process.processTicksAndRejections (node:internal/process/task_queues:95:5)     at JellyfinApiSource.doPolling (CWD/src/backend/sources/AbstractSource.ts:389:34)     at JellyfinApiSource.startPolling (CWD/src/backend/sources/AbstractSource.ts:324:27)     at JellyfinApiSource.poll (CWD/src/backend/sources/AbstractSource.ts:292:9) [2024-10-10 21:46:58.662 +0300] ERROR  : [App] [Sources] [Jellyfin - unnamed] Error occurred while polling [2024-10-10 21:46:58.661 +0300] WARN   : [App] [Sources] [Jellyfin - unnamed] Player State for  ->  - Жизнь среди заразы <-- is being dropped because 'usersAllow does not include user iliy [2024-10-10 21:46:50.097 +0300] ERROR  : [App] [Sources] [Jellyfin - unnamed] Cannot destructure property 'data' of '{}' as it is undefined. TypeError: Cannot destructure property 'data' of '{}' as it is undefined.     at buildTrackString (CWD/src/core/StringUtils.ts:62:15)     at JellyfinApiSource.getRecentlyPlayed (CWD/src/backend/sources/JellyfinApiSource.ts:289:76)     at process.processTicksAndRejections (node:internal/process/task_queues:95:5)     at JellyfinApiSource.doPolling (CWD/src/backend/sources/AbstractSource.ts:389:34)     at JellyfinApiSource.startPolling (CWD/src/backend/sources/AbstractSource.ts:324:27)     at JellyfinApiSource.poll (CWD/src/backend/sources/AbstractSource.ts:292:9) [2024-10-10 21:46:50.097 +0300] ERROR  : [App] [Sources] [Jellyfin - unnamed] Error occurred while polling [2024-10-10 21:46:50.094 +0300] WARN   : [App] [Sources] [Jellyfin - unnamed] Player State for  ->  - Жизнь среди заразы <-- is being dropped because 'usersAllow does not include user iliy [2024-10-10 21:46:49.412 +0300] ERROR  : [App] [Sources] [Jellyfin - unnamed] Cannot destructure property 'data' of '{}' as it is undefined. TypeError: Cannot destructure property 'data' of '{}' as it is undefined.     at buildTrackString (CWD/src/core/StringUtils.ts:62:15)     at JellyfinApiSource.getRecentlyPlayed (CWD/src/backend/sources/JellyfinApiSource.ts:289:76)     at process.processTicksAndRejections (node:internal/process/task_queues:95:5)     at JellyfinApiSource.doPolling (CWD/src/backend/sources/AbstractSource.ts:389:34)     at JellyfinApiSource.startPolling (CWD/src/backend/sources/AbstractSource.ts:324:27)     at JellyfinApiSource.poll (CWD/src/backend/sources/AbstractSource.ts:292:9) [2024-10-10 21:46:49.412 +0300] ERROR  : [App] [Sources] [Jellyfin - unnamed] Error occurred while polling [2024-10-10 21:46:49.411 +0300] WARN   : [App] [Sources] [Jellyfin - unnamed] Player State for  ->  - Жизнь среди заразы <-- is being dropped because 'usersAllow does not include user iliy [2024-10-10 21:46:41.400 +0300] ERROR  : [App] [Sources] [Jellyfin - unnamed] Cannot destructure property 'data' of '{}' as it is undefined. TypeError: Cannot destructure property 'data' of '{}' as it is undefined.     at buildTrackString (CWD/src/core/StringUtils.ts:62:15)     at JellyfinApiSource.getRecentlyPlayed (CWD/src/backend/sources/JellyfinApiSource.ts:289:76)     at process.processTicksAndRejections (node:internal/process/task_queues:95:5)     at JellyfinApiSource.doPolling (CWD/src/backend/sources/AbstractSource.ts:389:34)     at JellyfinApiSource.startPolling (CWD/src/backend/sources/AbstractSource.ts:324:27)     at JellyfinApiSource.poll (CWD/src/backend/sources/AbstractSource.ts:292:9) [2024-10-10 21:46:41.400 +0300] ERROR  : [App] [Sources] [Jellyfin - unnamed] Error occurred while polling [2024-10-10 21:46:41.399 +0300] WARN   : [App] [Sources] [Jellyfin - unnamed] Player State for  ->  - Жизнь среди заразы <-- is being dropped because 'usersAllow does not include user iliy [2024-10-10 21:46:38.390 +0300] ERROR  : [App] [Sources] [Jellyfin - unnamed] Cannot destructure property 'data' of '{}' as it is undefined. TypeError: Cannot destructure property 'data' of '{}' as it is undefined.     at buildTrackString (CWD/src/core/StringUtils.ts:62:15)     at JellyfinApiSource.getRecentlyPlayed (CWD/src/backend/sources/JellyfinApiSource.ts:289:76)     at process.processTicksAndRejections (node:internal/process/task_queues:95:5)     at JellyfinApiSource.doPolling (CWD/src/backend/sources/AbstractSource.ts:389:34)     at JellyfinApiSource.startPolling (CWD/src/backend/sources/AbstractSource.ts:324:27)     at JellyfinApiSource.poll (CWD/src/backend/sources/AbstractSource.ts:292:9) [2024-10-10 21:46:38.389 +0300] ERROR  : [App] [Sources] [Jellyfin - unnamed] Error occurred while polling [2024-10-10 21:46:38.388 +0300] WARN   : [App] [Sources] [Jellyfin - unnamed] Player State for  ->  - Жизнь среди заразы <-- is being dropped because 'usersAllow does not include user iliy [2024-10-10 21:46:21.212 +0300] WARN   : [App] [Sources] [Jellyfin - unnamed] Poll retries (5) equal to max poll retries (5), stopping polling! [2024-10-10 21:46:21.211 +0300] ERROR  : [App] [Sources] [Jellyfin - unnamed] Cannot destructure property 'data' of '{}' as it is undefined. TypeError: Cannot destructure property 'data' of '{}' as it is undefined.     at buildTrackString (CWD/src/core/StringUtils.ts:62:15)     at JellyfinApiSource.getRecentlyPlayed (CWD/src/backend/sources/JellyfinApiSource.ts:289:76)     at process.processTicksAndRejections (node:internal/process/task_queues:95:5)     at JellyfinApiSource.doPolling (CWD/src/backend/sources/AbstractSource.ts:389:34)     at JellyfinApiSource.startPolling (CWD/src/backend/sources/AbstractSource.ts:324:27)     at JellyfinApiSource.poll (CWD/src/backend/sources/AbstractSource.ts:292:9) [2024-10-10 21:46:21.211 +0300] ERROR  : [App] [Sources] [Jellyfin - unnamed] Error occurred while polling [2024-10-10 21:46:21.210 +0300] WARN   : [App] [Sources] [Jellyfin - unnamed] Player State for  ->  - Жизнь среди заразы <-- is being dropped because 'usersAllow does not include user iliy [2024-10-10 21:46:20.709 +0300] ERROR  : [App] [Sources] [Jellyfin - unnamed] Cannot destructure property 'data' of '{}' as it is undefined. TypeError: Cannot destructure property 'data' of '{}' as it is undefined.     at buildTrackString (CWD/src/core/StringUtils.ts:62:15)     at JellyfinApiSource.getRecentlyPlayed (CWD/src/backend/sources/JellyfinApiSource.ts:289:76)     at process.processTicksAndRejections (node:internal/process/task_queues:95:5)     at JellyfinApiSource.doPolling (CWD/src/backend/sources/AbstractSource.ts:389:34)     at JellyfinApiSource.startPolling (CWD/src/backend/sources/AbstractSource.ts:324:27)     at JellyfinApiSource.poll (CWD/src/backend/sources/AbstractSource.ts:292:9) [2024-10-10 21:46:20.709 +0300] ERROR  : [App] [Sources] [Jellyfin - unnamed] Error occurred while polling [2024-10-10 21:46:20.708 +0300] WARN   : [App] [Sources] [Jellyfin - unnamed] Player State for  ->  - Жизнь среди заразы <-- is being dropped because 'usersAllow does not include user iliy [2024-10-10 21:46:19.084 +0300] ERROR  : [App] [Sources] [Jellyfin - unnamed] Cannot destructure property 'data' of '{}' as it is undefined. TypeError: Cannot destructure property 'data' of '{}' as it is undefined.     at buildTrackString (CWD/src/core/StringUtils.ts:62:15)     at JellyfinApiSource.getRecentlyPlayed (CWD/src/backend/sources/JellyfinApiSource.ts:289:76)     at process.processTicksAndRejections (node:internal/process/task_queues:95:5)     at JellyfinApiSource.doPolling (CWD/src/backend/sources/AbstractSource.ts:389:34)     at JellyfinApiSource.startPolling (CWD/src/backend/sources/AbstractSource.ts:324:27)     at JellyfinApiSource.poll (CWD/src/backend/sources/AbstractSource.ts:292:9) [2024-10-10 21:46:19.083 +0300] ERROR  : [App] [Sources] [Jellyfin - unnamed] Error occurred while polling [2024-10-10 21:46:19.082 +0300] WARN   : [App] [Sources] [Jellyfin - unnamed] Player State for  ->  - Жизнь среди заразы <-- is being dropped because 'usersAllow does not include user iliy [2024-10-10 21:46:18.557 +0300] ERROR  : [App] [Sources] [Jellyfin - unnamed] Cannot destructure property 'data' of '{}' as it is undefined. TypeError: Cannot destructure property 'data' of '{}' as it is undefined.     at buildTrackString (CWD/src/core/StringUtils.ts:62:15)     at JellyfinApiSource.getRecentlyPlayed (CWD/src/backend/sources/JellyfinApiSource.ts:289:76)     at process.processTicksAndRejections (node:internal/process/task_queues:95:5)     at JellyfinApiSource.doPolling (CWD/src/backend/sources/AbstractSource.ts:389:34)     at JellyfinApiSource.startPolling (CWD/src/backend/sources/AbstractSource.ts:324:27)     at JellyfinApiSource.poll (CWD/src/backend/sources/AbstractSource.ts:292:9) [2024-10-10 21:46:18.557 +0300] ERROR  : [App] [Sources] [Jellyfin - unnamed] Error occurred while polling [2024-10-10 21:46:18.556 +0300] WARN   : [App] [Sources] [Jellyfin - unnamed] Player State for  ->  - Жизнь среди заразы <-- is being dropped because 'usersAllow does not include user iliy [2024-10-10 21:46:18.396 +0300] ERROR  : [App] [Sources] [Jellyfin - unnamed] Cannot destructure property 'data' of '{}' as it is undefined. TypeError: Cannot destructure property 'data' of '{}' as it is undefined.     at buildTrackString (CWD/src/core/StringUtils.ts:62:15)     at JellyfinApiSource.getRecentlyPlayed (CWD/src/backend/sources/JellyfinApiSource.ts:289:76)     at process.processTicksAndRejections (node:internal/process/task_queues:95:5)     at JellyfinApiSource.doPolling (CWD/src/backend/sources/AbstractSource.ts:389:34)     at JellyfinApiSource.startPolling (CWD/src/backend/sources/AbstractSource.ts:324:27)     at JellyfinApiSource.poll (CWD/src/backend/sources/AbstractSource.ts:292:9) [2024-10-10 21:46:18.395 +0300] ERROR  : [App] [Sources] [Jellyfin - unnamed] Error occurred while polling [2024-10-10 21:46:18.394 +0300] WARN   : [App] [Sources] [Jellyfin - unnamed] Player State for  ->  - Жизнь среди заразы <-- is being dropped because 'usersAllow does not include user iliy [2024-10-10 21:46:17.199 +0300] ERROR  : [App] [Sources] [Jellyfin - unnamed] Cannot destructure property 'data' of '{}' as it is undefined. TypeError: Cannot destructure property 'data' of '{}' as it is undefined.     at buildTrackString (CWD/src/core/StringUtils.ts:62:15)     at JellyfinApiSource.getRecentlyPlayed (CWD/src/backend/sources/JellyfinApiSource.ts:289:76)     at process.processTicksAndRejections (node:internal/process/task_queues:95:5)     at JellyfinApiSource.doPolling (CWD/src/backend/sources/AbstractSource.ts:389:34)     at JellyfinApiSource.startPolling (CWD/src/backend/sources/AbstractSource.ts:324:27)     at JellyfinApiSource.poll (CWD/src/backend/sources/AbstractSource.ts:292:9) [2024-10-10 21:46:17.198 +0300] ERROR  : [App] [Sources] [Jellyfin - unnamed] Error occurred while polling [2024-10-10 21:46:17.197 +0300] WARN   : [App] [Sources] [Jellyfin - unnamed] Player State for  ->  - Жизнь среди заразы <-- is being dropped because 'usersAllow does not include user iliy [2024-10-10 21:46:16.695 +0300] ERROR  : [App] [Sources] [Jellyfin - unnamed] Cannot destructure property 'data' of '{}' as it is undefined. TypeError: Cannot destructure property 'data' of '{}' as it is undefined.     at buildTrackString (CWD/src/core/StringUtils.ts:62:15)     at JellyfinApiSource.getRecentlyPlayed (CWD/src/backend/sources/JellyfinApiSource.ts:289:76)     at process.processTicksAndRejections (node:internal/process/task_queues:95:5)     at JellyfinApiSource.doPolling (CWD/src/backend/sources/AbstractSource.ts:389:34)     at JellyfinApiSource.startPolling (CWD/src/backend/sources/AbstractSource.ts:324:27)     at JellyfinApiSource.poll (CWD/src/backend/sources/AbstractSource.ts:292:9) [2024-10-10 21:46:16.694 +0300] ERROR  : [App] [Sources] [Jellyfin - unnamed] Error occurred while polling [2024-10-10 21:46:16.693 +0300] WARN   : [App] [Sources] [Jellyfin - unnamed] Player State for  ->  - Жизнь среди заразы <-- is being dropped because 'usersAllow does not include user iliy [2024-10-10 21:46:16.072 +0300] ERROR  : [App] [Sources] [Jellyfin - unnamed] Cannot destructure property 'data' of '{}' as it is undefined. TypeError: Cannot destructure property 'data' of '{}' as it is undefined.     at buildTrackString (CWD/src/core/StringUtils.ts:62:15)     at JellyfinApiSource.getRecentlyPlayed (CWD/src/backend/sources/JellyfinApiSource.ts:289:76)     at process.processTicksAndRejections (node:internal/process/task_queues:95:5)     at JellyfinApiSource.doPolling (CWD/src/backend/sources/AbstractSource.ts:389:34)     at JellyfinApiSource.startPolling (CWD/src/backend/sources/AbstractSource.ts:324:27)     at JellyfinApiSource.poll (CWD/src/backend/sources/AbstractSource.ts:292:9) [2024-10-10 21:46:16.072 +0300] ERROR  : [App] [Sources] [Jellyfin - unnamed] Error occurred while polling [2024-10-10 21:46:16.071 +0300] WARN   : [App] [Sources] [Jellyfin - unnamed] Player State for  ->  - Жизнь среди заразы <-- is being dropped because 'usersAllow does not include user iliy [2024-10-10 21:46:15.383 +0300] ERROR  : [App] [Sources] [Jellyfin - unnamed] Cannot destructure property 'data' of '{}' as it is undefined. TypeError: Cannot destructure property 'data' of '{}' as it is undefined.     at buildTrackString (CWD/src/core/StringUtils.ts:62:15)     at JellyfinApiSource.getRecentlyPlayed (CWD/src/backend/sources/JellyfinApiSource.ts:289:76)     at process.processTicksAndRejections (node:internal/process/task_queues:95:5)     at JellyfinApiSource.doPolling (CWD/src/backend/sources/AbstractSource.ts:389:34)     at JellyfinApiSource.startPolling (CWD/src/backend/sources/AbstractSource.ts:324:27)     at JellyfinApiSource.poll (CWD/src/backend/sources/AbstractSource.ts:292:9) [2024-10-10 21:46:15.382 +0300] ERROR  : [App] [Sources] [Jellyfin - unnamed] Error occurred while polling [2024-10-10 21:46:15.381 +0300] WARN   : [App] [Sources] [Jellyfin - unnamed] Player State for  ->  - Жизнь среди заразы <-- is being dropped because 'usersAllow does not include user iliy [2024-10-10 21:46:14.545 +0300] ERROR  : [App] [Sources] [Jellyfin - unnamed] Cannot destructure property 'data' of '{}' as it is undefined. TypeError: Cannot destructure property 'data' of '{}' as it is undefined.     at buildTrackString (CWD/src/core/StringUtils.ts:62:15)     at JellyfinApiSource.getRecentlyPlayed (CWD/src/backend/sources/JellyfinApiSource.ts:289:76)     at process.processTicksAndRejections (node:internal/process/task_queues:95:5)     at JellyfinApiSource.doPolling (CWD/src/backend/sources/AbstractSource.ts:389:34)     at JellyfinApiSource.startPolling (CWD/src/backend/sources/AbstractSource.ts:324:27)     at JellyfinApiSource.poll (CWD/src/backend/sources/AbstractSource.ts:292:9) [2024-10-10 21:46:14.544 +0300] ERROR  : [App] [Sources] [Jellyfin - unnamed] Error occurred while polling [2024-10-10 21:46:14.543 +0300] WARN   : [App] [Sources] [Jellyfin - unnamed] Player State for  ->  - Жизнь среди заразы <-- is being dropped because 'usersAllow does not include user iliy

For information. With version 0.8.5, sometimes when restarting the container, Multi Scrobbler started working with jellybean, it displayed several players (with question marks) and when starting music, it showed the filler and sent data to last.fm . Restarting the container again did not work with jelly bean.

@Druidblack can you try pulling the same docker image again, see if the new changes make a difference.

I can confirm that with this new docker image, jellyfin scrobbling is working again. I was also affected by the recent update and was waiting for a fix. I have only been test this interim update for about 10 minutes, but can confirm it is polling my jellyfin instance correctly.

@Druidblack can you try pulling the same docker image again, see if the new changes make a difference.

However, After closer inspection, my json config files ( listenbrainz, and a subsonic client) are returning an error.

I'll confirm it. Jelly bean works with the new version. But in the version (
pr205-c2b294f91b647a751bd02e60a29259bff8848439) Lastfm (source) is missing.

@jpjpjunior @Druidblack please try re-pulling foxxmd/multi-scrobbler:pr-205 as I've updated it with additional fixes.

@jpjpjunior @Druidblack please try re-pulling foxxmd/multi-scrobbler:pr-205 as I've updated it with additional fixes.

Issue still persists for me.

@jpjpjunior are you sure you pulled the new changes? Can you confirm that on the dashboard or in the logs it says Version pr205-77c9141d923157634a775586e4f69cbab8fe1ff6 ?
If the version is correct can you please post how your configs are setup? Are you using files or ENV? Samples of files?

@jpjpjunior are you sure you pulled the new changes? Can you confirm that on the dashboard or in the logs it says Version pr205-77c9141d923157634a775586e4f69cbab8fe1ff6 ? If there are still errors they should look very different than that screenshot as the library shown in the stacktrace is no longer installed in MS.
If the version is correct can you please post how your configs are setup? Are you using files or ENV? Samples of files?

I am running both ENV variables and config files. Mainly because listenbrainz cannot be used in ENV. Should i just run everything in config json files?

I don't think you have pulled the latest image. The version is wrong in MS. The version is controlled by a dockerfile ARG that is set during publishing so it can be traced in the image digest, from the latest pr-205 image:

Please try updating your image...if you are using the default (not ghcr.io) you should see the digest as sha256:f722715414b99...
To update the image using plain docker run docker image pull foxxmd/multi-scrobbler:pr-205
$ docker image pull foxxmd/multi-scrobbler:pr-205
pr-205: Pulling from foxxmd/multi-scrobbler
Digest: sha256:fe3d2a27a0704ef7905acff512d88dc64d3e6c93d3006450996e8e32ab17dcf0
Status: Image is up to date for foxxmd/multi-scrobbler:pr-205
docker.io/foxxmd/multi-scrobbler:pr-205

To update with docker-compose run docker compose pull
To verify you have the updated image run docker inspect foxxmd/multi-scrobbler:pr-205, you should see
"RepoDigests": [
            "foxxmd/multi-scrobbler@sha256:fe3d2a27a0704ef7905acff512d88dc64d3e6c93d3006450996e8e32ab17dcf0"
        ],

in the output

Works.

I don't think you have pulled the latest image. The version is wrong in MS. The version is controlled by a dockerfile ARG that is set during publishing so it can be traced in the image digest, from the latest pr-205 image:

Please try updating your image...if you are using the default (not ghcr.io) you should see the digest as sha256:fe3d2a27a0704ef7905acf... or the correct version in the image data
To update the image using plain docker run docker image pull foxxmd/multi-scrobbler:pr-205
$ docker image pull foxxmd/multi-scrobbler:pr-205
pr-205: Pulling from foxxmd/multi-scrobbler
Digest: sha256:fe3d2a27a0704ef7905acff512d88dc64d3e6c93d3006450996e8e32ab17dcf0
Status: Image is up to date for foxxmd/multi-scrobbler:pr-205
docker.io/foxxmd/multi-scrobbler:pr-205

To update with docker-compose run docker compose pull
To verify you have the updated image run docker inspect foxxmd/multi-scrobbler:pr-205, you should see
"RepoDigests": [
            "foxxmd/multi-scrobbler@sha256:fe3d2a27a0704ef7905acff512d88dc64d3e6c93d3006450996e8e32ab17dcf0"
        ],

in the output
or run docker inspect foxxmd/multi-scrobbler:pr-205 | grep APP_VERSION which should output the correct version APP_VERSION=pr205-77c9141d923157634a775586e4f69cbab8fe1ff6
You can also try pulling the specific digest rather than the pr tag, if none of the above is working for you for some reason:
foxxmd/multi-scrobbler@sha256:fe3d2a27a0704ef7905acff512d88dc64d3e6c93d3006450996e8e32ab17dcf0

My apologies .. Ill check

Я не думаю, что вы скачали последнюю версию образа. Версия в MS неверная. Версия контролируется аргументом dockerfile, который задается во время публикации, поэтому ее можно отследить в дайджесте образа последней версии pr-205:

Пожалуйста, попробуйте обновить изображение... если вы используете изображение по умолчанию (а не ghcr.io), вы должны увидеть дайджест sha256:fe3d2a27a0704ef7905acf... или правильную версию в данных изображения
Чтобы обновить изображение с помощью обычного docker, запустите docker image pull foxxmd/multi-scrobbler:pr-205
$ docker image pull foxxmd/multi-scrobbler:pr-205
pr-205: Pulling from foxxmd/multi-scrobbler
Digest: sha256:fe3d2a27a0704ef7905acff512d88dc64d3e6c93d3006450996e8e32ab17dcf0
Status: Image is up to date for foxxmd/multi-scrobbler:pr-205
docker.io/foxxmd/multi-scrobbler:pr-205

Для обновления с помощью docker-compose run docker compose pull
Чтобы убедиться, что у вас запущено обновленное изображение docker inspect foxxmd/multi-scrobbler:pr-205, вы должны увидеть
"RepoDigests": [
            "foxxmd/multi-scrobbler@sha256:fe3d2a27a0704ef7905acff512d88dc64d3e6c93d3006450996e8e32ab17dcf0"
        ],

в выходных данных
или запустить docker inspect foxxmd/multi-scrobbler:pr-205 | grep APP_VERSION который должен вывести правильную версию APP_VERSION=pr205-77c9141d923157634a775586e4f69cbab8fe1ff6
Вы также можете попробовать использовать конкретный дайджест, а не тег pr, если по какой-либо причине у вас ничего из вышеперечисленного не работает:
foxxmd/multi-scrobbler@sha256:fe3d2a27a0704ef7905acff512d88dc64d3e6c93d3006450996e8e32ab17dcf0

Приношу свои извинения .. Я проверю

Delete the image that you are using in docker. Since the version of container 205 remains unchanged, when starting docker, the new image is not downloaded, the old one is used. It needs to be deleted so that the docker downloads container 205 with the latest fixes again.

works

These fixes are in 0.8.6 (latest docker image)


Support new ocaml-variants layout

ocaml/opam-repository#17541 seeks to solve the combinatorial explosion of ocaml-variants packages, with a trial for the 4.12 packages only which affects the generation of the variant packages for tier 1 images (but not by much).
All that changes here is that opam switch create needs to use --packages and Ocaml_version.Opam.V2 now has an extra function which returns the list of additional packages which are required.
@AltGr and I are just polishing the opam-repository PR - it should be the case that the 4.12-afl image, for example, will use ocaml-variants.4.12.0+trunk and ocaml-options-only-afl, the -only- versions of packages prevent dependencies from changing the underlying compiler.

Pushed to live


chore: remove some unsless code in builder-plugin-stylus

Summary

🤖 Generated by Copilot at 46a2964
Refactor builder plugin for stylus to use template literal for importing provider function. This improves code simplicity and readability.
Details

🤖 Generated by Copilot at 46a2964

Simplify code to import applyBaseCSSRule function using template literal based on bundlerType (link)

Related Issue

Checklist

[ ] I have added changeset via pnpm run change.
[ ] I have updated the documentation.
[ ] I have added tests to cover my changes.

👍🏻


nixos/iso-image: Use systemd initrd

Description of changes
This modifies the ISO configuration so that it uses systemd initrd. It should still work without systemd initrd as well.
Something to note is the removal of the awkward use of the root= kernel param. In scripted stage 1, the value of this parameter ends up being symlinked to /dev/root, and previously the ISO used this to mount /iso. For one thing, this is an incorrect usage of root=. But, I do not know how this will affect other tools flashing the image to a bootable drive. I know we only really support directly writing the image to disk, but I don't want to degrade the experience from people's historical expectations.
Marking as draft because the following still needs figuring out:

[ ] What to do about that boot.shell_on_fail thing.
[ ] I think the overlay thing doesn't create the same depends values. Though, see #233707 or #273642
[ ] I would like testing to be done with the aforementioned other ways to flash the ISO, as well as booting on a variety of hardware if possible.
[ ] There's also the matter of the findiso= kernel parameter, which apparently has something to do with some iso_path grub parameter? It seems like this isn't used at all? But maybe it's used by exotic setups? This needs clarification.

Things done

Built on platform(s)

[ ] x86_64-linux
[ ] aarch64-linux
[ ] x86_64-darwin
[ ] aarch64-darwin

For non-Linux: Is sandboxing enabled in nix.conf? (See Nix manual)

[ ] sandbox = relaxed
[ ] sandbox = true

[ ] Tested, as applicable:

NixOS test(s) (look inside nixos/tests)
and/or package tests
or, for functions and "core" functionality, tests in lib/tests or pkgs/test
made sure NixOS tests are linked to the relevant packages

[ ] Tested compilation of all packages that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD". Note: all changes have to be committed, also see nixpkgs-review usage
[ ] Tested basic functionality of all binary files (usually in ./result/bin/)
24.05 Release Notes (or backporting 23.05 and 23.11 Release notes)

[ ] (Package updates) Added a release notes entry if the change is major or breaking
[ ] (Module updates) Added a release notes entry if the change is significant
[ ] (Module addition) Added a release notes entry if adding a new NixOS module

[ ] Fits CONTRIBUTING.md.

Add a :+1: reaction to pull requests you find important.

Oh, forgot to mention the weird thing with findiso=. Added that to the todo list

Things I found so far:

can't find rootfs with ventoy
when failing to find rootfs, can't enter recovery shell because root account is locked

@K900 Fixed the recovery shell thing

Related: https://github.com/NixOS/nixpkgs/issues/217173

I think the overlay thing doesn't create the same depends values. Though, see https://github.com/NixOS/nixpkgs/pull/233707 or https://github.com/NixOS/nixpkgs/pull/273642

Afaik the depends are just a no-op right now even in the scripted initrd.

@nikstur depends currently exclusively works for file systems mounted by scripted stage 1. File systems are topologically sorted by path and depends and then traversed by stage-1-init.sh in that order. But depends currently does nothing for systemd stage 1 or for stage 2, which is what the linked prs are about.

@K900 Fixed the recovery shell thing; though not in a way compliant with the boot.shell_on_fail thing, which is why that's in the todo list
What does that mean? From my understanding, the boot.shell_on_fail does not exist under systemd initrd, it's just systemd emergency access and that requires manual upgrades, I'd say?

@RaitoBezarius well that's what I mean. Ideally, systemd stage 1 would still support (most of) the same cmdline parameters (see: https://github.com/NixOS/nixpkgs/issues/170125). The boot.debug1 one for instance equates to (sort of) rd.systemd.unit=emergency.target ((sort of)), so it would be nice if we could somehow make that an alias. But we don't really have a way to say "if stage 1 fails, drop straight into a shell", which is the currently expected behavior of the ISO.

we don't really have a way to say "if stage 1 fails, drop straight into a shell", which is the currently expected behavior of the ISO.

IMO systemd's emergency shell fulfills this use case adequately, even if it's not the same exact behaviour as before.

@nikstur Yea, I've come to largely the same conclusion that we don't need one to one kernel param compatibility. I'm also adding systemd's debug shell service in a separate PR (https://github.com/NixOS/nixpkgs/pull/299717), so that provides even more functionality similar to what we have in scripted stage 1.
We'll just have to document the differences in the cmdline options.


Update routes.py

Do we still need this?

It looks like this was more or less done in https://github.com/communitiesuk/funding-service-design-assessment/commit/52ea3f0c7628a3dbb715e1e4eb8ffc6a7cda5c3a


conduits are rendering invisible/not updating properly

Issue Description:
my conduits are rendering very weirdly, happens on both single player and multiplayer
https://gfycat.com/HalfDefenselessBudgie
What you expected to happen:
conduits should be rendering properly.

Affected Versions (Do not use "latest"):

EnderIO: 5.2.61
EnderCore: 0.5.76
Minecraft: 1.12.2
Forge: 2847
SpongeForge? no
Optifine? yes (happens without optifine too)
Single Player and/or Server?

Your most recent log file where the issue was present:
latest.log

Looking at the attached capture, it seems you have a graphical mod installed that modifies some rendering, in this case particles. So it's likely that this is interfering with the rendering of the conduits.
If you know what mod this is, try removing it and see if the issue persists

i have fancyblock particles, but im not aware of any incompatibilities?

Might not be known. The only time we know about an incompatibility is if someone reports it or one of us discover it by ourselves. I use the same forge version with EIO, so I doubt that's the issue, but anything is possible in the modding world xD

i removed fancy block particles and its still happening.

Hmmm then more investigation is required. Has this been happening since the beginning or started recently?
Could you also try reproducing this on a fresh world?

im not entirely sure to be honest, ive had enderio installed for a while now, ive been in the process of setting all my mods up one by one making sure they all work in the modpack before i release it, just got to enderio. i thought i had placed conduits before but i cant remember. i had 5.2.59 before upgrading to .61
tried on a fresh world with the same problem.
i need to sleep, i will do some more testing tomorrow.

ok did some more investigation, i downgraded to 5.2.59 to test and its definitely something to do with .61 as the issue does not occur on .59 https://gfycat.com/HilariousBabyishImperatorangel

I will try to reproduce it on my side

Okay so I tried with Optifine and without and could not reproduce this at all. This sounds like a mod interfering. I also double checked, no rendering code changed between 59 and 61

so why would it be working fine on 59 on my end then if no code would have changed to introduce potential mod conflicts?

I suspect this has to do with the TickCentral and LagGoggles issue that the recent version of EIO has run into. The one that causes EIO blocks to not tick on a server. I saw in your log you also have TickCentral 3.1 along with the most recent version of EIO when you were getting this, and I was getting this same issue with the conduits, along with a player not having their sterling generator tick. Removing both LagGoggles and TickCentral from the server fixes both of these issues, so I believe the conduits don't ever get ticked to render properly and they are actually stemming from the same original problem. It also seems to effect the clientside regardless of it being on the server, and it causes GUIs to bug out likely due to the same lack of ticking problem, so I'd recommend removing it until you actively need LagGoggles.

Thx Mario90900, that's a very good observation. Yes, conduits do need the tick to propagate the information that they need to be re-rendered.
This should then be fixed with the next release. Expect it within a couple of days.

Oh awesome! I'm glad to hear the fix for this is coming soon, and glad I could help a little! Thanks for the hard work on this!

ah so its lag goggles, well i will keep enderio downgraded in the mean time until the fix rolls out. thanks.

The new release is out :) Be sure to give it a shot and let us know if this still persists

can confirm conduits are now fixed.


Error connecting RasPi & Pixhawk 4 Mini using mavsdk_server (running Px4)

Hello,
I'm attempting to connect a companion computer (RasPI) with my Pixhawk using mavsdk_server, but there seems to be an issue initiating MAVlink. I am not entirely sure what is causing this issue, I flashed my pixhawk with PX4 so its not similar to issue #1134  Any info would be very helpful.  Below is my command and output.
pi@raspberrypi:~ $ /usr/local/lib/python3.7/dist-packages/mavsdk/bin/mavsdk_server -p 44881 serial:///dev/ttyAMA0
[09:38:48|Info ] MAVSDK version: v0.36.0 (mavsdk_impl.cpp:21)
[09:38:48|Debug] New: System ID: 0 Comp ID: 0 (mavsdk_impl.cpp:418)
[09:38:48|Info ] Server started (grpc_server.cpp:45)
[09:38:48|Info ] Server set to listen on <IP_ADDRESS>:44881 (grpc_server.cpp:46)
[09:38:48|Info ] Waiting to discover system on serial:///dev/ttyAMA0... (connection_initiator.h:21)
[09:38:48|Debug] Component Autopilot (1) added. (system_impl.cpp:324)
[09:38:49|Debug] Discovered 1 component(s) (UUID:<PHONE_NUMBER>724065589) (system_impl.cpp:481)
[09:38:49|Info ] System discovered (connection_initiator.h:57)
[09:38:50|Warn ] command denied (512). (mavlink_commands.cpp:166)
[09:38:50|Debug] Falling back to gimbal protocol v1 (mission_impl.cpp:131)
[09:38:50|Debug] Falling back to Gimbal Version 1 (gimbal_impl.cpp:58)
[09:38:50|Warn ] sending again, retries to do: 3  (SYS_FAILURE_EN). (mavlink_parameters.cpp:566)
[09:38:51|Warn ] command denied (512). (mavlink_commands.cpp:166)
[09:38:51|Warn ] sending again, retries to do: 2  (SYS_FAILURE_EN). (mavlink_parameters.cpp:566)
[09:38:52|Warn ] sending again, retries to do: 1  (SYS_FAILURE_EN). (mavlink_parameters.cpp:566)
[09:38:53|Error] Error: Retrying failed get param busy timeout: SYS_FAILURE_EN (mavlink_parameters.cpp:582)
[09:38:55|Warn ] sending again, retries to do: 3  (NAV_FT_DST). (mavlink_parameters.cpp:566)
[09:38:56|Warn ] sending again, retries to do: 3  (NAV_FT_RS). (mavlink_parameters.cpp:566)
[09:38:50|Warn ] command denied (512). (mavlink_commands.cpp:166)

After that, does it work, or not? Like can you get telemetry and send actions?

My mistake after running some of the example scripts it works. I assumed it wouldnt due to the error messages when I started the server.

No worries.
An interesting thing to know is that "command denied" means that the command was sent by MAVSDK, reached PX4, which answered "DENIED", and that response reached MAVSDK back. So that's not a communication problem, it's more that PX4 was not ready for that command at that point, for some reason.


Set selectEnvironment to false when calling create environment command to skip environment selection after creation.

Reference Issue: https://github.com/microsoft/vscode-python/issues/20270
PR: https://github.com/microsoft/vscode-python/pull/20738

This has been done, thanks


encoding/binary: Varint signature/docs could benefit from name result parameters

https://pkg.go.dev/encoding/binary@master#Varint says:
func Varint(buf []byte) (int64, int)

Varint decodes an int64 from buf and returns that value and the number of bytes read (> 0). If an error occurred, the value is 0 and the number of bytes n is <= 0 with the following meaning:

n == 0: buf too small
n  < 0: value larger than 64 bits (overflow)
        and -n is the number of bytes read

--
That signature and docs (referencing n that's never named) are really asking to have named results.

@ianlancetaylor I would like to contribute to this, can you explain what changes need to be done?

@Shisthruna28 adjust the function signature to name the results in a way that matches the documentation
our contributing process can be found here: https://golang.org/doc/contribute


📎Optimization of iframes

Replacing it with a library officially provided by Next seems likely to improve performance.

https://nextjs.org/docs/app/building-your-application/optimizing/third-party-libraries#youtube-embed

I can try this one if you don't mind

Yes, Please do.


RenderDocCmd.apk arguments, plus Internet permissions to use sockets.

Aside from the notes this seems like it would merge just fine but the title says "merge manually" - is there something needing manual intervention?

This was my way of saying that my detailed logs for each of my commits are already adequate, and it doesnt seem to serve any purpose to group them together given that the commits have different purposes. One is for network issues and one is for apk arguments, so shall I put something generic that covers both in the title?
I will fix the namespace issue.

Ah I see. That's fine - the PR title/merge commit message is mostly just so that it's vaguely possible to tell what the commits were, but mostly to link back here so you can see it in detail. As long as it is somewhat on topic I don't mind much what it is. I only queried it because I wasn't sure if there was something I was missing needing manual work.


Fatal: number of used blobs is larger than number of available blobs!

Output of restic version
restic 0.8.2
How did you run restic exactly?
restic -r /data/server/folder prune
What backend/server/service did you use to store the repository?
local
Output
password is correct
counting files in repo
building new index for repo
Load(<data/96897d2693>, 591, -3) returned error, retrying after 454.5285ms: offset is negative
Load(<data/96897d2693>, 591, -3) returned error, retrying after 961.13049ms: offset is negative
Load(<data/96897d2693>, 591, -3) returned error, retrying after 1.202589999s: offset is negative
Load(<data/96897d2693>, 591, -3) returned error, retrying after 1.094256014s: offset is negative
Load(<data/96897d2693>, 591, -3) returned error, retrying after 2.834902288s: offset is negative
Load(<data/96897d2693>, 591, -3) returned error, retrying after 3.147825541s: offset is negative
Load(<data/96897d2693>, 591, -3) returned error, retrying after 6.720594448s: offset is negative
Load(<data/96897d2693>, 591, -3) returned error, retrying after 5.092177513s: offset is negative
Load(<data/96897d2693>, 591, -3) returned error, retrying after 15.397977131s: offset is negative
Load(<data/96897d2693>, 591, -3) returned error, retrying after 28.797783124s: offset is negative
pack file cannot be listed 96897d26931a5a4ba3fab5a4e130c9999c76ca3c48cd3776b9ae10efc860f395: offset is negative
[1:05] 100.00%  159 / 159 packs
repository contains 158 packs (25591 blobs) with 560.410 MiB
processed 25591 blobs: 0 duplicate blobs, 0B duplicate
load all snapshots
find data that is still in use for 22 snapshots
[0:02] 100.00%  22 / 22 snapshots
Fatal: number of used blobs is larger than number of available blobs!
Please report this error (along with the output of the 'prune' run) at
https://github.com/restic/restic/issues/new

greetings
Sam

Reference: #1621

Does data/96/96897d26931a5a4ba3fab5a4e130c9999c76ca3c48cd3776b9ae10efc860f395 exist in the repository? What is the size of the file, if it does?

Oh, this is an interesting bug! Thank you very much for the report! I thought we'd weed out any of those, but apparently we missed one.
Can you please do the following:

Please verify that the file data/96/96897d26931a5a4ba3fab5a4e130c9999c76ca3c48cd3776b9ae10efc860f395
Paste the output of:

ls -al data/96/96897d26931a5a4ba3fab5a4e130c9999c76ca3c48cd3776b9ae10efc860f395
stat data/96/96897d26931a5a4ba3fab5a4e130c9999c76ca3c48cd3776b9ae10efc860f395
sha256sum data/96/96897d26931a5a4ba3fab5a4e130c9999c76ca3c48cd3776b9ae10efc860f395

If the file is small enough, paste the last ~40 lines or so of:

xxd data/96/96897d26931a5a4ba3fab5a4e130c9999c76ca3c48cd3776b9ae10efc860f395

Thanks!

Hey,
sorry, in the battle of the day i've deleted this repo ... ;-( ... in the testing szenario we habe over 7500 repos, When we do rollout it wil be ~150.000 repos. If the error occurs again, I write it in this issue
greetings
Sam

Thanks for the report anyway! You found a bug which will be resolved in #1635


Address dataflags called with the wrong variables

Pull Request Checklist:

[x] This PR addresses an already opened issue (for bug fixes / features)

This PR fixes #861

[ ] Tests for the changes have been added (for bug fixes / features)
[ ] Documentation has been added / updated (for bug fixes / features)
[ ] HISTORY.rst has been updated (with summary of main changes)

[ ] Link to issue (:issue:number) and pull request (:pull:number) has been added.

[ ] bumpversion patch has been called on this branch
[ ] The relevant author information has been added to .zenodo.json

What kind of change does this PR introduce?

adds a smarter check for determining variables missing for a function called during data_flags

Does this PR introduce a breaking change?
No.
Other information:
It's entirely possible that multivariate data_flag checks are being called multiple times (once with the first variable, and again with the second). This should be dealt with, either here or in another PR.

Coverage increased (+0.003%) to 90.704% when pulling 462f44f6dc5788ce4cb1a102e30c353101dba132 on fix_861+dataflags into ee557a8f8634d3c29c33d133c2f9d99fa3b0d151 on master.


Selection includes date and icon

After selecting a file, I end up with this
cat 13\ Jan\ 16:11\ \ \ vite.config.js

it's werd it's included, i think i'll just remove it from args

it's fixed btw!


Logging out of OpenID Connect provider

Description
If you login to Gitea using an OpenID Connect provider (e.g., Keycloak) and logout again, you are logged out of Gitea, but you are still logged in at your OpenID provider. Clicking at the OpenID login button at the Gitea page will automatically log you back into the same account. It should be possible to also log out at the OpenID provider. Keycloak, as an example, provides a logout endpoint where you can logout from the OpenID provider and redirect back to the application, which could be used by Gitea when logging out (e.g., https://your-keycloak.com/auth/realms/example-realm/protocol/openid-connect/logout?redirect_uri=https%3A%2F%2Fyour-gitea.com%2F).
Related issue in past: #12374

I didn't realise that there were specs for this - but:
<EMAIL_ADDRESS>https://openid.net/specs/openid-connect-frontchannel-1_0.html
https://openid.net/specs/openid-connect-backchannel-1_0.html
may be helpful for implementation.

I didn't realise that there were specs for this - but:
<EMAIL_ADDRESS>https://openid.net/specs/openid-connect-frontchannel-1_0.html
https://openid.net/specs/openid-connect-backchannel-1_0.html
may be helpful for implementation.

Is There any plan when this issue will be fixed ?
Log out from gitea , actually does not log out from oidc provider ..

It would be nice to have this feature implemented. 👍

Perhaps the simplest way to implement this is to use the RP Initiated Logout spec

Hi,
is there a workaround in order to achieve a logout at the OIDC provider until this feature is implemented?

Also miss this feature. And adding name field in Keycloak (my full name) to Gitea full name.

@qworkz11 A workaround which works for me:
Change the data-url in
https://github.com/go-gitea/gitea/blob/4fd9c56ed09b31e2f6164a5f534a31c6624d0478/templates/base/head_navbar.tmpl#L188 of
your local gitea to
https://keycloak.example.com/realms/MYREALM/protocol/openid-connect/logout?post_logout_redirect_uri=https://myapp.example.com&client_id=myclient


RTSP streaming not working

The program just crash, is anyone tested it?

Reproduce: create a new project with test inputs. Add an RTMP output, leave every value as the default value. Notice that "Encoder" and "Preser" in Encoder settings are completely empty (and that level is set to "4.2", which is probably also a problem, see #80), and the dropdown boxes don't contain any values. Click save. Application crashes.

Reproduce: create a new project with test inputs. Add an RTMP output, leave every value as the default value. Notice that "Encoder" and "Preser" in Encoder settings are completely empty (and that level is set to "4.2", which is probably also a problem, see #80), and the dropdown boxes don't contain any values. Click save. Application crashes.

Can confirm trying to save RTMP stream causes VR App to die. Are there any clever workaround that can be done in the config file?

I can't test it myself at the moment. If you're feeling adventurous, you could experiment with adding something like this RTMP output block manually to the project file.

Ok, so this does add the RTMP button to the GUI, however, it reports "Could not create an output for configuration 'rtmp'" when attempting to start the stream.
I did try manually calling codecs, such as;
	"type": "rtmp",
	"filename": "rtmp://<IP_ADDRESS>:1935/live/output",
    "downsampling_factor": 1,
    "pub_user" : "",
    "pub_enc_passwd" : "",

	// video encoder settings depend on the selected encoder
	"video_codec" : "x264",
	"tune" : "",
	"profile" : "baseline",
	"level" : "4.2",
	"filename" : "rtmp://localhost:1935/live/stream",
	"bitrate_mode" : "VBR",
	"quality_balance" : 5,
	"b_frames" : 2,
	"bitrate" : 8001,
	"cbr_padding" : false,
	"target_usage" : 4,
	"gop" : -1

..but no luck. Any initial ideas of where it might be worth checking the source? Do you know if RTMP works on, say, a Linux build?
(NB: This is using the pre-built Win 10 x64 release - so could try and manual build too)

Have a look at the log window (second button from the bottom right) when trying to create the output, it may give more information on why the output can't be created.
For the crash in Vahana VR when creating the output I think it's best to do a manual debug build and just reproduce it inside a
debugger. Visual Studio and Qt Creator IDEs are both supported on Windows. The crash can probably be reproduced on Linux (maybe even macOS) as well, where it would be much easier to set up such a build.
There is more documentation on the rtmp configurations in the readme in this folder: https://github.com/stitchEm/stitchEm/tree/master/IO/src/rtmp
So you could try at least three different encoders (libx264, QSV, NVENC). I'm not sure how up to date the readme is. If in doubt, check the code in the subfolders.

Ok, that's really interesting - thanks.
In terms of the program log, it reports it is unable to find rtmp.dll at the given directory - but the dll in where it should be. I'll play with the debugger and go from there.
For the sake of logging, here's the log output:
StateManager::changeState, state = 0, sender = ProjectWorkWidget
[2021/04/01 17:45:34] Debug: could not load plug-in "C:\Program Files\VideoStitch\VahanaVR\vahana_plugins\rtmp.dll": The specified module could not be found.
[2021/04/01 17:45:34] [videoinput] Couldn't open file for probing. Aborting.
[2021/04/01 17:45:34] [videoinput] Couldn't open file for probing. Aborting.
[2021/04/01 17:45:34] [videoinput] Couldn't open file for probing. Aborting.
[2021/04/01 17:45:34] [videoinput] Couldn't open file for probing. Aborting.
[2021/04/01 17:45:34] [videoinput] Couldn't open file for probing. Aborting.
[2021/04/01 17:45:34] [videoinput] Couldn't open file for probing. Aborting.
[2021/04/01 17:45:34] Missing mandatory field 'preset' for object Ptv.
StateManager::changeState, state = 2, sender = ProjectWorkWidget

If the file is there, but it complains that the plugin can't be loaded, it's probably due to the plugin dll missing dependencies ("The specified module could not be found" is just the last error message printed).
I've just booted up Windows now. I opened rtmp.dll in Dependency Walker and added the VahanaVR directory to the Module Search Order, gives this result:

I'm not sure if the Intel icls stuff missing on my machine would is a dealbreaker (are they delay-loaded only by librtmp, or what is that pink symbol saying?), but I believe libfaac.dll and libfaad2.dll missing is a problem. They don't seem to be there for me in a clean install.
Maybe there's a problem that they were built but not included in the installer?

Maybe there's a problem that they were built but not included in the installer?

The change where we went from using custom self-built dependencies to mostly vcpkg-stuff, there is a change in libfaac and libfaad, see https://github.com/stitchEm/stitchEm/pull/43/files (ctrl+f libfaac). Curiously, libfaac and libfaad are never mentioned in the installer listings, and never have been? I'm not sure why that is.
The Intel dlls seen above on the other hand are mentioned in the installer scripts, and are in fact installed to the Vahana VR directory. Is that good enough to enable rtmp.dll to find them (even if they are supposed to be at a different absolute path, taking from the screenshot above)? Sorry, I'm not very knowledgeable in Window dependency resolution and am stabbing in the dark a lot.

Intel icls rose colored errors seem to be from different CPU archs or something. Moving the Vahana VR directory to the top of the list, if finds the ones in the Vahana VR directory, and is happy with then. libfaac and libfaad2 remain missing, and some API-MS-WIN-CRT stuff (but IIRC that's usually just from Dependency Walker having a missing directory).
Still unclear why faac and faad2 aren't in the installer script, and seemingly never have been (https://github.com/stitchEm/stitchEm/blob/master/apps/installer/common-dll.iss#L57-L63). @jeremad, ideas?

So, attempting to build from VS2019 is giving loads of  (1000+) errors after a successful CMake. Will attempt Ubuntu build and test RTMP streaming from that platform.

VS2017 wasn't an option? What kinds of errors do you see?

Still unclear why faac and faad2 aren't in the installer script, and seemingly never have been (https://github.com/stitchEm/stitchEm/blob/master/apps/installer/common-dll.iss#L57-L63). @jeremad, ideas?

Thinking about it: maybe they were included as static libraries before, and now are dynamic libraries.
So two possible fixes. Either change the build https://github.com/stitchEm/stitchEm/blob/master/IO/src/rtmp/CMakeLists.txt#L236-L270 to put out static libraries, and keep the installer script as-is.
Or, add the two new dynamic dlls to the installer script: https://github.com/stitchEm/stitchEm/blob/master/apps/installer/common-dll.iss#L57-L63

VS2017 wasn't an option? What kinds of errors do you see?

Will attempt a build with VS2017 shortly. VS19 highlights syntax errors everywhere, so could just be a weird complier thing.

As update, the compile is smoother under VS2017, but still fails.
Most of the errors are syntax related from not being able to use "OVR_CAPI_GL.h". The file is present in the Oculus SDK - so I'm trying to find a way to help the complier find it.

Program runs after manual build and placement of Libfaac & faad!
Doesn't seem very happy streaming to YouTube, but will to twitch, which may well be a case of this machine being made out of old calculators and cheese scrapings.
Can only encoder via H264, can't see (or manually use via changing config files) NVIDA or Intel options. Investigating.


enabled ctrl+enter as submit for textareas

I have absolutely no idea on how to fix the codecov report issues. Please guide me and review the PR as well.

The Codecov failures can only be resolved by adding automated unit and integration tests. You can leave them away for this PR, as it's only a small change.

Did you check if it works with the right Ctrl key? I think last time I checked it just worked with the left Ctrl key.


No gradients provided for any variable

I'm currently coding a text generation program to compare GRU, LSTM, and Bi-LSTM.
Right now, I'm facing a problem with the gradients problem. It said no gradients provided for any variable.
My best guess is in the model or in the fitting, but no ideas. The other is the dataset.
I'm using Google CoLab for this program. I share it in viewer mode (unless you want me to change it).

Well, that explains why. I forget to add a loss function.


I present an idea: updateById

Seeing the great work they are doing, I got to know the findById (id) function which optimizes my work a lot. Taking this idea, it would be great if they did the same with the Update argument something like updateById (id, array).
An example would be:
$array = array(
	'loginDate' => date('Y-m');
);

$blogUsers->updateById($_GET['id'], $array);

In conclusion, it would be amazing to be able to concentrate an update in a short and fast function.

Implemented with version 2.6


Arrows growing when I move object

Hey I again =D.
How can I stop the arrows with grow when I move the object? Also when I move the camera
-Cis

Not sure I understand.
There is a method called GetDistanceMultiplier that is used to try and keep the gizmos size somewhat consistent no matter where the object is, far or close.
If the arrows are getting bigger when you move an object closer to the camera, and smaller when you move it farther, then you might not be multiplying the length variable by the GetDistanceMultiplier().
If you do want arrows to grow when moved closer and shrink when moved farther, then just remove the GetDistanceMultiplier() from whatever length variable you want.
If I didnt understand properly, maybe you can show an image of what you mean.

Yes thank you verry much!


Slideout.close() method doesn't remove slideout-open class from html tag

Thank the authors for this nice lib.
We noticed some kind of bug case:
User opens a modal popup from slideout menu. Our modal component adds class modal-open to the <body > tag via jQuery.addClass() method. So, the class attribute of <body> tag changes from ' slideout-open to 'slideout-open modal-open (please notice a dissapeared space before slideout-open). Then, we need to close slideout programmatically which is done by Slideout.Close() method. However, this method removes the class in the following way:
   html.className = html.className.replace(/ slideout-open/, '');Source: Line 123
i.e. it supposes class slideout-open to have a space before it.
Why can't we replace slideout-open class without the space before it? This will solve this case and will not break any other.

Hi @alexandr-bbm! Yes, you are right. I'm going to work on a new version using classList to avoid these issues with .add() and .remove() methods.


⚠ Bofrost.at has degraded performance

In 0e364a7, Bofrost.at (https://www.bofrost.at) experienced degraded performance:

HTTP code: 200
Response time: 873 ms

Resolved: Bofrost.at performance has improved in 7b7a5a1.


[Crypto] Fix generate_random_bytes for large chunks

Properly handle mbedtls errors, ensure we don't ask more bytes than allowed for each iteration.

As discussed on chat, would be worth adding a comment in the code.

Thanks!

Cherry-picked for 4.1.2.


"Nicorești", "Braniștea", "Coasta Lupei", "Dobrinești" and "Fântâni" are listed in the drop-down menu

Description:
"Nicorești", "Braniștea", "Coasta Lupei", "Dobrinești" and "Fântâni" are listed in the drop-down menu alongside its corresponding county and commune, according to the law
Precondition:
The website is up an running.

Step 2
Press "x" button.

Expected results
The location was deleted from the search bar.

Step 3
Type "Braniștea" in the search bar.

Expected results
The location is listed in the drop-down menu as "Sat Braniștea, GALAȚI (Nicorești)".

Step 2
Press "4" button.

Expected results
The location was deleted from the search bar.

Step 5
Type "Coasta Lupei" in the search bar.

Expected results
The location is listed in the drop-down menu as "Sat Coasta Lupei, GALAȚI (Nicorești)".

Step 6
Press "x" button.

Expected results
The location was deleted from the search bar.

Step 8
Press "x" button.

Expected results
The location was deleted from the search bar.

Step 9
Type "Fântâni" in the search bar.

Expected results
The location is listed in the drop-down menu as "Sat Fântâni, GALAȚI (Nicorești)".


Is CLS actually DCLS?

Judging by the implementation, it looks like the "CLS" that web-vitals reports is actually DCLS. Is that right?

Yes, we often use these terms interchangeably, but it's probably worth clarifying in the README that this library does not track layout shifts in iframes.

Thanks for clarifying @philipwalton!

I'm going to re-open this as a reminder to update the documentation with clarification as well.


Incorrect work of FactoryProvider->has()

README.MD: # Using deferred service providers [link]

// returns false as provider wasn't registered
$container->has(EngineInterface::class);

// returns SolarEngine, registered in the provider
$engine = $container->get(EngineInterface::class);

// returns true as provider was registered when EngineInterface was requested from the container
$container->has(EngineInterface::class);

PSR about has():

1.1.2 Reading from a container
has takes one unique parameter: an entry identifier, which MUST be a string. has MUST return true if an entry identifier is known to the container and false if it is not. If has($id) returns false, get($id) MUST throw a NotFoundExceptionInterface.

3.1. Psr\Container\ContainerInterface
    /**
     * Returns true if the container can return an entry for the given identifier.
     * Returns false otherwise.
     *
     * `has($id)` returning true does not mean that `get($id)` will not throw an exception.
     * It does however mean that `get($id)` will not throw a `NotFoundExceptionInterface`.
     *
     * @param string $id Identifier of the entry to look for.
     *
     * @return bool
     */
    public function has($id);

Method get() must returns true if the container can return an entry for the given identifier.
In our case, it returns false until the first call to get()

Need to cover it with unit test...


All videos and music start playing together at same time.

Actual Result:
All videos and music start playing together at same time.
Expected Result:
Videos and music should not start playing together at same time.
Repro Steps:

Open URL https://microsoft.github.io/BotFramework-WebChat/full-bundle/ in Edge browser.
Navigate to 'Type your message' text box present in bottom of screen, type 'help' and press enter key.
Navigate to button of "Multiple media attachments" and activate it.
All multimedia will appear on the bottom of the screen.
Observe if all multimedia start playing together at same time or not.

User Impact:
If all videos and music start playing together at same time then the user who is accessing the page will not able to understand what information the attachment is providing.
Test Environment:
OS: Windows 10
OS Build: 17763.107
OS Version: 1809
Browser: Edge
Attachment:
Usable_Multimedia.zip

[ ] Set autoPlay to false in MockBot
[ ] Add documentations to our media cards to hint the dev that autoPlay multiple media is not a good UX

[ ] We cannot stop animation from autoPlay because it is a GIF

This is a bot-specific issue, not related to Web Chat implementation. Set autoPlay to false to resolve.


Message: Undefined variable: retval

Hi,
Any idea why this happened?
ErrorException (Code: 8) Message: Undefined variable: retval File: /home/dfgdg/public_html/vendor/hellogerard/jobby/src/BackgroundJob.php Line: 245 Trace:  #0 /home/dfgdg/public_html/vendor/hellogerard/jobby/src/BackgroundJob.php(245): Whoops\Run->handleError(8, 'Undefined varia...', '/home/kanimaste...', 245, Array) #1 /home/dfgdg/public_html/vendor/hellogerard/jobby/src/BackgroundJob.php(88): Jobby\BackgroundJob->runFunction() #2 /home/dfgdg/public_html/vendor/hellogerard/jobby/bin/run-job(20): Jobby\BackgroundJob->run() #3 {main}
Thanks

This is because your job throws an exception, which leads to a PHP_NOTICE because of missing $retval declaration in jobby's catch block. I fixed this in my pending pull request right now.


How to handle SwitchStore more than 9 screens

Hi @johnpatrickmorgan
After restructuring my project using TCACoordinator for navigation, I have some problem when I'm using TCACoordinator.
The problem is when I have screen more than 9 and when add new screen into SwitchStore is shown an error like this:
Cannot convert value of type '() -> TupleView<(CaseLet<ScreenState, ScreenAction, AccountState, AccountAction, AccountView>, CaseLet<ScreenState, ScreenAction, EditProfileState, EditProfileAction, EditProfileView>, CaseLet<ScreenState, ScreenAction, ListMemberFamilyState, ListMemberFamilyAction, ListMemberFamilyView>, CaseLet<ScreenState, ScreenAction, EditMemberFamilyState, EditMemberFamilyAction, EditMemberFamilyView>, CaseLet<ScreenState, ScreenAction, AccountSettingState, AccountSettingAction, AccountSettingsView>, CaseLet<ScreenState, ScreenAction, ChangePasswordState, ChangePasswordAction, ChangePasswordView>, CaseLet<ScreenState, ScreenAction, LanguageSettingState, LanguageSettingAction, LanguageSettingView>, CaseLet<ScreenState, ScreenAction, AddMemberFamilyState, AddMemberFamilyAction, AddMemberFamilyView>, CaseLet<ScreenState, ScreenAction, FullProfileDataState, FullProfileDataAction, FullProfileDataView>, CaseLet<ScreenState, ScreenAction, ListMyAddressState, ListMyAddressAction, ListMyAddressView>)>' to expected argument type '() -> TupleView<(CaseLet<ScreenState, ScreenAction, AccountState, AccountAction, AccountView>, CaseLet<ScreenState, ScreenAction, EditProfileState, EditProfileAction, EditProfileView>, CaseLet<ScreenState, ScreenAction, ListMemberFamilyState, ListMemberFamilyAction, ListMemberFamilyView>, CaseLet<ScreenState, ScreenAction, EditMemberFamilyState, EditMemberFamilyAction, EditMemberFamilyView>, CaseLet<ScreenState, ScreenAction, AccountSettingState, AccountSettingAction, AccountSettingsView>, CaseLet<ScreenState, ScreenAction, ChangePasswordState, ChangePasswordAction, ChangePasswordView>, CaseLet<ScreenState, ScreenAction, LanguageSettingState, LanguageSettingAction, LanguageSettingView>, CaseLet<ScreenState, ScreenAction, AddMemberFamilyState, AddMemberFamilyAction, AddMemberFamilyView>, CaseLet<ScreenState, ScreenAction, FullProfileDataState, FullProfileDataAction, FullProfileDataView>, Default<_>)>'
Can you help me how to solve this issue?
Thanks. 🙏

For anyone else that encounters this  issue, please see #16.


Archive Method: Hangs on screenshot at 100%

On macOS, it created the initial index file and then proceed to download several articles, links and screencap, but got stuck on this one:
[+] [1509635498] "Verizon Wants FCC to Ban States From Protecting Your Privacy | DSLReports, ": www.dslreports.com/shownews/Verizon-Wants-FCC-to-Ban-States-From-Protecting-Your-Privacy-140625
    html/archive/1509635498 (creating)
    - Fetching: wget
    - Fetching: pdf
    - Fetching: screenshot
      ███████████████████████████████████ 100.0% (60/60sec)

On wget 1.19.2

If you hit Ctrl+C and run it again, does it freeze in the same place?
If you manually run the screenshot command, does it freeze?
chromium-browser --disable-gpu --headless --screenshot --window-size=1440,900 http://www.dslreports.com/shownews/Verizon-Wants-FCC-to-Ban-States-From-Protecting-Your-Privacy-140625

It's been a couple weeks so I'm closing this due to inactivity, but feel free to re-open if you're still having issues!
Generally just restarting BA has fixed issues like this in the past for me, although if you see it happening multiple times definitely post back so we can figure out the root cause.


farsi Language is not working in .net core version

Hello
When I run .Net Core version(Serin) and change Language to farsi,
Template direction will not set to RTL and Language won't be changed too.
Does anybody Knows How to solve it?

It is done By adding "fa-IR"  in TwoLetterToFourLetter Dictionary in  UserCultureProvider class.
This class is available in initialization Folder.


global hooks not working

What is your Scenario?
We are trying to set a window property before running our tests. If set, it will change the behaviour of our site.
Tried ClientFunction and now hooks, but nothing seems to work.
in our testcaferc.js we set up a hook like this
module.exports = {
    color: true,
    debugOnFail: false,
    skipJsErrors: false,
    speed: 1,
    hooks: {
        test: {
            before: async (t) => {
                await t.eval(() => (window.isE2E = true));
            },
        },
    },
};

What is the Current behavior?
window.isE2E will never be set and therefore our site behaves not as intended.
What is the Expected behavior?
window.isE2E will be set and our site behaves as intended.
What is your public website URL? (or attach your complete example)

What is your TestCafe test code?
see above
Your complete configuration file
No response
Your complete test report
No response
Screenshots
No response
Steps to Reproduce
Use config example from above and check if window.isE2E is set during any tests.
TestCafe version
1.19
Node.js version
No response
Command-line arguments

Browser name(s) and version(s)
No response
Platform(s) and version(s)
No response
Other
No response

Hi @vertic4l,
I cannot reproduce this issue. In my example, everything works correctly.
//.testcaferc.js
module.exports = {
  color: true,
  debugOnFail: false,
  skipJsErrors: false,
  speed: 1,
  hooks: {
    test: {
      before: async (t) => {
        await t.eval(() => (window.isE2E = true));
      },
    },
  },
};

//test.js
fixture`Fixture`
    .page`https://devexpress.github.io/testcafe/example/`;

test(`Test`, async (t) => {
    await t.expect(t.eval(() => window.isE2E)).eql(true);
})

Please clarify what steps I need to perform in order to reproduce the issue.


Persist settings across relaunch: Aspect ratio options and Export format

Platform: macOS 10.12.6
Kap Version: <IP_ADDRESS>
Steps to reproduce

Open Kap.app
Expand Controls
Set Aspect ratio options and Export format
Quit Kap
Open Kap again

Current behaviour
Settings are lost
Expected behaviour
Settings persist

@sindresorhus If you want, I can help with UX testing for Kap in general. I have some other suggestions if you'd like to hear them.

@jsejcksn Definitely. Try out the latest master version: https://kap-artifacts.now.sh/master And let us know :)

For what it's worth, the latest master build has somewhat broken aspect ratio selection. I'll be fixing this along with #226 😄

@sindresorhus Wilco.
@CodeTheory Ah, great! Some of my suggestions are mirrored in your linked comment about aspect ratio behavior. Also, that's the version I've been using, but I downloaded it from the repo release page.


--bell does not make sound when combined with --jobs  and --watch unless in --interactive mode

It's kind of weird that such a specific combination of flags would cause an issue, but it is. Haven't investigated why

My guess is, this now works, as we improved the interactive behavior even in server mode, and we also changed the way --watch works. Additional we now also make sure we don't loose any output and --bell is using the output stream, technically. I think it's worth a re-test.

Yeah going to call this probably fixed for now, can repoen if necessary


listview: Hiding event checkboxes for users

@blueorangutan package

@davidjumani a Jenkins job has been kicked to build primate packages. I'll keep you posted as I make progress.

Packaging result: :heavy_check_mark:centos :heavy_check_mark:debian :heavy_check_mark:archive.
QA: http://primate-qa.cloudstack.cloud:8080/client/pr/698 (JID-3463)


How do I use it?

I have it installed, but how do I use it? It might sound like a silly question, but I can't work it out, and it doesn't say anywhere.

on the login screen, there should be a circle to the right of your name. Select Gnome + i3 and login.

No worries, feel free to ask anything about i3-gnome.
As @NullVoxPopuli says, it's that quite simple, you just select from the login screen.

You can read this closed issue[1] to get started with this tweak (i3-gnome).
Cheers!
[1] #10

It worked, thanks! I thought it was this simple, but I must've just missed the option in the dropdown.


Rectify a Typo on Create Genesis Block docs page

Problem
On the Create-Genesis-Blockchain page, there is a bug. The bullet point in the note section says

“a custom module NftModule is created, as explained in the previous guide Creating a new module”

However, it should be:

“a custom module HelloModule is created, as explained in the previous guide Creating a new module”

Affected branch: main/development


goswagger.io link to "source for this tutorial" is broken

Problem statement
The tutorial for Simple Server on goswagger.io is broken.  It should probably point to https://github.com/go-swagger/go-swagger/blob/master/examples/tutorials/todo-list/server-complete/restapi/configure_todo_list.go

Already fixed by @nathany in https://github.com/go-swagger/go-swagger/pull/857. Once there is a new Release for Go-Swagger, the documentation on the website will be updated accordingly.

@GlenDC, Thanks!


upstream_request_filter not working

upstream_request_filter not working
When I was trying to run the load-balancing example code in quickguide, it seems like the function upstream_request_filter is never executed.
My code is:
use std::sync::Arc;

use async_trait::async_trait;
use pingora::prelude::*;
fn main() {
    let mut server = Server::new(None).unwrap();
    server.bootstrap();

    let upstream = LoadBalancer::try_from_iter(&["<IP_ADDRESS>:443", "<IP_ADDRESS>:443"]).unwrap();

    let mut lb = http_proxy_service(&server.configuration, LB(Arc::new(upstream)));
    lb.add_tcp("<IP_ADDRESS>:8080");
    server.add_service(lb);

    server.run_forever();
}

pub struct LB(Arc<LoadBalancer<RoundRobin>>);

#[async_trait]
impl ProxyHttp for LB {
    type CTX = ();

    fn new_ctx(&self) -> Self::CTX {
        ()
    }

    async fn upstream_peer(&self, _session: &mut Session, _ctx: &mut ()) -> Result<Box<HttpPeer>> {
        let upstream = self.0.select(b"", 256).unwrap();
        println!("upstream is {:?}", upstream);
        let peer = Box::new(HttpPeer::new(upstream, true, "one.one.one.one".to_string()));
        Ok(peer)
    }

    async fn upstream_request_filter(
        &self,
        _session: &mut Session,
        upstream_request: &mut RequestHeader,
        _ctx: &mut Self::CTX,
    ) -> Result<()> {
        println!("Entered upstream_request_filter");
        upstream_request
            .insert_header("Host", "one.one.one.one")
            .unwrap();
        Ok(())
    }
}

When I run the code above in terminal 1 and send request using curl curl -v <IP_ADDRESS>:8080 in terminal 2, there is only one output for each request
upstream is Backend { addr: Inet(<IP_ADDRESS>:443), weight: 1 }

The curl output is
*   Trying <IP_ADDRESS>:8080...
* Connected to <IP_ADDRESS> (<IP_ADDRESS>) port 8080 (#0)
> GET / HTTP/1.1
> Host: <IP_ADDRESS>:8080
> User-Agent: curl/7.81.0
> Accept: */*
>
* Mark bundle as not supporting multiuse
< HTTP/1.1 502 Bad Gateway
< Server: Pingora
< Date: Fri, 01 Mar 2024 06:47:46 GMT
< Content-Length: 0
< Cache-Control: private, no-store
< Connection: close
<
* Closing connection 0
*

If I understand correctly, the expected behaviors should be:

"Entered upstream_request_filter" should be outputed in terminal 1.
The request header in curl detail shoule be "Host: one.one.one.one"

Pingora info
Pingora version: 0.1.0
Rust version: cargo 1.78.0-nightly (194a60b29 2024-02-21)
Operating system version: Pop!_OS 22.04 LTS
Steps to reproduce

In terminal 1, run the code above
In terminal 2, use curl to launch the request

curl -v <IP_ADDRESS>:8080

Expected results

"Entered upstream_request_filter" should be outputted in terminal 1.
The response status code in curl should be 200.

Observed results

"Entered upstream_request_filter" is not outputted in terminal 1.
The response in curl detail is 502.

Additional context
No

same question

You may add tracing_subscriber for more logs

try RUST_LOG=TRACE cargo run xxx for more verbose logging.

"Entered upstream_request_filter" should be outputed in terminal 1.
It seems the proxy returned 502 which suggests that the connection to the origin might not be established in the place.
The upstream_request_filter will only be called after the connection is established.

The request header in curl detail should be "Host: one.one.one.one"
Regardless of the issue above, the proxy won't change curl's output because the output just reflects what curl sends to the proxy.

@neodes-h : since it looks like your question has been answered, I'll close this issue out.
If you read further in the quick start guide, you'll notice that we cover why you might be seeing a 502 occasionally with the round-robin LB (in the health checker section). As discussed above, if we fail to connect to the upstream, upstream_request_filter won't be called. (You may be interested in adding more logging in the fail_to_connect phase to confirm for yourself.)


xUnit 2.1 upgrade causes all tests to run with 'Inconclusive' results

All of my xBehave tests using the latest xUnit 2.1 NuGet packages now show as 'Inconclusive', whereas they don't if I revert to v2.0.  This is using the latest ReSharper 9.2 install in Visual Studio 2015, with the latest version of the xUnit.net Test Support for ReSharper 9 extension.
ReSharper's Internal mode outputs this, which seems to indicate that no tests were discovered (despite ReSharper's Unit Test Explorer showing them):
14:09:15.264: 1: Connecting to <IP_ADDRESS>:6074
14:09:15.269: 1: Waiting for tasks.
14:09:15.276: 3: Configuration received: <configuration><runner-paths /><runner-infos><runner-info id="xUnit" code-base="xunitcontrib.runner.resharper.runner.9.2.DLL" type-name="XunitContrib.Runner.ReSharper.RemoteRunner.XunitTaskRunner" /></runner-infos></configuration>
14:09:15.277: 3: Using JetBrains.ReSharper.TaskRunnerFramework.DummyClientController
14:09:15.290: 5:Runner thread: Processing packets
14:09:15.290: 5:Runner thread: <task-start />
14:09:15.290: 5:Runner thread: Executing 3 root tasks
14:09:15.292: 5:Runner thread: Loading TaskRunner xUnit (XunitContrib.Runner.ReSharper.RemoteRunner.XunitTaskRunner) from file:///C:/Users/jimmy.headdon/AppData/Local/JetBrains/Installations/ReSharperPlatformVs14_001/xunitcontrib.runner.resharper.runner.9.2.DLL
14:09:15.295: 5:Runner thread: <task-start><task task-type="XunitContrib.Runner.ReSharper.RemoteRunner.Tasks.XunitBootstrapTask, xunitcontrib.runner.resharper.runner.9.2, Version=<IP_ADDRESS>243, Culture=neutral, PublicKeyToken=null" runnerID="xUnit" id="ae3706c2-3a0c-4460-a119-80a76546c3a8" ProjectId="7CFE1566-A60B-42F8-B214-8E30D960564C" /></task-start>
14:09:15.301: 5:Runner thread: Setting current directory to C:\x.Tests\bin\x86\Debug
14:09:15.307: 5:Runner thread: Starting discovery
14:09:15.307: 5:Runner thread:   Diagnostic messages: False
14:09:15.307: 5:Runner thread:   Method display (forced): ClassAndMethod
14:09:15.307: 5:Runner thread:   Pre-enumerating theories: True
14:09:15.308: 5:Runner thread:   Synchronous message reporting: False
14:09:15.473: 5:Runner thread: Filtering test cases
14:09:15.477: 5:Runner thread: <task-start><task task-type="XunitContrib.Runner.ReSharper.RemoteRunner.Tasks.XunitBootstrapTask, xunitcontrib.runner.resharper.runner.9.2, Version=<IP_ADDRESS>243, Culture=neutral, PublicKeyToken=null" runnerID="xUnit" id="0b90d247-96e0-4515-842a-80a2af09563b" ProjectId="DD307EFB-3D92-455D-8A90-AEBA1077BC1D" /></task-start>
14:09:15.477: 5:Runner thread: Setting current directory to C:\x.Tests\bin\x86\Debug
14:09:15.479: 5:Runner thread: Starting discovery
14:09:15.479: 5:Runner thread:   Diagnostic messages: False
14:09:15.479: 5:Runner thread:   Method display (forced): ClassAndMethod
14:09:15.479: 5:Runner thread:   Pre-enumerating theories: True
14:09:15.479: 5:Runner thread:   Synchronous message reporting: False
14:09:15.558: 5:Runner thread: Filtering test cases
14:09:15.561: 5:Runner thread: <task-start><task task-type="XunitContrib.Runner.ReSharper.RemoteRunner.Tasks.XunitBootstrapTask, xunitcontrib.runner.resharper.runner.9.2, Version=<IP_ADDRESS>243, Culture=neutral, PublicKeyToken=null" runnerID="xUnit" id="79e7fd83-962e-4ef6-a836-73f8ded4c0fb" ProjectId="C2DDA3B3-321D-4555-AF2D-A2F0B9034C8C" /></task-start>
14:09:15.561: 5:Runner thread: Setting current directory to C:\x.Tests\bin\x86\Debug
14:09:15.563: 5:Runner thread: Starting discovery
14:09:15.563: 5:Runner thread:   Diagnostic messages: False
14:09:15.563: 5:Runner thread:   Method display (forced): ClassAndMethod
14:09:15.563: 5:Runner thread:   Pre-enumerating theories: True
14:09:15.563: 5:Runner thread:   Synchronous message reporting: False
14:09:15.640: 5:Runner thread: Filtering test cases
14:09:15.644: 5:Runner thread: Finished processing packets
14:09:15.644: 5:Runner thread: <task-finish result="Success" />
14:09:15.645: 3: Closing server

Any ideas?  I wonder if it's just the runner extension that needs updating, but I appear to have the latest available for all extensions and NuGet packages.

I am experiencing the same problem with a DNX project. I am getting the following error showing in the test runner window: "Unable to run xUnit.net tests - File not found: \artifacts\bin<test project><test project>.dll"
The runner seems to be looking for a test project output DLL in the artifacts/bin folder but there is no such output.
All tests show in the test explorer and result in Inconclusive: Test not run

@jimmyheaddon @Aerendel this is due to a compatibility issue between xbehave 2.0.0 and xunit 2.1.
The issue has been fixed in xbehave 2.0.1. If you upgrade xbehave from 2.0.0 to 2.0.1 this problem should go away.

Anyone who wants to help spread the word can RT this https://twitter.com/adamralph/status/651012200178561026 :wink:

Nice one @adamralph!


Verify if conservative bundling of cyclic dependencies is convenient in practice

The bundling of cyclic dependencies between modules has been changed in https://github.com/hacspec/hax/pull/1002 which results in bundles that contain all the content of the cycle. This might be impractical for some projects in which case we should find an algorithm to minimize the size of the bundles.

@karthikbhargavan experienced bad things with big bundles, so we may need to minimize the size of bundles.
We probably also want more verbosity, or at least to log things when -v is passed about what is causing a cycle.


SQLReduce unable to reduce sql

I couldn't run the first SQL that sqlsmith spewed out :( .
Can't dive deeper for now, but logging an issue before this is lost.
ubuntu@myip:~/proj/sqlreduce$ sqlreduce -d "$TCONNSTR" -f a.sql --debug
Traceback (most recent call last):
  File "/usr/bin/sqlreduce", line 11, in <module>
    load_entry_point('sqlreduce==1.0', 'console_scripts', 'sqlreduce')()
  File "/usr/lib/python3/dist-packages/sqlreduce/main.py", line 37, in sqlreduce_main
    min_query, state = sqlreduce.run_reduce(query,
  File "/usr/lib/python3/dist-packages/sqlreduce/__init__.py", line 1099, in run_reduce
    parsed_query = pglast.parse_sql(query)
  File "pglast/parser.pyx", line 276, in pglast.parser.parse_sql
pglast.parser.ParseError: syntax error at or near ";", at index 2295
ubuntu@myip:~/proj/sqlreduce$

ubuntu@myip:~/proj/sqlreduce$ psql -d postgres -h localhost
psql (15beta1)
Type "help" for help.

postgres=# \q
ubuntu@myip:~/proj/sqlreduce$ echo $TCONNSTR
host=localhost dbname=postgres user=ubuntu password=ubuntu
ubuntu@myip:~/proj/sqlreduce$

My bad. It helps if the SQL is complete :( Closing this one out.


CDK deploy fails due to the end of support of lambda nodejs12

CDK deploy fails with the following message dur to the end of support of lambda nodejs12
Resource handler returned message: "The runtime parameter of nodejs12.x is no longer supported for creating or updating AWS Lambda functions. We recommend you use the new runtime (nodejs18.x) while creating or updating functions. (Service: Lambda, Status Code: 400, Request ID: xxx)" (RequestToken: xxx, HandlerErrorCode: InvalidRequest)

Nice! Would you mind creating a PR for it, and I'll merge it to main


Do not fetch all users on application start, fetch only updates

Currently, we are fetching all the users from the server on the realm init, which is called on every application cold start.
I tested this out (in a local server) and the user addition works fine if the app is in the background or in the running but if the app is killed and a user registers on the server then this user info is not fetched.
Ideally, we could only pull the updates and can save a lot of network usage and the performance at startup can be increased as well!
Same goes for streams, realm_emoji but they can be ignored as they are really small as compared to users!

Hmm, there are realms like chat.zulip.org that have very large numbers of users. (GET chat.zulip.org/api/v1/users gives a response of 4.56 MB.)
@gnprice, @timabbott, what do you think? The currently open image caching and thumbnailing issues are more urgent (like https://github.com/zulip/zulip-mobile/issues/3853), and Boris makes a good point about the current API, but I wondered if there'd been any activity on this that we could track here.

Just a note: Compressed size is mostly what we care about, not uncompressed size.
We have a plan involving long-lived event queues that covers this issue in a way we expect to be successful long-term.  I'm not sure where the issue is for that, but probably this should be closed and just folded in as a bullet point on that issue/design doc.

I'm not sure where the issue is for that

I did some searching in zulip/zulip and didn't find it, but it sounds like it's being tracked. In Greg's description of the proposal, also, this issue is naturally covered, so it should be fine not to call it out as a special case.

Just a note: Compressed size is mostly what we care about, not uncompressed size.

Mm, that makes sense. (I just realized that we're getting the users with POST /register, not GET /users, but the response sizes are comparable with our params.) A content-length header isn't received with the response, but, indeed, curl shows that a POST /register to czo with our params is compressed with content-encoding: br to 902 KB, which is better than the 5.08 MB, uncompressed (sizes from using -w '%{size_download}').
The 13 MB image was image/jpeg; the server doesn't do additional compression, which makes sense, but it's still quite a large image.

Tim mentions that the PR thread for the ability to downgrade to a long-lived event queue is https://github.com/zulip/zulip/pull/12926.
So, closing this, and opening https://github.com/zulip/zulip-mobile/issues/3916, which will encompass this and other benefits and implementation details.


docs(threads): document threading-relating panics

Document possible panics related to invalid ThreadIds provided from outside the crate.
Disable indexing lints in riot-rs-runqueue and riot-rs-threads to reduce noise and because panic-freedom is either proven by hax or possible panics are documented.
depends on #219

LGTM


Who Are The People Raising DNS Requests?

User Need
As a Operations Engineering Team
I want some data about DNS requests
so that we understand more about how the service is used so that we can define a problem statement.
Value
Understanding more about the service will help us understand problems that might be valuable to solve.
Functional Requirements:

Collate data on numbers of requests per stakeholder.

Acceptance Criteria:

We have data.

Notes:

Raw data - https://docs.google.com/spreadsheets/d/1hJcy7Ni3_8NZkoI7sRlr0dFw8EWYFyaxaCbhpXtHRL8/edit?usp=sharing


Raspberry Pi 4 daemon install

Issue template

Hardware description: Raspberry Pi 4
OS: Ubuntu 20.04
Installation type: snap
Version or commit hash: snap version

Steps to reproduce the issue
I want to use microros-arduino to communicate from an OpenCR to a RaspberryPi 4. I did the snap installation and the following configuration:
sudo snap set micro-xrce-dds-agent transport=serial dev=/dev/ttyACM0
sudo snap set micro-xrce-dds-agent daemon=true
snap connect micro-xrce-dds-agent:serial-port snapd:virtualcomport

Then reboot.
Expected behavior
The agent connects properly to the usb device and receive data from the OpenCR.
Actual behavior
When coming back from the boot, if I do dmesg | grep tty, I get the following message:
audit: type=1400 audit(1637948726.589:47): apparmor="DENIED" operation="open" profile="snap.micro-xrce-dds-agent.daemon" name="/dev/ttyACM0" pid=1804 comm="MicroXRCEAgent" requested_mask="wr" denied_mask="wr" fsuid=0 ouid=0

So I'm not able to get data from the device.
Also, how can we see the log from the agent when running as daemon?
Additional information

Got some improvements. I found how to get the logs and realized that the service was not started. Now it works, but I get no connection from the OpenCR. When I plug the OpenCR on my laptop with Linux 20.01, I get automatic communication.


404 on detailed documentation links

The provided detailed links (like "CREATE EXTERNAL DATA SOURCE", https://docs.microsoft.com/en-us/sql/t-sql/statements/create-external-data-source-transact-sql.md) do not work. Removing .md from the link (https://docs.microsoft.com/en-us/sql/t-sql/statements/create-external-data-source-transact-sql.md) works.

Document Details
⚠ Do not edit this section. It is required for docs.microsoft.com ➟ GitHub issue linking.

ID: 8e253528-7277-9f78-06e7-fff9f91e7a79
Version Independent ID: 36ade0d7-ae89-da1e-2c74-65a4defefa84
Content: Tutorial: Polybase data load - Azure Storage Blob to Azure SQL Data Warehouse | Microsoft Docs
Content Source: articles/sql-data-warehouse/load-data-from-azure-blob-storage-using-polybase.md
Service: sql-data-warehouse
GitHub Login: @Ckarst
Microsoft Alias: cakarst

Including a screen capture of the affected link:

@jeroenwo @Ckarst Thanks for sending.  I am submitting a Pull Request that fixes these links.

#please-close

Hi, I tried to execute CREATE EXTERNAL DATA SOURCE NYTPublic
WITH
(
TYPE = Hadoop,
LOCATION =<EMAIL_ADDRESS>);
but I get the following error
Msg 102, Level 15, State 1, Line 4
Incorrect syntax near 'HADOOP'.


Feature/card redesign

Hi @gtvj
Here is the card redesign work which fixes #171
Notes

As our card HTML is duplicated I made the changes across 7 templates. Hopefully there hasn't been any drift between the HTML as it does get a bit confusing keeping them in sync!
This removes the <figure>  and <figcaption>. I recall us discussing why we were doing this, but I can't remember where! I think it was to do with screen readers reading out the cards in a certain way when there was a <figure>.
I added a conditional loop to render the no-image card on results pages.
This is likely to cause merge conflicts with https://github.com/nationalarchives/ds-wagtail/pull/198 as they both modify the cards, so in addition to creating the data migration for that PR, I'll need to spend some time resolving these conflicts.

The design was approved by SW, and it is based on the GDS cards. Feel free to suggest any changes to the design as well.
Questions

It seems like there is code in various JavaScript files such as scripts/src/home-page.js scripts/src/explorer.js and scripts/src/insights.js which serves the purpose of adding data-card-position to the cards. However, I noticed that in one case in explorer.js the data-card-position attribute was added only on the secondary-nav-card link, whereas in other circumstances such as insights.js, the data-card-position was only added to the div tag. In some cases, such as card-group-promo__card, the data-card-position attribute is added on the div and the link. Therefore:

Do you know if data-card-position should be on the card div, the card's link, or both?
If data-card-position should be on the link, will it need to be added to the new separate link which is now on the card images? (as we've moved away from having one link for the cards)

Testing
You can test the cards by adding a "Featured external page" on your local home page. As the HTML for the cards is duplicated, testing in one area should give the same results as testing on other areas such as an Explorer card. The card-group-record-summary HTML is slightly different, so testing that will require creating an explorer results page, which is a bit complicated at the moment without a db dump. Maybe it's worth waiting until the script to pull content from the database is up and running.
Screenshots
card-group-secondary-nav

card-group-record-summary

Thanks :+1:

Hi @AshTNA,
Thanks for your work on this: I think this PR is going to need a populated database to be reviewed (there are so many variants of cards and content that I'd like to see them all 'in action', so to speak).
In terms of your questions - we spent quite a bit of time going through each of the cards with Helen to ensure the data attributes were being placed in the right places (and, if I recall correctly, there were some variations). It might be that those things you've identified would reflect that but I think we'll need to check with @hoake. @AshTNA - could you pick this up with Helen?
@jacobtoppm - how is the work on setting something up so that developers can get local instances of the database up and running going? I'd like to do this PR when that's in place.

@gtvj - Unfortunately most of my time has been going towards putting the sessions together for the last few days, I've only had a little time to look at the CMS data import so far, so not a huge amount of progress. I'm hoping to get some more time for this soon!

Thanks @jacobtoppm - it would be great (if at all possible) if you were able to progress setting up the 'data onto developer machines' process this week. Let me know if you think that would be doable.

No problem @gtvj - I definitely think that's doable. It's just been a lack of time so far between the sessions (and pairing work) over the last couple of days, but from what I've been able to look into so far, I think getting a basic pull + anonymise working shouldn't be too tricky. In future I think it would be good to restrict access to the production environment and just occasionally pull and anonymise data from that onto staging (and have devs exclusively pull from staging) as we discussed, but for now I'll focus on getting the basic version working.


Octree

Checklist

[x ] I've looked at the contribution guidelines.
[x ] This pull request is complete and ready for review.

Description

Implements an Octree. Similar to the Quad Tree already present but used to subdivide 3D space instead of 2D.

Good to see you again @JaapWijnen! I'll review this as soon as I can (we're a bit backed up at the moment, but I should have some time to look at it this week.)

Looks good. Thanks @JaapWijnen!

@JaapWijnen thanks for your Octree implementation! Great!
I was just having a look at it and it seems that you have an initialiser that takes minimumCellSize but it isn't used?!? Or am I just blind? :)


Stop event bubbling on bs-button

Is it possible to stop event bubbling when passing a closure action into the onClick handler of a bs-button?
My use case is:  table row navigates to a route on click, button in table row deletes row on click. Clicking delete button should not navigate to table row, it should only delete the record.
This isn't working:
{{#bs-button size="sm" onClick=(action "destroy" model bubbles=false) type="danger"}}
  Delete
{{/bs-button}}

Any help greatly appreciated!

@adambedford thanks for mentioning this. I actually think preventing the event to bubble should be the default behavior (maybe configurable?). This needs to be fixed!

Thanks, Simon! Now, as someone new to ember ... how do I bundle this latest version of ember-bootstrap?

Once a new release is cut, it will be as simple as updating the ember-bootstrap version in your package.json and doing an install with npm or yarn. You could use a GitHub branch reference to get it sooner, but you would pick up ongoing changes.

@adambedford to get zit immediately, you can reference ember-bootstrap using kaliber5/ember-bootstrap#45b8482e57e0a3b3217d9f55fe6cff83c42edf13minsteqd of the version number in your package.json, and npm install.

Thanks @srvance and @simonihmig, I successfully pulled this version. It actually ended up breaking my form submissions, however. Perhaps the button submit isn't now bubbling up to the form? The form's onSubmit action isn't being called when clicking a button with buttonType="submit"

@adambedford Oh, that's bad. Will fix this asap


Error in open.connection(x, "rb") :    SSL certificate problem: certificate has expired when trying to do the pitch plots from understat? Probably my fault haha but very confused

Error in open.connection(x, "rb") :    SSL certificate problem: certificate has expired when trying to do the pitch plots from understat? Probably my fault haha but very confused

see #15


Fix flake8 deps for tox

Coverage remained the same at 92.188% when pulling bde6558b11dae453bdbcfee271d5ec432d3f8804 on fix_flakes into 36886830b8959f1fa1c4f03e7342da74d8acc313 on develop.