WIP: Add OPENSSL_CTX to CMP

Checklist

[ ] documentation is added or updated
[ ] tests are added or updated

Nothing to see here - move along..

Thats weird - I have gotten quite a few other peoples branches that way.. Whatever works for you..
Feel free to force push today - since I will probably go offline soon.

Good work.. we are nearly finished :)

I've just tested that I can also force-push :)

Thanks for setting this up - good night to down under!

Oops, I did not mean to close this PR, but pruning the two test commits did that automatically.
Yet I'm confident that pushing new (real) commits will re-open it...

If not we should be able to reopen manually once there is a commit..

I just wanted to push my first commit with the message
add OSSL_CMP_CTX_new_with_libctx() including documentation

but now I'm not allowed to push any more :(
Seems you need to revive the branch.

I added my bad commit back in after a rebase..

Thanks.
I've rebased my commit on that, then removed your initial commit, and force-pushed mine.
This worked fine :)

Quoting from https://github.com/openssl/openssl/pull/11470#issuecomment-627774125

See if you can do
git fetch git@github.com:slontis/openssl.git  cmp_provider_support:{yourbranchname}

This did not work directly, but as follows:
git clone git@github.com:slontis/openssl.git slontis
cd slontis
git fetch origin cmp_provider_support:cmp_provider_libext

@DDvO Thats weird - I have gotten quite a few other peoples branches that way.

Just for the record: I just found on the top of this page that
GitHub suggests checking out your branch locally as follows:
git fetch origin refs/pull/11808/head
git checkout -b slontis/cmp_provider_support FETCH_HEAD

which I've been able to follow successfully, adapting it as follows:
git fetch upstream refs/pull/11808/head
git checkout -b cmp_provider_support FETCH_HEAD

@slontis, I hope to finish the remaining functions tomorrow.

I have added some support to cmp_server_test in a similiar manner to the server_tests..
It will be a similiar process for any other tests that we want to do. With these changes we can pick up any fetches that are not using the libctx.
The 3 tests that are run now have extra params which are:
"none" - This will just work how it did before - which has the default provider using the default library context of NULL.
"default", "default.cnf" - This sets up the default library context to use a NULL provider, and a second library context which gets loaded with the default library. This means that any calls that fetch with a libctx = NULL will fail (as there is no algorithms in the default NULL lib ctx).
"fips", "fips.cnf" - This is similiar to the "default" case above except it uses the fips provider.
If you try to fetch an algorithm that is not in the fips provider then it will fail.
Note that most of the nastiness in the .t file is related to fips.
For fips it also runs a
openssl fipsinstall
application that generates some additional configuration file data required by the fips provider.
You will now see fetches failing with these changes.
OSSL_CRMF_pbm_new() is the first one..
EVP_get_digestbyobj() needs to be replaced with a EVP_MD_FETCH(libctx, )
There is also a EVP_MAC_fetch(libctx) in this function)

"none" - This will just work how it did before - which has the default provider using the default library context of NULL.

Not entirely sure that this run is necessary. I did this with test_ssl_new because there were a few tests that were not otherwise run in the default and fips cases because of some stuff that wasn't fully transferred to providers at the time (such as PSS). However for other tests I just do 2 passes so as not to unduly lengthen the test run time.

@slontis, I hope to finish the remaining functions tomorrow.

Finally, I'm done with that. I hope I caught all places that needed to be extended.
This was much more work than expected,
since it turned out that the general support for signing and verifying ASN.1 structures also was lacking those OPENSSL_CTX *libctx, const char *propq parameters. So I added to crypto/asn1/:
int ASN1_item_sign_ex(const ASN1_ITEM *it, X509_ALGOR *algor1,
                      X509_ALGOR *algor2, ASN1_BIT_STRING *signature,
                      const void *data, const ASN1_OCTET_STRING *id,
                      EVP_PKEY *pkey, const EVP_MD *md,
                      OPENSSL_CTX *libctx, const char *propq);
int ASN1_item_verify_ex(const ASN1_ITEM *it, const X509_ALGOR *alg,
                        const ASN1_BIT_STRING *signature, const void *data,
                        const ASN1_OCTET_STRING *id, EVP_PKEY *pkey,
                        OPENSSL_CTX *libctx, const char *propq);

along with some aux functions etc.,
which also simplified X509_verify_ex() and X509_REQ_verify_ex() etc. in crypto/x509/x_all.c
and ossl_cmp_calc_protection() in crypto/cmp/cmp_protect.c.

I have added some support to cmp_server_test

@slontis, where can I find this?

@slontis, where can I find this?

It looks like you force pushed before pulling. I thought that might happen :).

I think I might just give you the patch.
From 785624168c69f7d6f34bfa30a4c8af5fe10970ab Mon Sep 17 00:00:00 2001
From: Shane Lontis<EMAIL_ADDRESS>Date: Thu, 14 May 2020 12:32:44 +1000
Subject: [PATCH] Add libctx/provider support to cmp_server_test

test/cmp_server_test.c            | 41 ++++++++++++++++++++++++++++++++++++---
test/recipes/65-test_cmp_server.t | 40 +++++++++++++++++++++++++++++++++++---
2 files changed, 75 insertions(+), 6 deletions(-)
diff --git a/test/cmp_server_test.c b/test/cmp_server_test.c
index dc52a25..44c1c08 100644
--- a/test/cmp_server_test.c
+++ b/test/cmp_server_test.c
@@ -10,6 +10,7 @@
*/
#include "cmp_testlib.h"
+#include <openssl/provider.h>
typedef struct test_fixture {
const char *test_case_name;
@@ -18,6 +19,8 @@ typedef struct test_fixture {
OSSL_CMP_MSG *req;
} CMP_SRV_TEST_FIXTURE;
+static OPENSSL_CTX *libctx = NULL;
+static OSSL_PROVIDER *default_null_provider = NULL, *provider = NULL;
static OSSL_CMP_MSG *request = NULL;
static void tear_down(CMP_SRV_TEST_FIXTURE *fixture)
@@ -67,7 +70,7 @@ static int execute_test_handle_request(CMP_SRV_TEST_FIXTURE *fixture)
OSSL_CMP_ERRORMSGCONTENT *errorContent;
int res = 0;

if (!TEST_ptr(client_ctx = OSSL_CMP_CTX_new(NULL, NULL))

if (!TEST_ptr(client_ctx = OSSL_CMP_CTX_new(libctx, NULL))
|| !TEST_true(OSSL_CMP_CTX_set_transfer_cb_arg(client_ctx, ctx)))
goto end;

@@ -119,23 +122,55 @@ static int test_handle_request(void)
void cleanup_tests(void)
{
OSSL_CMP_MSG_free(request);

OSSL_PROVIDER_unload(default_null_provider);
OSSL_PROVIDER_unload(provider);
OPENSSL_CTX_free(libctx);
return;
}

+OPT_TEST_DECLARE_USAGE("cmp_server_test CR_protected_PBM_1234.der modulename"

                  " [fips_conf_file]\n")

int setup_tests(void)
{
const char *request_f;

const char *module_name;
if (!test_skip_common_options()) {
TEST_error("Error parsing test options\n");
return 0;
}

if (!TEST_ptr(request_f = test_get_argument(0))) {

   TEST_error("usage: cmp_server_test CR_protected_PBM_1234.der\n");

if (!TEST_ptr(request_f = test_get_argument(0))

       || !TEST_ptr(module_name = test_get_argument(1))) {

   TEST_error("usage: cmp_server_test CR_protected_PBM_1234.der "

              "modulename [fips_conf_file]\n");
   return 0;

}

if (strcmp(module_name, "none") != 0) {

   const char *config_fname = test_get_argument(2);

   default_null_provider = OSSL_PROVIDER_load(NULL, "null");

   libctx = OPENSSL_CTX_new();

   if (!TEST_ptr(libctx)) {

       TEST_error("Failed to create libctx\n");

       return 0;

   }

   if (config_fname != NULL

           && !TEST_true(OPENSSL_CTX_load_config(libctx, config_fname))) {

       TEST_error("Error loading configfile %s\n", config_fname);

       return 0;

   }

   provider = OSSL_PROVIDER_load(libctx, module_name);

   if (!TEST_ptr(provider)) {

       TEST_error("Failed to load provider %s\n", module_name);

       return 0;

   }

}

if (!TEST_ptr(request = load_pkimsg(request_f))) {
cleanup_tests();
return 0;
diff --git a/test/recipes/65-test_cmp_server.t b/test/recipes/65-test_cmp_server.t
index 87dbdb1..c94aa39 100644
--- a/test/recipes/65-test_cmp_server.t
+++ b/test/recipes/65-test_cmp_server.t
@@ -9,10 +9,22 @@

https://www.openssl.org/source/license.html
use strict;
-use OpenSSL::Test qw/:DEFAULT data_file/;
+use OpenSSL::Test qw/:DEFAULT data_file srctop_dir bldtop_file bldtop_dir srctop_file/;
+
use OpenSSL::Test::Utils;
+BEGIN {
setup("test_cmp_server");
+}
+
+use lib srctop_dir('Configurations');
+use lib bldtop_dir('.');
+use platform;
+
+my $no_fips = disabled('fips') || ($ENV{NO_FIPS} // 0);
+
+$ENV{OPENSSL_MODULES} = bldtop_dir("providers");
+$ENV{OPENSSL_CONF_INCLUDE} = bldtop_dir("providers");
plan skip_all => "This test is not supported in a no-cmp build"
if disabled("cmp");
@@ -20,7 +32,29 @@ plan skip_all => "This test is not supported in a no-cmp build"
plan skip_all => "This test is not supported in a no-ec build"
if disabled("ec");
-plan tests => 1;
+plan tests => 2

         + ($no_fips ? 0 : 2); #fips install + fips test

ok(run(test(["cmp_server_test",

        data_file("CR_protected_PBM_1234.der")])));

        data_file("CR_protected_PBM_1234.der"),

        "none"])));

+ok(run(test(["cmp_server_test",

        data_file("CR_protected_PBM_1234.der"),

        "default",

        srctop_file("test", "default.cnf")])));

+unless ($no_fips) {

ok(run(app(['openssl', 'fipsinstall',

           '-out', bldtop_file('providers', 'fipsmodule.cnf'),

           '-module', bldtop_file('providers', platform->dso('fips')),

           '-provider_name', 'fips', '-mac_name', 'HMAC',

           '-macopt', 'digest:SHA256', '-macopt', 'hexkey:00',

           '-section_name', 'fips_sect'])),

  "fipsinstall");

ok(run(test(["cmp_server_test",

            data_file("CR_protected_PBM_1234.der"),

            "fips",

            srctop_file("test", "fips.cnf")])));

+}
\ No newline at end of file
2.7.4

@slontis, where can I find this?

It looks like you force pushed before pulling. I thought that might happen :).

Oh, indeed - sorry for that.
I rebased on upstream/master to merge apps/cmp.c and had overlooked your push to commit 7856241 and had expected that you were at first working on a different branch: cmp_test_fix but meanwhile I found that that one is obsolete.

Oh, indeed - sorry for that.

No problems. I did exactly the same thing, when I tried to work on something with Richard :)

I think I might just give you the patch.

Thanks.
I wonder why I cannot simply get your commit 785624168c69f7d6f34bfa30a4c8af5fe10970ab -
I fetched from all potential repos but still get "bad object" although GitHub obviously still has it.

Not sure - might be that force pushing messes with it.

I didnt want to try to push and then blat your changes also :)

I am trying to do the same kind of changes to cms/pkcs7 at the moment.

I didnt want to try to push and then blat your changes also :)

:)

Let me know if the patch is no good.

Including the patch went fine, thanks.
I just was fighting other small nits in auto-generated err files and in doc files that made Travis fail. I've just pushed; hope these are gone now.
I'm still chasing the cause of a test failure test_ssl_old that seems to be due to my commit fc1423d9b526c6bf4a95253981da93ec0b72e7e1 ..

@slontis, I've just force-pushed again to clean up the branch and restore your original author and date entries for
[PATCH] Add libctx/provider support to cmp_server_test

I'm still chasing the cause of a test failure test_ssl_old that seems to be due to my commit fc1423d..

Meanwhile this disappeared - not sure why.

@mattcaswell, in order to make several Travis CI runs happy I had to do insert some ugly guards in the new evp_md_ctx_new_ex() in crypto/evp/digest.c:
#ifndef OPENSSL_NO_SM2
# ifndef FIPS_MODULE /* TODO(3.0): EVP_PKEY_CTX_ctrl() not yet supported in FIPS module */
#  ifndef OPENSSL_NO_EC /* TODO why is EVP_PKEY_CTX_set1_id only available then? */
    if (id != NULL && EVP_PKEY_CTX_set1_id(pctx, id->data, id->length) <= 0) {
        X509err(0, ERR_R_MALLOC_FAILURE);
        goto err;
    }
#  endif
# endif
#endif

#ifndef FIPS_MODULE /* TODO(3.0): EVP_DigestSign* not yet supported in FIPS module */
    EVP_MD_CTX_set_pkey_ctx(ctx, pctx);
#else
    EVP_PKEY_CTX_free(pctx);
#endif

The Travis failure "No space left on device" has come up again :(

I wonder why I cannot simply get your commit 7856241 -
I fetched from all potential repos but still get "bad object" although GitHub obviously still has it.

My understanding is that the git protocol requires some kind of name in order to fetch an object and won't let you fetch an object directly by hash.  Github, on the other hand, does expose some APIs for viewing by hash.
So you could have shane to a git branch -f purplemonkeydishwasher 785624168c69f7d6f34bfa30a4 and push that somewhere and fetch by that name (or make a tag or whatever), the hash itself is in some sense inside the abstraction barrier of his local repo and github's local repo.

Could you apply similiar changes to the other tests as were done in server tests to add the libctx.
The code should be identical and may pick up more instances of the libctx not being used.
Or do you think the server test will cover all cases?

I just tried adding libctx to cmp_client_test.
It needs to share some code that was written for the CMS PR that handles adding a library context to X509 certificates (since they do a fetch of SHA1 when verifiying). I will start looking at that.

@DDvO : any chance you can revisit this PR?

Thanks @slontis for the reminder.
I still had the provider support topic in the back of my head,
but recently unfortunately I've been overly busy with other topics,
and from (later) today until the end of next week I'll be travelling on vacation,
where I'll likely only be able to do a few urgent & quick things.
So I could resume with this likely in week 26.

Ok thanks for the heads up..
It looks like there are quite a few X509 objects in the CMP ASN1 objects..
I have added a X509_set0_libctx() for the CMS bits - so that after the d2i I then go thru the loaded objects and find all the X509 bits and call the function for each of them..
I started adding a d2i_XX_with_libctx() function to handle this, but that just got really nasty and I ended up with lots of d2i functions(). So the resolve seems to be cleaner..  But it is still a bit of work to get this working.

@slontis, unfortunately I did not find the time this week to work in the provider topic; hopefully next week...

unfortunately I did not find the time this week to work in the provider topic; hopefully next week...

Thats ok.. It may not be worth doing until #12153 is resolved.

@DDvO Any chance you can have another look at this now?
Now that PR #12153 has been merged this can proceed..
I started trying to continue this PR but realized it will take me quite a bit of time to get my head around what the code does/what has changed recently/what has been done in this PR already that will have merge conflicts)
The X509 object can now be created with a libctx/propq pair via X509_new_with_libctx().
You will also notice some extra APIs such as OSSL_STORE_open_with_libctx() (so that certs can be loaded with a libctx/propq).
If you are loading ASN1 data for cmp then the verify chain will fail currently when a libctx is used.
In the CMS code I have changed the d2i_CMS_bio() to also do a resolve
(See https://github.com/openssl/openssl/blob/33232925ced5bc4ff932fdcdba07343287ffc7ae/crypto/cms/cms_io.c)
so that it goes through all the loaded objects certs and sets up the libctx/propq for each one.
NOTE: OPENSSL_CTX_set0_default() could be used but I would prefer not to propagate this method if we can avoid it.

@DDvO Any chance you can have another look at this now?

I'm still on vacation this week, so unfortunately have no time to do anything larger by end-July.

@DDvO  - any chance you can have a look this week?
We are about a week away from beta, so the API's may be locked down at that point for 3.0.
It would be good to get any libctx's required in before this date for this new CMP interface.

@DDvO - any chance you can have a look this week?

Yes! Last week I was busy catching up with other things after my vacation,
so I was about to let you know that I can restart tackling this today.

We are about a week away from beta, so the API's may be locked down at that point for 3.0.

Good to know...

It would be good to get any libctx's required in before this date for this new CMP interface.

Indeed.

@slontis, phew, today I've managed at least to rebase this PR and
(hopefully) fix a number of non-trivial merge conflicts etc.
Hope I did not introduce errors this way.
I've also handled the review comments you gave in May.

A couple of CMP tests currently fail; I did not have the time today to analyze why,
in particular whether these are new issues somehow related to the rebase.
@slontis, if you have any hints how to solve them please let me know.
I'm going to continue with this PR, trying to extend the changes to the CMP client, tomorrow.

A couple of CMP tests currently fail; I did not have the time today to analyze why,
in particular whether these are new issues somehow related to the rebase.

I tried to rebase it before and got lot in the changes - so I know what you mean :)
It looks like the fipsinstall is failing for some reason - I will have a look.

Now there seems to be just one test issue left:
apps/openssl cmp -config ../Mock/test.cnf -section 'Mock credentials' -proxy '' -no_proxy <IP_ADDRESS> -cert signer.crt -key signer.p12 -keypass 'pass:12345' -digest md2

succeeds although md2 should be disabled because it is legacy, right?

succeeds although md2 should be disabled because it is legacy, right?

you might be able to use -provider default -provider legacy to fix this

succeeds although md2 should be disabled because it is legacy, right?

you might be able to use -provider default -provider legacy to fix this

Thanks for the hint, but it had no effect - the following still tries to reach the server rather than failing:
cd test/recipes/81-test_cmp_cli_data/Mock
../../../../util/wrap.pl ../../../../apps/openssl cmp -config ../Mock/test.cnf -section 'Mock credentials' -proxy '' -no_proxy <IP_ADDRESS> -cert signer.crt -key signer.p12 -keypass 'pass:12345' -digest md2 -provider default -provider legacy

succeeds although md2 should be disabled because it is legacy, right?

you might be able to use -provider default -provider legacy to fix this

Thanks for the hint, but it had no effect - the following still tries to reach the server rather than failing:
cd test/recipes/81-test_cmp_cli_data/Mock
../../../../util/wrap.pl ../../../../apps/openssl cmp -config ../Mock/test.cnf -section 'Mock credentials' -proxy '' -no_proxy <IP_ADDRESS> -cert signer.crt -key signer.p12 -keypass 'pass:12345' -digest md2 -provider default -provider legacy

I suspect that this is because apps/cmp.c does not make sufficient use of the libctx.
Adding app_get0_libctx() and app_get0_propq():
OSSL_CMP_CTX_new(app_get0_libctx(), app_get0_propq())

appears necessary but still was not sufficient.

appears necessary but still was not sufficient.

Have you set the environment variable also ?

The way I was finding issues was by putting a breakpoint inside evp_generic_fetch() line 313..
And then going back up the callstack to see what got called.

If you are creating certs in the app OR loading them as a embedded blob in another ASN1 object then the X509 objects need to be set up with a libctx.
Use X509_new_with_libctx() for any that you create instead of X509_new() and for the blobs loaded with i2d find the X509 objects and set the libctx.

(FYI. The initial beta date was 2 weeks after the last alpha so I think that is at the end of next week, not this week - and that date has not been agreed on yet by the OMC - so you have a bit more time than I thought).

Thanks @slontis for your various hints, which were very helpful moving on.
This way I've been able to add libctx/provider support to cmp_client_test.

Additions to the other tests are still to be done,
and I'm not yet sure about the use of OPENSSL_TEST_LIBCTX="1" for the CLI.
Still I suppose that the bulk of the provider support for CMP is in place meanwhile
so would be nice if the current state can be reviewed already now and hopefully merged soon.

slontis:cmp_provider_support

Hmm, an organization admin should probably block the spam.  (See also the openssl-book repo.)

Hmm, an organization admin should probably block the spam. (See also the openssl-book repo.)

Done

Now there seems to be just one test issue left:
apps/openssl cmp -config ../Mock/test.cnf -section 'Mock credentials' -proxy '' -no_proxy <IP_ADDRESS> -cert signer.crt -key signer.p12 -keypass 'pass:12345' -digest md2

succeeds although md2 should be disabled because it is legacy, right?

I've meanwhile found that this was simply because after changing the CMP_CTX fields from holding digest NIDs
to holding EVP_MD references I forgot to check in apps/cmp.c the result of calling
OSSL_CMP_CTX_set_option(ctx, OSSL_CMP_OPT_DIGEST_ALGNID, digest), which may now fail.
Fixed.

Thanks @mattcaswell for your new comments of Friday!
I've meanwhile handled them.

Thanks @slontis for your new comments. I've handled all of them.

There are still quite a few tests doing OSSL_CMP_CTX_new(NULL, NULL).
Should they all be using the libctx in case there are any edge cases?

I've just done the exercise to at the libctx also to cmp_{msg,vfy,protect}test, which did not bring up any new cases.
I don't think it would be worth doing so for cmp{ctx,hdr} test because they are not about using crypto.
So I'm pretty confident that for the CMP+CRMF implementation we have meanwhile caught all relevant cases.

travis failure is relevant - maybe a no-ec case?

travis failure is relevant - maybe a no-ec case?

Ah, yes, the recently added test key file contained an EC key - changed that to RSA.

@slontis, hope that this PR can finally be approved now, such that it makes it in the beta1 release?
In case any further (subtle) issues come up later we can still handle them when needed.

So I approve.. This was my branch (even though you did all the work).. So if you approve also then it is good to go.

Unless you intend to squash everything into a single commit,

please clean up the timeline of your 22 commits and group them logically.

I had already done various squashing before and in my view the remaining commits are already structured reasonably well.
Also the commit messages are IMO to the point.

In particular, the "[PATCH] ..." should be removed from the subject line of commit 103e86d

Done.

and the "...fix omission bug..." commit de55e77 be squashed.

Not really, because this fixes an independent (pre-existing) bug I noticed during the preparation of this PR.
I've just removed the word "omission" from the commit message since it may be more confusing than helpful.

Ideally, you would do an interactive rebase without moving the merge base (git rebase -i --keep-base master), because then GitHub's force-push diff would prove that no other changes were made.
(edit: older git versions might not have the --keep-base option yet. In this case, you can use git rebase -i HEAD~22)

Thanks for this hint. Interesting option,but my git version 2.20.1 does not support it.

So I approve.. This was my branch (even though you did all the work).. So if you approve also then it is good to go.

Thanks @slontis!
So unless GitHub really prohibits this, would be nice if you can formally add your approval as well.

If this PR gets merged in about 24 hours from now, is this still in time for the beta release?
BTW, I cannot find the current actual (which differs from the official) plan for the alpha and beta releases.

Or may we do the merge already today, helping #12621?

BTW, @mattcaswell, this PR still contains your stale change request.

Or may we do the merge already today, helping #12621?

There's no hurry. Current ETA for beta1 is approximately 2020-08-27. Repo freeze may happen a few days earlier, but your pull request seems to be in time to go in before that.

BTW, @mattcaswell, this PR still contains your stale change request.

Many committers don't care to remove stale change requests after they are adressed. Formally, only the approvals count. But if they disturb them, feel free to dismiss them yourself (with a comment like "change requests addressed"), or alternatively re-request the reviews.

Re-approving for formal reasons after two minor commit message improvements.

It's ok for me if you count the grace period starting from @slontis' approval in https://github.com/openssl/openssl/pull/11808#pullrequestreview-471297265, which was eight hours ago.

I've just removed the word "omission" from the commit message since it may be more confusing than helpful.

Are you shure you pushed those changes? I still see the old messages. Anyway, it's ok for me if these two fixes are made while merging.

BTW, @mattcaswell, this PR still contains your stale change request.

Many committers don't care to remove stale change requests after they are adressed. Formally, only the approvals count. But if they disturb ~them~ you, feel free to dismiss them yourself (with a comment like "change requests addressed"), or alternatively re-request the reviews.

Thanks @mspncp for your four helpful responses.
In this case Matt's change request were addressed, which should be documented by my responses to them.
I've just tried to formally dismiss the stale change request using the GitHub buttons next to the review overview, but GitHub claims it cannot find the respective commits, likely because they were outdated by a forced push.
Good to know that in the end it does not matter as long as approvals are there.

I've just removed the word "omission" from the commit message since it may be more confusing than helpful.

Are you shure you pushed those changes? I still see the old messages. Anyway, it's ok for me if these two fixes are made while merging.

Ah, I did a mistake (not for the first time), namely to edit the commit messages in the overview while interactive rebasing, not actually using the r/reword command. Now it's done (and pushed).

So unless GitHub really prohibits this, would be nice if you can formally add your approval as well.

Because it is my branch I cant do that..
Reconfirmed approval..

Merged - thanks a lot @slontis for your very competent, diligent, and patient shepherding of this involved task!

Merged - thanks a lot @slontis for your very competent, diligent, and patient shepherding of this involved task!

You did all the hard work :) Thanks for doing it..


Update packaging guidelines cont

This addresses comments https://github.com/dotnet/docs/pull/13196#issuecomment-528585112 and below.
@omajid @dagood ptal
cc @leecow

All review comments addressed. @dagood @omajid can you approve the PR if it is good for merging?

@mairaw, based on @dagood and @omajid review, this is good for merging.
@omajid @dagood thanks for all your feedback to get this together!

Thank you @tmds. Left a few comments, some unrelated to your changes. @leecow @jamshedd can one of you review this as well?

Suggested edits look good.

I've applied the suggestions so we can get this merged. Thanks so much @tmds!


Add new platform for TSCUtility

The macOS smoke test for apple/swift-package-manager#2396 fails without this addition.
Feel free to ignore until that pull is approved.

Please test with the following pull requests:
https://github.com/apple/swift-package-manager/pull/2396
@swift-ci smoke test

Please test with the following pull requests:
apple/swift-package-manager#2396
@swift-ci test


added more details and security-policy sample config

Additional details added to detailed readme file and sample config for security policy

added ipsec example

Hello @davedotdev  made the respective changes

changes based on comments provided
modified earlier ipsec files with the ones you helped following best practices
added l3vpn sample configuration


Sequential execution

Dear All,
I run  OSQP on Redhat Linux 7.8/64, under the latest Anaconda Python.
When Numpy part of the code is being executed, I can clearly observe the parallel computation.
Once it comes to OSQP solver, then only one CPU is utilised.
In addition to Anaconda internal libraries (MKL), I compiled and installed OpenBlas 0.3.10
in ${HOME}/.local and pointed out LD_LIBRARY_PATH therein.
Still, only sequential execution.
Could you suggest any workaround?
Python 3.7.7 (default, May  7 2020, 21:25:33)
[GCC 7.3.0] :: Anaconda, Inc. on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import numpy as np
>>> np.show_config()
blas_mkl_info:
    libraries = ['mkl_rt', 'pthread']
    library_dirs = ['/projects/alminiconda/lib']
    define_macros = [('SCIPY_MKL_H', None), ('HAVE_CBLAS', None)]
    include_dirs = ['/projects/alminiconda/include']
blas_opt_info:
    libraries = ['mkl_rt', 'pthread']
    library_dirs = ['/projects/alminiconda/lib']
    define_macros = [('SCIPY_MKL_H', None), ('HAVE_CBLAS', None)]
    include_dirs = ['/projects/alminiconda/include']
lapack_mkl_info:
    libraries = ['mkl_rt', 'pthread']
    library_dirs = ['/projects/alminiconda/lib']
    define_macros = [('SCIPY_MKL_H', None), ('HAVE_CBLAS', None)]
    include_dirs = ['/projects/alminiconda/include']
lapack_opt_info:
    libraries = ['mkl_rt', 'pthread']
    library_dirs = ['/projects/alminiconda/lib']
    define_macros = [('SCIPY_MKL_H', None), ('HAVE_CBLAS', None)]
    include_dirs = ['/projects/alminiconda/include']
>>>

The default OSQP configuration does not use BLAS for vector operations and uses QDLDL as its linear solver.   It should therefore run single threaded.
If you compile it to use MKL Pardiso as the linear solver then it might run multi-threaded, but I don't know for sure whether this is default behaviour (maybe @bstellato knows).
Note that in the v1.0 development version we will support BLAS as a compile-time option, and generally provide more flexibility about vector operations and solvers.   Multithreaded versions of the solver should then be easier to support.


ASCII codec can't decode byte - Unable to Generate Report

Attempting to generate the lab report based upon my exercises and getting the following error. Generating the exam-report seems to work as expected.
Been going through my code from my BoF that I included wasn't sure if you had any other ideas.
root@kali:~/Desktop/oscp/OSCP-Exam-Lab-Reports# ./generate-report.sh lab-report
[*] Preparing lab report for generation
[*] Stitching together targets, appendices and exercises
[*] Correcting relative image URLs
[*] Generating report
Traceback (most recent call last):
  File "/usr/local/bin/markdown-pp", line 8, in <module>
    sys.exit(main())
  File "/usr/local/lib/python2.7/dist-packages/MarkdownPP/main.py", line 112, in main
    MarkdownPP.MarkdownPP(input=mdpp, output=md, modules=modules)
  File "/usr/local/lib/python2.7/dist-packages/MarkdownPP/MarkdownPP.py", line 28, in __init__
    pp.process()
  File "/usr/local/lib/python2.7/dist-packages/MarkdownPP/Processor.py", line 49, in process
    transforms = module.transform(self.data)
  File "/usr/local/lib/python2.7/dist-packages/MarkdownPP/Modules/Include.py", line 40, in transform
    includedata = self.include(match)
  File "/usr/local/lib/python2.7/dist-packages/MarkdownPP/Modules/Include.py", line 106, in include
    result += self.include_file(filename, pwd, shift)
  File "/usr/local/lib/python2.7/dist-packages/MarkdownPP/Modules/Include.py", line 74, in include_file
    data[linenum] = "#" + data[linenum]
UnicodeDecodeError: 'ascii' codec can't decode byte 0xe2 in position 60: ordinal not in range(128)

It appears the issue was the result of using Markdown-PP with python2 instead of python3. Uninstalled the python2 version and re-installed with pip3 and it works as expected.


Upgrade django codalib

This upgrades the dependency hashes for django 2.2.24 and for codalib.

@somexpert can you verify that this Pipfile.lock works for you?

Took me a while to get things working (for a couple reasons), but I checked and the Pipfile.lock worked fine both locally and in Docker. :thumbsup:


fix DownloadTargetMetaFileTask when meta file is unavailable

fixes https://github.com/QuiltMC/quilt-mappings/actions/runs/12044298644/job/33581079167#step:6:595
Note: This is just a quick fix, I'll make a PR that improves upon it:

DownloadTargetMetaFileTask could be converted to a ValueSource
we could maybe ping the url instead of just trying to download and catching the exception if it fails

Superseded by #670


Cannot read property 'statusCode' of undefined

When the connection fails to check if the version of nw it's available, displays the error below:
TypeError: Cannot read property 'statusCode' of undefined
at Request._callback (c:\nodejs\node_modules\generator-node-webkit\generator
s\download\index.js:47:25)
at self.callback (c:\nodejs\node_modules\generator-node-webkit\node_modules
request\request.js:198:22)
at Request.emit (events.js:107:17)
at Request.onRequestError (c:\nodejs\node_modules\generator-node-webkit\node
_modules\request\request.js:877:8)
at ClientRequest.emit (events.js:107:17)
at Socket.socketErrorListener (_http_client.js:271:9)
at Socket.emit (events.js:107:17)
at net.js:459:14
at process._tickCallback (node.js:355:11)

@kessiler Please describe what commands you called and the answer yo gave to the generator-node-webkit questions. Thanks.


chore: Run e2e tests in parallel

Description
Run e2e tests in parallel in CI
Issue ticket number and link
Type of change

[ ] Bug fix (non-breaking change which fixes an issue)
[ ] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to not work as expected)
[ ] This change requires a documentation update

How Has This Been Tested?
Please describe the tests that you ran to verify your changes. Provide instructions so we can reproduce. Please also list any relevant details for your test configuration
Checklist:

[ ] I have performed a self-review of my code
[ ] I have commented my code, particularly in hard-to-understand areas
[ ] I have made corresponding changes to the documentation

/test ?

/test redhat-appstudio-e2e

/test redhat-appstudio-e2e

/test redhat-appstudio-e2e

/test redhat-appstudio-e2e

/test redhat-appstudio-e2e

/retest

/test redhat-appstudio-e2e

/test redhat-appstudio-e2e

/test redhat-appstudio-e2e

/test redhat-appstudio-e2e

/retest

/test redhat-appstudio-e2e

/test redhat-appstudio-e2e

/test redhat-appstudio-e2e

/retest

/retest

/retest

/retest


Migration to new PR

Fixes #1526

#1526
#1857

Adding benchmark for startup.
We can replicate issue or verify with this PR
Unable to replicate application down with 600 dummy routes.
Proposed Changes

Add HeavyRoutesStartupBenchmark benchmark
Current benchmarking is done for 600+ dummy routes across 2 files, more file and more dummy routes can be extended easily.

2/4 comments are done which was mentioned in https://github.com/ThreeMammals/Ocelot/pull/1856

@ks1990cn Tanmay,
It seems you don't respect us as a team...
I see that you do not appreciate our help and our efforts when we review your PRs... We are wasting time with you. You close PRs after receiving review issues.
You have poor git knowledge and can't manage your branches.
You're basically ignoring our development process.
You are kidding and joking...
I'm tired of your contributions!
Please, enjoy your weekend!
@ggnaegi FYI

@raman-m You pushed some changes as request and I merged to develop. Something went wrong with it, I was getting 4-5 unneccessary commits with my develop branch which I forked. I was unable to see changes same as your main branch.
I've transfered your all comments and reviews as it is in this, so you should not worry on it.
@ggnaegi

HeavyRoutesStartupBenchmark.StartOcelotWithLargeConfigurations: DefaultJob
Runtime = .NET 6.0.25 (6.0.2523.51912), X64 RyuJIT AVX2; GC = Concurrent Workstation
Mean = 7.135 s, StdErr = 0.061 s (0.85%), N = 92, StdDev = 0.581 s
Min = 5.827 s, Q1 = 6.815 s, Median = 6.959 s, Q3 = 7.477 s, Max = 8.815 s
IQR = 0.661 s, LowerFence = 5.823 s, UpperFence = 8.469 s
ConfidenceInterval = [6.929 s; 7.341 s] (CI 99.9%), Margin = 0.206 s (2.89% of Mean)
Skewness = 0.67, Kurtosis = 4.01, MValue = 2.3
-------------------- Histogram --------------------
[5.694 s ; 6.031 s) | @@@@
[6.031 s ; 6.373 s) |
[6.373 s ; 6.635 s) | @
[6.635 s ; 6.973 s) | @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
[6.973 s ; 7.348 s) | @@@@@@@@@@@@@@@@@@
[7.348 s ; 7.626 s) | @@@@@@@
[7.626 s ; 7.964 s) | @@@@@@@@@@@@
[7.964 s ; 8.275 s) | @@@
[8.275 s ; 8.617 s) | @
[8.617 s ; 8.984 s) | @@@
// * Summary *
BenchmarkDotNet v0.13.11, Windows 11 (10.0.22621.3155/22H2/2022Update/SunValley2)
Intel Core i7-8650U CPU 1.90GHz (Kaby Lake R), 1 CPU, 8 logical and 4 physical cores
.NET SDK 8.0.200-preview.23624.5
[Host]     : .NET 6.0.25 (6.0.2523.51912), X64 RyuJIT AVX2 [AttachedDebugger]
DefaultJob : .NET 6.0.25 (6.0.2523.51912), X64 RyuJIT AVX2

Method
Mean
Error
StdDev
StdErr
Median
Min
Q1
Q3
Max
Op/s
Gen0
Gen1
Allocated

StartOcelotWithLargeConfigurations
7.135 s
0.2059 s
0.5808 s
0.0605 s
6.959 s
5.827 s
6.815 s
7.477 s
8.815 s
0.1402
45000.0000
3000.0000
191.49 MB

// * Warnings *
Environment
Summary -> Benchmark was executed with attached debugger
// * Hints *
Outliers
HeavyRoutesStartupBenchmark.StartOcelotWithLargeConfigurations: Default -> 8 outliers were removed (8.98 s..14.23 s)
// * Legends *
Mean      : Arithmetic mean of all measurements
Error     : Half of 99.9% confidence interval
StdDev    : Standard deviation of all measurements
StdErr    : Standard error of all measurements
Median    : Value separating the higher half of all measurements (50th percentile)
Min       : Minimum
Q1        : Quartile 1 (25th percentile)
Q3        : Quartile 3 (75th percentile)
Max       : Maximum
Op/s      : Operation per second
Gen0      : GC Generation 0 collects per 1000 operations
Gen1      : GC Generation 1 collects per 1000 operations
Allocated : Allocated memory per single operation (managed only, inclusive, 1KB = 1024B)
1 s       : 1 Second (1 sec)
// * Diagnostic Output - MemoryDiagnoser *
// ***** BenchmarkRunner: End *****
Run time: 00:15:35 (935.39 sec), executed benchmarks: 1
Global total time: 00:15:42 (942.7 sec), executed benchmarks: 1
// * Artifacts cleanup *
Artifacts cleanup is finished

@raman-m Should I continue on resolving comments you mentioned for this? Will you or anyone will be assigned again?🥺

You are talented developer. But you don't follow Development process!
Truly speaking, you cannot pass the stage of Code Review which the 5th point of the process.
Will you follow the dev process? Are you sure?
Will not you close your current PRs multiple times?

Yes I will 🚫 not.. sure!

@raman-m I don't know why this test case failing on build, its running perfect on local.

@ks1990cn Hello Tanmay!
Our Checks cannot start because of invalid state of your develop branch!
Could you add me as Collaborator to fix this problem please?
After adding me it will allow me to press these buttons →

Please give me the permission ASAP❗
FYI Your PR is not draft now, I've fixed your feature branch by cleaning it up with rebasing onto upstream develop.

Hi @raman-m, invited for colab.

I've updated the feature branch again, and there's no build! 😮 After checking the CircleCI branch status for pull/1964 and seeing no builds, I realized the issue might be within the settings of your forked repository. Have you configured any advanced settings for GitHub or CircleCI integrations?

Could you check your Actions permissions inside the forked repo plz?
You need to →

Actions permissions: Allow all actions and reusable workflows
Approval for running fork pull request workflows from contributors: Require approval for first-time contributors
Workflow permissions: Read repository contents and packages permissions
[x] Allow GitHub Actions to create and approve pull requests

Did you allow all actions/workflows?

everything is perfect as you mentioned.

Require re-creation

Tanmay, please create a new branch from develop and open a pull request from this new branch. We will then review what's happening. Agreed?

Tanmay, wake up! 😄 🌅

Okay, Tanmay! I've noticed you created PR #2197, and there are no builds. Similarly, in my testing PR #2198, there are also no builds. This is a critical issue with the absence of builds!
To ensure fairness, please confirm that you haven't used CircleCI to set up a project with your GitHub account credentials.
If not, I suggest deleting the repository and re-forking the Ocelot repository. During the re-forking process, do not alter any settings and stick to the default options provided. Once the re-forking is complete, please come back to us with the newly created pull request. Thank you!
P.S. I recommend to rename the forked repository in the dialogue to Ocelot2 instead of Ocelot. This will help to segregate the newly created repository from previous environments.


Unit Tests

Create proper unit tests with Jest instead of using a browser test.

Looked into this a few times, thanks to learning about ways to do it from some other projects I've been working with recently (jsmediatags). Here's a look at what's coming up!
Up until now, I've been running the reader and writer functions from NBTify over various files with different format type options, which has helped check if the current code is up to handling each of the formats specifically.
Since the actual implementations weren't done yet for each format, having tests for each one wouldn't be as helpful quite yet, since I still had to add the logic itself to manage each of these. Now that NBTify has proven to work well with all of these formats, now it's a great time to set up tests for each of the formats, as I can ensure that the existing behavior will be maintained automatically, without having to manually check the results for each one myself.
Also, the original ./test/index.ts file wasn't solely for checking if things were working right (well, they were partially for that), but it was also to track how NBTify actually outputs and works with it's data. I was using it to decide how the library should work as a whole, not only to check if it's working right (because it inherently wasn't yet).
Test Runner | Node.js


json-server requires at least version 4 of Node, please upgrade

Hi, I'm using node v10.0.0 and running node build dev fails with:
json-server requires at least version 4 of Node, please upgrade
[0] npm ERR! code ELIFECYCLE
npm ERR! errno 1
[0] npm ERR<EMAIL_ADDRESS>start:server: `json-server -p 5354 db/db.json`
[0] npm ERR! Exit status 1
npm ERR!
[0] npm ERR! Failed at the<EMAIL_ADDRESS>start:server script.
npm ERR! This is probably not a problem with npm. There is likely additional logging output above.

Well, it seems it works with node v8.0.0.. for anyone reading this, install NVM and nvm install 8.0.0

Hi, I am going to close this issue, since I don't see anything which I need to follow up. Thanks for sharing.

@JPaulMora Thanks the downgrade to v8 works!

yeah thanks @harryho, solved it right when I was posting, still did so people could see.


Cherry pick PR #2031 to v0.10.x

Description of the change:
Pulling in patch #2031 for the upcoming release of v0.10.1
Motivation for the change:
Have new bug fixes in release

LGTM when CI passes


Update product_id to match marketplace solution id

With product_id matching your GCP Marketplace solution id, we'll be able to provide you with some solution analytics.

Thanks Frank!
Merging


"jest is not defined"

Upon adding the below (I followed the example) - I run into the following error

I've tried adding the following to resolve jest
import {jest} from '@jest/globals'
global.jest = jest;

However, it just results in the following error

I obviously must be doing something wrong - but I am unable to see what, could you help shed some light on my misunderstanding?

Hi @LocatedInSpace, thanks for your feedback. In what environment are you trying prisma-mock? In jest, vitest or somewhere als?

I've tried primarily with vitest, and secondhand with jest - I now however see this (https://github.com/demonsters/prisma-mock/issues/20), so I assume vitest isn't supported atm, and was a stupid thing to try 😥
I'm going to assume that this was an issue with how I've configured jest then - please close the issue, and I'll reopen with better details if it persists once I've properly tested with jest :)


Dependencies

Hi, I am having difficulties running the code because of library issues. I am current using Tensorflow-gpu 0.11.0, Tensorflow-probability-gpu 0.4.0 and Sonnet 1.29. Can anybody help me with the combination of Tensorflow-gpu, Tensorflow-probability-gpu and Sonnet versions that work you when running the code? Thanks.

Here's my combination of the above
dm-sonnet==1.29
numpy==1.16.2
tensorflow-gpu==1.12.0
tensorflow-probability-gpu==0.5.0rc0
NOTE: tensorflow/tensorflow-gpu versions depend on your version of CUDA and CuDnn and sometimes gcc (if you are compiling from the sources)
My additional configs are: CUDA 9.0 with CuDnn 7.1.4.
Also, your post is vague. Please post detailed info ... like a dump / error


[Bug Report] el-divider doesn't work with v-show

Element UI version
2.13.2
OS/Browsers version
win10/Chrome userAgent: 83.0.4103.97
Vue version
2.6.10
Reproduction Link
https://codepen.io/xianshenglu/pen/YzwNZJp
Steps to reproduce
just see the demo
What is Expected?
the two el-divider shouldn't show
What is actually happening?
<el-divider v-show="list.length===0"> shows

If change the el-divider to div, v-show would work.
The reason is that the source code is using functional in the template. And the deeper reason is a bug of vue-loader.
I suggest you change the implementation of  el-divider instead of using functional component.


Feat/session engine

@HunnySajid can this be merged now? If not can you provide an update for what is needed?

remaining part "Ability to request credential for one time or an extended session from the client"
I'll update this pr with changes and then we can merge.


Alpha Release 0.0.1

Goal

Create a hello world in Java 11 using Spring Boot 2.3 and angular 9

TODO

[x] Create hello world rest api endpoint
[x] Create hello world web page using angular 9
[x] Add integration tests
[x] Add a architecture diagram for the requirements

Done


Increase camera plugin maximum outer zoom limit

For reference, this is the current limit on the max render distance:

And this is your proposed change:

Extending the zoom limit on the camera does not innately extend the draw distance.

There are some niche use cases where a larger outer zoom limit would be useful when used with GPU plugin to increase draw distance. For example, at blood runecrafting altar, it would enable moving directly from the dark altar to the blood altar in one click, which is not possible with the current 400 zoom limit.

This was the last response to this suggestion.
https://github.com/runelite/runelite/pull/12745#issuecomment-749490454

There are some niche use cases where a larger outer zoom limit would be useful when used with GPU plugin to increase draw distance. For example, at blood runecrafting altar, it would enable moving directly from the dark altar to the blood altar in one click, which is not possible with the current 400 zoom limit.

The zoom limit and the click distance are entirely separate; if were at max zoom before and you zoomed out further, you can't click any further. The scene is also limited to 104 tiles in each direction, whereas you need to move over 101 tiles to get between the mine and the altar. Even if you managed to set up the perfect scene, you would trigger load lines and screw that scene up, at which point if you'd click to go up to the altar it would just be dropped as there's no valid path in the current scene.
This change has very little practical purpose to everyone but a snowflake wanting to try out Satellite-man mode. As abex has also mentioned before, it would also have other issues, which is why the limit is set at the reasonable amount it's currently at.

Thanks for explaining. Those are fair reasons, but they weren't obvious to me as an outsider. Would it be good to document the reasoning for current maximum zoom limit of 400 in a code comment similarly to how the 1004 inner zoom limit is?


tour-guide CLI.

Mostly a skeleton with placeholders for the future commands that must be supported.

LGTM

I've updated the PR with more commands for the CLI script.

It would be good to have a README file with a short explanation about the scripts.

We had some problems trying to create sensors. We followed the instructions provided by  the tour-guide sensors create --help  command.
The error can be seen in the attached picture.

We also had problems trying to configure keyrock and oauth.

We think that the purpose of this PR is to facilitate the use and configuration of the tourguide application. If this is the case, we miss an option to set the hosts file.

This PR will be splitted into smaller ones.


keyError: "requestContext" FastApi

Hi there, I'm getting the following error when my app executes in API Gateway (paths shortened for brevity):
Traceback (most recent call last):
  File "/virtualenv/lib/python3.8/site-packages/gunicorn/workers/sync.py", line 134, in handle
    self.handle_request(listener, req, client, addr)
  File "/virtualenv/lib/python3.8/site-packages/gunicorn/workers/sync.py", line 175, in handle_request
    respiter = self.wsgi(environ, resp.start_response)
  File "/virtualenv/lib/python3.8/site-packages/mangum/adapter.py", line 61, in __call__
    raise exc
  File "/virtualenv/lib/python3.8/site-packages/mangum/adapter.py", line 59, in __call__
    response = self.handler(event, context)
  File "/virtualenv/lib/python3.8/site-packages/mangum/adapter.py", line 76, in handler
    response = self.handle_ws(event, context)
  File /virtualenv/lib/python3.8/site-packages/mangum/adapter.py", line 130, in handle_ws
    request_context = event["requestContext"]
KeyError: 'requestContext'

Here is my FastApi app code:
from fastapi import FastAPI

from app.api import router

def get_application(config) -> FastAPI:
    application = FastAPI(
        title=config.PROJECT_NAME, debug=config.DEBUG, version=config.VERSION
    )
    application.include_router(router, prefix=config.API_PREFIX)

    return application

And here is the Mangum adapter:
from mangum import Mangum

from .app import get_application
from .core import config

handler = Mangum(app=get_application(config), enable_lifespan=False)

Also tried running locally with gunicorn, same error. If I run the app normally with uvicorn it works fine.
I'm using the latest version of FastAPI (0.54.1) and Python 3.8 on a Manjaro Linux machine.
So, according to the examples I've read, that looks like pretty standard stuff; I looked online but couldn't find anything (and the issues posted here seems like they are for old versions), am I missing something?

Oh it looks like PR #94 addresses this, what's the status on that?

I haven't had a chance to review that PR properly, but there are a few issues that will need to be resolved before it is mergeable. I'll try to look into it over the weekend.

Cool thanks

I've merged the PR for this into master, but there are a few things I want to do before the next release (probably this weekend). I'll leave this open until then.

Great! Thanks for the update @erm

Released in 0.8.0.


@types not working for project in subfolder

I have two tsconfig/typescript projects in an app. Project 1 at root of the folder for backend and project 2 at /src folder for front end.
Just upgraded to typescript 2.0 and removed all typings and installed @types equivalent.
I have mongodb referenced in both project. my backend project compiles just fine but project in /src folder throws error
../node_modules/@types/mongoose/index.d.ts(2279,74): error TS2304: Cannot find name 'Promise'.
../node_modules/@types/mongodb/index.d.ts(17,64): error TS2304: Cannot find name 'Promise'.
Looks like an issue with referencing @types when project is in subfolder.
I compile project using tsc only

I have mongodb referenced in both project. my backend project compiles just fine but project in /src folder throws error

The issue is about missing Promise definitions, and not subfolders. does your backend use --target ES6 or has --lib es6/es2015?

thanks @mhegazy, i got it working by adding es6-promise for es5 project. had to add types to exclude unwanted types(es6-promise for backend). I didn't see that in compiler options documents but looks like empty types are excluding non referenced types.
now at root i have following for backend
{     "compilerOptions": {         "target": "es2015",         "inlineSourceMap": true,         "module": "commonjs",         "moduleResolution": "node",         "types": []     },     "compileOnSave": true,     "exclude": [         "src",         "node_modules",         "public",         "dist",         "views"     ] }
at /src i have following for frontend
{     "compilerOptions": {         "target": "es5",         "moduleResolution": "node",         "typeRoots": [             "../node_modules/@types"         ],         "types": [             "jquery", "jasmine", "es6-promise"         ]     } }

just as a note, you do not need es6-promise per se. all you need is "lib": ["dom", "es6"]. also the typeRoots is not needed, but having it is fine too.


allow empty request body if nullable

Codecov Report

Merging #85 (524dede) into master (ed9d134) will decrease coverage by 0.16%.
The diff coverage is 66.66%.

@@             Coverage Diff              @@
##             master      #85      +/-   ##
============================================
- Coverage     84.40%   84.24%   -0.17%
- Complexity      124      125       +1
============================================
  Files            27       27
  Lines           327      330       +3
============================================
+ Hits            276      278       +2
- Misses           51       52       +1

Impacted Files
Coverage Δ
Complexity Δ

src/Request/BodyArgumentResolver.php
96.29% <66.66%> (-3.71%)
12.00 <0.00> (+1.00)
:arrow_down:

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 ed9d134...524dede. Read the comment docs.


Record Meeting

Recording would be a cool feature and requested earlier, see the jibri install.
Now there seems to be a way to allow local recording, so getting the record featuer without jibri.
[Community page] (https://community.jitsi.org/t/recording-in-my-computer-not-dropbox/19235/36)
Can we upgrade thie jitsi package to a later version and make sure we set
localRecording: {
         disable: false
   },

in the config.js

I've just upgrade jitsi app, and it has erased the manual modifications I made on /etc/jitsi/meet/domain.tld-config.js
Is there a way to make these changes persistant ?

config.js

Look at the log of the upgrade, it should say that it has backuped the domain.tld-config.js
And for now, $domain-config.js is upgraded during each upgrade


Generating mocks for protocols exposed from a Swift Package

Hello!
I would like to generate mocks for a protocols that are not in my codebase, but are exposed from the codebase of a Swift Package.
How may I be able to generate those mocks for such protocols in my codebase?
Since I am not able to extend a protocol with AutoMockable or // sourcery: AutoMockable, and since also they do not belong directly in my codebase and not get scanned.

Hello no news on this so far?

You need to get at least definition scanned, you can add conformance in your own project code

You need to get at least definition scanned, you can add conformance in your own project code

How may I achieve this?
Since the it's an SPM the definition is not really in project, how can I set the .yml configuration to scan the SPM package code?

You'd need to use the spm cache

You'd need to use the spm cache

I tried to use the swiftpm cache in the config file like this:
sources:
  - ../../ElementX
  - ~/Library/Caches/org.swift.swiftpm/
templates:
  - AutoMockable.stencil
output:
  ../../ElementX/Sources/Mocks/Generated/GeneratedMocks.swift
args:
  automMockableTestableImports: []
  autoMockableImports: [Combine, Foundation, MatrixRustSDK, AnalyticsEvents]

However it's still trying to access my folder locally instead of accessing it from the user folde, in fact the script fails saying:
'/Users/mauroromito/Documents/Xworkspace/element-x-ios/Tools/Sourcery/Library/Caches/org.swift.swiftpm' does not exist or is not readable.
Of course since the sourcery script should also work across multiple collaborators and on the CI, I can't use multiple ../ to reach the user folder.
How would I achieve that with the .yml configuration?

@Velin92 you might want to consider using a build tool plugin like I've mentioned in here https://www.polpiella.dev/sourcery-swift-package-command-plugin


Reduce bundle size by referencing the string "undefined"

I'm really playing code golf here. Bundle size is reduced by 64 bytes.

This was a BAD IDEA and I should FEEL BAD.


gita: 0.11.9 -> <IP_ADDRESS>

Description of changes
New version bump for: https://github.com/nosarthur/gita/releases/tag/v<IP_ADDRESS>
Had to disable tests due to 3 failing tests. App seems to be functioning ok but if you have pytest experience I'd be glad for some tips. Trying to selectively disable these 3 seem to fail.
Fixes https://github.com/NixOS/nixpkgs/issues/263787
Things done

Built on platform(s)

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

For non-Linux: Is sandboxing enabled in nix.conf? (See Nix manual)

[ ] sandbox = relaxed
[ ] sandbox = true

[ ] 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/)
23.11 Release Notes (or backporting 23.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

[x] Fits CONTRIBUTING.md.

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

2 packages built:

gita
gita.dist

This pull request has been mentioned on NixOS Discourse. There might be relevant details there:
https://discourse.nixos.org/t/prs-already-reviewed/2617/1195

I tested it, worked fine ty for update


add bz metadata to bz search results

with 1772607 as the search string, new results look like:
v2 api:
{

    "results": {
        "1772607": {
            "matches": [
                {
                    "name": "Bug 1772607: Mirroring command occasionally throws HTTP 400 when uploading a blob on Quay POST",
                    "lastModified": null,
                    "filename": "bug",
                    "context": [
                        "Bug 1772607: Mirroring command occasionally throws HTTP 400 when uploading a blob on Quay",
                        "Status: POST"
                    ],
                    "url": "https://bugzilla.redhat.com/show_bug.cgi?id=1772607",
                    "bugInfo": {
                        "id": 1772607,
                        "status": "POST",
                        "resolution": "",
                        "severity": "low",
                        "priority": "",
                        "summary": "Mirroring command occasionally throws HTTP 400 when uploading a blob on Quay",
                        "keywords": null,
                        "whiteboard": "",
                        "cf_internal_whiteboard": "buildcop",
                        "creator"<EMAIL_ADDRESS>                        "assigned_to"<EMAIL_ADDRESS>                        "creation_time": null,
                        "last_change_time": null,
                        "cf_environment": "",
                        "target_release": [
                            "4.6.0"
                        ]
                    }
                },

legacy api:
{

    "https://bugzilla.redhat.com/show_bug.cgi?id=1772607": {
        "1772607": [
            {
                "name": "Bug 1772607: Mirroring command occasionally throws HTTP 400 when uploading a blob on Quay POST",
                "lastModified": null,
                "filename": "bug",
                "context": [
                    "Bug 1772607: Mirroring command occasionally throws HTTP 400 when uploading a blob on Quay",
                    "Status: POST"
                ],
                "bugInfo": {
                    "id": 1772607,
                    "status": "POST",
                    "resolution": "",
                    "severity": "low",
                    "priority": "",
                    "summary": "Mirroring command occasionally throws HTTP 400 when uploading a blob on Quay",
                    "keywords": null,
                    "whiteboard": "",
                    "cf_internal_whiteboard": "buildcop",
                    "creator"<EMAIL_ADDRESS>                    "assigned_to"<EMAIL_ADDRESS>                    "creation_time": null,
                    "last_change_time": null,
                    "cf_environment": "",
                    "target_release": [
                        "4.6.0"
                    ]
                }
            },

@smarterclayton ptal

/lgtm


🐛 Fix order of multiple upload results

no issue

push upload results into an array at the same index as the passed in files array

Changes Unknown when pulling 44ac9a7f33750a4fb4c8fbc23a41b94f9c604bf6 on kevinansfield:fix-multiple-upload-order into ** on TryGhost:master**.


POST request hangs up / seems to run forever

Hello, I'm having trouble sending a post request to gather the html from a website.
I'm setting up the request like so,
var options =
        {
            method: 'POST',
            url: 'https://www.nasdaq.com/symbol/ge/historical',
            headers:
            { 'postman-token': '83993654-a2f6-b811-2bad-7e56ac6b6865',
                'cache-control': 'no-cache',
                'content-type': 'text/plain' },
            body:'5d|false|ge',
            json:false
        };

then using,
 request(options)
        .then(res =>
            console.log(res)
        )
        .catch(err =>
            console.log(err)
        );

I tested this with https://httpbin.org/post to see what it looks like and to verify that it goes through.
I used Google's Postman and I can get the html I want, but now it seems I'm having trouble re-creating the request it in NodeJS.
Please help me with this,
-Kevin G.

There are different types of timeouts on the code level as well as the os level. Having the timeout parameter is a good start and aborts the request in some situations. In other situations the timeouts of the os will fire. Since those are much longer usually just run your request and wait a few minutes. You should then get an error which you could look into.

Feel free to reopen @Xavi55 if you still need a solution.


Lets fix React 16!

React 16 is here. There is no way to ignore it.
Thus - one have to fix the library.
I am filling an issue, not PR, cos, you know, you might not like the possible solution :)
That have to be done?
Someone has to cast block to string. That does not happends :(
How to fix it.
I am React-Hot-Loader maintainer, and I could propose a terrible solution based on https://github.com/theKashey/react-remock (the library itself is not needed)

Add a "magic symbol" to block, to be able to detect it
Overload React.createElement
On element creating check className, and if it is block - cast it to string, then call original function.
Library got fixed!

There is no speed loss with one more function call, and this operation more or less legal, and just a few lines - https://github.com/theKashey/react-remock/blob/master/src/patch.ts

Sincere sorry for late reply and thank you for your proposal!
I just released version 3.x.
In 95% cases new version compatible with v2.x.
And it fully compatible with React 16.


Build packaged version of toolkits with all dependencies included

This will be important for our supporters who are not able to conda install from online sources, and is thus high-priority.
Also summarize this process at https://github.com/choderalab/software-development

So far, I'm seeing two ways to do this.

conda constructor, which seems to do exactly what we want, but I'm a bit concerned by the lack of stars and the last commit being >1 month ago.
Manually packaging all dependencies and running an offline conda install upon delivery, as described here

I'm leaning toward option 1, and I'll talk to MolSSI this afternoon about it and post notes here.
==========
We'll also need to figure out an infrastructure to perform/host these builds.
It'll probably be something like

add "run constructor" to the deployment process checklist (Or could we bundle this with our eventual integration test framework? So travis would try to conda install the toolkit, run the tests, and then run constructor and push out the constructored packages)
add an openforcefield.org page pointing to a data store where the files are hosted

Notes from meeting with Psi4 devs
(Thanks @loriab!)
Psi4 uses conda constructor
Overall documentation for their release process is here: http://psicode.org/psi4manual/master/manage_release.html#build-psi4conda-set

Build code lives here: https://github.com/psi4/psi4meta/tree/master/conda-recipes/constructor-cutter-unified

Platforms/pythons to build for are defined here: https://github.com/psi4/psi4meta/blob/master/conda-recipes/constructor-cutter-unified/cookiecutter/cookiecutter.json-v1.3
There will be trouble with noarch dependencies (of which we have several), but they may be added manually, as shown at https://github.com/conda/constructor/issues/86#issuecomment-358895352
You can set the resulting environment to have a specific channel priority (we’ll need to set conda-forge and maybe omnia over default if users might do subsequent installs)
If we wanted to also ship optional dependencies (that are available, but not installed by default) we could include packages in a “local/offline” channel. Users could later install optional dependencies from this local channel. (may be useful for supercomputer users, or if there’s a dependency clash)
We can decide whether to ship with raw package data, or just with the packages installed into the environment

Build code runs: On a dedicated linux build machine at Georgia tech.

I’m not sure if we want to do these using a physical machine, or delegate it to Travis.
Compatibility: Linux can build for mac and linux, but a windows machine would be required to build for windows

The output of the constructor gets uploaded to a file server at Georgia tech
The psi4 website then has a PR opened to point “latest” to a new version

Example update PR: https://github.com/psi4/psicode-hugo-website/pull/6
Resulting download page: https://admiring-tesla-08529a.netlify.com/installs/v13/

It's possible we could use something like CircleCI that stores build artifacts in a separate openforcefield-constructor repo that just builds and packages for releases.

This is now complete -- The installer build system is at: https://github.com/openforcefield/toolkit-installer-constructor
Instructions have been tied into the Standard Release Process: https://github.com/openforcefield/openforcefield/issues/286
Installers of the most recent version have been quietly added to the assets list for the 0.4.1 release: https://github.com/openforcefield/openforcefield/releases/tag/0.4.1


Lua>=5.2 compatibility (see mpx/#22)

@cloudwu Thank you for the patch! I'll look into it shortly :)

@cloudwu Are you cool with merging into this fork?

@agentzh ok

@cloudwu Thanks.

should we extend travis-ci matrix to add other version of Lua ?

@chipitsine As long as we already support them :)

Note that I merged #49 which lets it build on all modern version of Lua, but integer support was not part of that change as I wanted to keep the changes minimal. The changes here will have to be rebased on top of that.
I also added a new test suite for all versions of Lua with #50 which should make it easier to get these changes in with confidence!


Add more documentation

Documentation of the shortcuts
Hopefully link dokka API reference
Documentation of the CLI

[ ] @oxisto Check if there is a an automated dropdown generation for subfolders from versions.

I configured the dokka gradle task to use the versioning plugin and (locally) managed to generate the dropdown. However, I don't know how to integrate it into the github workflow.


Provide a Method to Override Hardcoded 'reloc_model'

Feature request
Possibly this is not of interest to end-users of numba.
But in order to simplify testing and debugging, the hard-coded reloc_model should be overridable, ideally by kind of command-line option similar to this of the llvm side (-relocation-model=static|pic)
Example Scenario: https://github.com/numba/llvmlite/pull/684#issuecomment-760889418

Thanks for the suggestion. Numba tests a large number of systems and sets options for hardware targets that work in practice, with emphasis first on "works correctly", and second on "is performant".
Whilst I can appreciate the convenience such a flag may provide for a scenario similar to that in https://github.com/numba/llvmlite/pull/684#issuecomment-760889418, I'm not convinced Numba should have a switch for this sort of thing:

End users, and even engineers working on hardware target support, are reasonably unlikely to need or want to alter this, and if they did, chances are they are working on live development versions and know how to deal with it.
Were this functionality implemented it would need to be tested and maintained, I think the burden of doing this far outweighs any minor convenience gained in testing patches to this execution path given how infrequent they occur.
Given Numba's current configuration options, such a low level flag would not really fit as these are predominately driven by use cases presented in practice.

Any maintainers who deal with this feel strongly otherwise?
CC @sklam @esc

Thanks for the suggestion. Numba tests a large number of systems and sets options for hardware targets that work in practice, with emphasis first on "works correctly", and second on "is performant".
Whilst I can appreciate the convenience such a flag may provide for a scenario similar to that in https://github.com/numba/llvmlite/pull/684#issuecomment-760889418, I'm not convinced Numba should have a switch for this sort of thing:

End users, and even engineers working on hardware target support, are reasonably unlikely to need or want to alter this, and if they did, chances are they are working on live development versions and know how to deal with it.
Were this functionality implemented it would need to be tested and maintained, I think the burden of doing this far outweighs any minor convenience gained in testing patches to this execution path given how infrequent they occur.
Given Numba's current configuration options, such a low level flag would not really fit as these are predominately driven by use cases presented in practice.

Any maintainers who deal with this feel strongly otherwise?
CC @sklam @esc

I understand your points perfectly.
The "normal" method is to have a way to pass options down to the underlying toolset, without assessing what a user/dev wants to use and what not.

Given Numba's current configuration options, such a low level flag would not really fit as these are predominately driven by use cases presented in practice.

The configuration options look very nice, and are in fact quite low-level.
https://numba.readthedocs.io/en/stable/reference/envvars.html#compilation-options
This here is very close to what I suggest, especially because it is a bit more generic :
https://numba.readthedocs.io/en/stable/reference/envvars.html#envvar-NUMBA_CPU_FEATURES
These settings are passed to LLVM for configuring the compilation target.
To get a list of available options, use the llc commandline tool from LLVM, for example:

llc -march=x86 -mattr=help

A similar generic option, which would allow to pass anything(!) down to llc as a simple string, including "-relocation-model". Kind of:
NUMBA_LLVM_OPTIONS
So, whatever happens in future, anyone (devs, core-devs, maintainers) can quickly pass anything down to the toolset, without patches, compiling etc.
or at least a
NUMBA_RELOCATION_MODEL
which (in my eyes) fits perfectly to all those other options.
(in any way, I can fix this problem for myself with a simple monkey-patch, but i really think this would be a worthy addition. Please feel free to close.)

I understand your points perfectly.
The "normal" method is to have a way to pass options down to the underlying toolset, without assessing what a user/dev wants to use and what not.

Given Numba's current configuration options, such a low level flag would not really fit as these are predominately driven by use cases presented in practice.

The configuration options look very nice, and are in fact quite low-level.
https://numba.readthedocs.io/en/stable/reference/envvars.html#compilation-options
This here is very close to what I suggest, especially because it is a bit more generic :
https://numba.readthedocs.io/en/stable/reference/envvars.html#envvar-NUMBA_CPU_FEATURES
These settings are passed to LLVM for configuring the compilation target.
To get a list of available options, use the llc commandline tool from LLVM, for example:

llc -march=x86 -mattr=help

A similar generic option, which would allow to pass anything(!) down to llc as a simple string, including "-relocation-model". Kind of:
NUMBA_LLVM_OPTIONS
So, whatever happens in future, anyone (devs, core-devs, maintainers) can quickly pass anything down to the toolset, without patches, compiling etc.
or at least a
NUMBA_RELOCATION_MODEL
which (in my eyes) fits perfectly to all those other options.
(in any way, I can fix this problem for myself with a simple monkey-patch, but i really think this would be a worthy addition. Please feel free to close.)


enhancement ignore overcrowded in brpc used by exchange

Proposed changes
Issue Number: close #xxx

Further comments
If this is a relatively large or complex change, kick off the discussion at<EMAIL_ADDRESS>by explaining why you chose the solution you did and what alternatives you considered, etc...

run buildall

(From new machine)TeamCity pipeline, clickbench performance test result:
the sum of best hot time: 47.59 seconds
stream load tsv:          507 seconds loaded<PHONE_NUMBER>9 Bytes, about 140 MB/s
stream load json:         20 seconds loaded<PHONE_NUMBER> Bytes, about 112 MB/s
stream load orc:          65 seconds loaded<PHONE_NUMBER> Bytes, about 16 MB/s
stream load parquet:          30 seconds loaded 861443392 Bytes, about 27 MB/s
insert into select:          29.2 seconds inserted 10000000 Rows, about 342K ops/s
storage size:<PHONE_NUMBER>0 Bytes

already add this feature, so that I will close this PR.


Fix background image loading from url

Wrong path in BackgroundViewModel.UpdateBackgroundImagePath:
Also removed UriToBitmapImageConverter from BackgroundView.

Hi, the project seems dead. Would you please share a packaged version for this pr so I can use it now? It is a really annoying issue.

Package with this fix: https://github.com/Kryeker/StartPage-for-Playnite/releases/tag/v2.12.7


not work on RN 0.42

not work on RN 0.42

has anyone else encountered this problem? I want to use this library but I'm using 41.. will upgrade in a week or two..
Does this happen in android or iOS?

ya idk. it's not working for me either. Not sure the exact specifications of how this works, but I'm having to put an extra 200px bottomMargin on my last element in the KeyboardAwareScrollView's children.

Tested in RN 0.44, still not working.
My solution for now is adding a spacer View component say height: 200 at the end of the KeyboardScrollView


Complete user manual

Codecov Report

Merging #268 (0f09faf) into main (4837711) will not change coverage.
The diff coverage is n/a.

Additional details and impacted files

@@           Coverage Diff           @@
##             main     #268   +/-   ##
=======================================
  Coverage   64.70%   64.70%
=======================================
  Files          35       35
  Lines        2037     2037
  Branches      429      429
=======================================
  Hits         1318     1318
  Misses        605      605
  Partials      114      114


docs: fix getHeader

🔗 Linked issue

❓ Type of change

[x] 📖 Documentation (updates to the documentation, readme, or JSdoc annotations)
[ ] 🐞 Bug fix (a non-breaking change that fixes an issue)
[ ] 👌 Enhancement (improving an existing functionality like performance)
[ ] ✨ New feature (a non-breaking change that adds functionality)
[ ] 🧹 Chore (updates to the build process or auxiliary tools and libraries)
[ ] ⚠ Breaking change (fix or feature that would cause existing functionality to change)

📚 Description

In the getHeader section, the example is given for getRequestHeader where getRequestHeader is already mentioned.

📝 Checklist

[ ] I have linked an issue or discussion.
[ ] I have updated the documentation accordingly.

Thanks for PR. getHeader is an alias for getRequestHeader


Add Drag&Drop to ShaderGraphEditor's texture uniform graph node.

Missing: Cubemap uniform. This is somehow broken, so i could not add a default Cubemap for it...

My bad, i forgot it :/

@MarianoGnu NVM, I really thank you for your work. :)


Oct 12th 2021 - Regulation Innovation SIG Meeting Minutes

Regulation Innovation SIG
Date
Oct 12 2021 - 12pm EST / 5pm GMT
Untracked attendees

Fullname, Affiliation, (optional) GitHub username
...

Meeting notices

FINOS Project leads are responsible for observing the FINOS guidelines for running project meetings. Project maintainers can find additional resources in the FINOS Maintainers Cheatsheet.

All participants in FINOS project meetings are subject to the LF Antitrust Policy, the FINOS Community Code of Conduct and all other FINOS policies.

FINOS meetings involve participation by industry competitors, and it is the intention of FINOS and the Linux Foundation to conduct all of its activities in accordance with applicable antitrust and competition laws. It is therefore extremely important that attendees adhere to meeting agendas, and be aware of, and not participate in, any activities that are prohibited under applicable US state, federal or foreign antitrust and competition laws. Please contact<EMAIL_ADDRESS>with any questions.

FINOS project meetings may be recorded for use solely by the FINOS team for administration purposes. In very limited instances, and with explicit approval, recordings may be made more widely available.

Agenda

[ ] Convene & roll call (5mins)
[ ] Display FINOS Antitrust Policy summary slide
[ ] Review Meeting Notices (see above)
[ ] Approve September 14th meeting minutes
[ ] Explainable AI/ML - Jeremy Bennett & William Jones, Embecosm (20 minutes)
[ ] Regulatory Taxonomy and Ontology Development project update - Taniem Choudhoury (Deutsche Bank), Sarah Sinclair (Change Gap), James Nicholls (Braithwate). (See their presentation at Open Source Strategy London, October 5th 2021) (15 minutes)
[ ] AOB, Q&A & Adjourn (5mins)

Decisions Made

[ ] Decision 1
[ ] Decision 2
[ ] ...

Action Items

[ ] Action 1
[ ] Action 2
[ ] ...

WebEx info

Meeting link: https://finos.webex.com/finos/j.php?MTID=m32d2a1c8dc93ee6d3d6caa2b2e8d12a6
Meeting number:  2702 047 3887
Password: d9kKJPdX5C9
More ways to join:

Join by video system: Dial<EMAIL_ADDRESS>You can also dial <IP_ADDRESS> and enter your meeting number.
Join by phone: +1-415-655-0003 US Toll | +44-20319-88141 UK Toll | Access code: 2702 047 3887

Hi

Hi, Jeremy Bennett, Will Jones and Ian Loveless from Embecosm attending

Hello

Hi. Nick Cook (with AIR). Joined a few minutes late - at 1710 - with apologies.


play.golang.org and go.googlesource.com blocks <IP_ADDRESS>/24

play.golang.org reports:
Unavailable For Legal Reasons

Viewing and/or sharing code snippets is not available in your country for legal reasons. This message might also appear if your country is misdetected. If you believe this is an error, please file an issue.

go.googlesource.com reports:
$ git mail
fatal: remote error: Access Denied (not available from your location)

This net block belongs to a Chinese cloud service provider, and we currently use it as a tunneling service endpoint to access google and beyond.

/cc @broady @bradfitz @FiloSottile
Perhaps this is intended or maybe related to recent domain fronting changes?

Thanks for the clarification and answer @bradfitz!

@bradfitz  but now google has come back to china. there is no need to bock it from china.

@bradfitz @mvdan but now google has come back to china. there is no need to block it from china.

Well, that's not how it works.


Having issues implementing pagination component in custom theme

Describe the bug
Hello DSpace team, it's a pleasure to get in contact.
We're currently using your product for a website we´re working on making a  custom theme for the Angular frontend app.
In the documentation, your team mentions we just have to copy components from the custom theme.
We noticed while working there are a few that aren't in this theme folder and have tried implementing some with the method stated in the documentation but had no luck...
The first component giving us issues is the search filter (app/shared/search/search-filters/search-filter). If we add it to our theme folder and add it to lazy loader it shows blank, just the heading title. Is it possible to customize this component? if so how would we be able to do this?  Or may this be a bug?
The other component that we try to do this same process without luck is the pagination component.
If we add to theme and include in eager file for theme folder it just doesn't work. We apply the same changes to the main component and this issues persists.
Is this possible in the current version?
Best,
To Reproduce
Steps to reproduce the behavior:

Add pagination to custom theme folder
Adjust imports
Import pagination in lazy theme module declarations

Related work
Personal site

We recommend support questions be asked on mailing lists per our Support guidelines: https://wiki.lyrasis.org/display/DSPACE/Support
I see you've already asked this on dspace-community mailing list, so I added an answer there instead. https://groups.google.com/g/dspace-community/c/vu6CyCmI7u8
Closing this ticket as the question was answered on mailing lists.


Staging for version increment automation

Description
This is the staging PR for to execute workflows that auto raise the version increment PR's
Example: https://github.com/prudhvigodithi/anomaly-detection/pull/1
Issues Resolved
Part of: https://github.com/opensearch-project/opensearch-build/issues/1375
From solution: https://github.com/opensearch-project/opensearch-build/issues/1375#issuecomment-1159476686
Related issue: https://github.com/opensearch-project/anomaly-detection/issues/605
By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.
For more information on following Developer Certificate of Origin and signing off your commits, please check here.

Referred old 1.x version increment PR https://github.com/opensearch-project/anomaly-detection/pull/611

@prudhvigodithi It seems like infra isn't actively building 1.4.0. Should that start happening before we continue developing on 1.x set on 1.4.0. For example this branch will continue being unstable with no 1.4.0 JS or common-utils until we either move to a different version or infra starts building 1.4.0 as well.

@prudhvigodithi because we have already bumped 1.x to 1.4, can you rebase to branch 1.3 for a 1.3.5 release? Thanks!

wouldn't moving this branch to 1.3.5 cause issues for the auto version increment plugin since it is based on our version being the same as core for Y branch. Core currently points to 1.4, so based off the effort to make every plugin be the same as core. All plugins should be pointing to 1.4 and we should actively be building 1.4.@prudhvigodithi can you give further clarification on this? Our documentation says that 1.x should point to next minor release which would be 1.4 but this isn't getting built for some reason

Hey 1.x is for next minor version thats true, but any feature, enhancement we push, its should to 1.x and backported to other 1.x (example 1.3) branches (unless the fix or patch is only for 1.3 then the PR should be directly to 1.3 branch).
So @amitgalitz @ohltyler here this version increment task will be added to 1.x and should be backported to 1.3 branch.
Thank you

Hey 1.x is for next minor version thats true, but any feature, enhancement we push, its should to 1.x and backported to other 1.x (example 1.3) branches (unless the fix or patch is only for 1.3 then the PR should be directly to 1.3 branch). So @amitgalitz @ohltyler here this version increment task will be added to 1.x and should be backported to 1.3 branch. Thank you

Understood - thanks for the explanation!


Requirements and tests do not match up

Challenge Record Collection has an issue.
User Agent is: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_11_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/50.0.2661.102 Safari/537.36.
Please describe how to reproduce this issue, and include links to screenshots if possible.
My code:

// Setup
var collection = {
    2548: {
      album: "Slippery When Wet",
      artist: "Bon Jovi",
      tracks: [
        "Let It Rock",
        "You Give Love a Bad Name"
      ]
    },
    2468: {
      album: "1999",
      artist: "Prince",
      tracks: [
        "1999",
        "Little Red Corvette"
      ]
    },
    1245: {
      artist: "Robert Palmer",
      tracks: [ ]
    },
    5439: {
      album: "ABBA Gold"
    }
};
// Keep a copy of the collection for tests
var collectionCopy = JSON.parse(JSON.stringify(collection));

// Only change code below this line
function updateRecords(id, prop, value) {
  if (value !== "" && prop !== "tracks")
    collection[id][prop] = value;
  else if (prop === "tracks" && value !== "")
    collection[id][prop] = [value];
  else if (value === "")
    delete collection[id][prop];

  return collection;
}

// Alter values below to test your code
updateRecords(5439, "artist", "ABBA");

After updateRecords(5439, "tracks", "Take a Chance on Me"), tracks should have "Take a Chance on Me" as the last element.

I assume you want us to push() a track into tracks array. However their is no array for collections[5439]["tracks"] with values to push values into. I end up having to write this hack collection[id][prop] = [value];  in order to pass the tests. But I think you intended us to write this collection[id][prop].push(value);. Easy fix would just be to add an array with some values in it?

@fkingn00bGG yes, that is a correct assumption. You'll need to build that functionality into your function to check for empty arrays. Happy coding!

@erictleung I don't think you understand my meaning. No where in your tests do you test this instruction given. " push the value onto the end of the tracks array."
Instead we are required to create our own array to pass the tests but no where does it say something like "create an array if tracks value is not present"

"If "tracks" is non-existent before you update it, create an empty array before pushing a track to it."
seems clear to me.


API first approach

At the moment the API has swagger configurations but it is an implementation-first approach. This can lead to discrepancies between implementation and swagger documentation.
The API should be build on swagger first and the implementation needs to follow. That guarantees  a consistent documentation and implementation.

Secrets search query is not correct, the query is in the URL in stead of a query param
/namespaces/{ns}/search/secrets/{name:.*}

Overwrite secrets wrong description
"namespace has been successfully overwritten" instead of  "secret has been successfully overwritten"


[WIP]Rectifying testcase failures

Pull Request Test Coverage Report for Build 987

2 of 2 (100.0%)  changed or added relevant lines in 1 file are covered.
No unchanged relevant lines lost coverage.
Overall coverage increased (+0.01%) to 82.114%

Totals

Change from base Build 981:
0.01%

Covered Lines:
2043

Relevant Lines:
2488

💛  - Coveralls


Micronaut 4 Support

Recently Micronaut 4 was released. Unfortunately, Micronaut 4 isn't binary compatible with Micronaut 3 and in order to make it work, it requires a new micronaut-camunda-external-client` compiled with Micronaut 4.

Hi @saw303 ,
happy to hear that you're still using it 👍
I've actually already tried migrating to 4.0 following the instructions on https://micronaut.io/2023/05/09/upgrade-to-micronaut-framework-4-0-0/ and https://micronaut.io/2023/07/14/upgrade-to-micronaut-framework-4-with-openrewrite-and-gradle/ but I was not yet successful.
I just pushed my local branch and created a PR but its failing: #152 . I haven't had the time to look closer. Feel free to contribute :-)

@tobiasschaefer check my PR. IMHO this should work

@saw303 : your PR is merged (thanks for that!) and I created release 3.0.0 which is built with Micronaut 4.
Please try it out and looking forward to a short feedback.

@tobiasschaefer will do. I get back to you tomorrow afternoon. Thanks for merging 👍🏻

There are some issues on Micronaut 4. (This comment is work in progress, as I'm going to collect all my findings here)*
JAXB
Camunda 7 still requires JAXB from the old javax package name.
io.micronaut.context.exceptions.BeanInstantiationException: Error instantiating bean of type  [info.novatec.micronaut.camunda.external.client.feature.ExternalWorkerSubscriptionCreator]

Message: javax/xml/bind/JAXBException

Maybe this one is missing?
runtimeOnly "javax.xml.bind:jaxb-api:2.3.1"

Hi @saw303 ,
I cannot reproduce your issue.
If I start the client at https://github.com/camunda-community-hub/micronaut-camunda-external-client/tree/main/micronaut-camunda-external-client-example running against a server on Micronaut 3 (Micronaut 4 is not yet supported for https://github.com/camunda-community-hub/micronaut-camunda-platform-7) it starts without any issues and processes the external tasks.
I see that we currently have
api("com.sun.xml.bind:jaxb-impl:$jaxbImpl") defined in https://github.com/camunda-community-hub/micronaut-camunda-external-client/blob/main/micronaut-camunda-external-client-feature/build.gradle#L27
whereas this is version 2.3.6 with 2.3.8 (February 2023) also working (strange that dependabot didn't create a PR...). Newer versions (3.x or 4.x) don't work.
Alternatively, this could be
api "javax.xml.bind:jaxb-api:2.3.1" (October 2018) (similar to your suggestion)
From the package name your suggestion looks better but the com.sun.xml.bind dependency is much newer.
I'm unsure if we should use com.sun.xml.bind:jaxb-impl:2.3.8 or javax.xml.bind:jaxb-api:2.3.1. Do you have a clear opinion?


Add Various Symbols to Futures Database (Part 5 / 11)

Description

Adds EI, EMD, EN, EPN, ESK, EVC, EWG, EWN, EXR, F1U, FO, FRC, FSS, GCU, GD, GDK,
GNF, HCL, HG, HH, HP, HRC, HTT, IBV, J7
Note: I have skipped MHDB entries for symbols F1U and GD.
Related Issue

#2991
Motivation and Context

Ongoing completion efforts of the futures database
Requires Documentation Change

No
How Has This Been Tested?

New unit tests
Types of changes

[x] 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)
[x] Non-functional change (xml comments/documentation/etc)

Checklist:

[x] My code follows the code style of this project.
[x] I have read the CONTRIBUTING document.
[x] I have added tests to cover my changes.
[x] All new and existing tests passed.
[x] My branch follows the naming convention bug-<issue#>-<description> or feature-<issue#>-<description>

I can't successfully rebase and keep git happy enough to allow a seamless commit history; For some reason unknown to me, a conflict emerges in FuturesExpiryUtilityFunctions even though both changes do not conflict with each other (on first view). Let me know if this is acceptable


Fix SVG warnings

Just cleaning up the SVG file a little bit to fix all the warnings that flutter always preduces when it shows that picture:

It does not know "mm" as a unit, so I just removed that (that should be pixels now, but it does not matter because we resize it anyways)
All the Inkscape autogenerated stuff cannot be parsed by flutter, so I just removed it.

Github does not show the diff for rich files, you can see the text diff by adding ".diff" to the URL like so:
https://github.com/MOTIS-Mitfahr-App/flutter-app/pull/122.diff


Implement VPCLink resource

Issue #, if available: https://github.com/aws-controllers-k8s/community/issues/1126
Description of changes:
Implements support for creating VPCLink resources in API Gateway.
This is based off the cPu1:resource/rest-api branch and must be reviewed after merging https://github.com/aws-controllers-k8s/apigateway-controller/pull/7.
By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.

/ok-to-test

/retest


Update spf13/viper to v1.8.1 (CVE-2020-26160)

Update spf13/viper to v1.8.1 to address CVE-2020-26160.
The current version of spf13/viper is v1.14.0, but I'm trying to make the minimal change to close this high severity vulnerability.  Please consider taking this change and publishing immediately so that consumers of this project can be cleared of this vulnerability report.
Fixes #11

Hi @liam-verta,
I see that the go.sum still has the following package as a dependency: github.com/dgrijalva/jwt-go v3.2.0.
Looking at the output of go mod graph it looks like the package github.com/spf13/cobra v1.0.0 also has this dependency, as it depends on an older version of viper:
<EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS>
In order to remove this dependency, it looks like cobra needs to be updates as well, at least to the following version:
github.com/spf13/cobra v1.2.0
Would you be able to update the version of cobra (and run go mod tidy after to remove the unused jwt-go v3.2.0 dependency)?
Thank you,
Sharon

@chrismellard  When you have a minute, could you run the workflow on this and merge and release if it looks good?

Thanks @chrismellard for merging 🙏
I see that a new version was not created yet. Would it be possible to release a new version for this fix?
Thanks!


Bug: Key comparer is not preserved in serializing/deserializing immutable collections

Test code:
            var config = new SerializerConfig();
            config.UseImmutableFormatters();

            var s = new CerasSerializer(config);

            var o = ImmutableDictionary<string, int>.Empty.WithComparers(StringComparer.OrdinalIgnoreCase);

            var x = s.Serialize(o);

            var y = s.Deserialize<ImmutableDictionary<string, int>>(x);

            Console.WriteLine(o.KeyComparer.GetType());
            Console.WriteLine(y.KeyComparer.GetType());

Actual output:
System.OrdinalIgnoreCaseComparer
System.Collections.Generic.GenericEqualityComparer`1[System.String]
Expected output:
System.OrdinalIgnoreCaseComparer
System.OrdinalIgnoreCaseComparer

Yep, none of the collection formatters persist the equality comparer.
I guess that's something that should be fixed for some of them.
I think the commonly known types like list, hash set, dictionary,... Should have their  equality comparer saved and restored.
For all others, it is not possible I think.
We can not assume anything about some custom IList implementation.
For those troublesome cases a custom formatter can be written (which is extremely).
For immutable collections I'll count that as a bug as well. I've added it to my Todo list.
Until then, you can use a custom formatter. (let me know if anything is unclear about that :smile:)


Cannot query field "id" on type "token_price".

Chain: cosmos
Prereqs:
bdjuno, cosmos rpc/grpc all working.
bdjuno modules
    chain:
    bech32_prefix: cosmos
    modules:
        - modules
        - messages
        - auth
        - actions
        - pricefeed
        - bank
        - staking
        - distribution
        - gov
        - consensus
        - slashing

pricefeed
pricefeed:
    tokens:
        - name: Atom
          units:
            - denom: uatom
              exponent: 0
            - denom: atom
              exponent: 6
              price_id: cosmos

hasura query

Recreate Issue
cd /root/big-dipper-2.0-cosmos/apps/web-cosmos
yarn run graphql:codegen
Issue
✔ Parse Configuration
⚠ Generate outputs
  ❯ Generate to ./src/graphql/types/general_types.ts
    ✔ Load GraphQL schemas
    ✔ Load GraphQL documents
    ✖ GraphQL Document Validation failed with 1 errors;
      Error 0: Cannot query field "id" on type "token_price".
      at /root/big-dipper-2.0-cosmos/apps/web-cosmos/src/graphql/general/token_price.graphql:3:5

@kw1knode
I have the same problem.
Did you solve the problem?

I have the same problem


Required function is opposite to isNil

Why we haven't opposite function to isNil yet? ;)
And what should I do in this case:
R.pathSatisfies(y => !R.isNil(y), ['x', 'y'], {x: {y: 2}});

Well, it's very easy to write your own:
const notNil = complement(isNil)