WIP: don't forget to request the pull scope

Harbor will deny tags/list if you did not request the pull scope
(I do not know how scopes are supposed to be assigned, but when I debugged the conversation that happens in kuby build today, I came up against this issue on my public harbor registry)
This brilliant fellow explains the conversation and how it's intended to happen, and the conversation continues in the gist linked from there... https://stackoverflow.com/a/51921869/661659
I am not sure what's the correct way to determine the scope, or how to best pass the repo in so the repo scope can be requested, but this version resulted in a 200/ok for me.
Also, hey! LTNS

In case you wanted to see where it's working and for what purpose:
https://github.com/kingdonb/scrob-web/actions/workflows/kuby.yml
(This is my weird fork of kuby that's designed to work on GitOps, with GitHub actions building and pushing images and manifests directed from my fork of the kuby cli!)
I haven't quite caught up with your branches yet, I went looking to see if you had support for ingress_class in them yet and it looked like you didn't, so I stuck with my weird fork for now

I was looking for help with this issue and I googled only to find this discussion we had once before, with most of the information that I needed in it:
https://githubmemory.com/repo/getkuby/kuby-core/issues/72

Hey @kingdonb, thanks for submitting this :)
It's my understanding that the registry should include the necessary scopes in the scope section of the www-authenticate response header. It's probably ok to include the repository:<repo>:pull scope by default, but I'm worried other container registries will error if they don't support it for whatever reason. Are you able to test with GitHub, Gitlab, Docker Hub, etc?

Also, hey! LTNS

👋 😄

In case you wanted to see where it's working and for what purpose

Cool! Looks like it's working nicely :) I didn't know you could pass --push to docker build, TIL!

I haven't quite caught up with your branches yet, I went looking to see if you had support for ingress_class in them yet and it looked like you didn't, so I stuck with my weird fork for now

Oh, like the ability to use something other than ingress-nginx?

Edit: and here is the build where bundle update ran inside of GitHub Actions, you can see it's all hooked up to prebundler which makes bundle update where not much has changed fast, almost as fast as when nothing has changed, even inside of a container build pipeline!

Sweet! I looked at the build output, looks a-ok!

Oh, like the ability to use something other than ingress-nginx?

I just want to set ingress_class, I have three nginx ingresses running with all different classes and one traefik also, this is a feature in the v1 Ingress that seemed to still be missing from the latest kuby-core and kube-dsl, but I might not have really upgraded fully (I had some other customizations in my fork and didn't want to break everything trying to catch up with your fork, and also upgraded to the latest Ruby and Rails, ... so I kept my old stable versions as much as possible for now)

looked at the build output, looks a-ok!

Yeah, this is working amazingly! I think I might even use it for my CNCF livestream next month. We're showing off image update automation and the new OCI config repo approach, that allows users of Flux to avoid adding sprawling many git repositories to their cluster, they can just use a lightweight and flexible OCI repository to handle the config instead.
So I needed an approach to config that generates YAML manifests, and there are basically two extremes on the manifest generation train, there's something simple like envsubst which just takes a list of variables and subs them in at build-time – and then there's something like Kuby, which builds the entire domain and universe and the user doesn't have to write or interact with a single line of YAML – only the domain representations in your chosen language.
I don't quite know of "something like Kuby" in any other languages, it's a pretty unique thing IMHO, but maybe I will point this out to 1000 people on the CNCF livestream and they will tell me about some things like it for go, scala, rust...
The important thing for me was to get build/CI times down to the point where they can be almost as fast as Flux's CD when fully instrumented with webhooks. The whole build/deploy takes place in about 60-120 seconds, with at least 1/3 of that time usually spent waiting for build robots to pick up the job, and another 1/8 or so spent waiting for app to pass health checks 👍


InvalidParameterCombination: Cannot upgrade aurora-postgresql from 12.11 to 13.6

Description
Not able to upgrade the postgresql from 12.11 to 13.6 due to InvalidParameterCombination error.

[x ] ✋ I have searched the open/closed issues and my issue is not listed.

Versions

Module version [Required]: 6.2.0

Terraform version: v0.13.6

Provider version(s):
aws - 3.74.1
postgresql - 1.11.2

Reproduction Code [Required]
resource "aws_rds_cluster_parameter_group" "enable_replication" {
  name        = "aurora-pg13-cluster-repl"
  family      = "aurora-postgresql13"
  description = "RDS cluster parameter group replication"

  parameter {
    name         = "rds.logical_replication"
    value        = "1"
    apply_method = "pending-reboot"
  }

  parameter {
    name         = "max_worker_processes"
    value        = "50"
    apply_method = "pending-reboot"
  }

  parameter {
    name         = "max_replication_slots"
    value        = "50"
    apply_method = "pending-reboot"
  }
  lifecycle {
    create_before_destroy = true
  }
}

resource "aws_db_parameter_group" "enable_pglogical" {
  name   = "aurora-pg13-pglogical"
  family = "aurora-postgresql13"

  parameter {
    name         = "shared_preload_libraries"
    value        = "pglogical,pg_stat_statements"
    apply_method = "pending-reboot"
  }

  parameter {
    name         = "log_connections"
    value        = "1"
    apply_method = "immediate"
  }
  lifecycle {
    create_before_destroy = true
  }
}

module "psqldb" {
  source  = "terraform-aws-modules/rds-aurora/aws"
  version = "6.2.0"

  name = "psqldb"

  engine         = "aurora-postgresql"
  engine_version = "13.6"

  vpc_id         = data.terraform_remote_state.aws_core_metadata.outputs.vpc_id
  subnets        = data.terraform_remote_state.aws_core_metadata.outputs.private_subnets
  instance_class = var.rds_cluster_instance_class
  instances = {
    1 = {}
    2 = {}
  }

  allowed_security_groups = [
    data.terraform_remote_state.aws_core_metadata.outputs.eks_worker_security_group_id,
    data.terraform_remote_state.aws_core_metadata.outputs.bastion_security_group_id
  ]

  allowed_cidr_blocks = local.rds_cidrs
  security_group_egress_rules = {
    to_cidrs = {
      cidr_blocks = local.rds_cidrs
      description = "From allowed_cidr_blocks"
      from_port   = "5432"
      to_port     = "5432"
    }
  }
  deletion_protection         = true
  security_group_description  = "Managed by Terraform"
  storage_encrypted           = true
  apply_immediately           = true
  monitoring_interval         = 10
  publicly_accessible         = false
  skip_final_snapshot         = local.rds_skip_final_snapshot
  allow_major_version_upgrade = true

  db_parameter_group_name         = aws_db_parameter_group.enable_pglogical.name
  db_cluster_parameter_group_name = aws_rds_cluster_parameter_group.enable_replication.name

  enabled_cloudwatch_logs_exports = ["postgresql"]

  iam_database_authentication_enabled = true

  tags = local.tags

  autoscaling_enabled      = true
  autoscaling_min_capacity = 2
  autoscaling_max_capacity = 3
}

Steps to reproduce the behaviour:
Upgrading cluster from 12.11 to 13.6.
 terraform apply
Expected behavior
RDS cluster,instances and parameter groups should upgraded.
Actual behavior

  # aws_db_parameter_group.enable_pglogical must be replaced
+/- resource "aws_db_parameter_group" "enable_pglogical" {
      ~ arn         = "arn:aws:rds:us-east-1:681496624581:pg:aurora-pg12-pglogical" -> (known after apply)
        description = "Managed by Terraform"
      ~ family      = "aurora-postgresql12" -> "aurora-postgresql13" # forces replacement
      ~ id          = "aurora-pg12-pglogical" -> (known after apply)
      ~ name        = "aurora-pg12-pglogical" -> "aurora-pg13-pglogical" # forces replacement
      + name_prefix = (known after apply)
      - tags        = {} -> null
      ~ tags_all    = {} -> (known after apply)

        parameter {
            apply_method = "immediate"
            name         = "log_connections"
            value        = "1"
        }
        parameter {
            apply_method = "pending-reboot"
            name         = "shared_preload_libraries"
            value        = "pglogical,pg_stat_statements"
        }
    }

  # aws_rds_cluster_parameter_group.enable_replication must be replaced
+/- resource "aws_rds_cluster_parameter_group" "enable_replication" {
      ~ arn         = "arn:aws:rds:us-east-1:681496624581:cluster-pg:aurora-pg12-cluster-repl" -> (known after apply)
        description = "RDS cluster parameter group replication"
      ~ family      = "aurora-postgresql12" -> "aurora-postgresql13" # forces replacement
      ~ id          = "aurora-pg12-cluster-repl" -> (known after apply)
      ~ name        = "aurora-pg12-cluster-repl" -> "aurora-pg13-cluster-repl" # forces replacement
      + name_prefix = (known after apply)
      - tags        = {} -> null
      ~ tags_all    = {} -> (known after apply)

        parameter {
            apply_method = "pending-reboot"
            name         = "max_replication_slots"
            value        = "50"
        }
        parameter {
            apply_method = "pending-reboot"
            name         = "max_worker_processes"
            value        = "50"
        }
        parameter {
            apply_method = "pending-reboot"
            name         = "rds.logical_replication"
            value        = "1"
        }
    }

  # module.psqldb.aws_rds_cluster.this[0] will be updated in-place
  ~ resource "aws_rds_cluster" "this" {
        allow_major_version_upgrade         = true
        apply_immediately                   = true
        arn                                 = "arn:aws:rds:us-east-1:681496624581:cluster:psqldb"
        availability_zones                  = [
            "us-east-1a",
            "us-east-1b",
            "us-east-1d",
        ]
        backtrack_window                    = 0
        backup_retention_period             = 7
        cluster_identifier                  = "psqldb"
        cluster_members                     = [
            "psqldb-1",
            "psqldb-2",
        ]
        cluster_resource_id                 = "cluster-AGN3JQUSROTLPAX6L6NL3FSYKM"
        copy_tags_to_snapshot               = false
      ~ db_cluster_parameter_group_name     = "aurora-pg12-cluster-repl" -> "aurora-pg13-cluster-repl"
        db_subnet_group_name                = "psqldb"
        deletion_protection                 = true
        enable_global_write_forwarding      = false
        enable_http_endpoint                = false
        enabled_cloudwatch_logs_exports     = [
            "postgresql",
        ]
        endpoint                            = "psqldb.cluster-cmt6phsh6krf.us-east-1.rds.amazonaws.com"
        engine                              = "aurora-postgresql"
        engine_mode                         = "provisioned"
      ~ engine_version                      = "12.11" -> "13.6"
        engine_version_actual               = "12.11"
        final_snapshot_identifier           = "final-psqldb-7bf0383d"
        hosted_zone_id                      = "Z2R2ITUGPM61AM"
        iam_database_authentication_enabled = true
        iam_roles                           = []
        id                                  = "psqldb"
        kms_key_id                          = "arn:aws:kms:us-east-1:681496624581:key/f581b6ba-0295-408c-a3cf-ae1a916f5b9e"
        master_password                     = (sensitive value)
        master_username                     = "root"
        port                                = 5432
        preferred_backup_window             = "02:00-03:00"
        preferred_maintenance_window        = "sun:05:00-sun:06:00"
        reader_endpoint                     = "psqldb.cluster-ro-cmt6phsh6krf.us-east-1.rds.amazonaws.com"
        skip_final_snapshot                 = true
        storage_encrypted                   = true
        tags                                = {
            "Account"            = "dev"
            "ApplicationName"    = "psql-base"
            "CiscoMailAlias"     =<EMAIL_ADDRESS>            "DataClassification" = "Cisco Confidential"
            "DataTaxonomy"       = "Cisco Operations Data"
            "Environment"        = "dev"
            "ResourceOwner"      = "dCloud"
            "Terraform"          = "true"
        }
        tags_all                            = {
            "Account"            = "dev"
            "ApplicationName"    = "psql-base"
            "CiscoMailAlias"     =<EMAIL_ADDRESS>            "DataClassification" = "Cisco Confidential"
            "DataTaxonomy"       = "Cisco Operations Data"
            "Environment"        = "dev"
            "ResourceOwner"      = "dCloud"
            "Terraform"          = "true"
        }
        vpc_security_group_ids              = [
            "sg-054df949da5864e56",
        ]

        timeouts {}
    }

  # module.psqldb.aws_rds_cluster_instance.this["1"] will be updated in-place
  ~ resource "aws_rds_cluster_instance" "this" {
        apply_immediately                     = true
        arn                                   = "arn:aws:rds:us-east-1:681496624581:db:psqldb-1"
        auto_minor_version_upgrade            = true
        availability_zone                     = "us-east-1b"
        ca_cert_identifier                    = "rds-ca-2019"
        cluster_identifier                    = "psqldb"
        copy_tags_to_snapshot                 = false
      ~ db_parameter_group_name               = "aurora-pg12-pglogical" -> "aurora-pg13-pglogical"
        db_subnet_group_name                  = "psqldb"
        dbi_resource_id                       = "db-U5CPJMUW6VRXIVHFLHISWWM4VQ"
        endpoint                              = "psqldb-1.cmt6phsh6krf.us-east-1.rds.amazonaws.com"
        engine                                = "aurora-postgresql"
      ~ engine_version                        = "12.11" -> "13.6"
        engine_version_actual                 = "12.11"
        id                                    = "psqldb-1"
        identifier                            = "psqldb-1"
        instance_class                        = "db.t3.medium"
        kms_key_id                            = "arn:aws:kms:us-east-1:681496624581:key/f581b6ba-0295-408c-a3cf-ae1a916f5b9e"
        monitoring_interval                   = 10
        monitoring_role_arn                   = "arn:aws:iam::681496624581:role/rds-enhanced-monitoring-psqldb"
        performance_insights_enabled          = false
        performance_insights_retention_period = 0
        port                                  = 5432
        preferred_backup_window               = "02:00-03:00"
        preferred_maintenance_window          = "sun:05:00-sun:06:00"
        promotion_tier                        = 0
        publicly_accessible                   = false
        storage_encrypted                     = true
        tags                                  = {
            "Account"            = "dev"
            "ApplicationName"    = "psql-base"
            "CiscoMailAlias"     =<EMAIL_ADDRESS>            "DataClassification" = "Cisco Confidential"
            "DataTaxonomy"       = "Cisco Operations Data"
            "Environment"        = "dev"
            "ResourceOwner"      = "dCloud"
            "Terraform"          = "true"
        }
        tags_all                              = {
            "Account"            = "dev"
            "ApplicationName"    = "psql-base"
            "CiscoMailAlias"     =<EMAIL_ADDRESS>            "DataClassification" = "Cisco Confidential"
            "DataTaxonomy"       = "Cisco Operations Data"
            "Environment"        = "dev"
            "ResourceOwner"      = "dCloud"
            "Terraform"          = "true"
        }
        writer                                = true

        timeouts {}
    }

  # module.psqldb.aws_rds_cluster_instance.this["2"] will be updated in-place
  ~ resource "aws_rds_cluster_instance" "this" {
        apply_immediately                     = true
        arn                                   = "arn:aws:rds:us-east-1:681496624581:db:psqldb-2"
        auto_minor_version_upgrade            = true
        availability_zone                     = "us-east-1b"
        ca_cert_identifier                    = "rds-ca-2019"
        cluster_identifier                    = "psqldb"
        copy_tags_to_snapshot                 = false
      ~ db_parameter_group_name               = "aurora-pg12-pglogical" -> "aurora-pg13-pglogical"
        db_subnet_group_name                  = "psqldb"
        dbi_resource_id                       = "db-5X7GWHG67Q6YPPVTGE76LXMV54"
        endpoint                              = "psqldb-2.cmt6phsh6krf.us-east-1.rds.amazonaws.com"
        engine                                = "aurora-postgresql"
      ~ engine_version                        = "12.11" -> "13.6"
        engine_version_actual                 = "12.11"
        id                                    = "psqldb-2"
        identifier                            = "psqldb-2"
        instance_class                        = "db.t3.medium"
        kms_key_id                            = "arn:aws:kms:us-east-1:681496624581:key/f581b6ba-0295-408c-a3cf-ae1a916f5b9e"
        monitoring_interval                   = 10
        monitoring_role_arn                   = "arn:aws:iam::681496624581:role/rds-enhanced-monitoring-psqldb"
        performance_insights_enabled          = false
        performance_insights_retention_period = 0
        port                                  = 5432
        preferred_backup_window               = "02:00-03:00"
        preferred_maintenance_window          = "sun:05:00-sun:06:00"
        promotion_tier                        = 0
        publicly_accessible                   = false
        storage_encrypted                     = true
        tags                                  = {
            "Account"            = "dev"
            "ApplicationName"    = "psql-base"
            "CiscoMailAlias"     =<EMAIL_ADDRESS>            "DataClassification" = "Cisco Confidential"
            "DataTaxonomy"       = "Cisco Operations Data"
            "Environment"        = "dev"
            "ResourceOwner"      = "dCloud"
            "Terraform"          = "true"
        }
        tags_all                              = {
            "Account"            = "dev"
            "ApplicationName"    = "psql-base"
            "CiscoMailAlias"     =<EMAIL_ADDRESS>            "DataClassification" = "Cisco Confidential"
            "DataTaxonomy"       = "Cisco Operations Data"
            "Environment"        = "dev"
            "ResourceOwner"      = "dCloud"
            "Terraform"          = "true"
        }
        writer                                = false

        timeouts {}
    }

Plan: 2 to add, 3 to change, 2 to destroy.

Do you want to perform these actions in workspace "dev"?
  Terraform will perform the actions described above.
  Only 'yes' will be accepted to approve.

  Enter a value: yes

aws_rds_cluster_parameter_group.enable_replication: Creating...
aws_db_parameter_group.enable_pglogical: Creating...
aws_rds_cluster_parameter_group.enable_replication: Still creating... [10s elapsed]
aws_db_parameter_group.enable_pglogical: Still creating... [10s elapsed]
aws_rds_cluster_parameter_group.enable_replication: Creation complete after 12s [id=aurora-pg13-cluster-repl]
module.psqldb.aws_rds_cluster.this[0]: Modifying... [id=psqldb]
aws_db_parameter_group.enable_pglogical: Still creating... [20s elapsed]
aws_db_parameter_group.enable_pglogical: Creation complete after 23s [id=aurora-pg13-pglogical]

Error: Failed to modify RDS Cluster (psqldb): InvalidParameterCombination: Cannot upgrade aurora-postgresql from 12.11 to 13.6
	status code: 400, request id: c9ee2dd1-e8de-44d9-9757-671ecb969c89

  on .terraform/modules/psqldb/main.tf line 47, in resource "aws_rds_cluster" "this":
  47: resource "aws_rds_cluster" "this" {

Have checked the valid upgrade target from 12.11, which resulted 13.7 as the next valid version to upgrade. Tried the same and got the following error. Any thoughts?
 #aws rds describe-db-engine-versions --engine postgres  --engine-version 12.11 --query "DBEngineVersions[*].ValidUpgradeTarget[*].{EngineVersion:EngineVersion}" --output text
13.7
14.3

terraform apply output:

  # aws_db_parameter_group.enable_pglogical must be replaced
+/- resource "aws_db_parameter_group" "enable_pglogical" {
      ~ arn         = "arn:aws:rds:us-east-1:681496624581:pg:aurora-pg12-pglogical" -> (known after apply)
        description = "Managed by Terraform"
      ~ family      = "aurora-postgresql12" -> "aurora-postgresql13" # forces replacement
      ~ id          = "aurora-pg12-pglogical" -> (known after apply)
      ~ name        = "aurora-pg12-pglogical" -> "aurora-pg13-pglogical" # forces replacement
      + name_prefix = (known after apply)
      - tags        = {} -> null
      ~ tags_all    = {} -> (known after apply)

        parameter {
            apply_method = "immediate"
            name         = "log_connections"
            value        = "1"
        }
        parameter {
            apply_method = "pending-reboot"
            name         = "shared_preload_libraries"
            value        = "pglogical,pg_stat_statements"
        }
    }

  # aws_rds_cluster_parameter_group.enable_replication must be replaced
+/- resource "aws_rds_cluster_parameter_group" "enable_replication" {
      ~ arn         = "arn:aws:rds:us-east-1:681496624581:cluster-pg:aurora-pg12-cluster-repl" -> (known after apply)
        description = "RDS cluster parameter group replication"
      ~ family      = "aurora-postgresql12" -> "aurora-postgresql13" # forces replacement
      ~ id          = "aurora-pg12-cluster-repl" -> (known after apply)
      ~ name        = "aurora-pg12-cluster-repl" -> "aurora-pg13-cluster-repl" # forces replacement
      + name_prefix = (known after apply)
      - tags        = {} -> null
      ~ tags_all    = {} -> (known after apply)

        parameter {
            apply_method = "pending-reboot"
            name         = "max_replication_slots"
            value        = "50"
        }
        parameter {
            apply_method = "pending-reboot"
            name         = "max_worker_processes"
            value        = "50"
        }
        parameter {
            apply_method = "pending-reboot"
            name         = "rds.logical_replication"
            value        = "1"
        }
    }

  # module.psqldb.aws_rds_cluster.this[0] will be updated in-place
  ~ resource "aws_rds_cluster" "this" {
        allow_major_version_upgrade         = true
        apply_immediately                   = true
        arn                                 = "arn:aws:rds:us-east-1:681496624581:cluster:psqldb"
        availability_zones                  = [
            "us-east-1a",
            "us-east-1b",
            "us-east-1d",
        ]
        backtrack_window                    = 0
        backup_retention_period             = 7
        cluster_identifier                  = "psqldb"
        cluster_members                     = [
            "psqldb-1",
            "psqldb-2",
        ]
        cluster_resource_id                 = "cluster-AGN3JQUSROTLPAX6L6NL3FSYKM"
        copy_tags_to_snapshot               = false
      ~ db_cluster_parameter_group_name     = "aurora-pg12-cluster-repl" -> "aurora-pg13-cluster-repl"
        db_subnet_group_name                = "psqldb"
        deletion_protection                 = true
        enable_global_write_forwarding      = false
        enable_http_endpoint                = false
        enabled_cloudwatch_logs_exports     = [
            "postgresql",
        ]
        endpoint                            = "psqldb.cluster-cmt6phsh6krf.us-east-1.rds.amazonaws.com"
        engine                              = "aurora-postgresql"
        engine_mode                         = "provisioned"
      ~ engine_version                      = "12.11" -> "13.7"
        engine_version_actual               = "12.11"
        final_snapshot_identifier           = "final-psqldb-7bf0383d"
        hosted_zone_id                      = "Z2R2ITUGPM61AM"
        iam_database_authentication_enabled = true
        iam_roles                           = []
        id                                  = "psqldb"
        kms_key_id                          = "arn:aws:kms:us-east-1:681496624581:key/f581b6ba-0295-408c-a3cf-ae1a916f5b9e"
        master_password                     = (sensitive value)
        master_username                     = "root"
        port                                = 5432
        preferred_backup_window             = "02:00-03:00"
        preferred_maintenance_window        = "sun:05:00-sun:06:00"
        reader_endpoint                     = "psqldb.cluster-ro-cmt6phsh6krf.us-east-1.rds.amazonaws.com"
        skip_final_snapshot                 = true
        storage_encrypted                   = true
        tags                                = {
            "Account"            = "dev"
            "ApplicationName"    = "psql-base"
            "CiscoMailAlias"     =<EMAIL_ADDRESS>            "DataClassification" = "Cisco Confidential"
            "DataTaxonomy"       = "Cisco Operations Data"
            "Environment"        = "dev"
            "ResourceOwner"      = "dCloud"
            "Terraform"          = "true"
        }
        tags_all                            = {
            "Account"            = "dev"
            "ApplicationName"    = "psql-base"
            "CiscoMailAlias"     =<EMAIL_ADDRESS>            "DataClassification" = "Cisco Confidential"
            "DataTaxonomy"       = "Cisco Operations Data"
            "Environment"        = "dev"
            "ResourceOwner"      = "dCloud"
            "Terraform"          = "true"
        }
        vpc_security_group_ids              = [
            "sg-054df949da5864e56",
        ]

        timeouts {}
    }

  # module.psqldb.aws_rds_cluster_instance.this["1"] will be updated in-place
  ~ resource "aws_rds_cluster_instance" "this" {
        apply_immediately                     = true
        arn                                   = "arn:aws:rds:us-east-1:681496624581:db:psqldb-1"
        auto_minor_version_upgrade            = true
        availability_zone                     = "us-east-1b"
        ca_cert_identifier                    = "rds-ca-2019"
        cluster_identifier                    = "psqldb"
        copy_tags_to_snapshot                 = false
      ~ db_parameter_group_name               = "aurora-pg12-pglogical" -> "aurora-pg13-pglogical"
        db_subnet_group_name                  = "psqldb"
        dbi_resource_id                       = "db-U5CPJMUW6VRXIVHFLHISWWM4VQ"
        endpoint                              = "psqldb-1.cmt6phsh6krf.us-east-1.rds.amazonaws.com"
        engine                                = "aurora-postgresql"
      ~ engine_version                        = "12.11" -> "13.7"
        engine_version_actual                 = "12.11"
        id                                    = "psqldb-1"
        identifier                            = "psqldb-1"
        instance_class                        = "db.t3.medium"
        kms_key_id                            = "arn:aws:kms:us-east-1:681496624581:key/f581b6ba-0295-408c-a3cf-ae1a916f5b9e"
        monitoring_interval                   = 10
        monitoring_role_arn                   = "arn:aws:iam::681496624581:role/rds-enhanced-monitoring-psqldb"
        performance_insights_enabled          = false
        performance_insights_retention_period = 0
        port                                  = 5432
        preferred_backup_window               = "02:00-03:00"
        preferred_maintenance_window          = "sun:05:00-sun:06:00"
        promotion_tier                        = 0
        publicly_accessible                   = false
        storage_encrypted                     = true
        tags                                  = {
            "Account"            = "dev"
            "ApplicationName"    = "psql-base"
            "CiscoMailAlias"     =<EMAIL_ADDRESS>            "DataClassification" = "Cisco Confidential"
            "DataTaxonomy"       = "Cisco Operations Data"
            "Environment"        = "dev"
            "ResourceOwner"      = "dCloud"
            "Terraform"          = "true"
        }
        tags_all                              = {
            "Account"            = "dev"
            "ApplicationName"    = "psql-base"
            "CiscoMailAlias"     =<EMAIL_ADDRESS>            "DataClassification" = "Cisco Confidential"
            "DataTaxonomy"       = "Cisco Operations Data"
            "Environment"        = "dev"
            "ResourceOwner"      = "dCloud"
            "Terraform"          = "true"
        }
        writer                                = true

        timeouts {}
    }

  # module.psqldb.aws_rds_cluster_instance.this["2"] will be updated in-place
  ~ resource "aws_rds_cluster_instance" "this" {
        apply_immediately                     = true
        arn                                   = "arn:aws:rds:us-east-1:681496624581:db:psqldb-2"
        auto_minor_version_upgrade            = true
        availability_zone                     = "us-east-1a"
        ca_cert_identifier                    = "rds-ca-2019"
        cluster_identifier                    = "psqldb"
        copy_tags_to_snapshot                 = false
      ~ db_parameter_group_name               = "aurora-pg12-pglogical" -> "aurora-pg13-pglogical"
        db_subnet_group_name                  = "psqldb"
        dbi_resource_id                       = "db-RMB6LTBPSZVI4LLPLVIOLRIWCU"
        endpoint                              = "psqldb-2.cmt6phsh6krf.us-east-1.rds.amazonaws.com"
        engine                                = "aurora-postgresql"
      ~ engine_version                        = "12.11" -> "13.7"
        engine_version_actual                 = "12.11"
        id                                    = "psqldb-2"
        identifier                            = "psqldb-2"
        instance_class                        = "db.t3.medium"
        kms_key_id                            = "arn:aws:kms:us-east-1:681496624581:key/f581b6ba-0295-408c-a3cf-ae1a916f5b9e"
        monitoring_interval                   = 10
        monitoring_role_arn                   = "arn:aws:iam::681496624581:role/rds-enhanced-monitoring-psqldb"
        performance_insights_enabled          = false
        performance_insights_retention_period = 0
        port                                  = 5432
        preferred_backup_window               = "02:00-03:00"
        preferred_maintenance_window          = "sun:05:00-sun:06:00"
        promotion_tier                        = 0
        publicly_accessible                   = false
        storage_encrypted                     = true
        tags                                  = {
            "Account"            = "dev"
            "ApplicationName"    = "psql-base"
            "CiscoMailAlias"     =<EMAIL_ADDRESS>            "DataClassification" = "Cisco Confidential"
            "DataTaxonomy"       = "Cisco Operations Data"
            "Environment"        = "dev"
            "ResourceOwner"      = "dCloud"
            "Terraform"          = "true"
        }
        tags_all                              = {
            "Account"            = "dev"
            "ApplicationName"    = "psql-base"
            "CiscoMailAlias"     =<EMAIL_ADDRESS>            "DataClassification" = "Cisco Confidential"
            "DataTaxonomy"       = "Cisco Operations Data"
            "Environment"        = "dev"
            "ResourceOwner"      = "dCloud"
            "Terraform"          = "true"
        }
        writer                                = false

        timeouts {}
    }

Plan: 2 to add, 3 to change, 2 to destroy.

Do you want to perform these actions in workspace "dev"?
  Terraform will perform the actions described above.
  Only 'yes' will be accepted to approve.

  Enter a value: yes

aws_db_parameter_group.enable_pglogical: Creating...
aws_rds_cluster_parameter_group.enable_replication: Creating...
aws_rds_cluster_parameter_group.enable_replication: Still creating... [11s elapsed]
aws_db_parameter_group.enable_pglogical: Still creating... [11s elapsed]
aws_rds_cluster_parameter_group.enable_replication: Creation complete after 13s [id=aurora-pg13-cluster-repl]
module.psqldb.aws_rds_cluster.this[0]: Modifying... [id=psqldb]
aws_db_parameter_group.enable_pglogical: Creation complete after 19s [id=aurora-pg13-pglogical]

Error: Failed to modify RDS Cluster (psqldb): InvalidDBInstanceState: Cannot modify engine version because instance psqldb-2 is running on an old configuration. Apply any pending maintenance actions on the instance before proceeding with the upgrade
	status code: 400, request id: 11018cd1-2f9b-4f71-8f2a-e327c2528a5f

  on .terraform/modules/psqldb/main.tf line 47, in resource "aws_rds_cluster" "this":
  47: resource "aws_rds_cluster" "this" {

Releasing state lock. This may take a few moments...
➜  psql git:(rds_aurora/egress) ✗

Did you read the error message?

yep, it's stating that, one of the db instances is on old config and applies any pending maintenance, but nothing is listed for the maintenance.
 ~ aws rds describe-pending-maintenance-actions --resource-identifier arn:aws:rds:us-east-1:681496624581:cluster:psqldb
{
    "PendingMaintenanceActions": []
}

It says InvalidDBInstanceState so you need to check the instances themselves, not the cluster
Either way, this is not a module issue

Tried this upgrade myself and bumped into similar issues.
First issue is that changing the family forces a parameter group replacement which will fail to delete as it's attached to the running RDS instance. Adding a lifecyle create_before_destroy solved this.
Second, i'm also unable to upgrade due to InvalidParameterCombination.
# module.app.aws_rds_cluster.this[0] will be updated in-place
~ resource "aws_rds_cluster" "this" {
    ~ db_cluster_parameter_group_name     = "cluster-20220824111932012900000002" -> "cluster-20220824113436472400000002"
    ~ engine_version                      = "13.7" -> "14.3"
      id                                  = "app"
  }

# module.app.aws_rds_cluster_instance.this["1"] will be updated in-place
~ resource "aws_rds_cluster_instance" "this" {
    ~ db_parameter_group_name               = "instance-20220824111932012800000001" -> "instance-20220824113436472300000001"
    ~ engine_version                        = "13.7" -> "14.3"
      id                                    = "app-1"
  }

module.app.aws_rds_cluster.this[0]: Modifying... [id=app]
╷
│ Error: Failed to modify RDS Cluster (app): InvalidParameterCombination: The current DB instance parameter group instance-20220824111932012800000001 is custom. You must explicitly specify a new DB instance parameter group, either default or custom, for the engine version upgrade.
│       status code: 400, request id: dd9a9e9a-26c2-4197-b6c8-d71fefc3ebf6
│
│   with module.app.aws_rds_cluster.this[0],
│   on .terraform/modules/app/main.tf line 47, in resource "aws_rds_cluster" "this":
│   47: resource "aws_rds_cluster" "this" {

Using hashicorp/aws v4.27.0 and rds 7.3.0

RDS upgrade has been done. by following the below Steps
Step 1:
Applying the recommended patches.

Step 2:
Update OS patching on the existing instance.

Step 3:
Taken a snapshot
Step 4:
Ran terraform apply from the branch rds_aurora/egress which has failed with following error.
Error: Failed to modify RDS Cluster (kapuadb): InvalidParameterCombination: Cannot upgrade aurora-postgresql from 12.11 to 13.6
	status code: 400, request id: 699892b5-72e0-4b26-b0dd-a12781507609

Which sorted out after changing the parameter group from aurora-pg12-pglogical to default.aurora-postgresql12 for the db instances .
Step 5:
Rerun the terraform apply. This time, it's just upgraded.

@pfragoso Did you solve the issue you encountered? I'm having the same issue.

@thomasplarsson Hi. Not really, ended up doing the upgrade by hand.

@pfragoso Ok. I can report that this worked almost out of the box now for me. I only needed to add the "create_before_destroy" to the parameter groups. I had only made a manual error before.


Feature Request: Add Withdraw feature for bitstamp

I have a  [FEATURE REQUEST]
Details:
The bitstamp withdraw option gives an NotImplemented. Is there any release schedule for this function.

Not unless you or someone else do a pull request or donate


unrar: 6.1.3 -> 6.1.4

Automatic update generated by nixpkgs-update tools. This update was made based on information from https://repology.org/metapackage/unrar/versions.
meta.description for unrar is: "Utility for RAR archives"
meta.homepage for unrar is: "https://www.rarlab.com/"
meta.changelog for unrar is: ""
Updates performed

Version update

To inspect upstream changes
Impact

Checks done (click to expand)

built on NixOS
The tests defined in passthru.tests, if any, passed
Warning: no invocation of /nix/store/1hxn92p0af3qqhnh19yp8wm920hrskq8-unrar-6.1.4/bin/unrar had a zero exit code or showed the expected version
0 of 1 passed binary check by having a zero exit code.
0 of 1 passed binary check by having the new version present in output.
found 6.1.4 in filename of file in /nix/store/1hxn92p0af3qqhnh19yp8wm920hrskq8-unrar-6.1.4

Rebuild report (if merged into master) (click to expand)

12 total rebuild path(s)

7 package rebuild(s)

7 x86_64-linux rebuild(s)
5 x86_64-darwin rebuild(s)

First fifty rebuilds by attrpath
bazarr
python310Packages.unrardll
python39Packages.unrardll
rar2fs
rarcrack
sabnzbd
unrar

Instructions to test this update (click to expand)

Either download from Cachix:
nix-store -r /nix/store/1hxn92p0af3qqhnh19yp8wm920hrskq8-unrar-6.1.4 \
  --option binary-caches 'https://cache.nixos.org/ https://nix-community.cachix.org/' \
  --option trusted-public-keys '
  nix-community.cachix.org-1:mB9FSh9qf2dCimDSUo8Zy7bkq5CX+/rkCWyvRCYg3Fs=
  cache.nixos.org-1:6NCHdD59X431o0gWypbMrAURkbJ16ZPMQFGspcDShjY=
  '

(The Cachix cache is only trusted for this store-path realization.)
For the Cachix download to work, your user must be in the trusted-users list or you can use sudo since root is effectively trusted.
Or, build yourself:
nix-build -A unrar https://github.com/r-ryantm/nixpkgs/archive/e8b0af1b58c141f81a582f28d6daaf1e5ad9a080.tar.gz

After you've downloaded or built it, look at the files and if there are any, run the binaries:
ls -la /nix/store/1hxn92p0af3qqhnh19yp8wm920hrskq8-unrar-6.1.4
ls -la /nix/store/1hxn92p0af3qqhnh19yp8wm920hrskq8-unrar-6.1.4/bin

Pre-merge build results
We have automatically built all packages that will get rebuilt due to
this change.
This gives evidence on whether the upgrade will break dependent packages.
Note sometimes packages show up as failed to build independent of the
change, simply because they are already broken on the target branch.
Result of nixpkgs-review run on x86_64-linux 1

7 packages built:

bazarr
python310Packages.unrardll
python39Packages.unrardll
rar2fs
rarcrack
sabnzbd
unrar

Maintainer pings
cc @ehmry for testing.

Would be nice to have a changelog.

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

7 packages built:

bazarr
python310Packages.unrardll
python39Packages.unrardll
rar2fs
rarcrack
sabnzbd
unrar


[GLUTEN-1632][CH]Daily Update Clickhouse Version (20240822)

Auto commit by gluten daily build, please check the build status and merge it if it's green.

Rebase failed:

https://github.com/ClickHouse/ClickHouse/pull/63798

we need:

https://github.com/ClickHouse/ClickHouse/pull/68523
https://github.com/ClickHouse/ClickHouse/pull/68494


problem with scroll

Hi,
I don't understand why horizontal scroll doesn't exist
it seems like the vuetable class prevents the table from scrolling horizontally..
Any idea what's the problem ?

Not sure. Could it be because of this wrapperClass?


[BUG] MQTT suspend suspends all connected clients

Go Hass Agent Version
Go Hass Agent: v10.0.0
Describe the bug
If you have two computers running go-hass-agent connected to MQTT, pressing suspend on one of them suspends all of them. Because the MQTT button is not namespaced for the client.
To Reproduce
Steps to reproduce the behaviour:

Install go-hass-agent on two computers, and configure them for MQTT
Press suspend on the first computer

Expected behaviour
Only the computer chosen should suspend.
Additional context
Add any other context about the problem here.
It looks like every agent just listens for the "go_hass_agent_suspend" topic. They should listen to topics namespaced for the specific client. This is probably a bug for all MQTT commands, but I've only tested suspend.

Oh dear, this is a PEBKAC, and by PEBKAC, I mean I am the problem. I changed part of the naming convetion for the entities for the power and session controls thinking "I don't need this bit of the name" but, in fact, I did need that part of the name to make it unique. Fixed with e77b9274aac249d6e1ddbc61457ed441c19c6a6c and I'll get a patch release out shortly.
Side note: this was also always a problem with the D-Bus command functionality, fixed with d403dbbe3867764cc43e014189b0ee4d5ad27f3e.
Thank you for reporting!

Hi @joshuar,
Thanks for resolving the issue so quickly. I've reviewed the changes made to the code and I see that the topic has changed when publishing a command to D-Bus. I'm trying to send a notification from HAss, but I'm unable to do so—I get the following error:
WARN Error dispatching D-Bus command. linux.controller=mqtt controller=dbus_command bus=session destination=org.freedesktop.Notifications path=/org/freedesktop/Notifications method=org.freedesktop.Notifications.Notify error="SessionBus: call could not retrieve object (No such method 'Notify' in interface 'org.freedesktop.Notifications' at object path '/org/freedesktop/Notifications' (signature 'sdsssava{sv}d'))"

And this is the JSON message I'm publishing in the gohassagent/<my-computer-name>/dbuscommand topic:
{
  "bus": "session",
  "path": "/org/freedesktop/Notifications",
  "method": "org.freedesktop.Notifications.Notify",
  "destination": "org.freedesktop.Notifications",
  "args": [
    "my-app-name",
    0,
    "my-icon",
    "summary",
    "body",
    [],
    {},
    5000
  ],
  "use_session_path": false
}

I think it might be that I'm not correctly typing the parameters for the Notify method. It works fine from a D-Bus explorer on my system.
Is it due to my incompetence, or could there be an issue mapping JSON values to Go's native types?
Thanks a lot, and sorry if I went off-topic too much.

Hey @eleektro, I  believe this is a separate issue so I've moved the discussion over to #252. Let's discuss there.

This issue should be closed by https://github.com/joshuar/go-hass-agent/commit/e77b9274aac249d6e1ddbc61457ed441c19c6a6c which is part of release v10.0.1. I'm going to close this issue off but please re-open if you are still facing this issue.


WebSocket proxy in middleware mode

Clear and concise description of the problem
vite's WebSocket proxy doesn't work in middleware mode even if set ws: true  like the following.
import vite from 'vite';
import http from 'http';

let handler = (req, res) => {};
const parentServer = http.createServer(handler);

const viteServer = await vite.createServer({
  server: {
    middlewareMode: true,
    proxy: {
      '/ws': {
        target: 'ws://localhost:8080',
        changeOrigin: true,
        ws: true, // even if true, websocket proxy doesn't work.
      }
    }
  }
});

handler = (req, res) => async () => {
  viteServer.middlewares(req, res, async () => {...})
}

parentServer.listen();

Because httpServer is required to set up WebSocket proxy but httpServer becomes null in middleware mode.
https://github.com/vitejs/vite/blob/5c177db9597344b8151c8e421ddbced36c4151c7/packages/vite/src/node/server/index.ts#L315-L317
https://github.com/vitejs/vite/blob/5c177db9597344b8151c8e421ddbced36c4151c7/packages/vite/src/node/server/index.ts#L462
https://github.com/vitejs/vite/blob/5c177db9597344b8151c8e421ddbced36c4151c7/packages/vite/src/node/server/middlewares/proxy.ts#L60-L73
So, we have to add WebSocket proxy code in our code with a way like copy&paste from proxyMiddleware in proxy.ts. This is a little inconvenient.
// add dependency for creating proxyServer
import { httpProxy } from 'http-proxy';

...

parentServer.on('upgrade', () => {
  //
  // copy & paste from
  // https://github.com/vitejs/vite/blob/main/packages/vite/src/node/server/middlewares/proxy.ts#L35-L78
  //
}).listen();

Suggested solution
I think it would be very useful to be able to pass the parent server like hmr.

vite/src/node/server/index.ts

export interface ServerOptions {
  ...

  // current
  // middlewareMode?: boolean | 'html' | 'ssr'

  // this proposal
  middlewareMode?:
    | boolean
    | 'html'
    | 'ssr'
    | { mode: true | 'html' | 'ssr'; parentServer: http.Server }

  ...
}

The following link shows an example implementation.
https://github.com/tomoam/vite/commit/38e54e70104b6c20be27cbfd94497f039f1e94e8
In this case, WebSocket proxy will work in middleware mode, without adding any complicated code.
const parentServer = http.createServer(...);

...

const viteServer = await vite.createServer({
  server: {
    middlewareMode: {
      mode: 'ssr',
      parentServer: parentServer // pass the parent server
    },
    proxy: {
      '/ws': {
        target: 'ws://localhost:8080',
        changeOrigin: true,
        ws: true
      }
    }
  }
});

...

parentServer.listen();

Alternative
export proxyMiddleware.

vite/src/node/index.ts

// add export
export { proxyMiddleware } from './server/middlewares/proxy'

The following link shows an example implementation.
https://github.com/tomoam/vite/commit/328610d2679ca661a590283d74df4a25e2d715b9
In this case, we will need to find and update the configured proxy middleware, but we will not need to copy and paste the code from proxy.ts and import http-proxy, and the impact will be minimal for vite.
...

const parentServer = http.createServer(...);

const viteServer = await vite.createServer({
  server: {
    middlewareMode: true,
    proxy: {
      '/ws': {
        target: 'ws://localhost:8080',
        changeOrigin: true,
        ws: true
      }
    }
  }
});

// find the proxy middleware in ViteDevServer.middlewares
const index = viteServer.middlewares.stack.findIndex(
  (mw) =>
    mw.route === '' &&
    typeof mw.handle === 'function' &&
    mw.handle.name === 'viteProxyMiddleware'
);

// update the proxy middleware with exported `proxyMiddleware`
viteServer.middlewares.stack[index].handle = vite.proxyMiddleware(
  parentServer, // pass the parent server
  viteServer.config
);

parentServer.listen();

Additional context
No response
Validations

[X] Follow our Code of Conduct
[X] Read the Contributing Guidelines.
[X] Read the docs.
[X] Check that there isn't already an issue that request the same feature to avoid creating a duplicate.

If you approve this proposal, I would like to work on this and create a PR.

I just stumbled across this, while writing a vite plugin. httpServer is not exposed so there is no way to listen for upgrade. Not sure how to circumvent this issue right now, without resorting to ugly workarounds.

I think we could add a server.proxy.server option here following https://github.com/vitejs/vite/blob/9e06b81973cf298aeb0a1f48c67a496bf984c663/packages/vite/src/node/server/hmr.ts#L26. I dont know if the hmr and proxy servers ever need to be different. A PR with a proposal and detailing use cases would be good so we can discuss it with other maintainers.

I just stumbled across this, while writing a vite plugin. httpServer is not exposed so there is no way to listen for upgrade. Not sure how to circumvent this issue right now, without resorting to ugly workarounds.

Is this the only hinderance? Socket.io supports setting upgrade false and transport to WebSockets only. if the WebSockets proxy is doing it's job in vite, our WS server should respond throught the proxy, even if our WS server is only listening for vite's proxy server traffic.
I'm going to try to make a sandbox with a websockets proxy setup today.

News on this? I have to proxy websockets and I cannot make them work with vite anyway

Two years and no fix on that ? This is a critical feature.


Include babel pollyfill for npm run build

Vuex and other stuffs needs a polyfill to work with <IE11, it would be nice to have it included by default in production env.
If im changing the files like this
my webpack.base.conf.js:
entry: {
app: ['./src/main.js'],
 },

my webpack.prod.conf.js:
entry: {
  app: ['babel-polyfill', './src/main.js'],
},

I can't get it work

You could import babel-polyfill in your main.js

The babel polyfill is really heavy, and polyfills much more than the Promise object required by vuex. I would rather use es6-promise.
Vuex is not included in this template, so why should we include a polyfill that it needs? Smae goes for "other stuff"
Not everyone develops for <IE11, many don't anymore.  I would rather have people developing for older browsers to include their polyfills themselves than forcing people developing for modern browsers to actively remove unnessessary polyfills.


[Event Request] CU80 OnBeforePostSalesDoc - IncludeSender

Please Include Sender for procedure OnBeforePostSalesDoc in CU80. In our case we have a need to call the function SetPostingFlags when using OnBeforePostSalesDoc. Alternatively the function SetPostingFlags could be called before the publisher.

Function SetPostingFlags already made external, it should resolve you case.


Song playing while "paused" on chart preview

Describe the bug
Text Paused is shown on preview while song is playing
To Reproduce
Steps to reproduce the behavior:

Go to any song
Pause it without preview
While paused, preview it

Expected behavior
The song should be playing while text Paused still in the playfield
Screenshots
Video is more suitable https://youtu.be/LyaVwtwAtus
Desktop (please complete the following information):

OS: Windows 10
Version: 1903
64bit or 32bit: 64bit

Very simple oversight that can be fixed in one of two ways from either Lua or C++.
An explanation of why it happens on the programming side of things is pretty much equivalent to the reproduction steps here. If you pause the preview and switch songs, another song starts and disregards the pause boolean. The pause boolean is not reset and not correctly checked either in Lua or in C++. Which one is up in the air, really. Either C++ should be pausing the music immediately, or Lua should not be displaying the "Paused" text.

Duplicate #614


Optimize performance of editing a message you just sent

Currently, we still need to fetch the raw content of a message you just sent from the server in order to open the edit-message widget.  In the event that the message was locally echoed and has not been edited since then, this extra step is unnecessary (we can just store the raw content in message_store.js, and discard it on-edit).
Fixing this could materially improve the feeling of responsiveness when opening Zulip's message editing UI, especially with a slow network connection to the server.

I would like to take on this issue, I'm curious how could I get started with getting to know which moving parts I should be looking at? Other than message_store.js

https://zulip.readthedocs.io/en/latest/markdown.html is useful reading to learn about how we do local echo for sending messages (you can skim the rest).  http://zulip.readthedocs.io/en/latest/events-system.html is long but may also be helpful reading for how the Zulip real-time update system works; you should at least read the section around server_events.js either there or in our developer tutorials.
If you look at send_message in compose.js, that's where we set the local_id on messages that are sent from the current browser, using the echo.try_deliver_locally code path which calls insert_local_message.  And then there's a second function with reify in its name that is called when the message is successfully delivered.
I think we probably want to do 2 things:

Tweak either insert_local_message or reify_message_id to store the raw content on the message object, maybe as message.raw_content.  Probably insert_local_message makes the most sense.
Patch message_edit.start to check the message.raw_content field, and if it has data, skip the fetch_raw_content request to the server.
Modify the message_events.update_messages  code path (called from server_events.js when any browser edits a message) to discard or update message.raw_content when the content is edited by another client, so that this optimizations never results in showing out-of-date raw content.

That should be what you need to know to resolve this!  Thanks @CestDiego, and let me know if you have any questions!

@zulipbot claim

@CestDiego how are your efforts on this going?


wwwroot will not be included in Maintenance.Web package

Don't we need the wwwroot folder as it contains the compiled JS or am I missing something?

Yeah, I'm trying to solve the same problem with #191
This solves the issue that the content of wwwroot is in the contentfiles of the package and thus pops up in the wwwroot directory of the referencing application. However, the content of wwwroot should be copied to the staticwebassets folder within the package, as it is done on the dev branch 🤔
So unfortunately this is not the solution to our problem 😐

Solved with #191


Emit events when populator starts / finishes

What type of PR is this?
/kind feature
What this PR does / why we need it:
Emit events when a populator pod starts / finishes or on Pod/PVC creation error.
Not emitting events on deletion errors - they should IMO not block the populated volume from being used. An alert would be nice for these.
Example:
  Type    Reason                Age                    From                                                                                Message
  ----    ------                ----                   ----                                                                                -------
  Normal  WaitForFirstConsumer  3m46s                  persistentvolume-controller                                                                          waiting for first consumer to be created before binding
  Normal  PopulatorCreated      3m46s                  hello.example.com-populator                                                                          Populator started
  Normal  Provisioning          3m38s                  ebs.csi.aws.com_aws-ebs-csi-driver-controller-6fbb6fdb7b-57npk_7db0e38d-b1df-4f6e-8b07-a49ecc57d7fa  External provisioner is provisioning volume for claim "default/myclaim"
  Normal  Provisioning          3m38s                  external-provisioner                                                                                Assuming an external populator will provision the volume
  Normal  ExternalProvisioning  3m23s (x3 over 3m38s)  persistentvolume-controller                                                                          waiting for a volume to be created, either by external provisioner "ebs.csi.aws.com" or manually created by system administrator
  Normal  PopulatorFinished     3m8s                   hello.example.com-populator                                                                          Populator finished

As you can see, the order of events is not great, still, it's better than nothing.
Which issue(s) this PR fixes:
Special notes for your reviewer:
Does this PR introduce a user-facing change?:

Action Needed: Emit events when a populator pod starts / finishes or on Pod/PVC creation error. The populator now needs RBACs to `create` `events`!

lgtm.
Cc @bswartz for approval.

/assign @bswartz


Issues when setting an initial Value other than 0

This control works reasonably well, thank you for the time you put in to it. When using this control I want to set an initial value which I do with:
slider.minimumValue = 0
slider.maximumValue = 255
slider.value = 50
The control takes this value, and when you read it back it returns 50, however the visual slider in the UI remains at 0. When you start to move it, the control resets its value to 0 and starts incrementing from there. Would be great if this could display the correct initial value.

This looks to be a race condition if I place a delay on setting the .value then the UI is updated....
        DispatchQueue.main.asyncAfter(deadline: .now() + 0.1) {
            self.slider.value = red
        }


j[BACKLOG-26905] - jms consumer might lose messages on safe stopping

need to wait for receive loop to finish before completing publishProcessor
rx Observable created multiple threads so that emitter.onNext was asyncronous before hitting the publisher.  that allowed time for the publisher to close before it got the last message sent.  removed in favor of a single thread for receive loop

Build Completed
:white_check_mark: This pull request has passed all validations.
Build Commands
mvn -B -f 'pom.xml' -pl 'plugins/streaming/impls/jms' -P '!assemblies' -Dsurefire.runOrder=alphabetical -Daudit -amd clean install

Cleanup Commands
mvn -B -f 'pom.xml' -pl 'plugins/streaming/impls/jms' -P '!assemblies' -amd build-helper:remove-project-artifact

Changed files
  plugins/streaming/impls/jms/src/main/java/org/pentaho/di/trans/step/jms/JmsStreamSource.java
  plugins/streaming/impls/jms/src/test/java/org/pentaho/di/trans/step/jms/JmsStreamSourceTest.java


Invalid handing of Primop argument to printf

Consider the following FIRRTL:
circuit Bug :
  module Bug :
    input clk : Clock
    input a : UInt<1>
    input b : UInt<1>

    printf(clk, UInt<1>(1), "%d\n", and(a, b))

Scala FIRRTL currently compiles to the following invalid Verilog:
module Bug(
   input   clk,
   input   a,
   input   b
);
   always @(posedge clk) begin
      `ifndef SYNTHESIS
         if(1'h1) begin
            $fwrite(32'h80000002,"%d\n",and(a, b));
         end
      `endif
   end
endmodule

Stanza FIRRTL does the same thing it does in #64, it puts quotes around "and(a,b)".
The spec just says the arguments to printf must have a ground type, which primops do, so I believe this should be handled by a pass. I'm not 100% on what all of the passes do but it looks like it might belong in Split Expressions or something similar. Documentation on what each pass does would be helpful.
@azidar please advise.

Should be fixed in pull request #75.

Looks good to me!


Ajax loaded forms IE7/IE8

In IE7/IE8 with jQuery 1.11.0 you cannot enter text in inputs created after document ready.
If you click in such an input, it will lose focus immeditely.
Suggested fix: change line 77 to
$('body').on('click', 'form', function(e){ e.stopPropagation(); });

Not to re-open issues, but this fix actually prevents the use all document/body level click events in ASP.NET form, since the page is essentially a giant form and everything is inside the form.


Navigation drawer component

This create the navigations drawer component.

[x] Add SF Pro Icons
[x] Add animations to button clicks (add a new issue)
[x] Style content of navigation drawer similar to mockup (add a new issue)

closes #93

@saihaj I can't see where the NavigationDrawer component is actually being used, so not really sure how it can be rendering in the app?

@swissarmykirpan So earlier I had 3 features together and that was just a mess. So know I am splitting my work from dev  into branches. So this PR is only for the component and of this branch I will be adding home-screen in which you can see the component in action.

@saihaj I can't see where the NavigationDrawer component is actually being used, so not really sure how it can be rendering in the app?

Ideally we should add the component into the screen that it is integrating into, since we want to write a test that verify that the component can load into the app. I would suggest that we have two options:

Integrate this component into the existing home page
Create the home page first and get that PR merged first, and then have this come in subsequently.

I can add the home screen into this PR

I can add the home screen into this PR

Since that is an additional component. I would probably refrain from doing that. I'd say let's do the Home Screen first (without the NavigationDrawer. Then we can revisit this then

Should this perhaps be named "Shortcuts Drawer" instead of Navigation Drawer? The navigation aspect is but a part of what this drawer is for. It will also be used for bookmarking, accessing settings, changing reader mode settings, etc. Should be considered more of a quick shortcuts area imo

If @Harjot1Singh @swissarmykirpan agree then I can make refactor to change name from NavigationDrawer to ShortcutsDrawer

Should this perhaps be named "Shortcuts Drawer" instead of Navigation Drawer? The navigation aspect is but a part of what this drawer is for. It will also be used for bookmarking, accessing settings, changing reader mode settings, etc. Should be considered more of a quick shortcuts area imo
Edit: I'm happy for that refactor to occur after all of Saihaj's PRs are merged in from this week

I don't think I can use more native-base components. It is just too much work to replace View with whatever native-base has to offer as an alternative.

@Harjot1Singh @swissarmykirpan this is now synced with dev and should work fine

This is going in for now, and will be evaluated with the codebase as a whole shortly.


the wrong configuration of a route will affect all routes that cannot be used?

I have configured several routes, one of which is a wrong configuration, which will cause all routes to be unusable. Is there any way to solve this problem? I want the gateway to be able to exclude misconfigured routes without affecting other correct routes.

How to determine what is wrong or misconfigured?

How to determine what is wrong or misconfigured?

Yes, I want to check if defintion is the correct configuration before executing the code "routeDefinitionWriter.save(Mono.just(defintion)).subscribe()"

What I'm asking is, what determines if it is correct or not?

Closing due to age of the question. If you would like us to look at this issue, please comment and we will look at re-opening the issue.


Add Metrics#isEnabled()

Metrics#isEnabled() was removed in bStats v2. Please add this back so plugins can determine if metrics have been enabled/disabled globally.
The use case is for plugins, in the interests of transparency, to print a message at startup indicating that metrics data collection is enabled for the plugin. Printing such a message when metrics has been globally disabled is confusing and inaccurate.

You can try that if you want:
Metrics metrics = new Metrics(this, yourid);
if (YamlConfiguration.loadConfiguration(new File(new File(this.getDataFolder().getParentFile(), "bStats"), "config.yml")).getBoolean("enabled", true)) {
    Bukkit.getLogger().info("[Metrics] Metrics are enabled!");
}

The use case is for plugins, in the interests of transparency, to print a message at startup indicating that metrics data collection is enabled for the plugin. Printing such a message when metrics has been globally disabled is confusing and inaccurate.

If this would have been intended, bStats would print such a message itself. Some Metrics classes (and in the future most likely every) log a message when the bStats config file gets created for the first time:
https://github.com/Bastian/bStats-Metrics/blob/cb92d2653c5aa478599c5638c446371d247d6123/velocity/src/main/java/org/bstats/velocity/Metrics.java#L87-L94
Additionally, a #isEnabled() method can (and has been) abused by plugin developers, e.g. by delaying server startup time, begging users to enable bStats, etc.


Add support for VRAM-compressed custom mouse cursor images

Follow-up to https://github.com/godotengine/godot/pull/76308.

No memory is actually saved when using this, so lossless modes are still recommended as they look better and load faster.
Testing project: test_custom_mouse_cursor_vram.zip

This closes https://github.com/godotengine/godot/issues/32147.

Thanks!


Update installation Instructions

I am able to install this as a dependency but I cannot pip install -e . inside of a virtual env
❯ pip install -e  .
Obtaining file:///Users/jslesar/projects/tsdownsample
  Installing build dependencies ... done
  Checking if build backend supports build_editable ... done
  Getting requirements to build editable ... done
  Preparing editable metadata (pyproject.toml) ... done
Collecting numpy
  Using cached numpy-1.24.1-cp310-cp310-macosx_11_0_arm64.whl (13.9 MB)
Building wheels for collected packages: tsdownsample
  Building editable for tsdownsample (pyproject.toml) ... error
  error: subprocess-exited-with-error

  × Building editable for tsdownsample (pyproject.toml) did not run successfully.
  │ exit code: 1
  ╰─> [60 lines of output]
      Running `maturin pep517 build-wheel -i /Users/jslesar/projects/tsdownsample/venv/bin/python3 --compatibility off --editable`
      📡 Using build options bindings from pyproject.toml
      💻 Using `MACOSX_DEPLOYMENT_TARGET=11.0` for aarch64-apple-darwin by default
         Compiling argminmax v0.3.1
      error: could not compile `argminmax` due to 7 previous errors
      💥 maturin failed
        Caused by: Failed to build a native library through cargo
        Caused by: Cargo build finished with "exit status: 101": `"cargo" "rustc" "--release" "--manifest-path" "/Users/jslesar/projects/tsdownsample/Cargo.toml" "--message-format" "json" "--lib" "--" "-C" "link-arg=-undefined" "-C" "link-arg=dynamic_lookup" "-C"<EMAIL_ADDRESS>      📦 Including license file "/Users/jslesar/projects/tsdownsample/LICENSE"
      🍹 Building a mixed python/rust project
      🔗 Found pyo3 bindings
      🐍 Found CPython 3.10 at /Users/jslesar/projects/tsdownsample/venv/bin/python3
      error[E0554]: `#![feature]` may not be used on the stable release channel
       --> /Users/jslesar/.cargo/registry/src/github.com-1ecc6299db9ec823/argminmax-0.3.1/src/lib.rs:1:1
        |
      1 | #![feature(stdsimd)]
        | ^^^^^^^^^^^^^^^^^^^^

      error[E0554]: `#![feature]` may not be used on the stable release channel
       --> /Users/jslesar/.cargo/registry/src/github.com-1ecc6299db9ec823/argminmax-0.3.1/src/lib.rs:2:1
        |
      2 | #![feature(avx512_target_feature)]
        | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

      error[E0554]: `#![feature]` may not be used on the stable release channel
       --> /Users/jslesar/.cargo/registry/src/github.com-1ecc6299db9ec823/argminmax-0.3.1/src/lib.rs:3:1
        |
      3 | #![feature(arm_target_feature)]
        | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

      error[E0554]: `#![feature]` may not be used on the stable release channel
       --> /Users/jslesar/.cargo/registry/src/github.com-1ecc6299db9ec823/argminmax-0.3.1/src/lib.rs:4:1
        |
      4 | #![feature(int_roundings)]
        | ^^^^^^^^^^^^^^^^^^^^^^^^^^

      error[E0554]: `#![feature]` may not be used on the stable release channel
       --> /Users/jslesar/.cargo/registry/src/github.com-1ecc6299db9ec823/argminmax-0.3.1/src/lib.rs:1:12
        |
      1 | #![feature(stdsimd)]
        |            ^^^^^^^

      error[E0554]: `#![feature]` may not be used on the stable release channel
       --> /Users/jslesar/.cargo/registry/src/github.com-1ecc6299db9ec823/argminmax-0.3.1/src/lib.rs:4:12
        |
      4 | #![feature(int_roundings)]
        |            ^^^^^^^^^^^^^

      error: aborting due to 6 previous errors

      For more information about this error, try `rustc --explain E0554`.

      Error: command ['maturin', 'pep517', 'build-wheel', '-i', '/Users/jslesar/projects/tsdownsample/venv/bin/python3', '--compatibility', 'off', '--editable'] returned non-zero exit status 1
      [end of output]

  note: This error originates from a subprocess, and is likely not a problem with pip.
  ERROR: Failed building editable for tsdownsample
Failed to build tsdownsample
ERROR: Could not build wheels for tsdownsample, which is required to install pyproject.toml-based projects

In order to run python tests I needed to also pip install tsdownsample in my venv which seems sort of broken

``#![feature] may not be used on the stable release channel

Is it possible that you are on the stable release, instead of the nightly release of Rust?

In order to run python tests I needed to also pip install tsdownsample in my venv which seems sort of broken

Can you elaborate further on this?

Looked further into it and pip install -e . requires now a setup.py - as we do not use / need a setup.py I'll change this to pip install .


[Improvement] Calls to code marked @VisibleForTesting in production code

What would you like to be improved?
In KerberosClient.java this line:
UserGroupInformation.setLoginUser(kerberosLoginUgi);
In PaimonCatalogOps.java this line:
paimonBackendCatalogWrapper = loadCatalogBackend(paimonConfig);
How should we improve?
Either not make the call or remove the @VisibleForTesting annotation.

@justinmclean I would like to work on it!

Hey, as when I looked into the code I found @VisibleForTesting only in the loadCatalogBackend method of the PaimonCatalogOps.java file. So I am proposing to remove the annotation only in that file. As the loadCatalogBackend method is necessary for the proper functioning of the PaimonCatalogOps, it needs to be accessible in production code.

Hey @justinmclean can you review my PR

hey @justinmclean I have created a new PR and check for gradle build locally and it is working fine..!

setLoginUser is marked @VisibleForTesting so it would be good to fix that as well.

ok

Hello @justinmclean I have updated the PR with another commit.Please review it!!


[BUG] Missing functionality - Storage > Backups

Describe the bug
The functionality we had in the old UI is missing in Primate UI - Storage > Backups
To Reproduce
Steps to reproduce the behavior:

Go to 'Storage' and look at the sub-sections in the drop-down - there's no 'Backups' there.

Expected behavior
Storage > Backups functionality must be present, as in the old UI.
Screenshots
Old UI:

Primate UI:

Desktop (please complete the following information):

OS: Linux Ubuntu 18.04 LTS
Browser: Chrome
Version: 80.0.3987.132 (Official Build) (64-bit)

Additional context
None

More issues logged https://github.com/apache/cloudstack-primate/issues/253


Impossible to configure the trigger with properties

I am trying to do something simple. When one csv file is added to my blob container, I want its content to be copied in a SQL database. My pipeline is ok, when I trigger it manually, it works fine.
Now I want to set up an event-based trigger, so that the pipeline runs everytime a blob is created. But I can't figure out how to use the properties to run the pipeline only on the new file which fired the trigger, and not on all the already existing files. This is what is described in Step 11 but the screenshot is not up-to-date, there are plenty of places where I can specify folders and file names, plenty of spaces when I can define parameters, and I am completely lost. What should I put where in the CURRENT ADF version ??
Thanks

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

ID: b7ee5166-ff40-f4ed-ce07-5312f935e388
Version Independent ID: 68f01b43-e3b2-003b-24cb-446a08aa0c1b
Content: Create event-based triggers in Azure Data Factory - Azure Data Factory
Content Source: articles/data-factory/how-to-create-event-trigger.md
Service: data-factory
GitHub Login: @djpmsft
Microsoft Alias: daperlov

@bkieffer-VE Thanks for the comment. We are actively investigating and will get back to you soon.

Hi @bkieffer-VE , thanks for reaching out and sorry for the inconvenience.
Please Map trigger properties to pipeline parameters. (In order to do so, first create the pipeline parameters and then click new/edit trigger of pipeline, and map the trigger properties to pipeline parameters )
Below are the properties to be mapped:
sourceFile = @trigger().outputs.body.fileName
sourceFolder = @trigger().outputs.body.folderPath

Create data parameters:

Map pipeline parameters to dataset parameters. (User pipeline parameters that are mapped to trigger properties)

Please try and let me know if you see any issues.
I will work on updating the document with correct trigger properties.

@bkieffer-VE I have submitted a PR to reflect the doc with correct trigger properties. The changes will be merged soon.
I will work with internal team to update the image as well.
Please follow above instructions and let us know if you see any issues.
Thank you.

Hi @KranthiPakala-MSFT , thanks a lot, it works perfectly. Actually, it was not an issue of ADF version, but there was one step missing : the one to create the dataset parameters.
Thanks again for the quick fix !

@bkieffer-VE Glad to be of help. Thanks for letting us know. 😊


[feature] Shareable link to color palette configuration

It would be fantastic to share a parameterized link to a set of color palettes.  I just found I wanted to share one with a coworker via slack, but he needs to enter the parameters.
Awesome tool.

Here is the catch- saving an entire palette to the URL uses up the max length of the URL rather quickly. I could encode the main color of each palette into the URL- but if you'd want an exact match (for custom colors) you'd need to use the Export and Import features. The Export has a "MCG" option specifically designed to allow you to use the import to match a palette.
I'll add URL encoding for the primary color of each palette and their names soon.

I think the primary match is what I'm looking for.  Understood that you can't share all if it is fully customized.

Hey @rosskevin ,
I've got this implemented now. As you built themes it should update the URL. Here is a test URL:
http://mcg.mbitson.com/#!?mcgpalette0=%233f51b5&mcgpalette1=%2326a69a&themename=test
Thank you!


MacOS client, High Sierra 10.13.6 - FACEBOOK proof is unreachable

While attempting to validate against Facebook I'm experiencing a problem.  Keybase presents the FB Posting Window, but after I save I'm redirected to:
https://keybase.io/_/facebook_post_redirect?sig_id_med=REDACTED&keybase_token=REDACTED
And the error says:
"Error 500. Something is not right. We will look into it."
I approve the Keybase dialog and it is unable to verify.
I close the window and return to Facebook https://www.facebook.com/chris.d.luther and the post is there - and it is set to public.  However in Keybase my facebook provide is shown as "unreachable"
I wait several hours I get an email:
========

Hi, cluther, your attempted facebook identity proof of chris.d.luther never succeeded. We've been checking it repeatedly, and from our perspective, it's either (a) not there, or (b) not posted precisely.

=======
Following recommendation in keybase/keybase-issues#2957, I deleted the FB proof and FB post and tried again.  Same thing.
On the third try I follow the email's suggestion and in terminal run:
$ keybase prove facebook

Eventually the function returns
=================
   https://facebook.com/v2.9/dialog/oauth?client_id=REDACTED&display=popup&response_type=code&scope=user_posts&redirect_uri=https%3A%2F%2Fkeybase.io%2F_%2Ffacebook_login_redirect&state=%7B%22sig_id_med%22%3A%22K_oLuTqfCicJEWV8Nq-REDACTED
================
I tried to use this URL to create a new FB post, but the error persists.
I'm unable to verify against Facebook.
Thanks,
Chris Luther

Fixed see https://github.com/keybase/client/issues/14537#issuecomment-435939898
Thanks for the detailed report!

verified.  Thanks for the quick fix.


[FEATURE] Implement PayoutsInterface for MockDb

Feature Description
MockDb allows consumers to run hyperswitch without psql. This needs to be added for payout tables - payouts and payout_attempt
Possible Implementation
Similar to how it's being done for other tables.
See #172 for more information.
Have you spent some time checking if this feature request has been raised before?

[X] I checked and didn't find a similar issue

Have you read the Contributing Guidelines?

[X] I have read the Contributing Guidelines

Are you willing to submit a PR?
Yes, I am willing to submit a PR!

Hi @SanchithHegde, I would like to work on this issue.
But, I already see a existing implementation here. Is there anything more specific I need to target or am I completely wrong.
I am newbie here glad to get assisted further to kickstart my first contribution.

Hey @srini047, you've correctly identified the PayoutsInterface implementaion on MockDb, but if you notice, all of the methods in the implementation return an error, because the Rust type system enforces us to provide a placeholder implementation.
As part of this issue, you are required to update the MockDb implementation to behave similar to the implementation which uses the database (you can find the implementation here). The database implementation is simple, for say, inserts or updates, while being slightly more complex for queries that involve filtering. You'd have to write the MockDb implementation accordingly.

I would like to work on this issue.

Sure, I'll assign it to you.

@SanchithHegde Sorry for the delay. I was new to rust and it took time for me to understand the codebase and traits especially. With time I learnt a lot and now I feel ready to implement. Will make a PR real soon.


Plumsail HelpDesk (Certified Publisher) - Added support of region selection when creating a new connection

When submitting a connector, please make sure that you follow the requirements below, otherwise your PR might be rejected. We want to make you have a well-built connector, a smooth certification experience, and your users are happy :)
If this is your first time submitting to GitHub and you need some help, please sign up for this session.

[x] I attest that the connector works and I verified by deploying and testing all the operations.
[x] I attest that I have added detailed descriptions for all operations and parameters in the swagger file.
[x] I attest that I have added response schemas to my actions, unless the response schema is dynamic.
[x] I validated the swagger file, apiDefinition.swagger.json, by running paconn validate command.
[x] If this is a certified connector, I confirm that apiProperties.json has a valid brand color and doesn't use an invalid brand color, #007ee5 or #ffffff. If this is an independent publisher connector, I confirm that I am not submitting a connector icon.

Updates: Added support for region selection when creating a new connection.
Backward compatibility: The update was tested with existing connectors and doesn't break old connections. Changes kick off only after connection recreation or editing.
Notes:
I'm resubmitting the pull request again because I was told to do so in the old one. It seems like the build pipeline had issues and I need to recreate the pull request.

Hi @vmanoharas,
I was asked to create a new PR (fourth in a row):
https://github.com/microsoft/PowerPlatformConnectors/pull/2924#issuecomment-1715816279
The issue is the same.

Hi @antonkhrit
Sorry for the inconvenience created. We have made certain changes to pipelines. Could you please rebase your branch Plumsail:hotfix/UpdatePlumsailHelpDeskApiProperties with microsoft:master. After rebasing try updating existing PR. Please let us know here, if you are facing issues post rebase and update PR.
Regards,
Sai Chander.

Hi @antonkhrit
Sorry for the inconvenience created. We have made certain changes to pipelines. Could you please rebase your branch Plumsail:hotfix/UpdatePlumsailHelpDeskApiProperties with microsoft:master. After rebasing try updating existing PR. Please let us know here, if you are facing issues post rebase and update PR.
Regards, Sai Chander.

Hi @SaiChander-MS,
The PR is created from a fork. That is why the base is not microsoft. Are you sure it is even possible to rebase to a repository that you don't have access to write?

Could you try syncing the fork with latest master and try creating a PR?


mci 0 will result a out-of-memory by div 10 always true

Can it be called with mci=0 at all?

not at the current stage, because mc=0 is no sense, but I think it maybe be better & safer for the method to check the input argument. anyway I result a Out-of-memory when I was doing my test.


'batch_first'

1.python train.py --cfg_file cfgs/kitti_models/voxset.yaml
File "/OpenPCDet/pcdet/models/backbones_3d/vfe/voxset.py", line 168, in init
self.mhsa = nn.MultiheadAttention(dim, num_heads=1, batch_first=True)
TypeError: init() got an unexpected keyword argument 'batch_first'
2.python setup.py build_dist --inplace
error: invalid command 'build_dist'
how can i fit it ?

If I comment " batch_first=True" out, it appears
File "site-packages/torch/nn/functional.py", line 4790, in multi_head_attention_forward
attn_output_weights = torch.bmm(q, k.transpose(1, 2))
RuntimeError: CUDA error: device-side assert triggered

@kuaiqushangzixiba It can be solved by update the pytorch > 1.7 which support batch_first parameters.


feature: LDAP connection persistence

A clear and concise description of what you want the system to do.

In the LDAP IdP docs the following is mentioned:
"The plugin does not keep connections open to LDAP servers. The plugin tears a connection down each time it finishes authenticating a request associated with the connection."
This would probably put a lot of load on an ldap server for high volume auth traffic.  Some ldap services might even throttle caddy-security.
Does it make sense to enhance this so that ldap connections are persisted?

What are the Caddyfile directives that need to be added.

n/a

Oh wait, I just realised why the connection is not kept persistent.  Its because of this, right?

Once the plugin determines the user's roles, e.g. admin, editor, viewer, the plugin actually checks whether the user's password is valid.
It does so by doing LDAP re-binding with the user's DN and the password provided in the request. In this example, the user's DN is CN=Smith\, John,OU=Users,DC=CONTOSO,DC=COM.
If the re-binding is successful, the plugin issues a JWT token.

Oh wait, I just realised why the connection is not kept persistent. Its because of this, right?

Yes. Basically, you want to use user-provided credentials to bind to the LDAP server.

Yep, understood.  Let's close this issue then.


Fix #204 Submission language pattern for python was no longer matchin…

Submission language pattern for python was no longer matching with the submission page.
Just fixing regex pattern.

Unit testing seems to be failing. I'm not sure tweaking this regex could occur some errors on unit tests.
But the other PRs also seems to have failing CIs. Are these unit testing valid now?

I'm sorry for this late reply. I've been cultivating the repository for restarting the maintenance.

Several unit tests seems to be failing. I'm not sure tweaking this regex could occur some errors on unit tests.
But the other PRs also seems to have failing CIs. Are these unit testsvalid now?

I am not sure this problem still exists since I migrated from Travis to Github Actions for CI.
Can you rebase your branch on the latest stable branch?

I regret to inform you that I'm closing this PR because it has been a long time since the last communication. I apologize sincerely for closing it despite your valuable contribution. If you are still interested in contributing, please reopen the PR and let's continue the discussion.


Support individual CSP rules

I think it would be nice if I could look for the individual directive and see which browser they apply to. I.e. I could search for new Level 3 individual directive like script-src-elem.
Thank You.

+1

It'd be helpful if we could list which CSP directives were introduced after the initial level 3 specification was released.
This suggests newer directives are:
script-src-attr, script-src-elem, style-src-attr, style-src-elem.
I think prefetch-src, strict-dynamic and unsafe-hashes (this seems to suggest otherwise: https://www.w3.org/TR/CSP3/#changes-from-level-2) were added some time after initial level 3 release aswell.
We may also have these directives in the future: wasm-eval,web-rtc and trusted-types (relates to: https://github.com/Fyrd/caniuse/issues/4787).

For reference, here's other issues related to individual CSP directives support:

require-sri-for https://github.com/Fyrd/caniuse/issues/2674
frame-ancestors https://github.com/Fyrd/caniuse/issues/2335

wasm-unsafe-eval is supposedly in Chrome 97. It was also implemented in WebKit in February, but I can't see a Safari release tag that applies to the commit. It may be iOS 15.4/Mac OS X 10.15.6, in March, which have not yet been tagged, or a later release.

Another feature worth including is external hashes, which essentially let you declare a list of allowed SRI hashes.


vimPlugins.vim-nickel: init at 2022-03-16

Description of changes

Add vim-nickel plugin: https://github.com/nickel-lang/vim-nickel
Things done

Built on platform(s)

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

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

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

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

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

[ ] Fits CONTRIBUTING.md.

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

7 packages built:

gnvim
neovim-qt
neovim-remote
nvimpager
spacevim
tests.vim.test_vim_with_vim_nix
vimPlugins.vim-nickel

This pull request has been mentioned on NixOS Discourse. There might be relevant details there:
https://discourse.nixos.org/t/tweag-nix-dev-update-36/22120/1


I don't understand :-(

I'm having a bit of trouble understanding how Clooney manages multiple actors. I get the feeling that Clooney should make it possible to perform, say, a MapReduce using using multiple isolated workers, but I'm not sure how to do this.
Async, but not parallel:
const fn = (n) => Promise.resolve(n + 1);
Promise.all([10, 20, 30].map(fn)).then(console.log);
// -> [11, 21, 31] (in some order)

Is there some way to make multiple fn() calls execute in parallel using Clooney?

MapReduce is an interesting idea. Maybe I should put this in the README?
But yes, you can create multiple workers!
class MyMapJob {
  doTheThing(data) {
    // ... do all the hard work ...
    return result;
  }
}

// Spawn the same actor multiple times
const instances = [
  await Clooney.spawn(MyMapJob),
  await Clooney.spawn(MyMapJob),
  /*...*/
  await Clooney.spawn(MyMapJob)
];

const results = await Promise.all(
  instance.map(async instance => await instance.doTheThing(data))
);
const result = results.reduce(/* ... */);

Keep in mind that workers share a worker by default. If you want to have multiple threads, you need to create your own instance of a strategy:
const strategy = new Clooney.RoundRobinStrategy({
  maxNumContainers: navigator.hardwareConcurrency
});

class MyMapJob {
  doTheThing(data) {
    // ... do all the hard work ...
    return result;
  }
}

// Spawn the same actor multiple times
const instances = [
  await strategy.spawn(MyMapJob),
  await strategy.spawn(MyMapJob),
  /*...*/
  await strategy.spawn(MyMapJob)
];

const results = await Promise.all(
  instance.map(async instance => await instance.doTheThing(data))
);
const result = results.reduce(/* ... */);

Please re-open if this didn’t answer your question :)

Thanks for the explanation!
I need to think all this through a bit more … I feel a bit uneasy about the proxying, etc. that is done (or can be) to try to eliminate differences between worker code and non-worker code, not sure if that abstraction is worth it.

Where do you see the downsides?
This is most definitely supposed to be an off-the-shelf solution that probably won’t scale to large apps.


Mirror built-in Commands list with VS Code

The list of recipes here https://sourcegraph.com/github.com/sourcegraph/cody@main/-/blob/lib/shared/src/chat/recipes/agent-recipes.ts?L33 should match the commands here

### Tasks
- [ ] Document
- [ ] Explain
- [ ] Smell
- [ ] Test

Closing this in favor of PRD issues


Use optional return values for guvectorize

In https://numba.pydata.org/numba-doc/dev/user/vectorize.html#the-guvectorize-decorator the docs say:

Contrary to vectorize() functions, guvectorize() functions don’t return their result value: they take it as an array argument, which must be filled in by the function. This is because the array is actually allocated by NumPy’s dispatch mechanism, which calls into the Numba-generated code.

To get around this I find myself writing functions that look like the following:
@guvectorize(...)
def f(x, out):
    y = g(x)
    out[:] = y

Which seems like the kind of thing that syntactic sugar might be able to get around.  Perhaps, if the user's function returns a value then numba might take this as a sign and do this for them automatically?

Yeah, I think this would be a reasonable idiom to support.

Is this easy to do?  If so, perhaps I or someone else could help?  Any suggestions here would be welcome.

The reason I care about this is that I'm trying to motivate the use of Numba in user-facing situations.
Passing out parameters is odd for less technical folk, and makes numba seem a bit less friendly.


Update base add docker compose yml

The docker-compose.yml will make startup/shutdown easier for Docker users.
It also provides persistent storage for the SQLite database and an easy approach to using "bind" mounts.
Dockerfile was updated to use Ubuntu focal (20.04 LTS) instead of Xenial (16.04 LTS) and to use Node.js v14 instead of the obsolete v12.

Thanks for the pull request, @taniwallach! I've created OSPR-5380 to keep track of it in JIRA, where we prioritize reviews. Please note that it may take us up to several weeks or months to complete a review and merge your PR.
Feel free to add as much of the following information to the ticket:

supporting documentation
Open edX discussion forum threads
timeline information ("this must be merged by XX date", and why that is)
partner information ("this is a course on edx.org")
any other information that can help Product understand the context for the PR

All technical communication about the code itself will be done via the GitHub pull request interface. As a reminder, our process documentation is here.
Please let us know once your PR is ready for our review and all tests are green.
:warning: We can't start reviewing your pull request until you've submitted a     signed contributor agreement     or indicated your institutional affiliation. Please see the CONTRIBUTING     file for more information.

Thanks for the pull request, @taniwallach! I've created OSPR-5380 to keep track of it in JIRA, where we prioritize reviews. Please note that it may take us up to several weeks or months to complete a review and merge your PR.
Feel free to add as much of the following information to the ticket:

supporting documentation
Open edX discussion forum threads
timeline information ("this must be merged by XX date", and why that is)
partner information ("this is a course on edx.org")
any other information that can help Product understand the context for the PR

All technical communication about the code itself will be done via the GitHub pull request interface. As a reminder, our process documentation is here.
Please let us know once your PR is ready for our review and all tests are green.
:warning: We can't start reviewing your pull request until you've submitted a     signed contributor agreement     or indicated your institutional affiliation. Please see the CONTRIBUTING     file for more information.

@taniwallach Thank you for joining the Open edX community! We have added your user to our records and can now review your code going forward.

@taniwallach Thank you for joining the Open edX community! We have added your user to our records and can now review your code going forward.

@natabene -Thanks. Happy to be able to contribute.

@natabene -Thanks. Happy to be able to contribute.

@natabene Since I am CC on the repo I took the liberty to go ahead and do a review pass (but let me know if there is some process for selecting the reviewer). 🙂

@natabene Since I am CC on the repo I took the liberty to go ahead and do a review pass (but let me know if there is some process for selecting the reviewer). 🙂

@symbolist Thank you so much, please do review and merge when ready. CC @sarina

@taniwallach Please let me know once you have implemented the feedback, so we can review again.

@symbolist  - Thanks for all the feedback. I did my best to implement the necessary changes and suggestions, except with regard to the port number being used. See above for why I am not handling that suggestion. The revised version and the new make targets seems to all seems to work.
@natabene - I think this is ready for a second review. Sorry that I could not handle this sooner.

@symbolist Can you please review this as a Core Committer? If you cannot, please let me know and I will find another reviewer.

@natabene @taniwallach Yup, I'll be able to review this week!

About the use of port 8000, which will conflict with other Django applications, and with the edX devstack: the use of XBlock-SDK is intended to be separate of the use of devstack, and that is apparently why the developers decided to use the standard Django port (8000) for the SDK. Since considering whether this should be changed is a more significant change than the updates in this PR, if you think this is important, it should be handled by a different PR. I recommend consulting with someone with more experience with this tool before making a change.

@taniwallach Thanks! Can you squash all your commits and add a nice commit message? Then I'll merge. 🙂

Thanks! Can you squash all your commits and add a nice commit message? Then I'll merge.

@symbolist Thanks for all the review work and suggestions.
Please take a moment to answer a two question survey so we can improve your experience in the future.