nodeSelectorTerms cannot be applied via IstioOperator in 1.5.0 and 1.5.1

Bug description
Using IstioOperator configuration file and istioctl manifest generate command it is not possible to configure nodeSelectorTerms on any Istio component, as istioctl command returns an error, or doesn't apply the change.
Expected behavior
I should be able to configure nodeSelectorTerms on any component of Istio via IstioOperator.
Steps to reproduce the bug
Provide any IstioOperator configuration which has nodeSelectorTerms, e.g. for Pilot:
 apiVersion: install.istio.io/v1alpha1
 kind: IstioOperator
 spec:
   profile: default
   components:
     pilot:
       k8s:
         affinity:
           nodeAffinity:
             requiredDuringSchedulingIgnoredDuringExecution:
               nodeSelectorTerms:
                 - matchExpressions:
                   - key: mykey
                     operator: In
                     values:
                      - myvalue

And apply it:
$ ~/istio-1.5.0/bin/istioctl manifest generate -f o.yml
proto: tag has too few fields: "-"
Error: validation errors (use --force to override):
validate path Components.Pilot.K8S.Affinity.NodeAffinity.RequiredDuringSchedulingIgnoredDuringExecution, value: myvalue, expected ptr, got string

And the same with 1.5.1:
$ ~/istio-1.5.1/bin/istioctl manifest generate -f o.yml
Error: validation errors (use --force to override):
validate path Components.Pilot.K8S.Affinity.NodeAffinity.RequiredDuringSchedulingIgnoredDuringExecution, value: myvalue, expected ptr, got string

Version (include the output of istioctl version --remote and kubectl version and helm version if you used Helm)
No dependency on the cluster.
Affected istioctl versions: 1.5.0, 1.5.1
How was Istio installed?
Not installed
Environment where bug was observed (cloud vendor, OS, etc)
macOS, Ubuntu, Windows
N/A

I want to add that it's possible to set nodeSelectorTerms via Helm options:
 apiVersion: install.istio.io/v1alpha1
 kind: IstioOperator
 spec:
   profile: default
   values:
     pilot:
       nodeSelector:
         mykey: myvalue

this should be fixed by: https://github.com/istio/istio/pull/22067. Can you confirm @morvencao ? I just added the cherry-pick label.

@richardwxn Correct, it's already fixed in master branch.


research task:  shallow or deep?

Need to discover whether the jmap -histo data byte counts are shallow, deep, or somewhere between.
Need to use data from examples in issue #4.

This stackoverflow question suggests a number of things remain unanswered.

This stackoverflow question suggests a number of things remain unanswered.

bytes in jmap -histo are shallow, not deep.
For example, this stackoverflow question prints:
 num     #instances         #bytes  class name
----------------------------------------------
   1:       1134597<PHONE_NUMBER>  [B
   2:        407694      144032664  [Ljava.lang.Object;
   3:       2018132      111547480  [C
...
   7:        975220       23405280  java.lang.String
...

So the bytes size of String instances are 23405280 /  975220 = 24 bytes exactly per instance (in this JVM).
It is impossible that String instances are only 24 bytes including contents.
So the bytes size in jmap -histo is shallow.
The bytes size depends in fact of the types and numbers of attributes declared in the class and of 32-bits/64-bits/compressed oop. The bytes size can be computed for an object according to the Java Language Specification: see for example, https://stackoverflow.com/questions/52353/in-java-what-is-the-best-way-to-determine-the-size-of-an-object


Container registry validation fails incorrectly

Check for previous/existing GitHub issues

[X] I have checked for previous/existing GitHub issues

Issue Type?
Bug
(Optional) Module Version
0.2.1
(Optional) Correlation Id
No response
Description
When the workspace is private and kind is default, the container registry validation always fails whether creating new or providing a resource id.

Cutting a new release will resolve this issue -- @Nepomuceno, @shanepeckham what are your thoughts?

Closed with release 0.3.0


Virtual platform attestation protocol?

In GCP we have as part of every Shielded VM's vTPM an endorsement key certificate that includes x.509 extensions that bind a quote to platform identity metadata. This is zone, project name, project id, instance name, instance id (I think). Platform identity has value even if it does mean trusting the host to provide it.
Both SEV-SNP and TDX have ways of binding host data to a VM launch with HOSTDATA or MRCONFIG[ID] respectively, but those can't be used for authenticity claims. I'm still unsure what they're meant for.
This isn't plan of record, just cooking an idea, but does a platform-issued AKcert from a host-controlled per-instance EK sound appealing to anyone else? To get that, we'd need to agree on a hypervisor-SVSM protocol for the certificate signing request. I would hate to impose a PCKS#10 implementation on Coconut-SVSM though, so this might need to wait for C509's ratification as an RFC https://www.ietf.org/archive/id/draft-ietf-cose-cbor-encoded-cert-07.html

As I mentioned in the last call, we're looking on early attestation in SVSM and we need something similar to identify each CVM. Essentially, we need a unique ID to be used with the attestation server to deliver the right encryption key to unlock the SVSM state stored in a host file and exposed to SVSM as a virtio-blk or NVRAM device. More info here (I'll post ASAP on the ML): https://docs.google.com/document/d/11ZsxP8jsviP3ddp9Hrn0rf6inttNw_Pbnz0psXlxlPs
We also thought at HOSTDATA to put that id, otherwise in the SEV-SNP firmware ABI spec, there is 4.6 Identity Block section: The identity block contains the expected launch digest of the guest, information uniquely identifying the guest, the guest policy bitfield, and a signature by the guest owner.
Can it be used also for this use case?

The unique ID for a SEV-SNP VM is the ReportID field, but if you want it to be persistent across cold boots, then it's all based on the control plane maintaining some sense of sameness. You would need a platform-held secret to sign information that's cryptographically bound to a secret used on the quote, like the Attestation Key. It can't be exported information like HOSTDATA.
If you get a report and share it for it for verification, that same HOSTDATA could be used by someone else to claim they're from the cloud platform the report came from. Not great. We'd like for that platform claim to be protected.
In GCE we have a certificate authority that provides both EK certs and AK certs. The EK certs have the control plane instance information that is also queryable from a metadata server. The AK certs we also provide from the same CA since the TPM anonymous credential activation protocol isn't valuable for cloud VMs. The VMM <-> Coconut SVSM direct communication removes the need for such complexities.
The AK can be different every boot, but the EK will be stable. You can use a different credential activation service if you want in order to issue AK certs separately from the VMM, but I don't see value in that.
Since the platform claim is bound to a non-exportable secret, the AKpriv, and the AKpriv signs the tpm quote, and the AKpub is included in the SVSM services manifest, I think that gives us a strong cryptographic binding that every quote can be verified to be coming from a TEE hosted on the certifying platform.

@deeglaze thank you very much for the details!
So, IIUC the proposal, we should create a communication channel between VMM and SVSM (similar to what we were planning to do with the remote attestation proxy). This channel will be used by the host to inject EK and AK into SVSM, right?

We’d only inject the EK, since the AK is secret to the VM. We would send out the AKpub for certification though. At Google we have a paravirtual firmware device that supports a few different calls, including a feature negotiation protocol to allow copyless migration to different VMM versions that may have more or fewer feature support. This will be necessary to allow svsm to run in cloud production and evolve over time.
The device has a request page just like ghcb, and once populated, we use io ports to ring a doorbell for the VMM to read it and respond. This was written for persistent uefi variable support, so it also has a slower port-only communication channel for when the uefi doesn’t own the page tables anymore. It’s a bit clunky and could benefit from a redesign for svsm support and removal of some Google only code we add to ovmf before we publish the fork for transparency.

I've been talking more with my colleagues, and there should be no need for the host to hold any secret other than the CA private key that signs certificates. The NVDATA sealing key release protocol is something that we want to optionally depend on platform-provided claims, like project id and instance id. I know the Trustee KBS has their own key release protocol, but I'm hoping we can design a more service-agnostic key release protocol for Coconut-SVSM to get an NVDATA sealing key released to it before initializing the vTPM.
I'd need to know more details about the network proxy we expect to have access to in order to establish a connection to a key management service in the first place. Do we have anyone who's volunteered for that design work?

I've been talking more with my colleagues, and there should be no need for the host to hold any secret other than the CA private key that signs certificates. The NVDATA sealing key release protocol is something that we want to optionally depend on platform-provided claims, like project id and instance id. I know the Trustee KBS has their own key release protocol, but I'm hoping we can design a more service-agnostic key release protocol for Coconut-SVSM to get an NVDATA sealing key released to it before initializing the vTPM.

Yeah, agree on that!

I'd need to know more details about the network proxy we expect to have access to in order to establish a connection to a key management service in the first place. Do we have anyone who's volunteered for that design work?

I'm the one who volunteered :-) I still have to send the proposal, but the draft is here: https://docs.google.com/document/d/11ZsxP8jsviP3ddp9Hrn0rf6inttNw_Pbnz0psXlxlPs
For the proxy, I still have to complete the second proposal in the document which we think could be agnostic enough and allow implementing any protocol in the proxy side, demanding to SVSM just the attestation report generation and asking for a secret from the attestation server. In our case, it will be a key used to unlock a persistent SVSM state, but can be used for anything else. I'll put more details in the next days in the document, but feel free to comment/suggest.


Fix enough network address space assert

I already commented on the original PR: The intent is to ensure network size suffices for the number of pods, i.e. 2^(32 - netmask-lenght) - 2 [net-addr and broadcast]. Wrapped myself around one time to often in the notation. Without trying to put blame elsewhere but me: I am wondering how that got past the test, though. Assuming that CI tests run with default, my garbled calc should have hit a wall then.

I got an error only with the scale, maybe CI does not test scale case

ci check this

Fixes: https://github.com/kubernetes-incubator/kubespray/pull/2819


OCPBUGS-44376: Add skip renames to upstream tests

Which issue(s) this PR addresses:

Closes #

/lgtm

/test ocp-full-conformance-serial-optional-components-rhel-eus


Proposal for POSIX error numbers in std::os::unix.

Previous discussion: https://internals.rust-lang.org/t/pre-rfc-posix-error-numbers-in-std-unix/12852
rendered

In current RFC:

POSIX does not specify the type of these error numbers -- they are defined as C macros, which are untyped integer literals.

While that's maybe true, <errno.h> requires errno symbol and macros like E2BIG to be defined with type int.

Binaries that interact with the kernel directly (e.g. via asm!() syscalls) need to interpret error numbers, and should not require a dependency on libc to do so.

Why? errno is a C symbol, why it cannot depend on libc.

While that's maybe true, <errno.h> requires errno symbol and macros like E2BIG to be defined with type int.

<errno.h> is part of the C API, and it only matters to programs making syscalls through libc wrappers. When a program is directly interacting with the kernel the types that matter are defined by the kernel implementation, which may be different. For example, Linux on x86 uses long values in the range [-1, -4095].

Why? errno is a C symbol, why it cannot depend on libc?

Binaries that interact with the kernel directly do not read errno, they read the return codes from syscalls (which are placed directly in registers). The errno symbol does not exist in such binaries.

I really like this proposal.
I would love to see the additional type for negative error numbers, too. And I'd like to be able to use both types (and Option of them) in extern "C" function signatures.
Minor bikeshed: errno is a term of art at this point, and I would rather see this called Errno instead of ErrorNumber. I think that would be much easier for people to work with. I'm not proposing this as an abbreviation; I'm proposing it because these are most commonly called "errno values", not "error numbers".

And I'd like to be able to use both types (and Option of them) in extern "C" function signatures.

That sounds reasonable. Does the definition need to do anything special, such as using #[repr(C)], or is a single-element tuple struct automatically usable in extern "C" signatures?
...  which reminds me, this type probably shouldn't be usable by itself as the return value of extern "C" due to the NonZero semantics. Is there any way to only allow it as an extern "C" return value when used as an Option<T>?

Minor bikeshed: errno is a term of art at this point, and I would rather see this called Errno instead of ErrorNumber. I think that would be much easier for people to work with. I'm not proposing this as an abbreviation; I'm proposing it because these are most commonly called "errno values", not "error numbers".

My primary concern with calling the type Errno is confusion with the C symbol errno, which has an extremely ambiguous relationship with the POSIX error numbers. Maybe ErrorCode would work instead?

Some questions:

Why libc is not appropriate? ErrorNumber struct is under std::os::unix, it will be in std only, not available under no_std.
Like it or not, std depends on libc. If one write kernel driver or so, doesn't they have to depend on no_std only ?
Why not make it a no_std crate? ErrorNumber is not depend on any std implementation details.
Making it a no_std crate, Rust ecosystem doesn't have to waite for this feature on nightly.

Why libc is not appropriate? ErrorNumber struct is under std::os::unix, it will be in std only, not available under no_std.

Please see the reference-level explanation, which discusses placing it in a separate sub-crate and exporting the types from std. This is the same model as the alloc crate.

Why not make it a no_std crate? ErrorNumber is not depend on any std implementation details.
Making it a no_std crate, Rust ecosystem doesn't have to wait for this feature on nightly.

Anyone who is excited about the prospect of discovering and maintaining error number definitions across UNIX vendors for all platforms supported by rustc, indefinitely, is welcome to define such a crate.

Anyone who is excited about the prospect of discovering and maintaining error number definitions across UNIX vendors for all platforms supported by rustc, indefinitely, is welcome to define such a crate.

This answer is not helpful.
hashbrown is an external crate, but it is imported by Rust for HashMap.
The same strategy could happen for ErrorNumber crate.
Having it as external crate, one will have time to complete the API, freely to make breaking change (followed semver).

There are some cool ideas here, none of which really need to be in the standard library.
Why not build this design that you want as a crates.io crate, and then when it's ready you can propose moving the crate into some part of the standard library?

I do not have the time or resources to maintain an out-of-tree standard library crate, given the diversity of platforms that Rust targets.

I agree that maintaining a crate is hard.
In external crate, there are no need to support every target. Most people would just need a demo for Linux, macOS.

You also don't have to do it alone. If this plan is actually solid enough to include in the standard library, I'm sure you can recruit some people to help out.

Most people would just need a demo for Linux, macOS.

To clarify: would putting up a crate on github, without registration on crates.io, be enough of a demo? I could do it for a couple common platforms (x86 Linux/macOS/FreeBSD, whatever ARM target RaspberryPi is) with machines I have at hand.
Because crates.io does not support deleting obsolete crates, I would not want to put a demo crate on there when I have no plans to implement support for all the Tier 2 platforms.

You also don't have to do it alone. If this plan is actually solid enough to include in the standard library, I'm sure you can recruit some people to help out.

My experience with open-source is that it is extremely difficult to find co-contributors for even critical infrastructure software, so I am reluctant to publish a crate first and hope for help later.

Crates that are part of the overall standard library are actually sometimes on crates.io even if they're also in the standard library, such as hashbrown.

I agree this is a better fit as a third party library. "I don't have time to work on this" is not a suitable rationale to add something to the standard library, IMO.
The work of tracking down error codes for various targets has already been done - in the libc crate. It is not clear to me why it would be desirable to duplicate all of that work rather than just making a third-party library that depends on libc for the values of the various error codes and exposes the ErrorNumber type.

The goal of this library is to allow code to avoid depending on libc.

What is the concrete cost of depending on the libc crate?

What is the concrete cost of depending on the libc crate?

Do you mean in general, or for the specific project that is motivating me?
In general, depending on the C language's standard library for core functionality is unnecessary on many platforms. There's no need to add either the runtime complexity of glibc or the weight of static MUSL when Rust is perfectly capable of communicating with the kernel directly. You can read some of the history behind https://github.com/rust-lang/rfcs/issues/2610  or https://github.com/rust-lang/compiler-builtins for additional reasoning on why people might want their Rust binary to be pure Rust (security, portability, self-hosting toolchains, ...).
In specifics, I am trying to build a #![no_std] binary which will run in a restricted environment that is basically just bare Linux, no libc or dynamic linker or anything. Runtime performance of the system will be determined in part by filesystem size, so saving bytes via reduced dependencies is useful to me.

Using constants in libc crate will not make binary depends on glibc.

Sorry, maybe I'm not communicating well, or am being unclear.
I want to build Rust binaries that do not depend on the libc crate.

@joshtriplett @Lokathor I've pushed a demo to https://github.com/jmillikin/rust-posix-error-numbers
rustdoc: https://jmillikin.github.io/rust-posix-error-numbers/target/doc/posix_error_numbers/
Hopefully this is enough to get a feeling for the shape of the API without having to register a persistent crate.

I'm not actually on the libs team, sorry if I confused you there, but I just was giving general advice of how to convince people to move something into the standard library. If it can be made to work, and work well, outside of the standard library, then you should always start there.

@jmillikin you seem to be contradicting yourself. When asked:

What is the concrete cost of depending on the libc crate?

You answered:

There's no need to add either the runtime complexity of glibc or the weight of static musl when Rust is perfectly capable of communicating with the kernel directly.

But when @lzutao pointed out that depending on the libc create does not add the runtime complexity of either glibc or musl, you said:

I want to build Rust binaries that do not depend on the libc crate.

The question is why do you not want to depend on the libc crate, given that it does not add any runtime complexity.

I want to build Rust binaries that do not depend on libc.
The specific single project I'm working on now needs to avoid a runtime dependency, but that is merely a minor special case of wanting to write Rust software that does not depend on the C standard library.
For people whose position is "Rust programs depending on libc is not a problem", I respectfully suggest that this feedback is off-topic for my proposal.

I want to build Rust binaries that do not depend on libc.

Then use the libc crate. The libc crate does not pull in an implementation of libc.

For people whose position is "Rust programs depending on libc is not a problem", I respectfully suggest that this feedback is off-topic for my proposal.

No-one has voiced this opinion. The opinion voiced is that depending on the libc crate is not a problem, as doing so does not introduce a dependency on libc.
If there is no downside to using the libc crate, then this RFC is missing a motivation, and that is absolutely on-topic for the RFC discussion.

I don't think this should be in std, but I do want to point out that, while any runtime dependency on libc may be optimized out during linking, depending on the libc crate does create a build-time dependency on libc, if your target specifies it.
The no_std crowd has long asked for a “types only” crate (for FFI). I don't think the error codes are quite the same, but this seems like a related issue.

At the risk of sounding incredibly silly:

Then use the libc crate. The libc crate does not pull in an implementation of libc.
That sounds like an implementation detail of libc, rather than something essentially true about it. :^)

I agree this is a better fit as a third party library. "I don't have time to work on this" is not a suitable rationale to add something to the standard library, IMO.
This can still be true, however! I think deciding on the destination of std::os::unix in particular is premature.

I don't know if error constants defined by kernel header differ with libc's one.
This is a question that was implicitly raised, and if it is true for any platform this proposal is significantly more important.

To clarify my comment on time commitment: I'm happy to dedicate time to getting error codes for existing platforms defined, and I can directly help with platforms I'm familiar with (macOS, Linux, FreeBSD). "Support existing rustc target platforms" is a bounded effort.
My main concern with maintaining an out-of-tree create is that in five years someone's gonna come along with a port of Rust to  DEC Alpha or something and will file a bug against my crate asking for coverage, and then I'm stuck. So if there's going to be a canonical place for Rust to define error codes per platform, I really want that to be in-tree with the rest of the standard library.

I share your concerns about the burden of maintaining multi-platforms crate for one-man.
But bringing it in-tree with std is not the only option,
it could live under rust-lang organization like rust-lang/libc, backtrace-rs, mdbook, etc,..
if it is important and the team endorse it.

In specifics, I am trying to build a #![no_std] binary which will run in a restricted environment that is basically just bare Linux, no libc or dynamic linker or anything.

Wouldn't a custom target triple, something like x86_64-unknown-linux-bare and a libc (crate) implementation only using raw syscalls achieve that?

I don't think a custom target triple is needed, since Linux doesn't have a different ABI.
Reimplementing a libc in Rust and binding to it with FFI via the libc crate is an interesting proposal but seems like a very large amount of work compared to providing libc-free access to the operating system's public constants.

I don't think a custom target triple is needed

It is. The -gnu implies you're linking to GNU libc.

It is. The -gnu implies you're linking to GNU libc.

By default binaries with #![no_std] don't link to any libc.

Then for #![no_std] perhaps a libc feature (or the absence of default features) that only consists of the constants and doesn't link to glibc could work?

Then for #![no_std] perhaps a libc feature (or the absence of default features) that only consists of the constants and doesn't link to glibc could work?
I think this was covered in earlier posts in the thread, but if a Rust compilation depends on the libc crate then that is a dependency on libc. The objective of this proposal is to allow building Rust binaries that do not depend on libc.

but if a Rust compilation depends on the libc crate then that is a dependency on libc.

It currently is. The point is to create a restricted feature set where that's not the case.

@matu3ba this proposal is about POSIX error numbers as exposed by low-level operating system interfaces. The C language's errno.h header and associated semantics are separate and mostly unrelated.
I'll respond to some of the comments in more detail regarding things like zero as a valid error number.

@jmillikin Thats sounds good to me.
The thing I do not quite understand is, if the RFC should only have direct Kernel calls as scope or also how to deal with additional C libraries. (Mostly due to the usage of int64)
You mention them, but at the same time want to restrict the scope to POSIX/system stuff. Maybe this could be clarified in the RFC?

Closing as obsolete.
I've defined a subset of the proposed functionality in the following packages:

https://crates.io/crates/posix-errno
https://crates.io/crates/linux-errno
https://crates.io/crates/freebsd-errno

Folks who are interested in other platforms might try creating similar libraries along the same lines.
An example of these types in use is https://crates.io/crates/linux-syscall, which provides Result traits for various interpretations of the output register.


feat!: Handle 0.7 breaking changes and updates [APE-1563]

What I did

fixes: #
How I did it
How to verify it
Checklist

[ ] Passes all linting checks (pre-commit and CI jobs)
[ ] New test cases have been added and are passing
[ ] Documentation has been updated
[ ] PR title follows Conventional Commit standard (will be automatically included in the changelog)

closing for https://github.com/ApeWorX/ape-infura/pull/70


Error on Unity 2019.2.5f1 Shader Exporting

Import: System.ArgumentOutOfRangeException: Index not included in the range. Non-negative value required and smaller than collection size.
Parameter name: index
in System.ThrowHelper.ThrowArgumentOutOfRangeException(ExceptionArgument argument, ExceptionResource resource)
in System.SZArrayHelper.get_Item[T](Int32 index)
in uTinyRipper.Classes.Shaders.SerializedSubProgram.Export(ShaderWriter writer, ShaderSubProgramBlob blob, ShaderType type, Boolean isTier)
in uTinyRipper.Classes.Shaders.SerializedProgram.Export(ShaderWriter writer, ShaderType type)
in uTinyRipper.Classes.Shaders.SerializedPass.Export(ShaderWriter writer)
in uTinyRipper.Classes.Shaders.SerializedSubShader.Export(ShaderWriter writer)
in uTinyRipper.Classes.Shaders.SerializedShader.Export(ShaderWriter writer)
in uTinyRipper.Classes.Shader.ExportBinary(IExportContainer container, Stream stream, Func3 exporterInstantiator)    in uTinyRipperGUI.Exporters.ShaderAssetExporter.Export(IExportContainer container, Object asset, String path)    in uTinyRipper.AssetExporters.AssetExportCollection.Export(ProjectAssetContainer container, String dirPath)    in uTinyRipper.AssetExporters.ProjectExporter.Export(String path, FileCollection fileCollection, IEnumerable1 assets, ExportOptions options)
in uTinyRipper.GameStructure.Export(String exportPath, Func`2 filter)
in uTinyRipperGUI.MainWindow.ExportFiles(Object data)
In the latest version.

Need a file to reproduce this issue

All the files that i tried to extract  https://we.tl/t-n5z9URYrD7

For some reason, subshader group contains different gpu platforms for different tiers. Since there no other way to map subshader to blob, except to use those gpu platform, I can't properly handle this mismatch.
Since it looks abnormal (maybe it is unity bug or modification), for now, I'm not going to do anything with this issue, but if I encounter more such problems, I will try to do something about it.

There's a way to skip that error and continue to extract the remaining files?

Rebuild ripper from source code with try/catch block. Otherwise, exclude the file containing this broken shader.

Well, I rethought my position about such type of issues. Since it looks very weird, I decided to ignore them until people could provide a way to reproduce it in Unity (eg provide a project I can build and get a game files with the same issue).


Cleanup use of _intf files

Each .mli file corresponding to a _intf.ml file should ideally be identical (just an include of a module type) for consistency.

LGTM


Restructure README to improve readability

Followed the recommendations from the Github Guides.
PR for Issue #941. Closed PR 1084 in favor of this one.
I read and tried to follow the instructions on creating relative links to markdown files for the gitbook. Let me know if I missed something.

This change is

Coverage remained the same at ?% when pulling d635036d1cb9b87156eb3c0cdbd6657e1f29a436 on rodrigobdz:readme-structure into 73cf07e7c38d394a23af77255070cc6f707a5e73 on shakacode:master.

Coverage remained the same at ?% when pulling d635036d1cb9b87156eb3c0cdbd6657e1f29a436 on rodrigobdz:readme-structure into 73cf07e7c38d394a23af77255070cc6f707a5e73 on shakacode:master.

@rodrigobdz we need to update: https://github.com/rodrigobdz/react_on_rails/blob/master/SUMMARY.md
That makes the TOC for the gitbook view.

@justin808 What exactly is missing in the SUMMARY?

See #1103.


add support Query\Builder::union methods for PHPStan and Larastan

Discussed in https://github.com/laravel/framework/discussions/42476

Originally posted by fagai May 23, 2022
Hello.
Previously I opened the following PR.
https://github.com/laravel/framework/pull/42374
This was a PR to deal with PHPStan getting an error because there is no Eloquent Builder description in the phpdoc of the query builder union method.
However, this PR was closed due to the contributor's misunderstanding.
I opened a similar PR for Larastan.
This PR was successfully approved.
https://github.com/nunomaduro/larastan/pull/1231
I'm hoping that the PR on the framework side will be merged, but I opened this because I don't know what to do.
The Builder::union method is supports Illuminate\Database\Eloquent\Builder, but an error occurs because there is no description.
Steps to reproduce
$first = User::where('id',8);

$users = User::where('id',2)->union($first)->get();

Error Report
Parameter #1 $query of method Illuminate\Database\Eloquent\Builder<Illuminate\Database\Eloquent\Model>::union() expects Closure|Illuminate\Database\Query\Builder, Illuminate\Database\Eloquent\Builder given.

Description
Illuminate\Database\Eloquent\Builder is not a subtype of Illuminate\Database\Query\Builder.
Illuminate\Database\Eloquent\Builder
use Illuminate\Contracts\Database\Eloquent\Builder as BuilderContract;
class Builder implements BuilderContract
{

Illuminate\Database\Query\Builder
use Illuminate\Contracts\Database\Query\Builder as BuilderContract;
class Builder implements BuilderContract
{

Please don't move discussions to issues.

okay, sorry


Not recognizing package name and version header options

Runnig grunt-pot on Windows with gettext-0.14.4 installed. Xgettext does not recognize --package-version and --package-name options.
Running "pot:files" (pot) task
Destination: lang/roots.pot
Warning: Command failed: xgettext: unrecognized option --package-name=roots
Try (null) --help for more information.
Use --force to continue.
Aborted due to warnings.
If I comment corresponding lines in pot.js file, task runs without errors.

I have the same issue. Commenting the same lines in pot.js has fixed the problem.

Instead of modifying the source code, assigning false to both package_name and package_version bugfixes this issue as well - but is no real solution.


Reveal period calendar error

The calendar date calculated is wrong. It says the reveal period is form the 3rd to the 5th day and it is from the 4th to the 5th.

It also has an error in time calculation, maybe it has to do with time zones.


Duplicated traces when API Gateway AWS_PROXY enabled and using XRAY

Hey team,
My project is using
github.com/DataDog/datadog-lambda-go v1.17.0
gopkg.in/DataDog/dd-trace-go.v1 v1.64.1
https://github.com/DataDog/datadog-lambda-extension/releases/tag/v58

Lambda config
DD_API_KEY ....
DD_APM_DD_URL http://xxx.xxx.xxx.xxx:3835
DD_CAPTURE_LAMBDA_PAYLOAD true
DD_ENV PROD
DD_LOGS_CONFIG_LOGS_DD_URL http://xxx.xxx.xxx.xxx:3835
DD_LOGS_CONFIG_LOGS_NO_SSL true
DD_LOGS_CONFIG_USE_COMPRESSION true
DD_LOGS_CONFIG_USE_HTTP true
DD_LOGS_ENABLED true
DD_MERGE_XRAY_TRACES true
DD_SITE datadoghq.eu
DD_TRACE_ENABLED true
DD_TRACE_STARTUP_LOGS false
DD_UNIVERSAL_INSTRUMENTATION true
DD_URL http://xxx.xxx.xxx.xxx:3835

We are using API Gateway and Lambdas, And I found an incorrect behavior from end user perspective. When API Gateway integrates with Lambda using AWS intregration type all work well - I have nice tree of connected spans all is beautiful for over 50 endpoints which we have. Worth to note that API is represented as https://domain.com and properties like
{
   "api":{
      "endpoint":{
         "method":"GET",
         "registered":"true",
         "route":"/v0/.....",
         "route_id":"/v0/...."
      }
   },
   "api_gateway":{
      "account_id":"...",
      "request_id":"....",
      "rest_api_id":".....",
      "stage":"v0"
   },
   "aws_api_id":"....",
   "aws_api_stage":"v0",
   "aws_base_path":"v0",
   "aws_domain":"....",

But there are 2 endpoint which are using AWS_PROXY integration type as they are returning binary files and such integration works better for us. And now traces are not so perfect - we are getting new service domain.com instead of https://domain.com with completly different set of properties which do not includes "api" json object. In some cases we see only connected that span + lambda in other we see that + full trace like in regular execution combined together.
I am not sure if this is right repo, or maybe I should report this at Agent repo - but sth is wrong here - switch to AWS_PROXY integration type from AWS should not have that impact.
At the end this leads to:

In traces I have 2 services https://domian/com and domain.com
In API Catalog I have endpoint without assigned API - which is also incorrect and is happening only for AWS_PROXY endpoints

Hi again @xrn, so I think I have an idea of what is going on and have some ideas on how to proceed.
I think the reason you're seeing two different sets of tags is due to the way we determine the lambda event type. Using the inbound payload, we look at the structure of the json and given a series of expectations, we determine what type of event it is.
My suspicion is that your AWS_PROXY functions are not being recognized in the same way as your other functions. You can confirm this by looking at the different inbound payloads which are saved on the aws.lambda span.
As far as fixes go, I do not have enough information about your setup to give a full recommendation. However, I would suggest taking a look at DD_APM_REPLACE_TAGS which might help you remap some of your tags.
If that doesn't work for you, I suggest opening a support ticket so we can take a closer look at your use case.

Hey @purple4reina thank you for your response. There is a ticket for that case - 1703458 hope that you would be access it, please let me know if this is a case.

@purple4reina what do you think on above?

I want to share one my additional observation. When lambda is connected to API Gateway and xray is enabled - in Lambda -> Monitor at bottom we can find section of Traces - for both methods AWS and AWS_PROXY console is properly displaying in URL Address column https://{domain}/{stage}/{path} - so this is another evidence for me that this should be aligned, and I think you should be easily able to reproduce it

@hghotra @purple4reina would like to check with you if there is a chance that above would be solved in predictable future.

Hey team @purple4reina @hghotra
We upgraded libs to the newest version including new gen extension https://github.com/DataDog/datadog-lambda-extension/releases/tag/v67 and it looks like that problem is solved now all endpoints are marked as https://{domain}/{stage}/{path} and does not metter if it is AWS_PROXY or AWS


Getting Error: GoModulesBuilder:Build - Builder Failed with deploy-tre.sh when building Lambda functions

I am getting a directory not found error in deploy-try.sh when building Lambda functions.
Environment:
MacOS Ventura 13.3.1 (22E261)
SAM: SAM CLI, version 1.79.0
AWS CLI: aws-cli/2.11.11 Python/3.11.2 Darwin/22.4.0 exe/x86_64 prompt/off
Python: 3.9.13
Python is managed by pyenv
Steps to reproduce:

Clone the repo.
Set up my AWS profile.
Change directory to the repo root.
Invoke bin/bash/deploy-tre.sh -r us-east-1

The error I get (with a few preceeding lines):
Building codeuri: /Users/stevencaswell/Projects/aws/service-catalog/terraform-reference-engine/service-catalog-engine-for-terraform-os/lambda-functions/provisioning-operations-handler runtime: python3.9 metadata: {} architecture: x86_64 functions: TerraformEngineProvisioningHandlerLambda, TerraformEngineTerminateHandlerLambda
Running PythonPipBuilder:ResolveDependencies
Running PythonPipBuilder:CopySource
Building codeuri: /Users/stevencaswell/Projects/aws/service-catalog/terraform-reference-engine/service-catalog-engine-for-terraform-os/lambda-functions/terraform_open_source_parameter_parser runtime: go1.x metadata: {} architecture: x86_64 functions: ParameterParser
Running GoModulesBuilder:Build

Build Failed
Error: GoModulesBuilder:Build - Builder Failed: stat /Users/stevencaswell/Projects/aws/service-catalog/terraform-reference-engine/service-catalog-engine-for-terraform-os/lambda-functions/terraform_open_source_parameter_parser/terraform_open_source_parameter_parser: directory not found

It looks as if the name of the Python directory has been added twice to the function path:
/Users/stevencaswell/Projects/aws/service-catalog/terraform-reference-engine/service-catalog-engine-for-terraform-os/lambda-functions/terraform_open_source_parameter_parser/terraform_open_source_parameter_parser

I solved my own problem, will leave this here in case others have this problem.
In looking further through other issues, I ran across a recommendation to upgrade go to the latest version, 1.20. I upgraded my go to this version and the problem was resolved.


Split(".www.miek.nl.") -> []string{"", "www", "miek", "nl"},

This might be a bug (or not). It's is basically an illegal domain name that you then split...

Change the interface, add a new func or make a note of it for a someday-maybe dns2?

We could return []{0} for this... but yeah returning an error is better...

Maybe a simple breaking change log could make things like this easier. A low effort way to do it would be to just put '#breaking` or similar in commit messages and then extract into the readme a list of commits that break things. This would be even more useful for changes that silently break things like #281 seems to have done to rrda (see fcambus/rrda#11).

[ Quoting<EMAIL_ADDRESS>in "Re: [dns] Split(".www.miek.nl.") ->..." ]

Maybe a simple breaking change log could make things like this easier. A low effort way to do it would be to just put '#breaking` or similar in commit messages and then extract into the readme a list of commits that break things. This would be even more useful for changes that silently break things like #281 seems to have done to rrda (see fcambus/rrda#11).

I agree. Should still be careful, but bugs need to be fixed even though that could
break backwards compat.
I also like the '#breaking' idea.
/Miek
--
Miek Gieben

Sketched up a way it could work.

Coming back to this specific issue and looking through other label function, such as CountLabel for instance, they don't return a value plus error. So either we break them all, or we assume and document that in the input should be a properly formatted dns name/label. I'm leaning towards the latter (garbage in, garbage out)

That sounds okay. If there's demand in the future error returning variants could always go in dnsutil.

[ Quoting<EMAIL_ADDRESS>in "Re: [dns] Split(".www.miek.nl.") ->..." ]

That sounds okay. If there's demand in the future error returning variants could always go in dnsutil.

Ok, let's agree to that. They are some prinln("deprecated") littered in the
source and at some point all of these functions/methods should be deprecated
(pref.  in one big bang release)
/Miek
--
Miek Gieben


Improve menu of Web app generator

Short description of what this resolves:
I have improved the menu of web app generator
link to new website :- https://stormy-mesa-99571.herokuapp.com/

Fixes #1710

@geekyd I have made the changes .


add environment variable to control odo verbosity

ODO_LOG_LEVEL
export ODO_LOG_LEVEL=4; odo push will be equal to odo push -v 4
Controlling log level not just through the flag, but also via env variable will make it really easy to globally change odo logging in our integration and e2e test.

/priority medium

/assign @kanchwala-yusuf


Generated code should be idempotent

Currently every time the code is generated ordered differently, this leads to auto generated api code changing between commits
I think just ordering the output by name should do the trick

We don't generate code. Are you talking about @astahmer cli ?


Improve SEO on register page

Fixes #456
Improve SEO on register page by setting up title and metadata inside the head tag.
I've also set a description, do not hesitate to tell me if changes are needed.

By the way nice project ! :+1:
Discovered it with the hacktoberfest.

@tbetous Thank you for your contribution!
The CI is failing, please run the formatter using: npx nx format:write

Done ✅
It should be ok now! 👍


Can't clone repo

This line fails to clone the repo
git clone<EMAIL_ADDRESS>--branch=gh-pages $defaultWorkingDirectory\ghpages --quiet
If I remove the user name in the url to be this
git clone<EMAIL_ADDRESS>--branch=gh-pages $defaultWorkingDirectory\ghpages --quiet
I can clone the repo.
I am an administrator on the repo, but I do not own it. What user should I be using? What am I doing wrong?

I have the same issue here... I can't use this plugin for this reason.


Full description is not provided

Describe the bug ✍

[ ] Introduction

[ ] Features

[ ] Installation

[ ] Usage of game

[ ] Development

[ ] testing

[ ] Contribution

[ ] screenshots

Provide step by step information reproduce the bug 📄
some part is missing
Select program in which you are contributing
GSSoC24
Code of Conduct

[X] I follow CONTRIBUTING GUIDELINE of this project.

Hey @msifran !
Thank you for raising an issue 💗
You can self assign the issue by commenting /assign in comment 😀
Make sure you follow CODE OF CONDUCT and CONTRIBUTING GUIDELINES 🚀
Don’t Forget to ⭐ our GameZone🎮
Make sure you join our Discord🕹

Hey @msifran! 🙂
It seems like you are not following proper guidelines !! 👀
Read documentation properly !!🙏
If you have any queries reach out to us on Discord🕹 .

Hey @msifran ! Thank you so much for your raising the issue💗
It’s all yours, you can come anytime again and make some contributions! 🚀
Alone, we can do little, but together we can do so much! 😇


Viral XXX Yailin La Mas Viral Leaked Video Videos Porno

Viral XXX Yailin La Mas Viral Leaked Video Videos Porno
Viral xxx yailin la mas viral leaked video videos porno Social media has exploded after it was reported in the trends that an alleged intimate video of the young singer Yailín "The most viral" and the rapper Tekashi69, was leaked to the network.
Video Yailin La Más Viral rapper Videos Porno
Full video de yailin nuevo yailin la más viral video video de yailin y 6ix9ine en el avion video de yailin filtrado
Social media has exploded after it was reported in the trends that an alleged intimate video of the young singer Yailín "The most viral" and the rapper Tekashi69, was leaked to the network.
Several Latin media outlets based in the United States and Instagram accounts have claimed that it was the singer who posted the images on his social media and immediately deleted them.
The information began to spread like wildfire and, as expected, according to social media restrictions, the alleged compromising scenes cannot be seen in a traditional way, however, there are users who claim that the images exist.
Among the content circulating are images of the Dominican wearing a pink outfit and lying on a private jet. It is worth mentioning that on the singer's Instagram account, who recently released a duet with Grupo Firme, you can see various photographs in which Anuel AA's ex-partner poses showing off her figure.
So far, none of those involved have come forward to clarify what appears to be another invented trend on social media. In the digital conversation, there are those who claim that it is a scandal provoked so that their collaboration "Pa Ti", released just a few days ago, would have more relevance.
Full video de yailin nuevo yailin la más viral video video de yailin y 6ix9ine en el avion video de yailin filtrado
Social media has exploded after it was reported in the trends that an alleged intimate video of the young singer Yailín "The most viral" and the rapper Tekashi69, was leaked to the network.
Several Latin media outlets based in the United States and Instagram accounts have claimed that it was the singer who posted the images on his social media and immediately deleted them.
The information began to spread like wildfire and, as expected, according to social media restrictions, the alleged compromising scenes cannot be seen in a traditional way, however, there are users who claim that the images exist.
Among the content circulating are images of the Dominican wearing a pink outfit and lying on a private jet. It is worth mentioning that on the singer's Instagram account, who recently released a duet with Grupo Firme, you can see various photographs in which Anuel AA's ex-partner poses showing off her figure.
So far, none of those involved have come forward to clarify what appears to be another invented trend on social media. In the digital conversation, there are those who claim that it is a scandal provoked so that their collaboration "Pa Ti", released just a few days ago, would have more relevance.
Full video de yailin nuevo yailin la más viral video video de yailin y 6ix9ine en el avion video de yailin filtrado
Social media has exploded after it was reported in the trends that an alleged intimate video of the young singer Yailín "The most viral" and the rapper Tekashi69, was leaked to the network.
Several Latin media outlets based in the United States and Instagram accounts have claimed that it was the singer who posted the images on his social media and immediately deleted them.
The information began to spread like wildfire and, as expected, according to social media restrictions, the alleged compromising scenes cannot be seen in a traditional way, however, there are users who claim that the images exist.
Among the content circulating are images of the Dominican wearing a pink outfit and lying on a private jet. It is worth mentioning that on the singer's Instagram account, who recently released a duet with Grupo Firme, you can see various photographs in which Anuel AA's ex-partner poses showing off her figure.
So far, none of those involved have come forward to clarify what appears to be another invented trend on social media. In the digital conversation, there are those who claim that it is a scandal provoked so that their collaboration "Pa Ti", released just a few days ago, would have more relevance.
Viral xxx yailin la mas viral leaked video videos porno Several Latin media outlets based in the United States and Instagram accounts have claimed that it was the singer who posted the images on his social media and immediately deleted them.
The information began to spread like wildfire and, as expected, according to social media restrictions, the alleged compromising scenes cannot be seen in a traditional way, however, there are users who claim that the images exist.
Among the content circulating are images of the Dominican wearing a pink outfit and lying on a private jet. It is worth mentioning that on the singer's Instagram account, who recently released a duet with Grupo Firme, you can see various photographs in which Anuel AA's ex-partner poses showing off her figure.
So far, none of those involved have come forward to clarify what appears to be another invented trend on social media.


Using the :? Operator

Before jumping into Pr first comment for assign.
Problem statement : Using the :? Operator
Probelm Link :  https://edabit.com/challenge/Qs9aWacyy5jXdNz45
Choose one Cateorgy - Very Easy, Easy, Medium, Hard, Very Hard, Expert
question category : Very Easy

Before submitting a PR please Check some details.

[ ] fileName formet should be in camelcase
example- returnTheNextNumber.py
[ ]  Choose label for Problem , example- "good first issue", "easy"
[ ]  In file there should be problem statement and link to problem

/* Problem-Task : Using the :? Operator
 * Problem Link : https://edabit.com/challenge/Qs9aWacyy5jXdNz45
*/
int main() {
    int bla;
    return 0;
}

This repository is vaild for HacktoberFest2020
Read before making PR - How to contribute on Github
Good Luck,

Please assign this to me.

Hey, please assign it to me.

I would like to work on this, can you assign this to me?

Hey @gh4abhi. This is my first hecktoberfest contribution. I would like to work on this please assign it to me.

Please assign to me

I am not the owner of this repo so I cannot assign this to anyone.


Add github actions to make reviewing of extensions easier

Creates a PR for extension submission issues automatically
Adds PR extension submissions to the Github Project automatically
Post results of failed extensions automatic validation in PR discussion
Deletes autoclose for invalid submissions as the form template prevents invalid/empty issues to be submitted in the first place
Adds commands for making submissions easier to update and merge

!rebase: Merges master and regenerates extensions-registry.json
!update <https://link.to/extension.zip>: Updates the extension in the PR and regenerates extensions-registry.json

The actions are live on my fork (https://github.com/arthuro555/GDevelop-extensions), feel free to try them out there.

Wow!
Everything looks awesome. I'll check that tomorrow after the conference we're at :)
Definitely this will speed up our process, so we can concentrate on getting better extensions!


FEATURE REQUEST: Make credit cards section of the budget have clearer UX

This issue came up on https://reddit.com/r/ynab today: https://www.reddit.com/r/ynab/comments/5xefb6/why_are_credit_card_purchases_showing_up_as/
This person was getting confused about why they had green $ for budgeting in their credit card categories. This was something I was also confused about up until a few days ago when it finally clicked - this is how much budgeted money you can currently pay towards your credit card.
One redditor had a few interesting ideas for how to make it clearer that the credit card rows are kind of different, which I've mocked up below: https://www.reddit.com/r/ynab/comments/5xefb6/why_are_credit_card_purchases_showing_up_as/deioucp/
One was to change the color from green to something else like purple:

Another idea was to pop up a tooltip onmouseover:

Not sure if either of these ideas seem good, so I thought I'd open a feature request to get some input first. Thanks!

@dbalatero Enhancement requests are tracked on our Trello board. I've added a new card to the "Under Consideration (Discussion Welcome!)" section. You can see it here. Hopefully others will see it and up-vote it. Of course if you're going to implement it, you don't have to wait for up-votes. :-)
Closing enhancement request.


setScanUPCACode(false) not working

Our testers noticed that UPCA barcodes are scanned even though only EAN13 is enabled.
Bug reproducible on 4.7.0 and 5.4.1 SDK versions.
Using this configuration:
public static Intent getTagScanningIntent(Context context) {

      BarDecoderRecognizerSettings barDecoderSettings = new BarDecoderRecognizerSettings();

      barDecoderSettings.setScanCode39(false);
      barDecoderSettings.setScanCode128(false);

      ZXingRecognizerSettings zxingSettings = new ZXingRecognizerSettings();
      zxingSettings.setScanQRCode(false);
      zxingSettings.setScanAztecCode(false);
      zxingSettings.setScanDataMatrixCode(false);
      zxingSettings.setScanEAN13Code(true);
      zxingSettings.setScanEAN8Code(false);
      zxingSettings.setScanITFCode(false);
      zxingSettings.setScanUPCACode(false);
      zxingSettings.setScanUPCECode(false);

      RecognizerSettings[] settings = {barDecoderSettings, zxingSettings};

      RecognitionSettings recognitionSettings = new RecognitionSettings();
      recognitionSettings.setAllowMultipleScanResultsOnSingleImage(false);
      recognitionSettings.setRecognizerSettingsArray(settings);

      Intent intent = new Intent(context, TagScannerActivity.class);
      intent.putExtra(Pdf417ScanActivity.EXTRAS_LICENSE_KEY, LICENSE_KEY);
      intent.putExtra(Pdf417ScanActivity.EXTRAS_RECOGNITION_SETTINGS, recognitionSettings);
      intent.putExtra(Pdf417ScanActivity.EXTRAS_SHOW_DIALOG_AFTER_SCAN, false);
      return intent;
  }

It is possible to scan UPCA barcodes (from http://barcode4j.sourceforge.net/barcode-examples.pdf).
BarDecoderScanResult indicates that this is UPCA barcode. But it should not be because UPCA is disabled.
"PaymentDataType" -> "UPC A"
"uncertain" -> "false"
"BarcodeData" -> "001234567895"
"RawBarcodeData" -> "Total elements: 1\nElement #1 is of type text\nLength = 1 {0}\nText representation (UTF-8 decoded): ��\n"

Hi @JonasPrap,
UPCA barcodes are effectively a subset of all EAN13 barcodes as stated here. So, when you enable the EAN13 barcode, you will also obtain the UPCA results.


orient.load not returning JSON

Expected behavior and actual behavior
It appears orient.load' is not returning JSON when called from a trigger written in Javascript:
var children = doc.field("children");
children.forEach(function(childid) {
var child = orient.getDatabase().load(childid);
print(child);
});
`
prints: Person#12:4{children:null,name:Tyler,parents:[1]} v2
expected: {@class:"Person", @id:"12:4", @version:2, children:null,name:Tyler,parents:[1]}
The documentation for Functions says: "Method that loads a record from the record ID, it returns the record informations in JSON format."
Steps to reproduce the problem
see code above, when loading objects from ids stored in arrays which represent links
Important Questions
Runninng Mode

[ ] Embedded, using PLOCAL access mode
[ ] Embedded, using MEMORY access mode
[ ] Remote

Unsure, just installed and ran from command line.
Misc

[ ] I have a distributed setup with multiple servers. How many?
[ ] I'm using the Enterprise Edition

OrientDB Version

[ ] v2.0.x - Please specify last number:
[ ] v2.1.x - Please specify last number:
[ v2.2.17] v2.2.x - Please specify last number:

Operating System

[ ] Linux
[ ] MacOSX
[X ] Windows
[ ] Other Unix
[ ] Other, name?

Java Version

[ ] 6
[ ] 7
[ x] 8

That method returns the record. If you want the JSON you can call:
var child = orient.getDatabase().load(childid);
print( child.toJSON() );

In which page did you find that wrong description?

Ivca here is the page: http://orientdb.com/docs/last/Javascript-Driver.htmlhttp://orientdb.com/docs/last/Javascript-Driver.html
Is the documentation correct or incorrect?
If it is incorrect, is it supposed to be a string? If so, I will simply write a parser ... pretty trivial given the apparent the string format.

That why the confusion: that page (by the way it would need to be cleared) is for the JS driver in the browser. We don't have a page with the API to call from function. I'm going to create a new issue for that. In the meanwhile please look at this class to see the API:
https://github.com/orientechnologies/orientdb/blob/2fecb73699ce7d3d81cf378cf5dcfbb5cf6261b0/core/src/main/java/com/orientechnologies/orient/core/command/script/OScriptDocumentDatabaseWrapper.java

Done: https://github.com/orientechnologies/orientdb/issues/6182


Throw ArgumentNullException with nameof(param), not "param"

PR Summary
Refactoring of ArgumentNullException-s.
PR Context
Follow the best practice of throwing argument exceptions: https://www.jetbrains.com/help/resharper/UseNameofExpression.html
PR Checklist

[x] PR has a meaningful title

Use the present tense and imperative mood when describing your changes

[x] Summarized changes
[x] Make sure all .h, .cpp, .cs, .ps1 and .psm1 files have the correct copyright header
[x] This PR is ready to merge and is not Work in Progress.

If the PR is work in progress, please add the prefix WIP: or [ WIP ] to the beginning of the title (the WIP bot will keep its status check at Pending while the prefix is present) and remove the prefix when the PR is ready.

Breaking changes

[x] None
OR
[ ] Experimental feature(s) needed

[ ] Experimental feature name(s):

User-facing changes

[x] Not Applicable
OR
[ ] Documentation needed

[ ] Issue filed:

Testing - New and feature

[x] N/A or can only be tested interactively
OR
[ ] Make sure you've added a new test if existing tests do not effectively test the code changed

Tooling

[x] I have considered the user experience from a tooling perspective and don't believe tooling will be impacted.
OR
[ ] I have considered the user experience from a tooling perspective and opened an issue in the relevant tool repository. This may include:

[ ] Impact on PowerShell Editor Services which is used in the PowerShell extension for VSCode
(which runs in a different PS Host).

[ ] Issue filed:

[ ] Impact on Completions (both in the console and in editors) - one of PowerShell's most powerful features.

[ ] Issue filed:

[ ] Impact on PSScriptAnalyzer (which provides linting & formatting in the editor extensions).

[ ] Issue filed:

[ ] Impact on EditorSyntax (which provides syntax highlighting with in VSCode, GitHub, and many other editors).

[ ] Issue filed:

@gukoff Thanks for your contribution!
Code under Microsoft.Management.UI.Internal is frozen and shouldn't be changed. The same for remoting code (WinRM).

See also stale PR: #13875

Code under Microsoft.Management.UI.Internal is frozen and shouldn't be changed. The same for remoting code (WinRM).

Removed UI.Internal and remoting/common from the PR.

See also stale PR: #13875

If It looks like the overlap with #13875 is minimal - only in SessionBasedWrapper.cs and GetCommandCommand.cs. Also this PR adds null coalescing in those files, a nice touch beyond just nameof-s.
To me, it makes sense to merge this one and then return to #13875 where a lot of similar work has been done.

CodeFactor "Complex Method" new issues are false positives.

It's not clear why the error view tests would fail. Re-run the corresponding jobs to see if it's intermittent.

ConciseView test fails.

@gukoff Please could you rebase back onto ab3435b436835d488ee6ba32a4a6c994d7ed8efd to ease review, if possible.

LGTM

As a side note - don't you want add a PR check that there's no diff in Microsoft.Management.UI.Internal / remoting/common / Microsoft.PowerShell.ScheduledJob / etc ?


Errors Directive causes some problems when in global scope with active domain TLS

Caddy: 0.11.0
Description
It seems when I attempt to log errors with the errors directive in global scope while a domain is active with TLS Caddy decides to continue pinging Let's Encrypt for more certificates (probably for <IP_ADDRESS>, no way to tell since Let's Encrypt won't give us any info and Caddy doesn't have a way to log this either). This bug wouldn't be so much of an issue if Caddy just attempt to grab the certs for whatever invalid domain, then just failed silently, instead of crashing the whole process. Instead in a Dockerized environment where I have it set to autorestart, it just continues running in a loop of failure, keeping my site inaccessible and offline.
Caddyfile
sub.domain.tld {
     tls<EMAIL_ADDRESS>
     proxy / localhost:9001 {
          transparent
          websocket
     }
}

errors stdout

log stdout

The Caddyfile it's self is rather inconspicuous, when running Caddy the desired certificates are grabbed (they can be found inside the folder where certs are stored), but then Caddy continues to ping the Let's Encrypt servers, for some reason, getting me Rate Limited in the process.
Starting Caddy
The manner and method in which I executed Caddy doesn't matter as I've managed to reproduce this same bug inside two different Windows and Linux based machines, both Locally and Remote.
Expected Behavior
The relevant certificates are gathered from Let's Encrypt and Caddy does not attempt to register a certificate for a busted or broken domain/tld pair that isn't even listed in the Caddyfile.
Logs
https://paste.rs/qoe
Minimal Reproduction
Take the Caddyfile in this post and attach an actual domain and email to it, remove the Proxy Directive if necessary. Run Caddy in any method that has it find this specific configuration and watch it mysteriously continue pinging Let's Encrypt.

I think what you're trying to do is not supported. See https://caddyserver.com/docs/caddyfile
If you use the bracketed syntax for site blocks, then I don't think you can use global directives. What I suggest you do is to make use of snippets (see https://caddyserver.com/docs/caddyfile#snippets) to make a reusable block of directives you can reference for each site. That way it'll effectively be global.

Correct!
"A Caddyfile with more than one entry must enclose each definition in curly braces  { }"
Directives are considered as definitions.
Currently, global directives are not supported.

Really odd that this wouldn't just cause a parsing issue instead of behavior that causes Let's Encrypt to be pinged multiple times. Nonetheless, thank you for pointing out the flaws in the Caddyfile. I have since then, fixed the directive being out of scope, and the issue has been resolved.

Really odd that this wouldn't just cause a parsing issue instead of behavior that causes Let's Encrypt to be pinged multiple times.

Perhaps in this case it should be. But what if your Caddyfile was flipped around:
errors stdout

log stdout

sub.domain.tld {
     tls<EMAIL_ADDRESS>
     proxy / localhost:9001 {
          transparent
          websocket
     }
}

To Caddy, this looks like the hostnames to serve are errors and stdout and the rest of the lines are directives.
I'm not sure a good way to consistently and reliably detect these inconsistencies in Caddyfile construction as parse errors regardless of the order of the lines...


Parallelizer: Mis-detected scalar reduction variable

Compiling this program:
import "regent"
local __demand(__parallel)
task AdvanceMesh( Mesh : region(ispace(int3d),float) )
where
   reads writes(Mesh)
do
   for c in Mesh do
     for i = 0, 2 do
       var big = 0.0
       for j = 0, 2 do
         big += 4
       end
     end
   end
end

produces this error message:
...lis/sw/legion/language/src/regent/check_parallelizable.t:1020: Errors reported during typechecking.
Example.rg:3: partition driven auto-parallelization failed: task must return the scalar reduction result
task AdvanceMesh( Mesh : region(ispace(int3d),float) )
   ^

Should be fixed by 5d04e469. Could you pull and try again?

Fixed


H6110 color control not working

Govee Device SKU
H6110
Govee2MQTT Version
2024.01.24-ea3cd430
Describe the issue
New installation. Using just API key and local MQTT broker. I am able to turn off/on the device and adjust the brightness, but color control is not working. If I try to send a color change, it registers in the logs as successful, but the color doesn't change, then shows polls at the same color it was before I made the attempt:
[2024-03-25T12:56:09 INFO  govee::service::hass] Command for OFFICE-LEDS (REDACTED H6110): {"state":"ON","color":{"r":127,"g":172,"b":255}}
[2024-03-25T12:56:09 INFO  govee::service::state] Using Platform API to set OFFICE-LEDS (REDACTED H6110) color
[2024-03-25T12:56:11 INFO  govee::platform_api] control_device result: ControlDeviceResponse { request_id: "uuid", code: 200, message: "success", capability: ControlDeviceResponseCapability { kind: ColorSetting, instance: "colorRgb", value: Number(8367359), state: Object {"status": String("success")} } }
[2024-03-25T12:56:16 INFO  govee::service::state] Polling OFFICE-LEDS (REDACTED H6110) to get latest state after control
[2024-03-25T12:56:16 INFO  govee::service::state] requesting update via Platform API OFFICE-LEDS (REDACTED H6110) Some(DeviceState { on: true, light_on: Some(true), online: Some(true), kelvin: 0, color: DeviceColor { r: 255, g: 0, b: 0 }, brightness: 254, scene: None, source: "PLATFORM API", updated: 2024-03-25T18:55:11.864069052Z })
Startup Diagnostics
s6-rc: info: service s6rc-oneshot-runner: starting
s6-rc: info: service s6rc-oneshot-runner successfully started
s6-rc: info: service fix-attrs: starting
s6-rc: info: service fix-attrs successfully started
s6-rc: info: service legacy-cont-init: starting
s6-rc: info: service legacy-cont-init successfully started
s6-rc: info: service legacy-services: starting
s6-rc: info: service legacy-services successfully started
GOVEE_API_KEY=REDACTED
GOVEE_MQTT_HOST=REDACTED
GOVEE_TEMPERATURE_SCALE=C
GOVEE_MQTT_PASSWORD=REDACTED
GOVEE_MQTT_USER=REDACTED
GOVEE_MQTT_PORT=1883
++ cd /app
++ exec /app/govee serve
[2024-03-25T13:05:53 INFO  govee::commands::serve] Starting service. version 2024.01.24-ea3cd430
[2024-03-25T13:05:53 INFO  govee::commands::serve] Querying platform API for device list
[2024-03-25T13:05:53 INFO  govee::commands::serve] Starting LAN discovery
[2024-03-25T13:05:53 INFO  govee::commands::serve] Waiting 10 seconds for LAN API discovery
[2024-03-25T13:06:03 INFO  govee::commands::serve] Devices returned from Govee's APIs
[2024-03-25T13:06:03 INFO  govee::commands::serve] OFFICE-LEDS (REDACTED H6110)
[2024-03-25T13:06:03 INFO  govee::commands::serve]   Platform API: devices.types.light. supports_rgb=true supports_brightness=true
[2024-03-25T13:06:03 INFO  govee::commands::serve]                 color_temp=Some((2000, 9000)) segment_rgb=None
[2024-03-25T13:06:03 INFO  govee::commands::serve]
[2024-03-25T13:06:03 INFO  govee::service::http] http server addr is REDACTED:8056
[2024-03-25T13:06:08 INFO  govee::service::hass] Wait 300ms for hass to settle on 6 entity configs
[2024-03-25T13:06:09 INFO  govee::service::hass] MQTT connected with status=CONNACK code 0: Connection Accepted.
[2024-03-25T13:06:23 INFO  govee::service::state] requesting update via Platform API OFFICE-LEDS (REDACTED H6110) None
Additional Logs
mqtt-OFFICE-LEDS-.json
Home Assistant Logs
No response
Anything else?
All potential PII has been REDACTED

This is related: https://github.com/wez/govee2mqtt/issues/152


polar representation

Proposal
add polar representation of complex number
(A clear and concise description of what the proposal is.)

i would like to work on it under gssoc21

Go ahead
Deadline 31 March,2021 (11:59 PM IST)

while solving angle i am getting my angle in decimal how can i get it in fraction

user nerdamer.evaluate, you can find this in appjs/simplecallogic.js
by evaluating using nerdamer you will get answer in fractions


Mixing multithreading with async methods hangs when trying to close internal streams

Confirm this is an issue with the Python library and not an underlying OpenAI API

[X] This is an issue with the Python library

Describe the bug
When creating multiple threads to make completion requests in parallel the script hangs. After adding some debugging logs I can see that it happens in aiter_raw when calling .aclose().
The same code with just one thread works with no issues.
To Reproduce
I've attached a script that reproduces the issue.
Code snippets
import os
import logging
import threading
import asyncio
from openai import AsyncAzureOpenAI
from dotenv import load_dotenv

load_dotenv()

deployment_name = os.environ.get("AZURE_OPENAI_DEPLOYMENT_NAME")
client = AsyncAzureOpenAI(
    api_version=os.environ.get("AZURE_OPENAI_API_VERSION"),
    api_key=os.environ.get("AZURE_OPENAI_API_KEY"),
    azure_endpoint=os.environ.get("AZURE_OPENAI_ENDPOINT"),
    azure_deployment=deployment_name,
)

texts = ["Hello", "Hola", "Bonjour", "Hallo", "Ciao", "Olá", "Namaste", "Salaam", "Zdras-tvuy-te", "Konnichiwa", "Nǐn hǎo", "Guten Tag", "Shikamoo", "Merhaba", "Sa"]

async def detect_language(text: str) -> str:
    completion = await client.chat.completions.create(
        model="gpt-3.5-turbo-16k",
        messages=[
            {
                "role": "user",
                "content": f"""
## Given this input:
{text}

## Do the following:
## Using only the input provided by the user, you must identify the input language and provide only the two character language code and nothing else:
""",
            },
        ],
    )

    if completion.choices:
        return completion.choices[0].message.content if completion.choices[0].message.content else "Unknown"

    return "Unknown"

def thread_function(loop, text):
    logging.info("Thread with text '%s': starting", text)
    asyncio.set_event_loop(loop)
    result = loop.run_until_complete(detect_language(text))
    logging.info("Thread with text '%s': finishing: Detected language: %s", text, result)
    return result

def main():
    threads = []

    for index, text in enumerate(texts):
        loop = asyncio.new_event_loop()
        x = threading.Thread(target=thread_function, args=(loop, text,))
        threads.append(x)
        x.start()

    for index, thread in enumerate(threads):
        logging.info("Before joining thread %d.", index)
        thread.join()
        logging.info("Thread %d done", index)

if __name__ == "__main__":
    format = "%(asctime)s: %(message)s"
    logging.basicConfig(format=format, level=logging.INFO,
                        datefmt="%H:%M:%S")

    main()

OS
Windows 11
Python version
Python 3.9
Library version
openai 1.6.1

Having async hang when using it from multiple threads sounds more like a feature than a bug, without taking a closer look.

Please check pr. I faced the same issue and resolved it locally with this change.

Hello,
I've been tracking down a bug that seems related to this issue. My investigation led me to:

httpcore connection pool management:

Link to the specific line in httpcore

anyio synchronization mechanisms:

Link to the specific line in anyio

While debugging, I traced the execution to the following point in anyio/_backends/_asyncio.py:
# Debugging Traceback
> /home/luis/.local/lib/python3.10/site-packages/anyio/_backends/_asyncio.py(2051)get_current_task()
-> return _create_task_info(current_task())  # type: ignore[arg-type]

This led to the standard asyncio current task lookup:
> /usr/lib/python3.10/asyncio/tasks.py(35)current_task()
-> def current_task(loop=None):

It became challenging to track it deeper. I'm facing an issue that seems related to potential deadlock or blocking behavior in async connection handling. If anyone has insights or potential solutions, please share. I'm keen to understand more about this problem and find a way to resolve it

You are not supposed to mix multi-threading and async, you should either use multithreading with the sync client or use asyncio tasks with the async client.


How to use this with TypeScript?

I'm trying to use this library with Svelte and Typescript, but can't seem to find any way to import this properly.
There are no TS definitions. There are some forks that add them, but they don't seem to export it as a module either.
The documentation says to use the "nodeHtmlLabel" function on the cy element, but how do I even import that if it doesn't exist in any definition?? Not even in the forks.
require is apparently also not available in browser-based apps.
And how do I register it to Cytoscape? So far I found a bunch of very different examples of how to register extensions, none of which work.
I've been trying to get this to work for a few hours now without any luck. I'm not very good at JS, so that's probably why. But the documentation is seriously lacking and does a very poor job at explaining how to use it. Could somebody be so kind and tell me how? Sorry if this sounds a bit like a rant, I've wasted a lot of time on just installing this, and can't even do that...

hey @johannesmols I had this issue as well, and just figured out a solution. Try creating a custom types file cytoscape.d.ts and add this code to it:
declare namespace cytoscape {
  interface Core {
    nodeHtmlLabel(options: CytoscapeNodeHtmlParams[]): void;
  }
}

This will merge with the existing cytoscape namespace, so you'll keep the types declared there, but will also add the nodeHtmlLabel type that you're looking for.

Wow that did the trick, thank you @zoestoll! Although the import was also not recognized as a module, so I had to also add declare module "cytoscape-node-html-label"; to the cytoscape.d.ts file. It can then be imported via import nodeHtmlLabel from "cytoscape-node-html-label"; and registered via nodeHtmlLabel(cytoscape);. Thank you so much, wouldn't have figured that out by myself! The readme should probably mention this, since I'm evidently not the only person having struggled with this.


[5.5] Make Request::validate() return value of parent key

In reference to the issue in https://github.com/laravel/framework/issues/20973
This PR will make the Request::validate() method return values of the parent key only, so if there's a rule users.*.name, the method returns the values of the users key only.

This also has to be done in ValidatesRequests: https://github.com/laravel/framework/blob/5.5/src/Illuminate/Foundation/Validation/ValidatesRequests.php#L29-L49
As well as in form requests: https://github.com/laravel/framework/blob/5.5/src/Illuminate/Foundation/Http/FormRequest.php#L173-L178

@JosephSilber handled

I am surprised. It is exactly what I told you previously. How do you decide to make these "features"? You did not agree with me and now I see "another picture"

@MCMatters sometimes people have to review and think about things.


Not possible to upload data

Describe the bug

To Reproduce

Go to '...'
Click on '....'
Scroll down to '....'
See error

Expected behavior

Screenshots

Environment

 - OS: [e.g. iOS]
 - Browser [e.g. chrome, safari]
 - Version [e.g. 22]

Additional context

Output in Web Console

  [REPLACE THIS WITH YOUR INFORMATION]

I uploaded my file in Artemis at 0:10 on Monday, but Artemis had I problem. I tried for 30 min, but Artemis didn't work. When I checked my results this morning it says build failed.

Hello @JanisKuegler, thanks for reporting a problem here.
Unfortunately, we cannot assist you with your problem due to missing informations.
If you are facing a concrete bug with the Artemis system, please fill our the template and provide detailed information on the problem and how to reproduce it.
For questions regarding the operation of our Artemis instance, this is not the right channel. Please contact the instructor of your course.


More feedback for emag recharging

About the PR
The emag now tells you how long it'll take to recharge, making it more obvious that it recharges.
Screenshots

Changelog

:cl: Rane

add: The emag now shows how long it has until the next charge when you examine it.

Would this be better as an IItemStatus?

I dunno, is that useful if the sprite doesn't change?

What does that have to do with the sprite?

I don't know what IItemStatus is or does

It's the control that shows when you have the thing equipped in your hand.

I'll have a look


[wip] demo day/night with radios

Hey, folks! Glad to see the theme variable stuff got in. It looks like it still fights with bootstrap a fair amount, but otherwise cool stuff!
As suggested elsewhere, wrapping all themeable content in a wrapper div unlocks the hackish, but usable, CSS-only, flicker-free day/night switch, powered by the ~ selector.
This PR does a very minimal port of some of those techniques, up to where it's at least half-way readable, but has a lot of rough edges in the implementation.

I still really recommend doing a CSS variable prefix, e.g. --pst-
doing the JS part to write to localStorage right in the DOM, outside webpack... got no time for MBs to load

this can be cleaner, though, and should scale to other modes, and/or ones with more than two values

defining the CSS variables probably needs an overhaul vs what i've done

the selector implementation probably shouldn't leak out

currently doesn't handle code syntax highlighting #204

this is a whole, separate ball of wax, but having some answer is probably important enough to block any serious consideration of this at this point

closes https://github.com/pydata/pydata-sphinx-theme/issues/458

hah, well, not going to fight with the linter right now, but here's a screenshot of my bad theme colors:

Hey all - I created an issue to track this one so that we don't lose track of it, as I think it is quite important! (#458). @bollwyvl what would you like to do with this PR? Steward it to completion? Re-start now that some of the underlying HTML/CSS has changed?
By the way - you had a few nice suggestions in there as well that might be out of scope for this PR (e.g. CSS prefixes). Do you think some of them deserve their own issues?
(ps: I super appreciate the work that you had put into these PRs in the past and present!)

Should it be considered solved by #540 ?
I used this PR as a starting point but I wasn't able to start from it as it's now to far away from master.


Fix for typo in OS check enabling iOS specific layout attributes

Fixes a typo that caused iOS-specific layout attributes not to be included installing a constraint. I discovered this when I noticed aligning to leading margin to a super view fell back to using the layout attribute of the first item of the constraint.

OMG, my fault in #28...

Cool, could you merge this PR? Great library btw.

I'm not a committer, we should ask to @robertjpayne.

Thanks @sebreh I'll get Cocoapods released soon(ish).

👍


Added yaml conversion to build and converted current json doc to yaml

fixes #168
editor support already works since it was already added with openrpc.yaml in schema store (which most editors use for auto completion for json/yaml files)
https://github.com/SchemaStore/schemastore/blob/93796f920ccb0efa89b6972bb577eda2f9dbd443/src/api/json/catalog.json#L3055-L3067

might need to reconcile with the reordering PR: https://github.com/MetaMask/api-specs/pull/187

@vandan updated to latest changes from main


Adds description to datasource item

Shame to leave this work just sitting there

This is addressing https://github.com/tableau/server-client-python/issues/899


Overwriting default value

Hello,
installing VerneMQ via Helm Chart I found that the custom enviroment variables don't overwrite the default value, but append it to end of file.
This way doesn't work for overwrite the default values.
I specified:
  - name: DOCKER_VERNEMQ_VMQ_DIVERSITY__AUTH_MYSQL__ENABLED
    value: "on"

But in vernemq.conf  I found:
root@master-1:~# kubectl exec vernemq-0 -- cat /etc/vernemq/vernemq.conf | grep mysql | grep enable
vmq_diversity.auth_mysql.enabled = off
vmq_diversity.auth_mysql.enabled=on

Sadly the result if that the plugin is not loaded

Hi, to use the mysql authentication you need to enable the vmq_diversity plugin as well. See https://docs.vernemq.com/configuration/db-auth#introduction-and-general-setup

... Of course I enabled it.  What is the output of exec vernemq-0 -- vmq-admin plugin show ?

+-------------+-----------+--------------------+-------------------------------------------+
|   Plugin    |   Type    |      Hook(s)       |                   M:F/A                   |
+-------------+-----------+--------------------+-------------------------------------------+
|vmq_diversity|application|  auth_on_register  |  vmq_diversity_plugin:auth_on_register/5  |
|             |           |  auth_on_publish   |  vmq_diversity_plugin:auth_on_publish/6   |
|             |           | auth_on_subscribe  | vmq_diversity_plugin:auth_on_subscribe/3  |
|             |           |    on_register     |    vmq_diversity_plugin:on_register/3     |
|             |           |     on_publish     |     vmq_diversity_plugin:on_publish/6     |
|             |           |    on_subscribe    |    vmq_diversity_plugin:on_subscribe/3    |
|             |           |   on_unsubscribe   |   vmq_diversity_plugin:on_unsubscribe/3   |
|             |           |     on_deliver     |     vmq_diversity_plugin:on_deliver/4     |
|             |           |auth_on_register_m5 |vmq_diversity_plugin:auth_on_register_m5/6 |
|             |           | auth_on_publish_m5 | vmq_diversity_plugin:auth_on_publish_m5/7 |
|             |           |auth_on_subscribe_m5|vmq_diversity_plugin:auth_on_subscribe_m5/4|
|             |           |   on_register_m5   |   vmq_diversity_plugin:on_register_m5/4   |
|             |           |   on_publish_m5    |   vmq_diversity_plugin:on_publish_m5/7    |
|             |           |  on_subscribe_m5   |  vmq_diversity_plugin:on_subscribe_m5/4   |
|             |           | on_unsubscribe_m5  | vmq_diversity_plugin:on_unsubscribe_m5/4  |
|             |           |   on_deliver_m5    |   vmq_diversity_plugin:on_deliver_m5/5    |
|             |           |     on_auth_m5     |     vmq_diversity_plugin:on_auth_m5/3     |
|             |           | on_offline_message | vmq_diversity_plugin:on_offline_message/5 |
|             |           |  on_client_wakeup  |  vmq_diversity_plugin:on_client_wakeup/1  |
|             |           | on_client_offline  | vmq_diversity_plugin:on_client_offline/1  |
|             |           |   on_client_gone   |   vmq_diversity_plugin:on_client_gone/1   |
+-------------+-----------+--------------------+-------------------------------------------+

I don't see any MySQL, look like using passwd file, but I disable that too:
root@master-1:~# kubectl exec vernemq-0 -- cat /etc/vernemq/vernemq.conf | grep passwd
plugins.vmq_passwd = on
## Default: ./etc/vmq.passwd
vmq_passwd.password_file = ./etc/vmq.passwd
vmq_passwd.password_reload_interval = 10
plugins.vmq_passwd=off

ok - so the vmq_diversity plugin is loaded, which is good. How do you see that it isn't working? Perhaps there's something in the logs that mysql couldn't connect?

 MYSQL plugin being loaded but fail the authentication.
13:24:31.814 [info] enable auth script for mysql "./share/lua/auth/mysql.lua"
13:24:31.891 [error] can't load script "./share/lua/auth/mysql.lua" due to {throw,{auth_fail,{error_packet,2,1045,<<"28000">>,"Access denied for user<EMAIL_ADDRESS>(using password: YES)"}}}

Of course I tested the authentication with mysql-client and it works fine.
I'm using MySQL 8 with authentication_plugin native_password
mysql> select plugin from mysql.user where User='USER'\G;
*************************** 1. row ***************************
plugin: mysql_native_password
1 row in set (0.00 sec)

I used a low complex password and now it works, looks like a problem in the special character.
Thanks anyway for the support.


Add custom script for creating VM

Aside: I don't know whether you want separate repos for custom scripts and webhooks.
Since this repo has a top-level 'reports' directory, I've just added it to this one.

Do you want to put this in a VM sub folder to categorize scripts as more are added?

A single script can act on many different types of objects, so I don't think it makes sense to try to categorise them.


Tagged Template Literals

More and more JavaScript libraries are using tagged template literals (lit-html and HyperHTML are becoming very popular). Interop with these libraries is a problem though because Dart doesn't support tagged template literals (just template literals).
For a description, see the tagged templates section in this article: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Template_literals#Tagged_templates

@lrhn  you did well, because reading the first message, it is clear this is about being able to call from Dart existing JS tagged template functions.
There is no "more convenient way" involved. AFAIK there is currently no way to consume JS tagged template functions from Dart code.  If there is, please enlighten us.

Since template tags are just JS functions that get called with arguments derived from the following template string, you should be able to call those functions directly through interop. It's just not as convenient as doing it through a string template.
Doing
tag(["text 1", "text 2", "", "text 3"],
   value1, value2, value3);

doesn't have the same readability as
tag"text 1${value1}text 2${value2}${value3}text 3";

but it means the same thing.

It's been a while...
My original request was also for Dart to support the same sort of "custom interpolation" that JavaScript tagged template literals allows.


[Feature] Audit mode

Problem Statement
Users would like to see the action DAS will take to ensure it will work according to expectations and also to ensure the risks are known.
Solution Description
Enable an audit mode in DAS so users can see, perhaps via log messages, the actions DAS would take without having it actually perform any changes.
Alternatives
No response
Additional Context
No response
Troubleshooting

[x] I have searched other issues in this repository and mine is not recorded.

Would be really cool to see expected savings as part of this!


Add more cors config and make cors handle all http request

What changes are proposed in this pull request?
Add more cors config and make cors handle all http request.
Why are the changes needed?
Releated to #14490 I have added a new api and need to let cors handle all http requests. Also provides a more detailed configuration of cors. FYI https://developer.mozilla.org/en-US/docs/Web/HTTP/CORS#the_http_response_headers
Does this PR introduce any user facing changes?
add some cors config.

Codecov Report

Merging #14562 (3b867fc) into master (ea4d766) will decrease coverage by 24.83%.
The diff coverage is 72.72%.

@@              Coverage Diff              @@
##             master   #14562       +/-   ##
=============================================
- Coverage     41.83%   17.00%   -24.84%
+ Complexity     9326     2712     -6614
=============================================
  Files          1494     1496        +2
  Lines         87696    87752       +56
  Branches      10451    10450        -1
=============================================
- Hits          36691    14924    -21767
- Misses        48021    71588    +23567
+ Partials       2984     1240     -1744

Impacted Files
Coverage Δ

...server/common/src/main/java/alluxio/RestUtils.java
20.58% <ø> (-33.96%)
:arrow_down:

...r/common/src/main/java/alluxio/web/CORSFilter.java
15.78% <15.78%> (ø)

...r/common/src/main/java/alluxio/web/HttpFilter.java
77.77% <77.77%> (ø)

...common/src/main/java/alluxio/conf/PropertyKey.java
98.08% <100.00%> (-1.37%)
:arrow_down:

...er/common/src/main/java/alluxio/web/WebServer.java
79.41% <100.00%> (+0.62%)
:arrow_up:

...mon/src/main/java/alluxio/shell/CommandReturn.java
0.00% <0.00%> (-100.00%)
:arrow_down:

...mon/src/main/java/alluxio/util/ExceptionUtils.java
0.00% <0.00%> (-100.00%)
:arrow_down:

...n/src/main/java/alluxio/wire/AlluxioProxyInfo.java
0.00% <0.00%> (-100.00%)
:arrow_down:

.../src/main/java/alluxio/wire/AlluxioMasterInfo.java
0.00% <0.00%> (-100.00%)
:arrow_down:

...src/main/java/alluxio/job/meta/JobIdGenerator.java
0.00% <0.00%> (-100.00%)
:arrow_down:

... and 689 more

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update ea4d766...3b867fc. Read the comment docs.

@jiacheliu3 Have you guys discussed things related to this PR before?

/ping @tieujason330 PTAL, thanks!

@jiacheliu3 Have you guys discussed things related to this PR before?

Not really.

This PR will be merged by end of week after Alluxio 2.7.2 released

ping @LuQQiu

Error: 2.879 [ERROR] Tests run: 8, Failures: 2, Errors: 0, Skipped: 0, Time elapsed: 4.371 s <<< FAILURE! - in alluxio.util.JvmPauseMonitorTest
Error: 2.880 [ERROR] alluxio.util.JvmPauseMonitorTest.testMockedInfoPause  Time elapsed: 2.069 s  <<< FAILURE!

@qian0817 can you help solve the merge conflicts introduced by merging the other stacks web UI page PR?

acks web UI page PR?

done.

05:57:40.650 [INFO] Starting audit...
Error:  /usr/src/alluxio/core/server/common/src/main/java/alluxio/RestUtils.java:15:8: Unused import - alluxio.conf.PropertyKey. [UnusedImports]

: Unus

fix.

alluxio-bot, merge this please


Add glob path matching (an alternative to default prefix matching)

We have a use case that requires being able to register a backend service with a glob style pattern /foo.* and have it handle all routes such as /foo.bar, /foo.bar.baz, etc.
This PR retains the original prefix matching behavior but adds an option to use glob matching.  This also opens up the possibility to add regex matching down the line if it's useful.
Thanks.

Interesting idea. This might solve a couple of other issues for people as well. Code looks clean on first glance and I like the integration. I'll spend a bit more time reviewing this but this looks like it is going in.
Thanks for this.

Looks good. I'll update the docs.


Error running on Gitlab CI

Hello,
I'm trying to run this for a Unity project hosted on Gitlab and am running into the following error.
[2:09:17 AM] [semantic-release] › ℹ  Start step "prepare" of plugin "@google/semantic-release-replace-plugin"
[2:09:17 AM] [semantic-release] › ✖  Failed step "prepare" of plugin "@google/semantic-release-replace-plugin"
[2:09:17 AM] [semantic-release] › ✖  An error occurred while running semantic-release: Error: Results differed from actual!
- Expected
+ Received
  Array [
    Object {
      "file": "ProjectSettings/ProjectSettings.asset",
-     "hasChanged": true,
-     "numMatches": 1,
-     "numReplacements": 1,
+     "hasChanged": false,
+     "numMatches": 0,
+     "numReplacements": 0,
    },
  ]
    at /builds/amnh/wiam-test/node_modules/@google/semantic-release-replace-plugin/dist/index.js:94:35
    at step (/builds/amnh/wiam-test/node_modules/@google/semantic-release-replace-plugin/dist/index.js:59:23)
    at Object.next (/builds/amnh/wiam-test/node_modules/@google/semantic-release-replace-plugin/dist/index.js:40:53)
    at fulfilled (/builds/amnh/wiam-test/node_modules/@google/semantic-release-replace-plugin/dist/index.js:31:58) {
  pluginName: '@google/semantic-release-replace-plugin'
}
Error: Results differed from actual!
- Expected
+ Received
  Array [
    Object {
      "file": "ProjectSettings/ProjectSettings.asset",
-     "hasChanged": true,
-     "numMatches": 1,
-     "numReplacements": 1,
+     "hasChanged": false,
+     "numMatches": 0,
+     "numReplacements": 0,
    },
  ]
    at /builds/amnh/wiam-test/node_modules/@google/semantic-release-replace-plugin/dist/index.js:94:35
    at step (/builds/amnh/wiam-test/node_modules/@google/semantic-release-replace-plugin/dist/index.js:59:23)
    at Object.next (/builds/amnh/wiam-test/node_modules/@google/semantic-release-replace-plugin/dist/index.js:40:53)
    at fulfilled (/builds/amnh/wiam-test/node_modules/@google/semantic-release-replace-plugin/dist/index.js:31:58) {
  pluginName: '@google/semantic-release-replace-plugin'
}
ERROR: Job failed: exit code 1

My .releaserc file looks like this, I basically copied the example and replaced the file and version field:
{
  "branches": ["master"],
  "tagFormat": "v${version}",
  "plugins": [
    [
      "@semantic-release/commit-analyzer",
      {
        "preset": "angular"
      }
    ],
    "@semantic-release/release-notes-generator",
    [
      "@semantic-release/changelog",
      {
        "preset": "angular",
        "changelogFile": "CHANGELOG.md"
      }
    ],
    [
      "@google/semantic-release-replace-plugin",
      {
        "replacements": [
          {
            "files": ["ProjectSettings/ProjectSettings.asset"],
            "from": "bundleVersion: \".*\"",
            "to": "bundleVersion: \"${nextRelease.version}\"",
            "results": [
              {
                "file": "ProjectSettings/ProjectSettings.asset",
                "hasChanged": true,
                "numMatches": 1,
                "numReplacements": 1
              }
            ],
            "countMatches": true
          }
        ]
      }
    ],
    [
      "@semantic-release/git",
      {
        "assets": ["ProjectSettings/ProjectSettings.asset", "CHANGELOG.md"],
        "message": "chore(release): ${nextRelease.version} [skip ci]\n\n${nextRelease.notes}"
      }
    ]
  ]
}

I'm not sure what that error means, any idea what is going wrong (and is it on my end)?
Thank you!

Sorry for the bad error message! This actually means one of the replacements didn't find a match. I guess this would be considered strict mode. I'll fix this!


Extend mock http server to support XML

Extend mock http server to support XML.

When we support more file format we can use a glob pattern. For now we may just check .json file exist if not try .xml.


Check if multi-release JARs are properly instrumented when loading classes

Gradle can only instrument bytecode up to the version ASM understands.
For multi-release JARs this means that versioned directories for the
unsupported JVM versions are not processed and instrumented JARs contain
no classes for these versions. However, due to the way agent-based
instrumentation works, classes are loaded first from the original JAR
and only then the agent replaces the bytecode with the instrumented
copy. Prior to this commit, it was possible that the non-instrumented
original class could be loaded when Gradle would run on the unsupported
JVM.
Now instrumentation puts a marker resource into processed multi-release
JARs which contains instrumentation status. Root directory always has
"instrumented" status. If there is an unsupported versioned directory
with class files, it gets a versioned resource with "not instrumented"
status.
The replacing class loader loads the resource and checks the status when
transformed classes are looked up in the JAR for the first time. If the
JVM is unsupported and there are versioned class for this JVM, the class
loader loads the "not instrumented" version of the resource and aborts
loading the class.
Fixes #25434

@bot-gradle test APT

I've triggered the following builds for you. Click here to see all build failures.

AllPerformanceTestsReadyForRelease build

@bot-gradle test this

I've triggered the following builds for you. Click here to see all build failures.

PullRequestFeedback build

@bot-gradle test this

I've triggered the following builds for you. Click here to see all build failures.

PullRequestFeedback build

@bot-gradle test and merge

I've triggered a build for you. Click here to see all failures if there's any.

Pre-tested commit build failed. Click here to see all build failures.

Your PR is queued. See the queue page for details.


Trivia, Four Square Style

TEST PLAN (requires at least 2, preferably more people)

Go to "Trivia" domain
Trivia master (TM) runs trivia.js and opens the app that it installs
Contestants get on the trivia board and see a white square outline that shows which color they are standing on and TM clicks "Let's Get Started"
Lights turn on for each floor square, each answer option on the game backboard, and the avatars remaining backboard. A bubble appears over the board, locking the players in.
TM selects question type, difficulty, and category and hits"New Question"
TM checks that the question is not exceptionally long, has no words longer than a line of text, and contains no special characters. A new question is selected if needed.
Once a good question is found, TM hits "Show this Question" and it appears on the question text on the game backboard
TM hits "Show the answers" to begin the timer sound and all answer options display on answer texts of game backboard
After 10 seconds, a bell dings and any players not on the correct square get teleported to the viewing area. The lights go out on each square of the game board and game backboard that do not correspond to the correct answer color.
TM gets a new question and hits "Show this Question". All lights come back on and question is displayed as previously
When game is over, TM hits "Game Over: and all lights go out and bubble disappears

Given that we've been testing this extensively and using it in our events, I'm going to merge this branch in and we can continuing testing the new versions incrementally.