powermock-module-junit4-rule 1.5 requires JDK 1.6

From<EMAIL_ADDRESS>on December 19, 2012 04:54:43
What steps will reproduce the problem? 1. Create a simple test using the powermock runner and annotate a test with @PrepareTest and a class with static fields. Use powermock-junit4-rule version 1.5 in the pom.
2. Run mvn test on jdk 5.
3. Tests will fail due to an initialization error. Surefire reports will log a "java.lang.UnsupportedClassVersionError: Bad version number in .class file", when attempting to load class in "org.powermock.modules.junit4.common.internal.impl.JUnit4TestSuiteChunkerImpl.(JUnit4TestSuiteChunkerImpl.java:47)" What is the expected output? What do you see instead? Tests should pass since powermock has been compiled with source and target of JDK 1.5 (see powermock pom). What version of the product are you using? On what operating system? powermock 1.5, maven 2.2.1, jdk 1.5. Please provide any additional information below. Version 1.4.12 worked fine with JDK 1.5, seems like this release could be perfectly compatible with JDK 1.5 if javassist-3.17.1-GA hadn't been released as a JDK 6 jar. 3.16.1-GA was a JDK 1.5 jar.
As a workaround, I added the previous version to the pom:
<dependencyManagement>
<dependencies>
<dependency>
<groupId>org.javassist
<artifactId>javassist
<version>3.16.1-GA
</dependency>
</dependencies>
</dependencyManagement>
This seemed to solve the issue for me, but I haven't validated everything else works.
To me, a JDK bump seems like a major version bump (since it's non-passive). So, would it be possible to make javassist 3.17.1-GA mandatory only if we're wanting to run against JDK 1.7, and make it mandatory on a new major branch (i.e. 2.x)?
PS: I'm assuming the versioning scheme used by the powermock team is following the apache guidelines, please disregard the last paragraph if not.
Original issue: http://code.google.com/p/powermock/issues/detail?id=417

From<EMAIL_ADDRESS>on January 21, 2013 23:30:43
Hi,
When I released PowerMock 1.5 I was not aware of this issue since what I've read in discussion groups Javassist should work with JDK 1.4. But apparently I was wrong. Your work-around is probably the way to go for now.
/Johan

I meet same issue.Hope that fixing it ASAP.


microchip_mcp7940n_bbram_read ret value error

Describe the bug
when size = 0, the microchip_mcp7940n_bbram_read will return 0
static int microchip_mcp7940n_bbram_read(const struct device *dev, size_t offset, size_t size,
					 uint8_t *buffer)
{
	const struct microchip_mcp7940n_bbram_config *config = dev->config;
	struct microchip_mcp7940n_bbram_data *data = dev->data;
	size_t i = 0;
	int32_t rc = 0;

	if ((offset + size) > MICROCHIP_MCP7940N_SRAM_SIZE) {
		return -EINVAL;
	}

	k_mutex_lock(&data->lock, K_FOREVER);

	while (i < size) {
		LOG_DBG("Read from 0x%x", (MICROCHIP_MCP7940N_SRAM_OFFSET + offset + i));
		rc = i2c_reg_read_byte_dt(&config->i2c,
					  (MICROCHIP_MCP7940N_SRAM_OFFSET + offset + i),
					  &buffer[i]);

		if (rc != 0) {
			goto finish;
		}

		++i;
	}

finish:
	k_mutex_unlock(&data->lock);

	return rc;
}

but other handler like bbram_xec_read bbram_stm32_read and others will return -EINVAL;
To Reproduce
call the function microchip_mcp7940n_bbram_read
Expected behavior
when size is 0, the ret value should be -EINVAL;

so does microchip_mcp7940n_bbram_write

I think you mean the bug is with the stm32 and xec drivers then, it is valid to read or write 0 bytes, it will do absolutely nothing but I don't see how that's an error in an input value. The function does exactly as described, you asked for 0 bytes, you got 0 bytes.

Hi, in function bbram_xec_read:
static int bbram_xec_read(const struct device *dev, size_t offset, size_t size,
			  uint8_t *data)
{
	const struct bbram_xec_config *dcfg = dev->config;

	if (size < 1 || offset + size > dcfg->size) { // check
		LOG_ERR("Invalid params");
		return -EFAULT;
	}

	bytecpy(data, dcfg->base + offset, size);
	return 0;
}

and function bbram_stm32_read
static int bbram_stm32_read(const struct device *dev, size_t offset, size_t size, uint8_t *data)
{
	const struct bbram_stm32_config *config = dev->config;
	uint32_t reg, begin, to_copy;

	if (size < 1 || offset + size > config->size) { //check
		return -EFAULT;
	}

	for (size_t read = 0; read < size; read += to_copy) {
		reg = STM32_BKP_REG(STM32_BKP_REG_INDEX(offset + read));
		begin = STM32_BKP_REG_BYTE_INDEX(offset + read);
		to_copy = MIN(STM32_BKP_REG_BYTES - begin, size - read);
		bytecpy(data + read, (uint8_t *)&reg + begin, to_copy);
	}

	return 0;
}

if the parameter size is zero, they return -EFAULT;
They all have the same upper level calls, so it gets weird, if the input parameters size are 0, some will return 0 and some will return -EFAULT.

@jvasanth1 @erwango

I think you mean the bug is with the stm32 and xec drivers then, it is valid to read or write 0 bytes, it will do absolutely nothing but I don't see how that's an error in an input value. The function does exactly as described, you asked for 0 bytes, you got 0 bytes.

Mostly all drivers have the same behavior and return an error on 0.
Assigning to maintainer to check this.


Adjust resolver to use new tax configuration

Update the feature branch after merging https://github.com/saleor/saleor/pull/10433, so that it doesn't use the removed include_taxes_in_prices function.
Impact

[ ] New migrations
[ ] New/Updated API fields or mutations
[ ] Deprecated API fields or mutations
[ ] Removed API types, fields, or mutations
[ ] Documentation needs to be updated

Pull Request Checklist

[ ] Privileged queries and mutations are guarded by proper permission checks
[ ] Database queries are optimized and the number of queries is constant
[ ] Database migration files are up to date
[ ] The changes are tested
[ ] GraphQL schema and type definitions are up to date
[ ] Changes are mentioned in the changelog

Task linked: SALEOR-6391 Simple taxes


[Feature] Dynamic model column properties; specifically for contract definition

Is this your first time submitting a feature request?

[X] I have read the expectations for open source contributors
[X] I have searched the existing issues, and I could not find an existing issue for this feature
[X] I am requesting a straightforward extension of existing dbt functionality, rather than a Big Idea better suited to a discussion

Describe the feature
Within a model's template (or called macro) I would like to update model.columns to add column properties to the model and have them used in the model contract.
eg,
I have a macro (from a package) land_from_source to do a transformation which takes a json/variant column from a source table and flattens it into columns.
It also adds some internal/common columns to the final model, eg, _landed_timestamp which defaults to the current timestamp.
To avoid surprises I add columns to the model properties that I expect to come from the source data and set the model contract to enforced.
The contract enforcement fails, and I get a message about the internal/common columns added by the macro.
Since there is a lot of tables to be processed, I don't really want to add the internal/common columns to each model; especially if these columns are subject to (name/type/etc) changes.
Instead I'd rather the macro control the contract expectation by modifying the model columns directly.
{%- macro land_from_source(src_relation) -%}
{{- config(contract={'enforced':true}) -}}
{%- set LANDED_TIMESTAMP_NAME = var('landed_timestamp_name') -%}
{%- set LANDED_TIMESTAMP_TYPE = var('landed_timestamp_type') -%}
{%- do model.columns.update({
    LANDED_TIMESTAMP_NAME: {
        'name': LANDED_TIMESTAMP_NAME,
        'data_type': LANDED_TIMESTAMP_TYPE,
    }
}) -%}
{#- -- also other column details such as description, meta, tags, etc -#}
select
    -- actual sql code needed to select from source,
    CURRENT_TIMESTAMP() AS {{ LANDED_TIMESTAMP_NAME }}
from {{ src_relation }}
{%- endmacro -%}

Describe alternatives you've considered
I know the columns can be manually cut-n-paste added to the properties, and variables make it a bit easier. eg,
models:
  - name: test_model
    columns:
      - name: "{{ var('landed_timestamp_name') }}"
        data_type: "{{ var('landed_timestamp_type') }}"
      ...

But when you add all the extra properties, (ie, description, meta, tags), it does not scale very well.
Especially when other internal/common columns are added or removed (or meta/tags are added or removed).
I can also work around this by using an incremental model with on_schema_change set to fail, and contract.enforced set to false.
By defining the existing table, and making sure we truncate instead of dropping, I can control the model contract.
This does allow the removal of model properties (since we are not using the dbt contract feature anymore), but unfortunately I still need to use model properties because my macro uses meta to control column transformations :shrug:
And I would like to make this work for view transformations.
Who will this benefit?
? Data engineers that use packaged macros to automate pipelines and want to reduce management overhead and surprises
Are you interested in contributing this feature?
Sorry, but my time is spoken for already
Anything else?
No response

Thanks for reaching out about this @GKTheOne !
It sounds like the primary problem you're trying to solve is keeping your YAML files up-to-date and synchronized with the columns + data types of your model.
We're considering this out of scope for dbt-core, so I'm going to close this issue as "not planned". Rather, we'd like to see this type of use case addressed by a separate CLI tool or a dbt package like dbt-codegen.


move the note about using the ^ in the cmd line

moved the note about the ^ to before the cmd line examples

This seems like a small (but important) contribution, so no Contribution License Agreement is required at this point. We will now review your pull request.
Thanks,
Microsoft Pull Request Bot


Migrate from android.support to androidx

This is a replication of this pull request to the original author.
Tested it and it works fine in all my devices 👍

Hi again!
we've detected that our app is crashing with this new version of the library, so probably there's something I missed when upgrading to androidx
I wonder if the problem is in our app only, or other apps would crash too. Can someone test this new 1.3.1 in his/her App? If you get memory issues after the signature is completed, I'll send a PR with new updates to avoid this (maybe reverting the change, encouraging people to use the previous stable version, or adding something else to the androidx part)
I wonder if I should open an issue about this, so other users can see :)


Add changelog for v2.0

/kind documentation
What this PR does / why we need it:
Add changelog for a new version. Since new RBAC rules are needed, bumping the major version.
Which issue(s) this PR fixes:

Fixes #
Special notes for your reviewer:
Does this PR introduce a user-facing change?:

NONE

/lgtm


Downsampling a range into a single value gives unexpected results

Seeing weird results when trying to do any kind of aggregation and downsample into a single value.
For example, we're trying to get the min/max/avg and stddev over a timerange of ~5 minutes for one metric. Looking at the raw data, the values range from [197, 199]. In order to only get one value back, we're adding a sampling aggregation that looks like this
{
  "range": {
    "type": "absolute",
    "start":<PHONE_NUMBER>000,
    "end":<PHONE_NUMBER>000   // range = 341 seconds
  },
  "aggregation": {
      "type": "spread",
      "sampling": {
        "size": "341s",
        "extent": "341s"
      }
  },
  "filter": [
    "and",
    [ "key", "foo.bar" ],
    [ "=", "tag1", "baz" ],
    [ "=", "tag2", "qux" ]
  ]
}

Now, the results I would expect to see, would be something like this:
min = 197
avg = (sum/count) = 198.123
max = 199

stddev = 0.123

But instead, it gives us seemingly random values back, like below.
min = 156
avg = (sum/count) = 187.123
max = 199

stddev = 17.123

Findings

Querying for the stddev also yields seemingly random values.
Bumping the timerange ±1 second sometimes gives completely different values - especially for the min aggregation.
The max usually is correct.
Doing some experiments with the size and extent, the result sets does not even include the correct min values until you reach a pretty small size/extent.
If we chain the spread aggregation, we actually get the correct results.

...
"aggregation": {
    "type": "chain",
    "chain": [
      {
        "type": "spread",
        "sampling": {
          "size": "341s",
          "extent": "341s"
        }
      },
      {
        "type": "spread",
        "sampling": {
          "size": "1s"
          "extent": "1s"
        }
      }
    ]
  }
...

Perhaps I've misunderstood how the downsampling behaves, but can't really see what other options I have for getting the data.

Hey!
The first thing I can think of is that a feature called com.spotify.heroic.shift_range is enabled by default.
This causes the range that you are querying for to be shifted according to your cadence (341s), so the queried for range would be rounded to 341 seconds.
You can try to disable this feature, and see if things make more sense by adding the following to your query:
{
  "features": [
    "-com.spotify.heroic.shift_range"
  ]
}

The actual queried for range should be included in the result, see if it matches up with what you provided.
Please tell me if it still doesn't make sense.

That seemed to solve it, thanks for your quick reply!
If this is an undocumented feature it might be a good idea to add a note about it in the docs :)

Agreed, it's a fairly recent addition.
I've added #134 to track this.

@hampusohlsson Feature flags have now been documented a bit as per #134, please have a look to see if its satisfactory. Thank you for your feedback.

Looks good 👍


launchClient - Error (windows 10)

Hi :) I wanted to experiment with Malmö for my research. I tried to follow the Getting Started tutorial (https://github.com/Microsoft/malmo#getting-started) for both malmö 0.21 and 0.20 but unfortunately I get error at the runClient stage.
The machine I am using is provided with windows 10 and therefore I installed the dependencies (manually) as described in the tutorial (https://github.com/Microsoft/malmo/blob/master/doc/install_windows_manual.md).
Here I report the error I got for malmo 0.20 (for 0.21 the error is the same). I hope that the output listing could be useful to spot issues that could solve the problem. I can't wait for playing with malmö :)
Please find here the link to the launchClient output -> https://gist.github.com/spruzzer/114f14d799dfd527296614543b63706a

Have you tried running it with --stacktrace, --info and/or --debug option, as suggested in the log?

I tried to pass the recommended options to the 'launchClient.bat' command but none options is recognized. I think I have to modify some of the script to add the option when java is called. So far I was not able to find the script of interest :(

Yo se

We've seen quite a few errors with launchClient - it's a fairly fragile process that seems to have a lot of scope for going wrong. It might be worth searching through the similar issues (eg search for "launchClient") and seeing if any of the fixes there help.
I suspect, however, that your problem might be a new one. The exit code you are getting - C0000409 - seems to indicate a buffer overflow, and this might be to do with NVidea drivers - eg https://intellij-support.jetbrains.com/hc/en-us/community/posts/115000060510-Process-finished-with-exit-code-1073740791-0xC0000409-JavaFX-Application
On that page is a link to a driver hotfix which mentions Minecraft: http://www.guru3d.com/files-details/geforce-378-57-hotfix-driver-download.html - might be worth trying?

@DaveyBiggers thank you very much for having pointed me the error. I updated my Nvidia drivers from 378.49 to 381.65 and now I am able to execute launchClient flawlessly and also run the rum_mission.py file in the "Python_Examples" folder.

Great! Really glad it worked.


OSS updates.

Hi Team,
We do know that we can view the available updates of OSS through the updates tab in ACS Open Source Package Manager GUI or by running yum list updates.
However, this would not suffice our request, as we cannot monitor the updates on daily basis or regular basis to check for any new release as there are 45 OSS installed in our LPAR and we might install more going forward.
Hence we are looking our for some information like where we can the updates for any channel or there any subscription required to get this updates on regular basis and how often the updates will be released for the OSS installed packages.
If you could provide the information here, it would be greatly appreciated.
Regards,
Praveen.

Hence we are looking our for some information like where we can the updates for any channel

Channel? I'm not sure what you're asking for.

or there any subscription required to get this updates

All the software we provide via the repo is free of charge. No subscription is required

how often the updates will be released for the OSS installed packages.

Updates are released periodically. There is no set schedule, they are released when they are ready.
I'm not sure what you're looking for. Our repository works just like Linux repositories, which allows you to query it (via the package manager) for updates. I don't know of any Linux distribution or other product which can alert you to updates. Regardless, we don't have any such mechanism. If that's something you'd like to see, you can open an Idea here.


Integrate travis with .NET SDK new vs17Dev CI jobs

Travis has not been integrated with CI jobs on the new vs17Dev branch.
I tried adding the new script (already checked in the branch) recommended by .NET Core team.
I had enabled it for a day and jobs has been failing since.

The 2 scripts in question are dotnet-install.sh and testSdkOnLinux.sh

Done
https://github.com/Azure/azure-sdk-for-net/pull/3169


Migration from jwilder/ngninx-proxy container

Checklist

Please read the setup instructions
Please read the FAQ

What is troubling you?
I use the jwilder/nginx-proxy container currently within my setup. It uses nginx in a similar premise to your own software. I would like the UI aspect of it, so I can apply SSL for the containers that require it with custom setup. Rather than auto-deploying with a few $ENV-VARs.
Can I dual-run it with the container still working? It has ports 80 and 443, obviously, and live services.
If not, can you provide help with migrating to nginx-proxy-manager?
Clear and concise description of what you're trying to do and what isn't working for you

As this is a very specific support request and had no activity for a long while I assume you have either already successfully migrated or you have abandoned NPM.


[Enhancement] Make local partition topn streaming

Signed-off-by: ZiheLiu<EMAIL_ADDRESS>What type of PR is this：

[ ] BugFix
[ ] Feature
[x] Enhancement
[ ] Refactor
[ ] UT
[ ] Doc
[ ] Tool

Which issues of this PR fixes ：

Fixes #
Problem Summary(Required) ：

Checklist:

[x] I have added test cases for my bug fix or my new feature
[ ] This pr will affect users' behaviors
[ ] This pr needs user documentation (for new or modified features or behaviors)

[ ] I have added documentation for my new feature or new function

Bugfix cherry-pick branch check:

[x] I have checked the version labels which the pr will be auto backported to target branch

[x] 2.5
[ ] 2.4
[ ] 2.3
[ ] 2.2

run starrocks_admit_test

run starrocks_admit_test

run starrocks_admit_test

run starrocks_be_unittest


Improve landing page to guide new users and provide better overview of SceneryStack

The front page could use some love to better "sell" SceneryStack and to guide new and potential users to resources that will help them learn more or help them get started (like in #60).
react.dev  does a good job of this that seems analogous to our path for using SceneryStack within a web page or using it as a framework for interactives dev.

This is the main page:
https://github.com/scenerystack/community/blob/main/docs/index.md
It should likely integrate this secondary page: https://github.com/scenerystack/community/blob/main/docs/guides/pathways.md


AlignSelf attached property's usage

FlexAlign.SetAlignSelf(label, FlexAlignSelf.Center); should be adjusted to FlexLayout.SetAlignSelf(label, FlexAlignSelf.Center);
So do the XAML's attached bindable properties' usage.

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

ID: b954b795-b38e-61ff-3ba1-26a0623b97e6
Version Independent ID: 65795b50-24d3-1997-038e-ffdb609eb20b
Content: The Xamarin.Forms FlexLayout - Xamarin
Content Source: docs/xamarin-forms/user-interface/layouts/flex-layout.md
Product: xamarin
GitHub Login: @davidbritch
Microsoft Alias: dabritch

Hi @landl0526
Thanks for pointing this out. I've just fixed this in a PR that will go out later.


New example patches

Added two new example patches to the examples folder.
One uses a series of buffer processing objects like nmf and hpss to decompose a drum loop to be used in a granular synth.
The other uses fluid.pitch~ at the output of a delay line and uses the pitch/confidence values as modulation parameters for the delay, creating a sporadic flanging effect.
These patches have not been added to the Toolkit patch

these need adding to the overview (the last sentence is cryptic :) )


Publish chart to OCI registry (alongside gh-pages)

Publish chart to GH package registry alongside the gh-pages hosting. Supported since helm 3.8.
Advantages:

"Proper" chart release page
Download count tracking
Historic version overview

Example: https://github.com/pat-s/otf-agent-helm/pkgs/container/otf-agent-helm%2Fotf-agent
Needs:

[ ] A GH PAT with packages scope
[ ] After the first publish, a manual linking of the package to the repo

could we push it to dockerhub instead to keep things at a single space next to our images?

Also possible. In this case, you'd need to add a dockerhub token secret for the login.
I've updated the code.


Default test suite behavior is no longer to use JUnit 4

This is incorrectly noted here: https://docs.gradle.org/current/userguide/jvm_test_suite_plugin.html#sec:jvm_test_suite_tasks
This adds a new integration test to demonstrates this behavior.  This is intentional, see: https://github.com/gradle/gradle/blob/74fb3be30d536b3ee83c97a8d3be0d13c7ad8c54/subprojects/plugins/src/main/java/org/gradle/api/plugins/jvm/internal/DefaultJvmTestSuite.java#L125
This PR also adjust docs to note this.

@bot-gradle test QFL

OK, I've already triggered the following builds for you:

QuickFeedbackLinux build

LGTM, though I could have sworn we set JUnit 4 as a fallback when nothing was specified.

We definitely did.  Then the behavior changed, to deal with the options issues, I think, and we forgot to update the docs.  Now the test should confirm and document the behavior as well, and we can stop confusing any users wondering about why this isn't working.

Reminder to retarget this at release for 7.4.

Replaced by https://github.com/gradle/gradle/pull/19505


Does it support version replacement for pnpm workspace?

If I had a pnpm workspace project, the structure would be as follows:
// packages/rolldown
{
  "name": "rolldown",
  "version": "0.12.2",
  "optionalDependencies": {
    "@rolldown/binding-darwin-arm64": "workspace:*",
  }
}

// packages/rolldown/npm/binding-darwin-arm64
{
  "name": "@rolldown/binding-darwin-arm64",
  "version": "0.12.2"
}

I execute the following command:
pnpx pkg-pr-new publish --compact --pnpm './packages/rolldown/npm/*' './packages/rolldown'

May I ask if it is possible to support replacing the @rolldown/binding-darwin-arm64 version workspace:* with the URL of pkg.pr.new in package rolldown?

Related to https://github.com/rolldown/rolldown/pull/2090

Thank you so much, will make a release soon!

just released!

just released!

Yes, I saw it. Due to some reasons, I will verify it later. Can you tell me the specific usage method?
pnpx pkg-pr-new publish --compact --pnpm './packages/rolldown/npm/*' './packages/rolldown'

or
pnpx pkg-pr-new publish --compact --pnpm './packages/rolldown'

pnpx pkg-pr-new publish --compact --pnpm './packages/rolldown/npm/*' './packages/rolldown'

This, because you need to specify all the packages that are going to be included. And those packages will be replaced if pkg.pr.new sees them in any dependency field.

This, because you need to specify all the packages that are going to be included. And those packages will be replaced if pkg.pr.new sees them in any dependency field.

Looks great! Thanks!

I appreciate you!


Upgrade to swift 5 + min target: macos 10.13

[x] tested locally - working ok.

What's the benefit of targeting 10.13 instead of 10.11?

There were a SDK few problems leaving the target below 10.13.  Allowing for -2 releases covers most active macos users.
I don't have the specifics to hand at the moment however.


Make Sure the Contribute Money Link is shown When Custom Donations are Set

Currently we show the Contribute Money link (under the actions menu) only when at least one tier is set. If no tiers are set even if the the custom donations are set we don't let the user see this link. If some tiers are set we redirect the user to the first tier when clicked on this link.
I feel this gives some confusions; especially since in our docs;
https://docs.opencollective.com/help/collectives/projects#moving-funds-from-collectives-to-projects
we don't mention the fact that tiers need to be set for this to work.
I would propose the following; 😃

If the project has no tiers but the custom donations are turned on, then we show the Contribute Money link and redirect the user to the custom contribution flow.
If the project has one or more tiers set, and the custom donations are also turned on, then we show the Contribute Money link and redirect the user to the custom contribution flow; my rational here is that we should give the user the most options and the custom contribution flow seems ideal.
If the project has one or more tiers set, and the custom donations are not turned on, then we show the Contribute Money link and redirect the user to the contribution flow of the first tier (as we do right now).

The code for this is at,
https://github.com/opencollective/opencollective-frontend/blob/30445959624b9ea49d608b0d988bfea7274ff3f6/lib/collective.lib.js#L139-L153
Reference Slack Thread: https://opencollective.slack.com/archives/C0HSLRNVC/p1633366682190600
cc: @Betree

The specs look good to me. Ping @znarf just in case, I think he was the one introducing the Contribute money button concept.

To display "Contribute Money", we're simply relying on getHasContribute/hasContribute. If we change this, it will have an impact on other part of the applications that are relying on it, is this what we want?
I fail to see the rationale behind the conditions of getContributeRoute can this be explained or commented? I also fail to see why we compute hasContribute based on the result of getContributeRoute.
I don't see clear here and I don't agree to move forward if we don't understand clearly how we ended up with the behavior we have today.

we don't mention the fact that tiers need to be set for this to work.

if someone wants to merge in this docs change https://app.gitbook.com/@opencollective/s/help/~/diff/drafts/-MlQETYorbgUa_udVsCY/collectives/projects at least the docs will help!

Thanks, I've merged the docs change for now until we get this resolved. 👍🏽


Added support for Cordova 9.0.0

As of Cordova 9.0.0 requireCordovaModule has been deprecated for non-cordova modules resulting in errors similar to the following:

ERROR: Using "requireCordovaModule" to load non-cordova module "X" is not supported. Instead, add this module to your dependencies and use regular "require" to load it.

I've updated all the non-cordova imports referencing requireCordovaModule and switched them to require. I also added cordova-lib as a dependency to replace the import of cordova.
This has resolved the iOS build errors for my application, however I have not tested an Android build.

@apla instead of just totally ignoring this repo, you could at least hand it over to people who want to keep improving it.

About a year later, perhaps a reconsideration for a new maintainer @apla ?

I've merged this fix into my fork. Feel free to install the plugin from there:
cordova plugin add https://github.com/myieye/me.apla.cordova.app-preferences


Added a kick command

WIP
I still haven't tested enough for this "powerful" of a command.
Fixes #16

I believe this command is ready to be added finally 😄


Create a dashboard for oxygen capacity monitoring

GET /burnrate/
Available filter: item_id=
Response:
{
   ... pagination keys ... ,
   results: [
     {"facility_id", "facility_name", "item_id": "", "item_name": "", "burn_rate": "", "unit": "" }
   ]
}

API DOC https://careapi.coronasafe.in/swagger/

Add filters to sort facilities.


Documentation, bug fixes and some minor changes. [GSSoC'23]

Description
I fixed issue #268 #269 . Documentation has been added and the bug has been fixed. The bug was caused due to last two lines added in nse.py and stock_price.py.
Changes made

Documentation as been added
currency_type as been added to NSE class so that it can be dishtinguished from other indexes(in future)

please use following format while testing classes.
if __name__=="__main__":
    # code to test

the code under if condition would not execute while they are being executed.

Requested some changes @brohithkr | And do not make a PR without getting assigned in an issue from the next time.

Sorry for raising PR without getting issue assigned. This wont happen again. I tried explaining the error above. Please look through documentation i made for finance module. Please provide your feedback on above solution to error.

Hey @brohithkr, there are some merge conflicts, please look into them.


Add black to github workflow

Description

Linked issue(s)/Pull request(s)

issue_number

Type of Change

[ ] Non-breaking bug fix
[ ] Breaking bug fix
[ ] New feature
[ ] Test
[ ] Doc update
[ ] Docker update

Related Component

[ ] Simulation toolkit
[ ] RL toolkit
[ ] Distributed toolkit

Has Been Tested

OS:

[ ] Windows
[ ] Mac OS
[ ] Linux

Python version:

[ ] 3.6
[ ] 3.7

Key information snapshot(s):

Needs Follow Up Actions

[ ] New release package
[ ] New docker image

Checklist

[ ] Add/update the related comments
[ ] Add/update the related tests
[ ] Add/update the related documentations
[ ] Update the dependent downstream modules usage

How about adding the github workflow config to master?
How about adding the auto-format script in this PR?
Can also update the requrements.txt in this PR? (to include black, and some other lost packages)


Report converter support Infer

 Here is an overview of what got changed by this pull request:

Issues
======
- Added 4

Complexity increasing per file
==============================
- tools/report-converter/codechecker_report_converter/infer/analyzer_result.py  2
- tools/report-converter/tests/unit/infer_output_test_files/files/NullDereference.java  1
- tools/report-converter/tests/unit/test_infer_parser.py  3
- tools/report-converter/codechecker_report_converter/infer/plist_converter.py  1
- tools/report-converter/codechecker_report_converter/infer/output_parser.py  7

Clones added
============
- tools/report-converter/tests/unit/test_infer_parser.py  4

See the complete overview on Codacy

 Here is an overview of what got changed by this pull request:

Issues
======
- Added 1

Complexity increasing per file
==============================
- tools/report-converter/codechecker_report_converter/infer/plist_converter.py  1
- tools/report-converter/tests/unit/infer_output_test_files/files/NullDereference.java  1
- tools/report-converter/codechecker_report_converter/infer/analyzer_result.py  2
- tools/report-converter/tests/unit/test_infer_parser.py  3
- tools/report-converter/codechecker_report_converter/infer/output_parser.py  7

Clones added
============
- tools/report-converter/tests/unit/test_infer_parser.py  4

See the complete overview on Codacy

 Here is an overview of what got changed by this pull request:

Issues
======
- Added 1

Complexity increasing per file
==============================
- tools/report-converter/codechecker_report_converter/infer/analyzer_result.py  2
- tools/report-converter/tests/unit/test_infer_parser.py  3
- tools/report-converter/tests/unit/infer_output_test_files/files/NullDereference.java  1
- tools/report-converter/codechecker_report_converter/infer/plist_converter.py  1
- tools/report-converter/codechecker_report_converter/infer/output_parser.py  7

Clones added
============
- tools/report-converter/tests/unit/test_infer_parser.py  4

See the complete overview on Codacy

The reports directory contains some other info we're not parsing yet. The logs file contains:

The analysis duration on the last lines:

...
[25875][   progress] Analysis finished in 4h54mins
[25875][      debug] collected stats:
[25875][      debug] Backend stats:
[25875][      debug]   summary_file_try_load= 6902254
[25875][      debug]   summary_read_from_disk= 492380
[25875][      debug]   summary_cache_hits= 12095371 (76%)
[25875][      debug]   summary_cache_misses= 3696464
[25875][      debug]   summary_has_model_queries= 12061
[25875][      debug]   ondemand_procs_analyzed= 258160
[25875][      debug]   ondemand_local_cache_hits= 9515983 (92%)
[25875][      debug]   ondemand_local_cache_misses= 823706

The first couple lines contains the check command:

...
[25875][environment]
[25875][environment] command line arguments:   infer run --compilation-database
[25875][environment]                           compile_commands.json -o infer_results/ --jobs 4
...

But who knows whether any of these is stable.

@Szelethus We are planning to support this. We will generate a metadata.json file like similar what CodeChecker analyze command generates which will contain this kind of information. I refactored the structure of the metadata.json in #2399 which is not merged yet, so I am waiting while it will be approved and merged so I don't have to work multiple times.

 Here is an overview of what got changed by this pull request:

Issues
======
- Added 1

Complexity increasing per file
==============================
- tools/report-converter/codechecker_report_converter/infer/analyzer_result.py  2
- tools/report-converter/codechecker_report_converter/infer/output_parser.py  7
- tools/report-converter/tests/unit/test_infer_parser.py  3
- tools/report-converter/tests/unit/infer_output_test_files/files/NullDereference.java  1
- tools/report-converter/codechecker_report_converter/infer/plist_converter.py  1

Clones added
============
- tools/report-converter/tests/unit/test_infer_parser.py  4

See the complete overview on Codacy

 Here is an overview of what got changed by this pull request:

Issues
======
- Added 1

Complexity increasing per file
==============================
- tools/report-converter/codechecker_report_converter/infer/plist_converter.py  1
- tools/report-converter/codechecker_report_converter/infer/output_parser.py  7
- tools/report-converter/tests/unit/test_infer_parser.py  3
- tools/report-converter/tests/unit/infer_output_test_files/files/NullDereference.java  1
- tools/report-converter/codechecker_report_converter/infer/analyzer_result.py  2

Clones added
============
- tools/report-converter/tests/unit/test_infer_parser.py  4

See the complete overview on Codacy

 Here is an overview of what got changed by this pull request:

Issues
======
- Added 1

Complexity increasing per file
==============================
- tools/report-converter/codechecker_report_converter/infer/output_parser.py  7
- tools/report-converter/tests/unit/infer_output_test_files/files/NullDereference.java  1
- tools/report-converter/codechecker_report_converter/infer/analyzer_result.py  2
- tools/report-converter/tests/unit/test_infer_parser.py  3
- tools/report-converter/codechecker_report_converter/infer/plist_converter.py  1

Complexity decreasing per file
==============================
+ tools/report-converter/codechecker_report_converter/analyzer_result.py  -1

Clones added
============
- tools/report-converter/tests/unit/test_infer_parser.py  4

See the complete overview on Codacy

 Here is an overview of what got changed by this pull request:

Issues
======
- Added 1

Complexity increasing per file
==============================
- tools/report-converter/tests/unit/test_infer_parser.py  3
- tools/report-converter/tests/unit/infer_output_test_files/files/NullDereference.java  1
- tools/report-converter/codechecker_report_converter/infer/plist_converter.py  1
- tools/report-converter/codechecker_report_converter/infer/output_parser.py  7
- tools/report-converter/codechecker_report_converter/infer/analyzer_result.py  2

Complexity decreasing per file
==============================
+ tools/report-converter/codechecker_report_converter/analyzer_result.py  -1

Clones added
============
- tools/report-converter/tests/unit/test_infer_parser.py  4

See the complete overview on Codacy

 Here is an overview of what got changed by this pull request:

Complexity increasing per file
==============================
- tools/report-converter/codechecker_report_converter/infer/output_parser.py  7
- tools/report-converter/codechecker_report_converter/infer/analyzer_result.py  2
- tools/report-converter/tests/unit/infer_output_test_files/files/NullDereference.java  1
- tools/report-converter/tests/unit/test_infer_parser.py  3
- tools/report-converter/codechecker_report_converter/infer/plist_converter.py  1

Complexity decreasing per file
==============================
+ tools/report-converter/codechecker_report_converter/analyzer_result.py  -1

Clones added
============
- tools/report-converter/tests/unit/test_infer_parser.py  4

See the complete overview on Codacy


chore(deps): update terraform terraform-ibm-modules/landing-zone/ibm to v5.20.1

This PR contains the following updates:

Package
Type
Update
Change

terraform-ibm-modules/landing-zone/ibm (source)
module
patch
5.20.0 -> 5.20.1

Release Notes

terraform-ibm-modules/terraform-ibm-landing-zone (terraform-ibm-modules/landing-zone/ibm)
v5.20.1
Compare Source
Bug Fixes

deps: update terraform terraform-ibm-modules/landing-zone-vsi/ibm to v3.2.4 (#750) (7cf5220)

Configuration
📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).
🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.
♻ Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
👻 Immortal: This PR will be recreated if closed unmerged. Get config help if that's undesired.

[ ] If you want to rebase/retry this PR, check this box

This PR has been generated by Renovate Bot.

/run pipeline

:tada: This PR is included in version 4.7.0 :tada:
The release is available on:

GitHub release
v4.7.0

Your semantic-release bot :package::rocket:


Select does not return the proper count of edges on 1.7

@laa, as request by @enisher
Version 1.4.7.  Select does not return the proper count of edges when doing "Select from User" returns the following result.  My Script to setup this data at end of this message
----+------+----+-------+-----------+----------
|@RID  |name|out_has|out_livesIn|out_speaks
----+------+----+-------+-----------+----------
0   |#11:0 |Luca|[0]    |[0]        |[0]
1   |#11:-2|Joe |null   |null       |[0]
----+------+----+-------+-----------+----------
=====================================================
#create classes/Vectors
create class User extends V;
create class Language extends V;
create class Label extends V;
create class Email extends V;
create class City extends V;
#create Links/Edges
create class has extends E;
create class speaks extends E;
create class is extends E;
create class translatesTo extends E;
create class livesIn extends E;
#create User Data
create vertex User set name = 'Luca';
create vertex User set name = 'Joe';
#create Language Data
create vertex Language set name = 'En-uk';
create vertex Language set name = 'En-us';
create vertex Language set name = 'Fr-fr';
create vertex Language set name = 'Ru-ru';
create vertex Language set name = 'Ar-sy';
#create Label Data
create vertex Label set name = 'Hello';
create vertex Label set name = 'Salut';
create vertex Label set name = 'Ciao';
create vertex Label set name = 'Good day';
create vertex Label set name = 'Bonjour';
create vertex Label set name = 'Hallo';
create vertex Label set name = 'Marhaba';
create vertex Label set name = 'Salut2';
#emails
create vertex Email set email =<EMAIL_ADDRESS>create vertex Email set email =<EMAIL_ADDRESS>#edges for emails
create edge has from (select from User where name = 'Luca') to (select from Email where email = 'Luca@gmail.com');
create edge has from (select from User where name = 'Luca') to (select from Email where email = 'Luca@hotmail.com');
#City
create vertex City set name = 'Montreal';
create vertex City set name = 'Toronto';
create vertex City set name = 'New York';
create vertex City set name = 'Roma';
#edges for City
create edge livesIn from (select from User where name = 'Luca') to (select from City where name = 'Roma');
create edge livesIn from (select from User where name = 'Luca') to (select from City where name = 'Montreal');
#index
create property speaks.out LINK;
create property speaks.in LINK;
CREATE INDEX unique_speaks ON speaks (in, out) UNIQUE;
#create property translatesTo.out LINK;
#create property translatesTo.in LINK;
#CREATE INDEX unique_translatesTo ON translatesTo (in, out) UNIQUE;
#create the links between the User->Language
create edge speaks from (select from User where name = 'Luca') to (select from Language where name = 'En-uk');
create edge speaks from (select from User where name = 'Luca') to (select from Language where name = 'En-us');
create edge speaks from (select from User where name = 'Luca') to (select from Language where name = 'Fr-fr');
create edge speaks from (select from User where name = 'Luca') to (select from Language where name = 'Ar-sy');
create edge speaks from (select from User where name = 'Joe') to (select from Language where name = 'En-uk');
create edge speaks from (select from User where name = 'Joe') to (select from Language where name = 'En-us');
#create the links between label and language
create edge is from (select from Label where name = 'Hello') to (select from Language where name = 'En-uk');
create edge is from (select from Label where name = 'Hello') to (select from Language where name = 'En-us');
create edge is from (select from Label where name = 'Salut') to (select from Language where name = 'Fr-fr');
create edge is from (select from Label where name = 'Salut2') to (select from Language where name = 'Fr-fr');
create edge is from (select from Label where name = 'Ciao') to (select from Language where name = 'It-it');
create edge is from (select from Label where name = 'Good day') to (select from Language where name = 'En-uk');
create edge is from (select from Label where name = 'Bonjour') to (select from Language where name = 'Fr-fr');
create edge is from (select from Label where name = 'Hallo') to (select from Language where name = 'Ru-ru');
create edge is from (select from Label where name = 'Marhaba') to (select from Language where name = 'Ar-sy');
#create the links between labels
create edge translatesTo from (select from Label where name = 'Hello') to (select from Label where name = 'Good day') SET ncount = 3;
create edge translatesTo from (select from Label where name = 'Hello') to (select from Label where name = 'Hallo') SET ncount = 2;
create edge translatesTo from (select from Label where name = 'Hello') to (select from Label where name = 'Salut') SET ncount = 5;
create edge translatesTo from (select from Label where name = 'Hello') to (select from Label where name = 'Salut2') SET ncount = 7;
create edge translatesTo from (select from Label where name = 'Hello') to (select from Label where name = 'Ciao') SET ncount = 10;
create edge translatesTo from (select from Label where name = 'Good day') to (select from Label where name = 'Bonjour');
create edge translatesTo from (select from Label where name = 'Bonjour') to (select from Label where name = 'Marhaba');
create edge translatesTo from (select from Label where name = 'Hallo') to (select from Label where name = 'Marhaba');
create edge translatesTo from (select from Label where name = 'Salut') to (select from Label where name = 'Hallo') SET ncount = 1;
create edge translatesTo from (select from Label where name = 'Salut') to (select from Label where name = 'Salut2') SET ncount = 4;

Fixed long time ago, closing
Thanks
Luigi


Vacuum hangs somewhere in doctor when running table tests dealing with circular references

This code:
package main

import (
	_ "embed"
	"fmt"
	"runtime/debug"
	"testing"

	"github.com/daveshanley/vacuum/model"
	"github.com/daveshanley/vacuum/motor"
	"github.com/daveshanley/vacuum/rulesets"
	"github.com/pb33f/libopenapi"
	"github.com/pb33f/libopenapi/datamodel"
	"github.com/stretchr/testify/require"
)

const openapiHeader = `openapi: 3.1.0
info:
  title: FailureCases
  version: 0.1.0
servers:
  - url: http://localhost:35123
    description: The default server.
paths:
  /test:
    get:
      responses:
        '200':
          description: OK
`

func TestInvalidCircularLoops_Errors(t *testing.T) {
	type args struct {
		schema string
	}
	tests := []struct {
		name     string
		args     args
		wantErrs []string
	}{
		{
			name: "simple allOf loop fails",
			args: args{
				schema: openapiHeader + `
components:
  schemas:
    AllOfLoop:
      x-speakeasy-include: true
      allOf:
       - $ref: '#/components/schemas/AllOfLoop'
       - type: object
         properties:
           name:
             type: string
`,
			},
			wantErrs: []string{"validation error: [line 18] circular reference: #/components/schemas/AllOfLoop -> #/components/schemas/AllOfLoop-allOf[#/components/schemas/AllOfLoop,SJUHqn4yVsOgI1CUXNtV/wUNTen8TiGduoQOZ+UWlIA=] -> #/components/schemas/AllOfLoop-allOf[#/components/schemas/AllOfLoop,SJUHqn4yVsOgI1CUXNtV/wUNTen8TiGduoQOZ+UWlIA=]"},
		},
		{
			name: "allOf that includes itself and another ref fails",
			args: args{
				schema: openapiHeader + `
components:
  schemas:
    AllOfLoop:
      x-speakeasy-include: true
      allOf:
       - $ref: '#/components/schemas/AllOfLoop'
       - $ref: '#/components/schemas/OtherObject'
    OtherObject:
      type: object
      properties:
        name:
          type: string
`,
			},
			wantErrs: []string{"validation error: [line 18] circular reference: #/components/schemas/AllOfLoop -> #/components/schemas/AllOfLoop-allOf[#/components/schemas/AllOfLoop,#/components/schemas/OtherObject] -> #/components/schemas/AllOfLoop-allOf[#/components/schemas/AllOfLoop,#/components/schemas/OtherObject]"},
		},
		{
			name: "allOf through oneOf loop fails",
			args: args{
				schema: openapiHeader + `
components:
  schemas:
    AllOf:
      x-speakeasy-include: true
      allOf:
       - $ref: '#/components/schemas/OneOf'
       - type: object
         properties:
           name:
             type: string
    OneOf:
      x-speakeasy-include: true
      oneOf:
       - $ref: '#/components/schemas/AllOf'
`,
			},
			wantErrs: []string{"validation error: [line 18] circular reference: #/components/schemas/AllOf -> #/components/schemas/AllOf-allOf[#/components/schemas/OneOf,SJUHqn4yVsOgI1CUXNtV/wUNTen8TiGduoQOZ+UWlIA=] -> #/components/schemas/AllOf"},
		},
		{
			name: "allOf through other allOf loop fails",
			args: args{
				schema: openapiHeader + `
components:
  schemas:
    AllOf1:
      x-speakeasy-include: true
      allOf:
       - $ref: '#/components/schemas/AllOf2'
    AllOf2:
      allOf:
       - $ref: '#/components/schemas/AllOf3'
    AllOf3:
      allOf:
       - $ref: '#/components/schemas/AllOf1'
`,
			},
			wantErrs: []string{"validation error: [line 18] circular reference: #/components/schemas/AllOf1 -> #/components/schemas/AllOf1-allOf[#/components/schemas/AllOf2] -> #/components/schemas/AllOf1-allOf[#/components/schemas/AllOf3] -> #/components/schemas/AllOf1-allOf[#/components/schemas/AllOf1] -> #/components/schemas/AllOf1-allOf[#/components/schemas/AllOf2]"},
		},
		{
			name: "required property loop fails",
			args: args{
				schema: openapiHeader + `
components:
  schemas:
    ObjectWithRequiredProperty:
      x-speakeasy-include: true
      type: object
      properties:
        self:
          $ref: '#/components/schemas/ObjectWithRequiredProperty'
      required:
        - self
`,
			},
			wantErrs: []string{
				"validation error: [line 18] resolving-references - infinite circular reference detected: ObjectWithRequiredProperty: ObjectWithRequiredProperty -> ObjectWithRequiredProperty [18:7] | ObjectWithRequiredProperty -> ObjectWithRequiredProperty",
				"validation error: [line 18] resolving-references - infinite circular reference detected: #/components/schemas/ObjectWithRequiredProperty: ObjectWithRequiredProperty -> ObjectWithRequiredProperty [18:7] | ObjectWithRequiredProperty -> ObjectWithRequiredProperty",
				"validation error: [line 18] resolving-references - infinite circular reference detected: ObjectWithRequiredProperty: ObjectWithRequiredProperty -> ObjectWithRequiredProperty [18:7] | ObjectWithRequiredProperty -> ObjectWithRequiredProperty",
			},
		},
		{
			name: "array with minItems loop fails",
			args: args{
				schema: openapiHeader + `
components:
  schemas:
    ObjectWithArray:
      x-speakeasy-include: true
      type: object
      properties:
        children:
          type: array
          minItems: 1
          items:
            $ref: '#/components/schemas/ObjectWithArray'
      required:
        - children
`,
			},
			wantErrs: []string{"validation error: [line 18] circular reference: #/components/schemas/ObjectWithArray -> #/components/schemas/ObjectWithArray"},
		},
		{
			name: "single oneOf loop fails",
			args: args{
				schema: openapiHeader + `
components:
  schemas:
    ObjectWithOneOf:
      x-speakeasy-include: true
      type: object
      properties:
        child:
          oneOf:
            $ref: '#/components/schemas/ObjectWithOneOf'
      required:
        - child
`,
			},
			wantErrs: []string{"validation error: [line 18] circular reference: #/components/schemas/ObjectWithOneOf -> #/components/schemas/ObjectWithOneOf"},
		},
	}
	for _, tt := range tests {
		t.Run(tt.name, func(t *testing.T) {
			doc, err := libopenapi.NewDocumentWithConfiguration([]byte(tt.args.schema), &datamodel.DocumentConfiguration{
				IgnorePolymorphicCircularReferences: true,
				IgnoreArrayCircularReferences:       true,
				AllowRemoteReferences:               true,
			})
			require.NoError(t, err)

			doc.BuildV3Model()

			var errs []error

			ex := &motor.RuleSetExecution{
				RuleSet: &rulesets.RuleSet{
					Rules: map[string]*model.Rule{
						rulesets.PathParamsRule:               rulesets.GetPathParamsRule(),
						rulesets.PathDeclarationsMustExist:    rulesets.GetPathDeclarationsMustExistRule(),
						rulesets.PathNotIncludeQuery:          rulesets.GetPathNotIncludeQueryRule(),
						rulesets.Oas3OperationSecurityDefined: rulesets.GetOAS3SecurityDefinedRule(),
						rulesets.TypedEnum:                    rulesets.GetTypedEnumRule(),
						rulesets.NoEvalInMarkdown:             rulesets.GetNoEvalInMarkdownRule(),
						rulesets.NoScriptTagsInMarkdown:       rulesets.GetNoScriptTagsInMarkdownRule(),
						rulesets.OperationOperationIdUnique:   rulesets.GetOperationIdUniqueRule(),
					},
				},
				Document: doc,
				PanicFunction: func(err any) {
					errs = append(errs, fmt.Errorf("panic: %v\n%s", err, debug.Stack()))
				},
			}

			motor.ApplyRulesToRuleSet(ex)
		})
	}
}

will hang somewhere in the doctor library when ran.
Running the individual tests work but when running them all together it hangs.
This is happens when being ran inside a VM haven't tried it natively on decently powered machine

Running this exact test on v0.8.7 produces this result:

All tests pass when run individually, or as a suite all together.
I've tried running it many times, it does not hang with the latest stack.


Add links to pages

Hi! Maybe I'm misunderstanding this, but is it possible to get automatic links to the pages in my project?
It looks like the headings here are underlined which looks like links to me.

But when I run the plugin I only get headers with no links.

Hi! Maybe I'm misunderstanding this, but is it possible to get automatic links to the pages in my project?
It looks like the headings here are underlined which looks like links to me.

But when I run the plugin I only get headers with no links.

You're supposed to hyperlink the text layers yourself, to your own frames. 😉 Select the text, and click the 🔗 icon at the top toolbar in the Figma UI, or hit Cmd/Ctrl + K

Sadly yeah the API doesn't support me copying links to private files.


Start-Process -UseNewEnvironment provides an environment that is missing crucial standard environment variables while not supporting passing a new environment

On both Windows and Unix platforms, Start-Process -UseNewEnvironment results in an environment that is missing crucial standard environment variables, making the new environment virtually useless, while not providing a mechanism to define a new environment:

On Windows, -UseNewEnvironment defines only the variables that are explicitly defined, as displayed in System Properties (sysdm.cpl), with crucial, usually automatically defined variables such as $env:ProgramFiles missing, and $env:USERNAME unexpectedly containing SYSTEM.

This even prevents another powershell instance from being started this way - see https://github.com/PowerShell/PowerShell/issues/3545#issuecomment-320699488 and below.

On Unix, an empty environment is essentially passed (with no environment variables defined at all, except $env:PSModulePath).

This even prevents invoking any executable by filename only, given that $env:PATH is undefined - see below.

While this behavior is similar to POSIX env -i on Unix platforms, the env utility notably includes a mechanism to provide a new environment via name=value pairs, which Start-Process lacks.

Possible solutions:

Repurpose -UseNewEnvironment to not start with a blank slate / crucial variables missing, but to provide the same environment that a shell would see when directly launched by the system (in other words: any environment-variable modifications made by the calling shell would be ignored).

Additionally, provide a way to pass a custom environment, applied on top of the current or pristine (-UseNewEnvironment) environment:

E.g., a new -Environment <hashtable>  / -Environment <Collections.DictionaryEntry[]> parameter could be used.

If someone truly wanted an empty environment, they could start with $emptyEnv = (Get-ChildItem env:); $emptyEnv | % { $_.Value = $null } and pass -Environment $emptyEnv.

The -Environment feature would allow for an - incomplete - approximation of the convenient ad-hoc, command-scoped environment-variable definition feature that POSIX-like shells such as bash offer, where you can prepend one or more name=value pairs to a command:
# Bash (any POSIX-compatible shell)
# Defines $env:FOO as 'bar', but *only for the some-utility child process*.
FOO=bar some-utility 666

Update: #3316 suggests emulating this syntax in PowerShell, which would be the best solution.
The PS approximation would be:
Start-Process -Wait  -Environment @{ FOO = 'bar' } some-utility -Args 666

That said, a crucial limitation is that use of Start-Process makes the external utility operate outside PowerShell's streams, so the only way to provide input / collect output is via the -Redirect* parameters, which requires auxiliary files.
Current behavior
Start-Process -UseNewEnvironment -Wait -NoNewWindow pwsh -args '-Command', 'gci env:; whoami'

On Windows: PowerShell refuses to start - see #3545; note that adding -LoadUserProfile makes no difference.

Internal Windows PowerShell error.  Loading managed Windows PowerShell failed with error 8009001d.

On Unix: PowerShell starts, lists $env:PSModulePath as the only environment variable - with a seemingly temporary user account's module directory prepended -  and the whoami invocation fails, because it cannot be located in the absence of a suitable $env:PATH.

Name                           Value
----                           -----
PSModulePath                   /tmp/ba38e79f-40c2-440e-ae08-7cf32e0708e1/.local/share/powershell/Modules:/usr/local/share/powershell/Modules:/opt/microsoft/...
whoami : The term 'whoami' is not recognized as the name of a cmdlet, function, script file, or operable program. Check the spelling of the name, or if a path
was included, verify that the path is correct and try again.
At line:1 char:21
+ Get-ChildItem env:; whoami
+                     ~~~~~~
    + CategoryInfo          : ObjectNotFound: (whoami:String) [], CommandNotFoundException
    + FullyQualifiedErrorId : CommandNotFoundException

Environment data
PowerShell Core v6.0.0-beta.5 on macOS 10.12.6
PowerShell Core v6.0.0-beta.5 on Ubuntu 16.04.3 LTS
PowerShell Core v6.0.0-beta.5 on Microsoft Windows 10 Pro (64-bit; v10.0.15063)
Windows PowerShell v5.1.15063.483 on Microsoft Windows 10 Pro (64-bit; v10.0.15063)

On Windows, you should use CreateEnvironmentBlock function to create a complete block of environment variables for a specified user.

To provide some more insight into what, specifically, is wrong (in addition to the conceptual flaw that @GeeLaw mentions with respect to combining -UseNewEnvironment with -Credential; almost sounds like that combination should be disallowed):
https://github.com/PowerShell/PowerShell/blob/5fcab21111be1551d723bbd3cf2701d79e44fa94/src/Microsoft.PowerShell.Commands.Management/commands/management/Process.cs#L1867-L1872
On Unix-like platforms, the LoadEnvironmentVariable() calls are effective no-ops, because Environment.GetEnvironmentVariables(EnvironmentVariableTarget.Machine) and Environment.GetEnvironmentVariables(EnvironmentVariableTarget.User) quietly(!) return an empty hashtable in Unix, where these targets aren't supported (see https://github.com/dotnet/corefx/issues/32685).
In short, LoadEnvironmentVariable() shouldn't even be called to begin with on non-Windows platforms.
As for Windows:

The original post mentions that crucial built-in variables are missing from the resulting process, which results from the approach of first clearing all variables with

https://github.com/PowerShell/PowerShell/blob/5fcab21111be1551d723bbd3cf2701d79e44fa94/src/Microsoft.PowerShell.Commands.Management/commands/management/Process.cs#L1869
and then only restoring those variables whose definitions are registry-based.
However, there are a number of crucial variables such as %USERPROFILE% that are not registry-based, so they end up missing altogether - see below.

Also, loading a default $env:PATH value is broken in LoadEnvironmentVariable(), because key access is case-sensitive and the variable name is mistakenly tested for with all-uppercase name PATH:

https://github.com/PowerShell/PowerShell/blob/5fcab21111be1551d723bbd3cf2701d79e44fa94/src/Microsoft.PowerShell.Commands.Management/commands/management/Process.cs#L2077

For the record, here are the built-in, system-defined environment variables that are not registry-based:
ALLUSERSPROFILE
APPDATA
CommonProgramFiles
CommonProgramFiles(x86)
CommonProgramW6432
COMPUTERNAME
HOMEDRIVE
HOMEPATH
LOCALAPPDATA
LOGONSERVER
ProgramData
ProgramFiles
ProgramFiles(x86)
ProgramW6432
PUBLIC
SESSIONNAME
SystemDrive
SystemRoot
USERNAME    # !! There is a *machine-level* definition with value 'SYSTEM', but there is no *user-level* definition - that is added by the system to the process.
USERDOMAIN
USERDOMAIN_ROAMINGPROFILE
USERPROFILE

Command that generated the list above (with the exception of USERNAME)
gci env: | % name | ? { -not [environment]::GetEnvironmentVariable($_, 'Machine') -and -not [environment]::GetEnvironmentVariable($_, 'User')}

I'd deprecate UseNewEnvironment (make alias?) and introduce ClearEnvironment
I like new Environment parameter but can we explicitly say that we add/change variable? Maybe -SetEnvironmentVariable?

On GitHub, there's a small amount of usage of -UseNewEnvironment.  I believe the intent of this switch is you would start a process from PowerShell as though you just started a new PowerShell process (not from the current PowerShell process).  We just have to evaluate if we would break any existing usage (seems unlikely).
As for specifying an environment, I think -Environment @{} is good.

Agreed re intent, @SteveL-MSFT, so if we wanted to fix this feature (and also make it work on Unix), we could cache a copy of the environment-variable block on PowerShell startup (before reading profiles), and use that.
@iSazonov: I agree that -SetEnvironmentVariable is more descriptive, but it's a bit unwieldy. I think with proper documentation -Environment will do, as Steve says.
-ClearEnvironment wouldn't quite capture the intent of the feature, which mustn't clear all variables - that it currently does so on Unix is what prompted this report.

I think really we need three operation:

ClearEnvironment [optional hash with new variables to set]
RemoveEnvironment
SetEnvironment <mandatory hash with variables to add/update to current environment>

UseNewEnvironment we could deprecate and hide.

I don't think there is a need for this complexity:
Re 1 and 2:
You rarely want to start with no environment variables at all - you'll wipe out vital OS-defined variables too (which is the current problem on Unix-like platforms).
It is far more common to build on an existing environment,  either:

the current one

"pristine" one, without any in-session changes, but with the usual OS-defined ones present - that's what -UseNewEnvironment should do.

Re 3:
Combining the hashtable  -Environment parameter with -UseNewEnvironment then covers all use cases:
As a user, I then:

decide which environment to start with: the current one (no switch) or a "pristine" one (-UseNewEnvironment)

then use -Environment to modify that starting environment, by:

adding new variables
modifying the values of existing variables
removing variables

The first 2 modifications are most common, but a single, hashtable-based environment variable also supports removing variables, given that assigning $null or the empty string to environment variables deletes them; e.g., -Environment @{ FOO='bar'; BAR=$null } would create or update env. var FOO and remove (or not defined) env. var. BAR

I don't think there is a need for this complexity:

Historically environment variables is manipulated by one "Set" operation, even in C# API https://docs.microsoft.com/en-us/dotnet/api/system.environment.setenvironmentvariable?view=netframework-4.8#System_Environment_SetEnvironmentVariable_System_String_System_String_
But a question is can we get PowerShell magic benefits having explicit operations like *-Variables?
CommandType     Name
-----------     ----
Cmdlet          Clear-Variable
Cmdlet          Get-Variable
Cmdlet          New-Variable
Cmdlet          Remove-Variable
Cmdlet          Set-Variable

Earlier we actively discussed Environment provider/drive. We found this very interesting. Obviously the API will has these operations explicitly. Should we keep consistency with the API in the issue too (also taking in account hosting scenario)?
I do not like changing UseNewEnvironment for 4 reasons: unlikely but breaking change, the name confuses me, not clear why we need the rare scenario and implementation will slow down startup that is very bad. I believe this is not worth the effort until there is a real important business scenario. Moreover, PowerShell actually only changes PSModulePath, and this can be solved in #10300.

The *-Variable cmdlets are narrowly focused on shell variables (PowerShell's own, in-session only variables).
However, extending the Environment PS provider to also support managing persisted environment variables, at least on Windows, makes perfect sense to me, and it is what I've proposed here.
I don't see a problem with having that coexist with the -Environment <hashtable> parameter proposed here, or even with the syntax discussed in #3316.

I do not like changing UseNewEnvironment for 4 reasons: unlikely but breaking change

Nothing meaningful can be broken, given the currently useless behavior.

the name confuses me

I think the name is fine, but we could implement an alias, if there's consensus on a better name.

not clear why we need the rare scenario and implementation will slow down startup that is very bad

That is a valid concern - I can't speak to the real-world impact.

I believe this is not worth the effort until there is a real important business scenario.

Personally, I won't miss the feature, but I can see how it is desirable in certain situations.

Moreover, PowerShell actually only changes PSModulePath

That's not the point, though. The point is that you yourself or third-party code may have modified the environment in multiple ways that you don't want external processes to see, lest it interfere with their proper operation.

That's not the point, though. The point is that you yourself or third-party code may have modified the environment in multiple ways that you don't want external processes to see, lest it interfere with their proper operation.

Interesting, has Windows or Unix an API to directly implement the scenario? (I mean this is too unbelievable scenario)

Windows has Start-Process -UseNewEnvironment :) - though it is partially broken, as I've pointed out. However, I've always understood the intent of that feature to be what I've proposed.
Unix has the env utility with the -i option (ignore the inherited environment, and only define the variables passed as the other arguments);
On closer examination, however, this appears to be more like a -ClearEnvironment switch, and the only reason it results in a usable shell if you call bash is that bash - unlike PowerShell - apparently sets default values for variables such as $env:PATH.
As a cross-platform shell, however, we'd be looking for standardized behavior, so IF we keep the switch, implementing the proposed behavior makes the most sense to me.
Again, I personally wouldn't miss -UseNewEnvironment, and I can see that it is probably rarely needed overall (as at least historically indicated by @SteveL-MSFT's GitHub search).
I think that's all I have to say on this particular aspect of this debate, and I'll let others decide.

@iSazonov: Well, I think it radically clears the environment, though I believe that to be accidental behavior (the current attempts to read persisted env.-var definitions are quiet no-ops on Unix-like platforms, as explained above). similar to env -i.
However, there's more going on, because env -i bash --norc results in a functional shell, whereas the seemingly equivalent Start-Process -UseNewEnvironment bash --norc exhibits very strange behavior with the default terminal apps on macOS 10.14 and and Ubuntu 18.04.
On both platforms, trying to launch pwsh always results in broken behavior.
Only with iTerm on macOS could I get Start-Process -UseNewEnvironment bash --norc to work, and then call export to see what env. variables are defined: you'll see that they're only Bash-defined ones (as with env -i bash --norc), implying that an empty environment was passed, and Bash seemingly furthermore declares shell-only variables (you can see these among the output from set) of the same name as vital OS env. variables such as PATH and TERM so as to provide at least a minimal level of functioning.

This code is This code is somewhat confusing (in CoreFX too) 😕
This works in WSL (may be useful for tests):
Start-Process -UseNewEnvironment -ArgumentList "set" bash

We need to take in account #6489 Again slow down :-(
If we look Process.ProcessStartInfo.Environment - it force us to copy Dictionary and it again slow down.
This is not so important to start a process but it can be sensitive for startup scenario.

As for the test command: You're missing -c, and it's better to also suppress loading of .bashrc with  --norc; set shows you a mix of shell-only and environment variables, so it's better to use export; thus:
Start-Process  -UseNewEnvironment  -ArgumentList '--norc', '-c', 'export'  bash

If you're experimenting with passing multiple commands to -c, remember the Start-Process bug with respect to spaces (#5576), so embedded quoting is needed:
Start-Process  -UseNewEnvironment  -ArgumentList '--norc', '-c', '"export; set"'  bash

Also, I don't think we need to worry about #6489 for simply making a copy of the startup environment.
As for the dictionary: are you referring to [environment]::GetEnvironmentVariables()? [System.Diagnostics.Process]::GetCurrentProcess().StartInfo is $null in a PowerShell session.
What [environment]::GetEnvironmentVariables() returns already is a copy of the environment, returned as a case-sensitive [hashtable] (IDictionary) whose later manipulation has no effect on the underlying environment variables.

Also, I don't think we need to worry about #6489 for simply making a copy of the startup environment.

Perhaps we can catch a problem if original set contains duplicate variables: we have to set them one-by-one and last will win. Although we use P/Invoke on Windows and this could allow to get around this.

[System.Diagnostics.Process]::GetCurrentProcess().StartInfo is $null in a PowerShell session.

It is not property in Process object. So we can use only [environment]::GetEnvironmentVariables().

Start-Process  -UseNewEnvironment  -ArgumentList '--norc', '-c', 'export'  bash

It does not work for me on WSL. Folow works:
Start-Process  -UseNewEnvironment  -ArgumentList '--norc', '-c', 'printenv'  bash
I hope we can use this on all Unix-s and MacOs.

Yes, printenv is also preinstalled on macOS (it isn't a POSIX-mandated utility, however), so this should work; I'm baffled that export wouldn't work, though, given that it is a Bash builtin (an internal command).

I just discovered the cmd.exe-internal start command's /I switch, which was presumably the model for PowerShell's -UseNewEnvironment switch (in intent, not in effect, due to the flawed current implementation); from start /? (lightly edited):

/ I    ...       The new environment will be the original environment passed
to the cmd.exe and not the current environment.

@mklement0 Thanks! I pulled PR - please review.

Since we had PowerShell Committee conclusion in #10812 we can continue here to discuss a desired behavior.
From my understanding the conclusion was to implement on all platforms behavior like @rjmholt made for login shell on Unix - with UseNewEnvironment subprocess gets environment like we get with sh -l on Linux and zsh -l on macOS. I don't know can we do the same on Windows.
@SteveL-MSFT @mklement0 Thoughts?

Thanks, @iSazonov; I think you meant to link to https://github.com/PowerShell/PowerShell/pull/10745#issuecomment-542923823 - given that specific points were made there, let me respond there.

@iSazonov on Windows, the current code clears the env block, then fills it from the system profile (hence username is system) and then the user profile overwriting any that exist in the system.  Hence Path is incomplete.  It seems the fix here is to merge Path (append user PATH to end of machine PATH).  USERNAME should be special cased to the user.  The test is to start a new cmd.exe from Windows shell, run set and have the env vars match if using -UseNewEnvironment.

A slight;y different use case is for -UseNewEnvironment to use the default environment when somehting like the path has changed in another procerss.
Specifically I'm using curl to install python and want to start a shell with python on the path.
My original script is windows cmd but as there was no way to do this I looked at PowerShell and got excited by -UseNewEnvironment, only to find it is broken as per this bug.
I guess security might be a consideration though.
PS I'm another Steve Lee :)

@SteveL-MSFT Any updates on this issue? I see no changes related to -UseNewEnvironment

@PowerShell/wg-powershell-cmdlets  reviewed this and agreed with the asked behavior and a new switch to avoid any breaking change

Agreed re intent, @SteveL-MSFT, so if we wanted to fix this feature (and also make it work on Unix), we could cache a copy of the environment-variable block on PowerShell startup (before reading profiles), and use that.

Not sure how far along this issue is, but a "common" (well the only one I ever came across) for this feature is to support a scenario where you run a program that changes the "global" environment (i.e. the registry entries) and then run another program that relies on these changes.
The simplest example is a script that runs an installer and then wants to run the installed program right afterwards:
git.exe  /SILENT
# git not in path :(
git clone foo

Which means that the "copy environment at the start of the process would not help, since this is not necessarily the same as the environment at the time the command is executed.


feat(ApplicationCommandOptionType): add Number (10)

https://github.com/discord/discord-api-docs/pull/3455

type 10 options can only be created on the canary API and viewed on the canary client currently

This...needs a rebase :D


Don't render model until the next frame

Fixes awkward behavior in the "Model Experimental 3D Models" sandcastle demo in https://github.com/CesiumGS/cesium/pull/9922
Previously there was one frame where the model was visible before the camera snapped to its new location. That was because ModelExperimental was pushing its draw commands before its readyPromise resolved.
This fix also has the benefit of not resolving the ready promise multiple times if custom shaders or styles are changed.

Thanks for the pull request @lilleyse!

:heavy_check_mark: Signed CLA found.
:grey_question: CHANGES.md was not updated.

If this change updates the public API in any way, please add a bullet point to CHANGES.md.

:grey_question: Unit tests were not updated.

Make sure you've updated tests to reflect your changes, added tests for any new code, and ran the code coverage tool.

Reviewers, don't forget to make sure that:

[ ] Cesium Viewer works.
[ ] Works in 2D/CV.


config-file preference is not set.

error in android :CHCP plugin after prepare hook:
config-file preference is not set.
but,I have seted the config-file in config.xml ;

Can you share your config.xml?

here is my config.xml @nikDemyankov .thanks

name

        description

      jky software group

Thanks.
I think you have a typo.


Alpha problem with circles

If alpha < 1 in the color parameter, and the circle has a width > 1, a rectangle will be drawn with the right alpha instead of the circle (or arc). There are of course ways to get around, as for example drawing multiple 1px width circles but that is not ideal.
In the following pictures you can see what I mean. The first one has alpha < 1, the second one has alpha = 1. I might be missing something but it seems like a bug to me. Cheers!

Given it has been almost 8 years with no-one else reporting this, I suspect it isn't an extant Kivy issue.
@tealbrains: Are you still seeing this issue? If so, can you provide a minimal program that fails and logs and information about what platform you are using?


Upgrade to v1.6.2 failing with Dependencies stack failure for external deployment

Describe the bug
Upgrade from v1.5.2 to v1.6.2 failing for external deployment.
This is due to the AWSAccelerator-DependenciesStack failing to create the IAM role AWSAccelerator-DiagnosticsPackAccessRole in other accounts. This is attributed to the trust relationship policy incorrectly referencing an ARN that containers the AcceleratorPrefix  but not the AcceleratorQualifier stated in the template parameters. It seems that when you use aws-accelerator as the qualfiier, the diagnostic pack incorrectly assumes this is the default value and fallbacks to using the AcceleratorPrefix instead. If you were to use another value such as aws-accelerator-sandbox for the qualfiier, this works as expected.
https://github.com/awslabs/landing-zone-accelerator-on-aws/blob/main/source/packages/%40aws-accelerator/accelerator/lib/stacks/dependencies-stack/diagnostics-pack.ts#L47 needs to be fixed as aws-accelerator is a valid qualifier and should take precedence instead falling back to AcceleratorPrefix.
To Reproduce

Clone https://github.com/awslabs/landing-zone-accelerator-on-aws/releases/tag/v1.6.2
Synthesize the installer template with external deployment option (follow this guide: https://docs.aws.amazon.com/solutions/latest/landing-zone-accelerator-on-aws/external-pipeline-deployment.html)
Replace the template from the AWSAccelerator-InstallerStack CloudFormation stack ensuring these parameters are set:

AcceleratorPrefix = AWSAccelerator
AcceleratorQualifier = aws-accelerator
ExistingConfigRepositoryBranchName = main
ExistingConfigRepositoryName=aws-accelerator-config
RepositoryBranchName=release/v1.6.2
UseExistingConfigRepo=Yes
ManagementAccountRoleName=AcceleratorPipelineDeploymentRole
EnableDiagnosticsPack=Yes

Update the template and the aws-accelerator-installer codepipeline should kick off

After the installer pipeline finishes it will kick off the downstream pipeline: aws-accelerator-pipeline

The pipeline will fail at the logging stage with the following error:

AWSAccelerator-DependenciesStack-540580036166-us-east-1 \| 1/5 \| 2:26:22 PM \| CREATE_FAILED        \| AWS::IAM::Role      \| DiagnosticsPackAssumeRole (DiagnosticsPackAssumeRole98643D9F) Resource handler returned message: "Invalid principal in policy: "AWS":"arn:aws:iam::356031120245:role/AWSAccelerator-DiagnosticsPackLambdaRole" (Service: Iam, Status Code: 400, Request ID: 4f7e3414-9b6b-49fa-8d0a-e3986c3a88bb)" (RequestToken: 0a753822-70bf-035a-5053-9c1b88cc9be1, HandlerErrorCode: InvalidRequest)
--
151 | new Role (/codebuild/output/src3479/src/s3/00/source/node_modules/aws-cdk-lib/aws-iam/lib/role.js:1:5794)
152 | \_ DiagnosticsPack.createDiagnosticsPackAssumeRole (/codebuild/output/src3479/src/s3/00/source/packages/@aws-accelerator/accelerator/lib/stacks/dependencies-stack/diagnostics-pack.ts:43:20)
153 | \_ new DiagnosticsPack (/codebuild/output/src3479/src/s3/00/source/packages/@aws-accelerator/accelerator/lib/stacks/dependencies-stack/diagnostics-pack.ts:20:10)
154 | \_ new DependenciesStack (/codebuild/output/src3479/src/s3/00/source/packages/@aws-accelerator/accelerator/lib/stacks/dependencies-stack/dependencies-stack.ts:49:7)
155 | \_ createKeyDependencyStacks (/codebuild/output/src3479/src/s3/00/source/packages/@aws-accelerator/accelerator/utils/stack-utils.ts:621:29)
156 | \_ createMultiAccountMultiRegionStacks (/codebuild/output/src3479/src/s3/00/source/packages/@aws-accelerator/accelerator/bin/app.ts:161:32)
157 | \_ main (/codebuild/output/src3479/src/s3/00/source/packages/@aws-accelerator/accelerator/bin/app.ts:243:5)
158 | \_ processTicksAndRejections (node:internal/process/task_queues:96:5)
159 | \_ async /codebuild/output/src3479/src/s3/00/source/packages/@aws-accelerator/accelerator/bin/app.ts:251:5
160 | AWSAccelerator-DependenciesStack-540580036166-us-east-1 \| 1/5 \| 2:26:22 PM \| UPDATE_ROLLBACK_IN_P \| AWS::CloudFormation::Stack \| AWSAccelerator-DependenciesStack-540580036166-us-east-1 The following resource(s) failed to create: [DiagnosticsPackAssumeRole98643D9F].

Expected behavior
With EnableDiagnosticsPack set to 'Yes' in the installer template, the aws-accelerator-pipeline pipeline should pass and create the following IAM role AWSAccelerator-DiagnosticsPackAccessRole in all accounts. This IAM role would have the correct ARN in the trust policy that references the qualifier used in the parameters e.g.
Correct:
arn:aws:iam::<account_id>:role/<AcceleratorQualifier>-DiagnosticsPackLambdaRole
Incorrect:
arn:aws:iam::<account_id>:role/<AcceleratorPrefix>-DiagnosticsPackLambdaRole
Please complete the following information about the solution:

[x] Version: v1.6.2

To get the version of the solution, you can look at the description of the created AWS CloudFormation stack used to install the LZA (AWSAccelerator-InstallerStack). For example, "(SO0199) Landing Zone Accelerator on AWS. Version 1.5.1.". If the description does not contain the version information, you can look at the Parameters of the stack for the RepositoryBranchName as that should contain the version number.

[x] Region: us-east-1
[x] Was the solution modified from the version published on this repository? No.
[x] If the answer to the previous question was yes, are the changes available on GitHub?
[x] Have you checked your service quotas for the services this solution uses? Yes.
[x] Were there any errors in the CloudWatch Logs? No.

Screenshots

Additional context
If you set the qualifier to any value other than aws-accelerator this will work as expected

Hi @SennaSemakula , thanks for reaching out to the Landing Zone Accelerator team.
Thank you for the detailed write-up, I have observed this behavior in my environment as well. The team has implemented a fix that will be included in our next major release, I'll keep the issue open until it is available.
In the meantime, you can workaround this behavior with the following steps:

Update the AWSAccelerator-InstallerStack and set the parameter EnableDiagnosticsPack to no.
Manually create an IAM role named AWSAccelerator-DiagnosticsPackLambdaRole in the pipeline account.
a. Note - the attached policies do not have to match the other DiagnosticsPack role, a role with that name simply has to exist.
Rerun the installer pipeline.

Thank you for raising this issue and supporting the Landing Zone Accelerator!

Hi @SennaSemakula , I can't make promises since I don't know the full details of your environment, but I did not experience that in my environment using v1.6.2.
You can also try manually creating the role without changing the EnableDiagnosticsPack parameter first, then retrying the failing pipeline stage. I did both, but based on your error message you may only need a role with that name to exist in order to move forward.

No problem! Unfortunately I cannot provide a specific timeline for future releases.
Thank you for your support and interest of the LZA solution! I will leave this issue open should you have any follow-ups for the team, and we will update you when the feature becomes available.

workaround worked for me, thanks @erwaxler
note:

a very straight forward 1.6.3 deployment -with Diagnostics Pack disabled- failed for me.
I had to disable termination protection on AWSAccelerator-DependenciesStack on both audit and logArchive accounts for the workaround to work.

Hi @SennaSemakula , this has been included in our v1.7.0 release so I will be closing this issue. Thanks for supporting the Landing Zone Accelerator!


No And/or in tests for new variables

@BenRQ i noticed unexpected behavior in making a new test: No  AND is added inbetween test variables.

I think this happens when you add a second test variable which is NEW (not selected from the list)
if you add a vaiable that already exists.. it DOES add an AND

Originally posted by @antontimmermans in https://github.com/NPBruce/valkyrie/issues/934#issuecomment-466650438

Fixed


state

I see
"first draft" and "initial commit" commits (and only three commits so far)
it's not that I don't think a plugin can't be good without many commits
but before I'll start renaming files in my directories I wanted to ask about the state of the project
should everything already be fully working? or are there still some wip things?

It appears that this plugin is still in the making. There are some bugs that I have noticed but I am confident they will be smoothed out soon such as:

the Oil buffer being unmodifiable after a file operation
canceling the modification of a file does not return the file's original state to the buffer(i.e. deleting a file, canceling the operation, and the file is gone from the buffer)

you should open issues for those bugs

Yeah, I think I should, but I feel like @stevearc probably has patches for these bugs just ready to push. I will take your suggestion.

@max397574 that's a fair concern. I actually have been working on this for some time privately and had about 150 commits that I squashed before doing the public release. I know some people prefer to see the whole history of how things developed, but I find that I feel more free to experiment in a quick and hacky way if I know that only the final product will be visible. To answer your question: all features should be fully formed and ready for use. The only WIP feature is completely undocumented and you won't be able to find or use it without reading the code. That said, the concern you have about doing destructive file manipulation is fair and merited, as this plugin is more complex than the alternatives and therefore there are more ways for it to fail. This is the main reason why the default config displays the preview window before performing any file operations. See my answer to #1 for a bit more color on that subject.
@UnrealApex always happy to get bug reports! The more detail the better. I see you've already filed one for the first thing you mentioned, but go ahead and open an issue or discussion for the second as well. I think that it's intended behavior, but I'll need some clarification first.


Alexey contact info

@YAYAYru how can I get in touch with you? I am working on a problem in a similar space, would like to connect with you sometime.

@YAYAYru how can I get in touch with you? I am working on a problem in a similar space, would like to connect with you sometime.

@YAYAYru or +79061930986 telegram.


Incorrect RPS reported in statistics and graphs (distributed mode)

Prerequisites

[X] I am using the latest version of Locust
[X] I am reporting a bug, not asking a question

Description
The test is executed across 17 machines with a total of 170 workers.
I've done this in the past and the RPS Chart was accurate (I think locust was on 1.x.x back then).
All the servers including the master have the version 2.27.0.
For context, the chart shows a maximum of 14.000 RPS, however the real time reporting tools in the webserver that is receiving all the traffic (and it is only receiving locust trafic) reports 100.000 to 200.000 RPS during the test (a varnish instance, checking it with varnishstat).
I also confirm that it is true with the logs, I truncate them before each test and locust is sending all the requests but it's not reporting the RPS correctly.
EDIT: RPS is shown wrong both in the chart and in the statistics (web or terminal)
Command line
locust -f $FILE --master --master-bind-port 5557 --host "https://" -u 80000 -r 30 --tags hit300
Locustfile contents
from locust import HttpUser, task, tag
from locust.contrib.fasthttp import FastHttpUser

TEST300 = "/test-300"  # 300 bytes
TEST1K = "/test-1k"  # 1024 bytes
TEST1M = "/test-1M"  # 1M bytes
TEST10M = "/test-10M"  # 10M bytes

HEADERS = {"X-Forwarded-Proto": "https", "Accept-Encoding": "none", "test": "locust"}
HEADERS.update(
    {"Host": "www.somedomain.com"}
)

class QuickstartUser(FastHttpUser):
    @tag("hit300")
    @task
    def hitsl(self):
        self.client.get(TEST300, headers=HEADERS)

    @tag("hit1k")
    @task
    def hitsl1(self):
        self.client.get(TEST1K, headers=HEADERS)

    @tag("hit1M")
    @task
    def hitsl1m(self):
        self.client.get(TEST1M, headers=HEADERS)

    @tag("hit10M")
    @task
    def hitsl10m(self):
        self.client.get(TEST10M, headers=HEADERS)

Python version
3.12.1
Locust version
2.27.0
Operating system
Debian 12

Hi!

Is it possible that the requests don't actually finish? Locust only counts finished requests.
Is the problem present at lower load?
Is the problem present with both HttpUser and FastHttpUser?

Oh and one more thing: is it only the graphs or also the command line output? (either run --headless or add --print-stats)

If requests never finish (and dont time out either), then they are not logged in Locust at all.
You may want to reduce the timeout (using FastHttpUser.network_timeout and .connection_timeout, default is 60 seconds) and see if that makes a difference.
You can also add --stop-timeout argument to allow locust to gracefully exit when shuttning down (this could make it even more obvious if something has gone wrong and it is stuck somehow).

Also, can you share some log (from master and worker).

Sure, I'll share some logs tomorrow.
I'll also review the logs and documentation tomorrow. In the meantime, I have a couple of questions:

For the timeouts, can I set them as class attributes as shown below?

class LoadTest(FastHttpUser):
    connection_timeout = 5
    network_timeout = 10

To run the tests completely headless, can I setup the master in a way that the test isn't started until X workers are attached?

Yes!

Yes, use the --expect-workers  for that!

Hi!
I've trying to reproduce it with 1 or 2 servers without success.
It only happens when I increase significantly the number of worker servers and the overall RPS is higher.
I'm attaching the logs from the following test, I tried not to trigger cpu warnings on any worker:

18 nodes with the worker role
master params: -u 10000 -r 10 --run-time 45s --expect-workers 360 --stop-timeout 3
same original locust file, with FastHttpUser, connection_timeout = 5 and network_timeout = 10

peak RPS seen on the target server = ~80000
peak RPS on locust                 = ~7920.7
total requests on locust           = 1820750
total requests on the server log   = ~2007200

test_start    =<PHONE_NUMBER>
test_end      =<PHONE_NUMBER>
runtime       = 42s
"average" rps = 1820750 / 42 = 43351

locust_test.tar.gz
This is with a logging level of INFO, I could do an identical test in DEBUG level and share it if it doesn't contain sensitive data (or just remove it first).

Hi! I dont see anything strange in your logs. Try setting DEBUG log level. If the log is overwhelming try reducing the number of workers. Could it possibly be that workers dont properly report the last requests (they should, but there could be a bug or something).
Another thing you might try is installing locust-plugins and using its iteration limit (-i) and see if the numbers match then (https://github.com/SvenskaSpel/locust-plugins/blob/507ff46808d2945f2eea6ed46aa2d69117159ede/examples/cmd_line_examples.sh#L10).
It shouldnt be needed of course, but might narrow down where the problem originates from.

I enabled DEBUG log level and "reproduced" it again, but I don't see anything wrong in the logs.
I also tried to reproduce it without success locally with a dummy go http server and 18 workers as docker replicas. This test had a peak of 32k RPS and all the numbers matched.
I cannot do many more tests on the real environment, I'm inclined to think that it's related to the network.
Is there a way to "cooldown" the test? For example increase the users for the first X seconds and then decrease them until 0 before ending the run.

You can use a load shape https://docs.locust.io/en/latest/custom-load-shape.html#custom-load-shapes
But --stop-timeout should have been enough (you ran with that when the logs were generated, right?). With that setting, either users should finish their tasks or there would be an error message, saying they had to be interrupted.

Ok, I think I found out what was happening and it's not locust fault.
I was checking how the stats are computed: https://github.com/locustio/locust/blob/58515c41e2a07d3aa55772c5cb2b88bbbdf75057/locust/stats.py#L313-L314
And messing up with this locust file on the docker environment to see how the stats reporting worked:
import json
import logging
import time
from collections import Counter
from pathlib import Path

from locust import FastHttpUser, events, task

logger = logging.getLogger(__name__)

reports = Counter()

@events.report_to_master.add_listener
def on_report_to_master(client_id, data, **_):
    reports[client_id] += 1
    data["report_timestamp"] = time.time()
    data["report_num"] = reports[client_id]

@events.worker_report.add_listener
def on_worker_report(client_id, data, **_):
    out = Path(f"/mnt/locust/logs/{data['report_num']}_{client_id}.json")
    out.write_text(json.dumps(data))

@events.quit.add_listener
def on_quit(**_):
    for k, v in reports.items():
        out = Path(f"/mnt/locust/logs/{k}.reports")
        out.write_text(str(v))

class MyUser(FastHttpUser):
    connection_timeout = 5
    network_timeout = 10

    @task
    def hit_webserver(self):
        self.client.get("/")

Since each worker sends the RPS stored in a dict with the timestamp as the key, and the timestamp comes from each worker server date, I checked the date on all 18 servers. I found that 4 of them had an offset of more than 1-2 seconds, with one server being 160 seconds behind!
If this is the case, in theory we should be able to reproduce it in a docker environment using https://github.com/wolfcw/libfaketime, setting an offset for each worker and overriding the date before reporting. I'm not sure if something like this would work.
I've now synced all the servers and ran a couple of tests that previously reported incorrect RPS and I now the numbers seem to match. Does it make sense to you? If it does feel free to close this.
Thank you.

There used to be a feature that detected time difference between master and worker, but it had to be disabled (4+ years ago) due to false positives. I’ll have a look at reintroducing it!


Update to Flyway 5.0.7

This should be trivial as the packaging hasn't changed at all.

Released v7.2.0 that included flyway 5.0.7


Empty environment variable is unset in Container App

This issue is a:

[x] bug report -> please search issues before submitting
[ ] documentation issue or request
[ ] regression (a behavior that used to work and stopped in a new release)

Issue description
When deploying an app, I passed one of my environment variables with an empty value (""). However it the application it seems that the variable was not visible at all, and by checking with az containerapp show the value is seen as nil (I think - I don't have it by me right now). These are however distinct cases; see for example the behavior of python's os.environ["MYVAR"] which correctly sets the variable to empty string if it is empty, but raises an exception when it is not set at all.
Steps to reproduct

Use the yaml file with the env variable set to empty string
az containerapp update ...

Expected behavior
Variable is found as empty.
Actual behavior
Variable is seen as unset.

Backlog work item: # 17760693

We have this fixed now! Closing.


Terminal does not like UTF8

VSCode Version: Code 1.19.0 (816be6780ca8bd0ab80314e11478c48c70d09383, 2017-12-14T09:56:48.842Z)
OS Version: Linux x64 4.9.0-4-amd64
Extensions:

Extension
Author (truncated)
Version

vscode-docker
Pet
0.0.22

vscode-intelephense-client
bme
0.8.2

ayu
tea
0.10.0

(2 theme extensions excluded)

Steps to Reproduce:

Copy and paste some utf8 in terminal (trying to type ctl+shift + u[CODEPOINT] doesnt work)
Hold arrow keys repeatedly left then right over text.

Reproduces without extensions: Yes/No

Can you paste in the 'tect' text to the issue that's causing the problem

тест

Interestingly this works just fine on macOS, I wonder if this is your shell misbehaving or not having the right config? Which distro/version are you using? Also could you share the output of echo $LANG

I'm on Debian 9 VSCode 1.19.1 with default shell config. A native terminal works fine, the $LANG value has a different locale than the integrated one -- en_AU.UTF-8 on native, en_US.UTF-8 on integrated.

I'd expect en_US.UTF-8 to work as that's what most terminals have. It works fine for me on Ubuntu 17.10 as well. Note that I'm testing with just echo 'тест' as I don't have PHP installed.


Bug: Database dont work but password is right

What happened?
Hey.
It says "unable to connect to database"
But the connection is right it works on other systems too.
I use the following structure<EMAIL_ADDRESS>Version
latest (ghcr.io/diced/zipline or ghcr.io/diced/zipline:latest)
What browser(s) are you seeing the problem on?
No response
Zipline Logs
2023-12-07 05:37:08,934 PM info  [datasource] using Local(/root/zipline/uploads) datasource
2023-12-07 05:37:08,976 PM info  [database::migrations] establishing database connection
2023-12-07 05:37:08,977 PM info  [database::migrations] ensuring database exists, if not creating database - may error if no permissions
2023-12-07 05:37:14,058 PM error [database::migrations] Unable to connect to database<EMAIL_ADDRESS>check your database connection

Browser Logs
NO

Additional Info
No response

Honestly have no idea what the problem is... Are you still having this issue, if so please try creating a new user or something like that.

Closing as stale, this issue seems to be a rare exception anyway.


Write a PHP program to find area of a right angled triangle

Description
Write a PHP program to find area of a right angled triangle
Area of right angled triangle = 0.5 × Base × Height
Base   : 2
Height : 3

Area : 3

How to contribute

Save the solution in find_area_of_a_right_angled_triangle.php file
Add find_area_of_a_right_angled_triangle.php file in find-area-of-a-right-angled-triangle folder

!assign


[Event Request] codeunit 550 "VAT Rate Change Conversion" - OnBeforeUpdatePurchase

Please add additional parameter to the event OnBeforeUpdatePurchase:
IsHandled := false;
OnBeforeUpdatePurchase(PurchaseHeader, VATRateChangeSetup, IsHandled);
if IsHandled then
    exit;

[IntegrationEvent(false, false)]
local procedure OnBeforeUpdatePurchase(var PurchaseHeader: Record "Purchase Header"; var VATRateChangeSetup: Record "VAT Rate Change Setup"; var IsHandled: Boolean)
begin
end;

Thanks for reporting this. We agree, and we’ll publish a fix asap, either in an update for the current version or in the next major release. Please do not reply to this, as we do not monitor closed issues. If you have follow-up questions or requests, please create a new issue where you reference this one.
Build ID: 47182.


Pass query string when redirecting, fixes #2595

Took a stab at fixing #2595, not worked with flask before but this seems to do the trick.

Looks great! I'll get it tested locally and then merged in :)

This file should also be removed, as should probably most anything under deploy/, it's no longer used. The correct version is a private repository now.

The correct version is a private repository now.

Do we still need this fix in the private repo version or it was already fixed?

Nope. Still needs to be fixed :(

OK, I copied the patch to that private repository you pointed me. Closing this PR, there is nothing else to do here.
Thanks for your contribution!

My first ever python contribution 🎉