Cannot find asset with NodejsFunction created asset

I trying to deploy a NodejsFunction with a stackset but I can't get the file asset to work. I get the following error

Error: Cannot find asset at /Users/markus/src/awsCore-tagScheduler/infrastructure/cdk.out/assembly-awsCoreTagScheduler-awsCoreTagScheduler-frankfurt-dev/Users/markus/src/awsCore-tagScheduler/infrastructure

It looks like it's adding the asset directory as source to the bucketDeployment instead of the asset filename. Can't figure out why though.
How to reproduce
A simplified example of what I'm trying to accomplish, more or less following the example in the project README.
export class TagSchedulerStage extends Stage {
  constructor(
    scope: Construct,
    id: string,
    props: StageProps,
  ) {
    super(scope, id, props);

    const bucketStack = new Stack(this, 'BucketStack');
    const bucket = new s3.Bucket(bucketStack, 'Assets', {
      bucketName: 'cdkstacket-asset-bucket-xyz',
    });
    bucket.addToResourcePolicy(
      new iam.PolicyStatement({
        actions: ['s3:Get*', 's3:List*'],
        resources: [bucket.arnForObjects('*'), bucket.bucketArn],
        principals: [new iam.OrganizationPrincipal('ou-ab12')],
      }),
    );

    const stack = new Stack(this, 'TopLevelStack');

    const stackSetStack = new StackSetStack(stack, 'MyStackSetStack', {
      assetBucket: bucket,
    });

    new lambdaNodejs.NodejsFunction(
      stackSetStack,
      'MyLambdaHandler',
      {
        handler: 'handler',
        entry: path.join(__dirname, '../../src/function.ts'),
      },
    );

    new StackSet(stack, 'MyStackSet', {
      capabilities: [Capability.IAM],
      deploymentType: DeploymentType.serviceManaged(),
      target: StackSetTarget.fromAccounts({
        regions: ['eu-central-1'],
        accounts: ['123456789012'],
      }),
      template: StackSetTemplate.fromStackSetStack(stackSetStack),
    });
  }
}

Any advice?

I have put up an example application here, https://github.com/mbergkvist/stacksetsandassets
The command I execute is
npm run cdk list

and the error is
Error: Cannot find asset at /Users/markus/tmp/stacksetsandassets/cdk.out/Users/markus/tmp/stacksetsandassets

Some updates:

npm run cdk synth -- --all works fine
I get the exact same error with RustFunction
PythonFunction works without any reported error for both cdk synth and cdk list, but instead it fails with uploading the lambda asset with the wrong key, making the stack deployed by the stackset fail. The example in https://github.com/mbergkvist/stacksetsandassets is updated to include PythonFunction.

i tested something similar with the recent updates from https://github.com/cdklabs/cdk-stacksets/pull/325 and it seems to work OK. once we can get this merged please test again and we can address if still having issues.

thanks for reporting this. i tested a nodejs function with the recent updates in https://github.com/cdklabs/cdk-stacksets/pull/325 and it seems to work OK. there is an issue with python lambda with the s3 asset file name that gets produced that we will look into.

thanks for reporting this. i tested a nodejs function with the recent updates in #325 and it seems to work OK. there is an issue with python lambda with the s3 asset file name that gets produced that we will look into.

I'll take #325 for a spin on my example repo, testing it with both nodejs function and Rust function.

@josh-demuth Tested #325 with the project in https://github.com/mbergkvist/stacksetsandassets/pull/1 but I still get the same error. It looks like it's adding the asset directory as source to the bucketDeployment instead of the asset filename.

yes was testing more and sometimes it would work and sometimes not. the s3 bucket deployment process is getting a different hash. the lambda asset process creates a directory and not a zip at this stage of the process. are you seeing a .zip file be created in your cdk.out?

There is a zip-file asset.3322b7049fb0ed2b7cbb644a2ada8d1116ff80c32dca89e6ada846b5de26f961.zip. The content of the file is the awscli, not the lambda-code. There is also a folder asset.e976a796f036a5efbf44b99e44cfb5a961df08d8dbf7cd37e60bf216fb982a00 with a Python script that looks like a Custom Resource handler, I assume it comes from the CDK.

I found this thread with high hopes until I clicked and saw it was still open. I am too experienceing this issue.
Error: Cannot find asset at /Users/mypath/cdk.out/Users/mypath
    at new AssetStaging (/Users/mypath/node_modules/aws-cdk-lib/core/lib/asset-staging.js:1:2119)
    at new Asset (/Users/mypath/node_modules/aws-cdk-lib/aws-s3-assets/lib/asset.js:1:1141)
    at Object.bind (/Users/mypath/node_modules/aws-cdk-lib/aws-s3-deployment/lib/source.js:1:1460)
    at BucketDeployment.addSource (/Users/mypath/node_modules/aws-cdk-lib/aws-s3-deployment/lib/bucket-deployment.js:1:6709)
    at StackSetStackSynthesizer.addFileAsset (/Users/mypath/node_modules/cdk-stacksets/src/stackset-stack.ts:96:42)
    at new Asset (/Users/mypath/node_modules/aws-cdk-lib/aws-s3-assets/lib/asset.js:1:1623)
    at AssetCode.bind (/Users/mypath/node_modules/aws-cdk-lib/aws-lambda/lib/code.js:5:3487)
    at new Function (/Users/mypath/node_modules/aws-cdk-lib/aws-lambda/lib/function.js:1:10003)
    at new NodejsFunction (/Users/mypath/node_modules/aws-cdk-lib/aws-lambda-nodejs/lib/function.js:1:2111)
    at new ScheduledReport (/Users/mypath/src/constructs/scheduled-reports/scheduled-report.ts:45:24)

thanks for reporting this. i tested a nodejs function with the recent updates in #325 and it seems to work OK. there is an issue with python lambda with the s3 asset file name that gets produced that we will look into.

This is an issue that I am seeing, if I create the lambda function using the bundler the deployment is unable to find the file in the s3 bucket.
ie:
    const functionHandler = new cdk.aws_lambda.Function(this, "server", {       code: cdk.aws_lambda.Code.fromAsset(${lambdaSrcDir}/api/,{         bundling: {         image: Runtime.PYTHON_3_12.bundlingImage,         command: [           'bash', '-c',           'pip install -r requirements.txt -t /asset-output && cp -au . /asset-output'         ],       },       }),       handler: "server.lambda_handler",       runtime: cdk.aws_lambda.Runtime.PYTHON_3_12,       timeout: cdk.Duration.minutes(1),       environment: {         CLEAN_DATA_BUCKET: secureSightCleanBucket.bucketName,         ORG_NAME: secureSightConfig.organizationName,       },       role: roleSecureSightServer,     });

I hit the same issue and discovered that if the bundling options are omitted, then the asset archive filename (the SHA256 one) will be identical to the one in the staging bucket. This is a workaround for the problem, if you can omit the bundling options or bundle the function code externally.
Example:
# This produces error because the asset hash is different from the staging asset hash:
on_event_handler_function = lambda_.Function(
    self,
    id="OnEventFunction",
    function_name=on_event_handler_function_name,
    runtime=lambda_.Runtime.PYTHON_3_13,
    role=on_event_handler_role,
    code=lambda_.Code.from_asset(
        os.path.join(os.path.dirname(__file__), "lambda", "dependency_signal"),
        asset_hash="dependency_signal",
        bundling=BundlingOptions(
            image=lambda_.Runtime.PYTHON_3_13.bundling_image,
            command=[
                "bash",
                "-c",
                "pip install --no-cache-dir -r requirements.txt -t /asset-output && cp -au . /asset-output",
            ],
        ),
    ),
    timeout=Duration.minutes(5),
    log_retention=logs.RetentionDays.ONE_WEEK,
    handler="index.on_event",
)

# This DOES NOT produce error because the asset hash is identical to the staging asset hash:
on_event_handler_function = lambda_.Function(
    self,
    id="OnEventFunction",
    function_name=on_event_handler_function_name,
    runtime=lambda_.Runtime.PYTHON_3_13,
    role=on_event_handler_role,
    code=lambda_.Code.from_asset(os.path.join(os.path.dirname(__file__), "lambda", "dependency_signal")),
    timeout=Duration.minutes(5),
    log_retention=logs.RetentionDays.ONE_WEEK,
    handler="index.on_event",
)

Apologies if I am not using the correct terminology, I am fairly new to this.


Incorrect total count for crime location visualization

The total count of the events is incorrect for crime location visualization.

how to reproduce:

open the denver example
select Robbey category
change the map visualization to Crime Location Map
click on a circle on the map

current:

legend shows wrong max min symbol
popup show wrong total count

expected:

legend shows correct max min symbol based on all the features visible on map
popup show correct total count based on selected categories

@mbarto I can't seem to find the min/max legend you are referring to in the story. Could you please outline it for me

@tonym3nsa this select input allows you to change map visualization


Improved TypeScript types for style

Describe the feature request
tldr: Please make it possible to compose style using TypeScript.
Hi there, I noticed that when trying to compose types such as the following:

props.style only satisfies TypeScript if I do props.style ?? false. style={[styles.modal, false]} is accepted but style={[styles.modal, undefined is not]}, which is why ?? false works.
The other example is style={[styles.modal, { backgroundColor }]} which I belive is intended to be supported by looking at the apps/examples.
Here are the complete errors:
Type 'Styles | undefined' is not assignable to type 'false | unique symbol | Readonly<Readonly<{ readonly theme?: StyleXClassNameFor<"theme", Readonly<string | null | undefined>> | undefined; readonly MozOsxFontSmoothing?: StyleXClassNameFor<...> | undefined; ... 542 more ...; readonly '::-webkit-search-results-decoration'?: StyleXClassNameFor<...> | undefined; }> & P...'.
  Type 'undefined' is not assignable to type 'false | unique symbol | Readonly<Readonly<{ readonly theme?: StyleXClassNameFor<"theme", Readonly<string | null | undefined>> | undefined; readonly MozOsxFontSmoothing?: StyleXClassNameFor<...> | undefined; ... 542 more ...; readonly '::-webkit-search-results-decoration'?: StyleXClassNameFor<...> | undefined; }> & P...'.ts(2322)
(parameter) props: ModalProps

Type '{ backgroundColor: string; }' is not assignable to type 'false | unique symbol | Readonly<Readonly<{ readonly theme?: StyleXClassNameFor<"theme", Readonly<string | null | undefined>> | undefined; readonly MozOsxFontSmoothing?: StyleXClassNameFor<...> | undefined; ... 542 more ...; readonly '::-webkit-search-results-decoration'?: StyleXClassNameFor<...> | undefined; }> & P...'.
  Types of property 'backgroundColor' are incompatible.
    Type 'string' is not assignable to type 'StyleXClassNameFor<"backgroundColor", Readonly<string | null | undefined>>'.
      Type 'string' is not assignable to type '{ _opaque: unique symbol; _key: "backgroundColor"; _value: Readonly<string | null | undefined>; }'.ts(2322)
(property) backgroundColor?: StyleXClassNameFor<"backgroundColor", Readonly<string | null | undefined>> | undefined

Am I doing something wrong or are the TypeScript types slightly off?
Here's the example I was referring to, so it looks like both of these are expected to work if not for the type errors: https://github.com/facebook/react-strict-dom/blob/main/apps/examples/src/App.js#L216.

Inline styles are not allowed in RSD / StyleX, there is a function syntax for that. The example in this repo is using an out of date style.
The issue with undefined might be coming from the Flow translation to TS. cc @nmn

Inline styles are intentionally not supported because of specificity issues when merging styles on the web. (Inline styles are always more specific than CSS).
We are considering adding an API to StyleX on the lines of stylex.inline() that would allow something similar.
To debug the undefined problem, I would need a bit more context. Please open an issue on the StyleX repo with a repro.

There is now a StyleX issue with a proposal for stylex.inline(). That is now the correct place for this discussion:
https://github.com/facebook/stylex/issues/534

Isn't there still the undefined issue with the TS types?

style={[styles.modal, false]} is accepted but style={[styles.modal, undefined is not]}

Isn't there still the undefined issue with the TS types?

Yeah, looks like an edge-case bug in flow-api-translator that causes ?false from Flow to skip undefined and generate null | false.
The source of this bug is within StyleX's type defs, so I'll fix it there.


Support component cycles in stub generation

What: Fixes #591 and StackOverflowError produced when generating stubs for spec containing component cycles.

Why: Avoids serious StackOverflowError and better supports the OpenApi specification

How: Resolver keeps a stack of patterns visited in order to avoid infinite processing cycle.

Otherwise StackOverflowError thrown
Uses correct pattern for the referred-to component that would introduce a cycle (previously would use the referring component's pattern). See OpenApiSpecification.toSpecmaticPattern()
Test enhanced to test stub generation for direct cycle, indirect cycles through another component, and cycles through arrays.

Checklist:

[ ] Documentation added to the README.md OR link to PR on https://github.com/specmatic/specmatic-documentation
[X] Tests
[ ] Sonar Quality Gate

Issue ID:
Closes: #591

Related to #583 , but this issue deals with stub generation logic.

Update: I have removed Pattern.isLeaf() (and all implementations) from this pull-request because I realized it was not the really the optimization I thought. Hopefully that makes your review simpler. The core change is in Resolver.generate()

Update: I have removed Pattern.isLeaf() (and all implementations) from this pull-request because I realized it was not the really the optimization I thought. Hopefully that makes your review simpler. The core change is in Resolver.generate()

@westse thanks, we will take a look

@joelrosario Thanks for the clarification. I have updated this PR per your suggestions.

Note I just opened #608 for a more thorough eradication of StackOverflowError, although this PR probably should be merged first.

Closing this in favor of #608 which tests and fixes not only this issue but also StackOverFlowError in polymorphic scenarios. Note that the recommendation for keeping Resolver immutable has been addressed in #608 as well.


typo: overehead -> overhead

Neat project! Saw it from HN and thinking about using it in place of our roll-your-own solution.

Thanks! And good to hear!


Movement of subscription within child management group impossible

Community Note

Please vote on this issue by adding a 👍 reaction to the original issue to help the community and maintainers prioritize this request
Please do not leave "+1" or "me too" comments, they generate extra noise for issue followers and do not help prioritize the request
If you are interested in working on this issue or have submitted a pull request, please leave a comment

Versions

terraform:
azure provider:
module: 1.1.3
Description
Describe the bug

Steps to Reproduce

step 1
step 2
you get it...

Screenshots

Additional context

Hello,
I currently have a management group as a child group of the Tenant Root Group with several subscriptions (needed for the module) in it. I want to let the module build the enterprise scale set management group hierarchy from the scope of the child group with a service prinicpal that has permissions only on this child group and below, not on the Tenant Root Group.
Currently while deploying I get the error message like
│ Error: unable to de-associate Subscription "xxxxx-xxxxx-xxxxx-xxxxx-xxxxx" from Management Group "my-grp": managementgroups.SubscriptionsClient#Delete: Failure responding to request: StatusCode=400 -- Original Error: autorest/azure: Service returned an error. Status=400 Code="BadRequest" Message="Permission to write and delete on resources of type 'Microsoft.Authorization/roleAssignments' is required on the subscription or its ancestors." Details=[{"raw":"Subscription ID: '/subscriptions/xxxxx-xxxxx-xxxxx-xxxxx-xxxxx'"}]
Any idea how to solve this?
P.S.: From the Azure CLI it works, I can move a subscription to a created management group under my child group. That means that the permissions in general are definitely sufficient, but it seems like the module needs a permission on the Tenant Root Group, which this service principal must not have.

I think this is related to the following issues:
https://github.com/Azure/terraform-azurerm-caf-enterprise-scale/issues/223
https://github.com/Azure/terraform-azurerm-caf-enterprise-scale/issues/24
https://github.com/hashicorp/terraform-provider-azurerm/issues/9833
The question is if this is the same issue and if there is already a solution to it

Hi @manfred0191... thank you for logging this issue.
I am going to assume that when you successfully perform these operations using Azure CLI, you are doing so with the same Service Principal that you use for the Terraform pipeline?
I have been speaking with my colleagues about this and we're all in agreement that this is likely to be a provider issue, rather than the module, but we need to validate something first.
Are you able to confirm whether you are also using Terraform (outside of the module) to manage the Management Group and Subscriptions that you reference above? Also, do you have any Tenant-level restrictions (such as requiring authorization) in relation to Management Group settings?
Typically, when moving a Subscription between Management Groups, Terraform will first destroy the original association and then create a new association. This means that the Subscription will move to default Management Group. Assuming Terraform is doing this (regardless of my questions above), then you may run into the following issue with Terraform, that's not being observed with Azure CLI which is able to re-associate without this "double move":

If the Owner role on the subscription is inherited from the current management group, your move targets are limited. You can only move the subscription to another management group where you have the Owner role. You can't move the subscription to a management group where you're only a contributor because you would lose ownership of the subscription. If you're directly assigned to the Owner role for the subscription, you can move it to any management group where you're a contributor.

src: Moving management groups and subscriptions
Are you able to set your custom root Management Group to be the default Management Group to see whether this resolves the problem?
Another possible solution might be to ensure that Owner permissions are explicitly set on the Subscriptions you want to move, assuming they are only getting this through inheritance from your custom root Management Group.
As a final thought, have you considered making your custom root Management Group the root Management Group for the module? Although not immediately obvious, you can do this by creating it with the correct values for root_id and root_name and then importing it into Terraform. Of course, it will also destroy this Management Group if you decide to completely re-deploy your environment in the future so please be aware of this.
Please let me know how you get on and if this requires further support.

Hi Kevin,
I think you can close this issue, because I simply set the variables not correctly: The variable parent_root_id was pointing to the tenant management group and as soon as I was changing it to the child group, the problem was gone. The only thing is I needed to establish another layer in between, so that the destruction of the environment results in putting the subscriptions back to where they came from. There is still another bug concerning the owner permissions of the subscriptions, but this has nothing to do with the model - it's a bug in Azure itself.
Anyway thanks for your help, which was highly appreciated

Thank you for confirming @manfred0191. Glad to hear you've managed to resolve the issue.
If you need further assistance, please let us know!

Hello,
can you please tell me how to define an individual name for a
resourcegroup in the Azure Terraform CAF Model?
To rename a management resource group I found out that I have to add in
the "advanced" section of settings_management.tf like
advanced = {
      custom_settings_by_resource_type = {
        azurerm_resource_group = {
          management = {
            name = "rg-fits-test-mgmt"
but in the settings_connectivity.tf this doesn't work:
advanced = {
      custom_settings_by_resource_type = {
        azurerm_resource_group = {
          connectivity = {
            name = "rg-fits-test-connectivity"
What do I have to set there to get an indidual name for the RG ??
--
Diese E-Mail wurde von AVG auf Viren geprüft.
http://www.avg.com


Blueprint Framework - Implement Core Data Source Validation

After the schema for a blueprint is parsed, we need to combine core validation for resource definitions as per the blueprint specification along with running the DataSource.Validate method.

Implemented in cba5b3a


Wrong formatting of comments when they are next to a closing bracket

Given the following input
var someFn = function() {
  // this will be fine
  someCodeHere();
  // this will not be aligned
}

We obtain the following output
var someFn = function() {
  // this will be fine
  someCodeHere();
// this will not be aligned
}

This only happens when the comment is next to a closing bracket.
This issue affects both line comments and block comments.
You can check the issue here using the latest esformatter.
http://requirebin.com/?gist=f5ba6fe754d5ba3d2b99

this is in fact the expected behavior (see #209). you can change it by setting indent.alignComments = false

I see! cool thanks


Add Yuku to showcase.json

Thank you for your contribution to the IC Developer Portal.
Before submitting your Pull Request, please make sure that:

[ No ] You have updated the .github/CODEOWNERS file according to your changes.
[ No ] You have registered new documents to /sidebars.js if any.

Dear @IhsotasTon,
In order to potentially merge your code in this open-source repository and therefore proceed with your contribution, we need to have your approval on DFINITY's CLA.
If you decide to agree with it, please visit this issue and read the instructions there. Once you have signed it, re-trigger the workflow on this PR to see if your code can be merged.
— The DFINITY Foundation


Add base renovate config

Adds an org wide Renovate configuration that can be included in any repo interested in using it.
A repo can reference shared config like this:
{
  "$schema": "https://docs.renovatebot.com/renovate-schema.json",
  "extends": ["github>open-feature/.github"]
}

Resources:

https://github.com/renovatebot/renovate/discussions/10609
https://wayfair.github.io/docs/managing-dependencies/

Signed-off-by: Michael Beemer<EMAIL_ADDRESS>

Testing this configuration in the playground repo. If successful, I suggest we merge this so other projects can use it.
https://github.com/open-feature/playground/pull/107


BUG - 'add to DART' migration doesn't add all negative plates

Describe the bug
When the 'add to DART' migration was run at 11:05 on 20/01/2021, it didn't add plates that had only Result = 'Negative' samples.
This issue https://github.com/sanger/crawler/issues/202 was meant to make it so it did add those plates.
Additional context
Iraad reported at 2:20pm on 21/01 in Slack (#heron-ss) that some plates (inc. AP-rna-00174985, AP-rna-00174977, AP-rna-00161655 and AP-rna-00138777) were moved back to the input cytomat by the robot because it believed them to have  no plate map data.
However, when he checked in Box Buster, it appeared they did have plate map data, but all the samples were negative.
Eduardo checked some all negative plates from 19th and 21st, and they are present in DART, but those from 20th are not.
The crawler failed to add plates to DART on the run at 1am on the 20th, due to the database being down. These were instead inserted by Eduardo and Phil by running the add to DART migration at 11:05 that day (python run_migration.py update_mlwh_and_dart_with_legacy_samples 210120_0000 210121_0000).
Migration log reported 1,157 unique plate barcodes (before excluding cherrypicked ones).
Mongo query between the dates and with Result='Positive' also gives 1,157 unique plate barcodes.
Mongo query without the Result filter gives 1,238.
Hypothesis is that there is a bug in the migration code that means negative plates are not inserted, but the nightly run code works ok.
They do use different methods to insert to DART - update_dart_fields vs insert_plates_and_wells_from_docs_into_dart

Closing this as it turned out the problem was that the wrong version was deployed to prod at the time this migration was run.

Closing this as it turned out the problem was that the wrong version was deployed to prod at the time this migration was run.


Make IO-parallelism configurable

Restic version:  5de36df
Observed behavior:
IO-parallelism is hard coded. E. g. defaultParallelism = 40 (checker.go:50).
The hard coded parallelism might be well chosen for solid state disks, but is not always benefical and could slow down IO-operations or cause other issues. In practice I'm observing issues checking a repository on a samba/cifs mounted network location: IO errors due to NT_STATUS_INSUFF_SERVER_RESOURCES. Reducing defaultParallelism (checker.go:50) solves these issues but requires code changes.
Expected behavior:
IO-Parallelism should be configurable with a command line parameter. E. g. restic --max-parallel-io 10 [...]. This option should be available for backup, restore and check operations.
Related: Reducing IO parallelism might also resolve #313. Exhausting resource consumption as reported in #300, #316, #298 might also be related to high IO-parallelism.

Instead of exposing this to the user with a configuration parameter, I think it would be more useful to try to come up with an (automatic) way of determining an ideal value. This needs to be a sane (potentially automatic) default, but most users can't make an educated choice for this value by themselves and it will just make the command line user interface more confusing, imho.

Consider splitting help output into a reduced basic and an advanced section: restic help shows a reduced basic help text where as restic help --advanced shows all available options. Any user happy with restic's defaults reads the reduced help section, only.

 Sane defaults and convention over configuration are much more useful and lead to better usability in the long-term, in my experience.

I also don't like "advanced settings", however tempting that may be. I see you point @episource that there should be a way to either manually or automatically select the IO parallelism. #313 is not affected because the fuse backend doesn't limit the amount of parallel IO operations, that comes from the kernel.

We recently into the same issue on a VM host which doesn't have too much spare I/O performance. Running restic with its default parallelism (which now is 10) results in a significant overall performance degradation.
I don't think that automatically determining a level of parallelism will ever work in all cases, as one could try to optimize for fast backups (higher parallelism as long as the storage can handle it) or minimal impact on I/O performance (maybe even parallelism = 1).
Do you have any strong objections against adding a command line flag now? It could still be combined with some auto-detect mechanism for the default value in the future. If there's no way to control the level of parallelism, we would have to decide between maintaining a patched version of restic or not using it at all.

@julianbrost Did you try assigning IO priority to the restic process?

@pvgoran Yes, tried to run it with ionice. Solves the issue with high I/O load but the backup takes forever (about 24 hours instead of 5).

Do you have any strong objections against adding a command line flag now?

Yes: first we need to finish the new archiver code (see #1494), then we can tackle this. I'll keep it in mind while writing the code.

Just a +1.  The defaults for fileReadConcurrency and SaveBlobConcurrency aren't high enough for our systems.
Similarly, workerCount in restorer/filerestorer.go requires bumping up to extract the maximum performance from high throughput network interfaces and disks.

I agree @pmkane I think the hard-coded workerCount = 8 is artificially slowing down our restores.
I don't think we should bust out any extra command line options until we are sure that they are useful and effective for everyday users. But we should be able to add various experimental --options keywords to enable runtime configuration of anything that might be useful for tuning. We could even prefix them so everyone knows the option could get deprecated, e.g. '--option restore.experimental.workercount=32`. The option names don't have to be short or pretty. Us tinkerers just want to be able experiment with tuning without recompiling every time.
@fd0 would you consider attaching tuning settings like this to --options keywords rather than hard-coding them? With just a sanity range check and a warning that these are 'at your own risk' settings?

Same here. I have a single core VM, restic just destroys it during backup. Loadavg spikes to 30+, system becomes totally unresponsive, even when run with nice -n 19 ionice -c 3

I'm using restic to backup some old HDD's (as in classical rotating disks) where the default parallelism just kills the performance due to the fact that the OS has to fetch files from all over the platter.
In my experience for such a use-case the best parallelism value is 1, i.e. no parallelism...
So, a configurable flag would be nice.

Although not strictly related to this issue, but in my experience when reading multiple files in parallel, sorting by inode is a good compromise, because most likely files with "close" inodes were written "together".  Meanwhile for other "disks" (especially FUSE-based ones) where lexical ordering might cluster files together, having a random order works best.
For ext4 one can even ask the file-system to indicate the first offset of the data on the disk, thus sorting by that one almost achieves the maximum bandwidth of the disk or array.
(I've implemented this in my md5-tools, if anyone is interested: https://github.com/volution/md5-tools/blob/07b56d1393c451492e3ac3f8005cb3f6de6422ca/sources/lib/main_create.rs#L772-L785.)

The concurrency for writing to the repository can be configured for all backends by now (not yet released).


pie chart example added

@csobier can you check again? you can use the "suggest change" feature if needed


Scrollable Dialogue fix request for Android smartphones

Tested versions
Android smartphone with res 2312 x 1080
Godot 4.1 and 4.2 for Android
Zylanns heightmap-terrain-plugin 1.7.2
System information
Android smartphone - res 2312 x 1080
Issue description
Hi Guys
I have been looking for a wyziwyg 3d level editor for Android, and finally fired up Godot for Android. Still getting a handle on Godot, and I appreciate the clean logic. Not as menu heavy as Unreal, and still has a tiny footprint once installed.
My typical use case is to thrash out 3d ideas on my phone without a laptop or PC.
I installed Zylanns plugin on my android setup, and there are two issues.

the generate terrain dialogue overflows the screen, so I can't get to the "apply" button. Will copy Zylann in on this.

When sculpting terrain on an android phone, the terrain stays flat without changes, no matter which sculpt tool I use.

See screenshot of terrain generation dialogue.

Hoping you can help. Season's greetings.
Steps to reproduce
Use a android smartphone with screen res of 2312 x 1080
Install Godot android 4.1 or 4.2
Install Zylanns heightmap terrain plugin 1.7.2
Follow Kasper tut on YouTube -> https://www.youtube.com/watch?v=Af1f2JPvSIs
Try sculpt the terrain
Nothing happens to the terrain
Then
Try Generate terrain
Apply/cancel buttons hidden off screen
Minimal reproduction project (MRP)
Too big to upload

This is an issue with the plugin which should implement scrolling in its popup, not the editor.

Thank you for your help


Calendar Feature in Project Form

r-There is an odd thing happening with the calendar feature within the start and end date – really this should just a be a calendar pop up not the arrows that go up and down for the year.

This has been resolved.  Closing ticket.


UI: Gallery Improvement

Issue #6
To improve the gallery, I change the grid layout to auto masonry.
Changes:

add new dependency, "react-masonry-css"
refactor css for Artwork Card and Gallery Section
update several styles

For the next development:
Re-theme to be more Hachama and Coco themed as stated on issue #8

So, there were a few reasons we decided to not use auto masonry on the gallery. Each time a new image loads via lazy load, the entire page layout is recalculated, which is a huge performance hit for us. I don't think this is going to be a viable option until we can figure out a way to prevent the recalculation of the positions of each image

Thanks for the information, I'll try to find the alternative for the gallery.


Build for Alpine linux?

I often use the -alpine images for Python in docker, but there doesn't seem to be a build compiled against musl so it requires me to install it into my container.
What would be required for a build that can install into an alpine docker image ?
I'm currently reading through https://github.com/PyO3/maturin-action?tab=readme-ov-file#examples, to see if there are any examples that might apply here.
My first thought was that this could be converted to a platform matrix
https://github.com/messense/py-promql-parser/blob/d86aeb6b88656a5056d3150909bb5a5b47a1577e/.github/workflows/CI.yml#L12-L25
perhaps something similar to here
https://github.com/pydantic/pydantic-core/blob/b777774d0fa73a400152c31c33c85fb824e59d7e/.github/workflows/ci.yml#L399-L434
where the musllinux builds can be custom added to the include in case the matrix build setting doesn't work properly.
Is there any guidance you can provide ?

You can try to copy https://github.com/messense/nh3/blob/main/.github/workflows/CI.yml and tweak it for this project, pull requests are welcome!


Fix bug in output buffering cleanup during stream initialization

There is a bug in the output buffer cleanup during initialization. In a for() loop, the conditional will be evaluated on every iteration through the loop. Because ob_end_flush() is called in the loop, the value returned by ob_get_level() is going to change on each iteration, causing some of the buffers not to be  flushed and ended (if the initial value is 2, only 1 will be processed). I've altered the loop to be a while() loop that goes until all the output buffering is disabled. Alternatively, the for() loop could be adjusted to cache the initial value of ob_get_level(), and test against that in the conditional clause.
I tried both methods, and either seems to work fine on the test applications. With my proposed change, I injected a few different levels of output buffering in, and logged each call to ob_end_flush(), to make sure it cleaned up the appropriate number of buffering levels.

Thank you. This will get merged.


Panicked at 'called Result::unwrap() on an Err value: Canceled'

I can't find the reason why my code panics. My repository is public, so here is the test that is failing: test_get_stock.
The cause of the panic is in this fn:
/// Tries to fetch the current `StockList` and returns a future for that result.
    pub fn get_stock(&self) -> Box<Future<Item=Stock, Error=String> + Send> {
        let stock_future = self.create_connection()
            .and_then(|conn| {
                let querystring = "with rezumat_stoc_cte(location_id, article_id, acquisition_date, best_before_date, net_acquisition_price, gross_acquisition_price, added_value_percent, retail_price, vat_percent, fractions, whole_quantity, fraction_quantity) as (select IdLocatie as location_id, IdArticol as article_id, DataIntrare as acquisition_date, BBD as best_before_date, cast(PretAchizitie as decimal(8, 2)) as net_acquisition_price, cast(PretAchizitieNediscFTVA as decimal(8, 2)) as gross_acquisition_price, ProcAdaos as added_value_percent, cast(PretAmanunt as decimal(8, 2)) as retail_price, cast(ProcTVA as decimal(4, 2)) as vat_percent, CantNrBuc as fractions, SUM(CantI) as whole_quantity, SUM(CantF) as fraction_quantity from BizPharmaHO.dbo.Stoc group by IdLocatie, IdArticol, BBD, PretAchizitie, PretAchizitieNediscFTVA, PretAmanunt, ProcTVA, ProcAdaos, DataIntrare, CantNrBuc) select location_id, article_id, acquisition_date, best_before_date, net_acquisition_price, gross_acquisition_price, added_value_percent, retail_price, vat_percent, fractions, case when fraction_quantity < fractions then whole_quantity else whole_quantity + floor(fraction_quantity / fractions) end as whole_quantity, case when fraction_quantity < fractions then fraction_quantity else fraction_quantity - (floor(fraction_quantity / fractions) * fractions) end as fraction_quantity from rezumat_stoc_cte;";
                conn.simple_query(querystring)
                    .map(|row| {
                        StockLineItem {
                            location_id: row.get(0),
                            article_id: row.get(1),
                            acquisition_date: row.get(2),
                            best_before_date: row.get(3),
                            net_acquisition_price: row.get(4),
                            gross_acquisition_price: row.get(5),
                            added_value_percent: row.get(6),
                            retail_price: row.get(7),
                            vat_percent: row.get(8),
                            fractions: row.get(9),
                            whole_quantity: row.get(10),
                            fraction_quantity: row.get(11),
                        }
                    })
                    .collect()
                    .map(|collected| {
                        collected.0
                    })
            })
            .map_err(|err| {
                format!("An error occurred while executing `get_stock_list`: {:?}", err)
            });
        Box::new(stock_future)
    }

which is supposed to return a future for a Stock object (which is a Vec<StockListItem>). I'm using the latest stable rustc and tiberius' master branch. The error occurs inside tiberius but I can't understand why. Debugging it didn't help either. I appreciate any help I can get!

So I found only one usage of tiberius::Error::Canceled. It's in query.rs:121. What is this error used for? It looks like it might be an unexpected cancellation from the client side, at the TDS protocol level.

I thought a stack trace would help. Looking at the trace below, I this where panic happens?
Testing started at 21:54 ...
/Users/sebastian/.cargo/bin/cargo test --color=always --package bizpharma_webstore_interface_ws --bin bizpharma_webstore_interface_ws database::tests::test_get_stock --no-fail-fast --all-features -- --exact -Z unstable-options --format=json
    Finished dev [unoptimized + debuginfo] target(s) in 0.21s
     Running target/debug/deps/bizpharma_webstore_interface_ws-85c373cbfdcbacbb

thread 'database::tests::test_get_stock' panicked at 'called `Result::unwrap()` on an `Err` value: Canceled', libcore/result.rs:1009:5
stack backtrace:
   0:        0x106b4035f - std::sys::unix::backtrace::tracing::imp::unwind_backtrace::hd303b0cd45bccf60
                               at libstd/sys/unix/backtrace/tracing/gcc_s.rs:49
   1:        0x106b3108d - std::sys_common::backtrace::print::hf2fe31942821bdcb
                               at libstd/sys_common/backtrace.rs:71
                               at libstd/sys_common/backtrace.rs:59
   2:        0x106b42f63 - std::panicking::default_hook::{{closure}}::h748cb38cc840cba6
                               at libstd/panicking.rs:211
   3:        0x106b42c8e - std::panicking::default_hook::h81d2ef89c2ad110e
                               at libstd/panicking.rs:221
   4:        0x106b43697 - <std::panicking::begin_panic::PanicPayload<A> as core::panic::BoxMeUp>::get::hc265418ddf96c674
                               at libstd/panicking.rs:477
   5:        0x106b431fc - std::panicking::continue_panic_fmt::h2d9dbf1e069d262d
                               at libstd/panicking.rs:391
   6:        0x106b430e8 - std::panicking::try::do_call::hcfe6ac53944e0624
                               at libstd/panicking.rs:326
   7:        0x106b85521 - core::ptr::drop_in_place::h2136aea44990720c
                               at libcore/panicking.rs:77
   8:        0x1067992cd - core::result::unwrap_failed::h1047cd2cff38a5a9
                               at libcore/macros.rs:26
   9:        0x106798657 - <core::result::Result<T, E>>::unwrap::hc4b29bf7718cd11b
                               at libcore/result.rs:808
  10:        0x1067a4473 - <tiberius::query::ResultInner<I> as core::ops::drop::Drop>::drop::h326a338b3583ab6c
                               at /Users/sebastian/.cargo/git/checkouts/tiberius-efcdb30e5dbea5fc/c3d1447/tiberius/src/query.rs:132
  11:        0x1067a0934 - core::ptr::drop_in_place::h38bfb464be29d657
                               at libcore/ptr.rs:59
  12:        0x1067a0f84 - core::ptr::drop_in_place::h51b612ffd5130c8e
                               at libcore/ptr.rs:59
  13:        0x1067a06ae - core::ptr::drop_in_place::h27351f2b70242d6c
                               at libcore/ptr.rs:59
  14:        0x1067a179d - core::ptr::drop_in_place::h9140a4def5d8b330
                               at libcore/ptr.rs:59
  15:        0x1067a0d34 - core::ptr::drop_in_place::h4822743498d9bfd7
                               at libcore/ptr.rs:59
  16:        0x1067a1e45 - core::ptr::drop_in_place::hb32c510bad3903c3
                               at libcore/ptr.rs:59
  17:        0x1067a1354 - core::ptr::drop_in_place::h6975be0af6cd5696
                               at libcore/ptr.rs:59
  18:        0x1067a087d - core::ptr::drop_in_place::h373b55b80da952b0
                               at libcore/ptr.rs:59
  19:        0x1067a9c13 - <tokio_current_thread::Entered<'a, P>>::block_on::hc48362f60d00c80f
                               at /Users/sebastian/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-current-thread-0.1.3/src/lib.rs:494
  20:        0x1067a8f08 - <tokio_current_thread::CurrentThread<P>>::block_on::h375e240247a2575c
                               at /Users/sebastian/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-current-thread-0.1.3/src/lib.rs:340
  21:        0x1067a8851 - tokio_current_thread::block_on_all::heff7a7d1cd6b9bab
                               at /Users/sebastian/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-current-thread-0.1.3/src/lib.rs:229
  22:        0x1067ad90f - bizpharma_webstore_interface_ws::database::BizPharmaDatabase::get_stock::h1261670fc489adaf
                               at src/database/mod.rs:105
  23:        0x1067a59c8 - bizpharma_webstore_interface_ws::database::tests::test_get_stock::h04c65a761de39006
                               at src/database/mod.rs:158
  24:        0x1067ac690 - bizpharma_webstore_interface_ws::database::tests::test_get_stock::{{closure}}::hec84ed894041064d
                               at src/database/mod.rs:155
  25:        0x10679fd70 - core::ops::function::FnOnce::call_once::h18410124603193e4
                               at libcore/ops/function.rs:238
  26:        0x1067b16b1 - <F as alloc::boxed::FnBox<A>>::call_box::h002d33950a07b87f
                               at libtest/lib.rs:1461
                               at libcore/ops/function.rs:238
                               at liballoc/boxed.rs:646
  27:        0x106b5032e - macho_symbol_search
                               at libpanic_unwind/lib.rs:103
  28:        0x1067bcabc - std::sys_common::backtrace::__rust_begin_short_backtrace::h4d15d105d1b37b8a
                               at libstd/panicking.rs:289
                               at libstd/panic.rs:392
                               at libtest/lib.rs:1416
                               at libstd/sys_common/backtrace.rs:136
  29:        0x1067d5697 - std::panicking::try::do_call::hfc390e5c13aa30de
                               at libstd/thread/mod.rs:409
                               at libstd/panic.rs:313
                               at libstd/panicking.rs:310
  30:        0x106b5032e - macho_symbol_search
                               at libpanic_unwind/lib.rs:103
  31:        0x1067c5f14 - <F as alloc::boxed::FnBox<A>>::call_box::h666b1399f6211e92
                               at libstd/panicking.rs:289
                               at libstd/panic.rs:392
                               at libstd/thread/mod.rs:408
                               at liballoc/boxed.rs:646
  32:        0x106b42627 - std::sys_common::thread::start_thread::ha68f94e048f96d59
                               at liballoc/boxed.rs:656
                               at libstd/sys_common/thread.rs:24
  33:        0x106b30148 - std::sys::unix::thread::Thread::new::thread_start::h57baa5b47ae41e12
                               at libstd/sys/unix/thread.rs:90
  34:     0x7fff69d16338 - _pthread_body
  35:     0x7fff69d192a6 - _pthread_start

error: test failed, to rerun pass '--bin bizpharma_webstore_interface_ws'

Process finished with exit code 101

Can't reproduce without the underlying DB data.
Yes that's the right point where the panic happens.
I don't quite see how that error occurs, but I can provide a high-level explanation for what it's used for for you (Disclaimer ahead: quite complex):

If you call simple_query, a QueryResult is created. This query result wraps a ResultSetStream, which is a stream of resultsets. Executing 2 queries e.g. yields 2 resultsets (=QueryStreams) and QueryResult is the wrapper for the common case where there is only 1 resultset.
The ResultSetStream transfers the ownership of the connection (temporarily) to the current QueryStream, so we can read columns etc..
The QueryStream can perform the work and after it's fully processed, it returns the connection to the ResultSetStream.
The ResultSetStream receives the connection back, and in the case of only 1 query would return None, since the handling of every resultset is already done.

The Canceled error can only occur if the receiver (ResultSetStream) is dropped before the QueryStream, which should never be possible.


Using Geolocation API to get the users location

Using the Geolocation API to get the users location as the first weather results displayed, instead of just New York City.
Read more here.

This is done through PR #14 #26 and #36

Further implementation was done for this issue. Instead of detecting and displaying weather for the current location only on the first time rendering the page, a button to "Use current location' was implemented so that users can always go back and forth between using their current location and searching for a specific city.


Run in Web Editor?

I'm trying to help my son to run Godot via the Web Editor, is there an easy way to import/run the console into that environment as there is no AssetLib?
You can't seem to import a whole folder structure in Web Editor, just the files. So if I use the packaged master, I'd have to manually create the whole folder structure in the editor assets panel.
I assume it couldn't be loaded directly from github with something like jsdelivr (at runtime?)? Would that cause CORS issues?

To answer my own question. The issue was that the demo-csharp project, which is added to res:// by the plugin was being imported into the Web Editor, not the main project. By removing the demo-csharp project in the native editor and then zipping the project, it works fine.

Hi, @pjburnhill. Glad you found a solution, hope your son will enjoy learning godot!

@pjburnhill  You might be also interested in: https://github.com/GDQuest/learn-gdscript


chore: Add dedicated NACL rules to intra subnets in example with VPC and S3 Gateway endpoint

Description
Add dedicated NACL rules for an extra layer of security and dynamically build the ones for the S3 prefix list in the current region, so that response traffic from the S3 endpoint is allowed to reach intra subnets where the Lambda function is attached.
Motivation and Context
Two motivations:

provide a complete example that also shows how to deal with NACL rules when an S3 Gateway endpoint is involved;
gather feedback on how NACL rules are dynamically generated for AWS-managed prefix lists using the nacl-rules-managed-prefix-list module.

Breaking Changes
Not aware of any.
How Has This Been Tested?

[X] I have updated at least one of the examples/* to demonstrate and validate my change(s)
[X] I have tested and validated these changes using one or more of the provided examples/* projects

[X] I have executed pre-commit run -a on my pull request

This PR is included in version 4.4.1 :tada:


Grammar (Phoenix and Ecto One-to-Many Associations)

Phoenix and Ecto One-to-Many Associations reading material

resolved in #941


GnosisSafe write functions to sync

Issue link

#234
Auto-close the issue?

Closes #234
Types of changes

Technical debt (a code change that doesn't fix a bug or add a feature but makes something clearer for devs)

@marcelomorgado Any strong preference whether we merge this before or after https://github.com/tasitlabs/TasitSDK/pull/249?

@marcelomorgado Any strong preference whether we merge this before or after #249?

I think that can be merged now since none of these four files are been touched by PR #249


Allow users to customize first day of the week

The week doesn't start on Monday in all countries. It would've been great if we could have allowed users to customize the first day of the week.
BTW thanks for this plugin. I hope that I can start using it as soon as the next Obsidian version gets released.

Added in 0.2.4


Exception thrown on latest Flutter master

This is the output from logs:
I/flutter (13956): ══╡ EXCEPTION CAUGHT BY WIDGETS LIBRARY ╞═══════════════════════════════════════════════════════════
I/flutter (13956): The following _CastError was thrown building PageIndicator(dirty, state: _PageIndicatorState#1ec88):
I/flutter (13956): Null check operator used on a null value
I/flutter (13956):
I/flutter (13956): The relevant error-causing widget was:
I/flutter (13956):   PageIndicator
I/flutter (13956):   file:///<elided>/pub.dartlang.org/flutter_swiper-1.1.6/lib/src/swiper_pagination.dart:188:18
I/flutter (13956):
I/flutter (13956): When the exception was thrown, this was the stack:
I/flutter (13956): #0      ScrollPosition.maxScrollExtent (package:flutter/src/widgets/scroll_position.dart:141:49)
I/flutter (13956): #1      TransformerPageController.realPage (package:transformer_page_view/transformer_page_view.dart:148:18)
I/flutter (13956): #2      TransformerPageController.page (package:transformer_page_view/transformer_page_view.dart:179:11)
I/flutter (13956): #3      _PageIndicatorState._createPainer (package:flutter_page_indicator/flutter_page_indicator.dart:235:39)
I/flutter (13956): #4      _PageIndicatorState.build (package:flutter_page_indicator/flutter_page_indicator.dart:259:18)
I/flutter (13956): #5      StatefulElement.build (package:flutter/src/widgets/framework.dart:4758:27)
I/flutter (13956): #6      ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:4641:15)
I/flutter (13956): #7      StatefulElement.performRebuild (package:flutter/src/widgets/framework.dart:4813:11)
I/flutter (13956): #8      Element.rebuild (package:flutter/src/widgets/framework.dart:4335:5)
I/flutter (13956): #9      ComponentElement._firstBuild (package:flutter/src/widgets/framework.dart:4620:5)
I/flutter (13956): #10     StatefulElement._firstBuild (package:flutter/src/widgets/framework.dart:4804:11)
I/flutter (13956): #11     ComponentElement.mount (package:flutter/src/widgets/framework.dart:4615:5)
I/flutter (13956): ...     Normal element mounting (13 frames)
I/flutter (13956): #24     Element.inflateWidget (package:flutter/src/widgets/framework.dart:3581:14)
I/flutter (13956): #25     MultiChildRenderObjectElement.mount (package:flutter/src/widgets/framework.dart:6248:32)
I/flutter (13956): ...     Normal element mounting (15 frames)
I/flutter (13956): #40     Element.inflateWidget (package:flutter/src/widgets/framework.dart:3581:14)
I/flutter (13956): #41     MultiChildRenderObjectElement.mount (package:flutter/src/widgets/framework.dart:6248:32)
I/flutter (13956): ...      I'm facing same issue on flutter Channel stable, 2.0.5
I have to share apk for preview, TIA!


fix wrong lua_one.c location in non Windows systems.

Doesn't this disable the WITH_AMALG option?

Nevermind, I needed to read more context.  Looks good.


Use pop() inside NavigationCoordinatable

Hello again! I wold like to pop back inside of coordinator. Is there any way to implement something like this?
func makeView() -> some View {
  viewModel.$switchSearchType
      .sink { [weak self] _ in
          self?.pop() // no such method
      }
      .store(in: &cancellables)
...
    return View()
}

@rundfunk47 'popLast' is inaccessible due to 'internal' protection level

Hi, just pushed a fix to main branch. Please, test if it works for you :)

can u pls push 2.0.6 tag aswell?)

Done

it works! thank you


Performance issue in /examples/image_retraining (by P3)

Hello! I've found a performance issue in /examples/image_retraining/retrain.py: eval_sess = tf.Session(graph=eval_graph)(here) is defined in the function build_eval_session(here) which is called in the function save_graph_to_file(here) which is repeatedly called in the loop for i in range(FLAGS.how_many_training_steps)(here).
tf.Session being defined repeatedly could lead to incremental overhead. If you define tf.Session out of the loop and pass tf.Session as a parameter to the loop, your program would be much more efficient. Here is the Stack Overflow post to support it.
Looking forward to your reply. Btw, I am very glad to create a PR to fix it if you are too busy.

@DLPerf
Could you please confirm that, have you filed the PR mentioned.Thanks

@DLPerf,
This code is deprecated, still you can create a PR with fix to improve performance.
Thank you for contributing!

Closing due to inactivity.


If the data to be added contains an ID, the ID will be lost.

Describe the bug
I am using this to manage the response of an api. The response has a string called id, but when I enter data with an id in db_instance.add, the id disappears.
How to reproduce
import pysondb

db = pysondb.getDb("./test.json")
db.add({"id": "12345", "value": "hello world"})
print(db.getAll())
# [{'value': 'hello world', 'id':<PHONE_NUMBER>08868778}]

Expected behavior
If you can't accept the id, you need to generate an error when you add it.

Currently, pysondb is not being actively maintained, and I'm sorry for that. Both of us are busy with college stuff and other personal projects.

@Adwaith-Rajesh could I create a pull request about it? Or the project is not maintained at all?

You can.. Even if you did, I may not have permission to release it. I will try to release it.

#113 I submit a pull request about it

Have you tried PysonDB-v2, If your project is big you might have to refactor a lot, but the ids are stored in a different way than v1.
Currently, pysondb is not being actively maintained, and I'm sorry for that. Both of us are busy with college stuff and other personal projects.

Certainly! Here's the corrected version of your message:
Last year, I saw this issue and decided to recreate this technology with more features and optimizations. Now, I have finally built it: Hadidb


PI-806: updated stylesheets/components.css to fix bug in active zone …

…selector which was hiding the options.

@thellimist FYI


Separate cluster/db creation etc logic into reusable functions

Description:
Need to separate cluster/db creation etc logic into reusable functions and test this on TestGrid dev env.
Get this reviewed with subject experts.

Fixed with https://github.com/ballerina-platform/aws-ballerina/pull/1


Support macos platform

It looks like https://github.com/Polidea/RxBluetoothKit supports both iOS and OSX platforms.
Would it be possible to add support for macos in the FlutterBleLib. The code supposedly should be similar to what's there for iOS.

I don't know much about either iOS or macOS. Since the only real dependency is Core Bluetooth, supported by both platforms, I'd imagine it possible to just use the iOS dependency and write only the bridging code, possibly reusing or linking most of the code from the iOS, as it's written in obj-c. Unfortunately my time for the library is severely limited, so unless I get a PR with it, it's gonna be the decision of the team that takes over.


Animation Section

I think that Animation is a big thing and should be separated from UI.
What do you guys think?

How many projects would go in Animation ?

we should create a new subsection inside UI section instead of separate them.
See this repo: awesome-ios-ui

We can create sub-categories of animation, what you think?

Projects like this: https://github.com/facebook/pop

Yeah!

@miguelarauj1o how can we make this section as cool as awesome-ios-ui??

Alright guys. Animation created. Let's bring all cool projects from Awesome-ios-ui and check if there's any animation stuff under ##UI


Error while running the project locally

`'serve' errored after 2.41 s
npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR! responsive-components@ start: 'gulp serve'
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the responsive-components@ start script.
npm ERR! This is probably not a problem with npm. There is likely additional logging output above.
npm ERR!
What command did you run that gave this error? Can you report the full error (what you've pasted here isn't enough to diagnose the problem)?

I used the following commands

sudo npm install
2.npm start

after npm start the following error came:-

From that error message it looks like you already have something running on port 8080. If you shut down that thing, it should work.
I'm going to close this for now, but feel free to comment if it still doesn't work.


The radio and check indicators are not aligned properly.

The radio and check indicators are not aligned properly, the problem occurs on screen widths greater than 1200px.

@NMyVision Thanks a lot for taking the time to submit this Matt! 🙇I'll include this in the next update.

@hisk are you not aligned yet? Can I do it?

@ramon-src Sure, go ahead! 👍Thanks!

@hisk I found the problem...
We have a media query on html tag which has font-size as 18px.
The custom checkbox was created by javascript?

@ramon-src The custom checkboxes are inherited from Shards and the media query was included to adjust the font sizes on larger screens. While that's a nice touch, I think the overhead added by re-adjusting the custom controls is just not worth it and I think it's best to just remove the media query for now.


FreeResponse does not need any reactivity

After some discussion with @patudom, this PR removes the reactivity from FreeResponseDict and FreeResponse, since we only ever store or retrieve the responses. Callbacks from the appropriate guidelines update the values and they get called when needed.
There are default_factory's here because python complained that you can't have mutable objects as defaults. I am not sure if this makes things better or worse re:saving the state

Thanks, @johnarban - this works for me. @nmearl, please let us know if it's ok with you to merge this.

I think this is definitely in the right direction! I'm mucking around with the new API @Carifio24 put together, and fixing the globally reactive state issues, so I can't test right now. But on its face, this looks good -- feel free to merge, and I can consult with @johnarban as a follow up if there are issues!


Windows_android flutter_gallery_win__compile execution time doubled over the past year

The execution time has increased from 850s (14min) to 1300s (21min) over the past year.
A recent build with 20 min: https://ci.chromium.org/ui/p/flutter/builders/prod/Windows_android flutter_gallery_win__compile/11251/overview
An old build (back to 04/2022) with 9.5 mins: https://ci.chromium.org/ui/p/flutter/builders/prod/Windows_android flutter_gallery_win__compile/3500/overview

@zanderso Could you help take a look?

Previously the benchmark was running 3 flutter build commands. Now it is running 6 flutter build commands, so a ~doubling of runtime does not indicate a problem here.


Refactor - Remove program_accounts_map from account_loader

Problem
program_accounts_map is currently collected in the TransactionBatchProcessorand then wired all the way through account_loader.rs until account_shared_data_from_program() where it is actually not needed because we can just use loaded_program.account_owner() instead.
Summary of Changes
Removes program_accounts_map from account_loader.rs

Codecov Report
Attention: Patch coverage is 85.39326% with 26 lines in your changes are missing coverage. Please review.

Project coverage is 81.9%. Comparing base (499d36e) to head (0650426).

Additional details and impacted files
@@            Coverage Diff            @@
##           master     #768     +/-   ##
=========================================
- Coverage    81.9%    81.9%   -0.1%
=========================================
  Files         851      851
  Lines      231209   231246     +37
=========================================
- Hits       189495   189473     -22
- Misses      41714    41773     +59


Feature request: useful stack traces for 'cannot read property 'x' of undefined'

I would like the stack traces to point to my application code.


Using Mysql on Docker with new changes

I want to transfer your old sqlite version to to the new mysql version and give the new code a try but cant figure out how to get docker to install mysql in the dockerfile or what steps to take.

Bassically if it is possible to have a small video on how to run a docker mysql container in the background or how to setup the server from a to Z and i would deffintaly think people would consider donating more. !!! please continue your work!! :)
I am sorry I have needed so much help aha

I might have unintentionally neglected the dockerisation part previously when i migrate the database to mysql. I have pushed a new commit with the new docker commands.
# Clone the project
git clone https://github.com/guanquann/Stocksera.git

# Dockerise
docker-compose build

docker-compose up

docker-compose run --rm web python3 manage.py migrate

docker compose run --rm web python scheduled_tasks/create_database.py

docker compose run --rm web python tasks_to_run.py


Add Database support in Pinot

Overview
Pinot needs a way to logically group the tables in order to achieve ease of use at a large scale of users. This discussion is initiated in order to address the issues around the need to have unique table names across the cluster and lack of one level higher logical grouping of tables for better isolation and management.
Goals

Logical grouping of tables using database
Provide logical table naming isolation so two tables with the same name can coexist in the same cluster under different database name
Impose access control at database level

Proposal
Please find details in the linked doc
PRs Tracking

[x] Allow dot in table name throughout #12402
[x] #12417
[x] #12695
[x] #12591

Thanks @shounakmk219 !
@yupeng9 @siddharthteotia @xiangfu0 please take a look at the PEP
cc @walterddr @Jackie-Jiang @snleee

Hi watchers, posted design for "Database Support in Pinot UI". PTAL!


Calling layout frozen during 10 first seconds of video call

To reproduce:

Launch a video call from the device. Doesn't matter if e2e is on or off on the room.

During the 10 first seconds (the time that it takes to callee to receive the call) the layout is frozen, and calling status is a "-".
Version 0.3.4 develop #1374

Facing same issue


Webpage Url Checker - Feature Request

@nasreenshaik : "Is there a way were we can send the whole webpage url and get the output. writing for each component this way is very difficult"

@nasreenshaik can you provide more details about your requirement, an example would help.

Sure :+1:

so, i need to test whole web page with color contrast issues. In my testing it is not possible for me to write colors of each component, pass it to CCC and get the output. which is difficult and also the code requires frequent changes to it. Instead, is there a way were i can run automation scripts and at the same time the page also gets tested in accessibility.
When you see for w3cj plugin, it executes whole page with W3C validator and i call the at the end of each feature file for the page. same way i need to pass the page url and get the color contrast issues of that page(like Juicy contrast but to use in automation in js)

So i see them as two separate projects. One is the plugin and another is the consumer of this plugin which would run like a headless test runner and compare body background with the text on page. It would help if you be more specific about your use case.
What exactly are you testing on your pages ?

my use case is whenever my scripts navigates to one page, W3cjs validation should happen when the feature file says validate w3c , and Color Contrast checker should validate color contrast and give the output when feature file says validate color contrast of the page.

Color Contrast Checker doesn't take pages as input. The input would be the fields or values. So i think what you are describing is out of scope of this project. I am closing this issue feel free to reopen it if you think i am misunderstood your request.


Add Allociné Dataset

This is a french binary sentiment classification dataset, which was used to train this model: https://huggingface.co/tblard/tf-allocine.
Basically, it's a french "IMDB" dataset, with more reviews.
More info on this repo.

great work @TheophileBlard

LGTM, thanks a lot for adding dummy data tests :-) Was it difficult to create the correct dummy data folder?

It was pretty easy actually. Documentation is on point !


Error connecting to Hue Bridge: Incorrect data return from Hue API

Hi,
Update to Deconz Version 2.13.1 gives the warning 'Error connecting to Hue Bridge: Incorrect data return from Hue API. Already retried 15x so far. Try again in 1 minute..'. Lights are not working anymore. Adapter 'Deconz' works fine.
Please have a look at the warning/error with hue-extended adapter.
Thx

hue-extended.0
2021-11-19 14:18:46.719
warn
Error connecting to Hue Bridge: Incorrect data return from Hue API. Already retried 10x so far. Try again in 1 minute..

Hi, same here. Adapter goes green and then red again stating not connection since the latest update to version 2.13.02. Though they reach and speak with each other as key renewal works. Must be api change related.
Thank you!

same here, with update to deconz 2.13.1 this adapter is not working anymore

switched back to deconz 2.12.06 and it works fine.

This could lead to problems for new installations / "out of the box experience". Would be great if someone could investigate this...

#185 should resolve this issue by adding alarmsystems introduced in deconz 2.13.x.


Platform-specific dependencies are not shown

Besides the usual [dependencies], [dev-dependencies] and [build-dependencies] sections, Cargo allows specifying per-platform dependencies with the following syntax:
[target.'cfg(windows)'.dependencies]
foo = "1.2.3"

[target.bar.dev-dependencies]
bar = "4.5.6"

The general syntax is target.*.(dev-|build-)?dependencies, where the middle part * may represent the platform in arbitrarily complex ways (cfg(), custom target, etc.).
Currently, such dependencies are not recognized by deps.rs, see this example Cargo.toml:
[target.'cfg(any(target_os = "android", target_os = "dragonfly", target_os = "freebsd", target_os = "linux"))'.dependencies]
nix = { version = "0.28", features = ["sched"] }

I don't think deps.rs should try to parse the platform part (to report for which platform there are outdated dependencies), but it would be good to report all the target-specific dependencies :)

It looks like it got worse in the last version, as there is now a "Failed to analyze repository" error: https://deps.rs/repo/github/gendx/stv-rs
i.e. not only are such dependencies not recognized, but they also make the whole Cargo.toml file fail to parse.


Existing WG config is not parsed

Hi
I am using the docker-compose  on a Debian system that has WG installed and running, so /etc/wireguard already exists and it is already defined in thee compose file like that. When I up the docker-compose, I do not see the existing clients/settings under "WireGuard Clients" whatsoever. Is this not supported?
The status panel seems to list the clients but I cant do anything with that page.

Can confirm this.


After update to rubocop 1.56: "An error occurred while Style/ArgumentsForwarding cop was inspecting file_path."

Rubocop (Style/ArgumentsForwarding cop) fails due to encountering an error while inspecting one of the methods in our codebase.
Expected behavior
Rubocop passes or allows disabling of Style/ArgumentsForwarding cop.
Actual behavior
Rubocop fails and disabling Style/argumentsForwarding cop does not resolve the error (there are no offenses found, I just get an extra offense stating an unnecessary disabling and still get the error as well).
1 error occurred:
An error occurred while Style/ArgumentsForwarding cop was inspecting /app/app/helpers/icons_helper.rb:5:2
Steps to reproduce the problem => method that throws the error
def custom_heroicon(icon, **opts, &blk)     if REPLACEMENTS.include?(icon.to_s)       render "heroicons_replacements/#{icon}", **opts, &blk     else       heroicon icon, **opts, &blk     end   end
RuboCop version
1.56.0 (using Parser <IP_ADDRESS>, rubocop-ast 1.29.0, running on ruby 3.0.5) [aarch64-linux]

Maybe, following PRs solve the problem. Please wait for the next release.

https://github.com/rubocop/rubocop/pull/12110


alternative signal handler stack should last

When SignalHandling instance destroyed, signal handler alternative stack is freed.
However, the signal handler could still be called after that which causes use-after-free error.

CPU spins when I build a memory leak program with ASAN enabled and export ASAN_OPTIONS="abort_on_error=1" in my .bashrc.
This is where this patch comes from.

So in the example backward.cpp add a new with a little comment expressing the fact that we intentionally leak it.


Adding externalTrafficPolicy

This change adds the ability to control the externalTrafficPolicy for the service. This allows for a BGP-advertised IP to target the node that is actually running Factorio and eliminated east-west traffic.

🎉


WIP: OPCODE RUNNER

Pull Request checklist
Please review the below PR requirements:

Build was run locally and any changes were pushed
Ensure that the title clearly describes the changes
Issue to be referenced in the PR description rather than in the commits or PR title
Clean commit history

i've also been having trouble getting if statements to work correctly

Okay

Did a rewrite of how the OpRunner works In https://github.com/saving-satoshi/saving-satoshi/pull/1011


[DNM] CI Test ZmP 20190102

Signed-off-by: Michael Scott<EMAIL_ADDRESS>

ci-recheck

ci-retest

ci-retest

ci-retest

ci-retest

ci-retest


fix(customeradministration): TargetId should be nullable.

Otherwise it gets sent in the query and we get no results even if there are expected results

Codecov Report
All modified and coverable lines are covered by tests :white_check_mark:

Project coverage is 38.77%. Comparing base (3ff4ee2) to head (8b790e9).
Report is 42 commits behind head on main.

Additional details and impacted files
@@            Coverage Diff             @@
##             main    #1173      +/-   ##
==========================================
- Coverage   38.84%   38.77%   -0.07%
==========================================
  Files          86       93       +7
  Lines        5612     4722     -890
==========================================
- Hits         2180     1831     -349
+ Misses       3266     2716     -550
- Partials      166      175       +9

Flag
Coverage Δ

unit
38.77% <ø> (-0.07%)
:arrow_down:

Flags with carried forward coverage won't be shown. Click here to find out more.

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.

@kporras07 👍 will quickly perform one final check to make sure no unexpected tests are breaking, and will go ahead and merge this.


Update JSXhint guidelines to point towards ESHint

I am just setting up vim for Javascript development, whilst also trying to learn JSX / React.
I stumbled across https://github.com/scrooloose/syntastic/wiki/JavaScript:---jsxhint - which sent me off to look into the JSXhint vim plugin - which THEN sent me off to install EShint via NPM and set that up inside of Syntastic.
Is this the recommended way to set linting up for React / JSX projects going forward ? In either case, might it be worth removing this page or adjusting it to recommend EShint as well ?

sent me off to look into the JSXhint vim plugin

I'm pretty sure the JSXhint the wiki sends you to is a node.js module, rather than a Vim plugin.

Is this the recommended way to set linting up for React / JSX projects going forward ?

Why are you looking at syntastic for best practice guidelines about React / JSX?  Syntastic is a plugin for an editor.  It tries hard to be agnostic about the external checkers it uses.  It won't tell you how to deal with your projects.  The recommended way to do things is to choose your tools first, then see if your editor (and in this case syntastic) can make your life easier.  Not the other way around. :)

In either case, might it be worth removing this page or adjusting it to recommend EShint as well ?

It's code that (still) works.  It requires no maintenance, and there is no value in removing it. shrug

Sorry, typed this whilst my brain stack was full of vim configurations - of course, JSXHint is a node plugin.
My feedback was really that on the Syntastic wiki, there is a link to a project who's opening paragraph is:

Deprecated

JSXHint is, and always was, a bad hack to make JSX lintable in the early days of React. It will always be inferior to proper linters like ESLint because it is not able to lint JSX or ES6 syntax, it instead compiles to ES5 then lints. You may get weird linter errors, especially with more involved transforms.

Don't use JSXHint anymore if you can switch to ESLint.

So I wondered if anyone thought it might be worth updating the wiki recommendation to this project instead of the one that says "don't use me, use this other one instead" ?
Should Syntastic host recommendations on it's wiki at all, I don't know shrug. But it does, so I wondered if this one was worth updating?

Should Syntastic host recommendations on it's wiki at all, I don't know shrug. But it does, so I wondered if this one was worth updating?

Where exactly does syntastic "host recommendations on it's wiki"?  As far as I can tell, the wiki gives you information about how to run that particular checker, and what you can (and can't) do with it, all specific to syntastic.

Ah right, sorry, totally got the context of these pages mixed up !
Apologies, I'll shut up now
On 4 January 2016 at 20:06, LCD 047<EMAIL_ADDRESS>wrote:

Should Syntastic host recommendations on it's wiki at all, I don't know
shrug. But it does, so I wondered if this one was worth updating?
Where exactly does syntastic "host recommendations on it's wiki"? As far
as I can tell, the wiki gives you information about how to run that
particular checker, and what you can (and can't) do with it, all specific
to syntastic.
—
Reply to this email directly or view it on GitHub
https://github.com/scrooloose/syntastic/issues/1651#issuecomment-168616457
.


fix e2e test when go test TestGateway with flag istio.test.kube.loadbalancer=false

local test e2e , if go test with flag istio.test.kube.loadbalancer=false ,there will get port error because of get port twice.

[ ] Configuration Infrastructure
[ ] Docs
[ ] Installation
[ ] Networking
[ ] Performance and Scalability
[ ] Policies and Telemetry
[ ] Security
[ ] Test and Release
[ ] User Experience
[ ] Developer Infrastructure

Please check any characteristics that apply to this pull request.

[ ] Does not have any user-facing changes. This may include CLI changes, API changes, behavior changes, performance improvements, etc.

@ChenglongGao327: The following test failed, say /retest to rerun all failed tests or /retest-required to rerun all mandatory failed tests:

Test name
Commit
Details
Rerun command

release-notes_istio
bec0d8d6da5505a23cb1a3cc343e3812b822aa16
link
/test release-notes_istio

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.

@ChenglongGao327: The following tests failed, say /retest to rerun all failed tests or /retest-required to rerun all mandatory failed tests:

Test name
Commit
Details
Rerun command

release-notes_istio
bec0d8d6da5505a23cb1a3cc343e3812b822aa16
link
/test release-notes_istio

unit-tests_istio
bec0d8d6da5505a23cb1a3cc343e3812b822aa16
link
/test unit-tests_istio

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.

this ends up calling the wrong port now. It should be the tcp port

yes，it's wrong


Add "span" to COPC header, fix reserved size

Add the span attribute to the CopcData struct, which is necessary to store.
Fixed the size of the reserved array to make the struct take up 80 bytes (we can add additional elements and make the size smaller as needed). Or, if you want, we can create a separate padding element to come before reserved that fills in that space.

I also changed the ints in VoxelKey to be unsigned. They should always start from 0 and be strictly positive.

If someone really wants to add a VLR to a 1.4 file, they should add it as an extended VLR to the end of the file. The point of the extra space in the COPC base VLR is to (potentially) allow extra offsets to be defined to provide direct access to extended VLRs containing metadata.
Absolute offsets are less error-prone for readers and eliminate math.

Sounds good. In that case then, let me know if you want to add the span or not.


Configure hangs when using vcpkg toolchain file

Hi,
I've been unable to configure my cmake project using the vcpkg toolchain file, it seems to hang when trying to get the windows SDK version (via a powershell script included in vcpkg).
I'm not sure how cmake is called in the background of your tool but is there any reason why a powershell script called by cmake would behave differently when cmake is called from this tool vs the command line? Cmake configures correctly when calling cmake directly in the VSCode terminal.
The configure output after adding --trace to the cmake.configureArgs is included below:

D:/Code/stock/build/CMakeTools/InitializeCache.cmake(2):  cmake_policy(PUSH )
D:/Code/stock/build/CMakeTools/InitializeCache.cmake(3):  if(POLICY CMP0053 )
D:/Code/stock/build/CMakeTools/InitializeCache.cmake(4):  cmake_policy(SET CMP0053 NEW )
D:/Code/stock/build/CMakeTools/InitializeCache.cmake(6):  set(CMAKE_TOOLCHAIN_FILE D:/Code/vcpkg/scripts/buildsystems/vcpkg.cmake CACHE STRING Variable supplied by CMakeTools. Value is forced. FORCE )
D:/Code/stock/build/CMakeTools/InitializeCache.cmake(7):  set(CMAKE_BUILD_TYPE RelWithDebInfo CACHE STRING Variable supplied by CMakeTools. Value is forced. FORCE )
D:/Code/stock/build/CMakeTools/InitializeCache.cmake(8):  set(CMAKE_EXPORT_COMPILE_COMMANDS TRUE CACHE BOOL Variable supplied by CMakeTools. Value is forced. FORCE )
D:/Code/stock/build/CMakeTools/InitializeCache.cmake(9):  set(CMAKE_MODULE_PATH d:/Code/stock/build/CMakeTools CACHE STRING Variable supplied by CMakeTools. Value is forced. FORCE )
D:/Code/stock/build/CMakeTools/InitializeCache.cmake(10):  cmake_policy(POP )
D:/Code/stock/CMakeLists.txt(2):  cmake_minimum_required(VERSION 3.8 )
D:/Code/stock/CMakeLists.txt(3):  project(stock CXX )
C:/Portable/cmake-3.8.0-rc1-win64-x64/share/cmake-3.9/Modules/CMakeNinjaFindMake.cmake(5):  find_program(CMAKE_MAKE_PROGRAM NAMES ninja-build ninja DOC Program used to build from build.ninja files. )
C:/Portable/cmake-3.8.0-rc1-win64-x64/share/cmake-3.9/Modules/CMakeNinjaFindMake.cmake(8):  mark_as_advanced(CMAKE_MAKE_PROGRAM )
C:/Portable/cmake-3.8.0-rc1-win64-x64/share/cmake-3.9/Modules/CMakeDetermineSystem.cmake(35):  if(CMAKE_HOST_UNIX )
C:/Portable/cmake-3.8.0-rc1-win64-x64/share/cmake-3.9/Modules/CMakeDetermineSystem.cmake(75):  else()
C:/Portable/cmake-3.8.0-rc1-win64-x64/share/cmake-3.9/Modules/CMakeDetermineSystem.cmake(76):  if(CMAKE_HOST_WIN32 )
C:/Portable/cmake-3.8.0-rc1-win64-x64/share/cmake-3.9/Modules/CMakeDetermineSystem.cmake(77):  if(DEFINED ENV{PROCESSOR_ARCHITEW6432} )
C:/Portable/cmake-3.8.0-rc1-win64-x64/share/cmake-3.9/Modules/CMakeDetermineSystem.cmake(79):  else()
C:/Portable/cmake-3.8.0-rc1-win64-x64/share/cmake-3.9/Modules/CMakeDetermineSystem.cmake(80):  set(CMAKE_HOST_SYSTEM_PROCESSOR $ENV{PROCESSOR_ARCHITECTURE} )
C:/Portable/cmake-3.8.0-rc1-win64-x64/share/cmake-3.9/Modules/CMakeDetermineSystem.cmake(89):  if(CMAKE_TOOLCHAIN_FILE )
C:/Portable/cmake-3.8.0-rc1-win64-x64/share/cmake-3.9/Modules/CMakeDetermineSystem.cmake(91):  include(${CMAKE_BINARY_DIR}/${CMAKE_TOOLCHAIN_FILE} OPTIONAL RESULT_VARIABLE _INCLUDED_TOOLCHAIN_FILE )
C:/Portable/cmake-3.8.0-rc1-win64-x64/share/cmake-3.9/Modules/CMakeDetermineSystem.cmake(92):  if(NOT _INCLUDED_TOOLCHAIN_FILE )
C:/Portable/cmake-3.8.0-rc1-win64-x64/share/cmake-3.9/Modules/CMakeDetermineSystem.cmake(94):  include(${CMAKE_TOOLCHAIN_FILE} OPTIONAL RESULT_VARIABLE _INCLUDED_TOOLCHAIN_FILE )
D:/Code/vcpkg/scripts/buildsystems/vcpkg.cmake(2):  set(CMAKE_TOOLCHAIN_FILE ${CMAKE_TOOLCHAIN_FILE} )
D:/Code/vcpkg/scripts/buildsystems/vcpkg.cmake(3):  if(NOT VCPKG_TOOLCHAIN )
D:/Code/vcpkg/scripts/buildsystems/vcpkg.cmake(4):  if(CMAKE_GENERATOR_PLATFORM MATCHES ^[Ww][Ii][Nn]32$ )
D:/Code/vcpkg/scripts/buildsystems/vcpkg.cmake(6):  elseif(CMAKE_GENERATOR_PLATFORM MATCHES ^[Xx]64$ )
D:/Code/vcpkg/scripts/buildsystems/vcpkg.cmake(8):  elseif(CMAKE_GENERATOR_PLATFORM MATCHES ^[Aa][Rr][Mm]$ )
D:/Code/vcpkg/scripts/buildsystems/vcpkg.cmake(10):  else()
D:/Code/vcpkg/scripts/buildsystems/vcpkg.cmake(11):  if(CMAKE_GENERATOR MATCHES ^Visual Studio 14 2015 Win64$ )
D:/Code/vcpkg/scripts/buildsystems/vcpkg.cmake(13):  elseif(CMAKE_GENERATOR MATCHES ^Visual Studio 14 2015 ARM$ )
D:/Code/vcpkg/scripts/buildsystems/vcpkg.cmake(15):  elseif(CMAKE_GENERATOR MATCHES ^Visual Studio 14 2015$ )
D:/Code/vcpkg/scripts/buildsystems/vcpkg.cmake(17):  elseif(CMAKE_GENERATOR MATCHES ^Visual Studio 15 2017 Win64$ )
D:/Code/vcpkg/scripts/buildsystems/vcpkg.cmake(19):  elseif(CMAKE_GENERATOR MATCHES ^Visual Studio 15 2017 ARM )
D:/Code/vcpkg/scripts/buildsystems/vcpkg.cmake(21):  elseif(CMAKE_GENERATOR MATCHES ^Visual Studio 15 2017 )
D:/Code/vcpkg/scripts/buildsystems/vcpkg.cmake(23):  else()
D:/Code/vcpkg/scripts/buildsystems/vcpkg.cmake(24):  find_program(_VCPKG_CL cl )
D:/Code/vcpkg/scripts/buildsystems/vcpkg.cmake(25):  if(_VCPKG_CL MATCHES amd64/cl.exe$ OR _VCPKG_CL MATCHES x64/cl.exe$ )
D:/Code/vcpkg/scripts/buildsystems/vcpkg.cmake(26):  set(_VCPKG_TARGET_TRIPLET_ARCH x64 )
D:/Code/vcpkg/scripts/buildsystems/vcpkg.cmake(37):  if(CMAKE_SYSTEM_NAME STREQUAL WindowsStore OR CMAKE_SYSTEM_NAME STREQUAL WindowsPhone )
D:/Code/vcpkg/scripts/buildsystems/vcpkg.cmake(39):  else()
D:/Code/vcpkg/scripts/buildsystems/vcpkg.cmake(40):  set(_VCPKG_TARGET_TRIPLET_PLAT windows )
D:/Code/vcpkg/scripts/buildsystems/vcpkg.cmake(43):  set(VCPKG_TARGET_TRIPLET ${_VCPKG_TARGET_TRIPLET_ARCH}-${_VCPKG_TARGET_TRIPLET_PLAT} CACHE STRING Vcpkg target triplet (ex. x86-windows) )
D:/Code/vcpkg/scripts/buildsystems/vcpkg.cmake(44):  set(_VCPKG_TOOLCHAIN_DIR ${CMAKE_CURRENT_LIST_DIR} )
D:/Code/vcpkg/scripts/buildsystems/vcpkg.cmake(47):  SET(_VCPKG_ROOT_DIR_CANDIDATE ${CMAKE_CURRENT_LIST_DIR} )
D:/Code/vcpkg/scripts/buildsystems/vcpkg.cmake(48):  while(IS_DIRECTORY ${_VCPKG_ROOT_DIR_CANDIDATE} AND NOT EXISTS ${_VCPKG_ROOT_DIR_CANDIDATE}/.vcpkg-root )
D:/Code/vcpkg/scripts/buildsystems/vcpkg.cmake(49):  get_filename_component(_VCPKG_ROOT_DIR_TEMP ${_VCPKG_ROOT_DIR_CANDIDATE} DIRECTORY )
D:/Code/vcpkg/scripts/buildsystems/vcpkg.cmake(50):  if(_VCPKG_ROOT_DIR_TEMP STREQUAL _VCPKG_ROOT_DIR_CANDIDATE )
D:/Code/vcpkg/scripts/buildsystems/vcpkg.cmake(52):  else()
D:/Code/vcpkg/scripts/buildsystems/vcpkg.cmake(53):  SET(_VCPKG_ROOT_DIR_CANDIDATE ${_VCPKG_ROOT_DIR_TEMP} )
D:/Code/vcpkg/scripts/buildsystems/vcpkg.cmake(49):  get_filename_component(_VCPKG_ROOT_DIR_TEMP ${_VCPKG_ROOT_DIR_CANDIDATE} DIRECTORY )
D:/Code/vcpkg/scripts/buildsystems/vcpkg.cmake(50):  if(_VCPKG_ROOT_DIR_TEMP STREQUAL _VCPKG_ROOT_DIR_CANDIDATE )
D:/Code/vcpkg/scripts/buildsystems/vcpkg.cmake(52):  else()
D:/Code/vcpkg/scripts/buildsystems/vcpkg.cmake(53):  SET(_VCPKG_ROOT_DIR_CANDIDATE ${_VCPKG_ROOT_DIR_TEMP} )
D:/Code/vcpkg/scripts/buildsystems/vcpkg.cmake(56):  set(_VCPKG_ROOT_DIR ${_VCPKG_ROOT_DIR_CANDIDATE} )
D:/Code/vcpkg/scripts/buildsystems/vcpkg.cmake(57):  set(_VCPKG_INSTALLED_DIR ${_VCPKG_ROOT_DIR}/installed )
D:/Code/vcpkg/scripts/buildsystems/vcpkg.cmake(59):  if(CMAKE_BUILD_TYPE MATCHES ^Debug$ OR NOT DEFINED CMAKE_BUILD_TYPE )
D:/Code/vcpkg/scripts/buildsystems/vcpkg.cmake(67):  list(APPEND CMAKE_PREFIX_PATH ${_VCPKG_INSTALLED_DIR}/${VCPKG_TARGET_TRIPLET} )
D:/Code/vcpkg/scripts/buildsystems/vcpkg.cmake(70):  list(APPEND CMAKE_LIBRARY_PATH ${_VCPKG_INSTALLED_DIR}/${VCPKG_TARGET_TRIPLET}/lib/manual-link )
D:/Code/vcpkg/scripts/buildsystems/vcpkg.cmake(74):  set(Boost_COMPILER -vc140 )
D:/Code/vcpkg/scripts/buildsystems/vcpkg.cmake(76):  if(NOT DEFINED CMAKE_SYSTEM_VERSION )
D:/Code/vcpkg/scripts/buildsystems/vcpkg.cmake(77):  include(${_VCPKG_ROOT_DIR}/scripts/cmake/vcpkg_get_windows_sdk.cmake )
D:/Code/vcpkg/scripts/cmake/vcpkg_get_windows_sdk.cmake(2):  function(vcpkg_get_windows_sdk ret )
D:/Code/vcpkg/scripts/buildsystems/vcpkg.cmake(79):  set(VCPKG_ROOT_DIR ${_VCPKG_ROOT_DIR} )
D:/Code/vcpkg/scripts/buildsystems/vcpkg.cmake(80):  vcpkg_get_windows_sdk(WINDOWS_SDK_VERSION )
D:/Code/vcpkg/scripts/cmake/vcpkg_get_windows_sdk.cmake(3):  execute_process(COMMAND powershell.exe -NoProfile -ExecutionPolicy Bypass -Command & {& '${VCPKG_ROOT_DIR}/scripts/getWindowsSDK.ps1'} 2>&1 OUTPUT_VARIABLE WINDOWS_SDK RESULT_VARIABLE error_code )

The powershell file is called from here
After a bit of debugging the powershell script, it looks like it's being called and returning correctly, but the script is hanging when returning (the powershell process stays active in the windows task manager indefinitely) and cmake never receives the returned value

Found a solution by modifying the cmake script called by the vcpkg cmake setup and have opened an issue there: link

Issue fixed by this commit in vcpkg: link


Crowdin new strings upload automation

Trello Link (if applicable): https://trello.com/c/MULDioFB/244-auto-check-ynab-internal-l10n-for-new-strings
Explanation of Bugfix/Feature/Enhancement:
Tired of manually getting new YNAB strings for l10n from the app and automated the process. It uses phantomjs to load app and get actual strings from Ember. Merges these strings to current data and uploads it to Crowding. Usage: "update_l10n_strings CROWDIN_KEY" Phantomjs and jq json parser must be installed to use it.

You rock so much, thank you!

Also this one not only adds new lines to Crowdin but also changes old lines that YNAB changed – there are some of these and I didn't thought such can happen.


generateOptionalParameters does not place optional parameters last

My nswag file did not change, and generateOptionalParameters has been set to true previously.  The change I've made is including an IOperationsFilter to allow the passing of an optional a header to my APIs.  The result is that where before the generated client would produce something like:
System.Threading.Tasks.Task<MyResponse> PostStuffAsync(string key1, MyRequest body = null, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken));

Now with the inclusion of the IOperationsFilter I get this:
System.Threading.Tasks.Task<MyResponse> PostStuffAsync(string key1, bool? myHeader = null, MyRequest body = null, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken));

Why is the optional parameter added by IOperationsFilter getting put before the request body parameter?  How can I make it so it's after?

I figured out what to do.
The Microsoft OpenApi OpenApiParameter has an Extensions collection where I added "x-position" with a value of 9999.


Merge for cpptools 0.22.0-insiders

@WardenGnaw @pieandcakes Can you guys review this and create a new build?


fixes build with updated/synced dependencies, fixes gitignore

Closes #132
This PR This PR completes the process of containerizing glide and updating vendor dependencies. It updates and syncs all vendor dependencies, updates glide.lock, and also fixes .gitignore to ensure that amp and amplifier binaries are not committed, but that cmd/amp and cmd/amplifier are not ignored.
Verification
The verification steps should work without errors.
Until #133 is resolved (PR #131), there will be file ownership problems. The following steps account for that.
$ sudo rm -rf ~/.glide .glide vendor
$ make install-deps
$ sudo chown -R $(id -u):$(id -g) ~/.glide .glide vendor
$ make build

If #131 has been merged, then using sudo and running chown should not be necessary (unless you need to fix file ownership erroneously set to root previously).
$ rm -rf ~/.glide .glide vendor
$ make install-deps
$ make build

Confirm that the Dockerfile now builds successfully:
$ docker build -t amptest .
$ docker run -it --rm -v /var/run/docker.sock:/var/run/docker.sock amptest docker version
Client:
 Version:      1.12.1
 API version:  1.24
 Go version:   go1.7
 Git commit:   v1.12.1
 Built:
 OS/Arch:      linux/amd64

Server:
 Version:      1.12.0
 API version:  1.24
 Go version:   go1.6.3
 Git commit:   8eab29e
 Built:        Thu Jul 28 21:15:28 2016
 OS/Arch:      linux/amd64

$ docker rmi amptest

Hallelujah! Works like a charm. Verified with the steps without #131 merged, since it just merged seconds ago.


Allow supplying our own fs

Currently, this module uses the built-in fs module. However, it would be useful to be able to provide our own replacement using an option. We can check if it is compatible enough by checking if all the fs methods that this module uses exist, and throw an error if not all of them are included.

Okay, I see what you mean. It is clear to me now. Thank you for the code snippet :-)
I dug a bit in the code and most of the I/O operations are performed by archiver, which inflates the files. So the problem would reflect on this module too.
I need to think more about how to design something nice.

A way to achieve this is documented here https://github.com/archiverjs/node-archiver/issues/216


Make the install script support kylin v10

Proposed Changes
Add number type detection to VERSION_ID to avoid errors in Kylin V10 OS due to integer comparison.

Types of Changes
Bugfix

Verification

Testing

Linked Issues

https://github.com/k3s-io/k3s/issues/8206
User-Facing Change

NONE

Further Comments

If Kylin is intended to be compatible with EL8, they really should include an ID_LIKE field in their os-release to indicate that. I am not super comfortable pointing it at EL packages without some indication that these are intended to and will continue to work in the future.

@brandond  🤝Thanks for the suggestion, I've updated it, please take a look at it.

@brandond PTAL 🙏

Two cents:
https://pubs.opengroup.org/onlinepubs/9699919799/utilities/V3_chap02.html#tag_18_06_02
${VERSION_ID-%%.*} should evaluate to an empty string when $VERSION_ID isn't defined (my problem on a Debian node). Additionally, because the default value (after -) is an empty string, the expression acts the same when $VERSION_ID is initially set to an empty string (theoretical corner case).
The original code repeats the expression for Cent 7, 8 and Fedora but I'd assign the result to another temp variable like sanitized_id (DRY)
isNumber might only be required for the -gt 36 comparison, as the = operator performs a string-to-string comparison and happily returns 1 (false) for inputs like V10
Also, it can probably be implemented with the builtin case syntax without needing to invoke grep
https://pubs.opengroup.org/onlinepubs/9699919799/utilities/V3_chap02.html#tag_18_09_04_05
% echo 'case "8" in [0-9]* | [0-9]*.[0-9]*) echo yes;; *) echo no; esac' | sh
yes
% echo 'case "36" in [0-9]* | [0-9]*.[0-9]*) echo yes;; *) echo no; esac' | sh
yes
% echo 'case "9.0" in [0-9]* | [0-9]*.[0-9]*) echo yes;; *) echo no; esac' | sh
yes
% echo 'case "" in [0-9]* | [0-9]*.[0-9]*) echo yes;; *) echo no; esac' | sh
no
% echo 'case "V10" in [0-9]* | [0-9]*.[0-9]*) echo yes;; *) echo no; esac' | sh
no

(I noticed the original code invokes expr for handling the SUSE version convention, I believe case can replace it as well)
Last but not least:
There's a check that runs after detecting a distro/version but is essentially distro/version agnostic. This is why my k3s installation succeeded on my Debian node despite an error in version detection.
https://github.com/k3s-io/k3s/blob/6aef26e94b57934185eb2e184ec75ce77dc5ca2b/install.sh#L548
If your installation doesn't have /usr/share/selinux, the shell function simply exits. Perhaps moving this check to the top of the function would benefit many users who don't use SELinux.
(I don't know if your distro has the SELinux directory or not)

Thanks to @nodakai and @dereknola for their suggestions.

If you're still interested, would you mind rebasing this on top of current master?

@brandond Thanks for the heads up. 🤝

I'm done.  @brandond

@brandond PTAL 🙏