Added ability to select DotNet version when running functional tests

As part of the .NET 6 version upgrade, the functional tests (which have been built with .NET 6) are being run under the default version of 3.1 - this is causing the tests to fail.
This change adds the ability to set which .NET version should be used when the functional tests are run.

LGTM


Profile Specific Configuration Not Loaded

In my add I have some kubernetes specific configuration contained within a file called application-kubernetes.yml.  When I deploy my app in minikube the configuration from this file is not loaded, even though the kubernetes profile appears to be enabled.
If however I specify the kubernetes profile as an environment variable in my deployment.yml then the configuration appears to loaded fine.
You can use this deployment file to reproduce the problem.
https://github.com/ryanjbaxter/chaos-monkey-spring-boot-demo/blob/spring-cloud-kubernetes/bestseller-toys/bestseller-toys-deployment.yml
If you deploy that and then go to /actuator/env you will see the kubernetes profile enabled and you should see properties coming from application-kubernetes.yml.
If you then remove the env properties in that deployment and then deploy the application again and again hit /actuator/env you will still see the kubernetes profile enabled, but the properties from application-kubernetes.yml will not be added.

I was able to reproduce this issue.
So the gist is that although Spring Cloud Kubernetes properly adds the kubernetes profile, this profile seems to have no effect on the properties being loaded.
One can also easily reproduce this without having to have the application deployed on Kubernetes, simply change KubernetesProfileApplicationListener#addKubernetesProfile to:
	void addKubernetesProfile(ConfigurableEnvironment environment) {
		environment.addActiveProfile(KUBERNETES_PROFILE);
	}

Is there some Spring Boot thing that we need to be doing in to get the profile to have an effect on which files will be used to load properties?

Is it an ordering issue maybe?

That's as my first as well but when I tried to change the order value it didn't have any effect

I had a breif conversation with @philwebb about this yesterday and he suggested

Phillip Webb [2:33 PM]
Looking at ConfigFileApplicationListener.initializeProfiles I think Boot should find it. Try debugging getOtherActiveProfiles and check that it actually finds it
@rbaxter It might be an ordering issue. I think your listener should be fine, but worth sticking a couple of breakpoints in KubernetesProfileApplicationListener and ConfigFileApplicationListener to make sure

I had not had a chance to try it though

I'll give it a go tomorrow

OK, so here is what I got:
getOtherActiveProfiles get's called in ConfigFileApplicationListener#initializeProfiles, which itself executes when the ApplicationEnvironmentPreparedEvent event is fired.
However at that point none of the listeners have executed. The initializers get executed as part of SpringApplication.prepareContext.
So is what we are trying to do unsupported by Spring Boot or is there perhaps some other feature we should be using?

Environment post processor?

I'll give it a shot


Some tags not working/missing mangas

220958 this is an example
Especially all takeda hiromitsu works are gone
Device is redmi note 12 if that helps
Already tried unistalling reinstalling

Same issue here


NonExistentFlagException is thrown twice

Describe the bug
While I was fixing this issue I noticed that the NonExistentFlagsError exception was being thrown twice. The first time it is thrown, the exception does not propagate up to the parent's try/catch, just when it is thrown for the second time. I was using a sfdx command so I'm not sure if sfdx is calling the parser again besides oclif call.
To Reproduce

Add a breakpoint in the parser, right before the validate call
run a sfdx command with a non existent flag, like I did in the images shown in this PR

Expected behavior
NonExistentFlagException must be thrown once when passing 1 or many non existent flags, and the execution should stop right away
Screenshots
I could not take a screenshot of the callstack because I could not display both exceptions at once
Environment (please complete the following information):
MacOS latest
zsh
Additional context
Noticed it while I was creating this fix

I was using a sfdx command so I'm not sure if sfdx is calling the parser again besides oclif call.

This is where the first error is being thrown: https://github.com/salesforcecli/plugin-telemetry/blob/main/src/commandExecution.ts#L143
That parse is attempting to get the provided flags so that it can report it to app insights.
The second parse is done by the command class, so that's where the error gets thrown the second time.
I'm gonna close this since it's not really an issue (at least for oclif/core)


Aren't able to set style for the svg

Hey,
Thanks for the awesome lib!
But i ran in to an issue, when trying to style my svg's.
This is how i render it in my template:
        <div class="star-icon">
          <svg-icon src="/images/v2/YouRa%20vector%20icon/ic_grade_black_48px.svg" style="width: 27px;"></svg-icon>
        </div>

This is my css:
.star-icon {
  width: 27px;
  fill: #9B9B9B !important;
}

None of these approaches lets me edit style of my svg's.
I am on newest angular, etc.
Any ideas?

hmm... If i put the styling in inline css it works, as soon as i add it to my components css file it doesn't work anymore ://

Can share your svg please? I'll take a look at what is going on.

Hi,
if you want to style the markup of the svg like changing a path's fill color e.g you use it in a template of another component, you need to use something like this
.star-icon {   /deep/ path {     fill: #9b9b9b;   } }
but /deep/ is deprecated? I think ::ng-deep is the alternative?
https://angular.io/guide/component-styles
https://github.com/angular/angular/issues/17867

Created global.css file and included straight into index.html
That way the svg's work.

I don't think creating a global.css file is a good solution or helpful at all.
One example - and my use case - is if your fill color or any other css property is dynamic..
At the moment the <svg> tag is a child of the <svg-icon> component so setting any CSS on the component itself by doing <svg-icon [ngStyle]="{'fill': getIconColor()}" src="..." is useless as it won't travel down to the <svg> element.
I think the <svg-icon> component should by default pass all the style properties to the <svg> element itself as that's the most useful thing.
If passing the ngStyle properties down to the svg element is bad practice or unachievable we could always do a different property name such as <svg-icon [svgStyle]="....>


python3Packages.fakeredis: 1.6.1 -> 1.7.0

Motivation for this change
Update to latest upstream release1.7.0
Change log: https://github.com/jamesls/fakeredis#170
Things done

Built on platform(s)

[x] x86_64-linux
[ ] aarch64-linux
[ ] x86_64-darwin
[ ] aarch64-darwin

[ ] For non-Linux: Is sandbox = true set in nix.conf? (See Nix manual)
[ ] Tested, as applicable:

NixOS test(s) (look inside nixos/tests)
and/or package tests
or, for functions and "core" functionality, tests in lib/tests or pkgs/test
made sure NixOS tests are linked to the relevant packages

[ ] Tested compilation of all packages that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD". Note: all changes have to be committed, also see nixpkgs-review usage
[ ] Tested basic functionality of all binary files (usually in ./result/bin/)
21.11 Release Notes (or backporting 21.05 Release notes)

[ ] (Package updates) Added a release notes entry if the change is major or breaking
[ ] (Module updates) Added a release notes entry if the change is significant
[ ] (Module addition) Added a release notes entry if adding a new NixOS module
[ ] (Release notes changes) Ran nixos/doc/manual/md-to-db.sh to update generated release notes

[x] Fits CONTRIBUTING.md.

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

2 packages built:

python38Packages.fakeredis
python39Packages.fakeredis


ElectrumX bitcoin support ? Other altcoins ?

Hi,
I am a little confused and wondered if anybody can confirm something?
I found this repo stating it was a fork of the original electrumx which seems to have dropped support for bitcoin (according to this readme) - although checking their repo it states they are dropping altcoin support and only bitcoin sv will be supported. So bitcoin (BTC) is still supported ?
Does this repo support BTC and does it support any altcoins ? I was looking specifically for litecoin.
Any help really appreciated.
Thanks

Yep, the original repo (kyuupichan/electrumx) now only supports Bitcoin SV. This fork (spesmilo/electrumx) focuses on Bitcoin and support for Electrum. This repo still has the altcoins, but you should know a few things:

Our cryptocurrency focus remains on Bitcoin, and we don't provide support for working with other cryptocurrencies on the spesmilo GitHub organization repos, the Electrum subreddit, or the #electrum IRC channel.
The altcoins are still supported in this repo's codebase while it's convenient, thanks to community-supplied code and unit tests.
Should altcoin code get in the way of features for the Bitcoin protocol, the Lightning network, or Electrum wallet software, it will likely be removed rather than us spending time working around it.

If you want a wallet stratum daemon that focuses on Litecoin, you may want to consider doing what we did and fork the codebase and give it this sole focus. I'd suggest calling it something without the word Electrum if you do, just to avoid confusion.

Thanks


Only parse configuration once per session

To avoid having to re-read the configuration for every single test we
put it into a "session" fixture. To still have a fresh copy of the
configuration for every test (in case a test modifies it) we wrap it in
a "function" fixture which makes a deepcopy of it.

General questions, why is conftest.py duplicated in the repo? Can we just symlink on to the other?

General questions, why is conftest.py duplicated in the repo? Can we just symlink on to the other (or will this break stuff on Windows)?

This was done at the very beginning of the repo, so please add the improvement! 😄


PKCS#12 support in OpenSSL 3.0 FIPS provider

We are using pkcs#12 container to store personal identification information and when I am trying to use OpenSSL-3.0.0 in FIPS mode to load PKCS#12 file the following error is coming
root@mackinac-6ull:/data/Openssl_LS_test_cert# openssl pkcs12 -in new.pfx -info
Enter Import Password:
MAC: sha256, Iteration 2048
MAC length: 32, salt length: 8
Error verifying PKCS12 MAC; no PKCS12KDF support.
Use -nomacver if MAC verification is not required.
root@mackinac-6ull:/data/Openssl_LS_test_cert#
Is PKCS#12 not FIPS supported? And if it is not FIPS compliant then is there any other FIPS certified container that we can use to store personal identification information.
Is there any way we can use FIPS approved algorithms in PKCS#12?

@mattcaswell  Thanks for quick response.
So it means that we can not use PKCS#12 container in FIPS mode. Is this understanding correct?
is PKCS12KDF algorithm is hardcoded in PCKS#12 standard or we can change the KDF fnuncion at time of .pfx creation?

There is a draft
https://datatracker.ietf.org/doc/draft-ietf-lamps-pkcs12-pbmac1/ by @tomato42 and I have a very draft implementation of it.

So it means that we can not use PKCS#12 container in FIPS mode. Is this understanding correct?

Correct. At least not without one of the workarounds I mentioned

is PKCS12KDF algorithm is hardcoded in PCKS#12 standard or we can change the KDF fnuncion at time of .pfx creation?

It's hard coded (but see @beldmit's post above).

@mattcaswell @beldmit Thanks for the updates.
@mattcaswell, If the draft gets approved and PKCS#12 comes with a new implementation, does OpenSSL require any changes in the FIPS provider code to integrate the new changes (PKCS#12)?
I am asking this question because if there is any change in FIPS provider code then OpenSSL have to go to CMWP again for new FIPS 140-2 certification.

@mattcaswell, If the draft gets approved and PKCS#12 comes with a new implementation, does OpenSSL require any changes in the FIPS provider code to integrate the new changes (PKCS#12)?

It's unclear. The proposed draft is based on PBMAC1 which combines a password based KDF (PBKDF2) with an underlying MAC (and at a minimum a compliant implementation must support SHA-256 HMAC). Our current FIPS module already supports PBKDF2 and SHA-256 HMAC. However the FIPS module (and OpenSSL in general) does not have a MAC implementation known as PBMAC1. The code that combines PBKDF2 with SHA-256 HMAC is actually quite trivial, but I'm not sure whether that code would need to be inside the module boundary or not. If not then the current module already has everything needed. If it does then modifications to the module (and hence a revalidation would be required).
In any case this is likely to be a long term solution. The draft would have to be approved, OpenSSL would have to implement it, and it would have to be incorporated into an OpenSSL release (OpenSSL 3.3 at the earliest I would think) before it could be used.

I'm pretty sure that "PBMAC1" doesn't have to be in the fips module, otherwise all constructions that use some kind of KDF to get keys for the HMAC would have to be inside the fips module (e.g. the TLS ciphers).

I'm pretty sure that "PBMAC1" doesn't have to be in the fips module, otherwise all constructions that use some kind of KDF to get keys for the HMAC would have to be inside the fips module (e.g. the TLS ciphers).

Good point. Hopefully that's true. I guess we'd need to confirm it with the lab.

If we implement it as a new MAC, it would need to be inside the boundary or a work-around like @mattcaswell mentioned would be required.

If we implement it as a new MAC

Not sure why we would want to do it. It is clear that naming it as a "special" MAC is just for the purpose of adding an object identifier. We can special-case it in the code.

The only reason I see is that the intermediate data shouldn't cross the FIPS boundary.

I am looking at this page of docs -> https://www.openssl.org/docs/man3.0/man1/openssl-pkcs12.html. Its mentioned in the nomac option that
Do not attempt to provide the MAC integrity. This can be useful with the FIPS provider as the PKCS12 MAC requires PKCS12KDF which is not an approved FIPS algorithm and cannot be supported by the FIPS provider.
This makes me confused, is PKCS12 MAC not supported by FIPS or PKCS12KDF not supported by FIPS?

My openssl version is OpenSSL 1.1.1k  FIPS 25 Mar 2021. May I know what is the difference if I create a pkcs12 keystore with and without the nomac option? It seems that I can create two keystores successfully within a fips version openssl. Does that mean the mac value is calculated in a fips version openssl?

The OpenSSL 1.1.1k  FIPS 25 Mar 2021 is a vendor (most probably Red Hat) patched version, not something that the OpenSSL project directly provides. We cannot really give you any guidance for this FIPS module.
The -nomac option creates a PKCS12 file without an integrity protection. The PKCS12KDF is used to create the key for the MAC. Unfortunately that KDF function is not approved by FIPS standard which means, if strict compliance with FIPS rules is required, that it cannot be used. That's why our FIPS module does not provide that KDF function and thus it cannot create PKCS12 files with integrity protection.

Thanks for the information. General speaking, does PKCS12 need a MAC check in FIPS mode?

General speaking, does PKCS12 need a MAC check in FIPS mode?

Without doing the MAC check, you're losing the integrity protection on the PKCS12 file. It depends on how do you use it. If you need just confidentiality and not the integrity protection, you do not need to do MAC check. You can also provide the integrity protection on transport by other means such as adding a signature outside of the PKCS12 file.

Thanks for the information. General speaking, does PKCS12 need a MAC check in FIPS mode?

yes, FIPS rules require use of integrity protection with confidentiality protection for storage of key material; by omitting integrity protection you need to consider the keys to be stored in plantext

@mattcaswell @paulidale
Hi Matt/Paul,
PKCS12KDF was working when we were using FIPS 1.0.2 + FIPS and now we migrated to 3.0.8 + FIPS, now it is not able to load the certificates in urlib3. So is there a change from the previous version of openssl w.r.t FIPS algorithms?

That KDF cannot be FIPS validated so it isn't in the FIPS provider.
You can still load such by using the default provider and an explicit 'fips=no' property query.

That KDF cannot be FIPS validated so it isn't in the FIPS provider.
You can still load such by using the default provider and an explicit 'fips=no' property query.

Thanks @paulidale
PKCS12KDF is not working in OpenSSL 3.0.8 + FIPS ( As we are loading only fips + base provider, no default provider and inorder to use that we need to use a different context). This is fine
But PKCSKDF is working in OpenSSL 1.0.2 + FIPS this is our doubt, this is a bit concern here
so is there any difference here?

So is there a change from the previous version of openssl w.r.t FIPS algorithms?

1.0.2 does not really have the concept of KDF crypto algorithms as a separate thing, i.e. there are no EVP_KDF APIs there. The fact that the PKCS12 KDF works with the FIPS module there is probably "by accident". The 3.0 FIPS provider is a complete rewrite and works totally differently to the old FIPS module. In 3.0 the PKCS12 KDF is recognised as a crypto algorithm in its own right and does exist inside the FIPS provider (only in the default provider).

can we load both default and fips provider in the default context in openssl 3.0.8 + fips use case? and make the pkcs12kdf work?

You could, and it would then work (dependent on property settings). Having both the default and fips providers loaded means you don't know which provider is used for any given algorithm since all algorithms in the fips provider are also in default. You can resolve this with appropriate global property settings. But ultimately loading some crypto from "default" means you are no longer FIPS.

@mattcaswell
Thanks for the information.
one doubt on this
You can resolve this with appropriate global property settings. But ultimately loading some crypto from "default" means you are no longer FIPS.

we are loading as of now fips and base providers and making the fips enable call from the code as shown below
self.crypto_context.EVP_default_properties_enable_fips(None, 1):

we understood that it is no longer fips compliant just for understanding a bit more, if we are using both providers when we are using the pkcs12kdf will it go to fips provider/default provider?

@paulidale @mattcaswell
Hi Matt/Dr.Paul,
one of our counterparts in our organization where we call them to provide some certs (pub/priv/passphrase) information which we store and later use for connecting them (https) when we are on the customer site. This is where we are facing issues now.
They are using the below Java code to generate the certificate pair and pass it to our application.
snippet:
/ generate PKCS10 certificate request
        X500Principal subjectName = new X500Principal(cn);
        PKCS10CertificationRequestBuilder p10Builder = new JcaPKCS10CertificationRequestBuilder(subjectName, keyPair.getPublic());
so the way certificate generation using pkcs10 is the issue and when we use the contents in the urllib method of python which internally uses (https along with certs ) is getting failed in FIPS mode and working in non-FIPS mode
self.__connection = PoolManager(cert_file=cert_file, key_file=cert_key, key_password=key_pwd,
cert_reqs=cert_reqs, ca_certs=ca_cert,
timeout=self._get_timeout(connect_timeout=self.__connect_timeout,
read_timeout=self.__read_timeout),
ssl_context=self.__get_ssl_context()
)
could you please help on is the cert creation is the RC for the failure or should we look on other areas?
Thanks once again

So If I understand correctly, just using "-nomacver" when exporting/reading PKCS keystore is not an sufficient with openssl fips right? I am getting following error. Is this error related to using fips compliant openssl(i.e. not loading PKCS12KDF algo)?
Shrouded Keybag: pbeWithSHA1And3-KeyTripleDES-CBC, Iteration 1024
PKCS7 Encrypted data: pbeWithSHA1And3-KeyTripleDES-CBC, Iteration 1024
Error outputting keys and certificates
80117D8084700000:error:0308010C:digital envelope routines:inner_evp_generic_fetch:unsupported:crypto/evp/evp_fetch.c:373:Global default library context, Algorithm (PKCS12KDF : 0), Properties (<null>)
80117D8084700000:error:1180006B:PKCS12 routines:PKCS12_PBE_keyivgen_ex:key gen error:crypto/pkcs12/p12_crpt.c:55:

Yes, that would be related.  3DES isn't permitted under FIPS anymore.

I found this Document released at this year May -> https://csrc.nist.gov/CSRC/media/projects/cryptographic-module-validation-program/documents/security-policies/140sp4282.pdf.
It mentioned that PBKDF2 function is supported in FIPS mode for key derivation. Please correct me if Im wrong, the OpenSSL version of PBKDF2 is PKCS12KDF function?

PBKDF2 is supported in our FIPS module already, but that is a different algorithm to PKCS12KDF. Both of those algorithms are supported in our default provider (see the KDF section below):
https://www.openssl.org/docs/man3.0/man7/OSSL_PROVIDER-default.html
But not in the FIPS provider (compare the list of KDFs supported):
https://www.openssl.org/docs/man3.0/man7/OSSL_PROVIDER-FIPS.html

@mattcaswell thanks for the quick response, so if I want to run in FIPS mode, should I enable the FIPS provider and use PBKDF2 function from the FIPS module?

The KDF used in PKCS12 is PKCS12KDF. You cannot configure it to use PBKDF2 instead.

More specifically PBKDF2 can also be used in PKCS12, but for a different purpose. The use of PKCS12KDF unfortunately cannot be replaced.

hi @mattcaswell, @t8m ,
Currently we are migrating from OpenSSL v102 to v 3.0.x
We are extensively using PKCS12_create API, without FIPS it is working fine. The certificate generated by our application are consumed by Android, IOS and Windows device.
We are now making or application FIPS compliant, we cannot use the workaround of loading default provider in FIPS mode and we cannot skip integrity check also due to security issues. The application is audited and will not be certified in FIPS mode.
Could you please help what is the other alternate for us now.

Will this draft https://datatracker.ietf.org/doc/draft-ietf-lamps-pkcs12-pbmac1/ fix the PKCS12_create API issue and it will start working in FPS mode.
When is the fix  expected for this and in which version. As we are on 3.0.x version.

Will this draft https://datatracker.ietf.org/doc/draft-ietf-lamps-pkcs12-pbmac1/ fix the PKCS12_create API issue and it will start working in FPS mode.
When is the fix expected for this and in which version. As we are on 3.0.x version.

We believe it will fix the issue (on the assumption that PBMAC1 does not need to be inside the FIPS boundary - which the discussion above suggests should be ok). I'm not tracking the status of the draft but I understand it is still active.
@tomato42 is probably in a better position to know what the latest is on this draft. I assume it will be discussed at the IETF meeting this week.

When is the fix expected for this and in which version. As we are on 3.0.x version.

Any fix will not be added to 3.0.x since that is a stable release and we don't add new features to stable releases. In order for the feature to be available, the draft first needs to be completed and published as a standard (OpenSSL only implements  crypto that has been standardised as a matter of policy). Again @tomato42 might be able to advise on the timelines here.
Once standardised a PR needs to be raised/approved and merged and it will then go into the next release. I feel fairly confident that @beldmit will raise a PR for this fairly soon after the standard is available. Even if everything goes smoothly and quickly, the earliest release that this could go into would be 3.3, which will be available in April 2024.

I will raise a PR ASAP when the draft becomes an RFC. https://github.com/beldmit/openssl/tree/pkcs12_pbmac1 is a quick and dirty implementation

hi @mattcaswell, @beldmit
Thank you for the response.
Could you please clarify my understanding - even after the fix, which is related to PBMAC1.  PKCS12 will still use PKCS12KDF which is not FIPS complaint so I will still not able to use PKCS12_create API in FIPS mode.

It's intended that you will be able to specify PBMAC1 instead of PKCS12KDF though I am not sure if it directly fits the PKCS12_create function or you will have to use smth else

that will be included in master branch, so 3.4.0 is earliest.

Current master branch is for 3.3.0 (to be release April 2024), so that would be the earliest.

ah, right, 3.3.0 is earliest

Hi @beldmit ,
It was my mistake I was using algo NID_pbe_WithSHA1And40BitRC2_CBC in PKCS12_create API hence it was not working in FIPS. with default algos. PKCS12_create api is working in FIPS. Apologies for the confusion.
Cert generated
MAC: sha256, Iteration 2048
MAC length: 32, salt length: 8
PKCS7 Encrypted data: PBES2, PBKDF2, AES-256-CBC, Iteration 2048, PRF hmacWithSHA256
Certificate bag
PKCS7 Data
Shrouded Keybag: PBES2, PBKDF2, AES-256-CBC, Iteration 2048, PRF hmacWithSHA256

Now, the next issue I encountered is in PKCS12_parse api, it is failing here. with the below mentioned error.
error:0308010C:digital envelope routines::unsupported
error:1180006B:PKCS12 routines::key gen error
error:1180006D:PKCS12 routines::mac generation error
error:11800071:PKCS12 routines::mac verify failure

So,  for my understanding, with the fix there will be a way to specify PBMAC1 instead of PKCS12KDF and mac integrity check will be performed successfully either during PKCS12_create or PKCS12_parse.
For now, could you please help me where should i set -nomac option in code (during create or during parse), to skip the mac verification.  This is just for testing purpose. We still can't skip mac verification, neither we can load default provider as this will get audited and our app will not be FIPS compliant.
Also, the fix will be available in 3.3, will it be eventually merged to 3.0.x version ?
We are working on getting FIPS certified so we need to this information to plan the release.

PBMAC1 isn't available in the FIPS provider and I doubt it ever will be able to be validated, so that isn't a useful path for you.
We don't back port features to stable releases, so no a fix in 3.3 will not be merged to 3.0.x.

Hi @paulidale,
Thank you for the response, could you please suggest what is the suitable alternate for this.

PBMAC1 isn't available in the FIPS provider and I doubt it ever will be able to be validated, so that isn't a useful path for you.

@paulidale - the argument earlier in this thread is that PBMAC1 is a trivial combination of a KDF and a MAC - and isn't a new algorithm in its own right (we wouldn't implement PBMAC1 as an EVP_MAC):

Or to put it other way, PBMAC1 is the name of construct on PKCS#12 level, similar to PBES2, not a new MAC algorithm.

See this comment.
So the argument is that as long as the KDF and the MAC are inside the boundary then PBMAC1 can be outside the boundary and still be a FIPS compliant solution.

That would work at least until the CMVP decides to draw this into the boundary too.
Then we'd have to validate it.

@paulidale If that happens, then we will cross that bridge. As far as we (Red Hat) are aware, the existing fips module is already sufficient to implement PBMAC1 support in PKCS#12.

PKCS12_create API also does not work in FIPS mode, following is the error:
60690000:error:0308010C:digital envelope routines:inner_evp_generic_fetch:unsupported:crypto\evp\evp_fetch.c:373:Global default library context, Algorithm (PKCS12KDF : 0), Properties (<null>)
I have update my above comment https://github.com/openssl/openssl/issues/19997#issuecomment-1798015008

PKCS12KDF is the KDF that will get replaced once PBMAC1 is supported.

Hi team,
Just for internal testing we are working on skipping MAC check. However this is not the valid option for us.
As suggested here, we set the mac_iter = -1, certificate is generated successfully with FIPS provider.
p12 = PKCS12_create((char*)pswd, (char*)szCertStorePath, pkey, cert, NULL, 0, 0, 0, -1, 0).
https://www.openssl.org/docs/man3.0/man3/PKCS12_create.html#:~:text=mac_iter can be set to -1 and the MAC will then be omitted entirely. This can be useful when running with the FIPS provider as the PKCS12KDF is not a FIPS approvable algorithm
While parsing the certificate we are facing this issue. What to set here to skip the MAC check.
PKCS12_parse(ptr, password, out pkey, out cert, out cacerts)
Error:
error:1180006C:PKCS12 routines::mac absent
error:11800071:PKCS12 routines::mac verify failure

It's partially related to #20072 and in general will be fixed by implementing https://datatracker.ietf.org/doc/draft-ietf-lamps-pkcs12-pbmac1/

@mattcaswell
Thanks for the information.
one doubt on this You can resolve this with appropriate global property settings. But ultimately loading some crypto from "default" means you are no longer FIPS.

we are loading as of now fips and base providers and making the fips enable call from the code as shown below
self.crypto_context.EVP_default_properties_enable_fips(None, 1):

we understood that it is no longer fips compliant just for understanding a bit more, if we are using both providers when we are using the pkcs12kdf will it go to fips provider/default provider?

Did you get answer to this query? if so please share
we understood that it is no longer fips compliant just for understanding a bit more, if we are using both providers when we are using the pkcs12kdf will it go to fips provider/default provider?


[NDMII-1268] Add unit tests for flowAccumulator.detectHashCollision

What does this PR do?
Adds missing unit test to flowAccumulator.detectHashCollision
Motivation
Increase test coverage
Describe how to test/QA your changes
invoke test --targets=./comp/netflow
Possible Drawbacks / Trade-offs
N/A
Additional Notes

/merge


Doesn't work with ViewportContainer

Thanks for this script, it works very well, but when I try to use it in a scene with ViewportContainer, it shows nothing.

I think I see the issue, the script relies on get_viewport to get the camera which is then used to unproject the line positions to be able to draw it on a canvas.
But since there are multiple viewports and cameras it wont get the correct camera to be able to draw correctly.
It would probably need a reference to the specific camera to use for coordinates but Im not sure on the best way to get a camera reference to the line drawing script.


VM migrations failing out-of-the-box

A newly provisioned RHPDS infra migration demo.
The DB was powered off and so ansible checks failed:
db.example.com | UNREACHABLE! => {
"changed": false,
"msg": "Failed to connect to the host via ssh: ssh_exchange_identification: Connection closed by remote host\r\n",
"unreachable": true
}
Powered on but couldn't seem to hit the Ticket monster URL
Tried a couple of migrations for lb and jboss0, both failed. Surely these should work regardless of the above error?

Sounds like the backend Ravello env is having issues.  I would recommend deleting and re-ordering the demo/lab.  These are not common issues.

I didn't need to delete/re-order, somehow it came back. Might be when I tried to migrate one of the VMs (playbooks doing stuff to the DB in preparation?)

Sounds like Ravello was having some networking/communication issues.  We don't execute any pre/post playbooks for migration of the VMs at this time.  Maybe an enhancement we add in the future.

Could be, let's close for now and if I encounter again, I'll re-open.


Footer is broken in WebKit browsers

testing notes
the footer should look normal now. on short pages like "what is prosody" it should still be pushed to the bottom.
dev notes
pretty sure this is a flexbox implementation issue & the footer can't calculate its height correctly. might try using grid as per @rlskoeser
edit: nope

Looks normal now across devices!


PHP 7 Null coalescing Operator '??' reported as an unexpected token

The new PHP 7 operator ?? is reported as unexpected token.

Thanks, this is a known issue.
I close this issue as this is a duplicate.


Iris documentation - example test mpl UserWarning

The iris documentation example test docs/iris/example_tests/test_COP_1d_plot.py, which calls docs/iris/example_code/Meteorology/COP_1d_plot.py, causes the following matplotlib 2.2.2 warning to be raised:
<snip>/lib/python2.7/site-packages/matplotlib/ticker.py:1853: UserWarning: Steps argument should be a sequence of numbers
increasing from 1 to 10, inclusive. Behavior with
values outside this range is undefined, and will
raise a ValueError in future versions of mpl.

This is being generated by matplotlib itself, through it's own default choice of tick locations using matplotlib.ticker.MaxNLocator and the example cube data. The entry point to matplotlib from iris is from iris.plot._draw_1d_from_points - btw no string axes are involved in the plot.
We should investigate this and circumvent within iris through our own choice of tick locator, or determine if this is an issue within matplotlib that requires fixing for the community.

See nc-time-axis PR #34...

nc_time_axis>=1.1 should fix.


Preparing simple c array for bt_music_sender_write

Hi, I'm trying to run the bt_music_sender_write, however I got an error:

"Sketch` uses 2230311 bytes (170%) of program storage space. Maximum is 1310720 bytes."

I tried to downsize the sample StarWars.h file, but I don't know how to do it right. Instead, I tried following your instructions on how to prepare my own simple c array, but I don't know how/where this step should be done:

Convert to c file e.g. with "xxd -i file_example_WAV_1MG.raw file_example_WAV_1MG.c"

How should I convert the raw file to c file? (sorry for the dumb question)
Also, how do you get the length just like what is written in the end of StarWars.h file?
Thank you very much!
Regards,
rmond18

If I remember right you need to choose Partition Scheme - Huge App

It worked, thank you very much!
May I also asked what is the difference of bt_music_sender_write to the bt_music_sender_mic?
Does the bt_music_sender_mic only plots/prints the data from the mic into the serial monitor?
Thank you very much for replying!

Hmm - I am confused.
Where did you find bt_music_sender_mic ?

Ohhh i'm sorry I got it mixed with the code that I'm developing where the input of the bt_sender is an i2s mic, thank you again! Sorry for the confusion.


bump to Lean version 4.9.0

Test these changes locally–make sure everything still works as intended. Check lake build, leanblueprint, and try to build the documentation. The more that this is tested, the better.

Try deleting .lake, or running lake update in between the two commands you ran.

everything works for me now after deleting .lake

slay


as-live test fails on some assemblers

On a recently updated debian 12 "bookworm" (this is current "testing" version, not "stable"), the live assembler test fails due to warnings being emitted, and not expected by the test.  Looks like this:
1/1 (100.00%) /usr/bin/python test/AS/as-live.py
STDOUT =========================================================================
scons: Reading SConscript files ...
scons: done reading SConscript files.
scons: Building targets ...
as -o aaa.o aaa.s
gcc -o aaa_main.o -c aaa_main.c
gcc -o aaa aaa.o aaa_main.o
/usr/bin/python wrapper.py /usr/bin/as -o bbb.o bbb.s
gcc -o bbb_main.o -c bbb_main.c
gcc -o bbb bbb.o bbb_main.o
gcc -I. -c -o ccc.o ccc.S
gcc -o ccc_main.o -c -I. ccc_main.c
gcc -o ccc ccc.o ccc_main.o
scons: done building targets.

STDERR =========================================================================
0a1,6
> /bin/ld: warning: aaa.o: missing .note.GNU-stack section implies executable stack
> /bin/ld: NOTE: This behaviour is deprecated and will be removed in a future version of the linker
> /bin/ld: warning: bbb.o: missing .note.GNU-stack section implies executable stack
> /bin/ld: NOTE: This behaviour is deprecated and will be removed in a future version of the linker
> /bin/ld: warning: ccc.o: missing .note.GNU-stack section implies executable stack
> /bin/ld: NOTE: This behaviour is deprecated and will be removed in a future version of the linker

FAILED test of /home/mats/github/scons/scripts/scons.py
        at line 665 of /home/mats/github/scons/testing/framework/TestCommon.py (_complete)
        from line 754 of /home/mats/github/scons/testing/framework/TestCommon.py (run)
        from line 464 of /home/mats/github/scons/testing/framework/TestSCons.py (run)
        from line 167 of /home/mats/github/scons/test/AS/as-live.py

This assembler identifies itself as:
GNU assembler (GNU Binutils for Debian) <IP_ADDRESS>20713
Copyright (C) 2022 Free Software Foundation, Inc.
This program is free software; you may redistribute it under the terms of
the GNU General Public License version 3 or later.
This program has absolutely no warranty.
This assembler was configured for a target of `x86_64-linux-gnu'.

This is some decent reading on the topic, though of course it has a Gentoo flavor:
https://wiki.gentoo.org/wiki/Hardened/GNU_stack_quickstart

It seems the section info stuff only works on a .S (uppercase) assembler source file which will be preprocessed, not on a .s (lowercase). The test generates two lcase-s files and one ucase-S file.


Changed occurrences of possessive it's to its

I love both this and the Pokémon API, but this tiny thing was bugging me haha

Looks great, thank you! :)


juliaup versionsdb.json nondeterministic order

While working on reproducible builds for openSUSE, I found that
our juliaup 1.6.0 package varied from entry order issues in the versionsdb.json file.
 {
   "AvailableVersions": {
-    "1.1.0+0~x86": {
-      "UrlPath": "bin/linux/x86/1.1/julia-1.1.0-linux-i686.tar.gz"
+    "1.6.5+0~x64": {
+      "UrlPath": "bin/linux/x64/1.6/julia-1.6.5-linux-x86_64.tar.gz"
     },

This caused variations in resulting /usr/bin/julialauncher and /usr/bin/juliaup binaries.
It should be possible to build twice and get identical binaries.

I believe this should now be fixed on main.


Activate back the coq_match_gadt flag

Codecov Report

Merging #204 (d5ff5d9) into master (20f69d6) will increase coverage by 0.41%.
The diff coverage is 0.00%.

@@            Coverage Diff             @@
##           master     #204      +/-   ##
==========================================
+ Coverage   67.80%   68.21%   +0.41%
==========================================
  Files          31       31
  Lines        4463     4464       +1
==========================================
+ Hits         3026     3045      +19
+ Misses       1437     1419      -18

Impacted Files
Coverage Δ

src/exp.ml
70.01% <0.00%> (+1.01%)
:arrow_up:

src/attribute.ml
70.58% <0.00%> (+3.92%)
:arrow_up:

src/pattern.ml
68.69% <0.00%> (+5.21%)
:arrow_up:

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 20f69d6...d5ff5d9. Read the comment docs.


Create Multi-Cloud Application Consuming Object Store Service

Tutorial URL: https://developers.sap.com/tutorials/cp-objectstore-mc-java-app.html
Is it planned to provide examples with ACL usage for different providers (Azure, GCP, AWS)? As of now the only access management that I can think of is the usage of JWT tokens for scope checking on the Java Proxy App using Spring Boot. Is there a way combine JWT/scope check and ACL usage?

Hi,
we havent explored on ACL usgae with different provided. No sample is planned on the same for now.
https://jclouds.apache.org/guides/aws/ shows how ACL can be done with jclouds library.

Thank you for your feedback. The issue seems to be resolved, so I am closing the issue.
If you still have questions, feel free to reopen the issue.


[SPARK-21818][ML][MLLIB] Fix bug of MultivariateOnlineSummarizer.variance generate negative result

What changes were proposed in this pull request?
Because of numerical error, MultivariateOnlineSummarizer.variance is possible to generate negative variance.
This is a serious bug because many algos in MLLib
use stddev computed from sqrt(variance)
it will generate NaN and crash the whole algorithm.
we can reproduce this bug use the following code:
    val summarizer1 = (new MultivariateOnlineSummarizer)
      .add(Vectors.dense(3.0), 0.7)
    val summarizer2 = (new MultivariateOnlineSummarizer)
      .add(Vectors.dense(3.0), 0.4)
    val summarizer3 = (new MultivariateOnlineSummarizer)
      .add(Vectors.dense(3.0), 0.5)
    val summarizer4 = (new MultivariateOnlineSummarizer)
      .add(Vectors.dense(3.0), 0.4)

    val summarizer = summarizer1
      .merge(summarizer2)
      .merge(summarizer3)
      .merge(summarizer4)

    println(summarizer.variance(0))

This PR fix the bugs in mllib.stat.MultivariateOnlineSummarizer.variance and ml.stat.SummarizerBuffer.variance (The latter one is newly added which has similar logic)
How was this patch tested?
test cases added.

Test build #81032 has started for PR 19029 at commit 9c92730.

Test build #81032 has finished for PR 19029 at commit 9c92730.

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

Merged build finished. Test PASSed.

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

Test build #81118 has started for PR 19029 at commit c24292c.

Test build #81118 has finished for PR 19029 at commit c24292c.

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

Merged build finished. Test PASSed.

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

Test build #81127 has started for PR 19029 at commit 9a47579.

Test build #81129 has started for PR 19029 at commit 56c0d41.

Test build #81127 has finished for PR 19029 at commit 9a47579.

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

Merged build finished. Test PASSed.

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

Test build #81129 has finished for PR 19029 at commit 56c0d41.

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

Merged build finished. Test PASSed.

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

Test build #81167 has started for PR 19029 at commit 21e7ff7.

Test build #81167 has finished for PR 19029 at commit 21e7ff7.

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

Merged build finished. Test PASSed.

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

Test build #81171 has started for PR 19029 at commit c40eba3.

Test build #81171 has finished for PR 19029 at commit c40eba3.

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

Merged build finished. Test PASSed.

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

Merged to master


CM-1148: Park access status - update logic to include gates

Jira Ticket:
CM-1148
Description:

Added a new "Seasonal restrictions" status which is triggered by park gates closures and subarea closures

Testing notes:

you'll need to re-index elasticsearch after applying this change because subareaTypeId was renamed to subAreaTypeId.
parkSubAreaType and parkSubArea must each have at least one record with a value for closureAffectsAccessStatus

frontcountry camping. day use, day use area, and picnic area sub-area-types should all be set to true, everything else should be false
set all frount country campgrounds subareas with "overflow" in their name to false
only parks that would otherwise show as Open will show as Seasonal restrictions when the criteria is met
closed and inactive subareas are ignored
sub area dates must be explicity set to active

Looks good. My only concern is there might be a Gatsby build error when we merge it into dev. Gatsby build was successful when I added a value for closureAffectsAccessStatus in parkSubAreaType and parkSubArea but it didn't work for the first build without any value for closureAffectsAccessStatus.
Adding type to gatsby-node.js might help if there's no value on any Strapi environment.

Looks good. My only concern is there might be a Gatsby build error when we merge it into dev. Gatsby build was successful when I added a value for closureAffectsAccessStatus in parkSubAreaType and parkSubArea but it didn't work for the first build without any value for closureAffectsAccessStatus. Adding type to gatsby-node.js might help if there's no value on any Strapi environment.

Good idea. I added typedefs


What will be the date format for 09-Mar-2020?

What will be the date format for 09-Mar-2020 for calendar?

This has been included in the new version. The documentation and will be available later today.
DD-Mon-YYYY is the mask for that. More options available on the website from 22UK time today.


[Android][FreakyTextInputLayout] - TransitionToTitle doesn't animate on page load

Description
On Android 12 (device i'm currently testing with), Android automatically puts focus on the first field on the page. This happens before the page is fully loaded/visible which prevents the animation/positioning of the placeholder to title transition animation from happening. the title font is resized but it remains in the middle of the entry. Typing in the entry doesn't "reanimate" the title since it is supposed to already be at the top of the control.
Code
This code is place inside a contentview. EmployeeId automatically gets focus when app loads.
<VerticalStackLayout
        Padding="30,0"
        Spacing="25">

        <freakyControls:FreakyTextInputLayout x:Name="EmployeeId" Title="Employee #"
                                              BorderCornerRadius="10"
                                              Loaded="EmployeeId_OnLoaded"
                                              Text="{Binding Username}"
                                              ReturnType="Next"
                                              BorderType="Outlined"
                                              FontSize="20"
                                              TitleFontSize="14" />

        <freakyControls:FreakyTextInputLayout x:Name="Password" Title="Password"
                                              BorderCornerRadius="10"
                                              Text="{Binding Password}"
                                              IsPassword="True"
                                              ReturnType="Done"
                                              BorderType="Outlined"
                                              FontSize="20"
                                              TitleFontSize="14" />

        <Button
            x:Name="btnLogin"
            Style="{DynamicResource ODPrimaryButton}"
            Command="{Binding LoginCommand}"
            Text="Login"
            HorizontalOptions="Fill" />
    </VerticalStackLayout>

Expected Behavior
The title label should be placed above the entry field
Actual Behavior
The title remains over top of the entry field

I was able to come up with a solution to this issue. I created a pull request (https://github.com/FreakyAli/Maui.FreakyControls/pull/147). Please include in your next build. Thanks!

@sk1llsh0t  Sure man thanks you are amazing!!!


[Dialog] Document the props is provides to TransitionComponent

[x] This is not a v0.x issue.
[x] I have searched the issues of this repository and believe that this is not a duplicate.

I was about to implement a custom transition for the dialog opening, but when looking i the documentation there is no information at all about what the Dialog provides to me and what I am supposed to actually do.
This can of course be seen by examining the code but it would be awesome if the documentation explained what I needed to know.

I agree, we need to document how to provide it's own Dialog & Modal transition.

@oliviertassinari The documentation contains a Transition example for the Dialog under the Alerts section. Do we need to add another one?

I would be happy with as simple ## Transitions extra header.


Add valid indicator on receipt card

After a small discussion about this issue we decided that we will not work on this


Response is compressed when not requested

I have a backend application that supports optional response compression (see here for details).
Since 1.0 RC3, the response is compressed even if not requested. E.g. I hit http://myserver/path/to/service/version with my browser: it is supposed to return some JSON, but the browser actually prompts me to download a version.gzfile, which itself contains a version file with the actual JSON. This was not the case with previous versions (inculding RC2), i.e. I would see the actual JSON in the browser window.
It looks like (just guesses, I did not do much investigation) that Traefik now requests the response to be compressed from the backend but does not uncompress it before sending it to the original client...!?

@pferrot sadly, I can't reproduce this one :'(
I tried using a backend that accepts gzip compression (emilevauge/whoami) but it never ends in this issue. Could you provide a docker-compose file that reproduces this issue?

@pferrot Did you activate retry request ?

Yes, I have retryenabled, with a fixed value (attempts = 10 if I remember correctly). I will test the latest build when I am back from vacation :-)

I confirm that I cannot reproduce the issue with the v1.0.0 release. Thanks and congrats for that big milestone!

I am seeing this behavior on v1.1.0, but not on v1.0.0.

@gardnervickers Can you give more details ? Are you using retry ?

@emilevauge I was not using retry but I am seeing the same behavior with:
[retry]
attempts = 3

I am using these charts to deploy traefik with helm to Kubernetes in order provide ingress to our Jenkins dash.
https://github.com/kubernetes/charts/tree/master/stable/traefik
I know that's not a lot to go on, I'll try to make a better repro.


[Bug]: can't dynamic import svg from template string variable with @rsbuild/plugin-svgr

Version
System:
    OS: macOS 14.3.1
    CPU: (8) arm64 Apple M1
    Memory: 845.17 MB / 16.00 GB
    Shell: 3.7.0 - /opt/homebrew/bin/fish
  Browsers:
    Brave Browser: <IP_ADDRESS>
    Chrome: 118.0.5993.96
    Safari: 17.3.1
  npmPackages:
    @rsbuild/core: ^0.4.11 => 0.4.11
    @rsbuild/plugin-react: ^0.4.11 => 0.4.11
    @rsbuild/plugin-svgr: ^0.4.11 => 0.4.11

Details
const App = () => {
    useEffect(() => {
        const load = async () => {
            const name = 'react'
            const icon1 = (await import(`./assets/${name}.svg`)).ReactComponent
            console.log(icon1) // undefined

            const icon2 = (await import(`./assets/react.svg`)).ReactComponent
            console.log(icon2) // work fine
        }
        load()
    }, [])

    return

}

Reproduce link
https://github.com/zhylmzr/rsbuild-demo
Reproduce Steps
clone the git repository and bun i && bun dev

Related issue: https://github.com/webpack/webpack/issues/9309

Rsbuild supports the ?react in the latest version and can solve this issue:
const icon1 = await import(`./assets/${name}.svg?react`);

see: https://rsbuild.dev/plugins/list/plugin-svgr#example

Rsbuild supports the ?react in the latest version and can solve this issue:
const icon1 = await import(`./assets/${name}.svg?react`);

see: https://rsbuild.dev/plugins/list/plugin-svgr#example

I get the error Error: Cannot find module './assets/react.svg' in @rsbuild/plugin-svgr v0.4.14.

Can you provide a reproduction repo for this?

https://github.com/zhylmzr/rsbuild-demo

This might be a bug of Rspack:

can match the resourceQuery: /react/:

const icon = await import(`./${name}.svg?react`)

can not match the resourceQuery: /react/:

const icon = await import(`./assets/${name}.svg?react`)

@LingyuCoder can you take a look? ❤

There is a bug in context module dependency code generation, I will try to fix it

Had been fixed, you can try rspack 0.5.9

Nice 👍 I will release a new Rsbuild version today, which is based on Rspack v0.5.9

Released


Very low VMAF score for 4:4:4 clips on AWCY

This run shows that even without tiling and at a low speed level, VMAF goes down a lot at high quantizers. Whether this is due to desyncs or the VMAF implementation is unknown.
Further investigation by looking at encodes locally is needed.

After reproducing it locally, there is no desync and VMAF via FFmpeg functions identically. I also tested disabling LRF and CDEF for 4:4:4 encoding as is done with 4:2:2, but the metrics don't improve, so my guess is that the extra chroma resolution wastes bits that could otherwise be allocated to improving luma and VMAF is particularly sensitive to that.


Fix typo across docs: '3rd' instead of '3th'

Issue
Fixes typos in documentation to use correct form: 3rd.
Checklist

[x] Make sure there is a JIRA issue filed for the change (usually before you start working on it).  Trivial changes like typos do not require a JIRA issue.  Your pull request should address just this issue, without pulling in other changes.
[x] Each commit in the pull request should have a meaningful subject line and body.
[x] If you're unsure, you can format the pull request title like [CAMEL-XXX] Fixes bug in camel-file component, where you replace CAMEL-XXX with the appropriate JIRA issue.
[x] Write a pull request description that is detailed enough to understand what the pull request does, how, and why.
[x] Run mvn clean install -Psourcecheck in your module with source check enabled to make sure basic checks pass and there are no checkstyle violations. A more thorough check will be performed on your pull request automatically.


Diff algorithm removes class unnecessarily

These are the properties for two nodes I am diffing:
{ className: 'series--title',
  attributes: { class: 'series--title' } }

and:
{ className: 'series--title' }

While className is not changed, it is still removed after a diff and patch so the final properties looks like:
{}

This should not happen. Can properties be set after attributes are removed?

Solution is to use vdom-parser → https://github.com/Matt-Esch/virtual-dom/issues/280

If you don't exclusively use attributes or properties then the results can be difficult to decipher. Virtual dom maintains an easy to reason about algorithm without much special casing. The diff operation sees an attribute was removed, so it removes the attribute. This affects the property. There is no conflict resolution with attributes/properties and this would possibly full of browser-specific edge cases.
The attributes object exists for features that can only be modified that way..

FWIW, we're about to try to tackle a similar issue in https://github.com/leeoniya/domvm/pull/18
Currently, I'm thinking to incur the overhead of always matching attrs to props, assuming that props are always the "truth". This does have some implications for css rules that rely on attrs, so an opt-out config option is almost certain.


[QUERY] looking for a sample on how to create private endpoint

Query/Question
How can we help?
am looking for a sample to implement private endpoint  :
https://docs.microsoft.com/en-us/dotnet/api/microsoft.azure.management.network.fluent.iprivateendpointsoperations?view=azure-dotnet
https://docs.microsoft.com/en-us/azure/event-hubs/private-link-service
can you share a sample on how to create it using code.

Thank you for your feedback.  Tagging and routing to the team member best able to assist.

hi @xccc-msft could you pls help on sample? thanks

hi @xccc-msft could you pls help on sample? thanks

@digeler You may use below entry points to create private endpoints and private link services:
// private endpoint
networkManager.Inner.PrivateEndpoints.CreateOrUpdateAsync
// private link service
networkManager.Inner.PrivateLinkServices.CreateOrUpdateAsync

@digeler You may use below entry points to create private endpoints and private link services:
// private endpoint
networkManager.Inner.PrivateEndpoints.CreateOrUpdateAsync
// private link service
networkManager.Inner.PrivateLinkServices.CreateOrUpdateAsync

@digeler - did the response above answer your question?

New SDK will be on https://aka.ms/azsdk/dotnet/mgmt


Update hello-hybrid-cert-whfb-settings-adfs.md

issue #2050

@DulceMontemayor - Can you please assist to check, approve and merge the content of this PR based on issue #2050?
Thank you.

@DulceMontemayor - We would like to follow up on this. Can you please assist to check, approve and merge the content of this PR based on issue #2050?
Thank you.

@AndreaBarr - Would you be able to merge the content for this PR? Thanks.

@DaniHalfin @mapalko - would you be able to help review and merge the content of this PR based on issue #2050?

@DaniHalfin  can you merge this?


SchedulerFactoryObject.InitSchedulerFactory

Changed mergedProps.Add to mergedProps.Set to update e not concatenate the content of NameValueColection.

Thanks for reporting this issue. I've extracted the relevant property setting fix as a separate change and pushed it to master. Hope this resolves the issues you have been facing.


Web3 integrations

AFAIK, this seems to be the active development branch since the others are horribly out of date.


Can this replace sed ?

If anyone has a decent answer it would be interesting.
Currently using sed for various hscky scripts and we are converting them into go and mage.
Hoawk could replace sed in this regards perhaps

Yeah, I think it probably could, but I don't know the kind of things you're doing with sed. Can you give some examples of the kinds of things you do with sed?

I'm happy to try to help if you post specific examples, but in the meantime, closing this issue (it's not really an issue with GoAWK).


RuntimeWarning: unsupported version '10.1.8'

When trying to open a self-created document, the error RuntimeWarning: unsupported version '10.1.8' is raised.
To Reproduce
doc = Document("test.numbers")
Expected behavior
Opening the document.
Additional information
Installed numbers version is 10.1. As far as I can see, this numbers version is not tested. Is there a way to try and import the document?

No, the warning comes before this. This is an error, which breaks execution of the code.

That is definitely a warning that's being generated so it should not throw an exception. The standard way to ignore warnings is:
import warnings

with warnings.catch_warnings():
    warnings.filterwarnings("ignore", category=RuntimeWarning)
    from numbers_parser import Document

I could add 10.1.x as a supported version though I don't know for sure it will work (it is very unlikely that it will fail) but it's getting pretty old now. If you want me to do this, I'll need a simple document create with this version of Numbers for testing.

Sorry, you're right - it throws 2 warnings, and I didn't recognize the second to be a warning also...
If you want, you can test, but now seeing that it does work, it's not a priority for me. I'll keep working, and if I run into problems, we can try to work on it.
Thanks!


plumbing/object: avoid O(N^2) string building when decoding commit me…

…ssage
Most commits have relatively small messages, so this was never
noticeable. However, there are some repositories that have
semi-automated messages that can get very large (e.g.
github.com/riscv/riscv-clang and its riscv-trunk branch), on the order
of 109k lines. Changing from string += to using a bytes.Buffer reduces
the time for Commit.Decode for that specific case from 35s to 74ms.
Signed-off-by: David Symonds<EMAIL_ADDRESS>

Hey, any chance this'll get merged soon, @mcuadros @smola ?


Telegram API TOS

Will this violate TOS:

Can I get rid of any premium feature if I create my own Telegram client? (as I see in Premium FAQ, then, maybe, yes)
Can I re-implement any premium feature without Telegram Premium subscription (e.g. split 4GB file into 2 2GB files and send them separately)?

This is a wrong place to ask. These question would be better answered by a lawyer.


Hunter's edge: Precision

While using the mod we noticed that our ranger first attack on marked prey never adds the extra 1d8 precision damage. The seccond and third attack for higher levels seem to be working fine.

Need to set target as hunted prey for it need to post action Hunt Prey


Fix King Of Fans quirk returning radio status code

Fixes https://github.com/home-assistant/core/issues/69893
I don't own the device and had to rewrite its unit test so while tests pass and it seems like it should work, I can't verify that it does.
Would appreciate it if someone can test it out so this PR can be merged.

Codecov Report

Merging #1515 (0edfd65) into dev (25b4a84) will increase coverage by 0.01%.
The diff coverage is 83.33%.

@@            Coverage Diff             @@
##              dev    #1515      +/-   ##
==========================================
+ Coverage   80.31%   80.32%   +0.01%
==========================================
  Files         227      227
  Lines        6750     6760      +10
==========================================
+ Hits         5421     5430       +9
- Misses       1329     1330       +1

Impacted Files
Coverage Δ

zhaquirks/xbee/__init__.py
41.46% <0.00%> (-0.15%)
:arrow_down:

zhaquirks/kof/kof_mr101z.py
100.00% <100.00%> (ø)

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 25b4a84...0edfd65. Read the comment docs.

Pull Request Test Coverage Report for Build<PHONE_NUMBER>

20 of 24 (83.33%)  changed or added relevant lines in 2 files are covered.
2 unchanged lines in 1 file lost coverage.
Overall coverage increased (+0.01%) to 80.325%

Changes Missing Coverage
Covered Lines
Changed/Added Lines
%

zhaquirks/xbee/init.py
0
4
0.0%

Files with Coverage Reduction
New Missed Lines
%

zhaquirks/xbee/init.py
2
40.48%

Totals

Change from base Build<PHONE_NUMBER>:
0.01%

Covered Lines:
5430

Relevant Lines:
6760

💛  - Coveralls

Tested this and no longer get the error like in https://github.com/home-assistant/core/issues/69893 ( I don't have light hooked up to the fan, but the light entity switches on and off fine with no errors)


4.3-job-ops.test "Get All Jobs" test is failing consistently on Solaris

I am trying to clean up all CUPS test suite issues on Solaris and this is the last one.
$ /tmp/cups-ligi/runcups ../tools/ipptool -tv ipp://localhost:8631/jobs 4.3-job-ops.test
...
Get-Jobs:
    attributes-charset (charset) = utf-8
    attributes-natural-language (naturalLanguage) = en
    printer-uri (uri) = ipp://localhost:17340/
    requested-attributes (keyword) = all
Get All Jobs                                                         [FAIL]
    RECEIVED: 72 bytes in response
    status-code = successful-ok (successful-ok)
    attributes-charset (charset) = utf-8
    attributes-natural-language (naturalLanguage) = en
    EXPECTED: job-uri
    EXPECTED: job-id
    EXPECTED: job-state
    EXPECTED: job-printer-uri

On Linux, it is not failing if I run the whole 4.3-job-ops.test. But if I run just the last test case:
$ cat 4.3-custom.test
{
        # The name of the test...
        NAME "Get All Jobs"

        # The operation to use
        OPERATION get-jobs
        RESOURCE /jobs

        # The attributes to send
        GROUP operation
        ATTR charset attributes-charset utf-8
        ATTR language attributes-natural-language en
        ATTR uri printer-uri $scheme://$hostname:$port/
        ATTR keyword requested-attributes all

        # What statuses are OK?
        STATUS successful-ok

        # What attributes do we expect?
        EXPECT attributes-charset
        EXPECT attributes-natural-language
        EXPECT job-uri
        EXPECT job-id
        EXPECT job-state
        EXPECT job-printer-uri
}

it is failing consistently even there with the same output as on Solaris.
If I run the whole 4.3-job-ops.test on Linux the last test (passing) has following output:
Get-Jobs:
    attributes-charset (charset) = utf-8
    attributes-natural-language (naturalLanguage) = en
    printer-uri (uri) = ipp://localhost:8631/
    requested-attributes (keyword) = all
Get All Jobs                                                         [PASS]
    RECEIVED: 2605 bytes in response
    status-code = successful-ok (successful-ok)
    attributes-charset (charset) = utf-8
    attributes-natural-language (naturalLanguage) = en
    number-of-documents (integer) = 1
    job-media-progress (integer) = 0
    job-more-info (uri) = http://localhost:8631/jobs/42
    job-printer-up-time (integer) =<PHONE_NUMBER>
    job-printer-uri (uri) = ipp://localhost:8631/printers/Test2
    job-uri (uri) = ipp://localhost:8631/jobs/42
    printer-uri (uri) = ipp://localhost:8631/printers/Test2
    document-format-detected (mimeMediaType) = image/jpeg
    document-format (mimeMediaType) = image/jpeg
    job-priority (integer) = 50
    job-uuid (uri) = urn:uuid:617a3c7a-98ca-3b53-738f-4e9232d65791
    date-time-at-completed (no-value) = no-value
    date-time-at-creation (dateTime) = 2020-10-08T10:02:38Z
    date-time-at-processing (dateTime) = 2020-10-08T10:02:38Z
    time-at-completed (no-value) = no-value
    time-at-creation (integer) =<PHONE_NUMBER>
    time-at-processing (integer) =<PHONE_NUMBER>
    job-id (integer) = 42
    job-state (enum) = processing
    job-state-reasons (keyword) = job-printing
    job-impressions-completed (integer) = 0
    job-media-sheets-completed (integer) = 0
    job-k-octets (integer) = 200
    job-hold-until (keyword) = no-hold
    job-sheets (1setOf nameWithoutLanguage) = none,none
    job-printer-state-message (textWithoutLanguage) = Color Manager: no profiles specified in PPD
    job-printer-state-reasons (keyword) = none
    -- separator --
    number-of-documents (integer) = 1
    job-media-progress (integer) = 0
    job-more-info (uri) = http://localhost:8631/jobs/43
    job-printer-up-time (integer) =<PHONE_NUMBER>
    job-printer-uri (uri) = ipp://localhost:8631/printers/Test1
    job-uri (uri) = ipp://localhost:8631/jobs/43
    printer-uri (uri) = ipp://localhost:8631/printers/Test1
    document-format-detected (mimeMediaType) = text/plain
    document-format (mimeMediaType) = text/plain
    job-priority (integer) = 50
    job-uuid (uri) = urn:uuid:8cb73f37-cc12-3299-5a06-5d4fb3415be6
    date-time-at-completed (no-value) = no-value
    date-time-at-creation (dateTime) = 2020-10-08T10:02:38Z
    date-time-at-processing (dateTime) = 2020-10-08T10:02:38Z
    time-at-completed (no-value) = no-value
    time-at-creation (integer) =<PHONE_NUMBER>
    time-at-processing (integer) =<PHONE_NUMBER>
    job-id (integer) = 43
    job-state (enum) = processing
    job-state-reasons (keyword) = job-printing
    job-impressions-completed (integer) = 0
    job-media-sheets-completed (integer) = 0
    job-k-octets (integer) = 4
    job-hold-until (keyword) = no-hold
    job-sheets (1setOf nameWithoutLanguage) = none,none
    -- separator --
    number-of-documents (integer) = 1
    job-media-progress (integer) = 0
    job-more-info (uri) = http://localhost:8631/jobs/44
    job-printer-up-time (integer) =<PHONE_NUMBER>
    job-printer-uri (uri) = ipp://localhost:8631/printers/Test1
    job-uri (uri) = ipp://localhost:8631/jobs/44
    printer-uri (uri) = ipp://localhost:8631/printers/Test1
    job-hold-until (keyword) = no-hold
    document-format-detected (mimeMediaType) = application/pdf
    document-format (mimeMediaType) = application/pdf
    job-priority (integer) = 50
    job-uuid (uri) = urn:uuid:789afb9d-b60b-343f-4995-0455cf8ce093
    date-time-at-completed (no-value) = no-value
    date-time-at-creation (dateTime) = 2020-10-08T10:02:38Z
    date-time-at-processing (no-value) = no-value
    time-at-completed (no-value) = no-value
    time-at-creation (integer) =<PHONE_NUMBER>
    time-at-processing (no-value) = no-value
    job-id (integer) = 44
    job-state (enum) = pending
    job-state-reasons (keyword) = none
    job-impressions-completed (integer) = 0
    job-media-sheets-completed (integer) = 0
    job-k-octets (integer) = 64
    job-sheets (1setOf nameWithoutLanguage) = none,none

Could you advise what could be wrong, optionally how to resolve it, please?
Thank you

@l1gi What is the output if you just run the last test?


Provides a way for DecoratorFactory to be applied only once

Motivation:
Please refer to issue #5759
Modifications:

Refactored original logics of collecting decorator in order to remove side effects as much as possible.
Added addtivity flag to DecoratorFactory which makes us possible to control that the annotation that has the highest priority to be only applied within annotations annotaed by this DecoratorFactory.

Result:

Closes #5759
If additivity=false, the decorator with a higher priority will only be selected and others are not applied. In the following example, focusing on get() method, Permission READ is only applied and Permission WRITE is ignored.

@RequiresPermission(value = Permission.WRITE, order = 2)
static class SensitiveService {
    @RequiresPermission(value = Permission.READ, order = 1)
    @Get("/")
    public String get() { ... }

    @Post("/")
    public String create() { ... }

    @Put("/")
    public String update() { ... }
}

@DecoratorFactory(value = PermissionCheckerFactory.class, additivity = false)
@Retention(RetentionPolicy.RUNTIME)
@interface RequiresPermission {
    Permission value() default Permission.READ;
    int order() default 0;
}

enum Permission {
    READ, WRITE
}

Can repeatable be set for decorators also?

SGTM

or do we just apply the highest order decorator if any one of the decorators have additivity=true?

Did you mean additivity=false?

e.g. Assume that decorator1(order=0), decorator2(order=50, additivity = false), decorator3(order=100). Then only decorator1, decorator2 will be applied following the original cumulativity rule.
@RequiresPermission(Permission.WRITE)
static class SensitiveService {
    @RequiresPermission(Permission.READ)
    @Decorator(PermissionDecorator.class)
    @Get("/")
    public String get() { ... }
}

A class decorator has a lower priority (order) than a method decorator. IIUC, if we follow the rule, isn't @RequiresPermission(Permission.WRITE) chosen?
Initially, I intended to provide a way to apply the innermost decorator when the same decorators are applied repeatedly.

A class decorator has a lower priority (order) than a method decorator. IIUC, if we follow the rule, isn't @RequiresPermission(Permission.WRITE) chosen?

I thought the order was determined by the order attribute value eventually
https://github.com/line/armeria/blob/906617bf79f2a4715ecf15b450b4bdaa6458eac3/core/src/main/java/com/linecorp/armeria/internal/server/annotation/DecoratorAnnotationUtil.java#L59

Initially, I intended to provide a way to apply the innermost decorator when the same decorators are applied repeatedly.

Perhaps I didn't understand the original intention of the repeatable field you proposed. So if repeatable=false is set for a decorator (decorator3) in the middle of decorators (decorator1~5), how does it affect which decorators are selected?

I thought the order was determined by the order attribute value eventually

I was talking about cases where the order is determined by the declared position of the decorator without explicitly declaring the order property.
https://github.com/line/armeria/blob/906617bf79f2a4715ecf15b450b4bdaa6458eac3/core/src/main/java/com/linecorp/armeria/internal/server/annotation/DecoratorAnnotationUtil.java#L54-L56

So if repeatable=false is set for a decorator (decorator3) in the middle of decorators (decorator1~5), how does it affect which decorators are selected?

I thought about collecting decorators starting from the highest priority (innermost decorator) to the lowest priority until finding additivity = false. According to this rule decorator3~5  will be applied.

I thought about collecting decorators starting from the highest priority (innermost decorator)

To be clear, by priority do you mean order? I feel like it's more natural that the decorator application order also applies to additivity (or repeatable). Reversing this order feels counter-intuitive to me.
I think I'm out of ideas at the moment.

We have already introduced a simpler approach in MetricCollectingService in which the decorator application order is ignored. If multiple MetricCollectingServices are applied the last applied decorator is used.
https://github.com/line/armeria/blob/906617bf79f2a4715ecf15b450b4bdaa6458eac3/core/src/main/java/com/linecorp/armeria/server/metric/MetricCollectingService.java#L123-L124
So I didn't think it was odd.
Anyway, I also need to think more about the direction and API design.

We have already introduced a simpler approach in MetricCollectingService in which the decorator application order is ignored. If multiple MetricCollectingServices are applied the last applied decorator is used.

I think there is a misunderstanding 😅   I'm not against ignoring the order of decorators as long as the change makes sense.
It seems like @ikhoon already has a good idea on how to proceed with this PR, so let me review this later after the PR is more developed 🙏

I'm sorry, I misundertood the requirement of this issue🙏
In my understanding,  order simply means the order for decorators to be applied, but through the perspective of priority the decorator applied last is more prioritized than the others. (I implemented vice versa.)
But the requirement may be more complicated than I thought.

Anyway, I also need to think more about the direction and API design.

Thank you. Please let me know if they are fixed!


DaphneLib Frames implementation

In GitLab by @dzcoralic on Mar 5, 2022, 16:14
Frames implementation for DaphneLib. Data transfer is handled via files.

Hi @dzcoralic, thanks again for your pioneering work on DAPHNE's Python API. I'm sorry that it took me so long to find the time to finalize it, but your work is highly appreciated and we will continue and build upon it now. This PR originally contained your work on the frame support in DaphneLib. As we have discussed recently, I have also copied over your remaining work from the branch dzcoralic/daphne:daphnelib-shared-data-transfer in your fork, which was about the zero-copy data exchange between DAPHNE and numpy. I have tidied up the code a bit and split the contributions into meaningful commits.

I will further handle and merge this PR myself. The commits shall not be squashed, but all put on main.

@corepointer: I have a question regarding the CI and containers: The changes in this PR require pandas for DAPHNE's Python API and test cases. I have added the package python3-pandas to containers/daphne-dev.Dockerfile. However, I assume some action is required to re-build and push the container that is used for the CI to DockerHub. It would be great if you could help me out with that.

@corepointer: I have a question regarding the CI and containers: The changes in this PR require pandas for DAPHNE's Python API and test cases. I have added the package python3-pandas to containers/daphne-dev.Dockerfile. However, I assume some action is required to re-build and push the container that is used for the CI to DockerHub. It would be great if you could help me out with that.
EDIT: The fact that pandas is missing in the pre-built container is the reason why the CI tests fail.

Yes you're right, the missing pandas was the culprit - fixed [x]. Unfortunately we don't have auto-container-builds set up yet.
BRM

@corepointer: Great, thank you so much so the quick help :+1:.
As we change those dependencies that need to be installed on the system (as opposed to being installed by the build script) rarely, auto-container-builds are not crucial right now, from my point of view.


sidekiq grabs the jobs

Hi there,
our problem is that rufus scheduler gets executed multiple times.
we are starting rails and two sidekiq with foreman.
I am logging the execution with p [ 'performing...', scheduler.hash, $$ ]
In the log I see now
14:34:15 matching_sidekiq.1 | ["performing...", -1213517737772130212, 53240]
14:34:15 default_sidekiq.1  | ["performing...", -2524800071394972579, 53241]

How can I avoid that sidekiq executes the rufus jobs?
Then I would like to have a lock file with
scheduler = Rufus::Scheduler.singleton(:lockfile => ".rufus-scheduler.lock")
But then I am getting this
14:48:52 matching_sidekiq.1 | "started rufus scheduler"
14:48:52 default_sidekiq.1  | "started rufus scheduler"
14:48:52 default_sidekiq.1  | cannot schedule, scheduler is down or shutting down

Edit
I fixed the lock problem with unless scheduler.down?

I fixed the lock problem with unless scheduler.down?

Hello, may I then close this issue?

First question is not answered.
Sidekiq takes the jobs when sidekiq got executed before rails server

On 30. Aug 2017, at 04:54, John Mettraux<EMAIL_ADDRESS>wrote:
I fixed the lock problem with unless scheduler.down?
Hello, may I then close this issue?
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub, or mute the thread.

First question is not answered.

OK, so your first question is:

How can I avoid that sidekiq executes the rufus jobs?

What do you mean by that? Sidekiq has nothing to do with rufus-scheduler, rufus-scheduler executes its scheduled jobs by itself.

Sidekiq takes the jobs when sidekiq got executed before rails server

What do you mean by that? What has rufus-scheduler to do with that?
Considering:
14:48:52 matching_sidekiq.1 | "started rufus scheduler"
14:48:52 default_sidekiq.1  | "started rufus scheduler"
14:48:52 default_sidekiq.1  | cannot schedule, scheduler is down or shutting down

Does that imply that you start (create an instance of rufus-scheduler) in your Sidekiq worker???

Thanks.


can i use verba via api ?

instead of using the frontend ??? thanks!

I think you can POST call the /api/query
with { "query": "string" } payload

It looks like the fetching of context happens through /api/query - but after that the Manager look (ie querying Ollama) happens through a websocket. So I don't think it can be used as an API, but I think you could write a thin middlelayer to do it.

You can write custom route that follows the same pattern as websocket_generate_stream route.
async def generate_stream(payload: GeneratePayload):
    chunks, context = manager.retrieve_chunks([payload.query])

    retrieved_chunks_text = [chunk.text for chunk in chunks]

    full_text = ""
    async for chunk in manager.generate_stream_answer(
            [payload.query], retrieved_chunks_text, payload.conversation
        ):
        full_text += chunk["message"]
        if chunk["finish_reason"] == "stop":
            chunk["full_text"] = full_text
        yield f"data: {json.dumps(chunk)}\n\n"
    yield "data: [DONE]\n\n"

@router.post("/completion")
async def completion(payload: GeneratePayload):
    return StreamingResponse(generate_stream(payload), media_type="text/event-stream")

Great idea, we're working on an API for this! 🚀


1.8 not working

Prerequisites

[ NO ] Can you reproduce the problem with Debug -> Reload Without Extensions?
[ NO ] Did you perform a cursory search to see if your bug or enhancement is already reported?
[ NO ] Did you read the Troubleshooting guide?

For more information on how to write a good bug report read here
For more information on how to contribute read here
Description
connecting to sftp isn't working...it connects but doesn't display any of the files.
Steps to Reproduce

[First Step]
[Second Step]
[and so on...]

Expected behavior: [What you expected to happen]
Actual behavior: [What actually happened]
Versions
Please include the OS and what version of the OS you're running.
Please include the version of Brackets. You can find it under Help -> About Brackets (Windows and Linux) or Brackets -> About Brackets (macOS)

+1

Please open an issue on the extension repository.


[html] clean data attributes

Some feed readers such as FeedMe had difficulties with attributes containing html tags:
https://hackaday.com/2023/10/19/new-type-of-ferroelectric-memory-constructed-using-α-in2se3-material/

sure but this isnt related to lazy loading?

Lazy loading will read data tags to retrieve image url, then convert the image to static. Once done, data tags are no longer necessary to keep. The code in this PR will only perform data tag cleanup for images successfully converted to static.

alright cool :)

thanks for reviewing :)


[1540] Consistency Checks Scheduled

Context

This trello ticket

Changes proposed in this pull request

Scheduled the RunConsistencyChecksJob to run at 2am nightly
It will exit early if the feature flag is false
It will exit early if there arent any ConsistencyCheck objects
Added tests to support both the above

Guidance to review

Run rspec spec/jobs/run_consistency_checks_job_spec.rb
OR
Follow these instructions and perform the job early from the command line.

 [S] Enable consistency check


README MR simulation equation

The README has the following equation for MR GRE signal modeling:
$$S=M_0\sin(\alpha)\frac{1-e^{-TR.R_1}}{1-\cos(\alpha)e^{-TR.R_1}}e^{-TE.(R_2+D_r(|\chi^+|+|\chi^-|))+i(\Phi_0+2\pi{\gamma}TE.B_0(D(\chi^++\chi^-)))}$$
I'm concerned about the last term:
$$e^{i(\Phi_0+2\pi{\gamma}TE.B_0(D(\chi^++\chi^-)))}$$
Ignoring the initial phase offset, and the pos/neg susceptibility, you have:
$$e^{2i\pi{\gamma}TE.B_0.D.\chi}$$
The periodic component of the signal should be represented by:
$$e^{i\Delta\omega TE}$$
where
$$\Delta \omega = \gamma \Delta B$$
and
$$\Delta B = D \star \Delta \chi $$
resulting in:
$$e^{i{\gamma}TE.D \star \Delta \chi}$$
In your equation, why is there a B0 and a 2pi? Why is there a multiplication and not a convolution? Am I missing something?
In your code, I think things match the equations that I derived here.
https://github.com/neuropoly/Susceptibility-Separation-Phantom/blob/6733f8c790cfba44fb7e3e2f2e2aa6e199ba371a/func/GRESimulation.m#L76-L77
There's no gamma in the above code though, where can I find the definition? What units is field in?

In my code, I also multiply by $B_0$, $2\pi$, and $\gamma$, it's not shown in the GRE signal equation but rather here:
https://github.com/neuropoly/Susceptibility-Separation-Phantom/blob/6733f8c790cfba44fb7e3e2f2e2aa6e199ba371a/func/DataSimulationFunction.m#L92
Regarding the  $2\pi$ it is usually added when computing the acquired phase as seen here in this equation:

Also in the $\chi -separation$ article when writing the signal equation they included a $2\pi$ factor:

I think it comes from the fact that $w$= $2\pi$ x $f$
And regarding $B_0$ I've some resources that include $B_0$ when writing the field distribution equation:

But I've also seen articles that do not include $B_0$

Ok, I missed the B0.
For the 2pi, your response doesn't really address my question. After looking in your code, I found that your definition of gamma is:
$$\gamma = 42.58$$
there should be units in a comment beside the definition. This value is in units of MHz/T.

Are you accounting for the missing 10^6?
This is why you have a 2pi in your equations:
$$\gamma = 2.86\cdot 10^8 \left[ \frac{rad}{s \cdot T} \right] $$
whereas
$$\rlap{\gamma}- = \frac{\gamma}{2\pi} = 42.6\cdot 10^6 \left[ \frac{1}{s \cdot T} \right] $$

Oh yes, that's correct I did add the $2\pi$. In the original QSM phantom $\gamma$ was not multiplied by $2\pi$.
Regarding the units, the missing $\ 10^6$ has to be accounted for in the code. Because I ran the code 2 times ( with and without the $\ 10^6$):

When I added the $\ 10^6$ (image on the left) I got random phase values. But when excluding the $\ 10^6$ (image on the right) the phase looked great. I will have a closer look at the code maybe we are missing something.

Indeed, it must be accounted for somewhere ... let me know here once you've identified it.


Use range dependencies

The last couple of releases of bitcoincore-rpc and bitcoin_hashes have not required code changes here. This means we can use range dependencies. The benefit is that it makes the upgrade of other crates that use bitcoind easier.
Tested by pinning hashes with:

cargo update -p<EMAIL_ADDRESS>--precise 0.13.0
cargo update -p<EMAIL_ADDRESS>--precise 0.14.0

And then pinning bitcoincore-rpc with all of the dependencies in the range and running cargo check --all --all-features --all-targets
E.g (using cc as alias to the cargo check command above)

cargo update -p bitcoincore-rpc --precise 0.17.0 && cc
cargo update -p bitcoincore-rpc --precise 0.18.0 && cc
cargo update -p bitcoincore-rpc --precise 0.19.0 && cc

Bump the crate patch version so we can release this change in a point release. Since this is a pre-1.0 crate I believe this is ok to do.

Hey @RCasatta, the changelog entry for the 0.35.x series is missing. Do you want me to add that? (either as part of this or in a separate PR?)

utACK 2ff068fc0ed833fb4890782912e9192ce50b1de3

the changelog entry for the 0.35.x series is missing. Do you want me to add that?

Yes please, and sorry that I forgot.

either as part of this or in a separate PR?

As you prefer

Done! I put a separate patch up the front for the missing changelog entries, this PR as a patch, and then a final "bump version number" patch for you to tag and release please.
Also the tag for v0.34.2 is missing. Looks like it should have been on commit c5b2184 Bump minor version.

utACK 76947495a36c8e836a693c26a9a434501f85d217

Can we get this in please @RCasatta?

utACK 76947495a36c8e836a693c26a9a434501f85d217
Sorry for taking so long, I forgot
going to release 0.35.2 soon

No sweat, thanks man!


Does getState() mean that we can assign to state directly in our reducers?

Because getState "returns a copy" of the current state, does that mean that assigning to that copy and returning the new state is fine?

I love your tests
https://github.com/johnathanhowell/gredux/blob/master/gredux_test.go#L103


Add support for multiple Gmail accounts

Is it possible to add more than one Gmail account? I'm using two Gmail accounts, both are improtant.

Hi @ronilaukkarinen,
Unfortunately it's not possible at this time.
It could be done with some code and UI refactoring.
But, many things to take into considerations, like:

Google API requests
inbox syncing
systray icon display
single vs multiple notifications at a time
etc.

So probably more than a simple option to add...

OK cool. +1 for this feature then :) I'd help but C# is not my strongest suit.

Tagged this as feature, but for sure it won't be implemented in the next release.
I really try to make the application as flexible as possible but I can't satisfy everyone's workflow.
Thanks for the idea :wink:

want this feature

Hi,
I am closing this, as it is requiring too much work right now to implement... but I am keeping the idea.
The application needs to be fully refactored to meet last .NET Framework requirements.

At this point, I am also not sure we can tell Gmail API to sync two inbox at a time, because of the authentication token provided by the API, probably having a select in the application and choose the one you want to update, but both, I am not really sure.


Recommended Master Wrapper for SQS-Worker?

The SQS-Worker seems simple enough--it consumes messages one by one until there are no more, then waits twenty seconds before checking again. I would like to know if there is a master service that works with SQS-Worker to manage the number of workers. For example, it would run as a daemon to spawn additional workers as the queue grows and scale back workers as the queue is consumed. Any recommendations for a way to scale and manage SQS-Workers?

Hi!
Right now you have three consumers for different processing models:

Default. Get message, process, delete, repeat. If something goes wrong, the message will reappear in the queue.
DeleteAlways. Get message, delete, process, repeat. If something goes wrong, the message is lost
DeleteAndFork Get message, delete, fork (process message in the child), repeat. There is no concurrency control (it will spawn as many children as messages come in, the children exit when they finish processing the message).

The "manual" way of scaling workers is running more than one worker in separate processes, each one polling and consuming messages, although that means that there is no memory sharing (from already loaded classes). SQS is built to scale up having multiple consumers polling a queue from either one machine or various.
Adding more process models is possible adding a new SQS::Worker::Consumers::XXXX class (if you want to take a try at developing a consumer that forks off a maximum of N children). Note that you can have each child poll the queue in parallel, or a "master" that is polling and forking off children to process the messages.
Hope it helps!


CQ-4347398 Adding Adaptive Form support in theme builder

Description
AEM Forms Adaptive Form will also leverage site theme builder for building Form theme. Adding support of launching Form directly if AEM_ADAPTIVE_FORM env variables is provided.
Related Issue

Motivation and Context

How Has This Been Tested?

Screenshots (if appropriate):
Types of changes

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

Checklist:

[x] I have signed the Adobe Open Source CLA.
[x] My code follows the code style of this project.
[ ] My change requires a change to the documentation.
[ ] I have updated the documentation accordingly.
[ ] I have read the CONTRIBUTING document.
[ ] I have added tests to cover my changes.
[ ] All new and existing tests passed.

Hi @jalagari , please extend the readme.md file in the Environment Variables with additional variables and brief description. Apart from this PR looks fine for me.


Try fix spec failure due to broken setuptools

Just trying to fix CI, like others 😆
This spec is currently locked to numpy 0.19 which did not yet restrict setuptools version. I tried to make sure it uses the latest numpy which does restrict it. I left requirements.txt untouched because I can't for the love of me regenerate it from the updated requirements.in, since I have no idea what I'm doing. But this change alone fixed the spec locally, so I may as well try it in CI 🤷.

Oh, I think I might get it. This spec is testing a project that does not resolve. So basically the requirements.txt file is unused since it fails to be regenerated. I'm going to try remove it to prove it.

That didn't work. Without requirements.txt, no resolution error happens at all.
I think pip compile does something similar to Bundler, it tracks changes in the requirements.in with respect to the existing requirement.txt and tries to keep everything in requirements.txt not affected by those changes locked. And it's probably those locked requirements causing the resolution error being tested here.
So I guess this PR makes sense as is, since it does not seem to affect the resolution but forces a good version of setuptools to be used.

That didn't work. Without requirements.txt, no resolution error happens at all.

I suspect this was fixed in https://github.com/dependabot/dependabot-core/pull/5580. @deivid-rodriguez Does that change anything that you were trying to do in this PR?

I tried removing the requirements.txt file and the spec failed so I think it didn't change anything. I think what I was trying to do was wrong, as per my theory at https://github.com/dependabot/dependabot-core/pull/5546#issuecomment-1216979061.


Use yt-dlp instead of youtube-dl

How can I switch the download from youtube-dl to yt-dlp?
Is there a re-call into the code to change the directory where the .py search the youtube-dl to download videos/songs?

You can do this by replacing youtube-dl with yt-dlp in requirements.txt and replace all instances of youtube_dl with yt_dlp in app.py before building from source
They are interchangeable

You can do this by replacing youtube-dl with yt-dlp in requirements.txt and replace all instances of youtube_dl with yt_dlp in app.py before building from source They are interchangeable

It's not that easy... I'm currently working on converting it to yt-dlp myself. but it's requiring some debugging as variables were renamed.

It is that easy. What issues are you running into? Every bug report helps. I've been using this config since at least September, i'll be posting my changes here in a little while to my fork seeing as OP is redoing this project in a completely different language, check back in a day if you want and it should be up

I may have just fixed a bug unrelated to my work so excuse my response.
While the flag can exist, the "album" metadata tag is being assumed it exists and this is causing the filenames to fallback to the "default plain file name."
If you look at https://github.com/katznboyz1/youtube-dl-server/blob/master/app.py#L1058, you see a try / catch for collecting the meta data. While this may work for music, it doesn't work for normal videos / channels. I needed to change this line, funny enough, from "album" to "playlist" in order for the file names to work.
I also found that https://github.com/katznboyz1/youtube-dl-server/blob/master/app.py#L1117 caused the merging of the files to never complete because the "default" video format doesn't support AAC. If you remove -c:a aac completely,  ffmpeg is able to complete. Without, it RC 1's after failing.

Ah gotcha. Just a bug with implementation, those would be outside the conversion to yt-dlp. I'll test those changes and add them to my repo. thanks for the info.

Ah gotcha. Just a bug with implementation, those would be outside the conversion to yt-dlp. I'll test those changes and add them to my repo. thanks for the info.

Np. I'm updating this project for myself to add a few things anyways


🐛 BUG: SVG tag doesn't support set:html

Describe the Bug
I'm not certain if this is the correct place for the issue, so if it belongs in another repo please point me there.
Adding set:html to an SVG tag results in the following error in VSCode

Property 'set:html' does not exist on type 'SVGProps<SVGSVGElement>'.

Steps to Reproduce

npm init astro using any template
Create an empty .astro component file
Add <svg set:html={''}></svg>
Error! VSCode reports that this is an error however Astro can still render this properly.

This is the right repo 😄Good catch, I did in fact forget to add it to SVG elements!
Thank you for creating an issue