Ref parameter - cannot use reference to this

Steps To Reproduce
https://dotnetfiddle.net/7qwXlu
https://deck.net/b60b6107c8a83cb84a324da0f8e5389b
public class App
{
    public static void Main()
    {
        new S().RefThisTest();
    }

  private struct S
   {
       public int i, j;

       public S(int i, int j)
       {
           this.i = i;
           this.j = j;
       }

       public void RefThisTest()
       {
           i = 11;
           j = 12;
           M(ref this);
           Assert.AreEqual(i, 42);
           Assert.AreEqual(j, 43);
       }

       private static void M(ref S s)
       {
           Assert.AreEqual(s.i, 11);
           Assert.AreEqual(s.j, 12);
           s = new S(42, 43);
           Assert.AreEqual(s.i, 42);
           Assert.AreEqual(s.j, 43);
       }
   }
}

@LeonidVeriga, it's not allowed in native C#, see this.

Hi @michaelcheers, the code sample in the steps to reproduce allowed- .Net Fiddle

Fixed by PR #2994


Merge Game and GameInstance

Those two class contains the same information, merging those two together now will save us a lot of time later

I feel like merging Game and GameInstance would be better, as they seem the most similar to me. I'll work on that now.

Completed!


STM32MP157A-DK1 manual build failed

I've tried on a brand new LMDE installation, just in case.
compilation fails when trying to cross-compile arm-trusted-firmware against STM32MP157A-DK1.
albirew@VDS-FUSR9:~/arm-trusted-firmware$ make CROSS_COMPILE=${CC} PLAT=stm32mp1 ARCH=aarch32 ARM_ARCH_MAJOR=7 STM32MP_SDMMC=1 STM32MP_EMMC=1 AARCH32_SP=sp_min DTB_FILE_NAME=stm32mp157a-dk1.dtb BL33_CFG=../u-boot/u-boot.dtb BL33=../u-boot/u-boot-nodtb.bin all fip
Including bl32/sp_min/sp_min.mk
  AS      stm32mp1.S
  LDS     /home/albirew/arm-trusted-firmware/build/stm32mp1/release/stm32mp1-stm32mp157a-dk1.o

Built /home/albirew/arm-trusted-firmware/build/stm32mp1/release/tf-a-stm32mp157a-dk1.bin successfully

Generate /home/albirew/arm-trusted-firmware/build/stm32mp1/release/tf-a-stm32mp157a-dk1.stm32
Image Type   : ST Microelectronics STM32 V1.0
Image Size   : 212945 bytes
Image Load   : 0x2ffc2500
Entry Point  : 0x2ffe9000
Checksum     : 0x005cdd59
Option     : 0x00000001
Version    : 0x00000000

Building stm32mp1

Building tools/fiptool/fiptool
  HOSTCC  fiptool.c
In file included from fiptool.h:16,
                 from fiptool.c:19:
fiptool_platform.h:19:11: fatal error: openssl/sha.h: No such file or directory
   19 | # include <openssl/sha.h>
      |           ^~~~~~~~~~~~~~~
compilation terminated.
make[1]: *** [Makefile:50: fiptool.o] Error 1
make: *** [Makefile:1272: tools/fiptool/fiptool] Error 2
rm /home/albirew/arm-trusted-firmware/build/stm32mp1/release/stm32mp1-stm32mp157a-dk1.o /home/albirew/arm-trusted-firmware/build/stm32mp1/release/tf-a-stm32mp157a-dk1.elf /home/albirew/arm-trusted-firmware/build/stm32mp1/release/tf-a-stm32mp157a-dk1.bin
albirew@VDS-FUSR9:~/arm-trusted-firmware$

github-actions ubuntu artifact is working fine but there's no debian artifact for 157A-DK1, hence my attempt at manual build.

Hi! You are missing the openssl header files.
Need to install libssl-dev dependency
example: sudo apt install libssl-dev

Ah, many thanks, i was indeed missing this one.


The processed file sounds correctly after the VAD, but the model still seems to know where the big silence gap was and stops at this place.

❓Help - The processed file sounds correctly after the VAD, but the model still seems to know where the big silence gap was and stops at this place.
Hi, maybe someone faced with such a situation: I'm trying to apply the silero-VAD before the wav2vec model. The processed file sounds correctly after the VAD, but the model still seems to know where the big silence gap was and stops at this place.
Any guesses as to why this might be?

Not sure I can understand.
Can you maybe post a minimal example?

Not sure I can understand. Can you maybe post a minimal example?

The idea is as follows: apply VAD to the original file audio.wav, and use the collect_chunks() function to get the processed file without non-speech fragments - only_speech.wav. Then pass this only_speech.wav file as the input to the wav2vec model.
But the thing is, if the original audio file contains longer pauses (about 2 sec), VAD process them successfully and sounds correctly, but the wav2vec model still seems to know where this pause was and stops at this place as if identifying it as the end of the file.
And I can't figure out how the model identifies this pause in the only_speech.wav file. As if there is some marker...

audio_files.zip
there are files for an example.
wav2vec model transcribed just this part (using only_speech.wav file): IN OUR WORK WE ARE OFTEN SURPRISED BY THE FACT THAT MOST PEOPLE KNOW ABOUT AUTOMATIC SPEECH RECOGNITION BUT NOW VERY LITTLE ABOUT VOICE ACTIVITY DETECTION


Error when converting face_landmark.tflite to ONNX.

I want to convert face_landmark.tflite to onnx.
So I tried the method below:
python -m tf2onnx.convert --tflite face_landmark.tflite --output face_landmark.onnx

However, I keep getting the error below.
struct.error: unpack_from requires a buffer of at least 168430094 bytes for unpacking 4 bytes at offset 168430090 (actual buffer size is 129390)

Any workarounds?

I solved this problem using conversion from tfjs to onnx.
But, I couldn't create an onnx file using a tflite file.

Hi @170928 ,
Mediapipe team doesn't recommend or support converting models from TFLite.


[FMD-8] create separate DB instance for tests

https://dluhcdigital.atlassian.net/browse/FMD-8
Change description
Adding additional DB name to setup scripts, to separate local app DB from unit test DB.
This will prevent Pytest setup/teardown fixtures affecting the scope of a local DB .

[x] README and other documentation has been updated / added (if needed)
[x] Commit messages are meaningful and follow good commit message guidelines (e.g. "FS-XXXX: Add margin to nav items preventing overlapping of logo")

How to test
If manual testing is needed, give suggested testing steps

Could we add a reference to the test db here as well?
I've actually just noticed that this bit of code requires https://github.com/mrts/docker-postgresql-multiple-databases to be cloned. Now I've cloned it and I'm going to test if it works. If it does then the race conditions issue we thought we were facing may actually be incorrect 😁
https://github.com/communitiesuk/funding-service-design-post-award-docker-runner/blob/7d4d320304bb02ee019e30335e3cf1d7d3ceeb5f/docker-compose.yml#L79-L79

Still running into an issue where the script isn't run anyway... so for now looks like we need to rely on running the db creation code separately via reset-empty-db.sh etc
2023-11-13 11:58:45 /usr/local/bin/docker-entrypoint.sh: ignoring /docker-entrypoint-initdb.d/*

Could add the variable here anyway in case we get it working in the future https://github.com/communitiesuk/funding-service-design-post-award-docker-runner/pull/20#issuecomment-1807993241


DOM driver imports both ES and CommonJS snabbdom modules

https://github.com/cyclejs/cyclejs/blob/9f0cd38f4b583aee31e714afc617727e766d05f5/dom/src/makeDOMDriver.ts#L2
I have examined together with @patomation an analysis of a webpack bundle that includes @cycle/dom and we have found in it that both CommonJS and ES snabbdom modules are included.
From my understanding of imports and webpack and snabbdom, here's what may be wrong: the above line is the only import in @cycle/dom code that is resolved to an ES snabbdom module, possibly because webpack may be reading this:
https://github.com/snabbdom/snabbdom/blob/665d9d39ff874955254d89b381c392a6ae4e94b1/package.json#L9
And all of the rest of the snabbdom imports refer directly to CommonJS module paths inside of the package. For example:
https://github.com/cyclejs/cyclejs/blob/9f0cd38f4b583aee31e714afc617727e766d05f5/dom/src/hyperscript-helpers.ts#L2-L3
So we end up with some duplicate snabbdom modules in the bundle and even worse — most of them are CommonJS.
This while snabbdom does provide an ES modules build.

Would be fixed by #944.

Just as current workaround with webpack it can be fixed by using:
new webpack.NormalModuleReplacementPlugin(
   /snabbdom\/[^\/]*$/,
   (resource) => {
      resource.request = resource.request.replace(/snabbdom\//, 'snabbdom/es/' )
})


Verify whether offchain storage for commitments could lead to data availability problems

See https://github.com/Snowfork/polkadot-ethereum/pull/205#pullrequestreview-568365393 for details

To quote @vgeddes and the docs at https://substrate.dev/docs/en/knowledgebase/learn-substrate/off-chain-features#off-chain-indexing:

... off-chain indexing is populating the storage every time a block is processed, so the data is always consistent and will be exactly the same for every node with indexing enabled.

So, the only thing we need to ensure is that all nodes run with --enable-offchain-indexing. Then their offchain storage will be eventually consistent and contain the same messages.
@philipstanislaus feel free to re-open this if you still have unanswered questions.

@Rizziepit not sure this is true. i think as new transactions/blocks generate or update offchain state, new sections of the offchain state will eventually be consistent, but it's not clear if old sections or sections that are untouched will be shared and become consistent?

I think @Rizziepit is right, as long as nodes sync from scratch (or sync far enough back so the extrinsics with the oldest relevant messages are actually processed).

@musnit the full quote from the docs is this:
Unlike OCWs, **which are not executed during initial blockchain synchronization**, off-chain indexing is populating the storage every time a block is processed, so the data is always consistent and will be exactly the same for every node with indexing enabled.

This implies to me that off-chain indexing happens during the initial sync, i.e. all state changes to off-chain storage are replayed. Like @philipstanislaus said, as long as we're doing a sync from the initial block or a safe block, we're golden.
I am assuming that, even if something like a "quick" or "warp" sync comes into existence (I am just throwing words around - I don't know the specifics of Polkadot), we will have the option to run our parachain node such that it does a "full" sync, i.e. the kind of sync described in the docs.


Fix property attribute detection

I realized my initial work on #233 and #232 overlooked custom attributes on properties and checking them against each of the generated methods. This resolves that with a few updated tests and may achieve the desired result for #81 if you add CompilerGenerated to the list of excluded attributes.
I didn't create a new issue for this per the contribution guidelines since it was technically related to an existing one, but let me know if you want one there.

Question: Can someone confirm whether this resolves #81 and if so, which version of coverlet this bug fix is in/will be in? Thanks!

@ardalis I can confirm if run the nightly build and exclude CompilerGenerated attribute, it does exclude them from my reports (dropping about 80 lines off my coverable lines). I think that achieves the goal of #81 .


Improved the global transform api to access rotation and scale

Objective
GlobalTransform's current methods make it unintuitive, long and clunky to access just the rotation or just the scale.
Solution
Dedicated just_rotation() and scale() methods to access just these properties.
I'm not sure about the naming, I chose just_rotation() to show that try to indicate there is a waste since it also computes the other fields.
Testing

Did you test these changes? If so, how?
I tried logging the methods with a rotating and scaling cube and the values were correct.
Are there any parts that need more testing?
My methods are based on existing bevy/glam methods so should be correct from the getgo.
How can other people (reviewers) test your changes? Is there anything specific they need to know?
Probably the easiest is using the 3d_rotations example, adding scaling to it and then logging the methods I added

Showcase
fn log(gt_query: Query<&GlobalTransform>) {
        for global_transform in gt_query().iter() {
                   println!("{} {}", global_transform.just_rotation(), global_transform.scale());
        }
}

I'd like to see a couple of tests for the scale method, ideally hitting all 8 octants of xyz space.

I'm not very familiar with bevy's testing, could you tell me where these tests would exist in the repo ?

I'd like to see a couple of tests for the scale method, ideally hitting all 8 octants of xyz space.

I'm not very familiar with bevy's testing, could you tell me where these tests would exist in the repo ?
Or did you just mean that I should just test them once on my machine, so that we see it works.

In the file where scale is defined, in a module called tests, add a #[test] or two that provides code coverage.

Why did you copy glam code for scale, but used the method for rotation?

It's unnecessary to extract everything for computing the scale. Extracting rotation requires first getting the scale, but extracting just the scale doesn't need any of the rest of the code in to_scale_rotation_translation.

I added tests and fixed the comments


Typo and missing comma in Desktop Integration doc page

Missing comma in the 'setUserTasks' as well as a typo in the description under "User tasks (Windows)"

Thanks!


docker_container polling operations are not always desirable.

It turns out that the fix for #498 causes test-kitchen runs to go from a few minutes to over 20.
-----> Kitchen is finished. (23m40.86s)
zlib(finalizer): the stream was freed prematurely.

real    23m41.562s
user    0m9.277
sys     0m2.473s
laptop:~/src/opscode-cookbooks/docker$

We should probably add a property on the resource to make this optional while still letting redeploy be safe
-s

Do you know what was hanging it up? Containers traversing to the running
state must take a lot longer than expected...
On Oct 13, 2015 4:49 PM, "Sean OMeara"<EMAIL_ADDRESS>wrote:

It turns out that the fix for #498
https://github.com/bflad/chef-docker/issues/498 causes test-kitchen
runs to go from a few minutes to over 20.
-----> Kitchen is finished. (23m40.86s)
zlib(finalizer): the stream was freed prematurely.
real    23m41.562s
user    0m9.277
sys     0m2.473s
laptop:~/src/opscode-cookbooks/docker$
We should probably add a property on the resource to make this optional
while still letting redeploy be safe
-s
—
Reply to this email directly or view it on GitHub
https://github.com/bflad/chef-docker/issues/510.

That's pretty much it. I was also surprised. Apparently the old behavior
was just "fork and forget"
-s
On Tue, Oct 13, 2015 at 4:58 PM, Chase Bolt<EMAIL_ADDRESS>wrote:

Do you know what was hanging it up? Containers traversing to the running
state must take a lot longer than expected...
On Oct 13, 2015 4:49 PM, "Sean OMeara"<EMAIL_ADDRESS>wrote:

It turns out that the fix for #498
https://github.com/bflad/chef-docker/issues/498 causes test-kitchen
runs to go from a few minutes to over 20.
-----> Kitchen is finished. (23m40.86s)
zlib(finalizer): the stream was freed prematurely.
real 23m41.562s
user 0m9.277
sys 0m2.473s
laptop:~/src/opscode-cookbooks/docker$
We should probably add a property on the resource to make this optional
while still letting redeploy be safe
-s
—
Reply to this email directly or view it on GitHub
https://github.com/bflad/chef-docker/issues/510.

—
Reply to this email directly or view it on GitHub
https://github.com/bflad/chef-docker/issues/510#issuecomment-147887596.

What actually could be happening is a container go from created  > running

completed faster than the wait method checks. This would cause running to
be false (since it already completed) and the wait to do a full timeout
cycle of 20 seconds.

We need to check one of the timestamp fields as well to catch this case.
On Oct 13, 2015 5:23 PM, "Sean OMeara"<EMAIL_ADDRESS>wrote:

That's pretty much it. I was also surprised. Apparently the old behavior
was just "fork and forget"
-s
On Tue, Oct 13, 2015 at 4:58 PM, Chase Bolt<EMAIL_ADDRESS>wrote:

Do you know what was hanging it up? Containers traversing to the running
state must take a lot longer than expected...
On Oct 13, 2015 4:49 PM, "Sean OMeara"<EMAIL_ADDRESS>wrote:

It turns out that the fix for #498
https://github.com/bflad/chef-docker/issues/498 causes test-kitchen
runs to go from a few minutes to over 20.
-----> Kitchen is finished. (23m40.86s)
zlib(finalizer): the stream was freed prematurely.
real 23m41.562s
user 0m9.277
sys 0m2.473s
laptop:~/src/opscode-cookbooks/docker$
We should probably add a property on the resource to make this optional
while still letting redeploy be safe
-s
—
Reply to this email directly or view it on GitHub
https://github.com/bflad/chef-docker/issues/510.

—
Reply to this email directly or view it on GitHub
<https://github.com/bflad/chef-docker/issues/510#issuecomment-147887596
.

—
Reply to this email directly or view it on GitHub
https://github.com/bflad/chef-docker/issues/510#issuecomment-147890634.

Yes, the polling for container running makes the kitchen run very slow (especially if the container crashes for another reason, then we have to wait 20 seconds at least per container)... We could probably reduce the "sleep 1" to a shorter delay to make this more reactive.

I don't believe the solution in #511 was the correct one, and it may have masked some other problems.  While working on #679 I modified this logic back to the default and I noticed that the full timeout was being hit, even though the container was in the desired state.  The timeout appears to be due to the fact that the container object is not being updated in the state() method.  As such wait_running_state() will block for the full timeout unless the container is already in the desired state as changes are not registered.  My current assumption is that multi-operation actions the calls to individual actions will cause load_current_value to refresh the container object.
I have a patch in 06ca5d6 which I believe resolves this and #679 completely which I'm still testing.  A PR may be delayed until my company gets a CCLA in place.

Do you have a working test case for this that you can gist?

@chasebolt What kind of a tests are you looking for?  I figured this out with prints and 'watch docker ps' running in another window, so I don't have an automated test case.  I do have a test cookbook where redeploy takes 20s without the patch to state() but that's no good for automation.
I considered making wait_running_state() throw an exception on timeout, as something is probably wrong if the container doesn't reach the desired state in 20s and that would cause test failures, but I wasn't sure if others would agree.

You are correct on the container.info['State'] is returning stale info and your patched change for that looks good :+1:

I'm curious what others opinions are on the following patch:
https://github.com/CVTJNII/docker/commit/ededfcfbd811860bb5b80ba62db6884004939038
This will cause wait_running_state() to throw an exception if it times out.  I believe this is better behavior as a) the container not changing state in 20s is bad and probably not a case where Chef can keep trundling along, b) this allows wait_running_state to be wrapped in a with_retries block which is useful in resolving some races I've been seeing in my testing and c) this should cause tests to fail on the timeout case, which I believe would meet test requirements for 06ca5d6.
I plan to open a PR with this once we have a CCLA in place, but wish to get opinions on it in the mean time.


Add pages + ironman filter to lb minigames

[x] I have tested all my changes thoroughly.

@ellipsis-dev review this pr


FEATURE: RB-35 Support ecommerce-demo for AIO

Build succeeded (check pipeline).

https://checklist.intgdc.com/job/compliance/job/gooddata-public-demos-oss-check/119/ : SUCCESS in 4s


_logs and _src urls show 404

I try to follow the docs https://zeit.co/docs/v2/deployments/basics/. I'm on this paragraph:

It is important to understand that Now keeps track of sources and outputs. If we add the special pathname /_src at the end of the deployment, we will be able to inspect them:

However now matter how I tried appending _src or _logs shows 404 page. I even made a mistake and now-cli pointed me to the logs page that is 404.

Closing because inactive


Promise support 2

Resolves https://github.com/whatadewitt/yfsapi/issues/41
Duplicate functionality to https://github.com/whatadewitt/yfsapi/pull/44, wanted to try a different approach. Not sure which I like better. Your call, or if you don't want to look at both, just throw this one out.

Still need to fix tests for non-game resources

I think I forgot to handle these cases in this version. Working on that now.


Expose get method for entities list

Provide context for this pr. Also do not unecessarily rename variables.


Polybar config not loading

Describe the issue
A clear and concise description of what the bug is.
I used polybar -c config while in .config/polybar and expected a bar to pop up but it only gave me the help menu.
Expected behavior: Loads the config
A clear and concise description of what you expected to happen.
Actual behavior:
What actually happens
To Reproduce
A minimal but complete config with which the problem occurs:

List any other steps needed to reproduce the issue besides starting polybar with the config you posted above.
Polybar Log
Post everything polybar outputs to the terminal when you run it and the issue occurs below
Usage: polybar [OPTION]... BAR

  -h, --help               Display this help and exit
  -v, --version            Display build details and exit
  -l, --log=LEVEL          Set the logging verbosity (default: WARNING)
                           LEVEL is one of: error, warning, info, trace
  -q, --quiet              Be quiet (will override -l)
  -c, --config=FILE        Path to the configuration file
  -r, --reload             Reload when the configuration has been modified
  -d, --dump=PARAM         Print value of PARAM in bar section and exit
  -m, --list-monitors      Print list of available monitors and exit
  -w, --print-wmname       Print the generated WM_NAME and exit
  -s, --stdout             Output data to stdout instead of drawing it to the X window
  -p, --png=FILE           Save png snapshot to FILE after running for 3 seconds

Screenshots
If applicable, add screenshots to help explain your problem.
http://0x0.st/sy3_.png
Environment:

WM: Openbox
Output of polybar -vvv:

polybar 3.2.1

Features: +alsa +curl -i3 +mpd +network +pulseaudio +xkeyboard

X extensions: +randr (+monitors) -render -damage -sync -composite +xkb +xrm +xcursor

Build type: RelWithDebInfo
Compiler: /usr/bin/c++
Compiler flags: -march=x86-64 -mtune=generic -O2 -pipe -fstack-protector-strong -fno-plt -Wall -Wextra -Werror -Wno-noexcept-type -O2 -pedantic -pedantic-errors
Linker flags: -Wl,-O1,--sort-common,--as-needed,-z,relro,-z,now

Additional context
Add any other context that you think is necessary about the problem here.

I guess you figured it out yourself. For others: At the end of the polybar command, you have to specify the name of the bar.

Ye I'm so sorry, it's been a while since I've used Polybar and I kept trying to launch the config 😂

Don't worry about it ;)


@nuxtjs/apollo mysterious error on server side rendering

Hello ! Apollo is amazing with Vue.js et Nuxt.js, thanks so much @Akryum !
But i have a stranger error on SSR : this throw a 500 error on production server : https://yineo-website-xzfiffgbwg.now.sh/

You must wrap the query string in a "gql" tag.

BUT if work if you go first to contact page, and let client rendered the homepage : https://yineo-website-xzfiffgbwg.now.sh/contact
here is my apollo call :
<template>
  <Presentation :posts="postsQuery.results" />
</template>

<script>
import Presentation from '~/components/Presentation'
import postsQuery from '~/apollo/queries/postsQueryHomepage'
export default {
  transition: 'page',
  components: { Presentation },
  apollo: {
    postsQuery: {
      query: postsQuery,
      prefetch: true
    }
  }
}
</script>

for whatever reason, if i build it locally (npm run build && npm run start), this error does not appear :-/

closing, there is a dedicated depot here : https://github.com/nuxt-community/apollo-module


Added deer placement rules, and shallow water

Motivation
closes #218
What was changed/added
Added a new entity type - SHALLOW - which a water tile with ground beneath, and nothing (or decoration) above it. This is added together with other dropzones in the _ready function, and like other types of conditional zones, is colored yellow.
Implemented the deer placement rule (which we discussed a while ago), which is as follows: The deer can be placed on top of any other animal as normal, and inside shallow waters, as long as the entire deer is within water.
Testing
As you can see, you can place the deer only if its either partially on ground, or entirely in shallow waters.
https://github.com/mango-gremlin/arch-enemies/assets/104799849/c5202c3b-1b7c-43f1-bb51-0fed7071c691
Additional Information
Let me know if you find any bugs or want to change something. If you have any suggestings on the placement rule (not its implementation), that should probably discussed in the discord server.
Also, in case any merge conflicts arise as a consequence of other merges, I will try to fix those before merging into main.

the problem is fixed for the deer, but persists with other animals, should be fixed in another issue as discussed
https://github.com/mango-gremlin/arch-enemies/assets/104799849/21a0c29b-9471-4d9d-b9ea-fe959a8b9d3d


Package create breaks when a cosign signature image exists in the package and in the cache

Environment
Device and OS: Ubuntu Linux (but pretty sure will happen with any OS)
App version: v0.34.0
Steps to reproduce
This will occur with any package that uses a cosign image such as ghcr.io/stefanprodan/podinfo:sha256-57a654ace69ec02ba8973093b6a786faa15640575fbf0dbb603db55aca2ccec8.sig

zarf package create examples/helm-charts
zarf package create examples/helm-charts again

Expected result
The package build will work fine
Actual Result
The package build fails with the following error

Severity/Priority
Medium, while we have not yet heard of someone running into this we should fix this before the next release
By running zarf tools clear-cache this resolve the error (until the next run)

I can say with relative confidence that crane is compressing the layer of the signature file that looks like below. Not sure what the logic is that determines which files should or should not be compressed.  I believe the easiest solution is to skip putting layers in the cache if they are not from a container image.
A few ideas

check if all of the layers are uncompressed
check if all the layers of the image are image layers and not something like "application/vnd.dev.cosign.simplesigning.v1+json"

We are already planning to check if the config.mediaType == "application/vnd.oci.image.config.v1+json" in #1974 before putting an image in the cache for helm charts as OCI images, though that would do anything in the case of cosign signatures as they have the same config.mediaTypes as images.
{
  "critical": {
    "identity": {
      "docker-reference": "ghcr.io/stefanprodan/podinfo"
    },
    "image": {
      "docker-manifest-digest": "sha256:57a654ace69ec02ba8973093b6a786faa15640575fbf0dbb603db55aca2ccec8"
    },
    "type": "cosign container image signature"
  },
  "optional": null
}

This is the function to reproduce. First we write the image and populate the cache, then we delete the image so that on the next write crane will attempt to write again and pull from the cache. We will get the error error writing layer: expected blob size 244, but only wrote 205. 205 is the file size received if the one of the layers from the image ghcr.io/stefanprodan/podinfo:sha256-57a654ace69ec02ba8973093b6a786faa15640575fbf0dbb603db55aca2ccec8.sig is run through the internal crane function ReadCloserLevel
func run() error {
	cwd, err := os.Getwd()
	if err != nil {
		return err
	}

	craneDirectory := filepath.Join(cwd, "crane")

	cranePath, err := layout.Write(craneDirectory, empty.Index)
	if err != nil {
		return err
	}
	ref := "ghcr.io/stefanprodan/podinfo:sha256-57a654ace69ec02ba8973093b6a786faa15640575fbf0dbb603db55aca2ccec8.sig"
	img, err := crane.Pull(ref, []crane.Option{}...)
	if err != nil {
		return err
	}
	img = cache.Image(img, cache.NewFilesystemCache(filepath.Join(cwd, "cache")))
	err = cranePath.WriteImage(img)
	if err != nil {
		return err
	}

	_ = os.RemoveAll(craneDirectory)

	err = cranePath.WriteImage(img)
	if err != nil {
		return err
	}
	return nil
}


Improve Account History chart

Task

[ ] Discuss with Jon and David to understand the desired behaviour
[ ] Explore different options and socialise to see what makes most sense for people
[ ] Decide what we want to do to make it better
[ ] Implement changes
[ ] etc.

For example we might want to aggregate the data into the right intervals, and then fill the gaps in order to make a more useful view
Review the set of intervals and queries in account-history-container.tsx
Maciek has done something similar with candles, drawing horizontal lines when there is a gap between candles, that we could leverage
Bug (originally reported by David)
x axis seems to always be 8h

I have more than 24h of history but the day / week etc. buttons don’t seem to do much:

And the x-axis seems to be always like 8 hours, maybe 9? Is this known or a bug and issue to be filed

but the bahviour described isn't actually what happens

We've killed this


[DEV-233807] Fix merge 3.3.0

Fixing merge with the correct version code and updating some dependencies to the v3.3.0.

:x: @andresguedes this pull request title 'Fix merge 3.3.0' is incorrect!
Please insert your Jira ID issue on title according the follow convention: [DEVAUTOM-12345], [DEV-12345] or [INF-12345]

:x: @andresguedes this pull request title '[DEV]Fix merge 3.3.0' is incorrect!
Please insert your Jira ID issue on title according the follow convention: [DEVAUTOM-12345], [DEV-12345] or [INF-12345]


Multi-GPU control

The current situation is that each SSD can only be controlled by one GPU. Is it possible to achieve control and reading of one SSD by multiple GPUs?

Do you have a link to the lsm-gnn paper? I can't find the article online.

It seems like the paper is not public. I am working with the author to understand when it will go public. I will update once I have more information.

Okay, I'm so looking forward to your work.

I have read the LSM-GNN paper and my question is whether multiple GPUs can simultaneously control one SSD, or whether each GPU controls a different SSD separately. I see that the GIDS Multi GPU code uses GPUs to separately control different SSDs.

@zhanglizhi15 Hello, is lsm-gnn open source? Can you provide a link to the code?

@shizuocheng LSM-GNN is under review and hence it is not open source.
@zhanglizhi15 BaM by default does not support multi-GPU code access shared SSD. This is nontrivial as you must maintain data consistency when performing writes to the shared drive. However, if your workload is read-only, then it is bit easier to make a change and support it.

The multi-gpu branch of this GitHub repository （https://github.com/jeongminpark417/GIDS.git）. LSM-GNN is not yet open source, but the code is similar to it.

Thank you so much! However, I tried the GIDS multi-gpu branch and found that the GIDS_Loader interface is not provided in this branch. In the multi-gpu implementation, the source code of dgl.dataloading.DataLoader is directly modified, so it cannot be run directly. Can you please run through multiple gpus?

@shizuocheng can we take these questions in the GIDS git repository? The issue you are highlighting requires discussion in that repository and not here.


fix race

when reading an object through a race, we are required to stretch two states - release / acquire
in this context, initialization does not go through a race, but through a synchronization block, but reading an object without synchronization is not valid in this case
two options:
add synchonized (blocking) to all methods everywhere - not the best option
and making the field volatile is a better option
But you can go further, creating CHM is a cheap operation, with low competition for this method it is better to do CAS in for-loopE, so we get much more performance

Thanks, but this seems like a premature fix (we only ever insert into this map from a single thread)

Thanks, but this seems like a premature fix (we only ever insert into this map from a single thread)

just for reasons that you have getChildMap published through a race, I made changes, if this method is called in one thread, we don’t need a lock at all (synchonized)
otherwise, if getChildMap is still rummaged through different threads, then we still have to put volatile on the map (even if the other methods are read by 1 thread), the map is published through a race, you can also replace CHM with HashMap


Response headers not passed along if error cause is invalid JSON

https://github.com/binance/binance-connector-python/blob/a49db79a78b0e71aae2f1861de5f69ec71f9cbb2/binance/api.py#L179
I see no reason why passing on the original response headers to ClientError - which is what id done in the other error path, is not the correct thing to do here.
Is this a simple typo, swapping the last and second-last arguments?

Thanks for pointing out this. It has been updated in the latest version.


Demo url

https://portal.loganalytics.io/demo no longer exists

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

ID: 773e07ff-6bd8-47b2-5b83-75c7246693e6
Version Independent ID: 8723d5a6-ac93-0dba-b2b8-83905d807d67
Content: Tutorial: Get started with Log Analytics queries - Azure Monitor
Content Source: articles/azure-monitor/log-query/get-started-portal.md
Service: azure-monitor
Sub-service: logs
GitHub Login: @bwren
Microsoft Alias: bwren

@DruiBanshee Thanks for your comment! We will review and provide an update as appropriate.

Duplicate or related to #57829
Assigning @bwren for visibility, review, to help provide insights and for document enhancement consideration as appropriate.

Thanks. That URL does need to be updated. I'm verifying with the PMs the correct URL before I update the article.

Correct URL is https://ms.portal.azure.com/#blade/Microsoft_Azure_Monitoring_Logs/DemoLogsBlade. I'll get the article updated.

#please-close


tutorial is incomplete or does not work

Type of issue
Code doesn't work
Feedback
nothing works, not even the android studio setup, the java setup for example returns an error that the java home env var is pointing to an invalid folder. emulator does not start. too much to write here.
Page URL
https://learn.microsoft.com/en-us/windows/dev-environment/javascript/react-native-for-android
Content source URL
https://github.com/MicrosoftDocs/windows-dev-docs/blob/docs/hub/dev-environment/javascript/react-native-for-android.md
Author
@drewbatgit
Document Id
e39706ca-3548-03e8-672f-9e7d5bff92ae

@josersleal Thanks for reporting this issue. We have updated the page to refer to the Set Up Your Environment in the React native docs. And we have updated the instructions to recommend retrieving the JDK install directory from the settings page in Android Studio rather than hardcoding the path in the page. Hopefully, both of these changes will help to prevent the tutorial from breaking when the underlying, external technologies make changes. I have run through the new page content successfully end-to-end, so hopefully this will allow you to complete the tutorial. Although there are certain details, such as the specifics of your Android Studio installation, that I am unable to reproduce or validate. Thanks again for reporting the errors you found in this page.


Critical vulnerability for rack 0.0.0 in docker-scout

Hello
I am currently using "@pact-foundation/pact": "^12.3.0" as a dev dependency in a NextJS project. Docker-scout is listing a critical vulnerability for rack 0.0.0 , and the package path is:
Type: gem
Location:
<EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS>We upgraded the @pact-foundation/pact version based on https://github.com/pact-foundation/pact-ruby-standalone/issues/132 issue hoping it would fix this but the location is linking back to @pact-foundation/pact-core

Closing due to lack of response, and I also think the report is invalid as per previous comments


Reflect sections for the week, month, quarter and year

I really like the dedicated daily reflect page, and was wondering if it would be possible to add in a weekly, monthly, quarterly and yearly reflect sections?
It can be something very similar (weekly/monthly summary, gratefulness, milestones/challenges, weekly/monthly log).

Yep, that is something that I was also thinking about
I'll try to get this done this year 😬


Sync time axis for multiple TimeSeriesView

In my setup I am displaying data in two TimeSeriesView. The TimeSeriesView are positioned in a vertical viewport above each other. To compare the data from multiple axis, I have to manually position the x-axis (time in this case) to align well. It would be great if there would be a way to keep the two time-/x-axis in sync between the two views.
I was wondering if there could be a flag on the vertical viewport to sync the x-axis for contained TimeSeriesViews.
If someone could provide me with some pointers on how to implement this feature, I am more than happy to work on a pull request.

If someone could provide me with some pointers on how to implement this feature, I am more than happy to work on a pull request.

I think this boils down to being able to connect blueprint properties of views with each other, so this might quickly turn into a more general infrastructure task.
Essentially this property should be automatically sourced from a different view or by implementing an inheritance scheme for containers (that would be closer to your idea of putting it on a container).
A more short-term solution that's worth experimenting with would be to add an optional view id to that property archetype specifically.
I'm surprised we didn't have an issue for this already (couldn't fine any at least)

In my setup I am displaying data in two TimeSeriesView. The TimeSeriesView are positioned in a vertical viewport above each other. To compare the data from multiple axis, I have to manually position the x-axis (time in this case) to align well. It would be great if there would be a way to keep the two time-/x-axis in sync between the two views.

Is there anything in particular in your use case that is preventing you from displaying the two timeseries in the same view?

Is there anything in particular in your use case that is preventing you from displaying the two timeseries in the same view?

The y-scale of the data is very different. This makes it hard to show the data in the same TimerSeriesView. For this task, it would be possible to have to Y-axis plotted in one TimeSeriesView. However, this works only for two y-axis and doesn't scale for more Y-axis or separating out the data into multiple TimeSeriesViews (e.g. one TimeSeriesView for forces, one for centroidal position, one for torques of a robot etc).

@Wumpf @teh-cmc Do you have a pointer for me how to update the global state to keep track from a shared x-axis range from the TimeSeriesViews?

Is there a way to pass down a shared state through all the components to all the views?

no, not yet. One part of our vision in this area is that containers can have arbitrary view properties set that then propagate down the tree and are used whenever a view doesn't set anything. I.e. the view property accessors/queries would be aware of an inheritance tree.
That idea doesn't account for a view changing the property of its parents rather than writing to its own, but yeah some kind of toggle that would make it propagate upward rather than set things locally might be a good way to go about this! 🤔

Is there a kind of event system to listen to zoom / position changes in the TimeSeriesViews and then update the global x-axis range?

Generally, all views operate in isolation and are very free in how interactions are implemented. In the case of the time series view this is for the most part just egui plot. There's already properties that the interaction writes out to the blueprint store e.g. here https://github.com/rerun-io/rerun/blob/59773c91f70868642ad25a0be9792f1432e31da7/crates/viewer/re_space_view_time_series/src/space_view_class.rs#L505

Thanks for your comments @Wumpf .
Over the weekend I looked at the code a bit. It seems like the egui_plot has a build in way to link axes of different plots together. See here the example from egui_plot: https://github.com/emilk/egui_plot/blob/main/demo/src/plot_demo.rs#L669
You can play with a demo of the linked axes here: https://emilk.github.io/egui_plot/ (click on the "Linked Axes" tab on the top).
If we use this linked axes feature, the TimeSeriesViews could have a new property like "SharedAxesNames" (which is a string). The TimerSeriesViews with the same SharedAxesNames will then be synced.
Do you think this is worth exploring further?

it could be that we also need to use something like this to avoid frame delays, but generally I don't think that's a good direction to take as that would completely sidestep the state we have in the blueprint and thus what is controlled from api, shown in the ui and stored on disk

Makes sense to want to keep things stored in the blueprint.
If we would store a hash-map with SharedAxesNames -> range in the blueprint with a similar call to scalar_axis.save_blueprint_component(ctx, &new_y_range); , would that be the way to go?

Another thing I didn't think of before is that you'll need some "new special place" to store and write that map though. Right now the structure of the blueprint store is fairly rigid and very very undocumented. But in a nutshell there's a definition of a container hierarchy with the leaf level, the views, having a bit or leeway to store arbitrary properties in sub-entities.
So for this to work you'd ofc need to find a place in that hierarchy for those new "global properties"

I managed to implement a shared-x-axis. At the moment all TimeSeriesViews use the same shared x-axis. The shared x-axis is written to the blueprint. The code is quite hacked and I am not sure it will work well when the data is streaming in and the x-axis gets updated to the last x seconds.
@Wumpf : Would you mind taking a link on the current changes and tell me what you think? I was wondering if there should be a SharedAxesNames on the TimeSeriesSpaceViewState which determines which TimeSeriesViews to link. Is there a way to set this string as a property in the property panel on the right side (like in a text box)? Otherwise, you mentioned this feature could be programmatically only for now. Let me know what you think should be implemented first.
My current code is here: https://github.com/jviereck/rerun/tree/issue-7931-sync-x-axis
Video of the changes:
https://github.com/user-attachments/assets/43511593-7632-48c7-b0fc-ce7f19666565

Hmm actually I guess for what you want you want to specifically link the VisibleTimeRange property. So maybe it is "just" about it having a UUID or even better an EntityPath to link someone elses timerange? 💡

first we need a new property archetype that defines what's actually visible on screen left/right

This could look something like this:
table TimeAxis (
    "attr.rerun.scope": "blueprint",
    "attr.rust.derive": "Default"
) {
    /// The range of the axis.
    ///
    /// If unset, the range well be automatically determined by the visible time range of the view.
    range: rerun.components.Range1D ("attr.rerun.component_optional", nullable, order: 2100);

    /// If enabled, the time axis range will remain locked to the specified range when zooming.
    zoom_lock: rerun.blueprint.components.LockRangeDuringZoom ("attr.rerun.component_optional", nullable, order: 2200);

    // ⬅ Add a hack for linking to another view here.
}

it could work with some more hacks and custom ui. But really I'd like that to be the uuid of an existing view and not an made-up one. I'm not entirely sure about the repercussions of breaking the blueprint entity hierarchy in such a way, so please understand that I'd be very hesitant to land it like that.

Thanks @Wumpf for your last reply. That makese sense. I will explore adding a linkage in the table TimeAxis.

Thanks for being so understanding and patient on this, especially given that I clearly don't quite know yet exactly how to solve this myself apart from some vague future plans 😅
We still have a lot of work in front of us to get the internals better documented 🤔 . As you can tell a big part of that is that the dust hasn't quite settled yet and there's many decisions we'd like to iterate on.
On a related note: One thing that's very useful for debugging & understanding the blueprint hierarchy is the blueprint timeline visualization which is an option in Debug builds only right now (we want to make it an exposed thing, but it doesn't work super well yet and it looks kinda bad)

So my current idea is to add a new sync_with field on a table with optinal type re_viewer_context.SpaceViewId. If this field is set, the TimeSeriesView looks up the x-axis from this other TimeSeriesView and thereby synces them. I wonder how this field sync_with would be populated. Assuming this is set during the blueprint definition from the SDK, it looks like the python SDK definition for the TimeSeriesView is here:
Looking at the generated code in here: https://github.com/rerun-io/rerun/blob/main/rerun_py/rerun_sdk/rerun/blueprint/views/time_series_view.py#L143
It looks like the fields on the table TimeSeriesView can be set from Python. This requires the value to be of blueprint_archetypes though. I wonder if instead of putting the sync_with field on the table TimeAxis as proposed before by @Wumpf , this new field should go on the table TimeSeriesView instead?
Assuming the field sync_with goes on table TimeSeriesView, it looks like there is no archetype for re_viewer_context.SpaceViewId yet.
Does it therefore make senes to implement a new re_viewer_context.SpaceViewId archetype?

Other idea might be to add a string name to table TimeSeriesViewand then havesync_withbe a string as well. When drawing theTimeSeriesView, there could be a lookup-by-name function that returns the SpaceViewIdof theTimeSeriesView` with a given name.

I pondered this a lil bit more and synced with @jleibs to coordinate what solution we'd like to have medium term. Leading to the writeup of this related issue documenting the issues with the time axis in the absence of syncing

https://github.com/rerun-io/rerun/issues/8050

With that context established, back to this issue and let's say we want to skip #8050 and jump ahead as quickly as possible :). Jumping a bit for didactic reasons:

Does it therefore make senes to implement a new re_viewer_context.SpaceViewId archetype?

Sort of! I think what we want is a new LinkedSpaceViewId component which then lives on the TimeAxis property-archetype that is defined in #8050. If, for expediency, we want to leave out all the other fields that were proposed there, we can just (somewhat similar to your first prototype) store a hacky globally time range but do so for every view.
Each view that has the LinkedSpaceViewId set can then grab that time range and apply it!

Other idea might be to add a string name to table TimeSeriesView

That's not quite how the structure on the views works: The idea is is that each view has a series of property archetypes, each containing a bunch of components defining the property.
In the blueprint store each of these archetype actually goes into a sub-entity of the entity-path that represents the view itself, which allows overlapping components between those different property archetypes (i.e. those archetypes are there to establish a sort of context)

It looks like the fields on the table TimeSeriesView can be set from Python.

Yes. Let me clarify a bit further: (almost) everything that is defined in those fbs files is available from all SDK languages (it's just that some important scaffolding is missing so far to have blueprint be accessible from C++ and Rust). And vice versa every built-in type that Rerun stores in blueprint or the store comes from these.
Hope that makes sense!

Thanks for the write up. I am a bit confused what to do.

can just (somewhat similar to your first prototype) store a hacky globally time range but do so for every view.

What do you mean by "global"? Can you maybe draw an outline where in the blueprint debug pannel these entries would live?

Each view that has the LinkedSpaceViewId set can then grab that time range and apply it!

When constructing the TimeAxis in python, how would I create the LinkedSpaceViewId and then reference to it from multiple TimeSeriesViews?

What do you mean by "global"? Can you maybe draw an outline where in the blueprint debug pannel these entries would live?

Global was a bit of a misnomer: The thing you did in your prototype I would have called global because it isn't tied to the entity of a specific view (whose path is derived from the view's id). But it would be ofc better to put it in a subpath of a view, so it's not really global but also doesn't quite follow the current system since there wouldn't be a formal definition (via fbs) where that data is (unless all of #8050 is implemented :)).

When constructing the TimeAxis in python, how would I create the LinkedSpaceViewId and then reference to it from multiple TimeSeriesViews?

For decent ergonomics this requires some work on the Python API, but for a less fluid api this should be already possible I believe: the ids are created on the python side in SpaceView.__init__. So if one adds the LinkedSpaceViewId component after creating the "parent" view, the id should be available.

Also, would the TimeSeriesViews just lookup the LinkedSpaceViewId and it would point to the same object from multiple views? Is the field treated as a pointer that can be shared?

yeah my idea would be to treat LinkedSpaceViewId like a pointer of sorts: you can create an entity path "inside" a different view with it and read out its data, thus creating the link.

Thanks for the explanations @Wumpf.

But it would be ofc better to put it in a subpath of a view, so it's not really global but also doesn't quite follow the current system since there wouldn't be a formal definition (via fbs) where that data is (unless all of https://github.com/rerun-io/rerun/issues/8050 is implemented :)).

Would this data still be saved in a blueprint? If so, how can data be loaded and stored without a fbs?
I am worried side stepping the fbs and other infrastructure will make solving this issue quite a hack. I am therefore leaning towards implementing the fbs from #8050 for this feature.
What do you think?

Would this data still be saved in a blueprint? If so, how can data be loaded and stored without a fbs?

yes. Those fbs files are strictly just for the codegen that generates types (and their serialization!) for all sdk languages. But that doesn't prevent just making up stuff that isn't defined in those. Otherwise custom component/data types wouldn't work either.
doing #8050 first (and separately) would definitely be preferable, yes :). I was just looking for ways to cutting corners to speed this up 🤷

Let's assume #8050 is implemented, what would be the way to link multiple TimeSeriesViews together (where linking together means to share the view range and query data range)?

I am not planning to work on this.
@Wumpf , do you have a timeline by when this will be implemented?

I was really hoping to get to that sooner, but other things keep cropping up, so no timeline unfortunately


Ha-catt-fix installed, but still recasting constantly.

I've experienced this on and off from the beginning. Sometimes it works fine for hours. Most of the time it only works for a few seconds and the. I just see the screen recreating and casting over and over.
Could you help me figure out the issue?

Here is a longer log.
_homeassistant_logs.txt

Hi, what device are you using to cast to? I see it's named 'TV' but is it a Google Hub?

Closing issue, will reopen if the issue remains 👍

A Chromecast device plugged into the TV.
On Fri, May 24, 2024, 12:58 PM b0mbays @.***> wrote:

Closed #59
https://github.com/b0mbays/continuously_casting_dashboards/issues/59 as
completed.
—
Reply to this email directly, view it on GitHub
https://github.com/b0mbays/continuously_casting_dashboards/issues/59#event-12929130152,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ARQFDKHQJS4BAHDZBJALOYTZD6LXVAVCNFSM6AAAAABGCYH426VHI2DSMVQWIX3LMV45UABCJFZXG5LFIV3GK3TUJZXXI2LGNFRWC5DJN5XDWMJSHEZDSMJTGAYTKMQ
.
You are receiving this because you authored the thread.Message ID:
<b0mbays/continuously_casting_dashboards/issue/59/issue_event/12929130152@
github.com>

I have logs on, and it seems to be working fine today so far. I'll try to
collect some logs and post them soon.
On Fri, May 24, 2024, 1:09 PM b0mbays @.***> wrote:

It looks like the Chromecast never reports the "Dummy" state that the hubs
report when a dashboard is active, which is resulting in the endless loop.
It surprises me that it sometimes works for hours... Don't suppose you have
any logs for when it does work?
I'll try and cast to my Nvidia Shields Chromecast and see if there's
something else I can do to check whether the dashboard is being cast.
—
Reply to this email directly, view it on GitHub
https://github.com/b0mbays/continuously_casting_dashboards/issues/59#issuecomment-2130285862,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ARQFDKCNMGWPKY65JU3AOVLZD6NATAVCNFSM6AAAAABGCYH426VHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDCMZQGI4DKOBWGI
.
You are receiving this because you authored the thread.Message ID:
@.***>

I've noticed a similar behaviour, its not very frequent but seen it recast itself a few times each day

I believe it's supposed to recast every 9 minutes. Mine seems to get into a
loop where it  recasts sooner and sooner until you just see it recreating
the screen ever few seconds until it eventually stops and doesn't cast at
all.
On Sat, Jun 8, 2024, 6:32 AM thewookiewon @.***> wrote:

I've noticed a similar behaviour, its not very frequent but seen it recast
itself a few times each day
—
Reply to this email directly, view it on GitHub
https://github.com/b0mbays/continuously_casting_dashboards/issues/59#issuecomment-2156038826,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ARQFDKBPJL6Z5IU3N2XOHZTZGMBYXAVCNFSM6AAAAABGCYH426VHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDCNJWGAZTQOBSGY
.
You are receiving this because you authored the thread.Message ID:
@.***>

I believe this issue is, this doesn't work well with a lot of the cards I've added. I haven't even been able to use it the past few weeks at all due to it never load for more then a second.  I removed a lot of the new cards I've added and it seems to be working. Unfortunately, I can't display what I want to display it seems: my custom scrolling stock/crypto/metals ticker using tailwindcss-template-card as well as many cards using card-templater seem to cause so much lag/reloading that it stops the cast. it seems the chromecast is just not capable of handling my dash board. Here is the log of things working for a little (all though the screen was recreating itself very often during this time until the cast eventually stops, reverts to default chromecast screen and the TV can no longer be found). Followed by me try8ng some state cases. I found that it will cast a screen on state, but it isn't stable and eventually stops and also can't be found, then state cast doesn't worm. I've I caused that log further below
media) is playing on Kitchen TV...
2024-07-20 09:20:16.533 DEBUG (MainThread) [custom_components.continuously_casting_dashboards.dashboard_caster] All device map: {'Kitchen TV': {'instances': [{'dashboard_url': 'http://<IP_ADDRESS>:8123/kitchen-calendar-dedicated/kitchen-calendar-dedicated/default_view?kiosk', 'dashboard_state_name': 'Dummy', 'media_state_name': 'PLAYING', 'volume': -1, 'start_time': datetime.time(7, 0), 'end_time': datetime.time(1, 1), 'instance_change': False, 'speaker_groups': None}], 'current_instance': 0}}
Current device map: {'Kitchen TV': {'dashboard_url': 'http://<IP_ADDRESS>:8123/kitchen-calendar-dedicated/kitchen-calendar-dedicated/default_view?kiosk', 'dashboard_state_name': 'Dummy', 'media_state_name': 'PLAYING', 'volume': -1, 'start_time': datetime.time(7, 0), 'end_time': datetime.time(1, 1), 'instance_change': False, 'speaker_groups': None}}
2024-07-20 09:20:16.533 INFO (MainThread) [custom_components.continuously_casting_dashboards.dashboard_caster] Current local time: 09:20:16.533395
2024-07-20 09:20:16.533 INFO (MainThread) [custom_components.continuously_casting_dashboards.dashboard_caster] Local time is inside the allowed casting time for Kitchen TV. Start time: 07:00:00 - End time: 01:01:00
2024-07-20 09:20:18.841 DEBUG (MainThread) [custom_components.continuously_casting_dashboards.dashboard_caster] Status output for Kitchen TV when checking for dashboard state 'Dummy': Title: Dummy 09:11:53 GMT-0700 (Pacific Daylight Time)
5
Volume muted: False
2024-07-20 09:20:21.286 DEBUG (MainThread) [custom_components.continuously_casting_dashboards.dashboard_caster] Status output for Kitchen TV when checking for dashboard state 'Dummy': Title: Dummy 09:11:53 GMT-0700 (Pacific Daylight Time)
5
Volume muted: False
2024-07-20 09:20:21.286 INFO (MainThread) [custom_components.continuously_casting_dashboards.dashboard_caster] HA Dashboard (or media) is playing on Kitchen TV...
2024-07-20 09:21:06.287 DEBUG (MainThread) [custom_components.continuously_casting_dashboards.dashboard_caster] All device map: {'Kitchen TV': {'instances': [{'dashboard_url': 'http://<IP_ADDRESS>:8123/kitchen-calendar-dedicated/kitchen-calendar-dedicated/default_view?kiosk', 'dashboard_state_name': 'Dummy', 'media_state_name': 'PLAYING', 'volume': -1, 'start_time': datetime.time(7, 0), 'end_time': datetime.time(1, 1), 'instance_change': False, 'speaker_groups': None}], 'current_instance': 0}}
Current device map: {'Kitchen TV': {'dashboard_url': 'http://<IP_ADDRESS>:8123/kitchen-calendar-dedicated/kitchen-calendar-dedicated/default_view?kiosk', 'dashboard_state_name': 'Dummy', 'media_state_name': 'PLAYING', 'volume': -1, 'start_time': datetime.time(7, 0), 'end_time': datetime.time(1, 1), 'instance_change': False, 'speaker_groups': None}}
2024-07-20 09:21:06.288 INFO (MainThread) [custom_components.continuously_casting_dashboards.dashboard_caster] Current local time: 09:21:06.287442
2024-07-20 09:21:06.288 INFO (MainThread) [custom_components.continuously_casting_dashboards.dashboard_caster] Local time is inside the allowed casting time for Kitchen TV. Start time: 07:00:00 - End time: 01:01:00
2024-07-20 09:21:08.935 DEBUG (MainThread) [custom_components.continuously_casting_dashboards.dashboard_caster] Status output for Kitchen TV when checking for dashboard state 'Dummy': Title: Dummy 09:20:53 GMT-0700 (Pacific Daylight Time)
5
Volume muted: False
2024-07-20 09:21:11.343 DEBUG (MainThread) [custom_components.continuously_casting_dashboards.dashboard_caster] Status output for Kitchen TV when checking for dashboard state 'Dummy': Title: Dummy 09:20:53 GMT-0700 (Pacific Daylight Time)
5
Volume muted: False
2024-07-20 09:21:11.344 INFO (MainThread) [custom_components.continuously_casting_dashboards.dashboard_caster] HA Dashboard (or media) is playing on Kitchen TV...
After some time even my standard dashboard with new stuff removed will eventually crash and then dash cast doesn't do anything after. I've tried adding a state change once the TV is lost, but cast doesn't seem to want to try again after it can't find the TV for whatever reason.
2024-07-20 11:06:42.134 INFO (MainThread) [custom_components.continuously_casting_dashboards.dashboard_caster] HA Dashboard (or media) is playing on Kitchen TV...
2024-07-20 11:07:27.135 DEBUG (MainThread) [custom_components.continuously_casting_dashboards.dashboard_caster] All device map: {'Kitchen TV': {'instances': [{'dashboard_url': 'http://<IP_ADDRESS>:8123/kitchen-calendar-dedicated/kitchen-calendar-dedicated/default_view?kiosk', 'dashboard_state_name': 'Dummy', 'media_state_name': 'PLAYING', 'volume': -1, 'start_time': datetime.time(7, 0), 'end_time': datetime.time(1, 1), 'instance_change': False, 'speaker_groups': None}], 'current_instance': 0}}
Current device map: {'Kitchen TV': {'dashboard_url': 'http://<IP_ADDRESS>:8123/kitchen-calendar-dedicated/kitchen-calendar-dedicated/default_view?kiosk', 'dashboard_state_name': 'Dummy', 'media_state_name': 'PLAYING', 'volume': -1, 'start_time': datetime.time(7, 0), 'end_time': datetime.time(1, 1), 'instance_change': False, 'speaker_groups': None}}
2024-07-20 11:07:27.135 INFO (MainThread) [custom_components.continuously_casting_dashboards.dashboard_caster] Current local time: 11:07:27.135300
2024-07-20 11:07:27.135 INFO (MainThread) [custom_components.continuously_casting_dashboards.dashboard_caster] Local time is inside the allowed casting time for Kitchen TV. Start time: 07:00:00 - End time: 01:01:00
2024-07-20 11:07:50.781 DEBUG (MainThread) [custom_components.continuously_casting_dashboards.dashboard_caster] Status output for Kitchen TV when checking for dashboard state 'Dummy': Volume: 5
Volume muted: False
2024-07-20 11:07:57.859 INFO (MainThread) [custom_components.continuously_casting_dashboards.dashboard_caster] HA Dashboard is NOT active on Kitchen TV...
2024-07-20 11:07:57.859 DEBUG (MainThread) [custom_components.continuously_casting_dashboards.dashboard_caster] Checking media status for Kitchen TV
2024-07-20 11:08:05.001 DEBUG (MainThread) [custom_components.continuously_casting_dashboards.dashboard_caster] Media is not playing on Kitchen TV
2024-07-20 11:08:05.001 INFO (MainThread) [custom_components.continuously_casting_dashboards.dashboard_caster] Casting dashboard to Kitchen TV
2024-07-20 11:08:05.005 DEBUG (MainThread) [custom_components.continuously_casting_dashboards.dashboard_caster] Executing stop command...
Error: Specified device "Kitchen TV" not found.
2024-07-20 11:08:42.234 ERROR (MainThread) [custom_components.continuously_casting_dashboards.dashboard_caster] Asyncio TimeoutError checking PLAYING state for Kitchen TV:
2024-07-20 12:18:28.846 DEBUG (MainThread) [custom_components.continuously_casting_dashboards.dashboard_caster] Entity 'input_boolean.casting_to_kitchen_display_main' state changed to: on
Now I get nothing.

After restarting again, with my older dashboard. It's not getting disconnected from the cast now, but continously cast doesn't seem to see its already casting but then recasts every 45 second with the default recast delay check.
2024-07-20 14:53:18.143 DEBUG (MainThread) [custom_components.continuously_casting_dashboards.dashboard_caster] All device map: {'Kitchen TV': {'instances': [{'dashboard_url': 'http://<IP_ADDRESS>:8123/kitchen-calendar-dedicated/kitchen-calendar-dedicated/default_view?kiosk', 'dashboard_state_name': 'Dummy', 'media_state_name': 'PLAYING', 'volume': -1, 'start_time': datetime.time(7, 0), 'end_time': datetime.time(1, 1), 'instance_change': False, 'speaker_groups': None}], 'current_instance': 0}}
Current device map: {'Kitchen TV': {'dashboard_url': 'http://<IP_ADDRESS>:8123/kitchen-calendar-dedicated/kitchen-calendar-dedicated/default_view?kiosk', 'dashboard_state_name': 'Dummy', 'media_state_name': 'PLAYING', 'volume': -1, 'start_time': datetime.time(7, 0), 'end_time': datetime.time(1, 1), 'instance_change': False, 'speaker_groups': None}}
2024-07-20 14:53:18.143 INFO (MainThread) [custom_components.continuously_casting_dashboards.dashboard_caster] Current local time: 14:53:18.142989
2024-07-20 14:53:18.143 INFO (MainThread) [custom_components.continuously_casting_dashboards.dashboard_caster] Local time is inside the allowed casting time for Kitchen TV. Start time: 07:00:00 - End time: 01:01:00
2024-07-20 14:53:29.384 DEBUG (MainThread) [custom_components.continuously_casting_dashboards.dashboard_caster] Status output for Kitchen TV when checking for dashboard state 'Dummy': Volume: 5
Volume muted: False
2024-07-20 14:53:37.534 DEBUG (MainThread) [custom_components.continuously_casting_dashboards.dashboard_caster] Status output for Kitchen TV when checking for dashboard state 'Dummy': Volume: 5
Volume muted: False
2024-07-20 14:53:37.534 INFO (MainThread) [custom_components.continuously_casting_dashboards.dashboard_caster] HA Dashboard is NOT active on Kitchen TV...
2024-07-20 14:53:37.534 DEBUG (MainThread) [custom_components.continuously_casting_dashboards.dashboard_caster] Checking media status for Kitchen TV
2024-07-20 14:53:41.114 DEBUG (MainThread) [custom_components.continuously_casting_dashboards.dashboard_caster] Media is not playing, waiting 5 seconds before re-checking...
2024-07-20 14:53:51.976 DEBUG (MainThread) [custom_components.continuously_casting_dashboards.dashboard_caster] Media is not playing on Kitchen TV
2024-07-20 14:53:51.976 INFO (MainThread) [custom_components.continuously_casting_dashboards.dashboard_caster] Casting dashboard to Kitchen TV
2024-07-20 14:53:51.980 DEBUG (MainThread) [custom_components.continuously_casting_dashboards.dashboard_caster] Executing stop command...
2024-07-20 14:53:56.956 DEBUG (MainThread) [custom_components.continuously_casting_dashboards.dashboard_caster] Setting volume to 0...
2024-07-20 14:53:59.129 INFO (MainThread) [custom_components.continuously_casting_dashboards.dashboard_caster] Executing the dashboard cast command...
Error: Specified device "Kitchen TV" not found.
2024-07-20 14:54:06.109 INFO (MainThread) [custom_components.continuously_casting_dashboards.dashboard_caster] Setting volume to 5...
2024-07-20 14:54:53.640 DEBUG (MainThread) [custom_components.continuously_casting_dashboards.dashboard_caster] All device map: {'Kitchen TV': {'instances': [{'dashboard_url': 'http://<IP_ADDRESS>:8123/kitchen-calendar-dedicated/kitchen-calendar-dedicated/default_view?kiosk', 'dashboard_state_name': 'Dummy', 'media_state_name': 'PLAYING', 'volume': -1, 'start_time': datetime.time(7, 0), 'end_time': datetime.time(1, 1), 'instance_change': False, 'speaker_groups': None}], 'current_instance': 0}}
Current device map: {'Kitchen TV': {'dashboard_url': 'http://<IP_ADDRESS>:8123/kitchen-calendar-dedicated/kitchen-calendar-dedicated/default_view?kiosk', 'dashboard_state_name': 'Dummy', 'media_state_name': 'PLAYING', 'volume': -1, 'start_time': datetime.time(7, 0), 'end_time': datetime.time(1, 1), 'instance_change': False, 'speaker_groups': None}}
2024-07-20 14:54:53.641 INFO (MainThread) [custom_components.continuously_casting_dashboards.dashboard_caster] Current local time: 14:54:53.640347
2024-07-20 14:54:53.641 INFO (MainThread) [custom_components.continuously_casting_dashboards.dashboard_caster] Local time is inside the allowed casting time for Kitchen TV. Start time: 07:00:00 - End time: 01:01:00
2024-07-20 14:54:55.938 DEBUG (MainThread) [custom_components.continuously_casting_dashboards.dashboard_caster] Status output for Kitchen TV when checking for dashboard state 'Dummy': Volume: 5
Volume muted: False
2024-07-20 14:54:58.398 DEBUG (MainThread) [custom_components.continuously_casting_dashboards.dashboard_caster] Status output for Kitchen TV when checking for dashboard state 'Dummy': Volume: 5
Volume muted: False
2024-07-20 14:54:58.399 INFO (MainThread) [custom_components.continuously_casting_dashboards.dashboard_caster] HA Dashboard is NOT active on Kitchen TV...
2024-07-20 14:54:58.399 DEBUG (MainThread) [custom_components.continuously_casting_dashboards.dashboard_caster] Checking media status for Kitchen TV
2024-07-20 14:55:00.903 DEBUG (MainThread) [custom_components.continuously_casting_dashboards.dashboard_caster] Media is not playing, waiting 5 seconds before re-checking...
2024-07-20 14:55:08.680 DEBUG (MainThread) [custom_components.continuously_casting_dashboards.dashboard_caster] Media is not playing on Kitchen TV
2024-07-20 14:55:08.680 INFO (MainThread) [custom_components.continuously_casting_dashboards.dashboard_caster] Casting dashboard to Kitchen TV
2024-07-20 14:55:08.684 DEBUG (MainThread) [custom_components.continuously_casting_dashboards.dashboard_caster] Executing stop command...
2024-07-20 14:55:13.441 DEBUG (MainThread) [custom_components.continuously_casting_dashboards.dashboard_caster] Setting volume to 0...
2024-07-20 14:55:15.907 INFO (MainThread) [custom_components.continuously_casting_dashboards.dashboard_caster] Executing the dashboard cast command...
Casting http://<IP_ADDRESS>:8123/kitchen-calendar-dedicated/kitchen-calendar-dedicated/default_view?kiosk on "Kitchen TV"...
2024-07-20 14:55:19.739 INFO (MainThread) [custom_components.continuously_casting_dashboards.dashboard_caster] Setting volume to 5...
2024-07-20 14:56:07.097 DEBUG (MainThread) [custom_components.continuously_casting_dashboards.dashboard_caster] All device map: {'Kitchen TV': {'instances': [{'dashboard_url': 'http://<IP_ADDRESS>:8123/kitchen-calendar-dedicated/kitchen-calendar-dedicated/default_view?kiosk', 'dashboard_state_name': 'Dummy', 'media_state_name': 'PLAYING', 'volume': -1, 'start_time': datetime.time(7, 0), 'end_time': datetime.time(1, 1), 'instance_change': False, 'speaker_groups': None}], 'current_instance': 0}}
Current device map: {'Kitchen TV': {'dashboard_url': 'http://<IP_ADDRESS>:8123/kitchen-calendar-dedicated/kitchen-calendar-dedicated/default_view?kiosk', 'dashboard_state_name': 'Dummy', 'media_state_name': 'PLAYING', 'volume': -1, 'start_time': datetime.time(7, 0), 'end_time': datetime.time(1, 1), 'instance_change': False, 'speaker_groups': None}}
2024-07-20 14:56:07.097 INFO (MainThread) [custom_components.continuously_casting_dashboards.dashboard_caster] Current local time: 14:56:07.097122
2024-07-20 14:56:07.097 INFO (MainThread) [custom_components.continuously_casting_dashboards.dashboard_caster] Local time is inside the allowed casting time for Kitchen TV. Start time: 07:00:00 - End time: 01:01:00
2024-07-20 14:56:16.735 DEBUG (MainThread) [custom_components.continuously_casting_dashboards.dashboard_caster] Status output for Kitchen TV when checking for dashboard state 'Dummy': Volume: 5
Volume muted: False
2024-07-20 14:56:23.490 DEBUG (MainThread) [custom_components.continuously_casting_dashboards.dashboard_caster] Status output for Kitchen TV when checking for dashboard state 'Dummy': Volume: 5
Volume muted: False
2024-07-20 14:56:23.490 INFO (MainThread) [custom_components.continuously_casting_dashboards.dashboard_caster] HA Dashboard is NOT active on Kitchen TV...
2024-07-20 14:56:23.490 DEBUG (MainThread) [custom_components.continuously_casting_dashboards.dashboard_caster] Checking media status for Kitchen TV
2024-07-20 14:56:28.609 DEBUG (MainThread) [custom_components.continuously_casting_dashboards.dashboard_caster] Media is not playing, waiting 5 seconds before re-checking...
2024-07-20 14:56:41.466 DEBUG (MainThread) [custom_components.continuously_casting_dashboards.dashboard_caster] Media is not playing on Kitchen TV
2024-07-20 14:56:41.467 INFO (MainThread) [custom_components.continuously_casting_dashboards.dashboard_caster] Casting dashboard to Kitchen TV
2024-07-20 14:56:41.471 DEBUG (MainThread) [custom_components.continuously_casting_dashboards.dashboard_caster] Executing stop command...
2024-07-20 14:56:46.551 DEBUG (MainThread) [custom_components.continuously_casting_dashboards.dashboard_caster] Setting volume to 0...
2024-07-20 14:56:49.021 INFO (MainThread) [custom_components.continuously_casting_dashboards.dashboard_caster] Executing the dashboard cast command...
Casting http://<IP_ADDRESS>:8123/kitchen-calendar-dedicated/kitchen-calendar-dedicated/default_view?kiosk on "Kitchen TV"...
2024-07-20 14:56:52.506 INFO (MainThread) [custom_components.continuously_casting_dashboards.dashboard_caster] Setting volume to 5...
2024-07-20 14:57:39.895 DEBUG (MainThread) [custom_components.continuously_casting_dashboards.dashboard_caster] All device map: {'Kitchen TV': {'instances': [{'dashboard_url': 'http://<IP_ADDRESS>:8123/kitchen-calendar-dedicated/kitchen-calendar-dedicated/default_view?kiosk', 'dashboard_state_name': 'Dummy', 'media_state_name': 'PLAYING', 'volume': -1, 'start_time': datetime.time(7, 0), 'end_time': datetime.time(1, 1), 'instance_change': False, 'speaker_groups': None}], 'current_instance': 0}}
Current device map: {'Kitchen TV': {'dashboard_url': 'http://<IP_ADDRESS>:8123/kitchen-calendar-dedicated/kitchen-calendar-dedicated/default_view?kiosk', 'dashboard_state_name': 'Dummy', 'media_state_name': 'PLAYING', 'volume': -1, 'start_time': datetime.time(7, 0), 'end_time': datetime.time(1, 1), 'instance_change': False, 'speaker_groups': None}}
2024-07-20 14:57:39.895 INFO (MainThread) [custom_components.continuously_casting_dashboards.dashboard_caster] Current local time: 14:57:39.895244
2024-07-20 14:57:39.895 INFO (MainThread) [custom_components.continuously_casting_dashboards.dashboard_caster] Local time is inside the allowed casting time for Kitchen TV. Start time: 07:00:00 - End time: 01:01:00
2024-07-20 14:57:44.627 DEBUG (MainThread) [custom_components.continuously_casting_dashboards.dashboard_caster] Status output for Kitchen TV when checking for dashboard state 'Dummy': Volume: 5
Volume muted: False
2024-07-20 14:57:54.138 DEBUG (MainThread) [custom_components.continuously_casting_dashboards.dashboard_caster] Status output for Kitchen TV when checking for dashboard state 'Dummy': Volume: 5
Volume muted: False
2024-07-20 14:57:54.139 INFO (MainThread) [custom_components.continuously_casting_dashboards.dashboard_caster] HA Dashboard is NOT active on Kitchen TV...
2024-07-20 14:57:54.139 DEBUG (MainThread) [custom_components.continuously_casting_dashboards.dashboard_caster] Checking media status for Kitchen TV
2024-07-20 14:58:05.658 DEBUG (MainThread) [custom_components.continuously_casting_dashboards.dashboard_caster] Media is not playing, waiting 5 seconds before re-checking...
2024-07-20 14:58:19.781 DEBUG (MainThread) [custom_components.continuously_casting_dashboards.dashboard_caster] Media is not playing on Kitchen TV
2024-07-20 14:58:19.781 INFO (MainThread) [custom_components.continuously_casting_dashboards.dashboard_caster] Casting dashboard to Kitchen TV
2024-07-20 14:58:19.785 DEBUG (MainThread) [custom_components.continuously_casting_dashboards.dashboard_caster] Executing stop command...
2024-07-20 14:58:24.889 DEBUG (MainThread) [custom_components.continuously_casting_dashboards.dashboard_caster] Setting volume to 0...
2024-07-20 14:58:27.322 INFO (MainThread) [custom_components.continuously_casting_dashboards.dashboard_caster] Executing the dashboard cast command...
Casting http://<IP_ADDRESS>:8123/kitchen-calendar-dedicated/kitchen-calendar-dedicated/default_view?kiosk on "Kitchen TV"...
2024-07-20 14:58:31.226 INFO (MainThread) [custom_components.continuously_casting_dashboards.dashboard_caster] Setting volume to 5...
2024-07-20 14:59:18.753 DEBUG (MainThread) [custom_components.continuously_casting_dashboards.dashboard_caster] All device map: {'Kitchen TV': {'instances': [{'dashboard_url': 'http://<IP_ADDRESS>:8123/kitchen-calendar-dedicated/kitchen-calendar-dedicated/default_view?kiosk', 'dashboard_state_name': 'Dummy', 'media_state_name': 'PLAYING', 'volume': -1, 'start_time': datetime.time(7, 0), 'end_time': datetime.time(1, 1), 'instance_change': False, 'speaker_groups': None}], 'current_instance': 0}}
Current device map: {'Kitchen TV': {'dashboard_url': 'http://<IP_ADDRESS>:8123/kitchen-calendar-dedicated/kitchen-calendar-dedicated/default_view?kiosk', 'dashboard_state_name': 'Dummy', 'media_state_name': 'PLAYING', 'volume': -1, 'start_time': datetime.time(7, 0), 'end_time': datetime.time(1, 1), 'instance_change': False, 'speaker_groups': None}}
2024-07-20 14:59:18.754 INFO (MainThread) [custom_components.continuously_casting_dashboards.dashboard_caster] Current local time: 14:59:18.753815
2024-07-20 14:59:18.754 INFO (MainThread) [custom_components.continuously_casting_dashboards.dashboard_caster] Local time is inside the allowed casting time for Kitchen TV. Start time: 07:00:00 - End time: 01:01:00
2024-07-20 14:59:22.373 DEBUG (MainThread) [custom_components.continuously_casting_dashboards.dashboard_caster] Status output for Kitchen TV when checking for dashboard state 'Dummy': Volume: 5
Volume muted: False
2024-07-20 14:59:29.167 DEBUG (MainThread) [custom_components.continuously_casting_dashboards.dashboard_caster] Status output for Kitchen TV when checking for dashboard state 'Dummy': Volume: 5
Volume muted: False
2024-07-20 14:59:29.168 INFO (MainThread) [custom_components.continuously_casting_dashboards.dashboard_caster] HA Dashboard is NOT active on Kitchen TV...
2024-07-20 14:59:29.168 DEBUG (MainThread) [custom_components.continuously_casting_dashboards.dashboard_caster] Checking media status for Kitchen TV
2024-07-20 14:59:39.054 DEBUG (MainThread) [custom_components.continuously_casting_dashboards.dashboard_caster] Media is not playing, waiting 5 seconds before re-checking...
2024-07-20 14:59:51.503 DEBUG (MainThread) [custom_components.continuously_casting_dashboards.dashboard_caster] Media is not playing on Kitchen TV
2024-07-20 14:59:51.503 INFO (MainThread) [custom_components.continuously_casting_dashboards.dashboard_caster] Casting dashboard to Kitchen TV
2024-07-20 14:59:51.507 DEBUG (MainThread) [custom_components.continuously_casting_dashboards.dashboard_caster] Executing stop command...
2024-07-20 14:59:56.779 DEBUG (MainThread) [custom_components.continuously_casting_dashboards.dashboard_caster] Setting volume to 0...
2024-07-20 14:59:59.145 INFO (MainThread) [custom_components.continuously_casting_dashboards.dashboard_caster] Executing the dashboard cast command...
Casting http://<IP_ADDRESS>:8123/kitchen-calendar-dedicated/kitchen-calendar-dedicated/default_view?kiosk on "Kitchen TV"...
2024-07-20 15:00:02.819 INFO (MainThread) [custom_components.continuously_casting_dashboards.dashboard_caster] Setting volume to 5...
It just continues this loop. I will try increasing the check time from 45 to 120 and see if that helps.

After change cast delay from 45 to 120 it seems to solve it for now.  I just can't have too much content, or certain cards or it gets in a recreate loop, then eventually stops carrying casting and stops working.


How to associate text labels with choice values in schemas

Output of python -c "import pydantic.utils; print(pydantic.utils.version_info())":
            pydantic version: 1.4
            pydantic compiled: True
            python version: 3.8.2 (default, Apr 16 2020, 05:44:45)  [GCC 7.5.0]
            platform: Linux-4.4.0-18362-Microsoft-x86_64-with-glibc2.27
            optional deps. installed: ['email-validator']

From the documentation, pydantic uses enums for choices. I haven't been able to determine how to link a value with a label, which might be useful for an application consuming a pydantic-powered API.
For example:
import enum
import pydantic

class Apple(enum.IntEnum):
    RED_DELICIOUS = 1
    GOLDEN_DELICIOUS = 2
    MCINTOSH = 3
    FUJI = 4

class AppleModel(pydantic.BaseModel):
    variety: Apple

ApplePieModel.schema()
# {'title': 'AppleModel', 'type': 'object', 'properties': {'variety': {'title': 'Variety', 'enum': [1, 2, 3, 4], 'type': 'integer'}}, 'required': ['variety']}

From the documentation, it is possible to use enums that subclass str, but that seems a less than ideal solution to my mind.
For contrast, something like Django or WTForms allows you specify choices in [value], [label] pairs:
APPLE_CHOICES = (
    (1, 'Red Delicious'),
    (2, 'Golden Delicious'),
    (3, 'McIntosh'),
    (4, 'Fuji'),
)

I'm not saying this is how it should be done, just trying to find out if there's a way it can be done.

From this issue, it looks like oneOf is the accepted way of doing this in JSON Schema land, but pydantic doesn't generate that particular JSON Schema type.

Here's something I tried, I was unable to tie a secondary value to it though:
from typing_extensions import Literal
from typing import Union, Tuple

Variety = Union[
    Literal["Red Delicious"],
    Literal["Golden Delicious"],
    Literal["McIntosh"],
    Literal["Fuji"],
]

class AppleModel(BaseModel):
    variety: Variety

def main():
    print(AppleModel.schema())

if __name__ == "__main__":
    main()```

Produces =>

{
"title": "AppleModel",
"type": "object",
"properties":
{
"variety":
{
"title": "Variety",
"anyOf": [
{
"const": "Red Delicious",
"type": "string"
},
{
"const": "Golden Delicious",
"type": "string"
},
{
"const": "McIntosh",
"type": "string"
},
{
"const": "Fuji",
"type": "string"
}
]
}
},
"required": ["variety"]
}

That's interesting. The (untested) concept I came up with is using the
aenum package to create enumerations that can have a label field, then
creating a class method __modify_schema__ to customise the schema
generation.
Cheers
On Mon, 20 Apr 2020, 10:06 PM Atheuz<EMAIL_ADDRESS>wrote:

Here's something I tried, I was unable to tie a secondary value to it
though:
from typing_extensions import Literal
from typing import Union, Tuple
Variety = Union[
Literal["Red Delicious"],
Literal["Golden Delicious"],
Literal["McIntosh"],
Literal["Fuji"],
]
class AppleModel(BaseModel):
variety: Variety
def main():
print(AppleModel.schema())
if name == "main":
main()```
Produces =>
{
"title": "AppleModel",
"type": "object",
"properties":
{
"variety":
{
"title": "Variety",
"anyOf": [
{
"const": "Red Delicious",
"type": "string"
},
{
"const": "Golden Delicious",
"type": "string"
},
{
"const": "McIntosh",
"type": "string"
},
{
"const": "Fuji",
"type": "string"
}
]
}
},
"required": ["variety"]
}
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/samuelcolvin/pydantic/issues/1401#issuecomment-616808708,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AAKX5FWDALARRTLI35Q5TR3RNS2LZANCNFSM4MJ6ZNFQ
.

@dodumosu can you explain more how aenum worked? I too really want something like this.
I think we should add some standard way to achieve this in pydantic.

so here's what i cooked up:
# -*- coding: utf-8 -*-
from typing import Optional

import aenum
import pydantic

class AppleVariety(aenum.Enum):
    _init_ = "value label"

    FUJI = 1, "Fuji"
    GOLDEN_DELICIOUS = 2, "Golden Delicious"
    MCINTOSH = 3, "McIntosh"
    RED_DELICIOUS = 4, "Red Delicious"

    @classmethod
    def __get_validators__(cls):
        yield cls.validate

    @classmethod
    def __modify_schema__(cls, field_schema):
        # see notes below
        field_schema.pop("enum")
        field_schema.update(
            {
                "oneOf": [
                    {"const": choice.value, "title": choice.label}
                    for choice in cls
                ]
            }
        )

    @classmethod
    def validate(cls, v):
        try:
            new_v = cls(int(v))
        except (TypeError, ValueError):
            raise

        return new_v

class Apple(pydantic.BaseModel):
    variety: Optional[AppleVariety] = None

Notes:

you don't have to use aenum, i just like how i can use it relatively cleanly (imo). alternatives can be found here
the field_schema parameter to __modify_schema__ must be modified in-place.

Just connected to say I've been looking for something like this integrated into pydantic for several months... I'll be waiting for it :D

For contrast, something like Django or WTForms allows you specify choices in [value], [label] pairs

This can also be done using the new django.db.models.enums.Choices class, which actually uses enum.Enum under the hood. Turns out this just works with pydantic, too:
from django.db.models import TextChoices
import pydantic

class RunnerType(TextChoices):
    LOCALFS = "localfs", "Local FS"
    SGE = "sge", "SGE"

class Job(pydantic.BaseModel):
    runner_type: RunnerType

print("schema", Job.schema())
job = Job(runner_type="localfs")
print("job", job)
print("json", job.json())

# OUTPUT:
schema {'title': 'Job', 'type': 'object', 'properties': {'runner_type': {'title': 'Runner Type', 'enum': ['localfs', 'sge'], 'type': 'string'}}, 'required': ['runner_type']}
job runner_type=<RunnerType.LOCALFS: 'localfs'>
json {"runner_type": "localfs"}

If oneOf is desired over enum in the schema, @dodumosu's modify_schema method can be simply copy-pasted into a subclass of TextChoices:
from django.db.models import TextChoices
import pydantic

class Choices(TextChoices):  # new
    @classmethod
    def __modify_schema__(cls, field_schema):
        # see notes below
        field_schema.pop("enum")
        field_schema.update({"oneOf": [{"const": choice.value, "title": choice.label} for choice in cls]})

class RunnerType(Choices):  # modified
    LOCALFS = "localfs", "Local FS"
    SGE = "sge", "SGE"

class Job(pydantic.BaseModel):
    runner_type: RunnerType

print("schema", Job.schema())
job = Job(runner_type="localfs")
print("job", job)
print("json", job.json())

# OUTPUT:
schema {'title': 'Job', 'type': 'object', 'properties': {'runner_type': {'title': 'Runner Type', 'type': 'string', 'oneOf': [{'const': 'localfs', 'title': 'Local FS'}, {'const': 'sge', 'title': 'SGE'}]}}, 'required': ['runner_type']}
job runner_type=<RunnerType.LOCALFS: 'localfs'>
json {"runner_type": "localfs"}

I mention this because the code for django.db.models.enums.Choices is pretty lightweight (especially compared to aenum). Would it make sense to simply vendor that code (plus __modify_schema__) with pydantic?

Actually, this minimal code does the trick for my (limited) use case, and it correctly type-checks .value and .label:
# labelled_enum.py
"""
A special Enum that plays well with ``pydantic`` and ``mypy``, while allowing human-readable
labels similarly to ``django.db.models.enums.Choices``.
"""
from typing import TypeVar, Type
import enum

T = TypeVar("T")

class LabelledEnum(enum.Enum):
    """Enum with labels. Assumes both the value and label are strings."""

    def __new__(cls: Type[T], value: str, label: str) -> T:
        obj = object.__new__(cls)
        obj._value_ = value
        obj.label = label
        return obj

# labelled_enum.pyi
import enum

class LabelledEnum(enum.Enum):
    @property
    def label(self) -> str: ...
    @property
    def value(self) -> str: ...

# example usage
class RunnerType(LabelledEnum):
    LOCALFS = "localfs", "Local FS"
    SGE = "sge", "SGE"

Again, __modify_schema__ can easily be defined in LabelledEnum if desired -- I don't personally need it.
Hope this helps.

Adapted the Django code and combined with pieces from above ^ and it works quite well.

From this issue, it looks like oneOf is the accepted way of doing this in JSON Schema land, but pedantic doesn't generate that particular JSON Schema type.

Considering the role of text labels is just describing values. I think maybe we can generate a description for an enum field like https://github.com/tfranzel/drf-spectacular/blob/0.26.2/drf_spectacular/hooks.py#L123-L128.
Combine oneOf and const for django.db.models.enums.Choices

drf-spectacular approach

Would something like this work?

I would like that to be generatable using:
from typing import Annotated, Literal, Union

from pydantic import BaseModel, Field

Apple = Union[
    Annotated[
        Literal[1],
        Field(title='Red Delicious'),
    ],
    Annotated[
        Literal[2],
        Field(title='Cosmic Crisp'),
    ]
]

class Model(BaseModel):
    apple: Apple

print(Model.model_json_schema())
"""
{"type": "object", "properties": {"apple": {"anyOf": [{"const": 1}, {"const": 2}], "title": "Apple"}}, "required": ["apple"], "title": "Model"}
"""

But unfortunately the title gets dropped at the moment, which I would call a bug. But I'd like to know if this is even what all of you want before trying to fix this bug (if it is a bug at all).

Actually, this minimal code does the trick for my (limited) use case, and it correctly type-checks .value and .label:
# labelled_enum.py
"""
A special Enum that plays well with ``pydantic`` and ``mypy``, while allowing human-readable
labels similarly to ``django.db.models.enums.Choices``.
"""
from typing import TypeVar, Type
import enum

T = TypeVar("T")

class LabelledEnum(enum.Enum):
    """Enum with labels. Assumes both the value and label are strings."""

    def __new__(cls: Type[T], value: str, label: str) -> T:
        obj = object.__new__(cls)
        obj._value_ = value
        obj.label = label
        return obj

# labelled_enum.pyi
import enum

class LabelledEnum(enum.Enum):
    @property
    def label(self) -> str: ...
    @property
    def value(self) -> str: ...

# example usage
class RunnerType(LabelledEnum):
    LOCALFS = "localfs", "Local FS"
    SGE = "sge", "SGE"

Again, __modify_schema__ can easily be defined in LabelledEnum if desired -- I don't personally need it.
Hope this helps.

it's been a while since I opened this issue :) just wanted to say that in the Python standard library, something like this is used for httplib.HTTPStatus. it's actually an enum.IntEnum subclass with extra data associated with each member.

How was this solved? I cannot find documentation on how to use it.


set home is not work

when start: -pentadactyl "++cmd 'js services.environment.set(''HOME'', ''S:\MyPentadactyl'')'"
but when :scriptnames,the js is not loaded.

I think I've run into the same / related issue. Just upgraded from Firefox 36 to 37.0.1 and with it from Pentadactyl build 20150227 to build 20150412, and after restarting noticed that my ~/.pentadactylrc isn't loaded any more!
I have defined the $HOME environment variable (on Windows 7/x64) to point to another directory outside my Windows user's home, and Pentadactyl previously correctly located my ~/.pentadactylrc. Now, it doesn't; :scriptnames shows no scripts have been sourced. The env.var is correctly accessible from Firefox; :echo services.environment.get("HOME") yields the correct directory.
I'm able to workaround this via the following redirector script, but would appreciate it if this regression is fixed. Thanks!
,----[ C:\Users\inkarkat\.pentadactylrc ]----
| source D:/A/.pentadactylrc
`----

The problem still exists on build  20160719.xpi. I find the redefinition of the %HOME% variable very useful as I use FirefoxPortable on a usb stick; currently it is necessary to place redirection files on the hosts, not only for .pentadactylrc but for ~/.pentadactyl/plugins.


Adapt vpa-updater QPS limits such that it doesn't get throttled on large clusters

How to categorize this PR?

/area auto-scaling
/kind enhancement
What this PR does / why we need it:
Set the QPS limits that vpa-updater uses to communicate with the kube-apiserver to the same values as for the vpa-recommender. On large clusters we were seeing things like this regularly in the updater logs:
2023-06-14 04:14:36 | {"log":"Waited for 5.595273229s due to client-side throttling, not priority and fairness, request: GET:https://kube-apiserver/apis/crd.projectcalico.org/v1?timeout=32s","pid":"1","severity":"INFO","source":"request.go:601"}
2023-06-14 04:24:32 | {"log":"Waited for 2.196752866s due to client-side throttling, not priority and fairness, request: GET:https://kube-apiserver/apis/crd.projectcalico.org/v1?timeout=32s","pid":"1","severity":"INFO","source":"request.go:601"}

Release note:

Adapt vpa-updater QPS limits such that it doesn't get throttled on large clusters

/invite @andrerun

/approve

/retest

/cherry-pick release-v1.74

/cherry-pick release-v1.73

/cherry-pick release-v1.72

/cherry-pick release-v1.71


Errors in the console

I'm new to web components, so forgive me if it's user error. But I've been getting errors (image at the bottom) in the console stemming from the attributeChangedCallback. Screenshot shows it coming from a local file, but it's the same from the cdn. I've resolved it by wrapping the switch block in an if block:
  if (this.isConnected) {
    switch (name) {
     // snip
  }

Regarding usage, I have this in the head of index.html
<script src="./src/vendor/code-input.js"></script>
<script>
    codeInput.registerTemplate(
      'code-input',
      codeInput.templates.prism(Prism)
   );
</script>

and then I have code-input slotted into my-app
<body>
    <my-app>
      <code-input
        slot="code-input"
        lang="Markdown"
        placeholder="Enter some markdown"
      >
      </code-input>
    </my-app>
  </body>

The errors also go away when remove the lang and placeholder attributes from code-input.

Nice component though, and nice article accompanying it.

Thank you for pointing out the fix to this bug and the isConnected flag. I have added your edits to the repository. If you have any more suggestions or contributions, please feel free to create another issue.
Sorry for the delay as I have been rather busy recently.


Added Pie Slice -> Pie Menu conversion + more utils

Added Pie Slice -> Pie Menu conversion
Added a few functions to ini_rules_utils
Modified tokenizer to allow for strings to be tokenized (to allow for simple string input rather than manually building tokens)

Very clean with lots of documentation, thank you very much! Let me know when it's ready to be merged, cause you were referring to still wanting to see if you could break it.

Oh yeah, it's ready.


How to figure out which audio track is marked as default?

Hi, the problem is getting the audio track id, which is marked as default in the container inside the dart code. E.g. mkv container with audio 1-eng and audio 2-jap, where the second track is marked as default. MPV works perfectly as expected - playing the second (default) track. But there is no way to catch this behavior in player.state.tracks.audio, neither in player.state.track. What is the correct way to get the default audio track id?

@Prince-of-death Nothing special actually - I ended up monkey patching all the corresponding Track classes in media-kit sources, manually adding the missing track properties (https://mpv.io/manual/master/#command-interface-track-list) and then assigning values in lib/src/player/native/player/real.dart. Somehow it worked, but this is not the correct way I guess.


How to comment several lines of code in AL?

In C/AL we used {} to comment several lines of code https://msdn.microsoft.com/en-us/library/dd301180.aspx?f=255&MSPPError=-2147217396
How should we do the same in AL?
// is working as expected

use
/*
your commented
lines of code
*/

/*
multiple lines
*/


Using ergonomock-function with addTypename true

Hello and thanks for a great library!
I'm trying to use ergonomock() together with a MockedProvider that uses addTypename=true. This doesn't work out of the box because the results from ergonomock() only includes __typename if the query does, and we would like to avoid adding it to the latter manually.
Is there any chance of an addTypename option to ergonomock? If not do you have a suggestion for another solution?

Hello,
That's great news, thank you!

Hi @jfulse,
Could you please use the ErgonoMockedProvider  instead of the one from apollo react?
import { ErgonoMockedProvider as MockedProvider } from "graphql-ergonomock";
You can find an example here: https://github.com/SurveyMonkey/graphql-ergonomock/blob/master/README.md#basic-example-apollo

Hello!
I did try that but couldn't get it working. I'll work in a minimal reproduction (and maybe this exercise itself indicate something incorrect in my setup..)

Apologies! It seems our backend has added custom scalar types without me realising it and these are causing the issue. I assume there's a way to mock custom scalars and will dig in and find out. @victor-guoyu

@jfulse, thanks for the update and I don't think we have support for the custom scalar yet!
I'll start working on it today and let you know when it's ready!

I'll start working on it today and let you know when it's ready!

Once again that's great news, thanks a lot!

👋 Hi, @jfulse, could you please update to the latest version  https://github.com/SurveyMonkey/graphql-ergonomock/releases/tag/v1.2.0
And here is an example of how you can provide a default mock function for the custom scalar type.

It works with the latest version, thanks a lot for all the help and the new feature!


513 Error when running on windows

Hi
I've installed the node-apn on my mac and everything works ok. However, when I run on Windows using the same cert and key, I get error 513.
I guess it is the path to the files that makes the problem. How does I set up the path on a Windows machine?
My configuration is
"connection": {
"gateway": "gateway.sandbox.push.apple.com",
"cert": "/data/pushserver/cert.pem",
"key": "/data/pushserver/key.pem"
},
"feedback": {
"address": "feedback.sandbox.push.apple.com",
"cert": "/data/pushserver/cert.pem",
"key": "/data/pushserver/key.pem",
"interval": 43200,
"batchFeedback": true
}

It seems that the problem was a missing passphrase.


Pull out resources doc

Changes

This commit pulls out the pipelineResources related doc from the v1beta1 migration doc
to its own and thus it could also be referenced by the v1 migration doc.
/kind documentation
Submitter Checklist
As the author of this PR, please check off the items in this checklist:

[x] Has Docs included if any changes are user facing
[n/a] Has Tests included if any functionality added or changed
[x] Follows the commit message standard
[x] Meets the Tekton contributor standards (including
functionality, content, code)
[x] Has a kind label. You can add one by adding a comment on this PR that contains /kind <type>. Valid types are bug, cleanup, design, documentation, feature, flake, misc, question, tep
[n/a] Release notes block below has been updated with any user facing changes (API changes, bug fixes, changes requiring upgrade notices or deprecation warnings)
[n/a] Release notes contains the string "action required" if the change requires additional action from users switching to the new release

Release Notes
NONE

Closed as this is included in #5415


Using app.configure in example code

In the example code we are using
app.configure(function() {
  app.use(express.cookieParser('keyboard cat'));
  app.use(express.session({ cookie: { maxAge: 60000 }}));
  app.use(flash());
});

But app.configure is removed in Express 4.0.

Looks like this project isn't maintained anymore