Bug with generators

I've simplified my testcase to this:
<?php

namespace Tests\Unit;

use Eloquent\Phony\Phpunit\Phony;

class Consumer
{
    public function consume()
    {
    }
}

class Provider
{
    public function create()
    {
        yield;
    }
}

class PhonyTest extends \PHPUnit_Framework_TestCase
{
    public function testPhony()
    {
        $consumer = Phony::mock(Consumer::class);
        $provider = Phony::mock(Provider::class);
        $provider->create->generates();
        $consumer->get()->consume($provider->get()->create());
        self::assertSame(
            $provider->create->firstCall()->returnValue(),
            $consumer->consume->firstCall()->argument(0)
        );
    }
}

The test above fails with unexpected error:
Failed asserting that two variables reference the same object.

I've tested that both arguments of the assert are indeed Generators. Just not the same generator which is a bug.
For confirmation I replaced the line $provider->create->generates(); with $provider->create->returns(new \DateTime); - the test passes with that change.

I believe this is happening because of generator spies.
In order to support generator verification, Phony has to wrap the original generator in another generator that records yielded values, received values and exceptions, return values, and thrown exceptions.
In this case, $provider->create->firstCall()->returnValue() is returning the un-wrapped generator, and $consumer->consume->firstCall()->argument(0) is returning the generator spy.
Generator spies are on by default, because in most cases code doesn't rely on a generator's identity (=== comparison, assertSame etc.) You can disable them on a per-spy basis with setUseGeneratorSpies():
class PhonyTest extends \PHPUnit_Framework_TestCase
{
    public function testPhony()
    {
        $consumer = Phony::mock(Consumer::class);
        $provider = Phony::mock(Provider::class);
        $provider->create->setUseGeneratorSpies(false);
        $provider->create->generates();
        $consumer->get()->consume($provider->get()->create());
        self::assertSame(
            $provider->create->firstCall()->returnValue(),
            $consumer->consume->firstCall()->argument(0)
        );
    }
}

I tried this with your test case and it passes once generator spies are disabled.
I think there might be room for improvement here, Phony might be able to automatically unwrap the generator spy when you call argument(), which would make cases like this "just work".
I'm not sure if any of this helps with your original use-case. Please let me know if this raises other issues, and thanks for taking the time to bring this up.

Thanks for the explanation! My original case is not much different so I'm sure this will help.
Unwrapping the generator when calling argument/arguments seems like a good idea. I'm curious about how this library works internally so maybe I will try sending a PR to solve it.

Is there anything other than generators that uses wrapping?

No worries!
Yes, there is similar "wrapping" for iterable values (see Generator and iterable verification), which has to be enabled with setUseIterableSpies() because it changes the type returned by the spy.
There's also a similar feature in Phony called mock handle substitution where a mock handle can be used in place of the actual mock in lots of situations. In order to be consistent, this new "unwrapping" probably needs to function similarly. Once the concept is fleshed out, I can handle doing the bulk of that work, so don't worry too much about that.
Unwrapping iterable spies is definitely possible because I'm the one defining the iterable spy classes, so I can store the original iterable value and implement some way to retrieve it later when unwrapping.
Unwrapping generator spies is probably only going to be possible through some filthy hacks, because you cannot extend the Generator class to add anything to it. Even generator spies are just regular generators.
The only way I know of to add data to a generator is to use run-time properties (credit to @jmalloc for this method), like so:
$f = function () {
    yield;
};
$g = $f();
$g->foo = "bar";

echo $g->foo;

Which does seem to work across the board at the moment, but strictly speaking there's no guarantee it will continue to work in future. It's a little bit gross, but it's all we have to work with.

Yeah that is a bit hacky. How about some map like $map[spl_object_hash($wrapperValue)] = $realValue;?

Actually, after some IRL discussion with @jmalloc, we came to the conclusion that it's probably better not to "unwrap" in arguments(), but rather to change Phony's recording of return values so that when it wraps a value, the wrapped value itself is returned by returnValue().
So instead of this order:

Invoke function
Record return value
Wrap
Return wrapped value to outside world

Change to this order:

Invoke function
Wrap
Record wrapped return value
Return wrapped value to outside world

I also think it's a better approach in general, because at the moment, Phony is kind of lying about what the return value really is.
I think this approach should still solve your use case (let me know if not), but in a way that doesn't wreak havoc in other areas of the API. It will also be a much simpler change, which is great.
I'll knock out a prototype in a branch ASAP.

@enumag Regarding the map, I don't think it's a good approach unfortunately.
Among other reasons, it requires a central store that may grow over time, and prevents garbage collection of every single generator and generator spy that Phony sees. Keeping the association in the spy avoids this (and some other issues).
In any case, I think I can get something working. Bear with me.

Your proposal will solve my use-case as well. But no need to rush, I'm fine with using setUseGeneratorSpies. Just take your time to do it right and let me know if I can help with anything.

Awesome! Will do.

@enumag Could you please confirm that the wrapped-return-recording branch works for your use case, even without setUseGeneratorSpies(false)?
You should be able to try it out by using "eloquent/phony": "dev-wrapped-return-recording" in your composer.json.

@ezzatron Confirmed. My test works with the new branch even after removing setUseGeneratorSpies.

@enumag Thanks! FYI I'm still prototyping some ideas here. Stay tuned :)

@ezzatron Sure, take your time. Thanks for your hard work! :-)

So here's what I'm currently thinking with regards to this issue; and I apologize, because I've changed my mind a few times now. But after trying a couple of implementations, I have a better grasp on what I think should happen.
I think it's best not to change the existing behavior of returnValue() or argument(). I realized that spies already faithfully record the input and output of the function being spied upon, and I was chasing a red herring there.
When a function returns a value, that is its return value, not what Phony wraps around it. When a function receives an argument, even if that argument happens to be a Phony wrapper, that is what it received as an argument. Obfuscating that just makes things more confusing in other circumstances.
So instead, what I have done, is to implement "iterable spy substitution" for generator and iterable spies. This will function in a very similar fashion to mock handle substitution. That is, it will allow Phony to use either an iterable spy, or the original value interchangeably in stubbing and verification, where appropriate.
This may help with your real use case, if we can figure out a way to get your verification happening via Phony instead of PHPUnit. But unfortunately I'm going to need more detail to know for sure.
I assume you're actually trying to test the thing that uses these providers and consumers. Am I on the right track? Can you show me an example of the actual code at all?

I'm not so sure about the returnValue(). In the case I described at the top you're correct. However if I'm remembering my experiments correctly this has the same (buggy) result:
class PhonyTest extends \PHPUnit_Framework_TestCase
{
    public function testPhony()
    {
        $consumer = Phony::mock(Consumer::class);
        $provider = Phony::mock(Provider::class);
        $provider->create->returns(Phony::mock(\Generator::class)->get());
        $consumer->get()->consume($provider->get()->create());
        self::assertSame(
            $provider->create->firstCall()->returnValue(),
            $consumer->consume->firstCall()->argument(0)
        );
    }
}

In this case you can't say that the return value is the spy wrapper - it really is the mock itself. Also the code works fine if I change \Generator::class to \DateTime::class.
I can't share the code publicly but I can send it to you by e-mail if you want.
However you might want to consider simply not fixing it. The setUseGeneratorSpies(false) is fine once the programmer knows about it. If fixing this issue would mean too much code you don't like or could cause other problems elsewhere it really might be better to just add a note into documentation and leave it be. Personally I'm fine with that.

Yeah, I do have a bunch of extra documentation on the caveats of using iterable spies on a branch, so that should hopefully help. It's also great that setUseGeneratorSpies(false) solves your case.
To explain my point about returnValue(), let me try a simpler example:
class PhonyTest extends \PHPUnit_Framework_TestCase
{
    public function testPhony()
    {
        $spy = Phony::spy('explode')->setUseIterableSpies(true);
        $spy('.', 'a.b');

        // both of these assertions pass
        $spy->returned(array('a', 'b'));
        $this->assertSame(array('a', 'b'), $spy->firstCall()->returnValue());
    }
}

I chose explode() simply because it returns an array, but you could sub in any similar function.
In this case, explode() is being spied on. The explode() function returned an array. Phony does wrap that value in an iterator spy afterward, but we're not trying to verify Phony's behavior, we're interested in what the system under test (in this case explode()) did.
P.S. I did try out the example you just posted, but it just fails because Generator is a final class, and I'm not sure I understand what it's demonstrating. Sorry.

@jmalloc Care to chime in?

I understand your point a little better now, thanks. :-)
I was trying to demonstrate a case where the current returnValue behavior made less sence than in your case. However I can't remember what the example looked like exactly.
There is probably no point in sending you my test not. I mean it is basically the same thing as in my original comment (as far as generators are concerned).
I'm fine with closing this issue (setUseGeneratorSpies(false) is a good enough solution imho). Close it if you feel the same way.
Thanks for your support!

Not a problem, thanks for taking the time to talk about it!
I'll make a new release and close the issue then. I'll also link back here with all the new documentation sections once they're up.

Relevant new sections in the documentation:

Iterable spy substitution
Using iterable spies changes the return value
Nested iterable spies

There were also a bunch of export format changes to help clarify what's going on in Phony's output. Including clearer exporting for wrapper types.


[BUG REPORT]

STDERR:
ERROR: Could not install packages due to an OSError: [WinError 5] Access is denied: 'C:\Users\Owner\Desktop\07\audio-webui\venv\Lib\site-packages\~umpy\.libs\libopenblas.EL2C6PLE4ZYW3ECEVIV3OXXGRN2NRFM2.gfortran-win_amd64.dll'
Check the permissions.
after running run.bat on Windows11

try re-running

i get the same error over

Can you send me the log?

nvm it fixed, but now how do i select an rvc to use?

Drop RVC models into data/models/rvc, press the refresh button and they'll show up.
You could also train an RVC model yourself on the train tab. Do not use 48k, they don't work yet.

i pu them there still no workie

It needs to be in a subdirectory, also, include the .index file with it.
The reason it needs to be in a subdirectory is so it knows if there's an index file, and which one is the correct one.

can it do real time conversion?

Traceback (most recent call last):
File "C:\Users\Owner\Desktop\07\audio-webui\venv\lib\site-packages\gradio\routes.py", line 439, in run_predict
output = await app.get_blocks().process_api(
File "C:\Users\Owner\Desktop\07\audio-webui\venv\lib\site-packages\gradio\blocks.py", line 1384, in process_api
result = await self.call_function(
File "C:\Users\Owner\Desktop\07\audio-webui\venv\lib\site-packages\gradio\blocks.py", line 1089, in call_function
prediction = await anyio.to_thread.run_sync(
File "C:\Users\Owner\Desktop\07\audio-webui\venv\lib\site-packages\anyio\to_thread.py", line 33, in run_sync
return await get_asynclib().run_sync_in_worker_thread(
File "C:\Users\Owner\Desktop\07\audio-webui\venv\lib\site-packages\anyio_backends_asyncio.py", line 877, in run_sync_in_worker_thread
return await future
File "C:\Users\Owner\Desktop\07\audio-webui\venv\lib\site-packages\anyio_backends_asyncio.py", line 807, in run
result = context.run(func, *args)
File "C:\Users\Owner\Desktop\07\audio-webui\venv\lib\site-packages\gradio\utils.py", line 700, in wrapper
response = f(*args, **kwargs)
File "C:\Users\Owner\Desktop\07\audio-webui\webui\ui\tabs\rvc.py", line 81, in gen
sr, audio_in = audio_in
TypeError: cannot unpack non-iterable NoneType object

can it do real time conversion?

not yet, that's what the https://github.com/gitmylo/audio-webui/tree/real-time-rvc branch is for, but i haven't worked on it enough yet. it's a planned feature.

Traceback (most recent call last): File "C:\Users\Owner\Desktop\07\audio-webui\venv\lib\site-packages\gradio\routes.py", line 439, in run_predict output = await app.get_blocks().process_api( File "C:\Users\Owner\Desktop\07\audio-webui\venv\lib\site-packages\gradio\blocks.py", line 1384, in process_api result = await self.call_function( File "C:\Users\Owner\Desktop\07\audio-webui\venv\lib\site-packages\gradio\blocks.py", line 1089, in call_function prediction = await anyio.to_thread.run_sync( File "C:\Users\Owner\Desktop\07\audio-webui\venv\lib\site-packages\anyio\to_thread.py", line 33, in run_sync return await get_asynclib().run_sync_in_worker_thread( File "C:\Users\Owner\Desktop\07\audio-webui\venv\lib\site-packages\anyio_backends_asyncio.py", line 877, in run_sync_in_worker_thread return await future File "C:\Users\Owner\Desktop\07\audio-webui\venv\lib\site-packages\anyio_backends_asyncio.py", line 807, in run result = context.run(func, *args) File "C:\Users\Owner\Desktop\07\audio-webui\venv\lib\site-packages\gradio\utils.py", line 700, in wrapper response = f(*args, **kwargs) File "C:\Users\Owner\Desktop\07\audio-webui\webui\ui\tabs\rvc.py", line 81, in gen sr, audio_in = audio_in TypeError: cannot unpack non-iterable NoneType object

This error happens if you
a: don't have an input audio file
or
b: don't have a model selected


problems on narrow lines

Environment
recent Master branch
Current Behavior:
I have huge problems with narrow lines.
attched is a sample... it is not possible to read the invoice number or the date.
I know the invoice is printed terrible, but i had this type of problem often.

As suggested above you need to preprocess your image.

The image is preprocessed!
The problem are not the vertical lines.
The problem are the two text lines above the table!
they are too near. i think tesseract thinks it is one line

It depend how you define preprocess. If you prepossess it fully - there would be just text. If you want to have great result from tesseract you should pass it only text - without any graphics, tables, vertical or horizontal lines.

Again to clear that the problem is nothing with the table.
Here is the problematic part of the image.
Theese two lines are interpretetd as one line:

Did you think about your response?
You again and again confirm that problem is input. Fix input (preprocess image -> separate text areas) and it is done.

that means for me, that the comfort of the hocr output is gone.
@zdenop  pardon that my question annoys you. but tesseract still got parts of both lines. thats why i think it should be possible, that tesseract should interprets this part as two lines.
by the way, i have tested this file with Abbyy Flexicapture this morning. the flexicapture output is not better than the tesseract output on this area!

Maybe ocropy's ocropus-gpageseg can do the lines cutting better.
https://github.com/tmbdev/ocropy/blob/master/ocropus-gpageseg

@ibaxx: There will be always some inputs, that will not be possible to process automatically. I am familiar with one company providing professional high quality OCR services. First round OCR is done by software (not tesseract). Next one by 100 students ;-)
And you can not get good output from "bad" (or not suitable) input.

I am familiar with one company providing professional high quality OCR services. First round OCR is done by software (not tesseract). Next one by 100 students

What's the name of this company?
Which OCR engine do they use for first round? Their own, ABBYY?

I will not name it ;-) I am not familiar with production details (intentionally not to compromise tesseract) - I was just there for visit when we were discussing contract. It is quite expensive if you want to have close to 100% OCR.

Anyway I would expect to have this kind of production in Asia and but it seem there are able to make money on this in Europe.

You can DIY with tesseract +  Amazon's Mechanical Turk


Add new dev settings using environ

This merges settings_mkt.py and settings_base.py into one and makes use of django-environ so that we can manage private settings as environment variables. After everything has been migrated to the new setup we will remove settings_mkt and settings_base.
r?

can you also delete settings_mkt.py and settings_base.py as part of this patch? Or if you're waiting for server synchronization, at least file a bug to follow up by deleting them?

r+wc from me (old guard!)

How is this going to affect developers going to dev to launch a django shell there ?

I've filed https://bugzilla.mozilla.org/show_bug.cgi?id=1201980 for cleanup the settings_mkt.py and settings_base.py settings once the migration is completed.

How is this going to affect developers going to dev to launch a django shell there ?
For dev (and stage) we are writing the environment settings to file and load them using  environ.Env.read_env().


Refactor HTMLActuator to properly render variant tiles >1000.

The motivation for this patch is that I want to add a variant
merge rule that generates four-digit numbers that aren't powers of
two. The old code styles such numbers with too big a font size;
e.g., a tile with value 1234 would be styled with class "tile-1234",
which doesn't exist, and then it would render sloppily. I believe
a friendly default behavior is to style such tiles with "tile-1024".
I'm also leaving the door open for variants to style the color of
the tile and its font size using two (or more) separate CSS classes:
e.g., ["tile-red","tile-4digits"].
No intended functional change.

https://github.com/gabrielecirulli/2048/pull/271


MutationObserver stops this from working in nodejs

nodejs doesn't have MutationObserver

this project is not meant to run in nodejs but you can patch it the same way I patch it in the unit tests:
https://github.com/pyscript/polyscript/blob/main/test/index.js#L29-L43
there won't be any action as node is not a target for this project but you can use pyodide in there directly, if you want to


Remove test that breaks on AIX.

The offending test checks that fopen("anydir/") fails. This looks fairly platform
specific. For the test involved this creates a file called
"anydir" on an AIX test machine.
This change was introduced on (Sept 24)
https://github.com/openssl/openssl/commit/29844ea5b3d2b7240d99b043a0d82cb177f0762d

Checklist

[ ] documentation is added or updated
[x] tests are added or updated

@jon-oracle, @davidmakepeace

Ping!

This pull request is ready to merge

Thanks.. Merged to master

Thanks @slontis for provisionally handling this and asking me for a review. I was on vacation last week and missed this - sorry.
The meanwhile already merged "fix" by removing the test case is not adequate - the indirect test for non-existence of OSSL_STORE ASN.1 parse error output gets lost this way!

My way of provoking an error outcome by attempting to open a file that has a directory-like name obviously was not portable.
I've just provided a better (i.e., system-independent) solution in #13353, where I also added a comment what that indirect error output test is meant for.


Chart event unregistering

Events seem to fail to unregister while using the off method on a chart while multiple instances of the same handler is registered.

Cannot confirm. Example for on/off usage: https://jsfiddle.net/6h0k85po/

Confirmed: https://jsfiddle.net/simzer/Lbv3etmn/1/


Rails Solo Capstone Project - Rails Purse App

Rails Solo Capstone Project - Rails Purse App
In this PR, I:

Created the Repo and set-up the basics of a Rails project with Postgresql as the database
Installed linters and Gems
Created migrations based on the ERD diagram
Added the models with validations
Installed Rspec
Generated User, Group and Purchase controllers
Installed and set-up devise gem with authentication
Generated view scaffolding files
Updated the routes
Updated the views, based on the requirements
Created the forms for adding Groups and Purchases
Styled the forms, and all the views to resemble the design idea that was given
Wrote rspec tests
Added the Readme file
Deployed the project on Render
Fixed linters

Hello @hajnaloltyan 👋,
This is an additional review as a result of the second opinion request.
@hajnaloltyan Good job so far 👍.
When I ran your test for the first time,  your tests failed, however, I had to run rails assets:precompile to fix the failing tests, so your view tests passed. in addition, @Olamarx we need to run the precompile command in some rails 7 app.
However, the other requested changes are all valid. Kindly fix the following as mentioned by @Olamarx:

Implement a Splash Screen upon starting the app;
Write unit tests as instructed in the project requirement;
Redo your 5 mins video recording again because I couldn't hear you all through the video as well.

You are almost done 💪
Keep rocking 🚀!

Hello @hajnaloltyan 👋,
This is an additional review as a result of the second opinion request.
@hajnaloltyan Good job so far 👍.
When I ran your test for the first time, your tests failed, however, I had to run rails assets:precompile to fix the failing tests, so your view tests passed. in addition, @Olamarx we need to run the precompile command in some rails 7 app.
However, the other requested changes are all valid. Kindly fix the following as mentioned by @Olamarx:

Implement a Splash Screen upon starting the app;
Write unit tests as instructed in the project requirement;
Redo your 5 mins video recording again because I couldn't hear you all through the video as well.

You are almost done 💪
Keep rocking 🚀!

Noted @bellom, thank you, sir.

All tests were passing the rspec tests when I asked for the 1st review, but now I'm going to include the screenshot to prove that with the now added tests, they are still passing and green.

STATUS: APPROVED ✔
Hi @hajnaloltyan ,
In my opinion, your project is ready for the presentation!  There is nothing else to say other than... it's time to merge it :shipit:

Good luck! 🎉
Feel free to leave any questions or comments in the PR thread if something is not 100% clear.


[VS Code] Request was cancelled

Error:
Request was cancelled
Steps to Reproduce:

Version Data

extensionName
VSLS

extensionVersion
0.3.262

protocolVersion
2.2

applicationName
VSCode

applicationVersion
1.22.2

platformName
Linux

platformVersion
4.13.0-43-generic

We're already tracking this issue here: https://github.com/MicrosoftDocs/live-share/issues/469.  Take a look at the comments there and let us know what happens.


React "each child in a list should have a unique key" error when bundling MUI

Duplicates

[X] I have searched the existing issues

Latest version

[X] I have tested the latest version

Current behavior 😯
bundling mui in production mode generates key errors for seemingly no reason
Expected behavior 🤔
bundling mui in production mode does not generate key errors for components that arent actually part of a list
Steps to reproduce 🕹
Steps:

To reproduce the error, clone this minimal reproduction to your local machine and then npm ci to load the dependencies.
Next, run npm run build:prod to create a production bundle
Use npm link to run the library against a fresh React app via Create-react-app or something similar.
Within your fresh React application, just import the Tooltip and/or Checkbox components from this library while linked and then render them to the page. You will see the react errors.
While linked, you can then run npm run build:dev to generate a development build. The Tooltip and Checkbox in you React app should no longer throw the unique key errors in the console.

Context 🔦
my team manages an internal component library that is based on mui and gets consumed by all other frontend developers at my job. This component library imports MUI components/helpers and makes any modifications needed, and then exports all of the modified stuff as well as all of the unmodified MUI functions (think export * from @mui/material basically).
What we've been doing is bundling mui into our component library at build time, that way consuming applications just install our component library, rather than having to install our component library + a bunch of MUI peer dependencies. However, we noticed that when we publish the production build of our component library, certain components such as the Tooltip and Checkbox will throw "each child in a list should have a unique key" warnings once they're imported and used in our applications.
Initially we thought this was an issue with our custom components or maybe our build chain, but I was able to recreate the problem by just making a brand new npm package, importing and then re-exporting all the MUI stuff and building the npm package in production mode. I then used npm link to run the package in a fresh Create React App and the Checkbox + Tooltip components immediately threw the key warnings.

Is this intended behavior and/or is this documented anywhere? Are we just supposed to build a development bundle instead? Ultimately our goal is to be able to bundle mui into our company's internal component library so that the component library maintainers can control the version of things and consumers can simply rely on importing our package
Your environment 🌎

npx @mui/envinfo
Unfortunately the npx @mui/envinfo command doesnt seem to be working for me?? I attempt to execute it and it just hangs on the CLI. I am using Node 14 on macOs monterrey

Any progress on this? Experiencing the same issue.

I am not able to reproduce your issue. Instead I am getting the following error in my React application after linking @company/components to my React app with npm link:
Uncaught TypeError: Cannot set properties of undefined (setting 'runtime')

Code:
import {Tooltip, Button} from '@company/components'

function App() {
  return (
    <Tooltip>
    <Button>
      abc
    </Button>
    </Tooltip>
  );
}

export default App;

Im not totally sure what changed with CRA since initially opening this issue, but since CRA doesn't seem to offer any way to run an older version I just created a barebones react-app from scratch that can be used for npm link to work. The barebones react app can be cloned from https://github.com/lancej1022/bare-react
Ive also updated the MUI POC for the issue so that the webpack config can output to UMD if you just change some of the commented code (notes are within webpack.config.cjs) https://github.com/lancej1022/mui-poc
The repro steps for the issue should now look like:

To reproduce the error, clone this minimal reproduction to your local machine and then npm ci to load the dependencies.
Next, run npm run build:prod to create a production bundle
Use npm link to run the library against the barebones react app
Within your fresh React application, run npm start since the relevant components should already be imported within App.js. You will see the react errors about keys.
While linked, you can then run npm run build:dev within the mui-poc repo to generate a development build. The Tooltip and Checkbox in your React app will no longer throw the unique key errors in the console.

@lancej1022 If there is no key error in the UMD development build but rather in the ESM bundle, is this an issue with Webpack?

@lancej1022 If there is no key error in the UMD development build but rather in the ESM bundle, is this an issue with Webpack?

I think might previous message may have been confusing. To be clear, the key error is present in both UMD and ESM builds. I simply made it easy to switch between ESM/UMD within the reproduction so that whoever investigates this issue can see that the issue is not related to webpack (as far as I can tell)

Just wanted to check in and see if the MUI team has any sort of recommendation for solving/avoiding this? I was under the impression that building a component library on top of MUI was pretty common but I haven't been able to find any documentation around proper bundling of MUI in the 4 months since this issue has been open. The only way I can think of to get around this issue would be to not bundle MUI at all and mark it as a peerDependency instead

@lancej1022 I can reproduce the error now. But unfortunately, I am not able to find a solution or workaround for this.
Could this be reated to facebook/react#11537?

Potentially? Im not overly familiar with babel transforms, but the babel config in the sample react app I provided is relatively simple so Im not sure if it is the issue. I was also thinking the issue might be with Emotion itself, but Im not familiar with how MUI + emotion work together internally.

The same warning appears using FocusTrap.  I believe the issue originates at:

Although it is not the ideal solution since a list is not being rendered, passing in a key eliminates the warning for all instances of the FocusTrap:
{

      {React.cloneElement(children, { ref: handleRef, onFocus, key:"some-key" })}
}

This could be the same issue with Tooltip which uses React clone element:

React.cloneElement

Sorry, I can't offer a solution, but I hope this is helpful.

I am experiencing the same two warnings when using Tooltip and a nested FocusTrap within a custom components library based on MUI. I am hopeful that the team can find a solution to these warnings soon. I will continue to follow the discussion for any updates or resolutions.

We have the same issue with Tooltip and FocusTrap.

I'll take a look into this issue

Thanks @lancej1022 for the useful reproduction and easy-to-follow steps, it was really helpful. Also thanks @Coreen-Cooper for finding out that cloneElement was the origin.
The issue can be solved by modifying the webpack config like this:
-const externals = {};

-Object.keys(pkg.peerDependencies).forEach((dep) => {
-  externals[dep] = dep;
-});

+const externals = new RegExp(
+  `^(?:${Object.keys(pkg.peerDependencies).join("|")})(?:/.*)?$`
+);

After this change, the externals config becomes /^(?:date-fns|react|react-dom)(?:\/.*)?$/. As you can see, the peer dependencies subpaths are also included in the externals, as they should. In particular react/jsx-runtime was the one that was missing, so it was being bundled even though it shouldn't.
You can check the difference this config change makes in this diff check: https://www.diffchecker.com/A143le9a/
I haven't dug deep enough to understand why this caused cloneElement to throw the error. The bottom line is React doesn't work properly when multiple versions of it or one of its dependencies are loaded simultaneusly.
As this is an issue various people stumbled upon, before closing it I will come up with some further actions to try to avoid it in the future and will post those here when I have them.

Building a component library on top of Material UI seems to be a common user case, so to avoid configuration errors that might lead to frustration, I've opened the following RFC: https://github.com/mui/material-ui/issues/37952. The action point is adding a starting point and guidance for this user case.
I'm closing this issue with this action point and the solution for the original bug reported in my comment above.
If you're experiencing this issue with a different setup (maybe you're not using webpack like in this example), then the first thing you should check is that peer dependencies like react and its subpaths should not be bundled with your component library.
If you're still experiencing this and is not solved by the proposed solution, then please feel free to re-open this issue or create a new one.

I was encountering the same error with @mui/x-data-grid : when I have a component that renders a DataGrid in a custom library compiled with Webpack mode=production and I use it in another application depending from my custom library, the error 'Each child in a list should have a unique “key” prop' occurs .
The error does not occur if the custom library is compiled with Webpack in mode=development or none , nor does it occur if the library is compiled with Rollup (I ran these tests before encountering this solution)
The Webpack external configuration pointed out by @DiegoAndai above worked in my case!
thanks!

@qsoo, sorry for the late reply; this got lost in my notifications.
Are you still facing the issue? Could you please open a new one so it's easier to track? The setup looks different enough to be debugged separately. Thanks in advance.

@DiegoAndai
Yes. I've created a new issue(#43878) as you said.
Thank you for your response.


Compatibility with Leptos 0.5.x

Leptosfmt is currently not compatible with the new 0.5.0-alpha release.
A major change in this version is that the Scope and all corresponding cx argument passing has been removed. The new view! macro does not take a Scope anymore:
view! {

Hello

}

Leptosfmt does not recognize this format and fails to format this view macro

oh cool DX improvement, I guess I should put this behind a flag in the configuration, so that people have time to migrate.


Android Editor: Disable file reimport when .import changes

This is disabling (for Android only) the logic added in #84974 which caused #94416. That issue still needs to be debugged further, but this works around the regression and should have minimal usability impact on Android.

Works around #94416, making it not a release blocker (but keeping it open to look for a proper fix).

Can confirm  this works great now though when clicking  on delete files for the first time after opening the project there's a bit of stutter, but that just the first time,  it fine to close the issue  in my opinion as it is  fixed and then search for how to properly fix that bug.

Hello, FYI, this commit makes my project crash on Windows 10 with :
================================================================
CrashHandlerException: Program crashed
Engine version: Godot Engine v4.3.beta.gh-94691 (f53ed52592b0ded7ee0129f17801636951a99bea)
Dumping the backtrace. Please include this when reporting the bug to the project developer.
[0] <couldn't map PC to fn name>
[1] <couldn't map PC to fn name>
[2] <couldn't map PC to fn name>
[3] <couldn't map PC to fn name>
[4] <couldn't map PC to fn name>
[5] <couldn't map PC to fn name>
[6] <couldn't map PC to fn name>
[7] <couldn't map PC to fn name>
[8] <couldn't map PC to fn name>
[9] <couldn't map PC to fn name>
[10] <couldn't map PC to fn name>
[11] <couldn't map PC to fn name>
[12] <couldn't map PC to fn name>
[13] <couldn't map PC to fn name>
[14] <couldn't map PC to fn name>
[15] <couldn't map PC to fn name>
[16] <couldn't map PC to fn name>
[17] <couldn't map PC to fn name>
[18] <couldn't map PC to fn name>
[19] <couldn't map PC to fn name>
[20] <couldn't map PC to fn name>
[21] <couldn't map PC to fn name>
[22] <couldn't map PC to fn name>
[23] <couldn't map PC to fn name>
[24] <couldn't map PC to fn name>
[25] <couldn't map PC to fn name>
[26] <couldn't map PC to fn name>
[27] <couldn't map PC to fn name>
[28] <couldn't map PC to fn name>
[29] <couldn't map PC to fn name>
[30] <couldn't map PC to fn name>
[31] <couldn't map PC to fn name>
[32] <couldn't map PC to fn name>
[33] <couldn't map PC to fn name>
[34] <couldn't map PC to fn name>
[35] <couldn't map PC to fn name>
[36] <couldn't map PC to fn name>
[37] <couldn't map PC to fn name>
[38] <couldn't map PC to fn name>
[39] <couldn't map PC to fn name>
[40] <couldn't map PC to fn name>
[41] <couldn't map PC to fn name>
[42] <couldn't map PC to fn name>
[43] <couldn't map PC to fn name>
[44] <couldn't map PC to fn name>
[45] <couldn't map PC to fn name>
[46] <couldn't map PC to fn name>
[47] <couldn't map PC to fn name>
[48] <couldn't map PC to fn name>
[49] <couldn't map PC to fn name>
[50] <couldn't map PC to fn name>
[51] <couldn't map PC to fn name>
[52] <couldn't map PC to fn name>
[53] <couldn't map PC to fn name>
[54] <couldn't map PC to fn name>
[55] <couldn't map PC to fn name>
[56] <couldn't map PC to fn name>
[57] <couldn't map PC to fn name>
[58] <couldn't map PC to fn name>
[59] <couldn't map PC to fn name>
[60] <couldn't map PC to fn name>
[61] <couldn't map PC to fn name>
[62] <couldn't map PC to fn name>
[63] <couldn't map PC to fn name>
[64] <couldn't map PC to fn name>
[65] <couldn't map PC to fn name>
[66] <couldn't map PC to fn name>
[67] <couldn't map PC to fn name>
[68] <couldn't map PC to fn name>
[69] <couldn't map PC to fn name>
[70] <couldn't map PC to fn name>
-- END OF BACKTRACE --
================================================================

@bsil78 That's not possible, it must be a different commit (merged today too maybe?).
This commit doesn't change anything for how Windows builds are made, it only impacts Android builds.

I tested it 2 times ; it is this one. How ? I don't know. I seems impossible you are right.


Only report updates to regular release versions.

When on a regular release version, do not report updates for RC, beta, alpha, etc versions.
If on a RC, beta, or alpha version, releases within the same class or higher can be reported. For example:
alpha -> {alpha, beta, RC, regular}
beta -> {beta, RC, regular}
RC -> {RC, regular}
regular -> {regular}

Added a fix to update_checker_app such that it only reports regular releases.
The next step is to permit the upgrade paths based on the current release version.

Update checker app has been updated to report prerelease updates when in a prerelease version.


Graph in monitor interface

Adds a multi-line graph to the host/teacher monitor interface, which shows the balance of the participants as a function of the round number.

Looks good!  I think it would be nice, if the balance graphs started out at the initial balance rather than at the balance after round 0.


refactoring in integration tests

Description of changes

Deleted integration tests that fail to parse. With the new corpus test infrastructure, these will no longer be produced.
Moved the cedar_test_impl.rs file (with some renaming and other additions) from cedar-spec so we can use the same trait for both integration testing & DRT.
Refactoring in integration_testing.rs to make it easier to reuse the parsing code for the integration test file format.
Removed the EST testing code from the integration tests. I'll add it to DRT instead.

Issue #, if available
Checklist for requesting a review
The change in this PR is (choose one, and delete the other options):

[X] A change "invisible" to users (e.g., documentation, changes to "internal" crates like cedar-policy-core, cedar-validator, etc.)

I confirm that this PR (choose one, and delete the other options):

[X] Does not update the CHANGELOG because my change does not significantly impact released code.

I confirm that cedar-spec (choose one, and delete the other options):

[X] Requires updates, and I have made / will make these updates myself. (Please include in your description a timeline or link to the relevant PR in cedar-spec, and how you have tested that your updates are correct.)

Disclaimer
By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.

Marking this as ready for review now that 1) I have a PR up to fix the cedar-spec break (cedar-spec#212) and 2) I have a PR up to add EST tests to DRT (cedar-spec#215).
One question I'd like reviewer opinions on: as indicated by the semver check in CI, this PR is actually a breaking change since it affects the "public" APIs in cedar_policy::integration_testing and cedar_policy::cedar_test_impl. I was planning on treating this PR as non-breaking since it's only editing testing code. But technically users could be depending on our testing data types... should I mark this PR as a breaking change intended for the next major release?

One question I'd like reviewer opinions on: as indicated by the semver check in CI, this PR is actually a breaking change since it affects the "public" APIs in cedar_policy::integration_testing and cedar_policy::cedar_test_impl. I was planning on treating this PR as non-breaking since it's only editing testing code. But technically users could be depending on our testing data types... should I mark this PR as a breaking change intended for the next major release?

It feel strange that the testing are exported from the cedar-policy crate directly. If we want to call this a breaking change, then I propose making the larger braking change, and ripping these functions out into a new crates, then that crate can follow semver without caring about cedar's version.

I propose making the larger breaking change, and ripping these functions out into a new crates, then that crate can follow semver without caring about cedar's version.

Yeah, I agree that it makes sense to have this testing code in a separate crate. Do you think I could get away with moving it to a separate crate before the next major version? I'd like to get this refactoring integrated sooner rather than later to prevent annoying merge issues later.


Document duplication

Does not duplicate a document on lookups that result in more than one identifiers

Implemented in 9f129a2e293aee57c36cdba33e72a66b3ecc994d


Fix isEmpty logic in keepLatest

The logic for calculating isEmpty was incorrect for a few cases.
It needs to return true for:

empty arrays
objects that are either null or have no keys (was opposite)
any other value that is falsey (was opposite. Also accounting for 0 now)

See updated tests for the various cases

thank you!!


engo.Point methods return the point

engo.Point methods could return an engo.Point, so you can chain together multiple calls:
p1 := engo.Point{X: 5, Y:5}
p2 := engo.Point{X: 2, Y:3}
p1.Add(p2).MultiplyScalar(2).Normalize()

Seems like a good first issue. Is it still just a proposal? I'd like to give it a shot, if you're not working on it @Noofbiz.


bst-artifact-receive: CLI should not throw stacktrackes when repo argument is invalid

See original issue on GitLab
In GitLab by [Gitlab user @cs-shadow] on May 29, 2018, 12:53
Summary
The CLI for bst-artifact-receive expects a repo argument, which is
supposed to be a directory, but Click currently expects it to be just
any string. This results in stack traces like the one below when the
argument provided is not a directory:
$ ~/.local/bin/bst-artifact-receive --pull-url http://foo foobaz
Traceback (most recent call last):
  File "/root/.local/bin/bst-artifact-receive", line 8, in <module>
    sys.exit(receive_main())
  ...
  File "/src/buildstream/buildstream/_artifactcache/pushreceive.py", line 581, in __init__
    self.repo.open(None)
GLib.Error: g-io-error-quark: /src/buildstream/43fref: opendir(/src/buildstream/foobaz): No such file or directory (1)

Steps to reproduce
bst-artifact-receive --pull-url http://foo non-existent-directory

What is the current bug behavior?
Ugly stack trace.
What is the expected correct behavior?
More helpful error message.
Relevant logs and/or screenshots
Possible fixes
Other relevant information

BuildStream version affected: /milestone %"BuildStream_v1.1"

In GitLab by [Gitlab user @cs-shadow] on May 29, 2018, 12:55
mentioned in merge request !476

In GitLab by [Gitlab user @cs-shadow] on May 29, 2018, 12:56
mentioned in commit 5eadfec95d48d59f82c284b4dcacf23f2d48351c

In GitLab by [Gitlab user @toscalix] on May 29, 2018, 13:40
assigned to [Gitlab user @cs-shadow]

In GitLab by [Gitlab user @cs-shadow] on Jun 5, 2018, 20:34
mentioned in commit 1d694b28297e86b53dff07e49abd135f5c7709ed

In GitLab by [Gitlab user @tristanvb] on Jun 5, 2018, 21:07
closed via merge request !476


test_udf.py periodically fails in CI with exit code 127

System information

CI job: ci / test-windows (3.6, ray, DataFrame) (pull_request)

Describe the problem

Source code / logs

Run pytest modin/pandas/test/dataframe/test_udf.py
============================= test session starts =============================
platform win32 -- Python 3.6.11, pytest-6.1.2, py-1.9.0, pluggy-0.13.1
benchmark: 3.2.3 (defaults: timer=time.perf_counter disable_gc=False min_rounds=5 min_time=0.000005 max_time=1.0 calibration_precision=10 warmup=False warmup_iterations=100000)
rootdir: D:\a\modin\modin, configfile: setup.cfg
plugins: benchmark-3.2.3, cov-2.10.1, forked-1.2.0, xdist-2.1.0
collected 189 items

modin\pandas\test\dataframe\test_udf.py
Error: Process completed with exit code 127.

@anmyachev are we still seeing this flake?

I haven't seen this problem for a long time already. Let's close.


feat: added camelCase, kebabCase, limitChars, limitWords, pascalCase,…

… removeWhitespace, snakeCase, titleCase

:tada: This PR is included in version 0.2.0 :tada:
The release is available on GitHub release
Your semantic-release bot :package::rocket:


Adjust disk size correctly

Right now the disk size parameter is setting the size on a data disk.  The data disk is not mounted.
To do ---
(1) use the disk size parameter to adjust the size of the osdisk
(2) remove the data disk
(3) republish the azure listing

This has been resolved.  Data disk is now mounted correctly at /var/lib/neo4j


How to create or Edit a Oracle Database via data model (Er Diagram)

System information:

Operating system  : Windows 10 10.0.19041
DBeaver version : <IP_ADDRESS>010041557

Connection specification:

Database name and version : Oracle

Describe your question:
Hello,
Is there a way to edit or create a database via the data model view (ER Diagram ) ? Like creating PK, FK, add columns, remove columns, etc. Or the Er Diagram is only Read Only ?
If not, is there another way in DBeaver for creating/editing Oracle DataBase from a data model view ?
If not, is it planned to be added in a future release ?
Thanks for your help,
Damgot

It is not implementer,
Mark your issue as feature request.
Thanks for the suggestion

Feature is already available in Enterprise edition


Plotting different conditions together using pl.logrec

Hi all,
Thanks a lot for developing the great package. I've been using it for ligand receptor analysis and more recently with accumulation of different datasets, I would like to plot differences between two or more different conditions. I can generate dot plots for each library individually but didn't manage to plot multiple timepoints in a single plot. Is it something doable with pl.logrec plotting?
Cheers!
...

thanks for interest in Squidpy @Tonyspuri , can you elaborate more what are you trying to do? I don't think is in scope to run lig_rec across different slides, so I'd maybe compute it for each slide separately and then find a way to aggregate them?

I have scRNA-seq datasets from different conditions e.g. WT vs mutant and basically would like to plot lig_rec dotplots on the same plot next to each other. Right now I generate separate dictionaries for the individual libraries and I can plot them separately but we can't plot different conditions together.  If I understand correctly I have to find a way to merge different dictionaries and plot them afterwards?

hi @Tonyspuri indeed you'd have to tweak sc.DotPlot , this is not a priority for now but happy to support if you want to submit a PR. Othewise, I would close this.


Use new mount api for devices.

There is a bug in the currently implementation. It would be nice to fix it. Currently, if somebody sets up /dev/null to be a symlink, or even /dev to be a symlink, that symlink will be resolved before we do the pivot_root. There isn't a ton of harm that can come of this from a security perspective. We're just doing a bind mount onto that path, so if the mount succeeded, an attacker would just create a mount in their private mount namespace that they couldn't access. On the other hand, they could conceivably use this attack to figure out what files exist on the worker machine.
Really, this just seems like it could be an annoying bug. If somebody set up /dev to point to /var/dev, for example, it wouldn't work correctly. Why would somebody want to do this? I don't know.
The fix to this is to use the open_tree and move_mount syscalls that are part of the new mount API for linux. We would open_tree the device before the pivot_root, and then move_mount it after the pivot_root. I would expect that we'd get rid of the special case handling of devices, and just make them another type of mounts. Maybe it would be something like Devs { directory: Utf8PathBuf, devices: HashSet<String> }. We could allow an empty directory, which would just yield the default "/dev". This wouldn't let somebody rename the devices. To support that, we could add Dev { device: String, mount_point: Utf8PathBuf }.

Done.


Fair comparison between Stan and Turing

We should add settings via Stan.jl to make sure that the comparisons are between Stan.HMC vs Turing.HMC or Stan.NUTS vs Turing.NUTS.

[HMC] Sampling...100% Time: 0:02:17
[HMC] Finished with
  Running time        =<PHONE_NUMBER>1199986;
  Accept rate         = 0.1215;
  #lf / sample        = 9.995;
  #evals / sample     = 9.996;
  pre-cond. diag mat  = [3.53885,9.83359,6.44391,14.54....
/=======================================================================
| Benchmark Result for >>> LDA <<<
|-----------------------------------------------------------------------
| Overview
|-----------------------------------------------------------------------
| Inference Engine  : HMC(2000, 0.025, 10)
| Time Used (s)     :<PHONE_NUMBER>1200023
|   -> time by Stan : 2.96523
| Mem Alloc (bytes) :<PHONE_NUMBER>4
|-----------------------------------------------------------------------
| Turing Inference Result
|-----------------------------------------------------------------------
| >> phi[2] <<
| mean = [0.023,0.0,0.363,0.371,0.243]
|   -> Stan     = [0.396,0.337,0.255,0.003,0.009], diff = [0.373,0.337,0.107,0.367,0.235]
| >> phi[1] <<
| mean = [0.439,0.423,0.1,0.002,0.037]
|   -> Stan     = [0.007,0.003,0.281,0.406,0.303], diff = [0.432,0.42,0.181,0.404,0.267]
\=======================================================================

pre-cond. diag mat  = [3.53885,9.83359,6.44391,14.54....
@xukai92  This should be a diagonal matrix for HMC. Seems HMC is still adapting parameters when n_adapt is set to 0. Any idea why?

I think I apply pre-condition globally, i.e. to all HMC algorithms.

New running time
/=======================================================================
| Benchmark Result for >>> LDA-vec <<<
|-----------------------------------------------------------------------
| Overview
|-----------------------------------------------------------------------
| Inference Engine  : HMC(2000, 0.025, 10)
| Time Used (s)     : 57.871653644000006
|   -> time by Stan : 2.3655
| Mem Alloc (bytes) :<PHONE_NUMBER>5
|-----------------------------------------------------------------------
| Turing Inference Result
|-----------------------------------------------------------------------
| >> phi[2] <<
| mean = [0.299,0.252,0.427,0.005,0.017]
|   -> Stan     = [0.004,0.003,0.265,0.414,0.313], diff = [0.295,0.249,0.161,0.409,0.296]
| >> phi[1] <<
| mean = [0.015,0.014,0.0,0.567,0.404]
|   -> Stan     = [0.39,0.33,0.272,0.005,0.002], diff = [0.375,0.316,0.272,0.561,0.401]
\=======================================================================

/=======================================================================
| Benchmark Result for >>> LDA <<<
|-----------------------------------------------------------------------
| Overview
|-----------------------------------------------------------------------
| Inference Engine  : HMC(2000, 0.025, 10)
| Time Used (s)     : 96.22526677100001
|   -> time by Stan : 2.3655
| Mem Alloc (bytes) :<PHONE_NUMBER>0
|-----------------------------------------------------------------------
| Turing Inference Result
|-----------------------------------------------------------------------
| >> phi[2] <<
| mean = [0.015,0.007,0.325,0.369,0.284]
|   -> Stan     = [0.004,0.003,0.265,0.414,0.313], diff = [0.011,0.004,0.06,0.046,0.029]
| >> phi[1] <<
| mean = [0.432,0.371,0.173,0.014,0.01]
|   -> Stan     = [0.39,0.33,0.272,0.005,0.002], diff = [0.042,0.041,0.099,0.009,0.008]
\=======================================================================

I believe now we can make Turing programs much faster by writing better Julia code in the @model block.


Hyundai Driver Grasp Warning Fault

Describe the bug
I have been encountering repeated grasp warnings under various conditions and routes
Which car does this affect?
2022 Hyundai Kona ICE
Provide a route where the issue occurs
0099bdb24d82951b|2024-01-27--13-43-20--23
openpilot version
0.9.6
Additional info
Hardware:

Comma 3X

harness Type: Hyundai O

Vehicle Specs:

architecture: CAN

SCC: Radar/CAM SCC

Pre-Route Preperations:

Recalibration

Comma pluggin in before vehicle start

Additional Route(s):
0099bdb24d82951b|2024-01-10--07-44-32--59
0099bdb24d82951b|2024-01-08--07-47-39--55

@sshane can we add this to the status of new HKG discussion for tracking purposes?

Grasp warning
Route Id: 0099bdb24d82951b|2023-12-22--12-01-16--14
Route Id: 0099bdb24d82951b|2023-12-24--18-28-54--7
Route Id: 0099bdb24d82951b|2023-12-24--18-28-54--11
Update: It appears to only happen when I start my vehicle and then plug in the comma. If I plug the comma in before, I do not get the warning during my routes
Update 20240105: Did two 30 minute routes without getting the grasp warning with the comma plugged in before starting the car
Update 20240108: Car cutting in triggered the grasp warning
Route Id: 0099bdb24d82951b|2024-01-08--07-47-39--55
Update 20240110
Pre-Route Preparations:
Recalibration
Comma plugged in before vehicle start
In-Route actions:
Adjusted follow distance
Route Id: 0099bdb24d82951b|2024-01-10--07-44-32--59
Update 20240130
Pre-Route Preperations:
Recalibration
Comma pluggin in before vehicle start
Route id: 0099bdb24d82951b|2024-01-30--08-31-19--20
Time:  08:51:30

From the first route I see the driver awareness status message fall to 1, and then you take over, is that when it started showing the alert?

@sshane yeah that's when I take control. Also, yes, it appears that when I plug the comma in before starting the car I don't get the message

@sshane that is when the alert happened on the dash, with audible alert, and acceleration paused. No alert on the comma when that happens. Also, I can confirm that when I plug the comma in and wait for it to initialize before starting the car, it 100 percent does not happen. It appears to only happen when the comma is never unplug and on standby when starting the car.

Possibly related, 2024 Hyundai Kona ICE also has grasp warnings on https://github.com/commaai/openpilot/pull/30679 on seemingly random parts of the drive. Back to back warninigs sometimes then nothing for a while. Usuable, just very annoying.


Suppress yum/dnf/rpm command warnings

Ansible throws warnings when using yum/dnf/rpm with the command
module:
[WARNING]: Consider using yum module rather than running yum

This patch adds the warn: no argument to suppress the warnings
in the Ansible output.

jenkins test luminous-ansible2.3-xenial_cluster


Add docker support

I found your project while looking for a place to house some malware and wanted to give it a quick look, however I didn't want to run it on my host machine and have been having some issues getting it to work in docker (no systemd, 404 on web ui when trying to run everything individually).
I see that the last update to snake was about 11 months at this point - are there plans to continue support for this application? If so it would be great to have a docker-compose file so that spinning up an instance is trivial. I'd be happy to help with this if there is interest - seems like there should be 3 or 4 docker containers - mongo/redis/snake backend/snake frontend.
Cheers,
Pieter

Hi Pieter,
Its not dead just a little dormant! There are new changes sitting in development that need merging into master, I was waiting for celery to update and now that it has been, the blocker is gone. On the dormant front there is quite a lot I would like to do but very little time my side at the moment especially as it currently serves our need adequately internally at the time of writing.
So, someone mentioned wanting docker support in an earlier issue and said that they would submit a PR, but that never happened and at the time my docker knowledge was non existent. As that has now changed and I know how to go about making scales persistent, creating some Dockerfiles should be trivial.
I will set some time aside today to squash the last couple of bugs in the development branch, merge that into master, create initial docker support, and update the docs where required.
As docker containers have to be individual services, I would split it like so with a shared volume for the samples: mongo/redis/snake core/snake pit/snake skin. This would also allow scaling of workers as required, ideally we should remove the shared volume too and get core to send the samples to the workers but that is on the list...
Alex

Hey Alex,
Thanks for the quick and detailed response. I haven't worked with submodules too much - I should've thought to check for development branches there. This sounds great and I can't wait to try it out - thanks for all your hard work!
Cheers,
Pieter

As usual, took longer than I wanted but have an initial version ready now if you want to test before I bump snake to version 1.1 and update the docs.
So you should be able to get an instance running with:
git clone https://github.com/countercept/snake.git
git submodule init
git submodule update
sudo docker-compose up

If you want to install scales once the system is up:
sudo docker exec -it snake_snake_1 /entrypoint.sh /bin/bash
snake install SCALE_NAME

When I update the README, I will add how to use custom volumes for persistence, etc.

This is fantastic! All containers launched with no problems at all.
Thanks for the quick turnaround - I'll be testing this the next few days and replacing my current solution with snake sometime next week if everything works out. I'll be sure to let you know if I have any issues.
Cheers,
Pieter


Spurious volume change ('mixer volume') events generated when changing player volume

(Just when you thought you could take a break ;-)
I discovered this problem awhile back while debugging a problem with Squeezer volume changes and put it on the back burner to deal with later. To be honest, I forgot all about it until I started having volume change problems with a plugin change I'm working on now and realized it was the cause. Below are excerpts from the plugin's debug log, each generated by pressing the volume "up" icon once. The first one is from the Squeezer app, but is identical to what happens with Squeeze Ctrl and the LMS default skin. The second is from Material Skin.
  The number and timing of the extra events seems to vary depending on how many other client apps are active. The situation that was causing me a big problem was when I had two active instances of Material and one each of Squeezer and Squeeze Ctrl, when the extra event would consistently be received nearly 3 seconds after the original one.  To make matters worse, when a Windows instance of Material is running, volume changes from other client apps also result in the extra events with a larger delay. Here is an example of that situation with a volume change request coming from Squeeze Ctrl.
[22-10-20 15:08:31.3171] Plugins::DenonAvpControl::Plugin::commandCallback (2135) *** DenonAvpControl: commandCallback() p0: mixer
[22-10-20 15:08:31.3177] Plugins::DenonAvpControl::Plugin::commandCallback (2136) *** DenonAvpControl: commandCallback() p1: volume
[22-10-20 15:08:31.3179] Plugins::DenonAvpControl::Plugin::commandCallback (2146) *** DenonAvpControl: commandCallback() Player: Max2Play
[22-10-20 15:08:31.3182] Plugins::DenonAvpControl::Plugin::commandCallback (2262) *** DenonAvpControl:new SB vol: +2
[22-10-20 15:08:31.3184] Plugins::DenonAvpControl::Plugin::handleVolChanges (2411) *** DenonAvpControl:current SB volume: 60
[22-10-20 15:08:31.3186] Plugins::DenonAvpControl::Plugin::calculateAvrVolume (2332) *** DenonAvpControl: Max AVR volume: -10
[22-10-20 15:08:31.3188] Plugins::DenonAvpControl::Plugin::calculateAvrVolume (2334) *** DenonAvpControl: Client volume: 60
[22-10-20 15:08:31.3190] Plugins::DenonAvpControl::Plugin::calculateAvrVolume (2335) *** DenonAvpControl: Raw subVol: 542
[22-10-20 15:08:31.3192] Plugins::DenonAvpControl::Plugin::calculateAvrVolume (2350) *** DenonAvpControl: Calc Vol: 54
[22-10-20 15:08:31.3194] Plugins::DenonAvpControl::Plugin::handleVolChanges (2415) *** DenonAvpControl: VolChange: 54
[22-10-20 15:08:31.3195] Plugins::DenonAvpControl::DenonAvpComms::SendNetAvpVol (190) Calling writemsg for volume command: MV54
[22-10-20 15:08:31.3208] Plugins::DenonAvpControl::DenonAvpComms::writemsg (762) Sent AVR command request: MV54
[22-10-20 15:08:31.3801] Plugins::DenonAvpControl::DenonAvpComms::_read (922) read routine called
[22-10-20 15:08:31.3805] Plugins::DenonAvpControl::DenonAvpComms::_read (933) Read 5
[22-10-20 15:08:31.3807] Plugins::DenonAvpControl::DenonAvpComms::_read (938) Buffer read MV54
[22-10-20 15:08:31.3809] Plugins::DenonAvpControl::DenonAvpComms::_read (939) Client name: Max2Play
[22-10-20 15:08:31.3811] Plugins::DenonAvpControl::DenonAvpComms::_read (942) Command is:MV54
[22-10-20 15:08:31.3813] Plugins::DenonAvpControl::DenonAvpComms::_read (943) Subcommand is:MV5
[22-10-20 15:08:31.3815] Plugins::DenonAvpControl::DenonAvpComms::_read (1112) Process Volume Setting response
[22-10-20 15:08:33.8171] Plugins::DenonAvpControl::Plugin::commandCallback (2135) *** DenonAvpControl: commandCallback() p0: mixer
[22-10-20 15:08:33.8173] Plugins::DenonAvpControl::Plugin::commandCallback (2136) *** DenonAvpControl: commandCallback() p1: volume
[22-10-20 15:08:33.8175] Plugins::DenonAvpControl::Plugin::commandCallback (2146) *** DenonAvpControl: commandCallback() Player: Max2Play
[22-10-20 15:08:33.8178] Plugins::DenonAvpControl::Plugin::commandCallback (2262) *** DenonAvpControl:new SB vol: 60
[22-10-20 15:08:33.8180] Plugins::DenonAvpControl::Plugin::handleVolChanges (2411) *** DenonAvpControl:current SB volume: 60
[22-10-20 15:08:33.8182] Plugins::DenonAvpControl::Plugin::calculateAvrVolume (2332) *** DenonAvpControl: Max AVR volume: -10
[22-10-20 15:08:33.8183] Plugins::DenonAvpControl::Plugin::calculateAvrVolume (2334) *** DenonAvpControl: Client volume: 60
[22-10-20 15:08:33.8185] Plugins::DenonAvpControl::Plugin::calculateAvrVolume (2335) *** DenonAvpControl: Raw subVol: 542
[22-10-20 15:08:33.8187] Plugins::DenonAvpControl::Plugin::calculateAvrVolume (2350) *** DenonAvpControl: Calc Vol: 54
[22-10-20 15:08:33.8188] Plugins::DenonAvpControl::Plugin::handleVolChanges (2415) *** DenonAvpControl: VolChange: 54

As you can see, the spurious volume event was received 2.5 seconds after the original event generated by Squeeze Ctrl and only happens when a Windows Material instance is running. Granted this is an extreme example in that nobody (except me) would be running that combination of client apps but the root problem still exists with only one instance of Material and no other clients running.
I hope this is something simple to resolve but, if not, I will be happy to work with you on it. Thanks.

I'm not 100% sure what the issue is - does it matter if mixer volume 56 is sent twice? Why would that matter? Also, please provide a JSONRPC log from the Material instance that you think is sending these events.  e.g. http://SERVER:9000/material/?debug=json - might also be worth having one with cometd events, so http://SERVER:9000/material/?debug=json,cometd

Well, it obviously does matter or I wouldn't have spent all morning tearing my hair out tracking the source of the problem down.  ;-)  I can fill you in on the details if you like but, for right now, I need to decompress. Just to clarify though, mixer volume 56 shouldn't even have been sent ONCE. It is superfluous after sending the mixer volume +2 and it can seriously confuse the plugin in certain situations, especially when it is sent 2 or 3 seconds after the fact. I suppose I could try to code around it if you can't figure out what is causing it but, as I said, it doesn't happen with any other clients that I have tested with.
I'll get back to you with the debug logs.

@SamInPgh I was only asking if it was an issue that was causing problems, or was out of curiosity. Anyhow, please update (and cleare cache / hard reload) and see if this is now fixed.

I apologize for being a bit brusque in my last response, Craig. I was in a seriously bad mood after hours of trying to track down where these volume events were coming from. Previous to my most recent plugin changes, they were simply an annoyance. However, now that I have added the ability to switch between AVR zones on the fly, having unsolicited volume changes show up while in the process of switching between zones was causing sporadic volume spikes depending on the timing. I became convinced that it was an LMS problem and was actually in the middle of opening an LMS issue when I had a deja vu moment and remembered that I had seen the behavior before while working on another problem and had narrowed it down to Material but put it aside to deal with later, and I guess now is later.   ;-)
Anyway, the good news is that the problem is now fixed. Thank you, and I will try not to bother you again for awhile.
On second thought, I do have two very minor issues/problems that I have been meaning to raise with you.  ;-)

I have a menu text string in avpTop that is formatted with multiple consecutive spaces for readability. In Material only, the consecutive spaces are replaced with one space, I assume for efficiency. Is there a way I can prevent this from happening?

If I make a menu selection from a screen with multiple checkbox choice lines and thereby am taken to another screen also with multiple choice lines, the relative line that was used to select from the previous screen is still highlighted on the new screen, which is a little confusing. I hope I am explaining this clearly. If not, I can upload a screenshot from my phone to illustrate.

Again, both of these are admittedly minor issues and I only bring them up because I've run out of "real" problems.

@SamInPgh No need to apologise, I'm quite often tired and grump! :)

I have a menu text string in avpTop that is formatted with multiple consecutive spaces for readability. In Material only, the consecutive spaces are replaced with one space, I assume for efficiency. Is there a way I can prevent this from happening?

Pretty sure this is a HTML/javascript thing - as in its the web page rendering doing this, not Material specifically.

If I make a menu selection from a screen with multiple checkbox choice lines and thereby am taken to another screen also with multiple choice lines, the relative line that was used to select from the previous screen is still highlighted on the new screen, which is a little confusing. I hope I am explaining this clearly. If not, I can upload a screenshot from my phone to illustrate.

This is probably the Vuetify framework which is causing this.
I know those are pretty dismissive answers - but I'm not a web/HTML/Javascript programmer, so not really sure what to do about either.

Thanks again for fixing this!


RAdam: self._buffer should not be shared across param_groups

The current source code of RAdam forces to share self._buffer across different param_groups.
However, this scrambles different learning rate settings since the self._buffer only stores the latest step size of the FIRST parameter group. (This can be checked by using two parameter groups, one of which has ZERO learning rate.)
As mentioned in RAdam#24, this was already fixed in the original RAdam repo by assigning _buffer into param_group settings. Could you update pytorch-optimizer to follow the original repository?

@nearbydelta would you like to submit a PR with changes?

I've just uploaded a PR for this issue. Please review.

Fixed via #103


Fix some reserved type handling and declare class with multiple extends

Q
A

Bug fix?
y

Breaking change?
sorta?

New feature?
n

Deprecations?
n

Spec compliancy?
y

Tests added/pass?
y/y

Fixed tickets

License
MIT

Matches some additional parser updates in<EMAIL_ADDRESS>declare class with multiple extends is a parse error
https://github.com/facebook/flow/commit/7c191705f0cbbe1a1a3eb08d08469b11261f6fb1
[parser] reserved types in import-typeof declarations should error
https://github.com/facebook/flow/commit/a3e936a50db40dce3d44fc164369a1cc61a2e368
[parser] forbid reserved types in opaque type
https://github.com/facebook/flow/commit/74189a07c56eb9b1b8e74e727b523561e499c125
[parser] interfaces should error on reserved types instead of reserved values
https://github.com/facebook/flow/commit/831243fa6bf8a403f154208765a482b58cf88a87
/cc: @babel/flow

We moved babylon back into the monorepo at https://github.com/babel/babel/tree/master/packages/babylon.
Unfortunately pull requests cannot be migrated between repositories automatically. If this PR is still valid please reopen it there.
Thanks for your effort.


python3Packages.pyowm: 3.1.1 -> 3.2.0

Motivation for this change
Update to latest upstream release 3.2.0
Change log: https://github.com/csparpa/pyowm/releases/tag/3.2.0
Tests are now enabled for the ones that don't require network access.
Things done

[x] Tested using sandboxing (nix.useSandbox on NixOS, or option sandbox in nix.conf on non-NixOS linux)
Built on platform(s)

[x] NixOS
[ ] macOS
[ ] other Linux distributions

[ ] Tested via one or more NixOS test(s) if existing and applicable for the change (look inside nixos/tests)
[x] Tested compilation of all pkgs that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review wip"
[ ] Tested execution of all binary files (usually in ./result/bin/)
[ ] Determined the impact on package closure size (by running nix path-info -S before and after)
[ ] Ensured that relevant documentation is up to date
[x] Fits CONTRIBUTING.md.

Result of nixpkgs-review pr 114333 run on x86_64-linux 1

3 packages built:

python37Packages.pyowm
python38Packages.pyowm
python39Packages.pyowm

Result of nixpkgs-review pr 114333 at cb8a87a7 run on aarch64-linux 1

3 packages built:

python37Packages.pyowm
python38Packages.pyowm
python39Packages.pyowm


[cpprestsdk] Add websocket support.

Note:
Enabling websocket support requires boost, zlib and openssl in compile time.

Hi @sdcb, I'm your friendly neighborhood Microsoft Pull Request Bot (You can call me MSBOT). Thanks for your contribution!
You've already signed the contribution license agreement. Thanks!
The agreement was validated by Microsoft and real humans are currently evaluating your PR.
TTYL, MSBOT;

I bumped the version on cpprestsdk to 2.9.0-1 because the configuration changed. Additionally, I've switched the example document to no longer suggest using cpprestsdk, since it will take quite a long time to install given the boost dependency.
Thanks!


Allow non-sbt execution

enable to call this process as a sbt library
https://github.com/kazumatsudo/GraphDB2RDB/issues/70


[WARNING STA-0201] should be error condition

Macro I/O mismatches are detected early, but do not cause failure until LVS checking.  Seems like this is almost always a setup error.
Related: are there plans to allow log messages to be altered by tcl (info/warning/error, possibly custom text, etc.)?
From intial floorplan log (Verilog macro wrapper does not match actual macro):
[WARNING STA-0201] /data/projects/toy-sram-mpw7/openlane/toysram/runs/22_09_19_16_21/results/synthesis/toysram_site.v line 4666, instance \ra_0.genblk1.ra  port rd_dat_0 not found.

We did debate about user controls for error messages.  We would never allow a downgrade (ie error to warning) but could consider allowing an upgrade.  I have never seen custom text - how would that be used?

@maliberty
Is that required further support?


Create  withdrawal fail

when trying to send BTC -  "Error or the hot wallet is empty and sound will be Fund" http://prntscr.com/iknszk
Please fix.
Thank you.

when trying to send BTC -  "Error or the hot wallet is empty and sound will be Fund" http://prntscr.com/iknszk
am asking deal. thank you.

Any response from the Monyx team in respect to this would be greatly appreciated by every single investor Monyx has.
Cheers.

Yes. Monyx team, please answer to this issue if you see this. You guys still can make this work, web staking would bring this program back up!

@monyx
Guys when are u going to make a announcement, we are still waiting for the wp and the new direction.

update monyx please. new roadmap and the buy back plan. still happen or what.😭😭

Of all the platforms that have launched around the same time as Monyx, this one is top 1 for miss-management and lack of communication regarding issues. I have already written this one off, as it would take a lot on Monyx's part to resurrect it at this point.   People are thinking about contacting authorities for a scam since no one from Monyx is talking to us. We don't know what's going on.

Monyx say something!

Any sort of confirmation that you are alive and working would be pretty great.

Egor if you could just say one line of reassuring information we'd appreciate it.

@monyxcoin
Yeah, just tell us that you're still there working, that's all we need to hear!

 At this point, an announcement would be much appreciated, and it would help people gain back trust on you. Please, make an announcement as soon as possible, thank you!

It appears the hot wallet is empty again @monyxcoin! if you really want to help yourselves, lower the sell fee to 1%, allow the bitcoin from the exchange to fund the hotwallet which will at least promote the trade of the coin on the exchange for now. Maybe that will help push the price on the exchange back up again.

Now the limits on backdating was reduced to 0.01 BTC )
http://prntscr.com/ip2xnh
But still when trying to Withdrawal BTC-error http://prntscr.com/ip2wyc

need  a hot wallet reload come on guys!!! lets make Monyx Great!!

I am not getting confirmation email upon withdrawal, therefore I cannot withdraw Monyx to my desktop wallet. Please help.

i deposited 30$ btc into monyx today at my address 3BLngiSdNN9QKMEE2EHgzLSbehkBtf8UD6
it was then transferred to cold wallet 3Bk9AB8of7Xp11723e79NUrXYsFFSvNKV8 but has not showed up in my monyx dashboard after 2 hours. if you are just outright taking btc deposits i will have no choice but to announce this to the internet. if this is not addressed soon i will announce

I was Speaking with Miss Abraham from Russia yesterday and she said the btc not showing up on the dashboard would be fixed within 24 hours. we are almost at that mark. have her update me please she knows where to find me

When will you guys make a new telegram group @kelly @monyxcoin

whats up MONYX please update the news section with the new whitepaper your investors want to know whats going on and please fix the qt wallet is only paying 1% per month which is nothing close to what it is supposed to give for minting & staking it is starting to feel like this monyx project  is a joke with a pretty looking exchange and block explorer

Hi, I've transferred my Monyx tokens back onto the platform from my staking wallet, but they haven't appeared yet. Please can you look into it? My username is simonrob77, and the transaction ID is 05849fb1d12a2c4b22e91014ce1788f36273ea2de386cd17d4818aa80a03ad2c

I sent $326.00 in BTC to my Monyx wallet and the funds still have not been received, over 96 hours ago.  What is the delay?  My user name is Monolith.  I want to buy more Monyx tokens, but we need out BTC to transfer in a timely manner.  Thank you, Joe

@JosephCookJr
Please stop donating money to scammers, your bitcoin will not show up on your dashboard, they just collect it to theur cold wallets. Donate your money to your friends or family rather than criminals.


prepared release of version 2.0.0

prepared release of version 2.0.0

TODO:

[x] update SDK version to 2.0.0
[x] check that there are no new changelog entries in changelog/

Hype!


[ZEPPELIN-5241] Typos in spark tutorial

What is this PR for?
Fixing some typos from the tutorials notebook
What type of PR is it?
Documentation
Todos

[x] - Task

What is the Jira issue?
ZEPPELIN-5241
How should this be tested?

Standard CI tests

Screenshots (if appropriate)
Questions:

Does the licenses files need update? - no
Is there breaking changes for older versions? - no
Does this needs documentation? - no

Thanks for the contribution @omrisk
PR LGTM

Will merge if no more comment

Thanks @zjffdu! Happy to help.
I see that there are still failing build tests.
Couldn't find an open ticket or PR to fix this, is there a way I could help with that ?

@omrisk Failure of Neo4jCypherInterpreterTest is fixed by a recent PR #4050 (You can could rebase this PR to fix it)
but there still some flaky tests in selenium test (frontend test) that needs to fix, but I think it would not be easy, so we could do it separately. BTW, if you are interested in making contribution to zeppelin, you can pick up any tickets in jira, and we will help you in making contribution.

@zjffdu , thanks, could you please merge this?
I'll try to find a beginner friendly jira issue :)

Will merge it soon, and here's a list of jiras for new contributors
https://issues.apache.org/jira/issues/?jql=labels %3D newbie and project %3D ZEPPELIN


Local connection decoding errors

pip (9.0.1)
pkg-resources (0.0.0)
pluggy (0.4.0)
py (1.4.31)
pytest (3.0.4)
setuptools (28.8.0)
six (1.10.0)
tox (2.4.1)
virtualenv (15.0.3)
wheel (0.30.0a0)

Simple reproduction:
import testinfra
>>> testinfra.get_backend('local://').get_module('Command').check_output('echo \xaa')
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "testinfra/modules/base.py", line 51, in check_output
    out = self.run(command, *args, **kwargs)
  File "testinfra/modules/base.py", line 23, in run
    return self._backend.run(command, *args, **kwargs)
  File "testinfra/backend/local.py", line 33, in run
    return self.run_local(self.get_command(command, *args))
  File "testinfra/backend/base.py", line 167, in run_local
    command = self.encode(command)
  File "testinfra/backend/base.py", line 214, in encode
    return data.encode("ascii")
UnicodeDecodeError: 'ascii' codec can't decode byte 0xaa in position 5: ordinal not in range(128)
>>>

Also should note python 2.

OK, so my above example is pretty stupid, since it's failing on encoding the input command.
The real problem I'm facing is decoding output from a command.
To recreate (python 2.7.6),
test.sh contents:
#!/bin/bash

echo -e '\xaa'

$ python
Python 2.7.6 (default, Jun 22 2015, 17:58:13)
[GCC 4.8.2] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import testinfra
>>> testinfra.get_backend('local://').get_module('Command').check_output('./test.sh')
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "testinfra/modules/base.py", line 55, in check_output
    if len(out.stdout) and out.stdout[-1] == "\n":
  File "testinfra/backend/base.py", line 48, in stdout
    self._stdout = self._backend.decode(self._stdout_bytes)
  File "testinfra/backend/base.py", line 210, in decode
    return data.decode(self.encoding)
  File "/tmp/tmp.G1S9dGp7ul/venv/lib/python2.7/encodings/utf_8.py", line 16, in decode
    return codecs.utf_8_decode(input, errors, True)
UnicodeDecodeError: 'utf8' codec can't decode byte 0xaa in position 0: invalid start byte
>>>

I think you're not supposed to decode stdout here because it's binary data. What about reading stdout_bytes instead ?
>>> testinfra.get_backend('local://').get_module('Command')(u'./test.sh').stdout_bytes
'\xaa\n'

What if you don't expect the output to be unicode, but it is?  The issue came about when running a systemctl command which had some unicode in it, and check_output failed.

\xaa is not an utf8 character. What systemctl command did you run ?

systemctl status apache2 was the command (ubuntu 16.04 server), and I'm aware of the Service module as an alternative.  I don't have the full log with the specific error but it was similar, will work on that.


Feature: copyWith() method for entities

A minor feature request for quality of life:   Generate a copyWith method on entities.  Makes it easy to clone objects.
Lateral thought: Generate models using freezed as the base. Provides copyWith, immutability, and json serialization.

This is a feature we should add.
For reference, Serverpod is compatible with Freezed if you prefer that for your serialization. More info here:
https://docs.serverpod.dev/concepts/serialization#custom-serializable-objects

WDYT about using Freezed as the base for generated models? You'd get copyWIth for "free".   It might be a breaking change though...

To generate copyWith, hashCode and == operator, user should be run serverpod generate --client-data-class

There is a good starting point for doing this here:
https://github.com/serverpod/serverpod/pull/976

The problem with using the Custom Serializable Objects approach is that in that case it can't be connected to the database. Or am I missing something? As far as I can tell only with the classes defined in yaml can they be used in the postgres tables.
So it seems currenlty my dilemma is I can either have classes that are equatable via freezed/equatable etc, or I can have them compatible with the built-in database, but not both. I'm trying to move a pre-existing large flutter project over to serverpod and this is basically a blocker for me until fixed, becuase I'm heavily dependent on classes being equatable (via Equatable package) for unit tests and some business logic that would be hard to change.
I hope this can be dealt with soon as I don't know what to do for now except being super-hacky and adding Equatable to the classes in the generated code after each serverpod generate which obviously is not workable long-term.


Disable layout for routes

Description
I would like to disable layout for some certain routes, like the landing page.
Is that possible?
Suggested solution
<route lang="yaml">
name: Home
meta:
  layout: false
</route>

Alternative
No response
Additional context
No response
Validations

[X] Follow the Code of Conduct
[X] Read the docs.
[X] Check that there isn't already an issue that request the same feature to avoid creating a duplicate.

Are you using this plugin: vite-plugin-vue-layouts?
Otherwise vite-plugin-pages does does not have a layout option. You can, however, use the meta value to manipulate your component.
For example:
In your component you add the code you had:
<route lang="yaml">
name: Home
meta:
  layout: false
</route>

And then when route loads the parent component (where  is ) you can do something like this:
const shouldShowLayout = computed(() => {
	const { meta } = useRoute();
	return meta.layout !== false;
});

I might be able to help more if more code was provided.


📝 Update to creating new environments for end users

Updated section 6 as the editing of the PR to comment out any environments that are not used in the GitHub Actions workflow file is no longer required.

I did actually wonder about the matrix list that ends up in an account workflow, and can see that it's created dynamically by pulling the contents of the environments.json and using jq to query for environments.