AMQP-607: Don't Adjust Channel Cache Size

JIRA: https://jira.spring.io/browse/AMQP-607
Listener container channels are not cached (since AMQP-275).

M-m-m.

Listener container channels are not cached

I see this code in the BlockingQueueConsumer:
this.resourceHolder = ConnectionFactoryUtils.getTransactionalResourceHolder(this.connectionFactory, this.transactional);
this.channel = this.resourceHolder.getChannel();

And further I jump through several code circles into the CachedChannelInvocationHandler:
else if (methodName.equals("close")) {
	// Handle close method: don't pass the call on.
	if (CachingConnectionFactory.this.active) {
			synchronized (this.channelList) {
				if (!RabbitUtils.isPhysicalCloseRequired() &&
						(this.channelList.size() < getChannelCacheSize()
								|| this.channelList.contains(proxy))) {
						releasePermitIfNecessary(proxy);
						logicalClose((ChannelProxy) proxy);
						return null;
					}
				}
			}

			// If we get here, we're supposed to shut down.
			physicalClose();
			releasePermitIfNecessary(proxy);
			return null;
}

Where I see that according to the  AMQP-275 fix we don't place BlockingQueueConsumer's channel into the channelList but just physicalClose(); close it.
Now pay attention to the next releasePermitIfNecessary(proxy).
Since you have answered that container's channels are long-lived it looks like checkoutPermits together with the channelCheckoutTimeout is a bottleneck in case of SMLC.
Correct me if I am missing anything.

I am not sure what you are saying - yes, the consumer channels count against the channel limit (when enabled), but they are never cached, just closed (and permit released).
This logic (adjusting the cache size) never made any sense to me, even before AMQP-275 - it doesn't take account of the fact that there might be multiple containers.

Yes-yes, that is my point here as well.

multiple containers

Regarding channelCheckoutTimeout. Do you find it is OK to protect against the limit even if we are containers? Typically the channel lives in the container together with the application. So, if I have enough containers with their concurrency, we may end up that one of them can't start because of channel limit on the CF. Which really make sense only for the short living RabbitTemplate's channels.
Finally I'll end up only with the workaround with two distinct CFs - for long-living without limits for containers and short-living with cache limit for templates.
Is that more clear for you now ?
And yes, I'm fine with the fix and even ready to merge.
We can move that discussion to separate JIRA, if that...

I don't think we need to complicate the connection factory any more than it already is - the fact that the consumer channels are not actually put into the cache is not relevant (remember, with the recent change, the proxy is always put in the cache, just the underlying channel is closed). A "user" checks out a channel and, via RabbitUtils, signals whether the channel should be physically closed. The connection factory does not need to be directly aware of the user type.
Feel free to open a JIRA against 2.0 and we can revisit - you've already expressed some interest in reworking the caching mechanism to use a pool of some sort and maybe separate out channel caching Vs. connection caching.

Done: https://jira.spring.io/browse/AMQP-608.
Merging after rebase...

Merged as https://github.com/spring-projects/spring-amqp/commit/965195cda9bd1d52b5f1ae089baef0e2069396f9


Add random errors in AdService

Generate random errors that exercise error handling login in the AdService.  Currently, the error handling logic which adds an event and sets the span status isn't reachable, as far as I can tell.

I agree with @mviitane, if we want to add errors to AdService we should add it behind a FeatureFlag as we have for other services.
Don't get me wrong @jack-berg I think the PR is valid and it adds a scenario to the demo.
We just need to make it possible to enable/disable the errors from the FeatureFlagService.
You can either add this to the current PR, or if you prefer, we can close this one and you can send a new PR with the implementation.
Here is an example of how that is handled in the ProductCatalogService: https://github.com/open-telemetry/opentelemetry-demo/blob/main/src/productcatalogservice/main.go#L207

Adding this as a feature flag sounds reasonable to me. I tried to make progress on this today but was having some trouble running the featureflagservice locally, so I'm blocked for the moment.

@jack-berg the featureflagservice was fixed yesterday 🥳
You should be able to build it locally now.


Cache All Option?

If you have plenty of components it's hard to keep track of everything, and It seems to me that you can actually cache everything with a template type of cache and it should work or I'm missing something?
Thanks

@voidale,
Potentially yes, if the components are all pure view without any logic in them. For example, lets say you have a component where you use different css class based on the value of a prop (lets call it score). Then the score has to be part of the cacheKey for the template. So that you cache different templates based on the score.
On the other hand if you map score to a cssClass in redux or elsewhere and are simply passing that to the component then yes you are right. But what we have seen is there is always going to be some sort of 'view' logic based on property values hence the need for explicit declaration for which attributes are part of key and which ones are part of template.
Regarding keeping track of everything, one idea we have been pondering was should we make the 'key' and template attributes as members of the component itself so that you don't have to manage them independently but we haven't had a need yet.


FreeRDP bitmap_decompress 1.1 transition to 2.0

Hi, im trying to understand how to perform bitmap_decompress when transitioning from freerdp 1.0/1.1 where bitmap_decode.h existed to freerdp 2.0
Thanks :)

Please use mailing list or irc for questions


Improvements to warnings introduced in 0.12

This allows disabling "missing lombok dependency" check completely for the entire project.
Additionally fixes issues with "disabled defaults" that are returning "enabled" state unless overwritten already.
This does not solve the issue of the check not being smart enough to understand parent POM projects etc, but those with proper configuration can simply disable missing dependency check altogether.

Seems like the "LATEST-TRUNK-SNAPSHOT" is currently breaking the generation of lexer things.
Should not be caused by this PR.

[Current coverage][cc-pull] is 61.98% (diff: 0.00%)

Merging [#266][cc-pull] into [master][cc-base-branch] will decrease coverage by 0.03%

@@             master       #266   diff @@
==========================================
  Files           163        163
  Lines          4803       4806     +3
  Methods           0          0
  Messages          0          0
  Branches       1267       1268     +1
==========================================
  Hits           2979       2979
- Misses         1356       1359     +3
  Partials        468        468

Powered by Codecov. Last update [81c05a6...ece0f49][cc-compare]
[cc-base-branch]: https://codecov.io/gh/mplushnikov/lombok-intellij-plugin/branch/master?src=pr
[cc-compare]: https://codecov.io/gh/mplushnikov/lombok-intellij-plugin/compare/81c05a6f5ab2c3cf9293b329b52dd2ad9dc6a218...ece0f4942db6655898f19d4ed406a88014fe49e3?src=pr
[cc-pull]: https://codecov.io/gh/mplushnikov/lombok-intellij-plugin/pull/266?src=pr

Thank you Alexej!


FTP Server issue with android.

When I start the server and test it using filezilla, it gives me error.

I copy the code in the "example" to test it out first before using it in my application. (I use real device for testing)

I didn't give filezila a try and looks like it's using an extension I didn't add, will check it and let you know

you are using filezila on windows right?
since i just tested on macos and it works correctly, so i need to have the same setup as you

macos to macos filezila works
macos to windows filezila works
android to windows filezila doesnt work (but because of a different error than the one you mentioned )
so i think it has something to do with username or password did it have any weird chars? like ones that outside of utf8?

I didn't put any username or password since this is for testing. Thank you!

i fixed all of the problems related to filezila, but your problem didnt happen to me, so i added more details about the log of the error
check with the last version ftp_server: ^1.0.3

Hi! Thanks already tested it and it works. 🙌🏻


When is Predictions available in v2.

I apologise in advance, if this has been posted already, but I haven't been able to find hints regarding the inclusion of Predictions in v2.
I checked the upgrade guide, but it only says that there currently is no upgrade plan.
So my question is whether the inclusion of Predictions is planned? Will v1 be usable, i.e. maintained, until it is?
Thank you!

Predictions will be included in v2, it's currently being actively worked on.
The service level for v1 as a whole hasn't changed, it will still be maintained at the same level as it has been. If that should change in the future, we'll make an announcement.

Thanks very much for your answer. Predictions has been working really well for me and I look forward to the update.


ONFRONT-2 Set up as Monorepo

This pull request introduces a series of foundational changes to transition our project into a well-organized monorepo using pnpm. These changes are designed to improve the modularity of our codebase, streamline dependency management, and enhance the overall development workflow.
Key Changes:

Refactor of Project Structure: Moved the frontend and CLI tools into the /packages directory to align with monorepo best practices. This change consolidates our project assets and simplifies navigation within the repository.

Monorepo Configuration: Introduced a package configuration dedicated to supporting the monorepo setup. This includes a pnpm-workspace.yaml file that defines workspace packages and facilitates dependency management across them.

Dependency Management Enhancements:

Removed CLI-specific dependencies from the framework package, and vice versa, to decouple these tools and ensure that they can be developed and versioned independently.
Fixed inconsistencies in package names and versions, ensuring that our project adheres to semantic versioning and correct naming conventions.

pnpm Workspace Utilization:

Added pnpm workspace configuration to leverage pnpm's powerful features for monorepo management. This configuration optimizes dependency installation and linking across our packages.
Introduced utility scripts within the package.json to manage the monorepo workspace more effectively. These scripts include commands for cleaning, building, testing, and publishing packages within our monorepo.

Impact:
These changes mark a significant step forward in our project's development infrastructure. By adopting a monorepo structure and refining our dependency management strategy, we're setting the stage for more efficient and scalable project growth. The introduction of pnpm workspace configuration and utility scripts further enhances our ability to manage multiple packages cohesively.

https://ontariodigital.atlassian.net/browse/ONFRONT-2?atlOrigin=eyJpIjoiZWQ4YjcyZDdlOWU5NDJkYmE1NWE1NWFmZTM5MzE4OWYiLCJwIjoiaiJ9

LGTM:

the file structure is good
I linked the local ontario-frontend-cli package and its creating a new project and serving it
pnpm list -r displays all the dependencies of the monorepo
new projects are lightweight with only three dependencies, 11ty, the ontarioca-toolkit-core, the ontario-frontend (which I need to symlink locally from a new project using npm link ontario-frontend).

@syed-ods Are you running create-ontario-app --local with the --local flag when you're working locally? If you're leaving that out, then it would be trying to install via npm which will fail right now because our new packages are not on npm yet.


maxZoom null throws error

Setting maxZoom to null for unlimited zooming throws error when I double tap on image for zooming due to calling toFixed on null.
Error as shown below:

Found reference to #19 .
Might need to update the documentation ~~


Date range picker and manual date entering

When you enter a date manually with keyboard in a date range picker the value of the other picker gets updated immediately which leads to unintended effects.
E.g. given a range picker with the following dates
15/01/2015 - 17/01/2016
If you edit the year of the end date and delete the last number, it automatically sets the start date to the year of 201, so the date range becomes
15/01/201 - 17/01/201
Fixing the end date does not fix the start date, so you end up with
15/01/201 - 17/01/2015
The js fiddle can be found here https://jsfiddle.net/ayszdoo1/
Is there any way to prevent this behaviour? Maybe debounce the update logic or something like that?

you could prevent this by removing these lines of code:
		else if (dates.length){
			// setting date by typing
			if (String(oldDates) !== String(this.dates))
				this._trigger('changeDate');
		}

there should be an option to prevent this behavior

if you want this, please either provide a PR or use the new reactions feature. Comments like +1, "i want this" etc. doesn't speed up development.

I have solved this by commenting out this code on lines 1650-1660.
		if (new_date < this.dates[j]){
			// Date being moved earlier/left
			while (j >= 0 && new_date < this.dates[j]){
				this.pickers[j--].setUTCDate(new_date);
			}
		}
		else if (new_date > this.dates[k]){
			// Date being moved later/right
			while (k < l && new_date > this.dates[k]){
				this.pickers[k++].setUTCDate(new_date);
			}

The solution proposed above was unsatisfactory, because it suppresses changeDate events.

This is a duplicate of #721. A workaround is provided there.

This looks related to https://github.com/eternicode/bootstrap-datepicker/issues/1837

as @samiraguiar said, there's a solution without modifying the code, see  https://github.com/eternicode/bootstrap-datepicker/issues/721#issuecomment-86275874

PR #1891 is ongoing, hopefully be soon pushed in 1.7.0.

I opened a new issue, but seems this is the same. Is this fixed in the latest version ?


missing libwebsockets dependency?

On Ubuntu 22.04 I tried running the quickstart example and the C++ compilation immediately failed due to a missing libwebsockets  library.
To reproduce on Ubuntu 22.04:

sudo apt install python3 python3-pip verilator
pip3 install fusesoc
Follow quickstart instructions
Try fusesoc run --target=example vidbo

Observe compilation error due to missing libwebsockets.h.
Workaround: apt install libwebsockets-dev
Suggestion: Clarify as many dependencies as possible.

The quick start instructions says Make sure you have libwebsockets and verilator installed but does not describe how to install it because it varies between different platforms. On Gentoo I would use emerge libwebsockets and I guess it's something like apt intall libwebsockets-dev on Debian/Ubuntu. Feel free to send a PR with updated instructions if you like.

Ha you are correct - I must be blind. It is slightly confusing that there are multiple web socket libs on ubuntu, but the one you need is libwebsockets-dev as you note.


exception should not be thrown when checking blob.exists() on a non-existing blob

reproduce:
run gcsemulator emulator and point to localhost:4443
then run
STORAGE_EMULATOR_HOST='http://localhost:4443' python
from google.cloud import storage
client = storage.Client()
blob = storage.Blob.from_string('gs://mybucket/non-existing-file', client=client)
blob.exists()
error is
error_message = payload.get("error", {}).get("message", "unknown error")
errors = payload.get("error", {}).get("errors", ())
# In JSON, details are already formatted in developer-friendly way.
details = payload.get("error", {}).get("details", ())
error_info = list(
filter(

          lambda detail: detail.get("@type", "")

            == "type.googleapis.com/google.rpc.ErrorInfo",
            details,
        )
    )

E       TypeError: 'NoneType' object is not iterable
The reason is gcsemulator returns error message in this sample format, but details=None, it should not pass details
{'code': 404, 'message': 'XYZSUCCESS not found', 'details': None, 'Body': '', 'Header': None, 'Errors': None}

Hi @azuruce thanks for the report.  Can you paste the JSON the emulator currently returns, and the JSON you would have expected it to return?

hi, the response from gcsemulator is
{'code': 404, 'message': 'bucket/path/job_id/_SUCCESS not found', 'details': None, 'Body': '', 'Header': None, 'Errors': None}
the response from gcloud is
{'code': 404, 'message': 'No such object: bucket/path/job_id/_SUCCESS', 'errors': [{'message': 'No such object: bucket/path/job_id/_SUCCESS', 'domain': 'global', 'reason': 'notFound'}]}}
You just need to remve the details key for gcsemulator to work
{'code': 404, 'message': 'bucket/path/job_id/_SUCCESS not found', 'Body': '', 'Header': None, 'Errors': None}
fake-gcs-server returns a non-jsonable response, which is even worse.

@azuruce that can't be the actual original JSON coming over the write, None is from Python, not JSON.

        {
          "error": {
            "code": 404,
            "message": "The specified bucket does not exist.",
            "errors": [
              {
                "message": "The specified bucket does not exist.",
                "domain": "global",
                "reason": "notFound"
              }
            ]
          }
        }

Here's an example I pulled from raw_http_test of real GCS response.

{
  "error": {
    "code": 404,
    "message": "http error 404: fullstory-non-existant-bucket/gscemu-test-deletion.txt not found",
    "details": null,
    "Body": "",
    "Header": null,
    "Errors": null
  }
}

What we're doing.

hi, dragonsinth, the code the raise the exception is here. When details is set to null at line 493, the foreach will fail.
https://github.com/googleapis/python-api-core/blob/3c5e034fdd6f8a98d2fd9d4a927c58c202823767/google/api_core/exceptions.py#L498
Basically can you change output to
{
"error": {
"code": 404,
"message": "http error 404: fullstory-non-existant-bucket/gscemu-test-deletion.txt not found",
"Body": "",
"Header": null,
"Errors": null
}
}


Abstract sharding to smart contract developers

I have a concern about Ethereum sharding. Why is the goal not to abstract away the concept of sharding to the smart contract developer? Traditional database sharding is abstracted, so why not Ethereum sharding? Unnecessary complexity for the developers :(
I have not been deeply involved in the design of Ethereum sharding, perhaps there are some technical reasons for why this type of abstraction is not being pursued. But, one of the design goals specified in the README of this repository is "to minimize complexity, even at the cost of some losses in efficiency". Not abstracting the concept of shards to the developer is going to be a major source of complexity for the developer. I don't understand why this abstraction is not one of the major design goals, and I'd love some elaboration.
Thanks!

So, apparently this idea is known as "transparent shards". Is that true? So it is something people have thought about, but no one has figured out how to do it yet? Is it being planned for a future "Ethereum 3.0"? All this from this Tweet: https://twitter.com/cdetrio/status/1093590129220956161

You could take a look at the work of Vlad Zamfir if you're into load-balancing and cross-shard interactions. The current rationale is to keep things simple, as it is already complicated enough to implement sharding and POS. And abstractions for cross-shard interactions can still emerge on a simple protocol design. Take ERC-20 as an example, Ethereum just had to provide the lower ability to implement contracts, and people implemented their own currencies.

@lastmjs If the above answer is sufficient, can you close the answer?

Transparent shards is definitely an interesting idea, maybe for Ethereum 3.0 :) I'll close this issue and nudge the discussion towards ethresear.ch 👍


Rewrite HTML parser to use unified based parser

jsx-slack is using turndown to generate mrkdwn string from HTML-style JSX. However, it makes the bundled code by node-targeted webpack very huge.
For example, it unexpectedly takes 2.7MiB even if a simple entry point was bundled for production in node-targeted webpack:
import JSXSlack, { Blocks, Section } from "@speee-js/jsx-slack";

console.log(
  JSXSlack(
    <Blocks>

Hello, world!

    </Blocks>
  )
);

# Turndown parser
Hash: 51fa2ccdc1a7929a63bf
Version: webpack 4.41.6
Time: 4294ms
Built at: 2020-02-12 13:19:22
    Asset     Size  Chunks             Chunk Names
bundle.js  2.7 MiB       0  [emitted]  main

The most of bundle are JSDOM, the headless browser implementation for Node. So I got rid of turndown, and re-wrote new HTML parser based on unified ecosystem: rehype and remark. A final bundle size will be 134KiB, one-twentieth of v1!
# unified-based parser
Hash: 1b9261dd0221889e2ed2
Version: webpack 4.41.6
Time: 4586ms
Built at: 2020-02-12 13:23:31
    Asset     Size  Chunks             Chunk Names
bundle.js  134 KiB       0  [emitted]  main

I've created the parser with following a lot of exist test cases, but the parser may generate a different mrkdwn from turndown parser. I supposed some changes are valuable for user (e.g. distributing the parent link into child block elements) but it may break message created by jsx-slack <= v1.
We will provide the escape hatch for legacy parser. By calling legacyParser() at first, you can keep using turndown parser.
import JSXSlack, { Blocks, Section, legacyParser } from "@speee-js/jsx-slack";

// Enable legacy parser (based on turndown)
legacyParser()

JSXSlack(
  // ...
)

Compare bundled node_modules size
Legacy parser (legacyParser()): 4.73MB

New parser: 209.81KB


Radar Plot strange visual behaviour in case of zero (0) values only

There is a strange visual behaviour of Radar Plot in case of zero (0) values only at certain axe:
all the other (with non zero valus) axes ok, but infinity at the axe with zero value(s) only:
see. picture: 'Wa' axe with zero values only.

Is there any way / workaround to eliminate it ?
Thanks in advance,
Grat. for your nice lib !
Best Regards,
Peter

sorry: correctly: axe  => axis

Radar plots are normalized, and if you don't specify a maximum they will use the maximum in the given data (or the max in each axis if you enabled a certain option). If The maximum is zero then they will divide by zero, which does not give good results.
The solution is to use the maxValues parameter in the constructor. If independentAxes is true you need to specify one maximum for each axis, otherwise you specify only one. You could also disable independentAxes, so that it uses the max from all axes, which is non-zero.

Dear bclehmann,
First of all : thanks for your quick reply and kind explanation (divide by zero problem).
Background (use case / requirement): we need independentAxes  and normalized for each axes independently.
Actually:
we precalculate max values and use it in constructor:
var radar = WpfScottPlot.Plot.AddRadar(values, independentAxes: true, maxValues: maxValues);
But -as datas generated dinamically- sometimes  happens: at certain axis: all values zeros ..
So, what do you think to avoid above mentioned problem?:
with post processing: leave all zero values as is and put some arbitrary value to max  ( e.g. 1) value to problematic axis ?
best regards,
Péter

with post processing: leave all zero values as is and put some arbitrary value to max ( e.g. 1) value to problematic axis ?

That sounds like the best option, if you're already setting the maxValues it shouldn't require much reworking. I think if the max on an axis is zero than the correct thing to do is map all points on that axis to zero, which is what your solution does.

Hi @petersesztak, I'm having a hard time recreating this issue. Do you or @bclehmann have suggestions for how I can best demonstrate the problem?
Placing a zero in maxValues seems to cause an error, but I'm not sure if it's the same error as in the original post.
var plt = new ScottPlot.Plot(400, 300);

double[,] values = {
    { 78,  83, 84, 76, 43 },
    { 100, 50, 70, 60, 90 }
};

double[] maxValues = { 100, 100, 0, 100, 100 }; // <-- CONTAINS A ZERO

plt.AddRadar(values, independentAxes: true, maxValues: maxValues);

I get this if I slightly change values:

var plt = new ScottPlot.Plot(400, 300);

double[,] values = {
	{ 78,  83, 0, 76, 43 },
	{ 100, 50, 0, 60, 90 }
};

double[] maxValues = { 100, 100, 0, 100, 100 }; // <-- CONTAINS A ZERO

plt.AddRadar(values, independentAxes: true, maxValues: maxValues);

The original issue happened when everything on that axis was zero, thus the max on that axis is zero. I think you got different results because when the axes has non-zero members you get x/0 instead of 0/0. I suppose IEEE 754 (or C#'s implementation of it) treats undefined differently from indeterminate. I think x/0 is infinite, while 0/0 is NaN.
I don't know why those would be rendered differently from each other, but I guess they are.

I think it's fixed now... I added an if statement to detect if it's normalizing to zero and if so set that value to zero.
It's not technically "correct", but the original rendering was super not correct, so I think it's an improvement.
The alternative is to throw an exception, but that seemed a little harsh 🤔

before
after

var plt = new ScottPlot.Plot(400, 300);

double[,] values = {
    { 78,  83, 0, 76, 43 },
    { 100, 50, 0, 60, 90 }
};

double[] maxValues = { 100, 100, 0, 100, 100 };

plt.AddRadar(values, independentAxes: true, maxValues: maxValues);


[WIP][SPARK-35084][CORE] Spark 3: supporting "--packages" in  k8s cluster mode

What changes were proposed in this pull request?
Supporting '--packages' in the k8s cluster mode
Why are the changes needed?
In spark 3, '--packages' in the k8s cluster mode is not supported. I expected that managing dependencies by using packages like spark 2.
Spark 2.4.5
https://github.com/apache/spark/blob/v2.4.5/core/src/main/scala/org/apache/spark/deploy/SparkSubmit.scala
     if (!isMesosCluster && !isStandAloneCluster) {
      // Resolve maven dependencies if there are any and add classpath to jars. Add them to py-files
      // too for packages that include Python code
      val resolvedMavenCoordinates = DependencyUtils.resolveMavenDependencies(
        args.packagesExclusions, args.packages, args.repositories, args.ivyRepoPath,
        args.ivySettingsPath)

      if (!StringUtils.isBlank(resolvedMavenCoordinates)) {
        args.jars = mergeFileLists(args.jars, resolvedMavenCoordinates)
        if (args.isPython || isInternal(args.primaryResource)) {
          args.pyFiles = mergeFileLists(args.pyFiles, resolvedMavenCoordinates)
        }
      }

      // install any R packages that may have been passed through --jars or --packages.
      // Spark Packages may contain R source code inside the jar.
      if (args.isR && !StringUtils.isBlank(args.jars)) {
        RPackageUtils.checkAndBuildRPackage(args.jars, printStream, args.verbose)
      }
    }

Spark 3.0.2
https://github.com/apache/spark/blob/v3.0.2/core/src/main/scala/org/apache/spark/deploy/SparkSubmit.scala
       if (!StringUtils.isBlank(resolvedMavenCoordinates)) {
        // In K8s client mode, when in the driver, add resolved jars early as we might need
        // them at the submit time for artifact downloading.
        // For example we might use the dependencies for downloading
        // files from a Hadoop Compatible fs eg. S3. In this case the user might pass:
        // --packages com.amazonaws:aws-java-sdk:1.7.4:org.apache.hadoop:hadoop-aws:2.7.6
        if (isKubernetesClusterModeDriver) {
          val loader = getSubmitClassLoader(sparkConf)
          for (jar <- resolvedMavenCoordinates.split(",")) {
            addJarToClasspath(jar, loader)
          }
        } else if (isKubernetesCluster) {
          // We need this in K8s cluster mode so that we can upload local deps
          // via the k8s application, like in cluster mode driver
          childClasspath ++= resolvedMavenCoordinates.split(",")
        } else {
          args.jars = mergeFileLists(args.jars, resolvedMavenCoordinates)
          if (args.isPython || isInternal(args.primaryResource)) {
            args.pyFiles = mergeFileLists(args.pyFiles, resolvedMavenCoordinates)
          }
        }
      }

unlike spark2, in spark 3, jars are not added in any place.
Does this PR introduce any user-facing change?
Unlike spark 2, resolved jars are added not in cluster mode spark submit but in driver.
It's because in spark 3, the feature is added that is uploading jars with prefix "file://" to s3.
So, if resolved jars are added in spark submit, every jars from packages are uploading to s3! When I tested it, it is very bad experience to me.
How was this patch tested?
In my k8s environment, i tested the code.

@AhnLab-OSS

Can I see logs about failure of build and test?

Can one of the admins verify this patch?

Thank you for your contribution, @ocworld .

ok to test

Can I see logs about failure of build and test?

Apache Spark GitHub Action is running in your GitHub Account.

If you click the failure link, you can see the error log in your repo. The current failure occurs because your master branch is too outdate. Please follow the guideline to sync your master branch.

https://github.com/apache/spark/pull/32397/checks?check_run_id=2466811890

Unable to detect the workflow run for testing the changes in your PR.

If you did not enable GitHub Actions in your forked repository, please enable it. See also Disabling or limiting GitHub Actions for a repository for more details.
It is possible your branch is based on the old master branch in Apache Spark, please sync your branch to the latest master branch. For example as below:
git fetch upstream
git rebase upstream/master
git push origin YOUR_BRANCH --force

In addition, I also triggered Jenkins machine too. For those users, we have another test machine additionally.

Test build #138136 has started for PR 32397 at commit fe0a4b5.

Kubernetes integration test starting
URL: https://amplab.cs.berkeley.edu/jenkins/job/SparkPullRequestBuilder-K8s/42657/

Kubernetes integration test status failure
URL: https://amplab.cs.berkeley.edu/jenkins/job/SparkPullRequestBuilder-K8s/42657/

Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder-K8s/42657/

@dongjoon-hyun Thank you for your test and reply.
Though rebasing from upstream, checking build and test is failed now.
Jenkins build is also failed with logs.
Setting status of fe0a4b5625ffceaa6c81e9f63637214d08369642 to FAILURE with url https://amplab.cs.berkeley.edu/jenkins/job/SparkPullRequestBuilder-K8s/42657/ and message: 'Build finished. '
FileNotFoundException means that the credentials Jenkins is using is probably wrong. Or the user account does not have write access to the repo.
org.kohsuke.github.GHFileNotFoundException: https://api.github.com/repos/apache/spark/statuses/fe0a4b5625ffceaa6c81e9f63637214d08369642 {"message":"Not Found","documentation_url":"https://docs.github.com/rest/reference/repos#create-a-commit-status"}
	at org.kohsuke.github.GitHubClient.interpretApiError(GitHubClient.java:492)
	at org.kohsuke.github.GitHubClient.sendRequest(GitHubClient.java:420)
	at org.kohsuke.github.GitHubClient.sendRequest(GitHubClient.java:363)
	at org.kohsuke.github.Requester.fetch(Requester.java:74)
	at org.kohsuke.github.GHRepository.createCommitStatus(GHRepository.java:1906)
	at org.jenkinsci.plugins.ghprb.extensions.status.GhprbSimpleStatus.createCommitStatus(GhprbSimpleStatus.java:283)
	at org.jenkinsci.plugins.ghprb.extensions.status.GhprbSimpleStatus.onBuildComplete(GhprbSimpleStatus.java:241)
	at org.jenkinsci.plugins.ghprb.GhprbBuilds.onCompleted(GhprbBuilds.java:205)
	at org.jenkinsci.plugins.ghprb.GhprbBuildListener.onCompleted(GhprbBuildListener.java:28)
	at hudson.model.listeners.RunListener.fireCompleted(RunListener.java:209)
	at hudson.model.Run.execute(Run.java:1952)
	at hudson.model.FreeStyleBuild.run(FreeStyleBuild.java:43)
	at hudson.model.ResourceController.execute(ResourceController.java:97)
	at hudson.model.Executor.run(Executor.java:429)
Caused by: java.io.FileNotFoundException: https://api.github.com/repos/apache/spark/statuses/fe0a4b5625ffceaa6c81e9f63637214d08369642
	at sun.reflect.GeneratedConstructorAccessor1029.newInstance(Unknown Source)
	at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
	at java.lang.reflect.Constructor.newInstance(Constructor.java:423)
	at sun.net.www.protocol.http.HttpURLConnection$10.run(HttpURLConnection.java:1950)
	at sun.net.www.protocol.http.HttpURLConnection$10.run(HttpURLConnection.java:1945)
	at java.security.AccessController.doPrivileged(Native Method)
	at sun.net.www.protocol.http.HttpURLConnection.getChainedException(HttpURLConnection.java:1944)
	at sun.net.www.protocol.http.HttpURLConnection.getInputStream0(HttpURLConnection.java:1514)
	at sun.net.www.protocol.http.HttpURLConnection.getInputStream(HttpURLConnection.java:1498)
	at sun.net.www.protocol.https.HttpsURLConnectionImpl.getInputStream(HttpsURLConnectionImpl.java:268)
	at org.kohsuke.github.GitHubHttpUrlConnectionClient$HttpURLConnectionResponseInfo.bodyStream(GitHubHttpUrlConnectionClient.java:197)
	at org.kohsuke.github.GitHubResponse$ResponseInfo.getBodyAsString(GitHubResponse.java:326)
	at org.kohsuke.github.GitHubResponse.parseBody(GitHubResponse.java:91)
	at org.kohsuke.github.Requester.lambda$fetch$1(Requester.java:74)
	at org.kohsuke.github.GitHubClient.createResponse(GitHubClient.java:461)
	at org.kohsuke.github.GitHubClient.sendRequest(GitHubClient.java:412)
	... 12 more
Caused by: java.io.FileNotFoundException: https://api.github.com/repos/apache/spark/statuses/fe0a4b5625ffceaa6c81e9f63637214d08369642
	at sun.net.www.protocol.http.HttpURLConnection.getInputStream0(HttpURLConnection.java:1896)
	at sun.net.www.protocol.http.HttpURLConnection.getInputStream(HttpURLConnection.java:1498)
	at java.net.HttpURLConnection.getResponseCode(HttpURLConnection.java:480)
	at sun.net.www.protocol.https.HttpsURLConnectionImpl.getResponseCode(HttpsURLConnectionImpl.java:352)
	at org.kohsuke.github.GitHubHttpUrlConnectionClient.getResponseInfo(GitHubHttpUrlConnectionClient.java:69)
	at org.kohsuke.github.GitHubClient.sendRequest(GitHubClient.java:400)
	... 12 more

Test build #138137 has started for PR 32397 at commit 31783a6.

Test build #138136 has finished for PR 32397 at commit fe0a4b5.

This patch passes all tests.
This patch merges cleanly.
This patch adds no public classes.

Kubernetes integration test starting
URL: https://amplab.cs.berkeley.edu/jenkins/job/SparkPullRequestBuilder-K8s/42658/

Kubernetes integration test status failure
URL: https://amplab.cs.berkeley.edu/jenkins/job/SparkPullRequestBuilder-K8s/42658/

Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder-K8s/42658/

Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/138136/

Test build #138137 has finished for PR 32397 at commit 31783a6.

This patch passes all tests.
This patch merges cleanly.
This patch adds no public classes.

Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/138137/

@ocworld can you take a look https://github.com/apache/spark/pull/32397/checks?check_run_id=2484554770 and enable Github Actions in your forked repository?

@HyukjinKwon Github actions setting is enabled as allow all actions in my forked repository.

@HyukjinKwon

Can you rebase and force push in this PR to retrigger the build?

@HyukjinKwon I've already rebase and force push. So, now, everything is up-to-date.
After merging others' some pr, i'll retry it.

did you do something like https://github.com/apache/spark/pull/32400#issuecomment-831051189? The GitHub Actions should run the build in your forked repository but it seems not.

@HyukjinKwon Oh! you're right.  Workflow in actions tab was not activated. It is enabled now. Thank you.

Test build #138158 has started for PR 32397 at commit bc366a9.

Kubernetes integration test starting
URL: https://amplab.cs.berkeley.edu/jenkins/job/SparkPullRequestBuilder-K8s/42679/

Kubernetes integration test status failure
URL: https://amplab.cs.berkeley.edu/jenkins/job/SparkPullRequestBuilder-K8s/42679/

Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder-K8s/42679/

Test build #138158 has finished for PR 32397 at commit bc366a9.

This patch passes all tests.
This patch merges cleanly.
This patch adds no public classes.

Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/138158/

+CC @shardulm94, @xkrogen

Test build #139038 has started for PR 32397 at commit b47599f.

Kubernetes integration test starting
URL: https://amplab.cs.berkeley.edu/jenkins/job/SparkPullRequestBuilder-K8s/43556/

Kubernetes integration test status failure
URL: https://amplab.cs.berkeley.edu/jenkins/job/SparkPullRequestBuilder-K8s/43556/

Test build #139038 has finished for PR 32397 at commit b47599f.

This patch passes all tests.
This patch merges cleanly.
This patch adds no public classes.

Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/139038/

Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder-K8s/43556/

Test build #139060 has started for PR 32397 at commit 8815f7c.

Kubernetes integration test starting
URL: https://amplab.cs.berkeley.edu/jenkins/job/SparkPullRequestBuilder-K8s/43581/

Kubernetes integration test status failure
URL: https://amplab.cs.berkeley.edu/jenkins/job/SparkPullRequestBuilder-K8s/43581/

Test build #139060 has finished for PR 32397 at commit 8815f7c.

This patch passes all tests.
This patch merges cleanly.
This patch adds no public classes.

Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/139060/

Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder-K8s/43581/

Test build #139256 has started for PR 32397 at commit ee867e0.

Test build #139256 has finished for PR 32397 at commit ee867e0.

This patch fails to build.
This patch merges cleanly.
This patch adds no public classes.

Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/139256/

Kubernetes integration test starting
URL: https://amplab.cs.berkeley.edu/jenkins/job/SparkPullRequestBuilder-K8s/43778/

Kubernetes integration test status success
URL: https://amplab.cs.berkeley.edu/jenkins/job/SparkPullRequestBuilder-K8s/43778/

Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder-K8s/43778/

Test build #140123 has started for PR 32397 at commit e5d3e06.

Kubernetes integration test starting
URL: https://amplab.cs.berkeley.edu/jenkins/job/SparkPullRequestBuilder-K8s/44650/

Kubernetes integration test status failure
URL: https://amplab.cs.berkeley.edu/jenkins/job/SparkPullRequestBuilder-K8s/44650/

Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder-K8s/44650/

Test build #140123 has finished for PR 32397 at commit e5d3e06.

This patch fails PySpark unit tests.
This patch merges cleanly.
This patch adds no public classes.

Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/140123/

So I'm a little confused about the intention of the PR. If we have a package that we want to resolve in cluster mode we probably do need to put it on compatible filesystem so the workers can fetch the JARs. It's either that or have each worker fetch the resolved JARs and maybe I'm missing it but I don't see the logic for that here.

Ah wait now I'm remembering, we serve the files from the driver to the workers. So yeah the design makes more sense than I thought originally.
+1 on more testing though. We could add a package and then try and load it in the Kube integration tests if doing the manual deps testing is too complicated?

Can one of the admins verify this patch?

@holdenk Now, I have no idea about checking jars resolved and downloaded in code in kube integrate test. So, it is only tested in my system and my k8s spark env.

Test build #140744 has started for PR 32397 at commit b25c787.

Kubernetes integration test starting
URL: https://amplab.cs.berkeley.edu/jenkins/job/SparkPullRequestBuilder-K8s/45253/

Kubernetes integration test starting
URL: https://amplab.cs.berkeley.edu/jenkins/job/SparkPullRequestBuilder-K8s/45255/

Kubernetes integration test status success
URL: https://amplab.cs.berkeley.edu/jenkins/job/SparkPullRequestBuilder-K8s/45253/

Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder-K8s/45253/

Kubernetes integration test status success
URL: https://amplab.cs.berkeley.edu/jenkins/job/SparkPullRequestBuilder-K8s/45255/

Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder-K8s/45255/

Test build #140744 has finished for PR 32397 at commit b25c787.

This patch passes all tests.
This patch merges cleanly.
This patch adds no public classes.

Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/140744/

I think we really need integration tests for this, would you be up for me to making a PR to your branch to add integration tests?

Can one of the admins verify this patch?

Kubernetes integration test starting
URL: https://amplab.cs.berkeley.edu/jenkins/job/SparkPullRequestBuilder-K8s/46433/

Kubernetes integration test status failure
URL: https://amplab.cs.berkeley.edu/jenkins/job/SparkPullRequestBuilder-K8s/46433/

Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder-K8s/46433/

Test build #142659 has started for PR 32397 at commit 554127b.

Test build #142659 has finished for PR 32397 at commit 554127b.

This patch fails to build.
This patch merges cleanly.
This patch adds no public classes.

Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/142659/

Kubernetes integration test starting
URL: https://amplab.cs.berkeley.edu/jenkins/job/SparkPullRequestBuilder-K8s/47160/

Kubernetes integration test status failure
URL: https://amplab.cs.berkeley.edu/jenkins/job/SparkPullRequestBuilder-K8s/47160/

Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder-K8s/47160/

Any update on this ?

Any news on when this is going to be merged?

Any news on when this is going to be merged?

It is not merged now. I've tried to add test.

is there a solution for this?

is there a solution for this?

In my case I just build the docker images with the dependencies included by hand.
ex:
RUN curl https://repo1.maven.org/maven2/org/apache/spark/spark-sql-kafka-0-10_2.12/3.1.2/spark-sql-kafka-0-10_2.12-3.1.2.jar --output /opt/spark/jars/spark-sql-kafka-0-10_2.12-3.1.2.jar
Still looking for the day this is included in spark release.

@dongjoon-hyun may be this PR could be re-opened and stale removed since this is still an issue ? Thank you!

The repo that submitted the PR is deleted so we can't re-open it. But feel free to recreate and go for it.

I'll reopen the pr soon.

@jbguerraz @holdenk The pr is recreated in #38828

RUN curl https://repo1.maven.org/maven2/org/apache/spark/spark-sql-kafka-0-10_2.12/3.1.2/spark-sql-kafka-0-10_2.12-3.1.2.jar --output /opt/spark/jars/spark-sql-kafka-0-10_2.12-3.1.2.jar

Thank you so much for the workaround, and it's a pity that this bug took two days of my life :)

@jbguerraz @GaruGaru The pr(https://github.com/apache/spark/pull/38828) is merged now

Thank you @ocworld :-)


bugfix: Nginx exposes source maps in production (#1176)

PR Type
[X] Bugfix
[ ] Feature
[ ] Code style update (formatting, local variables)
[ ] Refactoring (no functional changes, no API changes)
[ ] Build-related changes
[ ] CI-related changes
[ ] Documentation content changes
[ ] Application / infrastructure changes
[ ] Other:
What Is the Current Behavior?
Issue Number: Closes #1176
What Is the New Behavior?
PWA exposes NO source maps in browser
Does this PR Introduce a Breaking Change?
[ ] Yes
[X] No
Other Information
None

@dhhyi I confirm the changes are not necessary. Re-Order instruction blocks in server.ts solved the issue.


Fixes #2310 - update gFTL containers in FileMetadata

Description

Updating various uses of gFTL containers to use v2 interfaces.
Related Issue

Motivation and Context

Newer gFTL interfaces have some nice advantages.  In particular ftn_begin() and ftn_end() are safer for iterations.
How Has This Been Tested?

Compiled with NAG and gfortran on OS X.   Needs careful checking as many small changes are involved.
Types of changes

[ ] Bug fix (non-breaking change which fixes an issue)
[ ] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to change)
[ ] Trivial change (affects only documentation or cleanup)

Checklist:

[ ] I have tested this change with a run of GEOSgcm (if non-trivial)
[ ] I have added one of the required labels (0 diff, 0 diff trivial, 0 diff structural, non 0-diff)
[ ] I have updated the CHANGELOG.md accordingly following the style of Keep a Changelog

@bena-nasa  I decided to go ahead and at least start on this PR.   I think I've dealt with all uses (direct and indirect) of FileMetadata "variables" component.

Closing - can't do this on develop. Leads to unanticipated non-backward compatible changes in MAPL's external interface.


Improve the photos list animations (600$ Bounty)

What issue do we need to solve?
We are going to improve the photos list animations when pinching the list to change the number of columns (View Type).
Since the Photos App is going to load a large list of images we need to use a RecyclerView to manage a large list, for this purpose we used the RecyclerListView open-source project to handle this issue.
It works as expected for a large list, but there are some challenges to handling the image's animations when we need to change the view type.
Actual Behavior
The animation starts after a while client pinch the view and the whole of the animation will be done.
https://user-images.githubusercontent.com/16715868/150854559-42acb060-efdb-48b8-8843-8c00588c7be2.mp4
Expected Behavior?
The client has to be able to control the animation in the middle of the way.
https://user-images.githubusercontent.com/16715868/150853456-9d20a2d3-54bf-4988-b971-35a209d0e586.mov
Steps to Reproduce

Clone the Master branch
Build the project
Pinch the list

Platform:
Where is this issue occurring?

[x] iOS
[x] Android

Hi team, @ghorbani-m:

The pinch shown in the video (actual behavior) doesn't work in the latest master branch. I can get the number of columns to change by clicking on the button at the top though. Was the pinch done in an earlier commit that I can checkout to?
Currently, each asset is a separate section for recyclerlistview. Instead my idea is to have the day's images which are all combined in 1 section into a common section. Now, we make numCols an animated.value (or useSharedValue of reanimated but I haven't worked with reanimated too much yet), give canChangeSize={true} to recyclerlistview and in recyclerlistview's height/width computation for the section, we only calculate the combined section's height (width being 100%). For achieving this we may need to use externalScrollView or onSizeChanged callback or forceNonDeterministicRendering but I need to investigate more about that. Inside the specific day's section, we can implement a custom grid which is in sync with the numCols animated variable.

@ehsan6sha to answer your question about "Are we still using one recyclerlistview for 2,3,4 and 5 column modes?", yes we would still use that but the column number becomes an animated value with possible floating point values rather than integers.

@emadbaqeri

@amanforindia Thanks for your proposal,

I have checked it out one more time, and it works for me, I have tested it on the android platform (samsung phone), could you please make sure you got the latest changes from the Master branch.
The drawback which I could see is using a bunch of images in a section, the recyclelistview's idea is recycling the components (section) instead of creating them to prevent performance issue on scrolling, but in your approach you need to recreate a list of images inside each section when the section is recycled, I believe it causes performance issue.

Hi @skydevht, @ghorbani-m for a smooth experience I think the height of the container which has the current day's images needs to scale linearly and gradually as the pinch goes from 1 column to 2 columns (accounting for fractional values). Also, the images themselves have to scale fractionally and not just get rearranged. Maybe I'm missing something here but I'm not exactly clear yet how I would achieve this without any tradeoff in performance.

@skydevht Thanks for your description
You are right, the solution is to control the transition's animation while pinching the screen, but the question is how can we accomplish that? at the Layout Manager, you just define the section's dimensions, and there is no way to determine the section's position. somehow if you can manage the image's position from the outside of "Recyclelistview" the task is almost done.
@amanforindia  You know, the matter is not the kind of section's animation, the matter is how we can control the animation will pinching the screen,
A workaround that I am thinking of is if each section (image) knows about the next position and dimension based on the pinch type (Pinch in/out) then we might manage the next transition's animation based on pinch value.
Another way is to change the animation's type which was implemented before by @ehsan-git-dev , like this:
https://github.com/functionland/photos/blob/main/assets/demo/BOX_Photos_pinchzoom_to_switch_between_modes.gif)
The above animation was implemented by 3 Recycleviewlist with different colNums at the same time, Also it is acceptable if we could manage it only with one Recycleviewlist.

A possible implementation would be to use the pinch-zoom event value as our control. The possible state would be the current number of columns and the next amount (lower or greater) of columns. When the interaction end, we can select the closest state to do a finishing animation. As the layout of the items will change the number of rows, we need to control the position of the additional elements that are presents (date header). If we need one interaction to switch between a greater number of columns, we can add states in between.
This solution requires direct access to the position of the items. This will likely require us to write a custom manager instead of relying on the one provided by the recycler list view library. The photos sections are the only one that need their scale to be animated. I don't know yet if we can hijack that part of the layout calculation. The library has a VirtualRenderer that manage the visible views, but I hope we only need to provide their position, and not manage the creation and destruction too.

@ghorbani-m you need to overwrite whatever is controlling the section position. If it can automatically adjust that based on the section's dimension, you need to redefine what is a section and go from there.

@skydevht The current implementation uses the pinch-zoom value and column number state (numCols) and then decides based on pinch scale value to increase or decrease the numCols' value and finally in the Layout Provider calculates the section dimension based on numCols' value.
Regarding your solution "This solution requires direct access to the position of the items", actually we have access to each section's position by "onItemLayout" event, and we are able to animate the sections but finally, somehow we need to tell the RecyclerListView that the sections positions are changed and recalculate the sections or recreate the new sections that now they are in the ViewPort.
As you mentioned we need to controll the section position but there is not any interface in the recycleviewlist to force reclaculate the layouy smoothly.
It seems if we want to use RecycleViewList with layout animation we need to add some features in the Recycleviewlist repo.

Also related - https://github.com/functionland/photos/issues/107


Bump PHP7 version and PHPUnit

Let's bump PHP to secure supported version. So we can make further improvements to the lib without pain. Eg. see #774. There is v0.4 released with PHP5 support so should be no deal to consumers.
I tried to keep changes at minimum but eg. it's impossible to decently test code with ini_get/ini_set so I had to do small modifications (see Changelog).

@cboden answering https://github.com/ratchetphp/Ratchet/pull/774#issuecomment-594550197 here as it's related to this PR.
It was impossible to write tests for it properly when code relied on ini*()_ calls.
Tests throw ini_set(): Headers already sent. You cannot change the session module's ini settings at this time so I figured we should not use these in tests.

I see. In that case I think it would be best to alter the SessionProvider constructor signature to make add OptionsHandler to the end and make it an optional parameter (see how $serializer is done). This will prevent a BC break.

What about now

Tests are failing 😬

Run them locally and passed. Dunno why travis installs symfony/routing v5 when constrain is ^2.6|^3.0|^4.0 https://github.com/simPod/Ratchet/blob/29fe3045a8c71f526cfd5d3840cb9bf0bbc3ed67/composer.json#L36
Rebasing on current master and fixing.

Its very useful. Thanks!

@cboden hi, do you have any further comments?

Hey @simPod. Thank you for your work on this and my apologies for my delayed response.
We think we're going to use your PR as a base for v0.5.
One small change request: could you move the OptionsHandler code to our Session namespace please? Since it's not used outside Sessions and it's a requirement for Sessions I don't think we need it more widely scoped.

done


Image/file user attributes are not saved

How to reproduce the issue on a fresh install

Go to System / Settings > Attributes > Types
In the Image/File row, check the box under User
Go to Members > Attributes
Add new attribute with Image/File type. For example, cover_photo
Once created, click on the Image/File attribute that you just created
Try to change an option. For example, try to uncheck the box "Editable in Profile"
Click Save
It will say that "Attribute updated successfully." but the change has not been saved. If you click on the Image/File attribute you just edited, the old setting is still there. For me, the "Editable in Profile" that I unchecked is still checked. I also verified on the registration page if the field is still visible and it is still in fact visible, thus proving that the change to the attribute is not saved.

This is my first time to submit an issue here on Github. Please let me know if this is unclear so I can improve it. Thank you!

I just checked this issue, and it works for me.
Are you trying the very latest concrete5 version (the one in the "develop" branch of github)?


Pin version of AWS CLI

Rewriting all the bits in Go or Python is another option, as those are quite small and should be fairly easy to rewrite.


Fix calculation of freshness lifetime in HttpResponse

This pull request adds a fix for the calculateFreshnessLifetime method in the HttpResponseCache class. The method calculates the freshness lifetime of a response based on the headers in the response and follows the algorithm for calculating the freshness lifetime described in RFC 7234, section 4.2.1.
The method takes into account the s-maxage, max-age, Expires, and Date headers as follows:

If the s-maxage directive is present in the Cache-Control header of the response, its value is used as the freshness lifetime for shared caches, which typically serve multiple users or clients.

If the max-age directive is present in the Cache-Control header of the response, its value is used as the freshness lifetime for private caches, which serve a single user or client.

If the Expires header is present in the response, its value is used as the expiration time of the response. The freshness lifetime is calculated as the difference between the expiration time and the time specified in the Date header of the response.

If none of the above headers are present or if the calculated freshness lifetime is invalid, a default value of 5 minutes is returned.

The existing implementation had a bug where it did not handle the case where the max-age directive was present in the Cache-Control header but the s-maxage directive was not. In this case, the method would incorrectly return the default freshness lifetime of 5 minutes instead of using the max-age value as the freshness lifetime. This pull request fixes the bug by adding a check for the s-maxage directive and returning the max-age value if the s-maxage directive is not present.
Motivation
The bug in the calculateFreshnessLifetime method could cause incorrect caching behavior, which could lead to degraded performance and unexpected results for clients. By fixing this bug, we ensure that the method correctly calculates the freshness lifetime of responses and that clients can rely on the cache to serve responses efficiently and accurately.
Changes Made
To fix the bug, we added a check for the s-maxage directive in the Cache-Control header and updated the return value of the method to use the max-age value if the s-maxage directive is not present.

closed in favor of https://github.com/apache/httpcomponents-client/pull/420 to 5.3.X branch


Make soil evaporation scheme modular

We will change our evaporation scheme to that of #732 , but eventually add back in this scheme
https://github.com/CliMA/ClimaLand.jl/pull/735.
They seem to perform similarly, but the former is slightly more stable.
Coarse sand evaporation site:
New scheme:

Old scheme with beta:

After 334 days:
New scheme:

Old scheme with beta:

Hi Kat, do you know why (i) the model drop in E happens 3 days before the data and (ii) the minimal E is 0 in the model and 1 in the data? It makes me think that something is wrong either with the model, or with the parameters?

@braghiere Im not sure, but a couple of general comments:

both evaporation schemes decrease evaporation dramatically as the soil surface moisture drops. The issue is that then we have a resolution dependence. so, thicker layers take longer to dry out (at the same evaporation rate), so that changes the timing of the "drop". I tried to implement something that was "resolution independent" (linear interpolation to the surface) in the end.
the drop time is definitely parameter dependent, as it depends on when soil moisture drops below a critical level, which depends on soil type/van Genuchten parameters
the previous version of the model did not drop evaporation drop to zero as the soil dried. but then we ran into the issue where evaporation was continuing even when the soil became very dry, and at some point it should drop to zero. This seems to be an issue with this model (Swenson and Lawrence), where the soil resistance becomes a finite number as the soil dries.
SwensonLawrence2014.pdf
What we currently merged into main is described here:
lehmann2018.pdf

I 100% agree we should look into this more! But I hesitate to read to much into this one example given that we dont know the soil parameters exactly.

Thanks! That makes sense. Would it be helpful to find an example of observations in a place we know exactly the soil parameters? Shouldn't be too hard to find?

this would be very helpful! I think we could also ask Dani for his opinion/help, because this example is in one of his papers.


Blocking a route change

I would like to block route changes under some condition, for example when then user has entered data that has not yet been saved.
For plain HTML/JS there is window.addEventListener("beforeunload", e => { if (condition) e.preventDefault() }).
However, I don't see a way to block route changes in this library yet.
It would be cool to have something like
<Router canRoute={e => someCallbackReturningABoolean(e)}>
    ...
</Router>

Is there currently a way to achieve this or is this planned to be implemented?
Thanks in advance!

Add an event listener for intercepting 'click' and 'popstate' events, blocking them if your user has unsaved work.

Yup, something along these lines would be the recommendation.


x/sys/unix: IoctlGetInt broken on 64-bit big-endian platforms

What version of Go are you using (go version)?

$ go version
go version go1.20.3 linux/amd64
$ go list -m golang.org/x/sys
golang.org/x/sys v0.8.1-0.20230523194307-b5c7a0975ddc

What operating system and processor architecture are you using (go env)?
GOARCH=s390x
GOOS=linux

(using QEMU on an amd64 host)
What did you do?
package main

import (
	"fmt"
	"os"

	"golang.org/x/sys/unix"
)

func main() {
	tty, err := os.OpenFile("/dev/tty", os.O_RDWR, 0)
	if err != nil {
		panic(err)
	}
	pgid, err := unix.IoctlGetInt(int(tty.Fd()), unix.TIOCGPGRP)
	fmt.Println(pgid, unix.Getpgrp())
}

What did you expect to see?
Same number twice, as on amd64:
$ go run pgrp.go
101981 101981

What did you see instead?
$ GOARCH=s390x go run pgrp.go
438060894388224 101994

The first number is 101994<<32. I believe this happens because IoctlGetInt passes a pointer to a Go int to the system call:
func IoctlGetInt(fd int, req uint) (int, error) {
        var value int
        err := ioctlPtr(fd, req, unsafe.Pointer(&value))
        return value, err
}

The ioctl system call expects a pointer to a C int. Passing a Go int means it stores the pgid in the upper 32 bits.
Note that IoctlSetPointerInt passes a pointer to an int32:
func IoctlSetPointerInt(fd int, req uint, value int) error {
        v := int32(value)
        return ioctlPtr(fd, req, unsafe.Pointer(&v))
}

(CC @tklauser @golang/s390x @golang/ppc64)

I guess the underlying issue was already discovered, #45585.

I also wasn't aware of IoctlGetUint32. That solves my original problem (emulating tcgetpgrp), so the only remaining issue is documentation: IoctlGetInt is inconsistent with IoctlSetPointerInt, which is needed to emulate tcsetpgrp.

Just quickly skimming this, I think that indeed it would be sufficient to just document this. Though, we should also just fix GetInt on the platforms where it's broken. (Document the "int" discrepancy and then do a conversion inside GetInt on the affected platforms.)
Would you be willing to send a CL for this? :) (https://go.dev/doc/contribute)

Does this need fixing?


Add workflow_dispatch for manual releases

Unfortunately GitHub doesn't let us specify a branch with a repository_dispatch event, so they can only be used to release from the default branch. If you need to release from a different branch, you can use a workflow_dispatch instead. This will let you manually trigger the workflow on your desired branch from the GitHub actions UI.
I plan on updating Rolling Versions to use workflow_dispatch in the future as well, this will likely be done by allowing custom configuration of the trigger with something like:
[release_trigger]
  type = "github_workflow_trigger"
  name = "release"

This likely will not be ready for at least a month or two though. For now, you can specify both repository_dispatch and workflow_dispatch in your workflow file, and then use the GitHub UI when you need to release from a custom branch.

Thanks!

I think workflows only work if they are defined on the master branch, we'll need to move this one on master.

@ForbesLindesay we have a Popper Release workflow that should work for this use case but for some reason it's failing.
https://github.com/floating-ui/floating-ui/runs/5479633104?check_suite_focus=true


Can't uninstall RDP

So My RDP Wrapper didn't work so I tried to uninstall it using the bat file it said it finished but i went to control panel and it said it didn't uninstall so I tried uninstalling it through control panel now it is yelling at me this.

Duplicate of https://github.com/stascorp/rdpwrap/issues/1078


Request feature

Support login with mail & password
or
Add Edittext for input parameters
Why: I don't think anyone likes the fact that every time the cf_clearance expires, they have to re-sign the app

Hey @luanon404, I'm working on this.

thanks

Hey @luanon404, released a new version and it includes the login feature. Thanks for reporting this.


Reference pages for distributor.yaml and deployment.yaml files

Source material: https://github.com/keptn/keptn/blob/master/distributor/README.md

Please assign to @StackScribe

Related issue: https://github.com/keptn/keptn.github.io/issues/828

Docs merged and live.


Add support for yml based TLS configurations

New key: TEMPORAL_TLS_CONFIG_PATH
yml file format:
cert: <certData in base64>
key: <keyData in base64>
clientca: <caData in base64>
hostname: hostname

so we have two ways to config TLS now. could we document whichever we think most people will use? perhaps even suggesting a default location.


Review code and make plan for tidying up, refactoring and progressively adding unit tests.

First refactoring: https://github.com/obophenotype/CCF_tools/pull/67

Adding unit test would require more modular code - breaking up long functions.  e.g. - can anything be factored out from this into simpler, reusable function?
https://github.com/obophenotype/CCF_tools/projects/1#card-70188991


rt - Add MIT license to project root

Add the LICENSE file to the root of the repository. Text is copied verbatim from https://choosealicense.com/licenses/mit/#

i didnt get into MIT :(

unlucky


Create incidents on statuspage.io on failure

We need the communication layer between statuspage.io and our services so that we can register an incident when any of automated datasets' processors fails so that we send Email notifying about it
Acceptance Criteria

[x] we have methods to register the incident
[x] Method to subscribe a user to component

Tasks

[x] on_incident method

[x] tests

[x] subscribe_user method

[x] tests

FIXED


Put all configs in one file

Instead of having something in strings.xml and some things in the manifest, just redirect it all to one file for easy access. I also have a few comments:

If users are supposed to update the plugin meta data number for each aar update, you might want to find some other way to embed it automatically
If the substrate.aar is meant to be private, we can still access all the classes from it
If it's not meant to be private, you can make an actual library and just have a dependency via jitpack, which makes it easier to update (we update the number rather than download a new aar).
If you keep on committing new aars with each test and asking themers to fork the project, you're making them download every old aar that was uploaded.
You might also want to update the readme if you accept this, and also give more documentation as to what substrate is and why it is disabled as a default.

@AllanWang Hello

@AllanWang Users aren't meant to update the metadata version of the plugin.

@AllanWang Regarding the aar. Everything goes through the aar. No question about it. It's how the theme launches and enabling a flag would just enable one of many substrate functions regarding antipiracy.

@nicholaschum so let's say I forked the project way back when the plugin was still 2.x. Now that I'm updating it again, am I not supposed to make it what it is now? (as if I just forked it again). And if that's what substrate does, maybe you could combine the two antipiracy booleans.

@AllanWang Just cherry pick the changes. Substrate doesn't use booleans, it's a direct static library that handles all the launching of Substratum's InformationActivity. It's a good idea to have Substrate add the metadata automatically yes, I'll look into it very soon.

@nicholaschum I'm referring to this boolean. There isn't any documentation as to what it does.

@AllanWang Third Step: https://github.com/TeamSubstratum/SubstratumThemeTemplate/blob/master/README.md#getting-started-with-antipiracy

@nicholaschum ah oops. Didn't find it when I searched for the boolean name. Thanks


Train on KITTI-360 with fisheye

The images are recon depth, recon img, and invailds.
The traning loss did't decrease, if i use fisheye data to train in KITTI360 . I have checked i use the same config as the original one except i didn't preprocess the dataset. It seems that the invalid regions are large.
Could you give me some advice for proper training?

To me, the images look good for early stages of the training. The training takes quite long and the loss only goes down slowly.
For how many iterations did you train?
The preprocessing only speeds up dataloading and does not have an effect on the losses.

Thanks for your reply. You are right. The previous results were taken in early epochs. I continue training to 20 epochs and the recon depth seems good now.

It is surprising that the recon images of the fisheye camera are really bad in most scenes. However, it has a significant influence on occupancy prediction. I was wondering if we could get a better result by simultaneously encoding the fisheye camera images since the invalid area of the sample feature could be eliminated.


Your latest release was a breaking change, not a minor

Not sure if this was an accident, but you introduced a breaking change by renaming hooks.
Might be a good idea to introduce a quick patch to alias the old hooks. eg.
export { default as useDebouncedCallback, default as useDebouncedFn } from './useDebouncedCallback'
export { default as useThrottledCallback, default as useThrottledFn } from './useThrottledCallback'

@njbmartin thanks for pointing this out!
I think a quick patch would be the right thing to do, I'll do it as soon as possible or if you feel like it, feel free to open a PR

Actually, the function signatures themselves changed as well. I would recommend reverting the commit that rewrote these, releasing that as 1.2.1, then reapplying the commit and re-relasing that as 2.0.0.


Problems activating plugin

On Win10, fresh blender 2.91 stable install.
I get this when trying to enable the plugin :
`Traceback (most recent call last):
File "C:\Program Files\Blender Foundation\Blender 2.91\2.91\scripts\modules\addon_utils.py", line 351, in enable
mod = import(module_name)
File "C:\Users\statix\AppData\Roaming\Blender Foundation\Blender\2.91\scripts\addons\hdusd_init_.py", line 31, in
from . import config
File "C:\Users\statix\AppData\Roaming\Blender Foundation\Blender\2.91\scripts\addons\hdusd\config.py", line 15, in
from .utils import logging
File "C:\Users\statix\AppData\Roaming\Blender Foundation\Blender\2.91\scripts\addons\hdusd\utils_init_.py", line 41, in
BLENDER_DATA_DIR = next(BLENDER_ROOT_DIR.glob("2.*/datafiles"))
StopIteration
`

Confirm this bug with Blender installed from Microsoft Store, we'll fix it.
There is no such bug with Blender installed from installer from https://www.blender.org/download, please use that Blender currently for this plugin.

This was installed using the installer. NOT through the windows store.

Hi StatixVFX.  Which version of Blender?  2.91.  And you downloaded it from blender.org?

2.91 Stable, on Win10 downloaded from blender.org.
Im generally on Linux but was quite eager to test this.

K - so I was having similar issues but I got it to work.  From what I can tell - you need Blender 2.90.1 in order to get it to work.  It breaks on 2.91 and 2.92 for me.
I'm also getting a crash when trying to run an rpr render, and nothing but a black screen when running gl.
@bsavery - I'm guessing that gl is basically Storm is that accurate?

GL is storm. Correct.  Is there any error if launching from a command prompt with RPR?  Kinda weird you get a black screen with GL too.  What's the GPU?

I haven't tried running from cmd with rpr.   Will look into it.  I'm
running it on a gtx 980.  I have a 1070 and 1060 on mobile I can try it on
as well.  I'll test.  Thank you!
On Sun, Dec 13, 2020, 10:37 PM bsavery<EMAIL_ADDRESS>wrote:

GL is storm. Correct. Is there any error if launching from a command
prompt with RPR? Kinda weird you get a black screen with GL too. What's the
GPU?
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/GPUOpen-LibrariesAndSDKs/BlenderUSDHydraAddon/issues/18#issuecomment-744160055,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ABW73LDDLNYSV32F22JPJVLSUWJAFANCNFSM4UUVQ6CQ
.

Fixed in #20

Updated the build on https://github.com/GPUOpen-LibrariesAndSDKs/BlenderUSDHydraAddon/releases/tag/v1.0.0-alpha to work on 2.91 and above

Confirming that addon works in 2.91.
However still the same issues regarding render.  From what I can tell - it
seems like it's not reading the lights.  Storm is coming in full black. RPR
at a flat gray.
I've tried using a point, spot, and sun to no avail.
Tried on a 980 and 1070.
Have not run using cmd
On Mon, Dec 14, 2020 at 8:10 PM bsavery<EMAIL_ADDRESS>wrote:

Updated the build on
https://github.com/GPUOpen-LibrariesAndSDKs/BlenderUSDHydraAddon/releases/tag/v1.0.0-alpha
to work on 2.91 and above
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/GPUOpen-LibrariesAndSDKs/BlenderUSDHydraAddon/issues/18#issuecomment-745005183,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ABW73LC3I3RPYIZRYRS3H6TSU3AQTANCNFSM4UUVQ6CQ
.

--
Arvin Villapando
<EMAIL_ADDRESS>214.755.1916

Thank you for review, we'll be working to fix this.


refactor(rust): Forbid HashMap / HashSet using Clippy, then wrap them

This is an idea that came up when Thomas found that iterating over the hashes was causing non-determinism in the proptests
It will create some boilerplate code but this way we don't have to completely give up on HashMap, we can just swap it out when needed
Original comment: https://github.com/firezone/firezone/pull/6319#pullrequestreview-2243069409

I gave it a try and I'm not sure if it's worth it

I gave it a try and I'm not sure if it's worth it

We have tests now that ensure our proptests stay deterministic so at least on that front, we are covered. Non-determinism in other places may not be as problematic.


Enable Sourcegraph

I want to use Sourcegraph for django-xadmin code search, browsing, and usage examples. Can an admin enable Sourcegraph for this repository? Just go to https://sourcegraph.com/github.com/sshwsfc/django-xadmin. (It should only take 30 seconds.)
Thank you!

You can fork this repository to your account~

yes 3q


Added upward or downward sorter to the k-table

:bookmark_tabs: Description of the Change
This is a new feature for the k-table component, that allows the user to sort
the table just by clicking in a selected header, each click ordinates in ascendant
or descendant direction, which can be verified by the up and down arrows sided
in the headers title

:page_facing_up: Release Notes

Added upward or downward sorter to the k-table

Will it always show those arrows? Or only after someone clicks on the header? I'd prefer the latter.

Will it always show those arrows? Or only after someone clicks on the header? I'd prefer the latter.


chore: remove sass and update DataExplorer.vue to use

Description
Remove sass from our project and update DataExplorer.vue to use

Some components have not been migrated to do


Save video stream to a file

Hi Guys,
So I am trying to grab the data from the stream using the GetMedia API and save it as a webm file.
Here is my code:
client = boto3.client('kinesis-video-media', endpoint_url=url)
        response = client.get_media(
            StreamARN=MyARN,
            StartSelector={
            'StartSelectorType': 'EARLIEST',
            })
with open(fileName, 'a+') as f:
            chunks = response['Payload'].iter_chunks()
            for chunk in chunks:
                f.write(chunk)

I've encountered 2 issues:

it takes really long time to read the stream (around 6 mins for 1 payload object)
the size of the file is around 180 MB for 1 sec video!
what do you believe is the correct way to divide save a stream into 1 minute files?

What am I doing wrong?
Thank you for your help!

I would recommend asking about this on the service forum or on stackoverflow to get specific advice.
As far as download time is concerned, that will depend pretty heavily on your network. From the api docs:

Kinesis Video Streams sends media data at a rate of up to 25 megabytes per second (or 200 megabits per second) during a GetMedia session.

So you will probably never get more than that.
Regarding size, that probably depends on your source. MKV format can contain uncompressed video of arbitrary resolution. I don't have any specific advice for chunking it up.


tab row is 100% transparent when enable Mica in Windows 11 21H2 (22000.1936)

Windows Terminal version
1.17.11391
Windows build number
10.0.22000.1936
Other Software
No response
Steps to reproduce
create a custom them and enable Mica:
        {
            "name": "Mica",
            "tab":
            {
                "background": null,
                "showCloseButton": "always",
                "unfocusedBackground": null
            },
            "tabRow":
            {
                "background": "#00000000",
                "unfocusedBackground": null
            },
            "window":
            {
                "applicationTheme": "system",
                "useMica": true
            }
        }

Expected Behavior
Show Mica effect in tab row
Actual Behavior
The tab row is 100% transparent

Hmm. I wonder if there's anything that can prevent Mica from being enabled somehow? Like, at the OS level?
Presumably Mica is working in calc.exe?

Yes, Mica is working in calc.exe

Actually, can you file feedback using the Feedback Hub, on the category "Developer Platform > UI Frameworks and controls (XAML)"? I'm not sure there's much else we'll be able to do on our side to investigate this, but they might have more complete diagnostics to share. If you share the aka.ms link that the "Share" button generates in this thread, I can make sure it gets promoted internally and follow it.
Thanks!

Unfortunately, I have upgraded the  OS to Windows 11 22H2 and the issue disappeared.

Hey that's better than nothing! Thanks for following up ☺


Update RealFuels for v10

#rebuild

#rebuild

Pushing this quickly catch it before netkan-bot does so we don't end up with 0.90 users getting a version they can't use.


generalize py-pi-versions-from-framework-classifiers?

:clipboard: Description
Would it be possible to query requires_dist in https://pypi.python.org/pypi/<pkg>/json (or https://www.wheelodex.org/json/projects/%3Cpkg%3E or similar) to create a badge with the version of a particular dependency?
Some sort of generic py-pi-versions-from-framework-classifiers
For example: https://img.shields.io/pypi/dependency_versions/qiskit/numpy generate
based on query https://pypi.org/pypi/qiskit/json

PyPI dependency version is a reasonable request. We have this for some other package registries.
One thing that makes this a bit challenging in python is that whereas with npm for example, the dependencies are expressed as an object mapping package names to versions e.g:
{
  "glob": "^10.4.1",
  "global-agent": "^3.0.0",
  "got": "^14.4.1",
  "graphql": "16.8.2"
}

This makes it easy to take a package and return a version range.
With PyPI, requires_dist is an array of strings expressing a package constraint e.g:
[
  "python-dateutil>=2.8.0",
  "qiskit[crosstalk-pass,csp-layout-pass,qasm3-import,visualization]; extra == \"all\"",
  "typing-extensions",
  "importlib-metadata>=4.6; python_version < '3.10'",
  "isort==5.13.2 ; extra == \"dev\""
]

That requires a bit more work to parse correctly.


mesh: report event outside a db tx

Motivation

Closes #3537

Changes

report applied event after a db transaction committed

i think one of the nodes was preempted during the test
gke-ci-infra-gha-62896c99-61b7            Ready    <none>   27m     v1.21.14-gke.700

bors merge

i think one of the nodes was preempted during the test. that sort of expected wit them
gke-ci-infra-gha-62896c99-61b7            Ready    <none>   27m     v1.21.14-gke.700

yeah, i saw that with the longevity cluster yesterday too.

bors merge

bors merge

bors merge


Crash by division by zero in render_forward_clustered.cpp

Godot version
4.0 8c7b98d4526c6ba66d7f1636abb71ccbe54727c6
System information
Ubuntu 22.10 - AMD RX 470, Gnome shell 43 X11
Issue description
ERROR: reflection probe has no reflection atlas! Bug?
   at: reflection_probe_instance_get_cluster_builder (servers/rendering/renderer_rd/storage_rd/light_storage.cpp:1607)
ERROR: Condition "!atlas" is true. Returning: 0
   at: reflection_probe_instance_get_resolution (servers/rendering/renderer_rd/storage_rd/light_storage.cpp:1579)
ERROR: Condition "!atlas" is true. Returning: RID()
   at: reflection_probe_instance_get_framebuffer (servers/rendering/renderer_rd/storage_rd/light_storage.cpp:1589)
ERROR: Condition "!atlas" is true. Returning: RID()
   at: reflection_probe_instance_get_depth_framebuffer (servers/rendering/renderer_rd/storage_rd/light_storage.cpp:1599)
core/math/vector2.h:220:31: runtime error: division by zero
core/math/vector2.h:220:19: runtime error: division by zero
servers/rendering/renderer_rd/forward_clustered/render_forward_clustered.cpp:624:61: runtime error: division by zero

================================================================
handle_crash: Program crashed with signal 8
Engine version: Godot Engine v4.0.rc.custom_build (8c7b98d4526c6ba66d7f1636abb71ccbe54727c6)
Dumping the backtrace. Please include this when reporting the bug to the project developer.

-- END OF BACKTRACE --
================================================================
Aborted (core dumped)

ReparentingDeleting.tscn not contains any logic expect randomly moving/reparenting/deleting nodes, so not sure what exactly caused this crash or how to find minimal project to reproduce
https://github.com/godotengine/godot/blob/853c36ca0b6a4b8982215115b1fb1b62b58f2d98/servers/rendering/renderer_rd/forward_clustered/render_forward_clustered.cpp#L624-L627
Steps to reproduce

Clone https://github.com/qarmin/Qarminer
Run scene ReparentingDeleting.tscn
Wait until crash(even few minutes)

Minimal reproduction project
https://github.com/qarmin/Qarminer

See below for a seed that reproduces this very quickly (2 seconds).
diff --git a/ReparentingDeleting.gd b/ReparentingDeleting.gd
index 278dbca..69d7ce7 100644
--- a/ReparentingDeleting.gd
+++ b/ReparentingDeleting.gd
@@ -31,6 +31,8 @@ var file_handler: FileAccess

 func _ready() -> void:
+	seed(0x211c2)
+
 	if save_data_to_file:
 		file_handler = FileAccess.open("res://results.txt", FileAccess.WRITE)

The crash is caused by removing a reflection probe, re-adding it, and then waiting for a frame to render.
See below sample script:
extends Node3D

var probe: Node = null
func _init():
	probe = ReflectionProbe.new()
	add_child(probe)

func _process(delta: float):
	remove_child(probe)
	add_child(probe)

Download below MRP:
readd-probe.zip

This might have been fixed in:

https://github.com/godotengine/godot/pull/80390

Which changed these specific lines, please confirm

Cannot reproduce problem anymore


hcsshim fails to import layers with a file larger than 8gB

Mirroring https://github.com/moby/moby/issues/40444 as it appears to be a HCS-level issue.

Description
When trying to create a container on Windows with a file larger than 8gB (8,589,934,592 bytes of random data is my test-case), Docker fails to commit the layer, giving an error along the lines of re-exec error: exit status 1: output: write \\?\C:\ProgramData\docker\tmp\hcs816749287\Files\UnrealEngine\LocalBuilds\Engine\Windows\Engine\Plugins\Experimental\BlastPlugin\Binaries\Win64\UE4Editor-BlastAuthoring.pdb: There is not enough space on the disk. or hcsshim::ImportLayer - failed failed in Win32: The system cannot find the path specified. (0x3).

Reproduced on Windows Server LTSC 2019, and Windows 10 1903, 1909, and 2004.
See https://github.com/moby/moby/issues/40444 for more details and reproduction steps, and a log of the hcsshim calls made by Docker in the reproduction case.
If necessary, I could try and produce a reproduction case calling https://github.com/microsoft/hcsshim directly.

@weijuans-msft will look into this

Reproduction case using wclayer utility from https://github.com/microsoft/hcsshim/pull/852.
Given an 8 GB file named 8gfile, e.g.
$writer = [System.IO.File]::OpenWrite('./8gfile')
$random = new-object Random
$blockSize =<PHONE_NUMBER>
$bytes = new-object byte[] $blockSize
for ($i=0; $i -lt 8; $i++)
{
 $random.NextBytes($bytes)
 $writer.Write($bytes, 0, $blockSize)
}
$writer.Close()

and mcr.microsoft.com/windows/nanoserver:2004 extracted to C:\ProgramData\containerd\root\io.containerd.snapshotter.v1.windows\snapshots\763, although any base layer should work.
and a ton of disk space (there's going to be up to three copies of the 8 GB file around by the time we're done)
as administrator:
# Create a new sandbox layer based on mcr.microsoft.com/windows/nanoserver:2004
wclayer create scratch -l C:\ProgramData\containerd\root\io.containerd.snapshotter.v1.windows\snapshots\763
mkdir scmount
# Activate the sandbox layer, and mount the volume to a directory
wclayer mount scratch scmount -l C:\ProgramData\containerd\root\io.containerd.snapshotter.v1.windows\snapshots\763
copy 8gfile scmount
# Confirm it's there, and 8gB
dir scmount
# Unmount the volume mount point and deactivate the read-write volume
wclayer unmount scratch scmount
# Confirm the sandbox.vhdx is now just over 8gB.
dir scratch
# Export the layer as an OCI image layer tarball
# During this process you can see in %TEMP%\hcs* that it extracts the modified files to disk, i.e. just Files/8gfile plus some supporting data, and then tarballs that directory up.
wclayer export scratch -l C:\ProgramData\containerd\root\io.containerd.snapshotter.v1.windows\snapshots\763 -o 8gtest.tgz -z

Now, if you look at the 8gtest.tgz in 7zip, you'll see this. I tried to open it, and it agreed that the data ended too soon.

So I reckon the problem is actually that hcsshim is using a version of go-winio that uses the very old version of archive/tar from Go 1.6. This matches the similar issue that used to occur under Linux, which was fixed by upgrading vbats/tar-split to a version which used archive/tar from Go 1.11.
Which means that I've already posted the fix, at https://github.com/microsoft/go-winio/pull/175, pending review, and then integration into the various upstream tools: hcsshim, and its users (https://github.com/moby/moby and https://github.com/containerd/containerd/ off-hand)

On top of my last comment, it also looks like there's issues with the gzip stream. If I use the non-upgraded-gowinio wclayer and instead export with:
.\wclayer export scratch -l C:\ProgramData\containerd\root\io.containerd.snapshotter.v1.windows\snapshots\763 -o 8gtest.tgz -z

Now Windows-shipped tar does not like it:
PS C:\Users\paulh\Documents\BuildKit\8gtest> tar tzvf .\8gtest.tgz
d---------  0 0      0           0 Jul 27 17:25 Files
----------  0 0      0<PHONE_NUMBER> Jul 27 17:28 Files/8gfile
tar.exe: Truncated input file (needed<PHONE_NUMBER> bytes, only 0 available)
tar.exe: Error exit delayed from previous errors.
# Checking with another utility
PS C:\Users\paulh\Documents\BuildKit\8gtest> unpigz.exe -t .\8gtest.tgz
unpigz: abort: corrupted input -- invalid deflate data: .\8gtest.tgz

I see the same thing with the winio-upgraded wclayer, which makes sense, since both of them work by simply wrapping compress/gzip.NewWriter around the writer it otherwise creates, suggesting a flaw in Go's own compress/gzip.
However, this code-path is specific to the wclayer utility itself, so should not affect either Docker or containerd, unless they also have the same bug in their own compression routines, which would be shared between Linux and Windows anyway.

Update from my side: https://github.com/microsoft/go-winio/pull/175 has been merged, and there outstanding PRs for Docker Engine (https://github.com/moby/moby/pull/41430) and the hcsshim Go library (https://github.com/microsoft/hcsshim/pull/876) to upgrade to the fixed version of go-winio.
I'm hopeful that the revendoring can be backported into Docker Engine 19.03 as a bug-fix, but have not had any indication from the maintainers as to whether this can happen.
There is also an outstanding PR for containerd (https://github.com/containerd/containerd/pull/4395) to move from in-tree code to using go-winio, but that doesn't change the status of this issue, as the in-tree code did not have this bug.
Basically, all PRs waiting for project maintainer feedback and/or acceptance to progress.

hcsshim 0.8.10 and Docker Engine 20.10.0-beta1, e.g. from Docker Desktop Edge <IP_ADDRESS>, have the fix merged.
I'm currently tracking another possible size-related issue in Docker Engine 20.10.0-beta1, but I don't believe it's the same problem as this one, as it seems to be more related to total size copied that individual image size. (I also don't have a local reproduction for it yet, for unrelated reasons)
So we could close this now, or wait for a full release of Docker Engine 20.10.0.

Thanks. Close this now


Fix wrong cast in sf::Packet

A follow-up to #1867
Added unit tests as well which proved #1867 to be insufficient and a breaking change.

[x] Does the code follow the SFML Code Style Guide?
[x] Have you provided some example/test code for your changes?

Description
sf::Packet does not work correctly for sf::Int32 integer type due to a bug in casting.
Tasks

[ ] Tested on Linux
[ ] Tested on Windows
[x] Tested on macOS
[ ] Tested on iOS
[ ] Tested on Android

SFMLBuildMaster: Build this please.

Thanks for this fix and unit tests! 🙂
Also thanks to @szymonj99 for reporting the issue initially! 🥳

Thank you for this PR and adding unit tests!
Maybe a tip for the future: if the PR bases on another (here @szymonj99), it can be nice to either include their original commit separately, or mention them via Co-Authored-By: in the combined commit message. Even if it's just one line of code, the effort lies not in writing that code, but understanding + reproducing the problem, and filing the PR. Thanks! 🙂

You're right. Initially, I was using GitHub.dev for that which is vscode in the browser. It's still kind of limited so I wasn't able to (figure out how to) modify commits there. But I definitely should have done that when working locally.


updating twilio/sdk to 6.10.4 / client declarations

@natural411 Looks like CI is failing on this, can you check that out please and ty!

@bryanrite Below example from docs  https://docs.signalwire.com/topics/laml-xml/?php#voice-laml-say-notes-on-usage is not working
start();
$stream = $start->stream(['url' => 'wss://your-application.com/audiostream']);
$stream->parameter(['name' => 'FirstName', 'value' => 'Jane']);
$stream->parameter(['name' => 'LastName', 'value' => 'Doe']);

echo $response;

?>
with error
PHP Fatal error:  Uncaught Error: Class 'VoiceResponse' not found in /root/signalwire_php/new_version/laml_generate.php:303
Stack trace:
#0 {main}
thrown in /root/signalwire_php/new_version/laml_generate.php on line 303
Also adding a test case file which having all PHP docs examples  codes, please run and if you stuck at any line just search with that example  in the docs page to get that example
LaMLGenerator.php.txt


Windows powershell module remote Wrong message

Steps to reproduce
Fail
set-NetFirewallRule ...

Expected behavior
invoke-command -Session $session -filepath ./l.ps1
Set-NetFirewallRule: No MSFT_NetFirewallRule objects found with property 'DisplayName' equal to 'Block'.  Verify the value of the property and retry.

or other

Actual behavior
OperationStopped: Unable to load shared library 'libmi' or one of its dependencies. In order to help diagnose loading problems, consider setting the LD_DEBUG environment variable: liblibmi: cannot open shared object file: No such file or directory

Environment data

Pwsh.linux.Arm.7.1

try catch invalid
try{
$null=Get-NetFirewallRule -DisplayName block
set-NetFirewallRule -DisplayName "Block" -Direction Inbound -RemoteAddress $ip.name -Protocol TCP -Action Block
}catch{
new-NetFirewallRule -DisplayName "Block" -Direction Inbound -RemoteAddress $ip.name -Protocol TCP -Action Block
}

out
Get-NetFirewallRule: No MSFT_NetFirewallRule objects found with property 'DisplayName' equal to 'block'.  Verify the value of the property and retry.
Set-NetFirewallRule: No MSFT_NetFirewallRule objects found with property 'DisplayName' equal to 'Block'.  Verify the value of the property and retry.

@he852100 not all errors are terminating by default. If you need to ensure they are caught by a try/catch you'll need to use -ErrorAction Stop on the cmdlets in the try block.

/cc @anmenaga I see the NetSecurity module is core compatible but I am not sure that it is Unix compatible.

@he852100 Please provide more info on your repro environment: what OS/device is it? and how did you deploy NetSecurity module on it?
Thank you.

Sorry, it's just an error message.  The problem with the arm client.

Close as stale issue.

Close as stale issue.


[Bug] az artifacts universal download throws System.TypeInitializationException during docker image build

Issue reference from Azure CLI Extension repo
https://github.com/Azure/azure-cli-extensions/issues/934

Hi,
Has there been progress on this?
I'm trying to install the extension in a Docker container with the Azure CLI.
Thank you,
Michael

Closing this issue as has been stale for long.
Please feel free to open is again , in-case required.


Bug on JWT token auth docs.

Is some content missing, wrong or not clear?
I think there is an error in the docs on the pages :
https://docs.open-metadata.org/v1.2.x/deployment/security/enable-jwt-tokens
https://docs.open-metadata.org/v1.2.x/deployment/security/jwt-troubleshooting
It's indicated to append a public key uri with http (in the format: http://{your domain}:8585/api/v1/system/config/jwks) so SSO an JWT token auth can work togheter. But i had to add a uri with https to enable SSO and JWT in my kubernets deployment using the helm chart.  The uri format i used was:  https://{your domain}/api/v1/system/config/jwks.
Describe the solution you'd like
I think it would be nice to change the uri format to something like https://{your domain}/api/v1/system/config/jwks
Additional context
When i try to add a uri with http the open-metadata server throw the following error:
com.fasterxml.jackson.core.JsonParseException: Unrecognized token 'Moved': was expecting (JSON String, Array, Object or token 'null', 'true' or 'false' ...
I would be happy to contribute a pull request for this.

@joaopedro02 I mean I think its fairly clear right, if you enabled https use https or if not use http. We can't document at that minute level. The default is what we put together.


what's the status of this project?

ratel is a cool project. It seems that the rewrite branch is still quite active.
Do you have any roadmap or plan to integrate back to master branch?

Hey @piaoger. I'm hoping to merge rewrite back to master sooner rather than later.

It's much faster (by a factor of 3 or s) thanks to switching from vecs and boxes to an arena allocator.
All AST nodes have location data.
There is a visitor pattern implementation along with some basic scope analysis (so that transforming const / let with name conflicts should work just as it does in Babel / TS).

There is also a WASM build that isn't on the repo yet. You can preview it parsing to ast here: http://maciej.codes/ratel-wasm/

Thanks for your response. The WASM preview demo is great .
Looking forward to the merging back ...

The code of the WASM preview will be added to the project soon as well.


Opensourcing omi personas

chat with Nik about prompts

customize prompt in env variable. > this loc https://github.com/BasedHardware/personas-open-source/blob/275816c19edeb4797c20c48703a2905804b92487/src/app/page.tsx#L269 should be put to the env var
make sure that we can see traffic/sales from personas.omi.me . >  Shopify should aware about traffic/sales from personas.omi.me
auto-updates from repo. > move https://github.com/BasedHardware/personas-open-source to omi/frontend/omi-personas then add a github action to deploy it automatically to CR

repo:https://github.com/BasedHardware/personas-open-source

just updated the desc, @mdmohsin7 feel free to ask :)

just updated the desc, @mdmohsin7 feel free to ask :)

Alright let me try

Wait only that specific line has to be customised through env? or the full prompt? Because I did it for full prompt. Lmk if I should change it. I probably did not read it clearly before lol @beastoin
https://github.com/BasedHardware/personas-open-source/pull/1

make sure that we can see traffic/sales from personas.omi.me . > Shopify should aware about traffic/sales from personas.omi.me

https://community.shopify.com/c/shopify-discussions/is-it-possible-to-track-the-originating-source-of-my-orders/m-p/2389463/highlight/true#M412159
This looks like a good solution which we can use to track the source of orders. It makes use of Shopify's own Flow app and also the customer journey data.

ea

just that line of code. kind of extra rules. also it would be great if we don't push the prompt to client side
@mdmohsin7

Shopify flow has been created. It now tags orders with the referral code. That is we will have to pass in the ref param in the url. For example if upon clicking on a button, the user is redirected to omi.me, we will have to replace the link with omi.me/?ref=personas. And when the user places an order after coming from personas, the referral code (personas) will be added as a tag to that order after 5 minutes