InvalidPrimaryKeyAttributesUpdateError when updating attribute in PK and GSI partition key

Hi there,
first of all, thank you very much for this great project and the continuous effort you are putting in.
With one of the last updates you added a new verification that forbids updating attributes that are referenced in a primary key together with attributes that are not contained in a primary key. When trying to do so, I get the following error:
InvalidPrimaryKeyAttributesUpdateError: Primary key attribute and non primary key attributes can not be updated together. When updating attributes that references a primary key, it can not have additional non key attributes.
I understand the policy, however I do not see why this makes sense. It should not matter if an attribute is contained in a primary key or not since typedorm handles key updates "under the hood" and that is one of the major advantages of typedorm to begin with, or isn't it?
However, this leads to another problem that I am unable to solve at the moment. Consider the following Entity:
@Entity({
  name: "user",
  primaryKey: {
    partitionKey: "USER#{{id}}#TENANT#{{tenant}}"
  },
  indexes: {
    GSI1: {
      type: INDEX_TYPE.GSI,
      partitionKey: "USER#TENANT#{{tenant}}#STATUS#{{status}}"
    },
  },
})

As you can see the attribute tenant is referenced in the primary key as well as in the partition key of GSI1. When trying to update like this (updating non primary key attributes only)
.update(
        User,
        {
          id: userId,
          tenant: "mytenant",
        },
        { foo: "bar" }
      )

I always get the error Error: "tenant" was referenced in USER#TENANT#{{tenant}}#STATUS#{{status}} but it's value could not be resolved.
which kind of makes sense because tenant is only in the primary key attributes and not in the update body and so typedorm is unable to generate the new partition key. But it also kind of does not make sense because no attribute referenced in the partition key has changed and so it does not need to be regenerated.
However, if I add tenant like this:
.update(
        User,
        {
          id: userId,
          tenant: "mytenant",
        },
        { foo: "bar", tenant: "mytenant" }
      )

I end up with the InvalidPrimaryKeyAttributesUpdateError from the beginning.
Now consider only updating primary key attributes like this:
.update(
        User,
        {
          id: userId,
          tenant: "mytenant",
        },
        { id: userId, tenant: "newtenant" }
      )

I get the error Error: "status" was referenced in USER#TENANT#{{tenant}}#STATUS#{{status}} but it's value could not be resolved. because typedorm needs to regenerate the partition key. However when adding status I end up with good old InvalidPrimaryKeyAttributesUpdateError again.
So with InvalidPrimaryKeyAttributesUpdateError in place I see no way to update this entity at all. Do you have any thoughts on this? Would it make sense to remove the validation?

Hi @silberistgold
Thank you for the kind words.
At first, there are some limitations to how DynamoDB handles updates, and as per the current impl TypeDORM doesn't do well with updating key and non-key attributes together. Hence, the validation.
Once I have reworked the update logic to handle both key and non-key attribute updates together, validation can be removed.

.update(
User,
{
id: userId,
tenant: "mytenant",
},
{ foo: "bar" }
)
I always get the error Error: "tenant" was referenced in USER#TENANT#{{tenant}}#STATUS#{{status}} but its value could not be resolved.

However, this looks to me like a but within the key resolver, as this is a valid operation and should be allowed. I will investigate.

Hi @silberistgold, following up on the earlier comment, I tried to run a similar update with the given entity definition and I did not see the error you mentioned.
This works for me.

// with given entity
@Entity({
  table: testTable,
  name: 'user',
  primaryKey: {
    partitionKey: 'USER#{{id}}#TENANT#{{tenant}}',
    sortKey: 'USER#{{id}}#TENANT#{{tenant}}',
  },
  indexes: {
    GSI1: {
      type: INDEX_TYPE.GSI,
      partitionKey: 'USER#TENANT#{{tenant}}#STATUS#{{status}}',
      sortKey: 'USER#TENANT#{{tenant}}#STATUS#{{status}}',
    },
  },
})
export class TestEntity {
  @Attribute()
  id: string;

  @Attribute()
  tenant: string;

  @Attribute()
  status: boolean;

  @Attribute()
  foo: 'bar';
}

// while trying to run update
 await entityManager.update(
    TestEntity,
    {
      id: '1',
      tenant: 'NEW_TENANT',
    },
    {
      foo: 'bar',
    }

Will you be able to provide a bit more info on what the attribute definitions look like for your entity?

closing due to inactivity, Feel free to reopen if the issue is existing.

Hi there,
thanks for your response and the test you added. Indeed the test is working. But consider the following:
test('allows updating key-only attributes', async () => {
  dcMock.update.mockReturnValue({promise: () => ({})});

  const updateResponse = await entityManager.update(
    TestEntity,
    {
      id: '1',
      tenant: 'NEW_TENANT',
    },
    {
      id: '2',
      tenant: 'NEW_TENANT',
    }
  );
  expect(updateResponse).toBeDefined();
});

Error:
"status" was referenced in USER#TENANT#{{tenant}}#STATUS#{{status}} but it's value could not be resolved.
If status is added to the body the error is:
InvalidPrimaryKeyAttributesUpdateError: Primary key attribute and non primary key attributes can not be
        updated together. When updating attributes that references a primary key, it can not have
        additional non key attributes.

     Affected Primary key attributes: {"PK":"USER#2#TENANT#NEW_TENANT","SK":"USER#2#TENANT#NEW_TENANT"}

     Tried to update non-key attributes: ["status"]

So as I see it updating non-key attributes works, updating key attributes only does not work (bug) and updating non-key and key attributes together does not work (expected temporarily).


Fix open_mfdataset for list of fsspec files

[x] Closes #9784
[x] Tests added

cc @dcherian

I added type ignores, mypy should have raised earlier as well since the else clause was incorrect, but type inference was probably a bit smarter here. I really don't know enough about mypy to properly troubleshoot this

The type hints are generally incorrect in open_mfdataset (I think) since the fsspec version doesn't produce a string or os.PathLike

The type hints are generally incorrect in open_mfdataset (I think) since the fsspec version doesn't produce a string or os.PathLike

Do you know what this returns? Is it some buffered reader or similar?

No, no clue. Nothing is typed over there and there are so many subclasses out there...
The class AbstractFileSystem implements the open but again not really clear
We typed this as
ReadBuffer[bytes]
`` in pandas, but this is very generic. The implementation lives here: https://github.com/pandas-dev/pandas/blob/ee3c18f51b393893ed6e31214c7be2f9427ce0c9/pandas/_typing.py#L270

OK merging since this fixes a regression. We can followup with typing improvements.


Updated to 1.20.1 to match with Fabric Generator

I have made changes in these types of files for first time. I know that my 2 hours will be wasted as Nerdy will find that this PR is wrong or trash. I just wanted to help. I am not even sure that the PortingLib API is even got updated for 1.20.1 or not I did that from this mod, as this plugin is get updates from here. Nerdy if I did something wrong please do not close this PR instantly (please), let me know if I could be able to fix it?
I know that I wasted my whole 2 hours for no reason. No worries, if you reject this then there will be a issue. ;(

Are you kidding me? All you did was copy everything from 1.19.2, and you didn't even include the fabric essentials API for 1.20.1... If you're going to open a pull request, at least try to test it...

That is what I was thinking, I do not even know where is the PortingLib API for 1.20.1 is...
That is why I included the mod from Curseforge, not from the FoC/Porting-Lib (GitHub) as I saw that the latest branch is upto 1.19.4 and I was doing for the 1.20.1
Sorry if I have wasted your time for reviewing as I already said that This is my first time editing this type of files.

Affernative.


Hacktoberfest 2022

Hello folks, I'm opening this issue to discuss if this repository will participate in the 2022 digital ocean hacktoberfest.
If so, let's review the issues and add the labels/tags for valid contributions.

The labels should already be in place.
Also, feel free to review the issues, unless you are talking about other issues, then please elaborate.

As a rule, Exercism doesn't generally participate in Hacktober fest as it creates more work for maintainers than it creates value for Exercism. If you create PRs that are in line with the repo (ie work on existing issues etc) then we maybe tag them as hacktoberfest-accepted (or whatever the label is nowadays) but unsolicited minor PRs will normally be tagged as invalid. We don't active react out for support so don't had labels to existing issues.
Thanks for checking.


Update stable version in repo from 1.3.12 to 1.4.0

Think about update stable version to 1.4.0
Version: stable=1.3.12 (86 days old) => latest=1.4.0 (15 days old)
Installs: stable=256 (45.07%), latest=73 (12.85%), total=568
Click to use developer portal
Click to edit
Do not close this issue manually as a new issue will be created if condition for update still exists.
Please drop a comment if any reason exists which blocks updating to version 1.4.0 at this time.
Note: This is an automatically generated message and not personally authored by bluefox!
@mcm1957 for evidence

Is there any reason to delay adding this adapter to stable any longer?
Please drop a commit if you know any reason to refrain from adding.
If there is no response until 16.8.2024 we could decide to update anyway.

This issue seems to be outdated.
This issue suggests to update the stable version of this adapter to 1.4.0 but in the meantime an update to version 1.4.1 is suggested.
So this issue will be closed and replaced by an updated one.
@mcm1957 for evidence


Implement search functions

Add search by popularity tag functions, as suggested in #27 .
Whether to use the feature depends on users.
It would be like this:

Coverage increased (+1.4%) to 37.017% when pulling aba55ab33115c4c0f800d80e0bdfbda95e01ea0e on kirainmoe:master into 79efb86256433498a1e9315af23b3e645c2641bb on LoveLiveSunshine:1.x-dev.


Detect state name that served component inside of component

I'm using nested views and angular.component.  Basically:
// /jobs
$stateProvider
	.state({
		name: 'ctk.job',
		url: '/jobs',
		component: 'jobList'
	});

// /jobs/#
$stateProvider
	.state({
		name: 'ctk.job.detail',
		url: '/:jobId',
		component: 'jobDetail'
	});

If I inject $state into both my jobList and jobDetail components, I can determine that $state.$current is 'ctk.job.detail', but I want to determine which state loaded the particular component.  In this case it would be:

jobList: 'ctk.job'
jobDetail: 'ctk.job.detail'

Is it possible to derive this information from $state or is there something else I can inject?

It's undocumented, but you can get the $uiView information off the element.
I think you can inject $element into the component controller, then inspect $element.inheritedData('$uiView')
Note: this $uiView API  is not documented and is subject to change.

Closing because I think the question is answered


SDK can't restore connection after disconnection

SDK can't restore connection after disconnection
package main

import "github.com/manticoresoftware/go-sdk/manticore"
import "fmt"

func main() {
	cl := manticore.NewClient()
	cl.SetServer("<IP_ADDRESS>", 9311)
	_, err := cl.Open()
	if err != nil {
		fmt.Println(err)
	}
	for ;; {
		search := manticore.NewSearch("аватар", "idx_movies", "")
		search.Limit = 10
		res, err := cl.RunQuery(search)
		if err != nil {
			fmt.Println(err)
			continue
		}
		for _, item := range res.Matches {
			fmt.Println(item.Attrs[0])
		}
	}
}

Just run this sample, make sure the results start showing up and restart manticore after few seconds. The connection will not be restored and the program will continue to give an error (write tcp <IP_ADDRESS>:49914-><IP_ADDRESS>:9311: write: broken pipe) despite the fact that the Manticore is already available

I'm not a go developer, but curious: is it different in case of other databases? E.g. mysql, elasticsearch? I mean it is it a common practice at all to restore a connection?

@sanikolaev the same example with using MySQL driver works as expected (driver not closes connection after error):
package main

import (
	"database/sql"
	"fmt"
	_ "github.com/go-sql-driver/mysql"
	"log"
)

func main() {
	db, err := sql.Open("mysql", "tcp(<IP_ADDRESS>:9366)/")
	if err != nil {
		panic(err)
	}
	defer db.Close()

	for ;; {
		results, err := db.Query("SELECT name FROM idx_movies WHERE MATCH('аватар') limit 10 offset 0")
		if err != nil {
			fmt.Println(err)
			continue
		}
		for results.Next() {
			var name string
			_ = results.Scan(&name)
			log.Printf(name)
		}
	}
}

@sanikolaev database/sql opens new connection if driver returns driver.ErrBadConn after two attempts. https://github.com/golang/go/blob/master/src/database/sql/sql.go#L1716


Update README to include information related to styling

@yashshah12 whoops! this should be against the next branch next time please. in fact all your dev should be against the next branch on this repo for now since v4 is still in beta. i went ahead and cherry picked the commits over to that branch, but just fyi for next time

Awesome thanks!


Undefined property: stdClass::$actions at /vendor/mollie/laravel-cashier-mollie/src/FirstPayment/FirstPaymentHandler.php:103

I'm getting this issue using v2.9.0 on the log
this happens right after/some seconds after the recurring payment runs (Cashier::run();) especially the recurring payments of SEPA payments

Hi @handhikadj,
could you parse the whole error log please?

Closing this for now, let me know if it should be reopened.

I'm also having this issue, with 2.9.0 and 2.10.0.
I'm currently looking for the reason when stumbling on this ticket. I've tracked it down to FirstPaymentHandler::extractActions()

One update, not a solution though. But perhaps an answer for @handhikadj. Check the comments in the else
    // \Laravel\Cashier\FirstPayment\FirstPaymentHandler
    protected function extractActions()
    {
        $payment = Cashier::$paymentModel::findByPaymentId($this->molliePayment->id);

        \Illuminate\Support\Facades\Log::channel('mollie')->info('payment', ['payment model' => $payment->first_payment_actions]);

        if (isset($payment) && ! is_null($payment->first_payment_actions)) {
            $actions = $payment->first_payment_actions;
        } else {
            // When developing in test mode, and also resetting the database with a high frequency, it's possible that you get callbacks
            // from Mollie that can't be found in the database. In that case $this->molliePayment->metadata does not exist.
            $actions = $this->molliePayment->metadata->actions;
        }

        return collect($actions)->map(function ($actionMeta) {
            return $actionMeta->handler::createFromPayload(
                object_to_array_recursive($actionMeta),
                $this->owner
            );
        });
    }

One update, not a solution though. But perhaps an answer for @handhikadj.
When \Laravel\Cashier\FirstPayment\FirstPaymentHandler::extractActions() is called metadata doesn't exist if the code runs due to a Mollie callback for a Payment that is removed from the database because of testing, debugging, migrate:fresh or stuff like that. That's an explanation for the "Undefined property: stdClass::$actions" message.
In my case, the Subscription model is still not created. But I guess that's an other issue/ticket. I'll create one for it.

Good point @jivanrij. So the error only popped up in your local env?!

Will close this for now. If anyone can offer more details to this please let me know!


"Screencast mode" shows letters incorrectly when typing using Accessibility tools (like robotjs)

Version: 1.42.0-insider
Commit: c4d53a19df8799f5d49a4f49a6900c499e6fa27c
Date: 2020-01-23T05:38:55.065Z
Electron: 7.1.7
Chrome: 78.0.3904.130
Node.js: 12.8.1
V8: 7.8.279.23-electron.0
OS: Darwin x64 19.0.0
Steps to Reproduce:

Turn on "Screencast Mode"
Use a remote keyboard controller app or https://github.com/octalmage/robotjs
Type CMD + A, then unselect or type A a couple of times
Now writing any letter with robotjs, will be typed correctly in editor but shown incorrectly as letter A in screencast mode.

Using KeyCastr you can see the bug demonstrated:

Does this issue occur when all extensions are disabled?: Yes
Tested on another machine and the same as well.

@lszomoru I am fine with closing this as out of scope (from the accessibility point of view)


Support for Fahrenheit

Functions can be introduced to convert Fahrenheit to Celsius and vice versa. getTemperature function could have a parameter to return temperature in Fahrenheit or Celsius.
I was working with the library for a project so came across these changes.

I would like to work on this.


Get Certification by Certification ID

Description
GET endpoint for getting certification data by certification id.
Type

[ ] This is a bugfix.
[ ] This is a new feature.
[x] This is part of a feature.

Organization

[ ] Have you linked this pull request to a Trello card?
[ ] Have you named the branch in the format of feature/describe_feature_or_change OR bug/describe_bug_this_is_fixing

Review

[ ] Is this a work in progress?
[x]  Is this ready to be reviewed?
[ ]  Have you added two reviewers to this pull request?

 GET/{certificationID} - return one certification

 GET/{certificationID} - return one certification


This library does not support 64bit

The library uses an old version of sqlcipher which is not compatible with 64bit.
Any plans to fix this?

I also encountered this issue when uploading my app to the Google Play Console, and was met with the error:
This release is not compliant with the Google Play 64-bit requirement.
The following APKs or app bundles are available to 64-bit devices, but they only have 32-bit native code:

After much digging, I realised the issue was ResearchStack transitively introducing a dependency on an old version of sqlcipher. I don't need sqlcipher in my project (I only use ResearchStack for the questionnaire UI), so I solved the problem by removing the sqlcipher dependency, like so:
implementation('org.researchstack:backbone:1.1.2') {
        // Zenetic sqlcipher is unused, and introduces incompatible 32-bit native code
        exclude group: 'net.zetetic'
    }

If you are using an encrypted database via ResearchStack, this option may unfortunately not be available to you.

I also encountered this issue when uploading my app to the Google Play Console, and was met with the error:
This release is not compliant with the Google Play 64-bit requirement.
The following APKs or app bundles are available to 64-bit devices, but they only have 32-bit native code:

After much digging, I realised the issue was ResearchStack transitively introducing a dependency on an old version of sqlcipher. I don't need sqlcipher in my project (I only use ResearchStack for the questionnaire UI), so I solved the problem by removing the sqlcipher dependency, like so:
implementation('org.researchstack:backbone:1.1.2') {
        // Zenetic sqlcipher is unused, and introduces incompatible 32-bit native code
        exclude group: 'net.zetetic'
    }

If you are using an encrypted database via ResearchStack, this option may unfortunately not be available to you.

If you do need sqlcipher, you could add the following override to your build gradle file to get the 64-bit version:
implementation 'net.zetetic:android-database-sqlcipher:4.2.0'
Sent with ProtonMail Secure Email.
‐‐‐‐‐‐‐ Original Message ‐‐‐‐‐‐‐
On Friday, 8 January 2021 14:26, InnoLuke<EMAIL_ADDRESS>wrote:

I also encountered this issue when uploading my app to the Google Play Console, and was met with the error:
This release is not compliant with the Google Play 64-bit requirement.
The following APKs or app bundles are available to 64-bit devices, but they only have 32-bit native code:
After much digging, I realised the issue was ResearchStack transitively introducing a dependency on an old version of sqlcipher. I don't need sqlcipher in my project (I only use ResearchStack for the questionnaire UI), so I solved the problem by removing the sqlcipher dependency, like so:get get
implementation('org.researchstack:backbone:1.1.2') {
// Zenetic sqlcipher is unused, and introduces incompatible 32-bit native code
exclude group: 'net.zetetic'
}
If you are using an encrypted database via ResearchStack, this option may unfortunately not be available to you.
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub, or unsubscribe.

If you do need sqlcipher, you could add the following override to your build gradle file to get the 64-bit version:
implementation 'net.zetetic:android-database-sqlcipher:4.2.0'
Sent with ProtonMail Secure Email.
‐‐‐‐‐‐‐ Original Message ‐‐‐‐‐‐‐
On Friday, 8 January 2021 14:26, InnoLuke<EMAIL_ADDRESS>wrote:

I also encountered this issue when uploading my app to the Google Play Console, and was met with the error:
This release is not compliant with the Google Play 64-bit requirement.
The following APKs or app bundles are available to 64-bit devices, but they only have 32-bit native code:
After much digging, I realised the issue was ResearchStack transitively introducing a dependency on an old version of sqlcipher. I don't need sqlcipher in my project (I only use ResearchStack for the questionnaire UI), so I solved the problem by removing the sqlcipher dependency, like so:get get
implementation('org.researchstack:backbone:1.1.2') {
// Zenetic sqlcipher is unused, and introduces incompatible 32-bit native code
exclude group: 'net.zetetic'
}
If you are using an encrypted database via ResearchStack, this option may unfortunately not be available to you.
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub, or unsubscribe.


Feature Request: SSO Group assignment

When Control Tower creates a new account, it will assign three SSO Groups to it – AWSSecurityAuditors, AWSSecurityAuditPowerUsers, and AWSControlTowerAdmins. The permission sets assigned to the new account vary a little, but except for the core accounts, they are AWSReadOnlyAccess, AWSPowerUserAccess, and AWSOrganizationsFullAccess, respectively. In addition to this, the SSO User is of course given AWSSystemAdministrator access.
This means that any other groups will have to be assigned manually. AFT could come to the rescue here and supply the last missing piece of account management.
In addition to the account_tags, change_parameters, and custom_fields parameters, I propose a new additional_sso_groups parameter, e.g.:
    additional_sso_groups = {
        "Foos" = "SomePermissionSet"
        "Bars" = "AnotherPermissionSet"
    }

This would add the SSO Groups Foos and Bars to the standard three for the account in question, with the given Permission Sets.
SSO Users could also be specified this way, but I doubt that it would be as useful as SSO Group assignments. SSO User assignment is somewhat of an anti-pattern anyway.
Implementation is easy and would use the sso-admin API endpoints create-account-assignment and delete-account-assignment to manage the additional SSO Groups to be added to the account (in addition to the standard three which would always be there).

It just struck me that the syntax would have to specify not only the SSO Group but also which Permission Set to use. Thus:
    additional_sso_groups = {
        "Foo" = "SomePermissionSet"
        "Bar" = "AnotherPermissionSet"
    }

Thanks for the feature request here @PeterBengtson, I've gone ahead and opened a backlog to approach this for the team

Hi
Yes, that would be definitely nice feature to have, for now I have TF in aft-global-customizations repo to assign AdministratorAccess for our SSO ORG-Admins Group on every AFT enrolled account

@abelomestny - Would you possibly be able to share how you've done this so far please?

Hi @andy-townsend
`data "aws_ssoadmin_instances" "example" {}
data "aws_ssoadmin_permission_set" "admin" {
instance_arn = tolist(data.aws_ssoadmin_instances.example.arns)[0]
name         = "AWSAdministratorAccess"
}
data "aws_identitystore_group" "tsg_aws_org_admins" {
identity_store_id = tolist(data.aws_ssoadmin_instances.example.identity_store_ids)[0]
filter {
attribute_path  = "DisplayName"
attribute_value = "<Your_ORG_Admin_SSO_Group_Name>"
}
}
resource "aws_ssoadmin_account_assignment" "org_admins" {
instance_arn       = data.aws_ssoadmin_permission_set.admin.instance_arn
permission_set_arn = data.aws_ssoadmin_permission_set.admin.arn
principal_id   = data.aws_identitystore_group.tsg_aws_org_admins.group_id
principal_type = "GROUP"
target_id   = var.target_account
target_type = "AWS_ACCOUNT"
}`
this is in /terraform/modules/permission-set/main.tf
the only var I'm passing for this task is <target_account> = $VENDED_ACCOUNT_ID which you have as env var in your CodeBuild. Also make sure your role has permission to execute sso:ListInstances task

Great, thanks @abelomestny
In terms of the role, is that the AWSAFTAdmin or AWSAFTExecution one that needs updating if this is running in the global-customisations repo? From what I can see, AWSAFTExecution has : and the AWSAFTAdmin simply has permissions to assume that execution role within the account?

it is AWSAFTExecution
I defined CT_EXEC_ROLE_ARN in buildspecs template modules/aft-customizations/buildspecs/aft-global-customizations-terraform.yml

then reassigned for aft-provider.jinja target_admin_role_arn=$VENDED_EXEC_ROLE_ARN into  target_admin_role_arn=$CT_EXEC_ROLE_ARN

I'm interested in doing something similar. @abelomestny does that mean you run your own fork of AFT to accomodate the change?

Hey @terbolous
I can not fork it since the target repo has to be Private one within our ORG. That's why I can't refer to the code here directly :-)
But I have cloned it within our ORG and set up upstream repo to aws-ia, so I can easily commit my changes and should be able to catch up with any releases aws-ia would have from upstream repo.

...

this is in /terraform/modules/permission-set/main.tf the only var I'm passing for this task is <target_account> = $VENDED_ACCOUNT_ID which you have as env var in your CodeBuild. Also make sure your role has permission to execute sso:ListInstances task

I'm wondering, where can I add/alter the env vars in CodeBuild after AFT initial deployment? So you cloned your version and altered the codepipeline source ".terraform/modules/aft/modules/aft-customizations/buildspecs/aft-create-pipeline.yml" for that?

As the OP of this request, I'm checking in after a few months to see whether anything has happened to this proposed feature.
I'd also like to point out that the assignment of permission sets is more complicated if SSO delegation has been enabled, for instance to the AFT management account. If this is done, then the SSO behaviour of refusing any assignment of any permission set already assigned from the main account will become a problem. And Control Tower as well as AFT, as it uses Service Catalog, will assign the aforementioned three permission sets - AWSSecurityAuditors, AWSSecurityAuditPowerUsers, and AWSControlTowerAdmins - to a newly created account. And this means that those permission sets can never be used from the AFT account.
I need to solve the automation problem right now. I can't afford to wait any longer. Unless this feature is soon to be released, the only workaround is to create a SQS-triggered lambda in the main org account which can be used from an AFT customisation. I've just confirmed with AWS that this is the only way it can be done when delegation is used.

I couldn't wait any longer. Here's my generalised solution:
https://github.com/PeterBengtson/AFT-SSO-account-configuration

@balltrev - Can I ask where this sits on the teams backlog please? It's over a year now since it was first raised and I'm hoping to achieve this feature natively rather than rely on adding additional sam projects. If we could get an indication of when its likely to be ready then that'd be great.

https://github.com/aws-ia/terraform-aws-control_tower_account_factory/issues/91
@andy-townsend unfortunately we do not have any update on this feature request.

this is an old issue with several workarounds, I'd like to share a workaround I'm using that doesn't require a fork of the module which might be easier for people to plug in.
in aft-global-customizations change aft-providers.jinja to the following:
## Auto generated providers.tf ##
## Updated on: {{ timestamp }} ##

locals {
  default_tags = {
    # put your default tags here
    managed_by = "AFT"
  }
}

provider "aws" {
  region = "{{ provider_region }}"
  assume_role {
    role_arn = "{{ target_admin_role_arn }}"
  }
  default_tags {
    tags = local.default_tags
  }
}

provider "aws" {
  alias  = "aft_management"
  region = "{{ provider_region }}"
  assume_role {
    role_arn = "{{ aft_admin_role_arn }}"
  }
  default_tags {
    tags = local.default_tags
  }
}

data "aws_ssm_parameter" "ct_management_account_id" {
  provider = aws.aft_management

  name = "/aft/account/ct-management/account-id"
}

provider "aws" {
  alias  = "ct_management"
  region = "{{ provider_region }}"
  assume_role {
    role_arn = "arn:aws:iam::${data.aws_ssm_parameter.ct_management_account_id.value}:role/AWSAFTExecution"
  }
  default_tags {
    tags = local.default_tags
  }
}

note: if {{ provider_region }} is different to your AWS SSO region in the CT management account then you will need to hard-code this into the ct_management aws provider or store the region as an SSM parameter and pull it via a data source the same as how the ct management account id is retrieved.

you can then use the ct_management aws provider to deploy AWS SSO Terraform resources.
here's an example that I'm using to automatically assign a group I created called AWSAdministratorAccess
# example main.tf

data "aws_caller_identity" "current" {}

data "aws_ssoadmin_instances" "this" {
  provider = aws.ct_management
}

data "aws_ssoadmin_permission_set" "aws_administrator_access" {
  provider = aws.ct_management

  instance_arn = tolist(data.aws_ssoadmin_instances.this.arns)[0]
  name         = "AWSAdministratorAccess"
}

data "aws_identitystore_group" "aws_administrator_access" {
  provider = aws.ct_management

  identity_store_id = tolist(data.aws_ssoadmin_instances.this.identity_store_ids)[0]

  alternate_identifier {
    unique_attribute {
      attribute_path  = "DisplayName"
      attribute_value = "AWSAdministratorAccess"
    }
  }
}

resource "aws_ssoadmin_account_assignment" "aws_administrator_access" {
  provider = aws.ct_management

  instance_arn       = tolist(data.aws_ssoadmin_instances.this.arns)[0]
  permission_set_arn = data.aws_ssoadmin_permission_set.aws_administrator_access.arn

  principal_id   = data.aws_identitystore_group.aws_administrator_access.group_id
  principal_type = "GROUP"

  target_id   = data.aws_caller_identity.current.account_id
  target_type = "AWS_ACCOUNT"
}

I hope this helps someone! IMO this is a fine workaround and I'm wondering if this should be documented as I think this is a pretty common use case.


Ampersand must be inside string

Ampersand must be inside of string so the subshell won't exit and the user can continue using the main shell. Otherwise the installation can/will break and stay as a deamon.
FYI @wingatekr

I did a test with two brand new EC2 instances with Ubuntu 20.04 LTS.
Version sudo bash -c './keptn-in-a-box.sh &' is the one that works.
Version sudo bash -c './keptn-in-a-box.sh' & gets stuck during the installation procedure.
This is the last log output I see before it gets stuck
[Keptn-In-A-Box|INFO] [2021-04-15 11:50:44] |============ Installing Docker and J Query ============
[Keptn-In-A-Box|INFO] [2021-04-15 11:50:44] |______________________________________________________________________
[Keptn-In-A-Box|INFO] [2021-04-15 11:50:44] |>->-> Install J Query <-<-<|

WARNING: apt does not have a stable CLI interface. Use with caution in scripts.

Reading package lists...
Building dependency tree...
                           Reading state information...
                                                       The following additional packages will be installed:
                                                                                libjq1 libonig5
                                                                                The following NEW packages will be installed:
                                                                                jq libjq1 libonig5
                                                                                0 upgraded, 3 newly installed, 0 to remove and 61 not upgraded.
                                                Need to get 313 kB of archives.
                                                                               After this operation, 1062 kB of additional disk space will be used.
                                                                                Get:1 http://eu-central-1.ec2.archive.ubuntu.com/ubuntu focal/universe amd64 libonig5 amd64 6.9.4-1 [142 kB]
                                                   Get:2 http://eu-central-1.ec2.archive.ubuntu.com/ubuntu focal-updates/universe amd64 libjq1 amd64 1.6-1ubuntu<IP_ADDRESS> [121 kB]
                                                                                Get:3 http://eu-central-1.ec2.archive.ubuntu.com/ubuntu focal-updates/universe amd64 jq amd64 1.6-1ubuntu<IP_ADDRESS> [50.2 kB]
                                                                                Fetched 313 kB in 0s (13.6 MB/s)
Selecting previously unselected package libonig5:amd64.

                       Preparing to unpack .../libonig5_6.9.4-1_amd64.deb ...
                                                                             Unpacking libonig5:amd64 (6.9.4-1) ...
                                                                                Selecting previously unselected package libjq1:amd64.
                                                                                Preparing to unpack .../libjq1_1.6-1ubuntu<IP_ADDRESS>_amd64.deb ...
                             Unpacking libjq1:amd64 (1.6-1ubuntu<IP_ADDRESS>) ...
                                                                              Selecting previously unselected package jq.
                                                                                Preparing to unpack .../jq_1.6-1ubuntu<IP_ADDRESS>_amd64.deb ...
                                                                                Unpacking jq (1.6-1ubuntu<IP_ADDRESS>) ...
                 Setting up libonig5:amd64 (6.9.4-1) ...
                                                        Setting up libjq1:amd64 (1.6-1ubuntu<IP_ADDRESS>) ...
                                                                                Setting up jq (1.6-1ubuntu<IP_ADDRESS>) ...
                                                                                Processing triggers for man-db (2.9.1-1) ...
Processing triggers for libc-bin (2.31-0ubuntu9.2) ...
Waiting for data... (interrupt to abort)

Therefore I am merging this change.


Pinned workflow to python 3.9

Poetry has issues with with python 3.10 so I need to pin the
workflow to 3.9

Codecov Report

Merging #13 (28759e7) into main (e5b9c21) will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##             main      #13   +/-   ##
=======================================
  Coverage   95.71%   95.71%
=======================================
  Files           8        8
  Lines         257      257
  Branches       42       42
=======================================
  Hits          246      246
  Misses          9        9
  Partials        2        2

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 e5b9c21...28759e7. Read the comment docs.


refactor: random_block(s) function

Closes #10457
Implementation Details:

created new struct BlockParams used to pass arguments for random block generation
refactored both random_block (generates one block) + random_block_range functions to use new struct (could've been done separately, but decided to combine both since they were so similar)

superseded by https://github.com/paradigmxyz/reth/pull/10563


add doc for import ocp311 dashboards.

ref: https://github.com/stolostron/backlog/issues/19120 and https://github.com/stolostron/backlog/issues/13360
Signed-off-by: morvencao<EMAIL_ADDRESS>

/test test-e2e

/test test-e2e

/test test-e2e

/test test-e2e

@clyang82 PTAL

ref: https://github.com/stolostron/backlog/issues/19065


Crash on rebuilding XCI with no game_info.ini

Upon attempting to rebuild a XCI from root.hfs0, if there is no game_info.ini file, the program will warn that it will randomize values, then crash.

Looking at the code, it seems a variable is never initialized before calling Program,Rand, which causes the crash


The "Label" part doesn't seem to have a transparent background that is consistent with the design when using a dark theme

Bug type
Component
Component name
MudTextField in EditForm
What happened?

Expected behavior
I would like the red highlights to have a transparent background consistent with the form elements in the dark theme
Reproduction link
https://try.mudblazor.com/snippet
Reproduction steps

Sign In

            @L["Enter your credentials to get started."]

        <MudItem md="6" xs="12">
            <MudButton Href="/users/self-register" StartIcon="@Icons.Material.Filled.AppRegistration">@L["Register?"]</MudButton>
        </MudItem>
        <MudItem Class="d-flex justify-end" md="6" xs="12">
            <MudButton Href="/account/forgot-password" StartIcon="@Icons.Material.Filled.LockReset">@L["Forgot password?"]</MudButton>
        </MudItem>
        <MudItem Class="d-flex justify-center" xs="12">
            <MudButton ButtonType="ButtonType.Submit" Class="rounded-pill" Color="Color.Primary" Disabled="BusySubmitting"
                       FullWidth="true" Size="Size.Large"<EMAIL_ADDRESS>Variant="Variant.Filled">
                @L["Sign In"]
            </MudButton>
        </MudItem>
        <MudItem xs="12">
            <MudButton OnClick="FillAdministratorCredentials" StartIcon="@Icons.Material.Filled.Password">@L["Fill Administrator Credentials"]</MudButton>
        </MudItem>
    </MudGrid>
</EditForm>

Relevant log output
No response
Version (bug)
6.2.5
Version (working)
No response
What browsers are you seeing the problem on?
Chrome, Microsoft Edge
On what operating system are you experiencing the issue?
Windows, Mac OSX, Linux, iOS, Android
Pull Request

[ ] I would like to do a Pull Request

Code of Conduct

[X] I agree to follow this project's Code of Conduct

Does anybody figure it out?
When I override the mud-input-label class with transparent background the line is showing in the back. Is there a way to get the background color of the input?
currentColor and inherit doesn't work.

@borislavnnikolov, yes, the input would need to be rewritten with <fieldset> and <legend> element that provides the desired visual just like MUI has it https://mui.com/material-ui/react-text-field/
As this is a community open-source project, and the core team is mainly focused on fixing bugs and providing assistance, the best way to see this resolved is to do a PR.


Exceptions inside CommandOutcomes are not reported by Bootique

This is a 0.23-only problem that is a result of #25. Currently Bootoque.exec(..) stopped printing stack traces of exceptions coming inside CommandOutcome objects from commands (such as Liquibase UpdateCommand). I guess we do need to report such exceptions via BootLogger.stderr.
Also this raises a question of null or incomplete "message" properties in CommandOutcome produced by  Liquibase UpdateCommand (and maybe other commands).

Another example from bootique-jersey. I created an incorrect configuration:
jersey:
  # missing leading slash in urlPattern
  urlPattern: api

The app died with no indication what so ever as to what went wrong:
INFO i.b.j.s.ServerFactory: Adding listener io.bootique.jetty.servlet.DefaultServletEnvironment
INFO i.b.j.s.ServletFactory: Adding servlet 'jersey' mapped to api
INFO i.b.j.s.FilterFactory: Adding filter 'bootiqueShiro' mapped to /*
INFO i.b.j.s.ServerLifecycleLogger: Starting jetty...
INFO o.e.j.server.Server: jetty-9.3.6.v20151106
INFO o.e.j.s.ServerConnector: Started ServerConnector@44f9779c{HTTP/1.1,[http/1.1]}{<IP_ADDRESS>:8080}
Error running command '-s -c app.yml'

Another subtle improvement - when an exception or its cause is a BootiqueException, we should avoid logging stack trace (BootiqueException's message and error code are important; its location is irrelevant). Fixed per 1cf36b0.


Adds missing pt_BR strings

This pull request adds some missing strings for the pt_BR locale.

Thank you @DeehSlash very much for these updates translations. Will merge in now ready for the next release.


design issue (layout)

Steps to re-produce this issue:

Go to "https://seleniumhq.github.io/docs/guidelines.html#fresh_browser_per_test"/
Now go to bottom
Last Table of contents "Fresh browser per test " is not showing at the bottom.

Tried to reproduce but could not, perhaps it was fixed in a previous commit.


[Evaluator] GitHub repository metadata extraction fails

Bug description:
The FAIR evaluator tool fails to extract metadata from my GitHub repository.
To reproduce:

Install OEB FAIRsoft Evaluator

Grant the required read/write permissions for all repositories.

Go to the FAIRsoft evaluator app
In Step 1, select 'GitHub repository' as the metadata source
Enter the URL: 'https://github.com/inab/FAIRsoft_indicators' (or a fork, e.g., 'https://github.com/abnerbog/FAIRsoft_indicators')

This was repeated with multiple GitHub repositories in my workspace and resulted in the same error.

Error message:

Environment:
Device: Dell laptop (x64)
OS: Windows 11 Pro
Browser: Google Chrome

Hello,
Thank you for reporting this issue.
I have restarted the API responsible for the problem, and it appears to be working correctly now. Could you please check on your end and let us know if you encounter any further issues?
Thank you!

Thanks for the reply ! The metadata extraction (and subsequent steps) using the GitHub URL works correctly now.
Will make a new issue if we encounter any other problems. Thanks again for building this tool !

Hello,
I'd like to reopen this issue as I am now encountering the same bug with the FAIRsoft Evaluator tool. The tool fails when attempting to extract metadata using a GitHub URL as input (e.g., 'https://github.com/inab/FAIRsoft_indicators' or 'https://github.com/abnerbog/FAIRsoft_indicators'). The environment I am using remains the same as described in the initial issue.
Thank you again for your assistance here!

Hello,
Thank you for bringing this issue to our attention. The API handling GitHub authentication had crashed due to a function that was not handling errors as it should have. The API is now back up and running, and I will be improving the error handling to prevent similar issues from occurring in the future.  I apologize for any inconvenience this may have caused.
Additionally, I want to inform you about an update happening this weekend. Based on user feedback, we understand that some users prefer not to grant apps write permissions. To accommodate this, we are splitting the functionality into two separate GitHub Apps—one with read-only permissions and one with write permissions. This way, you can choose the option that best fits your needs.
We are also adding logging to the indicator results to provide better insights into where the results originate from, and the possibility to export a citation .cff file directly from the interface.
Thanks!
Eva

Eva, thank you for your prompt and detailed response, and for restarting the API! The update to split read-only and write permissions in the evaluator tool is also very helpful to know. I’m currently reviewing the endpoints in the metadata extractor and believe this will be quite valuable moving forward. I may have additional questions about integrating these apps into the evaluator tool, which I would raise in a separate issue.
Thanks again for your continued work on this excellent tool!
Abner

Hi Eva!
I am reopening this issue as the tool is currently hanging on the metadata extraction step using a GitHub URL as input.

The server is up and running, so I close this issue.

Apologies for all the comments on this issue thread ! For some reason the tool is not running and I am seeing the below error message again when attempting to extract metadata from the repository https://github.com/inab/oeb-visualizations :

The server was down earlier 😣, but it’s back up and running now. Thanks for your patience! If the problem recurs, feel free to open a new issue.


Globally configurable bucketing strategy

Today, the default bucketing strategy is hard-coded (with a module attribute) to Peep.Buckets.Exponential. If we want to override it, we need to pass a reporter_option in each distribution (unless I'm mistaken?).
Could we have this as a top-level config item, that if unset defaults to Peep.Buckets.Exponential?

If we want to override it, we need to pass a reporter_option in each distribution (unless I'm mistaken?).

That's correct.

Could we have this as a top-level config item, that if unset defaults to Peep.Buckets.Exponential?

I think so!
Adding the option to Peep.Options is straightforward, as is validating whether the passed in module implements the Peep.Buckets behaviour when starting Peep (using function_exported?/3). The trick will be reading the configured option in Peep.Storage.Atomics.new/1, which can be called by any BEAM process. Since Peep.Storage.Atomics.new/1 is only called on the first increment to any distribution metric, one might not need to resort to something like storing a %Peep.Options in :persistent_term, and it might be acceptable to instead expose the options via a call to the Peep GenServer.
I would be happy to review and accept this as a contribution, or I could try implementing it myself when I have the bandwidth.

Thank you! I will try to see if I can implement this and push as a PR. I'm excited to contribute to this project.

Check https://github.com/rkallos/peep/pull/21 I just use Application.compile_env/3 since such configuration wouldn't change at runtime, most likely.
I would wait until people ask for such behaviour.


Path Observer splits the property/expression incorrectly for observation

The Path Observer tries to split the propertyName using "." (dot) and then use that with the observerLocator to look for observers.
https://github.com/aurelia/validation/blob/425840323d4e41917ef83e3ef13dc653ad7bb489/src/path-observer.js#L4
Because of that you can't define validation properties that include array elements:
.ensure('List["A.B.C.D"].Value').
Binding to such an expression is valid when used in a view but fails when used in validation.

Good catch, we need to refactor this code to re-use the binding system anyway so leaving this open for now as a reminder about dots.

Thanks for submitting this / commenting on this.  At this time we are closing this because we have completely re-written and are deprecating the previous feature set.  If you feel this should be re-opened please feel free to review this blog post and submit either again on this repository, or on the new validatejs bridge repository
Thanks again!


No golang build in the actions?

Describe the problem
It'd be nice to be able to download the binary from the releases
Running the exporter
It's a pain! I had to compile it myself
Question
Would you accept a PR that would add a binary build into the actions? Or some sort of release process?

@evolvedlight Sorry for the late reply. It sounds good to me, PR is always welcome.

Thanks!

Thanks @git-hulk , looks like it's working as expected now.


why don't we find more viruses?

An open question: could it be that the large pool of peptides that has 'root' as its lowest common ancestor (LCA) is somewhat biased? here's a tought experiment: if viruses affect humans, animals, bacteria (phages), it could well be that the proteins of a given virus are annotated both as coming from the virus and from their host; the latter are actual false taxonomic assignments, but as soon as a peptide is found both in a virus and one of its hosts, the peptide becomes marked as 'root'. We could do a screening to see if this problem can be remedied. Can we spot these wrong annotations? Correct them automatically, or take them into account during the LCA computation?
see also

#329

literature

Dulith BE (2014). Virus discovery by metagenomics: the (im)possibilities. Frontiers in Microbiology
virome

Original issue by @pdawyndt on Thu May 15 2014 at 00:38.

Isn't this mostly due to the small size of viral genomes? If the genome is 500 (?) times smaller, aren't the odds to pick up viral peptides equally reduced?
Original comment by @bmesuere on Mon Jun 09 2014 at 22:03.


fix(deps): remove vulnerabilities

gh-27
Description
Fixed vulnerability:
ejs <3.1.7
Severity: high
Template injection in ejs - https://github.com/advisories/GHSA-phwq-j96m-2c2q
Fixes #27
Type of change
Please delete options that are not relevant.

[ ] 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)
[ ] Intermediate change (work in progress)

Checklist:

[ ] Performed a self-review of my own code
[ ] npm test passes on your machine
[ ] New tests added or existing tests modified to cover all changes
[ ] Code conforms with the style guide
[ ] API Documentation in code was updated
[ ] Any dependent changes have been merged and published in downstream modules

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

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


Escrow Example

Added Escrow contract, Transaction class for Escrow & Escrow Invocation program

@gsmachado @mialbu please review my commit. I tested it and it works as expected.

@mialbu I've made all the other requested changes. Please review and approve! 😄


[Service Bus] Smoke tests failed for service-bus - Resources missing

Smoke tests failed - https://dev.azure.com/azure-sdk/internal/_build/results?buildId=830439&view=results

Closing as @jeremymeng is working on fixing the pipeline with ENG SYS.


Stack depth instrumentation fails to account for the full function activation stack frame

The stack depth calculation for the call and call_indirect instruction  here
https://github.com/paritytech/wasm-utils/blob/b22696aaa516212284f2d94a28d8d292afe27859/src/stack_height/max_height.rs#L268-L293
fails to account for the full function activation frames as described in the specification.
For that reason it is possible to write a WASM program which, when instrumented, could place frames onto the stack and overflow it regardless of the limit imposed.
Most straightforward such WASM module may look like this
(module
  (type (;0;) (func))
  (func (;0;) (type 0)
    call 0)
  (func (;1;) (type 0)
    call 0)
  (export "main" (func 1)))

which after instrumentation becomes
(module
  (type (;0;) (func))
  (func (;0;) (type 0)
    call 0)
  (func (;1;) (type 0)
    call 0)
  (global (;0;) (mut i32) (i32.const 0))
  (export "main" (func 1)))

today.
The correct model should be:

Pop the function address (for call_indirect);
Pop the arguments;
Push a function activation frame (this includes space for arguments, locals, return values and a reference to the module instance);

Module instance reference here in particular is something that would make stack depth accounting accurate in absence of the arguments, locals and return values.

Good catch. I agree with everything written here. I checked the code and it should be enough it we push some constant for the two call instructions in max_height::compute (and pop it at function exit).
If a function isn't zero cost the metering code is injected before calling this function so everything should be A-okay. A regression test would be needed, though.

Opened a PR that should fix this.


'create a

Hello,
(sorry about pressing Enter too early, by accident, and having an odd title in this one.)
Please check this sentence: "To learn how to create a create an active directory application, service principal, and federated credentials in Azure portal, see Connect GitHub and Azure."
It seems to have 'create a' duplicated.
Kind regards,
Anne H., QC

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

ID: 752698a6-7394-d760-a50f-788c8a783ae4
Version Independent ID: 185318ad-c76a-42cd-3a4d-23a1df7a57f3
Content: Tutorial: Use GitHub Actions to deploy to App Service and connect to a database - Azure App Service
Content Source: articles/app-service/app-service-sql-asp-github-actions.md
Service: app-service
GitHub Login: @cephalin
Microsoft Alias: jukullam

Thanks for the feedback! I have assigned the issue to the content author to investigate further and update the document as appropriate.

The referenced document is not correct.
It's Tutorial: Use GitHub Actions to deploy to an App Service custom container and connect to a database.
/articles/app-service/app-service-sql-github-actions.md

The sentence seems to appear on both pages. Thank you for noticing it.

Should have been fixed 😄 Thanks for raising this ❤
If you notice it somewhere else please raise another PR.
#please-close


Chore: replaced io/ioutil package

I replaced io/ioutil package with os and io package.
With the two proposals accepted (https://github.com/golang/go/issues/42026 and https://github.com/golang/go/issues/40025), the package io/ioutil will be deprecated and new code is encouraged to use the respective implementations in the packages io and os.
Because the Go version used by GitHub Action's workflow is already 1.16, I also increased the version of gomod to 1.16.

Good job, thank you!


Running webpack when the entry is using require.context does not fail with proper exit code

The state of my application (migrating from angularjs to react) requires a need for requiring all files in a directory, as apposed to using normal imports / requires / react dom / whatever else.
e.g. https://stackoverflow.com/questions/29421409/how-to-load-all-files-in-a-directory-using-webpack-without-require-statements

Operating System: windows 10
Node Version: 10.15.0
NPM Version: 6.4.1
webpack Version: 4.36.1
eslint-loader Version: 3.0.2

Expected Behavior
When using require.context to require files, running yarn webpack should fail with exit code 2 if there are eslint errors.
Actual Behavior
the script shows the eslint errors but does not fail.
https://github.com/carlcodes/testcase-eslint-loader-requireAll
How Do We Reproduce?
pull down my above project, run yarn, run yarn webpack. if you toggle the commented out code in the entry file it works, but my setup needs it to work as is.

Hi @carlcodes
Please, use eslint-webpack-plugin
We are building this plugin to have more control than the loader


Dashboard: unclassified publications without department (or UGent only)

Story
As a librarian, I can view unclassified records to be handled in my dashboard, that are not assigned to a faculty just yet, or only affiliated to "University of Ghent"
Context
We probably need to think this feature through and make sure it is faster somehow – perhaps by splitting it up.
Find more information about how the dashboard is built here: https://github.com/ugent-library/biblio-backend/issues/517
Design

Out of scope: with upgrade "Latest update"

@mietcls this isn't feature parity i think

@nics no it is not. I've moved it back.

Anniek: "Nu doe ik exports van een bepaalde selectie (jaargang of zo ) naar xlsx, en dan op zoek gaan naar lege velden"

@mietcls I have deployed this change to the test version. It's ready for you to be tested.

@netsensei works on test 🙌! I see when we click through on a record without a department, it adapts the filters in the URL because we do not have a filter set for this. I will make (or find) an issue for this and make a reference to this issue.


[REEF-256]  Rename MPI to Group Communication

Some of the classes in Group Communication are names as Mpi when it was created initially. We need to rename them to group communication. This PR renamed classes, variables and tests to use GroupComm or GroupCommunication
JIRA: REEF-256. (https://issues.apache.org/jira/browse/REEF-256)
This closes #
Author: Julia Wang  Email<EMAIL_ADDRESS>

I'll merge this.


Parse RasterSymbolizer

Important: Please wait with merging this PR until this PR in geostyler-style was merged and released.
Initial parser implementation for RasterSymbolizer. Parses:

Opacity
ChannelSelection
ColorMap
ContrastEnhancement

Parser does not yet support cql expressions in RasterSymbolizer properties.

Added some checks to avoid writing empty tags when writing SLD. Also added some tests.
@KaiVolland could you please review again?


Remove version: Ryujinx.Ryujinx.Ava version 1.1.1106

All InstallerUrls returned 404 Not Found

https://github.com/Ryujinx/release-channel-master/releases/download/1.1.1106/test-ava-ryujinx-1.1.1106-win_x64.zip

Microsoft Reviewers: Open in CodeFlow

URL: https://github.com/Ryujinx/release-channel-master/releases/download/1.1.1106/test-ava-ryujinx-1.1.1106-win_x64.zip
Response status code does not indicate success: 404 (Not Found).
(Automated message - build 896)


fix hmr for variable PORT

Docker containers (and any 12 factor app) typically respond to environment variable changes at runtime, not at build time. If the DefinePlugin array is modified in razzle.config.js from the default that hardcodes HOST and PORT to treat them as regular variables instead, then they aren't available as process.env.HOST / PORT from client-side code. (though they are available in server-side code) It mostly works, but there's an issue with it:
This existing code is used to setup the port for WebpackDevServer for the HMR of the client build (the socket that handles browser hot reload, not the nodejs port):
port: parseInt(process.env.PORT, 10) + 1 || window.location.port,

If PORT is 3000, the first part correctly returns 3001. If the PORT env var isn't set, the window.location.port fallback is invoked, but that would return 3000. It's missing that +1. This is the main issue here.
window.location.port is "" if port is 80 (you can run the app on a different port, but it's also easy to handle gracefully so that there are no papercuts / surprises)

We can fix both of those without having any impact at all on existing users. Things would continue to work the same for them, but anyone who is turning HOST and PORT into true environment variables would benefit.

Why should 81 be the default?

Another way to write it would've been:
parseInt(window.location.port || window.location.protocol === 'http:' ? 80 : 443, 10) + 1
Maybe that's clearer. window.location.port is "" if the port was inferred from the location's protocol.
We add 1 because the client build uses PORT+1

@jaredpalmer are there any changes you'd like to see? questions? comments? thanks

Is anything holding this back? It's a bugfix to the existing code
port: parseInt(process.env.PORT, 10) + 1 || window.location.port,
where the part after || needs the same + 1 that the first part has.

@jaredpalmer updated the description. Does that help explain it?

@jaredpalmer hello?

@jaredpalmer this isn't resolved by #761
#761 is about where the browser connects
#581 (this) is about where the server listens

@jaredpalmer can this be considered for v3?

@jaredpalmer squeaky wheel here. Would you be up for a phone call to discuss this?

v3 version is #1020


Determine a gas price update mechanism before auto pricing

If we don’t do auto pricing, we need a story about how gas prices would change, if at all.
Why this feature is required pre-mainnet
We need a story about how we would deal with a sudden influx of spam transactions.
What we need to implement
Unclear

We have gas costs managed as a governance parameter so this should be fine for now until we figure out an automatic pricing design


Hotfix develop: Fix ignored files

There was an issue with the CLI where ignored files were still being processed as they weren't being passed through to the file globbing.
I took the opportunity to also add basic tests to the ignored files section of the CLI
Waiting on #329 to be merged
Closes #72
Fixes #129
DCO 1.1 Signed-off-by: Dan Purdy<EMAIL_ADDRESS>

Thanks! Could we have a new npm release with it?

Yep soon aka today :+1:

@mik01aj 1.3.2 is now on npm

great, thanks!


Unable to use Deep concolic with custom cnn model

Hi,
I have trained a simple CNN and trying to generate test data using Deep concolic but when in run deepconcolic.py on my cnn model, all the layers are recognized as not testable.
Following is abstract form command line window:
Model: "sequential_1"
_________________________________________________________________
Layer (type)                 Output Shape              Param #
=================================================================
conv2d (Conv2D)              (None, 90, 110, 32)       896
_________________________________________________________________
activation (Activation)      (None, 90, 110, 32)       0
_________________________________________________________________
max_pooling2d (MaxPooling2D) (None, 45, 55, 32)        0
_________________________________________________________________
conv2d_1 (Conv2D)            (None, 43, 53, 32)        9248
_________________________________________________________________
activation_1 (Activation)    (None, 43, 53, 32)        0
_________________________________________________________________
max_pooling2d_1 (MaxPooling2 (None, 21, 26, 32)        0
_________________________________________________________________
flatten (Flatten)            (None, 17472)             0
_________________________________________________________________
dense (Dense)                (None, 64)                1118272
_________________________________________________________________
activation_2 (Activation)    (None, 64)                0
_________________________________________________________________
dense_1 (Dense)              (None, 40)                2600
_________________________________________________________________
activation_3 (Activation)    (None, 40)                0
=================================================================
Total params: 1,131,016
Trainable params: 1,131,016
Non-trainable params: 0
_________________________________________________________________
Loading input data from data/attdata... data/attdata
data/attdata

...
400 loaded.
DNN under test has 11 layer functions, 0 of which is to be covered:
[]

Starting tests for criterion NC with norm L0.
Outputs will go into: attout/
Reporting into: attout/NC_L0-2020-12-16-00-04-03.445382_report.txt
Randomly selecting an input from test data.
#0 NC: 0.00000000%
Please suggest how to resolve this issue.
Thanks,
Lalit Kumar

Hi Lalit, I think this may relate to how you connect the the software with your model. It is difficult to see what the problem is by the little information you gave us. If possible, please let us know a bit more on your program.

Hi Xiaowei,
I have attached program file and trained model file for your reference. Please let me know if need more information.
CNN_FeceRec.zip
facerec_cnn.h5.zip

It has been two months since the last communication of this thread. I will therefore close this session.


Datepicker - Today Button Doesn't Set Date in Input Box

Hi there,
Thanks so much for the latest version of the datepicker.
I only have one bug, which is that the "Today" button when clicked, brings the correct month into view, but does not select the date. The value in the input box is cleared and set to blank.
I am using Laravel, Jetstream and Tailwindcss.
If I have May 15 selected in calendar, and I click the "Today" button, the calendar will switch to June but it will not auto select today which is June 30.
Here is the code I have:
<input id="selectedCommandDate" datepicker datepicker-autohide datepicker-buttons datepicker-format="dd/mm/yyyy"  datepicker-max-date="10/07/2024" datepicker- wire:model.live="selectedCommandDate" type="text" class="bg-gray-50 border border-gray-300 text-gray-900 text-sm rounded-lg focus:ring-blue-500 focus:border-blue-500 block w-full ps-10 p-2.5 dark:bg-gray-700 dark:border-gray-600 dark:placeholder-gray-400 dark:text-white dark:focus:ring-blue-500 dark:focus:border-blue-500" placeholder="Select date">

I have tried adding "datepicker-autoselect-today" however the button for Today then becomes not clickable and doesn't do anything. Maybe the issue is because of the datepicker-format?

Hey @tanami20,
Do you have:

Flowbite v2.4.1 installed?
did you copy the code from here: https://flowbite.com/docs/components/datepicker/index.html#action-buttons

Cheers,
Zoltan


Add LEP - recurring job policy

https://github.com/longhorn/longhorn/issues/467

Seems like there are different opinions on if Longhorn should reference volume in cronjob/policy or policy should reference in volume.
I've updated to include:

Option 1: Volume referenced in the cron job annotation.
Option 2: Policy referenced in the volume label.

Option 1: Volume referenced in the cron job annotation.

Volume list can be stored in policy spec or label as well. The problem is, which one is responsible for recording the reference.

@shuo-wu We cannot keep the default policy in the volume spec since the user owns the volume spec, we cannot change it at our will. Think how users would operate it using Kubernetes API instead of Longhorn API, which is the ultimate goal.
The ultimate goal for this design is to transition into a separate recurring job instead of embedded with the volume object, which is way too crowded already.

Users need to understand the recurring jobs in volume spec and non-default recurring policies before using default policies correctly.

There are only two scenarios here:

If there is anything in the volume.spec.recurringJob, use it.
Otherwise, the default recurring job policy applies.

Both VolumeController and the new PolicyController should be responsible for creating/deleting recurring job CRs, which is not elegant enough.

I have the same thought. So the ultimate goal is to move recurring jobs completely outside of volume spec to be handled by recurring job controller (currently known as recurring job policy controller), but that's a bigger work than scoped.

The policy controller needs to list all volumes that require the related policy anyway. Then why not directly update and record the volume list at the beginning (when users set the recurring jobs for volumes via HTTP APIs)?

The policy controller doesn't need to do it. The job can do it on the fly when it's executing.
Again, we cannot rely on HTTP APIs. We are moving away from it into Kubernetes native API.

This adds more complexity for volume CRs.

Nothing was added in the volume CRs except for the policy and label, which are ignored by the volume controller. It's not the volume controller who will schedule the recurring job for recurring job policies, it's a separate cronjob scheduled by the recurring job controller.

There is no way to separate all recurring-related concepts from volume CRD as the further refactoring. The current design also prevents Longhorn from introducing more fancy features. e.g., Adding tag-selector for volumes and recurring policies, which provide more flexibility of configuring the volume recurring jobs.

I don't follow. This design is essentially moving away from using the volume CRD for recurring jobs. Tag selector for the volumes can be defined in the separate recurring job CR later. We can also use labels to select multiple recurring job policies, like what we've done with the default recurring job policies.

I agree and I think I mentioned this before, the volume really doesn't need any knowledge about anything related to backup policy / recurring jobs definitions.
The Policy CRD can reference an arbitrary set of volumes via the definition of a labelSelector as part of  the policy spec.
The default policy just becomes Select label == * the selectors are pseudo code for demonstration only.
This allows for all kinds of flexibility either by just using the volume.name label or by specifying additional labels on the volumes.
Some Example policies below:
Example Policy for a volume group X
Select label volume-group == X
A policy that only selects kafka volumes.
Select label app == kafka
A policy that only applies to 2 volumes in the whole cluster
Select label where volume in (X | Y)
Have a look at the set based selectors.
https://kubernetes.io/docs/concepts/overview/working-with-objects/labels/#set-based-requirement

In fact, more I think about this, more I realized we probably should move to use recurring job policy 100%. That means users can only set recurring job policy to the volume, no more separate entry for snapshot/backup is needed. Thinking about it, when would you want your 100 volumes all starts to backup at totally different times with totally different configurations?
What they would prefer instead is:

Create a recurring job policy.
Set certain volumes to use it.

All of those can work today since we've introduced the recurring job policy controller. We just need to migrate all the previous recurring jobs (including storage class) into new auto-created policies when upgrade.
So:

Volume spec will only contain the recurring job policy names.
Those names will be added to the volume as labels, as @joshimoo mentioned above.

If there is no recurring job policy for the volume, the default policy label will be automatically added to the volume.

Recurring job controller will start the cron jobs according to the cron in the policy

it doesn't care who are the volumes will be backed up at this time.

When the time comes, the cron job will retrieve the content of the recurring job policy by the name, and find who are the volumes have the related label, and perform the snapshot/backup operations:

if the recurring job policy is set to default, search for default in addition to the name.
Does the snapshot/backup operation one by one. The operation order can be defined as sequential, consistent (for volume group snapshot), or throttled (with a concurrent number as parameter) in the future.
Be careful with the retry mechanism here. We don't want to re-backup previously successfully backed up volumes if a later volume failed.
The policy can also use a label selector to the volume, but that would require volume to have some labels. I think we can implement this part later.

Had a discussion with @c3y1huang and @shuo-wu , we will move to 100% recurring job policy (now it will be called just recurring job since it's the only way to create recurring job.)
Also, default will become a group of recurring jobs (instead of a special case). Volume can select one or more recurring jobs, and/or one or more recurring job groups. The recurring job controller will be responsible for label the volume for the default recurring job group if no other recurring job was found. The default recurring job group will not be removed by the recurring job controller if users add more recurring jobs. Users need to remove the default recurring job group manually.
Also, a recurring job can be performed for a volume group with a special volume-group: xxx label. It will be evaluated during the runtime of the cronjob. I assume this selector will be kept in the recurring job CR.
For individual volumes, the recurring job information will be kept in the volume's metadata instead of the recurring job CR itself, since it's easier to use the label to filter volumes instead of keeping a list in the recurring job CR itself.
cc @joshimoo

More notes from the discussion with @yasker and @shuo-wu.

Remove recurringJobs from volume spec.
Change recurring job policy to recurring job.
Volume will contain two types of label - job, job-group.
Remove the field Default and use Group instead. The recurring job applies if recurring jobs contain default group.
Do not need to treat default snapshot and backup separately. Only need to determine if the volume policy label exists.
Translate existing recurring jobs to the label during the upgrade.
Add throttle to the longhorn-manager binary and recurring job spec. Options sequential, consistent comes later.


Should we implement the Extension for Lazy to make it a Monad?

https://weblogs.asp.net/dixin/category-theory-via-csharp-7-monad-and-linq-to-monads

Already done


Add option to Email author and maintainers of apps

Not just showing their emails but also redirecting user to Email app if any.

The code to do so using Activities:
var a = new MozActivity({"name":"view", "data":{"type":"url","url": "mailto:hapu@riseup.net"}});
// then do something with a

please make the suggestion to save the developer's e-mail address here.: https://gitlab.com/banana-hackers/store-db/-/tree/master/apps

I have already done that

@strukturart You don't want to add this feature to the store app?

Yes why not. if the information is available in the db. every developer can decide whether they want to share their email address. I wouldn't do it myself, if the user has a problem with the app he should write me a github issue.

i can add a button in the options page.

ah good! Use the code in my second post if you don't know how to invoke Email app.

@farooqkz how would you chop up the author string to find out if an email is included?

There is no standard for DB, yet but many authors have included their email addresses and many have not done that. Also the author fields of some apps mention more than one author(the store app itself) and there is just one field for this purpose and this makes the situation even worse.
So the recommended strategy for now is that you use a regular expression(compile it once in your code and use it everywhere)
to find all email addresses in author field. Then using mustache(!) add buttons for each email address. Because there is no standard at the moment, title of each button should be "Email the_found_email_addr".
When formatting was standardized, you can write "Email the_name_of_email_owner".

By the way, when using an RE, it should match email addresses which have more than one dot after @ and before it for example<EMAIL_ADDRESS>

I would like to contribute so if you let me do it...


Bioconda channel order

This may be something specific to my configuration, but wanted to point out in case it helps anyone else.
I was having an issue installing a standalone staramr environment (for 0.9.1 or 0.7.2) with the command as suggested:
mamba create -c bioconda -c conda-forge -c defaults --name staramr staramr==0.7.2 pandas==1.1.5 mlst==2.19.0
This would result in the mamba error:
Encountered problems while solving:

package staramr-0.7.2-py_0 requires biopython >=1.70, but none of the providers can be installed

I read elsewhere that bioconda is strict about channel order, and if things are not installed in the order conda-forge > bioconda > defaults, it can cause issues, so I changed around the 'mamba create' command to:
mamba create -c conda-forge -c bioconda -c defaults --name staramr staramr==0.7.2 pandas==1.1.5 mlst==2.19.0
and was able to successfully create the environment.
Thanks for a fabulous tool!
Lenora

Thanks so much for pointing this out @lenorakepler . This will be fixed in https://github.com/phac-nml/staramr/pull/163

Fixed in https://github.com/phac-nml/staramr/pull/163


Shell completion inconsistent

Sometimes when shell completion is enabled, some it only partially works.
e.g. just recently I tried uf2 install -i image.uf2. uf2 and install auto-completed, but neither -i nor any of the other flags completed.

Fixed in these commits:
7259f2f3af5497e205c16bfb3ef1363a7440848f
5062d47a2598afce5c5314cb9b7e4b1c325db0cf
525f715ff1edf4c7898b28f70fcb7926b6c2fe3d
d2264cb176d96fd5017eb71e1e2d3866b4082f2b
4e0b29a368d1c60c3467b00ef061c8c4a16f5155


Fix: Typos

I also added other small changes.

Should be good to merge now @mindsers

Thanks! Let's merge this!
@all-contributors please add @endormi for doc


Rephrase permission about storage

"Storage is needed" >> Read and write storage access
Be explicit about what we do with it.

Fixed with Storage permission is needed to take or select pictures


Spurious executable permissions on *.c and *.h files

Some of the source and header files have the executable bits set.
I'm trying to package libhtp for Fedora, and rpmlint (rightfully) complains about it so I'm running the following in the spec file:
$ find . -name '*.h' -exec chmod -x '{}' \;```

Since Git can keep track of mode changes, it would be nice if you could commit such a change so that every distro packager doesn't have to do it in their own packages. :)

resolved in
https://github.com/ironbee/libhtp/commit/b27cbf187a0fa0f98e8955f5370c3712f9e8461d


Fix expect may produce incorrect values

Fixes #3379

@yangzhg open method seems not change. which line code fix this issue.
When you submit a issue or PR, would better describe the root cause for the issue and the core idea for your solution, thanks

describe
done

The bug cause by
    _hash_tbl.reset(new HashTable(_child_expr_lists[0], _child_expr_lists[0], _build_tuple_size,
                                  true, _find_nulls, id(), mem_tracker(), 1024));

should be
    _hash_tbl.reset(new HashTable(_child_expr_lists[0], _child_expr_lists[1], _build_tuple_size,
                                  true, _find_nulls, id(), mem_tracker(), 1024));


Mutable manifest

BundleManifest will now look up a Bundle by its files even after the files property has been mutated.  Supports post-processing of manifest which may be much simpler that embedding some kinds of manipulation inside strategy functions.  Notably, this enables users to emulate the old add-import behavior by updating a target bundle.
[x] CHANGELOG.md has been updated
Sort of fixes https://github.com/Polymer/polymer-bundler/issues/402

Do we really want to make manifest mutable, or do we want to make it easy to make cloned and modified manifests at the right place in the bundle pipeline?

@justinfagnani Since the bundler doesn't mutate the manifest while it's working with it, I suppose we could preserve the expectation of immutability within Bundler by cloning inside the call to bundle().
My reason for why the object should be mutable is because we'd have to otherwise add a whole host of methods to do simple changes like adding/moving/removing files and/or bundles to the manifest and have them return clones or whatever-- it just gets a little unwieldy and expensive to develop that API.  The benefit to the manifest is to having a plan for what the bundler should do and making it easy for people to adjust that plan in their scripts is where we want to be.

I clone the manifest inside bundle() now, preserving the given values.

@usergenic where would the user be modifying the manifest? In a custom strategy?

Initial motivation was to provide a simple option for the now missing vulcanize option add-import.
Right now, all manipulations of bundles occurs in the bundle strategy and crafting a custom bundle strategy to add/remove specific files to specific bundles is doable.  In this way mutable manifests aren't necessary.
The thinking with making manifest mutable was that ad hoc specific adjustments to the bundles after they've been mapped to their urls etc in the manifest would be potentially a more ergonomic option for certain circumstances and users.  For example, I know I want to add a file or remove a file in production build and I can do that in a very intentional way with the manifest, whereas it is a little fiddlier if done in a custom strategy even with the composeStrategies combinator.
Side note, there's not yet a good affordance for manipulating the manifest inside a polymer-build powered gulpfile.  A script that used polymer-bundler directly could do this after receiving the manifest from the call to generateManifest() and before sending it off to bundle().
One possible means to incorporate this to PolymerProject#bundler() might be a callback option in the soon-to-be-released options like project.bundler({prepareManifest: (manifest) => {...}}).

Thanks, I'm just trying to see where and how this would be used.
So it seems like this potential callback: project.bundler({prepareManifest: (manifest) => {...}}) is very nearly like a strategy, except that it would be expected to mutate its argument.
Wouldn't that be essentially solved by https://github.com/Polymer/polymer-build/pull/189 where you can already do: project.bundler({strategy: (bundles: Bundle[]) => {...}}). A strategy that returns a new Bundle[] seems relatively easy to write. You could copy the array and mutate that, you could call .map, .filter., etc.
One problem is that a strategy doesn't have access to the bundle URLs that are in the manifest, so a user might have to write a BudleStrategy and a BundleUrlMapper. Maybe those aren't useful as separate interfaces and we should combine them, have that take a manifest, and allow a user to specify a chain of strategies so that they can easily inject a transformation/renaming on top of built-in strategies:
project.bundler({transforms: [sharedDepsStrategy(3), shellStrategy('shell.html'), (manifest: BundleManifest) => { ...; return new BundleManifest(...); }})

Also, if this makes a manifest just a wrapper on a Map<UrlString, Bundle> can we just get rid of the manifest class and pass around a the map and turn the methods and constructor into functions?


gpg: add module

Done, i also added test :)

Also added link to gpg manpage

Once you solve my comment (alphabetical order), I think it's ready for rycee to review/merge.

Nice! Rebased to master in 0db26fc3abdfe362d2af16ffb607d0bebebe8a7d. I made sure to include the spelling fix 🙂
I also changed the option programs.gpg.configuration to be programs.gpg.settings to following the naming found in most other modules.
Extra thanks for making a test, much appreciated!


nvec parameter not implemented?

I was trying to use the nvec parameter. (I think nvec could be used to implement parallelism, this is the way the Mathematica interface to cubalib implements parallelism.) However, I couldn't figure out how to do it. Looking at the code, it looks like the nvec parameter isn't passed to the integrand function:
https://github.com/giordano/Cuba.jl/blob/master/src/Cuba.jl#L86
and
https://github.com/giordano/Cuba.jl/blob/master/src/Cuba.jl#L96

I think you're right!  Feel free to provide a patch, I'm not sure I'll be able to have a look very soon.

I quickly tried this:
function generic_integrand!(ndim::Cint, x_::Ptr{Cdouble}, ncomp::Cint,
                            f_::Ptr{Cdouble}, func!, nvec::Cint)
    # Get arrays from "x_" and "f_" pointers.
    x = unsafe_wrap(Array, x_, (ndim, nvec))
    f = unsafe_wrap(Array, f_, (ncomp, nvec))
    func!(x, f)
    return Cint(0)
end

# Return pointer for "integrand", to be passed as "integrand" argument to Cuba functions.
integrand_ptr{T}(integrand::T) = cfunction(generic_integrand!, Cint,
                                           (Ref{Cint}, # ndim
                                            Ptr{Cdouble}, # x
                                            Ref{Cint}, # ncomp
                                            Ptr{Cdouble}, # f
                                            Ref{T}, # userdata
                                            Ref{Cint})) # nvec

But I'm not sure this suffices.

I've just tried the very same thing :-) I'm also not sure whether that's enough, I'll try to test it once I have more time...
Thanks for looking into this and more generally thanks for providing this package!

Uhm, with this change the the result of integration isn't even correct and with nvec > 1 the function is also slower:
julia> cuhre((x, f) -> f[] = x[], nvec = 1)
Component:
 1: 0.5 ± 4.291960664289122e-15 (prob.: 0.0)
Integrand evaluations: 195
Fail:                  0
Number of subregions:  2

julia> cuhre((x, f) -> f[] = x[], nvec = 2)
Component:
 1: 0.37544225534137515 ± 0.0030736506895798653 (prob.: 0.0)
Integrand evaluations: 1000025
Fail:                  1
Number of subregions:  7693

julia> cuhre((x, f) -> f[] = x[], nvec = 4)
Component:
 1: 0.12829062941575486 ± 0.004796612531625397 (prob.: 0.0)
Integrand evaluations: 1000025
Fail:                  1
Number of subregions:  7693

Looking better to how the x and f arrays are treated when nvec > 1, probably I was using the wrong function calls:
julia> cuhre((x, f) -> f[1,:] = x[1,:], nvec = 1)
Component:
 1: 0.5 ± 4.291960664289122e-15 (prob.: 0.0)
Integrand evaluations: 195
Fail:                  0
Number of subregions:  2

julia> cuhre((x, f) -> f[1,:] = x[1,:], nvec = 2)
Component:
 1: 0.5 ± 4.291960664289122e-15 (prob.: 0.0)
Integrand evaluations: 195
Fail:                  0
Number of subregions:  2

julia> cuhre((x, f) -> f[1,:] = x[1,:], nvec = 4)
Component:
 1: 0.5 ± 4.291960664289122e-15 (prob.: 0.0)
Integrand evaluations: 195
Fail:                  0
Number of subregions:  2

which now are indeed faster than nvec = 1:
julia> @benchmark cuhre((x, f) -> f[1,:] = x[1,:], nvec = 1)
BenchmarkTools.Trial:
  memory estimate:  67.52 KiB
  allocs estimate:  1374
  --------------
  minimum time:     33.144 μs (0.00% GC)
  median time:      35.663 μs (0.00% GC)
  mean time:        48.058 μs (22.65% GC)
  maximum time:     3.921 ms (98.52% GC)
  --------------
  samples:          10000
  evals/sample:     1

julia> @benchmark cuhre((x, f) -> f[1,:] = x[1,:], nvec = 2)
BenchmarkTools.Trial:
  memory estimate:  34.52 KiB
  allocs estimate:  702
  --------------
  minimum time:     20.266 μs (0.00% GC)
  median time:      21.898 μs (0.00% GC)
  mean time:        28.492 μs (19.39% GC)
  maximum time:     4.049 ms (98.82% GC)
  --------------
  samples:          10000
  evals/sample:     1

julia> @benchmark cuhre((x, f) -> f[1,:] = x[1,:], nvec = 4)
BenchmarkTools.Trial:
  memory estimate:  18.77 KiB
  allocs estimate:  366
  --------------
  minimum time:     14.691 μs (0.00% GC)
  median time:      15.964 μs (0.00% GC)
  mean time:        19.161 μs (11.79% GC)
  maximum time:     2.996 ms (98.78% GC)
  --------------
  samples:          10000
  evals/sample:     1


[FEATURE] Add GitHub logo in footer

Description
I want to add GitHub link in the footer section.
Describe the solution you'd like
Adding link
Describe alternatives you've considered
No response
Additional context
No response
Checklist

[X] I have checked the existing issues
[X] I have read the Contributing Guidelines
[X] I will work on this issue (optional)
[X] I am a GSSoC'23 contributor

we don't need this now.


connectionStringKey and appsettings.json

Is it possible to use connectionStringKey with a connection string from appsettings.json?

Are you getting any errors when you use that option?

@paulb2015 No you cannot use ConnectionStringKey to lookup appsettings.json values.
Instead you can use the ConnectionString-parameter to lookup ConnectionString in appsettings.json using ${configsetting}.
Example:
<target type="AzureBlobStorage" connectionString="${configsetting=ConnectionStrings.MyConnectionString}">
</target>

With the following appsettings.json
{
  "ConnectionStrings": {
    "MyConnectionString": "UseDevelopmentStorage=true;"
  },
}

See also https://github.com/NLog/NLog/wiki/ConfigSetting-Layout-Renderer

Thank you


Updating HomeController to make both mediator actions async on Index action method

Fixes #1034

@mgmccarthy I've not run it up, but looks okay to me after reading it through. I added two specific comments in the changes.

If this looks good to @stevejgordon and web.config changes aren't in there after a rebase we should be able to merge.  Thanks


Range finder failure error

Would it be possible to ignore rangefinder in simulation? Mine is placed in the wing which is disconnected when my plane is on the table next to my pc and it also needs power from battery.

I plan to implement rangefinder emulation, but this can only be done in the next iNav version, which may take some time to become available.
BTW what rangefinder hardware are you using?

I am using TFmini-S LiDAR Benewake for landings.


Question: Chalk module error.

In the chalk module, I get an error.

@Aristotelhss

@Aristotelhss

Just run "npm i chalk" in your powershell window. Simple

Just run "npm i chalk" in your powershell window. Simple


Customize Textfields

Weight and Height textfield:

https://github.com/michallaskowski/FeetInchDelegate
https://github.com/VojtaStavik/VSTextField

Resolve in pull reequest: https://github.com/EstefaniaGuardado/weightApp/pull/40