AV-84160 make cluster timezone optional

Jira

AV-84160

Description
Timezones field for clusters is optional in management API, but not in terraform. This change makes timezone field optional and throws an improved error for invalid timezones for basic support plan.

Type of Change

[x] Bug fix (non-breaking change which fixes an issue). Please, add the "bug" label to the PR.
[ ] New feature (non-breaking change which adds functionality). Please, add the "enhancement" label to the PR.
[ ] Breaking change (fix or feature that would cause existing functionality to not work as expected). Please, add the "breaking change" label to the PR.
[ ] This change requires a documentation update
[ ] Documentation fix/enhancement

Manual Testing Approach

Exclude timezone for basic package
Terraform apply
data.couchbase-capella_clusters.existing_clusters: Reading...
data.couchbase-capella_clusters.existing_clusters: Read complete after 1s

Terraform used the selected providers to generate the following execution plan. Resource actions are indicated with the following symbols:
  + create

Terraform will perform the following actions:

  # couchbase-capella_cluster.new_cluster will be created
  + resource "couchbase-capella_cluster" "new_cluster" {
      + app_service_id   = (known after apply)
      + audit            = (known after apply)
      + availability     = {
          + type = "single"
        }
      + cloud_provider   = {
          + cidr   = "<IP_ADDRESS>/20"
          + region = "us-east-1"
          + type   = "aws"
        }
      + couchbase_server = (known after apply)
      + current_state    = (known after apply)
      + description      = "My first test cluster for multiple services."
      + etag             = (known after apply)
      + id               = (known after apply)
      + name             = "Terraform Cluster"
      + organization_id  = "8bg13g4b-9cgj-6f5h-d389-g945675c16d0"
      + project_id       = "d2c30c19-1a90-4bf6-9a2e-8dc3a9a43afd"
      + service_groups   = [
          + {
              + node         = {
                  + compute = {
                      + cpu = 4
                      + ram = 16
                    }
                  + disk    = {
                      + autoexpansion = (known after apply)
                      + iops          = 5000
                      + storage       = 50
                      + type          = "io2"
                    }
                }
              + num_of_nodes = 3
              + services     = [
                  + "data",
                  + "index",
                  + "query",
                ]
            },
        ]
      + support          = {
          + plan     = "basic"
          + timezone = (known after apply)
        }
    }

Plan: 1 to add, 0 to change, 0 to destroy.

Changes to Outputs:
  + cluster_id    = (known after apply)
  + clusters_list = {
      + data            = [
          + {
              + app_service_id   = null
              + audit            = {
                  + created_at  = "2024-08-14 22:05:15.973136361 +0000 UTC"
                  + created_by  = "99b8dc97-b8ae-44af-8ccd-897e3802c3cb"
                  + modified_at = "2024-08-14 22:16:30.048801207 +0000 UTC"
                  + modified_by = "99b8dc97-b8ae-44af-8ccd-897e3802c3cb"
                  + version     = 9
                }
              + availability     = {
                  + type = "multi"
                }
              + cloud_provider   = {
                  + cidr   = "<IP_ADDRESS>/24"
                  + region = "us-east-1"
                  + type   = "aws"
                }
              + couchbase_server = {
                  + version = "7.6.2"
                }
              + current_state    = "turnedOff"
              + description      = ""
              + id               = "78a4f313-fd4a-4e6c-a8f8-91d8e7f01fca"
              + name             = "xdcr-s"
              + organization_id  = "8bg13g4b-9cgj-6f5h-d389-g945675c16d0"
              + project_id       = "d2c30c19-1a90-4bf6-9a2e-8dc3a9a43afd"
              + service_groups   = [
                  + {
                      + node         = {
                          + compute = {
                              + cpu = 8
                              + ram = 16
                            }
                          + disk    = {
                              + autoexpansion = null
                              + iops          = 3000
                              + storage       = 50
                              + type          = "gp3"
                            }
                        }
                      + num_of_nodes = 3
                      + services     = [
                          + "index",
                          + "data",
                          + "query",
                        ]
                    },
                ]
              + support          = {
                  + plan     = "developer pro"
                  + timezone = "PT"
                }
            },
          + {
              + app_service_id   = null
              + audit            = {
                  + created_at  = "2024-08-15 01:58:11.418207711 +0000 UTC"
                  + created_by  = "15c82fa5-d24e-4bd6-b7ae-acf3d026a133"
                  + modified_at = "2024-08-15 02:00:57.762728749 +0000 UTC"
                  + modified_by = "15c82fa5-d24e-4bd6-b7ae-acf3d026a133"
                  + version     = 5
                }
              + availability     = {
                  + type = "single"
                }
              + cloud_provider   = {
                  + cidr   = "<IP_ADDRESS>/24"
                  + region = "us-east-1"
                  + type   = "aws"
                }
              + couchbase_server = {
                  + version = "7.6.2"
                }
              + current_state    = "healthy"
              + description      = ""
              + id               = "e8bad75c-1acc-4a8d-a00f-70dd4993936f"
              + name             = "mintdennisritchie"
              + organization_id  = "8bg13g4b-9cgj-6f5h-d389-g945675c16d0"
              + project_id       = "d2c30c19-1a90-4bf6-9a2e-8dc3a9a43afd"
              + service_groups   = [
                  + {
                      + node         = {
                          + compute = {
                              + cpu = 4
                              + ram = 16
                            }
                          + disk    = {
                              + autoexpansion = null
                              + iops          = 3000
                              + storage       = 50
                              + type          = "gp3"
                            }
                        }
                      + num_of_nodes = 1
                      + services     = [
                          + "search",
                          + "index",
                          + "data",
                          + "query",
                        ]
                    },
                ]
              + support          = {
                  + plan     = "developer pro"
                  + timezone = "PT"
                }
            },
          + {
              + app_service_id   = null
              + audit            = {
                  + created_at  = "2024-08-15 06:14:35.605118068 +0000 UTC"
                  + created_by  = "fa7fa7ea-ed3c-4252-9dc5-366378c4f123"
                  + modified_at = "2024-08-15 06:17:26.683888099 +0000 UTC"
                  + modified_by = "fa7fa7ea-ed3c-4252-9dc5-366378c4f123"
                  + version     = 5
                }
              + availability     = {
                  + type = "single"
                }
              + cloud_provider   = {
                  + cidr   = "<IP_ADDRESS>/24"
                  + region = "us-east-1"
                  + type   = "aws"
                }
              + couchbase_server = {
                  + version = "7.6.2"
                }
              + current_state    = "healthy"
              + description      = ""
              + id               = "f609bbc4-d7cb-4afa-9439-c1993e7bd3bf"
              + name             = "karan-test"
              + organization_id  = "8bg13g4b-9cgj-6f5h-d389-g945675c16d0"
              + project_id       = "d2c30c19-1a90-4bf6-9a2e-8dc3a9a43afd"
              + service_groups   = [
                  + {
                      + node         = {
                          + compute = {
                              + cpu = 4
                              + ram = 16
                            }
                          + disk    = {
                              + autoexpansion = null
                              + iops          = 3000
                              + storage       = 50
                              + type          = "gp3"
                            }
                        }
                      + num_of_nodes = 1
                      + services     = [
                          + "search",
                          + "index",
                          + "data",
                          + "query",
                        ]
                    },
                ]
              + support          = {
                  + plan     = "developer pro"
                  + timezone = "PT"
                }
            },
        ]
      + organization_id = "8bg13g4b-9cgj-6f5h-d389-g945675c16d0"
      + project_id      = "d2c30c19-1a90-4bf6-9a2e-8dc3a9a43afd"
    }
  + new_cluster   = {
      + app_service_id   = (known after apply)
      + audit            = (known after apply)
      + availability     = {
          + type = "single"
        }
      + cloud_provider   = {
          + cidr   = "<IP_ADDRESS>/20"
          + region = "us-east-1"
          + type   = "aws"
        }
      + couchbase_server = (known after apply)
      + current_state    = (known after apply)
      + description      = "My first test cluster for multiple services."
      + etag             = (known after apply)
      + id               = (known after apply)
      + if_match         = null
      + name             = "Terraform Cluster"
      + organization_id  = "8bg13g4b-9cgj-6f5h-d389-g945675c16d0"
      + project_id       = "d2c30c19-1a90-4bf6-9a2e-8dc3a9a43afd"
      + service_groups   = [
          + {
              + node         = {
                  + compute = {
                      + cpu = 4
                      + ram = 16
                    }
                  + disk    = {
                      + autoexpansion = (known after apply)
                      + iops          = 5000
                      + storage       = 50
                      + type          = "io2"
                    }
                }
              + num_of_nodes = 3
              + services     = [
                  + "data",
                  + "index",
                  + "query",
                ]
            },
        ]
      + support          = {
          + plan     = "basic"
          + timezone = (known after apply)
        }
    }

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

   Resources: 1 added, 0 changed, 0 destroyed.

Outputs:

cluster_id = "b7926d4f-0d94-4b70-9734-4aa250ac288a"
clusters_list = {
  "data" = tolist([
    {
      "app_service_id" = tostring(null)
      "audit" = {
        "created_at" = "2024-08-14 22:05:15.973136361 +0000 UTC"
        "created_by" = "99b8dc97-b8ae-44af-8ccd-897e3802c3cb"
        "modified_at" = "2024-08-14 22:16:30.048801207 +0000 UTC"
        "modified_by" = "99b8dc97-b8ae-44af-8ccd-897e3802c3cb"
        "version" = 9
      }
      "availability" = {
        "type" = "multi"
      }
      "cloud_provider" = {
        "cidr" = "<IP_ADDRESS>/24"
        "region" = "us-east-1"
        "type" = "aws"
      }
      "couchbase_server" = {
        "version" = "7.6.2"
      }
      "current_state" = "turnedOff"
      "description" = ""
      "id" = "78a4f313-fd4a-4e6c-a8f8-91d8e7f01fca"
      "name" = "xdcr-s"
      "organization_id" = "8bg13g4b-9cgj-6f5h-d389-g945675c16d0"
      "project_id" = "d2c30c19-1a90-4bf6-9a2e-8dc3a9a43afd"
      "service_groups" = tolist([
        {
          "node" = {
            "compute" = {
              "cpu" = 8
              "ram" = 16
            }
            "disk" = {
              "autoexpansion" = tobool(null)
              "iops" = 3000
              "storage" = 50
              "type" = "gp3"
            }
          }
          "num_of_nodes" = 3
          "services" = tolist([
            "index",
            "data",
            "query",
          ])
        },
      ])
      "support" = {
        "plan" = "developer pro"
        "timezone" = "PT"
      }
    },
    {
      "app_service_id" = tostring(null)
      "audit" = {
        "created_at" = "2024-08-15 01:58:11.418207711 +0000 UTC"
        "created_by" = "15c82fa5-d24e-4bd6-b7ae-acf3d026a133"
        "modified_at" = "2024-08-15 02:00:57.762728749 +0000 UTC"
        "modified_by" = "15c82fa5-d24e-4bd6-b7ae-acf3d026a133"
        "version" = 5
      }
      "availability" = {
        "type" = "single"
      }
      "cloud_provider" = {
        "cidr" = "<IP_ADDRESS>/24"
        "region" = "us-east-1"
        "type" = "aws"
      }
      "couchbase_server" = {
        "version" = "7.6.2"
      }
      "current_state" = "healthy"
      "description" = ""
      "id" = "e8bad75c-1acc-4a8d-a00f-70dd4993936f"
      "name" = "mintdennisritchie"
      "organization_id" = "8bg13g4b-9cgj-6f5h-d389-g945675c16d0"
      "project_id" = "d2c30c19-1a90-4bf6-9a2e-8dc3a9a43afd"
      "service_groups" = tolist([
        {
          "node" = {
            "compute" = {
              "cpu" = 4
              "ram" = 16
            }
            "disk" = {
              "autoexpansion" = tobool(null)
              "iops" = 3000
              "storage" = 50
              "type" = "gp3"
            }
          }
          "num_of_nodes" = 1
          "services" = tolist([
            "search",
            "index",
            "data",
            "query",
          ])
        },
      ])
      "support" = {
        "plan" = "developer pro"
        "timezone" = "PT"
      }
    },
    {
      "app_service_id" = tostring(null)
      "audit" = {
        "created_at" = "2024-08-15 06:14:35.605118068 +0000 UTC"
        "created_by" = "fa7fa7ea-ed3c-4252-9dc5-366378c4f123"
        "modified_at" = "2024-08-15 06:17:26.683888099 +0000 UTC"
        "modified_by" = "fa7fa7ea-ed3c-4252-9dc5-366378c4f123"
        "version" = 5
      }
      "availability" = {
        "type" = "single"
      }
      "cloud_provider" = {
        "cidr" = "<IP_ADDRESS>/24"
        "region" = "us-east-1"
        "type" = "aws"
      }
      "couchbase_server" = {
        "version" = "7.6.2"
      }
      "current_state" = "healthy"
      "description" = ""
      "id" = "f609bbc4-d7cb-4afa-9439-c1993e7bd3bf"
      "name" = "karan-test"
      "organization_id" = "8bg13g4b-9cgj-6f5h-d389-g945675c16d0"
      "project_id" = "d2c30c19-1a90-4bf6-9a2e-8dc3a9a43afd"
      "service_groups" = tolist([
        {
          "node" = {
            "compute" = {
              "cpu" = 4
              "ram" = 16
            }
            "disk" = {
              "autoexpansion" = tobool(null)
              "iops" = 3000
              "storage" = 50
              "type" = "gp3"
            }
          }
          "num_of_nodes" = 1
          "services" = tolist([
            "search",
            "index",
            "data",
            "query",
          ])
        },
      ])
      "support" = {
        "plan" = "developer pro"
        "timezone" = "PT"
      }
    },
  ])
  "organization_id" = "8bg13g4b-9cgj-6f5h-d389-g945675c16d0"
  "project_id" = "d2c30c19-1a90-4bf6-9a2e-8dc3a9a43afd"
}
new_cluster = {
  "app_service_id" = tostring(null)
  "audit" = {
    "created_at" = "2024-08-15 09:02:31.953609263 +0000 UTC"
    "created_by" = "dauB4uH5NvuJtsGdLplNlcExgVHCyYEM"
    "modified_at" = "2024-08-15 09:05:24.65201911 +0000 UTC"
    "modified_by" = "apikey-apikey-dauB4uH5NvuJtsGdLplNlcExgVHCyYEM"
    "version" = 5
  }
  "availability" = {
    "type" = "single"
  }
  "cloud_provider" = {
    "cidr" = "<IP_ADDRESS>/20"
    "region" = "us-east-1"
    "type" = "aws"
  }
  "couchbase_server" = {
    "version" = "7.6"
  }
  "current_state" = "healthy"
  "description" = "My first test cluster for multiple services."
  "etag" = "Version: 5"
  "id" = "b7926d4f-0d94-4b70-9734-4aa250ac288a"
  "if_match" = tostring(null)
  "name" = "Terraform Cluster"
  "organization_id" = "8bg13g4b-9cgj-6f5h-d389-g945675c16d0"
  "project_id" = "d2c30c19-1a90-4bf6-9a2e-8dc3a9a43afd"
  "service_groups" = toset([
    {
      "node" = {
        "compute" = {
          "cpu" = 4
          "ram" = 16
        }
        "disk" = {
          "autoexpansion" = tobool(null)
          "iops" = 5000
          "storage" = 50
          "type" = "io2"
        }
      }
      "num_of_nodes" = 3
      "services" = toset([
        "data",
        "index",
        "query",
      ])
    },
  ])
  "support" = {
    "plan" = "basic"
    "timezone" = "PT"
  }
}

Throw error on non-PT timezone for create
terraform apply

data.couchbase-capella_clusters.existing_clusters: Reading...
data.couchbase-capella_clusters.existing_clusters: Read complete after 1s

Terraform used the selected providers to generate the following execution plan. Resource actions are indicated with the following symbols:
  + create

Terraform will perform the following actions:

  # couchbase-capella_cluster.new_cluster will be created
  + resource "couchbase-capella_cluster" "new_cluster" {
      + app_service_id   = (known after apply)
      + audit            = (known after apply)
      + availability     = {
          + type = "single"
        }
      + cloud_provider   = {
          + cidr   = "<IP_ADDRESS>/20"
          + region = "us-east-1"
          + type   = "aws"
        }
      + couchbase_server = (known after apply)
      + current_state    = (known after apply)
      + description      = "My first test cluster for multiple services."
      + etag             = (known after apply)
      + id               = (known after apply)
      + name             = "Terraform Cluster"
      + organization_id  = "8bg13g4b-9cgj-6f5h-d389-g945675c16d0"
      + project_id       = "d2c30c19-1a90-4bf6-9a2e-8dc3a9a43afd"
      + service_groups   = [
          + {
              + node         = {
                  + compute = {
                      + cpu = 4
                      + ram = 16
                    }
                  + disk    = {
                      + autoexpansion = (known after apply)
                      + iops          = 5000
                      + storage       = 50
                      + type          = "io2"
                    }
                }
              + num_of_nodes = 3
              + services     = [
                  + "data",
                  + "index",
                  + "query",
                ]
            },
        ]
      + support          = {
          + plan     = "basic"
          + timezone = "GMT"
        }
    }

Plan: 1 to add, 0 to change, 0 to destroy.

Changes to Outputs:
  + cluster_id    = (known after apply)
  + clusters_list = {
      + data            = [
          + {
              + app_service_id   = null
              + audit            = {
                  + created_at  = "2024-08-15 01:58:11.418207711 +0000 UTC"
                  + created_by  = "15c82fa5-d24e-4bd6-b7ae-acf3d026a133"
                  + modified_at = "2024-08-15 02:00:57.762728749 +0000 UTC"
                  + modified_by = "15c82fa5-d24e-4bd6-b7ae-acf3d026a133"
                  + version     = 5
                }
              + availability     = {
                  + type = "single"
                }
              + cloud_provider   = {
                  + cidr   = "<IP_ADDRESS>/24"
                  + region = "us-east-1"
                  + type   = "aws"
                }
              + couchbase_server = {
                  + version = "7.6.2"
                }
              + current_state    = "healthy"
              + description      = ""
              + id               = "e8bad75c-1acc-4a8d-a00f-70dd4993936f"
              + name             = "mintdennisritchie"
              + organization_id  = "8bg13g4b-9cgj-6f5h-d389-g945675c16d0"
              + project_id       = "d2c30c19-1a90-4bf6-9a2e-8dc3a9a43afd"
              + service_groups   = [
                  + {
                      + node         = {
                          + compute = {
                              + cpu = 4
                              + ram = 16
                            }
                          + disk    = {
                              + autoexpansion = null
                              + iops          = 3000
                              + storage       = 50
                              + type          = "gp3"
                            }
                        }
                      + num_of_nodes = 1
                      + services     = [
                          + "search",
                          + "index",
                          + "data",
                          + "query",
                        ]
                    },
                ]
              + support          = {
                  + plan     = "developer pro"
                  + timezone = "PT"
                }
            },
          + {
              + app_service_id   = null
              + audit            = {
                  + created_at  = "2024-08-15 06:14:35.605118068 +0000 UTC"
                  + created_by  = "fa7fa7ea-ed3c-4252-9dc5-366378c4f123"
                  + modified_at = "2024-08-15 06:17:26.683888099 +0000 UTC"
                  + modified_by = "fa7fa7ea-ed3c-4252-9dc5-366378c4f123"
                  + version     = 5
                }
              + availability     = {
                  + type = "single"
                }
              + cloud_provider   = {
                  + cidr   = "<IP_ADDRESS>/24"
                  + region = "us-east-1"
                  + type   = "aws"
                }
              + couchbase_server = {
                  + version = "7.6.2"
                }
              + current_state    = "healthy"
              + description      = ""
              + id               = "f609bbc4-d7cb-4afa-9439-c1993e7bd3bf"
              + name             = "karan-test"
              + organization_id  = "8bg13g4b-9cgj-6f5h-d389-g945675c16d0"
              + project_id       = "d2c30c19-1a90-4bf6-9a2e-8dc3a9a43afd"
              + service_groups   = [
                  + {
                      + node         = {
                          + compute = {
                              + cpu = 4
                              + ram = 16
                            }
                          + disk    = {
                              + autoexpansion = null
                              + iops          = 3000
                              + storage       = 50
                              + type          = "gp3"
                            }
                        }
                      + num_of_nodes = 1
                      + services     = [
                          + "search",
                          + "index",
                          + "data",
                          + "query",
                        ]
                    },
                ]
              + support          = {
                  + plan     = "developer pro"
                  + timezone = "PT"
                }
            },
        ]
      + organization_id = "8bg13g4b-9cgj-6f5h-d389-g945675c16d0"
      + project_id      = "d2c30c19-1a90-4bf6-9a2e-8dc3a9a43afd"
    }
  + new_cluster   = {
      + app_service_id   = (known after apply)
      + audit            = (known after apply)
      + availability     = {
          + type = "single"
        }
      + cloud_provider   = {
          + cidr   = "<IP_ADDRESS>/20"
          + region = "us-east-1"
          + type   = "aws"
        }
      + couchbase_server = (known after apply)
      + current_state    = (known after apply)
      + description      = "My first test cluster for multiple services."
      + etag             = (known after apply)
      + id               = (known after apply)
      + if_match         = null
      + name             = "Terraform Cluster"
      + organization_id  = "8bg13g4b-9cgj-6f5h-d389-g945675c16d0"
      + project_id       = "d2c30c19-1a90-4bf6-9a2e-8dc3a9a43afd"
      + service_groups   = [
          + {
              + node         = {
                  + compute = {
                      + cpu = 4
                      + ram = 16
                    }
                  + disk    = {
                      + autoexpansion = (known after apply)
                      + iops          = 5000
                      + storage       = 50
                      + type          = "io2"
                    }
                }
              + num_of_nodes = 3
              + services     = [
                  + "data",
                  + "index",
                  + "query",
                ]
            },
        ]
      + support          = {
          + plan     = "basic"
          + timezone = "GMT"
        }
    }

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

  Enter a value: yes

couchbase-capella_cluster.new_cluster: Creating...
╷
│ Error: Error creating cluster
│
│   with couchbase-capella_cluster.new_cluster,
│   on create_cluster.tf line 9, in resource "couchbase-capella_cluster" "new_cluster":
│    9: resource "couchbase-capella_cluster" "new_cluster" {
│
│ Could not create cluster, unexpected error: Invalid timezone provided for basic cluster

Throw error on non-PT timezone for update
terraform apply

data.couchbase-capella_clusters.existing_clusters: Reading...
couchbase-capella_cluster.new_cluster: Refreshing state... [id=b7926d4f-0d94-4b70-9734-4aa250ac288a]
data.couchbase-capella_clusters.existing_clusters: Read complete after 1s

Terraform used the selected providers to generate the following execution plan. Resource actions are indicated with the following symbols:
  ~ update in-place

Terraform will perform the following actions:

  # couchbase-capella_cluster.new_cluster will be updated in-place
  ~ resource "couchbase-capella_cluster" "new_cluster" {
      + app_service_id   = (known after apply)
      ~ audit            = {
          ~ created_at  = "2024-08-15 09:02:31.953609263 +0000 UTC" -> (known after apply)
          ~ created_by  = "dauB4uH5NvuJtsGdLplNlcExgVHCyYEM" -> (known after apply)
          ~ modified_at = "2024-08-15 09:21:25.354903101 +0000 UTC" -> (known after apply)
          ~ modified_by = "apikey-apikey-dauB4uH5NvuJtsGdLplNlcExgVHCyYEM" -> (known after apply)
          ~ version     = 10 -> (known after apply)
        } -> (known after apply)
      ~ current_state    = "healthy" -> (known after apply)
      ~ etag             = "Version: 10" -> (known after apply)
        id               = "b7926d4f-0d94-4b70-9734-4aa250ac288a"
        name             = "Terraform Cluster"
      ~ service_groups   = [
          - {
              - node         = {
                  - compute = {
                      - cpu = 4 -> null
                      - ram = 16 -> null
                    } -> null
                  - disk    = {
                      - iops    = 5000 -> null
                      - storage = 50 -> null
                      - type    = "io2" -> null
                    } -> null
                } -> null
              - num_of_nodes = 3 -> null
              - services     = [
                  - "data",
                  - "index",
                  - "query",
                ] -> null
            },
          + {
              + node         = {
                  + compute = {
                      + cpu = 4
                      + ram = 16
                    }
                  + disk    = {
                      + autoexpansion = (known after apply)
                      + iops          = 5000
                      + storage       = 50
                      + type          = "io2"
                    }
                }
              + num_of_nodes = 3
              + services     = [
                  + "data",
                  + "index",
                  + "query",
                ]
            },
        ]
      ~ support          = {
          ~ timezone = "PT" -> "GMT"
            # (1 unchanged attribute hidden)
        }
        # (6 unchanged attributes hidden)
    }

Plan: 0 to add, 1 to change, 0 to destroy.

Changes to Outputs:
  ~ clusters_list = {
      ~ data            = [
          ~ {
              ~ audit            = {
                  ~ created_at  = "2024-08-14 22:05:15.973136361 +0000 UTC" -> "2024-08-15 09:02:31.953609263 +0000 UTC"
                  ~ created_by  = "99b8dc97-b8ae-44af-8ccd-897e3802c3cb" -> "dauB4uH5NvuJtsGdLplNlcExgVHCyYEM"
                  ~ modified_at = "2024-08-14 22:16:30.048801207 +0000 UTC" -> "2024-08-15 09:21:25.354903101 +0000 UTC"
                  ~ modified_by = "99b8dc97-b8ae-44af-8ccd-897e3802c3cb" -> "apikey-apikey-dauB4uH5NvuJtsGdLplNlcExgVHCyYEM"
                  ~ version     = 9 -> 10
                }
              ~ availability     = {
                  ~ type = "multi" -> "single"
                }
              ~ cloud_provider   = {
                  ~ cidr   = "<IP_ADDRESS>/24" -> "<IP_ADDRESS>/20"
                    # (2 unchanged attributes hidden)
                }
              ~ current_state    = "turnedOff" -> "healthy"
              ~ description      = "" -> "My first test cluster for multiple services."
              ~ id               = "78a4f313-fd4a-4e6c-a8f8-91d8e7f01fca" -> "b7926d4f-0d94-4b70-9734-4aa250ac288a"
              ~ name             = "xdcr-s" -> "Terraform Cluster"
              ~ service_groups   = [
                  ~ {
                      ~ node         = {
                          ~ compute = {
                              ~ cpu = 8 -> 4
                                # (1 unchanged attribute hidden)
                            }
                          ~ disk    = {
                              ~ iops          = 3000 -> 5000
                              ~ type          = "gp3" -> "io2"
                                # (2 unchanged attributes hidden)
                            }
                        }
                        # (2 unchanged attributes hidden)
                    },
                ]
              ~ support          = {
                  ~ plan     = "developer pro" -> "basic"
                    # (1 unchanged attribute hidden)
                }
                # (4 unchanged attributes hidden)
            },
          - {
              - app_service_id   = null
              - audit            = {
                  - created_at  = "2024-08-15 09:02:31.953609263 +0000 UTC"
                  - created_by  = "dauB4uH5NvuJtsGdLplNlcExgVHCyYEM"
                  - modified_at = "2024-08-15 09:05:24.65201911 +0000 UTC"
                  - modified_by = "apikey-apikey-dauB4uH5NvuJtsGdLplNlcExgVHCyYEM"
                  - version     = 5
                }
              - availability     = {
                  - type = "single"
                }
              - cloud_provider   = {
                  - cidr   = "<IP_ADDRESS>/20"
                  - region = "us-east-1"
                  - type   = "aws"
                }
              - couchbase_server = {
                  - version = "7.6.2"
                }
              - current_state    = "healthy"
              - description      = "My first test cluster for multiple services."
              - id               = "b7926d4f-0d94-4b70-9734-4aa250ac288a"
              - name             = "Terraform Cluster"
              - organization_id  = "8bg13g4b-9cgj-6f5h-d389-g945675c16d0"
              - project_id       = "d2c30c19-1a90-4bf6-9a2e-8dc3a9a43afd"
              - service_groups   = [
                  - {
                      - node         = {
                          - compute = {
                              - cpu = 4
                              - ram = 16
                            }
                          - disk    = {
                              - autoexpansion = null
                              - iops          = 5000
                              - storage       = 50
                              - type          = "io2"
                            }
                        }
                      - num_of_nodes = 3
                      - services     = [
                          - "index",
                          - "data",
                          - "query",
                        ]
                    },
                ]
              - support          = {
                  - plan     = "basic"
                  - timezone = "PT"
                }
            },
            {
                app_service_id   = null
                audit            = {
                    created_at  = "2024-08-15 01:58:11.418207711 +0000 UTC"
                    created_by  = "15c82fa5-d24e-4bd6-b7ae-acf3d026a133"
                    modified_at = "2024-08-15 02:00:57.762728749 +0000 UTC"
                    modified_by = "15c82fa5-d24e-4bd6-b7ae-acf3d026a133"
                    version     = 5
                }
                availability     = {
                    type = "single"
                }
                cloud_provider   = {
                    cidr   = "<IP_ADDRESS>/24"
                    region = "us-east-1"
                    type   = "aws"
                }
                couchbase_server = {
                    version = "7.6.2"
                }
                current_state    = "healthy"
                description      = ""
                id               = "e8bad75c-1acc-4a8d-a00f-70dd4993936f"
                name             = "mintdennisritchie"
                organization_id  = "8bg13g4b-9cgj-6f5h-d389-g945675c16d0"
                project_id       = "d2c30c19-1a90-4bf6-9a2e-8dc3a9a43afd"
                service_groups   = [
                    {
                        node         = {
                            compute = {
                                cpu = 4
                                ram = 16
                            }
                            disk    = {
                                autoexpansion = null
                                iops          = 3000
                                storage       = 50
                                type          = "gp3"
                            }
                        }
                        num_of_nodes = 1
                        services     = [
                            "search",
                            "index",
                            "data",
                            "query",
                        ]
                    },
                ]
                support          = {
                    plan     = "developer pro"
                    timezone = "PT"
                }
            },
            # (1 unchanged element hidden)
        ]
        # (2 unchanged attributes hidden)
    }
  ~ new_cluster   = {
      + app_service_id   = (known after apply)
      ~ audit            = {
          - created_at  = "2024-08-15 09:02:31.953609263 +0000 UTC"
          - created_by  = "dauB4uH5NvuJtsGdLplNlcExgVHCyYEM"
          - modified_at = "2024-08-15 09:05:24.65201911 +0000 UTC"
          - modified_by = "apikey-apikey-dauB4uH5NvuJtsGdLplNlcExgVHCyYEM"
          - version     = 5
        } -> (known after apply)
      ~ current_state    = "healthy" -> (known after apply)
      ~ etag             = "Version: 5" -> (known after apply)
        id               = "b7926d4f-0d94-4b70-9734-4aa250ac288a"
        name             = "Terraform Cluster"
      ~ service_groups   = [
          ~ {
              ~ node         = {
                  ~ disk    = {
                      + autoexpansion = (known after apply)
                        # (3 unchanged attributes hidden)
                    }
                    # (1 unchanged attribute hidden)
                }
                # (2 unchanged attributes hidden)
            },
        ]
      ~ support          = {
          ~ timezone = "PT" -> "GMT"
            # (1 unchanged attribute hidden)
        }
        # (7 unchanged attributes hidden)
    }

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

  Enter a value: yes

couchbase-capella_cluster.new_cluster: Modifying... [id=b7926d4f-0d94-4b70-9734-4aa250ac288a]
╷
│ Error: Error creating cluster
│
│   with couchbase-capella_cluster.new_cluster,
│   on create_cluster.tf line 9, in resource "couchbase-capella_cluster" "new_cluster":
│    9: resource "couchbase-capella_cluster" "new_cluster" {
│
│ Could not update cluster, unexpected error: Invalid timezone provided for basic cluster

How was this change tested and do you have evidence? (REQUIRED: Select at least 1)

[x] Manually tested
[x] Unit tested
[ ] Acceptance tested
[ ] Unable to test / will not test (Please provide comments in section below)

Testing
In ticket comments
Required Checklist:

[x] I have checked that this change does not generate any credentials and that they are NOT accidentally logged anywhere.
[x] I have added tests that prove my fix is effective or that my feature works per HashiCorp requirements
[ ] I have added any necessary documentation (if required)
[x] I have run make fmt and formatted my code
[x] I have made sure that no schema field is marked with both requiresReplace and computed

Further comments

adding the test result
go test -timeout=1000m -run TestAccClusterResourceWithReqFieldsAWSBasicPlan
raw state map[%:15 audit.%:5 audit.created_at:2024-08-27 18:47:52.439933683 +0000 UTC audit.created_by:7hH8aOcQmkEw40i3LxqFTA6LAQ8vczqx audit.modified_at:2024-08-27 18:50:51.999779447 +0000 UTC audit.modified_by:apikey-apikey-7hH8aOcQmkEw40i3LxqFTA6LAQ8vczqx audit.version:5 availability.%:1 availability.type:single cloud_provider.%:3 cloud_provider.cidr:<IP_ADDRESS>/23 cloud_provider.region:us-east-1 cloud_provider.type:aws couchbase_server.%:1 couchbase_server.version:7.6 current_state:healthy description: etag:Version: 5 id:eb9a8cb9-da32-4619-aa77-092466cefaf1 name:acc_cluster_bgthplxumk organization_id:6af08c0a-8cab-4c1c-b257-b521575c16d0 project_id:7bb6ad70-bc85-4406-9cb9-ad5f57f192f1 service_groups.#:1 service_groups.0.%:3 service_groups.0.node.%:2 service_groups.0.node.compute.%:2 service_groups.0.node.compute.cpu:4 service_groups.0.node.compute.ram:16 service_groups.0.node.disk.%:4 service_groups.0.node.disk.iops:3000 service_groups.0.node.disk.storage:50 service_groups.0.node.disk.type:io2 service_groups.0.num_of_nodes:3 service_groups.0.services.#:3 service_groups.0.services.0:data service_groups.0.services.1:index service_groups.0.services.2:query support.%:2 support.plan:basic support.timezone:PT]raw state map[%:15 audit.%:5 audit.created_at:2024-08-27 18:47:52.439933683 +0000 UTC audit.created_by:7hH8aOcQmkEw40i3LxqFTA6LAQ8vczqx audit.modified_at:2024-08-27 18:50:51.999779447 +0000 UTC audit.modified_by:apikey-apikey-7hH8aOcQmkEw40i3LxqFTA6LAQ8vczqx audit.version:5 availability.%:1 availability.type:single cloud_provider.%:3 cloud_provider.cidr:<IP_ADDRESS>/23 cloud_provider.region:us-east-1 cloud_provider.type:aws couchbase_server.%:1 couchbase_server.version:7.6 current_state:healthy description: etag:Version: 5 id:eb9a8cb9-da32-4619-aa77-092466cefaf1 name:acc_cluster_bgthplxumk organization_id:6af08c0a-8cab-4c1c-b257-b521575c16d0 project_id:7bb6ad70-bc85-4406-9cb9-ad5f57f192f1 service_groups.#:1 service_groups.0.%:3 service_groups.0.node.%:2 service_groups.0.node.compute.%:2 service_groups.0.node.compute.cpu:4 service_groups.0.node.compute.ram:16 service_groups.0.node.disk.%:4 service_groups.0.node.disk.iops:3000 service_groups.0.node.disk.storage:50 service_groups.0.node.disk.type:io2 service_groups.0.num_of_nodes:3 service_groups.0.services.#:3 service_groups.0.services.0:data service_groups.0.services.1:index service_groups.0.services.2:query support.%:2 support.plan:basic support.timezone:PT]raw state map[%:15 audit.%:5 audit.created_at:2024-08-27 18:47:52.439933683 +0000 UTC audit.created_by:7hH8aOcQmkEw40i3LxqFTA6LAQ8vczqx audit.modified_at:2024-08-27 18:57:35.799099912 +0000 UTC audit.modified_by:apikey-apikey-7hH8aOcQmkEw40i3LxqFTA6LAQ8vczqx audit.version:11 availability.%:1 availability.type:single cloud_provider.%:3 cloud_provider.cidr:<IP_ADDRESS>/23 cloud_provider.region:us-east-1 cloud_provider.type:aws couchbase_server.%:1 couchbase_server.version:7.6 current_state:healthy description:Cluster Updated. etag:Version: 11 id:eb9a8cb9-da32-4619-aa77-092466cefaf1 if_match:5 name:Terraform Acceptance Test Cluster Update organization_id:6af08c0a-8cab-4c1c-b257-b521575c16d0 project_id:7bb6ad70-bc85-4406-9cb9-ad5f57f192f1 service_groups.#:2 service_groups.0.%:3 service_groups.0.node.%:2 service_groups.0.node.compute.%:2 service_groups.0.node.compute.cpu:4 service_groups.0.node.compute.ram:16 service_groups.0.node.disk.%:4 service_groups.0.node.disk.iops:3001 service_groups.0.node.disk.storage:51 service_groups.0.node.disk.type:gp3 service_groups.0.num_of_nodes:3 service_groups.0.services.#:1 service_groups.0.services.0:data service_groups.1.%:3 service_groups.1.node.%:2 service_groups.1.node.compute.%:2 service_groups.1.node.compute.cpu:8 service_groups.1.node.compute.ram:32 service_groups.1.node.disk.%:4 service_groups.1.node.disk.iops:3001 service_groups.1.node.disk.storage:51 service_groups.1.node.disk.type:gp3 service_groups.1.num_of_nodes:2 service_groups.1.services.#:2 service_groups.1.services.0:index service_groups.1.services.1:query support.%:2 support.plan:basic support.timezone:PT]raw state map[%:15 audit.%:5 audit.created_at:2024-08-27 19:00:05.23384721 +0000 UTC audit.created_by:7hH8aOcQmkEw40i3LxqFTA6LAQ8vczqx audit.modified_at:2024-08-27 19:03:56.347768732 +0000 UTC audit.modified_by:apikey-apikey-7hH8aOcQmkEw40i3LxqFTA6LAQ8vczqx audit.version:5 availability.%:1 availability.type:multi cloud_provider.%:3 cloud_provider.cidr:<IP_ADDRESS>/23 cloud_provider.region:us-east-1 cloud_provider.type:aws couchbase_server.%:1 couchbase_server.version:7.6 current_state:healthy description:Cluster Updated. etag:Version: 5 id:34de600b-be57-4e37-8fd5-b3b09814b626 name:Terraform Acceptance Test Cluster Update 2 organization_id:6af08c0a-8cab-4c1c-b257-b521575c16d0 project_id:7bb6ad70-bc85-4406-9cb9-ad5f57f192f1 service_groups.#:2 service_groups.0.%:3 service_groups.0.node.%:2 service_groups.0.node.compute.%:2 service_groups.0.node.compute.cpu:4 service_groups.0.node.compute.ram:16 service_groups.0.node.disk.%:4 service_groups.0.node.disk.iops:3001 service_groups.0.node.disk.storage:51 service_groups.0.node.disk.type:gp3 service_groups.0.num_of_nodes:3 service_groups.0.services.#:1 service_groups.0.services.0:data service_groups.1.%:3 service_groups.1.node.%:2 service_groups.1.node.compute.%:2 service_groups.1.node.compute.cpu:8 service_groups.1.node.compute.ram:32 service_groups.1.node.disk.%:4 service_groups.1.node.disk.iops:3001 service_groups.1.node.disk.storage:51 service_groups.1.node.disk.type:gp3 service_groups.1.num_of_nodes:2 service_groups.1.services.#:2 service_groups.1.services.0:index service_groups.1.services.1:query support.%:2 support.plan:enterprise support.timezone:IST]PASS
ok  	github.com/couchbasecloud/terraform-provider-couchbase-capella/internal/resources/acceptance_tests	1157.706s


Document how to change kublet log level

Description
How can the docs be improved?
Please document how we can change the loglevel of kubelet.
In our case kublet is startet with this params in AL2:
root      1593  2.2  3.0 1816032 119088 ?      Ssl  05:05  11:52 /usr/bin/kubelet --config /etc/kubernetes/kubelet/kubelet-config.json --kubeconfig /var/lib/kubelet/kubeconfig --container-runtime-endpoint unix:///run/containerd/containerd.sock --image-credential-provider-config /etc/eks/image-credential-provider/config.json --image-credential-provider-bin-dir /etc/eks/image-credential-provider --node-ip=<IP_ADDRESS> --pod-infra-container-image=602401143452.dkr.ecr.eu-central-1.amazonaws.com/eks/pause:3.5 --v=2 --cloud-provider=aws --container-runtime=remote --node-labels=karpenter.sh/capacity-type=spot,karpenter.sh/provisioner-name=arm --register-with-taints=arch=arm64:NoSchedule --system-reserved=ephemeral-storage=1Gi,memory=200Mi,cpu=250m --kube-reserved=cpu=250m,ephemeral-storage=1Gi,memory=200Mi --eviction-hard=memory.available<0.2Gi,nodefs.available<10%,nodefs.inodesFree<10% --eviction-soft=nodefs.available<15%,nodefs.inodesFree<15%,memory.available<500Mi --eviction-soft-grace-???period=memory.available=3m0s,nodefs.available=3m0s,nodefs.inodesFree=3m0s --eviction-max-pod-grace-period=180

I have no idea where to change the "--v=2" parameter.
I haven't seen this setting here: https://karpenter.sh/preview/concepts/provisioners/#speckubeletconfiguration

Please vote on this issue by adding a 👍 reaction to the original issue to help the community and maintainers prioritize this request
Please do not leave "+1" or "me too" comments, they generate extra noise for issue followers and do not help prioritize the request
If you are interested in working on this issue or have submitted a pull request, please leave a comment

Does this not work?
https://kubernetes.io/docs/reference/config-api/kubelet-config.v1beta1/#LoggingConfiguration
https://karpenter.sh/docs/concepts/node-templates/#al2-and-ubuntu
apiVersion: karpenter.k8s.aws/v1alpha1
kind: AWSNodeTemplate
metadata:
  name: kubelet-config-example
spec:
  subnetSelector:
    karpenter.sh/discovery: my-cluster
  securityGroupSelector:
    karpenter.sh/discovery: my-cluster
  userData: |
    #!/bin/bash
    echo "$(jq '.kubeAPIQPS=50' /etc/kubernetes/kubelet/kubelet-config.json)" > /etc/kubernetes/kubelet/kubelet-config.json

I could see us supporting logging configuration as a first class parameter.

It does not seem to be a parameter but a commad line arg

Are you sure?
https://pkg.go.dev/k8s.io/kubelet/config/v1beta1#KubeletConfiguration
// logging specifies the options of logging.
	// Refer to [Logs Options](https://github.com/kubernetes/component-base/blob/master/logs/options.go)
	// for more information.
	// Default:
	//   Format: text
	// + optional
	Logging [logsapi](https://pkg.go.dev/k8s.io/component-base/logs/api/v1).[LoggingConfiguration](https://pkg.go.dev/k8s.io/component-base/logs/api/v1#LoggingConfiguration) `json:"logging,omitempty"`

you can also configure it using a configfile but I think the command line arg which comes from "somewhere" will overwrite the configfile setting.

it comes from the KUBELET_ARGS:
[Unit]
Description=Kubernetes Kubelet
Documentation=https://github.com/kubernetes/kubernetes
After=containerd.service sandbox-image.service
Requires=containerd.service sandbox-image.service

[Service]
Slice=runtime.slice
ExecStartPre=/sbin/iptables -P FORWARD ACCEPT -w 5
ExecStart=/usr/bin/kubelet \
    --config /etc/kubernetes/kubelet/kubelet-config.json \
    --kubeconfig /var/lib/kubelet/kubeconfig \
    --container-runtime-endpoint unix:///run/containerd/containerd.sock \
    --image-credential-provider-config /etc/eks/image-credential-provider/config.json \
    --image-credential-provider-bin-dir /etc/eks/image-credential-provider \
    $KUBELET_ARGS \
    $KUBELET_EXTRA_ARGS

Restart=on-failure
RestartForceExitStatus=SIGPIPE
RestartSec=5
KillMode=process
CPUAccounting=true
MemoryAccounting=true

[Install]
WantedBy=multi-user.target
/etc/systemd/system/kubelet.service

they are defined here:
/etc/systemd/system/kubelet.service
sh-4.2$ grep KUBELET_ARGS *
bootstrap.sh:KUBELET_ARGS="--node-ip=$INTERNAL_IP --pod-infra-container-image=$PAUSE_CONTAINER --v=2"
bootstrap.sh:  KUBELET_ARGS="$KUBELET_ARGS --hostname-override=$PRIVATE_DNS_NAME"
bootstrap.sh:KUBELET_ARGS="$KUBELET_ARGS --cloud-provider=$KUBELET_CLOUD_PROVIDER"
bootstrap.sh:    KUBELET_ARGS="$KUBELET_ARGS --container-runtime=remote"
bootstrap.sh:Environment='KUBELET_ARGS=$KUBELET_ARGS'
/etc/systemd/system/kubelet.service

Were you able to try overriding the kubelet configuration with the logging config?

No from my point of view a command line argument will be stronger than some setting…

This is definitely a limitation of the bootstrap script today and the way Karpenter isolates the custom user-data with the multi-part mime format :(
One way to hack around this is to modify the --v directly in the bootstrap script. Not clean and may break at some point, but this should work...
Add to the AWSNodeTemplate:
  userData: |
    # Change kubelet logging to verbose
    sed -i 's/--v\=2/--v\=4/g' /etc/eks/bootstrap.sh

Going to leave this open as a feature request, as the proposed workaround relies on internal implementation details which may change, so I don't plan to put that particular mechanism into the docs.


Improve the vsock message on kata-check

Which feature do you think can be improved?
kata-check message for vsock support.
How can it be improved?
Suppose use_vsock = true on configuration.toml. The output of kata-check is:
INFO[0000] vsock supported
INFO[0000] IOMMUPlatform is disabled by default.
INFO[0000] VSOCK supported, configure to not use proxy
WARN[0000] Not running network checks as super user      arch=amd64 name=kata-runtime pid=52193 source=runtime
System is capable of running Kata Containers
System can currently create Kata Containers

There are two messages about vsock (lines 1 and 3 above). So one first suggestion is to collapse on a single message.
Also the line 3 says "configure to not use proxy" but, in fact, it is already configured to not use proxy. Maybe it is a typo and the message should be read as "configured"? Also, maybe, it should be kata-proxy instead of just proxy

This issue is being automatically closed as Kata Containers 1.x has now reached EOL (End of Life). This means it is no longer being maintained.

Important:
All users should switch to the latest Kata Containers 2.x release to ensure they are using a maintained release that contains the latest security fixes, performance improvements and new features.

This decision was discussed by the @kata-containers/architecture-committee and has been announced via the Kata Containers mailing list:

http://lists.katacontainers.io/pipermail/kata-dev/2020-November/001601.html
http://lists.katacontainers.io/pipermail/kata-dev/2021-April/001843.html
http://lists.katacontainers.io/pipermail/kata-dev/2021-May/001896.html

If you believe this issue still applies to Kata Containers 2.x, please open an issue against the Kata Containers 2.x repository, pointing to this one, providing details to allow us to migrate it.


cinnamon.cinnamon-session: 5.6.0 -> 5.8.0

Automatic update generated by nixpkgs-update tools. This update was made based on information from https://repology.org/project/cinnamon-session/versions.
meta.description for cinnamon.cinnamon-session is: The Cinnamon session manager
meta.homepage for cinnamon.cinnamon-session is: https://github.com/linuxmint/cinnamon-session
Updates performed

Version update

To inspect upstream changes

Compare changes on GitHub

Impact

Checks done (click to expand)

built on NixOS
The tests defined in passthru.tests, if any, passed
found 5.8.0 with grep in /nix/store/ilnskikfkvdxy60shc7r2lmrbk77vkf4-cinnamon-session-5.8.0
found 5.8.0 in filename of file in /nix/store/ilnskikfkvdxy60shc7r2lmrbk77vkf4-cinnamon-session-5.8.0

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

4 total rebuild path(s)

4 package rebuild(s)

First fifty rebuilds by attrpath
cinnamon.cinnamon-common
cinnamon.cinnamon-gsettings-overrides
cinnamon.cinnamon-screensaver
cinnamon.cinnamon-session

Instructions to test this update (click to expand)

Either download from Cachix:
nix-store -r /nix/store/ilnskikfkvdxy60shc7r2lmrbk77vkf4-cinnamon-session-5.8.0 \
  --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 cinnamon.cinnamon-session https://github.com/r-ryantm/nixpkgs/archive/9a431b48f467e363a9ebbe3a5d593f979f4dd0ee.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/ilnskikfkvdxy60shc7r2lmrbk77vkf4-cinnamon-session-5.8.0
ls -la /nix/store/ilnskikfkvdxy60shc7r2lmrbk77vkf4-cinnamon-session-5.8.0/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

4 packages built:

cinnamon.cinnamon-common
cinnamon.cinnamon-gsettings-overrides
cinnamon.cinnamon-screensaver
cinnamon.cinnamon-session

Maintainer pings
cc @bobby285271 @mkg20001 for testing.

https://github.com/linuxmint/cinnamon-session/commit/eee407c80cd186905d4ebb632a6ebb48a7de93bf needs an update of cinnamon-settings-daemon


Update flash-player to <IP_ADDRESS>

After making all changes to the cask:

[x] brew cask audit --download {{cask_file}} is error-free.
[x] brew cask style --fix {{cask_file}} left no offenses.
[x] The commit message includes the cask's name and version.

Same here, actualy 221.


Feature: Upgrade notification 1 - Adaptive link

This PR changes which URL is used in the upgrade notification banner.
Previously, the link would always point to the last patch release. This would not be desirable for cases where a minor release lays between the current version and the latest available version. E.g. if the current version is 2.14.3 and the latest version is 2.15.2, the previous behaviour was to link to the release notes of 2.15.2. These patch release notes do not contain all the information that is necessary to perform the upgrades, because the most significant changes would be in the release notes for 2.15.
This PR changes that behaviour to use the latest minor release notes URL if the version difference is more than a patch release. E.g. for current version 2.15.1 and latest version 2.15.2, the patch release notes (2.15.2)  would be used. But, for current version 2.15.1 and latest version 2.16.2, the minor release notes (2.16) would be used.
These changes are based on ec0daf604a366b18c842a13e1821391a5e2abdcd and #7671.
This desired behaviour is also described in #7336. The LTS behaviour described in #7336 will be added as a separate PR.

Thanks for contributing to Wagtail! 🎉
Before submitting, please review the contributor guidelines https://docs.wagtail.io/en/latest/contributing/index.html and check the following:

Do the tests still pass? (https://docs.wagtail.io/en/latest/contributing/developing.html#testing) Yes
Does the code comply with the style guide? (Run make lint from the Wagtail root) Yes
For Python changes: Have you added tests to cover the new/fixed behaviour? n/a
For front-end changes: Did you test on all of Wagtail’s supported environments?

Please list the exact browser and operating system versions you tested.

macOS 10.15.7, Firefox 94
macOS 10.15.7, Safari 15.1
Windows 11, Edge 95

Please list which assistive technologies you tested. None

For new features: Has the documentation been updated accordingly? No

cc @nimasmi

@gasman @kaedroho Was wondering if either of you could give this one a look 😄

@tbrlpld It's only been 3 days since you last gave us a ping on this. Please be patient :-)

@gasman Whoops. Sorry. I have been creating a bunch of MRs lately and am loosing track where I have already been annoying people 🤦♂😬

Implemented via https://github.com/wagtail/wagtail/pull/7752


rate limiting tiers tutorial

Add Rate Limiting Tiers tutorial
fix bad formatting in front matter that's preventing a site build

Closing this one, I've created https://github.com/Kong/developer.konghq.com/pull/16 based on the upstream branch


Each Harbor will delete image again and again when you delete an image in the project which has a policy of replication from each other between two harbor.

1)Version of docker engine and docker-compose
Version of docker engine:
Client:
Version:      1.12.2
API version:  1.24
Go version:   go1.6.3
Git commit:   bb80604
Built:
OS/Arch:      linux/amd64
Server:
Version:      1.12.2
API version:  1.24
Go version:   go1.6.3
Git commit:   bb80604
Built:
OS/Arch:      linux/amd64
docker-compose version
docker-compose version 1.8.1, build 878cff1
2)Config files of harbor, you can get them by packaging "Deploy/config" directory
1.18.config.zip
1.21.config.zip
3)Log files, you can get them by package the /var/log/harbor/
1.18.log.zip
1.21.log.zip
steps:

config policy of replication from each other between  two harbor
docker push an image into the project
delete the image
harbor will delete the image again and again.

dup?
@ywk253100

duplicate from each other.Maybe every node will send a sinal to another after deleted, so it can't stop.

@gdonzy Thank you for reporting this. It's a duplicate of #1222 and has been fixed.


[CommandPalette] Reactivity issue when items change

@ReiLoko4 Please open a new issue with a reproduction. If you're querying from an API, I suggest to follow this example: https://ui3.nuxt.dev/components/command-palette#without-internal-search


add -isysroot to cppflags as is done for CFLAGS/CXXFLAGS

I've checked this Git style guide. Yes
I've checked this CMake style guide. Yes
My change will work with CMake 3.2 (minimum requirement for Hunter). Yes
I will try to keep this pull request as small as possible and will try not to mix unrelated features. Yes

Testing.
Boost:

https://ci.appveyor.com/project/ingenue/hunter/builds/25839227
https://travis-ci.org/ingenue/hunter/builds/556136919?utm_source=github_status&utm_medium=notification

libxml2:

https://ci.appveyor.com/project/ingenue/hunter/builds/25839255
https://travis-ci.org/ingenue/hunter/builds/556137442?utm_source=github_status&utm_medium=notification

OpenSSL:

https://ci.appveyor.com/project/ingenue/hunter/builds/25839263
https://travis-ci.org/ingenue/hunter/builds/556137528?utm_source=github_status&utm_medium=notification

odb-boost:

https://ci.appveyor.com/project/ingenue/hunter/builds/25839272
https://travis-ci.org/ingenue/hunter/builds/556137711?utm_source=github_status&utm_medium=notification

ncursesw:

https://ci.appveyor.com/project/ingenue/hunter/builds/25839274
https://travis-ci.org/ingenue/hunter/builds/556137845?utm_source=github_status&utm_medium=notification

Released: https://github.com/ruslo/hunter/releases/tag/v0.23.202


ui: ios: Adding a device, pressing return submit the form / cannot scroll to expiry

There's a behavior that is a little bit annoying when adding a new device. Assigning the name pull the keyboard which hides and make it hard to configure other options, especially the ones that are at the bottom of the page as somehow you can't access them by scrolling down:
https://github.com/spr-networks/super/assets/1476421/ff8ead59-c914-47ab-b31e-4582af00de3b
If you press return on the keyboard it validates the form which generates the QR code and skip to the next UI. So I need to select into another edit box, and press return (in other edit box, pressing return just remove the keyboard without validating it) to then be able to scroll all the way down.
It's unclear if this behavior is meant to be able to add a device really fast by just assigning a name as it's probably what users do the most or if it's a bug, lemme know!

Got a fix for this now! :) Should be for add device view & also if other forms have the same issue.
Will push new app soon, Thanks again for your reports @0vercl0k

No worries at all @lts-po, thank you for all the fixes :) I believe this is fixed in the latest fwiw


addColumn causing issue on Forge with php 7

PHP Fatal error:  Access level to Jenssegers\Mongodb\Schema\Blueprint::addColumn() must be public (as in class Illuminate\Database\Schema\Blueprint) in /home/forge/default/vendor/jenssegers/mongodb/src/Jenssegers/Mongodb/Schema/Blueprint.php on line 6
[Symfony\Component\Debug\Exception\FatalErrorException]
Access level to Jenssegers\Mongodb\Schema\Blueprint::addColumn() must be pu
blic (as in class Illuminate\Database\Schema\Blueprint)

If you're running jenssegers 2.2.x there is a quick fix to it.
Not sure if the problem came with Laravel or with Jenssegers, but you can modify the vendor file (not a standard practice I like doing): /vendor/jenssegers/mongodb/src/Jenssegers/Mongodb/Schema/Blueprint.php on line 210.  Change protected function addColumn($type, $name, array $parameters = []) to `public function addColumn($type, $name, array $parameters = []) and you should be good to go.

yes, I am just doing the same but for some time now, with each deploy, forge breaks it :(
I am using 3.0.0-beta since that works with php-7 and mongo 3.2 on our server


Feature/gh#4 support float in kvp

this branch is for float, non changes should exit for http in it.


Stop only grpc server when a master lose primary

What changes are proposed in this pull request?
Only stop grpc server when a master lose primary.
fix #13740
fix #13840
Why are the changes needed?
Please clarify why the changes are needed. For instance,

improve leader-follower switching performance
can get metrics info although master is not leader.

Does this PR introduce any user facing changes?
can use follower master address to use webui.

This seems similar to #13905 ?

Codecov Report

Merging #13927 (2563bbe) into master (db01aae) will decrease coverage by 26.13%.
The diff coverage is 39.47%.

@@              Coverage Diff              @@
##             master   #13927       +/-   ##
=============================================
- Coverage     43.61%   17.47%   -26.14%
+ Complexity     9083     2682     -6401
=============================================
  Files          1386     1400       +14
  Lines         80546    81305      +759
  Branches       9804     9880       +76
=============================================
- Hits          35128    14212    -20916
- Misses        42465    65836    +23371
+ Partials       2953     1257     -1696

Impacted Files
Coverage Δ

...uxio/master/FaultTolerantAlluxioMasterProcess.java
0.00% <0.00%> (-59.38%)
:arrow_down:

...n/java/alluxio/master/AlluxioJobMasterProcess.java
0.00% <0.00%> (ø)

...o/master/FaultTolerantAlluxioJobMasterProcess.java
0.00% <0.00%> (ø)

.../src/main/java/alluxio/web/JobMasterWebServer.java
0.00% <0.00%> (ø)

...mmon/src/main/java/alluxio/web/RedirectFilter.java
32.50% <32.50%> (ø)

...on/src/main/java/alluxio/master/MasterProcess.java
45.61% <42.85%> (+0.61%)
:arrow_up:

...ter/src/main/java/alluxio/web/MasterWebServer.java
89.47% <80.00%> (-1.44%)
:arrow_down:

...main/java/alluxio/master/AlluxioMasterProcess.java
66.85% <90.90%> (-6.63%)
:arrow_down:

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

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

... and 706 more

Continue to review full report at Codecov.

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

This seems similar to #13905 ?

Sorry for not noticing this PR before, so now what showld I do with my PR. Should i close it?

@jiacheliu3 @bzheng888 Do you have some suggestion or discussion?

@maobaolong @qian0817 So great minds think alike :)
#13905 will add a design doc open for discussion (not added yet), @qian0817 please join us there for the discussion on the feature design. @maobaolong This PR has a different view as #13905 , as it implemented a RedirectFilter for HTTP requests and forward it to the current primary. If eventually we want the behavior to be redirecting to the primary, a RedirectFilter like this PR is the way to go. You guys can discuss further in the design doc. @qian0817 pls keep an eye on the updates in #13905
We can close this PR in favor of #13905 . Actually I'll close #13184 too for the same reason.

@jiacheliu3 @maobaolong  what's the decision? do we move forward on this PR?

Closed in favor of https://github.com/Alluxio/alluxio/pull/13905


Stop using tls12-download.

Fixes #30753. To download vcpkg.exe we now use the built-in Invoke-WebRequest PowerShell command. tls12-download will be removed in microsoft/vcpkg-tool#1082.

See also https://github.com/microsoft/vcpkg-tool/pull/1082#issuecomment-1568731705


Overlaps volume control

A similar problem to the solved overlaps heads-up notifications. The problem exists in an LG G4, don't know what about other devices.

On ASUS ZenFone 2 ZE500CL with an ASUS ZenUI, the status bar just disappears when changing the volume and does return only after switching to another app.

Possible explanation for @ArtyomIsFlash - The only place the status bar identifies fullscreen apps is here. I'm not sure if the volume controls are shown as fullscreen but they at least overlap the status bar in some way (transparent background?), causing it to go into fullscreen mode. Then when it's dismissed, this line throws an exception (or the window change just isn't detected for some reason), so the status bar doesn't reset. Might be able to fix it by checking for the systemui package name before entering fullscreen mode, but I'm not sure how I would re-organize the services to allow that.
As for the original issue, I still have no clue what's happening. Hopefully I'll be able to fix it eventually :P

Fixed this by basically listening for either the volume changed broadcast action (which is also sent when the volume panel is opened, not just when the volume is changed) and also listening for the word 'volume' in an accessibility event.
Since the broadcast action only works on Lollipop, I've had to rely solely on accessibility events for Marshmallow and Nougat. On some devices (mostly Nougat) it sends two accessibility events, one when it opens and one when it closes. The issue @ArtyomIsFlash had was most likely that it read both the issues as the panel opening - I've prevented this from happening by checking for the word 'hidden' as well, which is present in the second event. On Marshmallow, only the first event is sent, so I set a delay for the status bar to show itself again whenever the accessibility event is received. This may cause an issue since the delay for the panel to hide can vary based on the manufacturer, but it shouldn't be too annoying.
Since the volume changed broadcast works on Lollipop I simply listen for the broadcast then set a delay for the status bar to show itself, the same as on Marshmallow (except it's slightly more accurate because it also detects when the volume is changed, not just when the panel is opened). Below Lollipop it's not possible for the panel to overlap the status bar, so the majority of this issue has been fixed. There may be a few issues with devices running heavily modified versions of android, since the text in the accessibility event can be modified, but it works fine on my HTC and as far as I can tell the text doesn't change if the default language isn't set to English,, so it should be fine.


Rename the repository

Is your feature request related to a problem? Please describe.
Confusion between this project (at_app_cli) and at_cli
Describe the solution you'd like
I'd like to rename the repository to at_app based on our previous discussions, and I am seeking approval to do so.
The only other place to rename the repository is in the readme.md file's title.
Describe alternatives you've considered
Other names, at_skeleton, at_builder.
Additional context
I prefer the name at_app for the project, since it is more generic, it will make more sense long term if other commands are added to the project.

LGTM - I see that CONTRIBUTING.md is ready.


Number of client queries received type

# HELP encrypted_dns_client_queries Number of client queries received
# TYPE encrypted_dns_client_queries gauge

client_queries (gauge) = client_queries_udp (counter) +  client_queries_tcp (counter)
The total client queries type should be counter.
Merry Christmas!

Hi!
Does it make a difference?
The client queries is a computed value, by adding both counters. Counters can only be incremented.

I’m using munin to plot a graph, if I define as gauge the graph will show wrong value.
It’s should be fine by manually change the type to counter.

Unfortunately, the Prometheus client library doesn't support setting counters :(

It’s fixed, change the type manually with munin plugin.
Thanks!


Roadmap discussion for 3.0

Plans for v3.0.0 (updated as discussion progresses)

[ ] 1. drop old IE support, keep it in require('xhr/legacy') or just let people use 2.x
[ ] 2. ensure all options that xhr implements are compatible with request
[ ] 3. add fully automated cross-browser tests (surprisingly hard to do if you need to have a mock server)
[ ] 4. stop accepting content in json option, make it boolean
[ ] 5. fix #149

If you have any other important items on your agenda and want to start/keep contributing to xhr feel free to chime in.

Sounds good to me! - feel that by dropping old IE support bundle size might go down a little, should it not? - v exciting :sparkles:

Seems like  good roadmap.  No big changes, and should set the library up for long-term stability.
I don't think we should hold off on publishing or merging any of those changes until they're all ready to merge at once, though - it would take a long time, and maybe never happen.  Publishing breaking or feature changes on their own isn't a big deal as we follow semver.
If request compatibility matters, #135 should go out sooner rather than later.
We should make a couple stand-alone testing issues and merge pull requests for those as they come in.

When you say "publishing breaking ... changes on their own isn't a big deal" I don't entirely agree. A breaking change means a bump in the major, so 2.x -> 3.x. If you publish two breaking changes, then you're going to go 2.x -> 3.x -> 4.x
Much better to accumulate known breaking changes until a 3.0 candidate is in pretty good shape and unlikely to change (which I think is what @naugtur is suggesting).
Of course it's fine to merge breaking changes and not publish them – so that master is the 3.0 candidate and create a 2.x branch to be able continue publishing patches and feature additions for the current version.

Much better to accumulate known breaking changes until a 3.0 candidate is in pretty good shape and unlikely to change

Why?
I think the downside of having unpublished code is a great reason to publish right away.  When each change is published in its own version, it's much easier for users (and maintainers) to figure out which change introduced a bug, if one is released.
Having unreleased code in the repo makes me nervous.  Who knows how many months of untested-in-the-real-world code you'll be publishing?  It makes publishing a scary proposition, and you don't want to add friction like that on a project like this, that doesn't see probably more than an hour of code time from maintainers every week.
Major version bumps aren't a big deal if you don't have a massive framework-level API.  As long as breaking changes are noted in the readme (which they should be anyway, no matter how many version bumps they happen under), I don't see the downside for consumers.

I really don't understand what you're suggesting? Publish #135 as 3.0 right now? And then... this roadmap becomes the 4.0 roadmap? And then the next PR that comes in implementing a request compatible feature next week goes out as 4.0, and then this roadmap becomes the 5.0 roadmap?
I definitely think it's worth waiting on publishing 3.0 at least until a survey of what remaining features of request differ from xhr. I mean, really, the urgency here to publish a major bump seems a bit unfounded.

This roadmap becomes the "list of things to be worked on".  I think that's a reasonable function for a roadmap.
Can you explain why you place this importance/gravity on 3.0?  These numbers are for npm, not for users.
If the API needs to change in a backwards incompatible way to maintain request compatibility, we should make that change, publish as soon as possible, and bump the version number in the package.json accordingly for the benefit of npm.  The alternative is that this project languishes with unpublished, needed fixes.
This project isn't big enough for the version number to have any other meaning.
Why wait to publish fixes, except for sentimental reasons?

Again, I disagree that the numbers are not useful for users. Saying "our aim is to be a subset of request by 3.0" is much more useful for planning and much easier for users to understand than "our aim is to be a subset of request at some unknown version in the future"
I'll know that I can install<EMAIL_ADDRESS>and the supported subset of options will function in the same way as request. Otherwise, I'll install 3.x knowing that it doesn't necessarily have the same options as request, and that I'll need to constantly check for new major versions, changing my codebase along the way each time, until there is parity.
Would you really be ok with Node bumping the major version every week?  Users have a reasonable expectation that they won't need to worry about updating to a new major version every week just to get patches and fixes to their current version because breaking changes are going in every week – unless you're planning on releasing patches for all published major versions? But that would be a hell of a lot of work for maintainers once you're up past 10 major versions.
It's much easier to be able to choose a time to look at a collection of breaking changes and work out how to upgrade your codebase at a minimum every few months than have to worry about doing it every week.
I also disagree that it's a "needed fix" with any sort of urgency – the json option has always been this way in this project. If it's a "needed fix", then every other incompatibility with request is also a "needed fix" and should be fixed immediately! Hey presto, there's v3.0

Why wait to publish fixes, except for sentimental reasons?

You shouldn't! Fixes that aren't breaking changes should be published, I'm in total agreement with that.
If your question is "why wait to publish breaking changes" – then the obvious answer is churn, it's a headache for users, you leave other users behind on unpatched versions. It's much, much better to accumulate a collection of known breaking changes and publish them together – you display much more empathy for your users handling breaking changes like that.
I'm really not talking about anything onerous here – literally just to look at the API and see what else differs besides the json option.
I think this roadmap is a very reasonable goal for the next major version of this library.

Saying "our aim is to be a subset of request by 3.0" is much more useful for planning and much easier for users to understand than "our aim is to be a subset of request at some unknown version in the future"

Our aim is to be a subset of request now, and we're not.  We should publish changes to resolve this.

Would you really be ok with Node bumping the major version every week?

No - I gave a caveat above, when I said

Major version bumps aren't a big deal if you don't have a massive framework-level API

When your project has many sub-libraries and smaller APIs, managing version releases becomes a much bigger deal.  xhr is a single library with a single API, semver is much simpler for us.
Beyond that, node has never properly followed semver.  You can read about it on http://sentimentalversioning.org/
New users don't install xhr@3, they install xhr and roll with the latest version, trusting that the readme is accurate.

I'm really not talking about anything onerous here – literally just to look at the API and see what else differs besides the json option.

Being confident in request compatibility requires writing tests for all of the features for request that we want to claim we support.
Even if reading both readmes and writing down notes was all that it would take, and no changes to the code were needed, I wouldn't be getting to that in the next week or two.
This library doesn't have the development resources, or the need, to make a big deal over releases.

@TehShrike I've been a collaborator on this project for more than a couple of years now and this urgency to rush new major versions out just doesn't gel with how they've been handled up until this point.
This library has been stable for a long time now and I don't know why you want to suddenly change that process. It's not like this is a new project – it's been around for years – churn is just unnecessary at this stage of its life.
xhr is used in many mature codebases (I know because I manage them) and the prospect of having to rewrite hundreds of lines because the major version is constantly changing but I want to stay up to date with patches is just not user friendly.
v2.0 wasn't explicitly released so that all options were compatible with request – the handling of error responses were changed to be more request-like with that release – the behaviour of other options like json were not modified to be more request-like during that release.
I think v3.0 is a perfect candidate to explicitly aim to be API compatible (as much as a subset makes sense to be) – I think it's a little unfortunate that the README was changed recently, mid cycle, to say it "is" a subset of request when that was clearly incorrect with certain options. I think it would have been much better to add that statement after a concerted effort has been made to reach parity. And I think this issue, the roadmap for v3.0, encapsulates that goal nicely.

drop old IE support, keep it in require('xhr/legacy') or just let people use 2.x

@naugtur will IE 9 be supported or will that version be covered by xhr/legacy?

I've maintained forks of this library downstream for months while trying to get fixes merged.  That's nothing against maintainers at the time, this takes time and work and we maintainers can't drop everything to push for the next milestone/merge.
It is frustrating for users, though.  Part of the reason I started commenting and opening more pull requests was to try to get this library caught back up.

I maintain a hundred libraries.  If I had to worry about un-released changes sitting around when I went back to add a fix or feature, I'd never be able to go back to them and do necessary work when I need to months later.

I'll tray another tack: numbers 2 and 3 on this roadmap don't necessarily imply breaking API changes, and there's no reason to delay a version bump until they are resolved.

@reqshark we'd drop most of the support for browsers that don't have a standard compliant XMLHttpRequest object, so in IE8 and IE9 cross-origin will no longer work. Also, tweaks for IE8 will go away. New version should be usable (with some hacks) on IE9 for very basic things.
@TehShrike @mhart I think you're both right :)
We should be able to figure out what the breaking changes will be and focus on releasing the breaking changes as 3.0 and then work on non-breaking changes for 3.1, 3.2 ...
It'd be a bad thing for our userbase if we quickly released v3, v4 and so on.
Anyway, I think we should focus on figuring out how to run cross-browser tests of the whole thing, because every new service for running browser tests I found would not let us make requests outside or start a node server. It was only possible with (now deceased) Testling. I've been testing on localhost with browsers on VMs ever since.

Another breaking behaviour change to add to the list:
Remove backwards compatibility of json option accepting a body-like value. Instead, have it only accept a boolean.
So
if ("json" in options && options.json !== false) {

becomes
if (options.json === true)

Related issues/PRS: #141 #142 #134 #139

Another: Remove some dependencies that are overkill. Namely xtend and is-function
xtend is used in one place:
//L39...
else {
    params = xtend(options, {uri: uri})
}
//...

Where this can simply be achieved with:
//L39...
else {
    params = options;
    params.uri = uri;
}
//...

And is-function, since typeof options === "function" is enough of a check, especially in the browsers that v3.0 will support.

I'd probably do things a bit differently now, but if it's helpful, (https://github.com/ciscospark/spark-js-sdk/blob/master/packages/http-core/src/request/request.shim.js is the code I wrote to make xhr api-compatible with request.
Regarding cross browser testing, I've had reasonably good success using karma to run tests on sauce labs and talk to a local node server.

I looked at the http-core. Good stuff. Far too many features for this library though - the idea behind xhr is to be a minimalistic api subset and v3 should make it even smaller in byte size for dropping IE
Could you point to a setup of tests with saucelabs? I tend to consider karma an overkill, but I'd happily use bits of the setup if you have it in public anywhere.

yea, i agree, http-core is too much for your needs, but I thought the transforms applied to the options object in request.shim.js might help illustrate what i needed to do to make the apis agree with eachother. Obviously the promisiness is out of scope and the formdata/file-handling is debatable.
That same repo has has the karma and sauce config setup that I use. It's a little complex at this point for historical reasons. Even though they're deprecated at this point, the simplest files to look at are karma.conf.js and Gruntfile.js. Basically, I'm using karma to rerun the same set of tests that I run with mocha in node (ciscopark needs to work in both server and browser environments).
Karma has a pretty simple to use plugin for sauce labs. The only real tricky part is getting a sauce tunnel running first so that you reach the local server. Most cloud CI tools have straightforward instructions for doing so - I'm using Jenkins, so I had to write most of that from scratch.
Sidenote: I agree karma always feels like overkill. I've also found it to be the only solution that actually solves my problem :)

@naugtur , I'd be happy to help out with setting up Travis + SauceLabs. Here's a PR demonstrating it that uses Gulp, although the Gulp part is entirely optional.
Aside from what's in that PR, I:

made a free open source SauceLabs account
made a free open source Travis CI account
grabbed my sauce labs token, and added it to the project's Travis build as a secret env variable
made all of the code changes that you see in that PR

As an aside, I'm :+1: to the v3 roadmap. I was going to suggest dropping all of the polyfills as another option for users, but I see that's been suggested already.

@jmeas I tried, but I just didn't have enough patience to get through with it. That'd be great if you could set up SauceLabs for xhr.
Added you as a collaborator, as per open opensource spirit.

Awesome. I'll work on that soon. Is there a Gitter / IRC / Slack I can reach ya at? Setting up the different pieces might be easier if we were chatting realtime.

I sometimes jump into IRC, but I'm not a regular. I'll create a gitter space in a minute.


Parse error: syntax error, unexpected '='

Hello, I am using react and laravel for server-side-rendering.

Laravel Mix Version:- 1.0

React Version:- 16.2.0

PHP Version:- 7.0

What I did?
I clone your repo and then I tried to run it on my C9 workspace. I am also having another project of mine for the server-side-rendering. Both are shoiwing the same error on running.

Error

/home/ubuntu/workspace/vendor/spatie/laravel-server-side-rendering/src/Resolvers/MixResolver.php

namespace Spatie\Ssr\Resolvers;

class MixResolver
{
    /** @var bool */
    protected $enabled;

    public function __construct(bool $enabled)
    {
        $this->enabled = $enabled;
    }

    public function __invoke(string $identifier) : string
    {
        if (! $this->enabled) {
            return $identifier;
        }

        [$publicPathWithoutQuery] = explode('?', $identifier);

        return public_path($publicPathWithoutQuery);
    }
}

Arguments
"Parse error: syntax error, unexpected '='"
Exception message: Parse error: syntax error, unexpected '='

ErrorException (E_ERROR)
Parse error: syntax error, unexpected '=' (View: /home/ubuntu/workspace/resources/views/vue.blade.php)

Actually I am testing server-side-rending for SEO for my project but I am unable to test it. I took help from your repo but your repo is also coming up with this error. I appreciate your effort. I would be grateful to you if you can help me in this.

Thank you so much.

I just tagged a new version of laravel-server-side-rendering. It was using a PHP 7.1 feature, I restored PHP 7.0 compatibility.

Hey @sebastiandedeyne , I updated both projects. Still it is giving some different error. The error is same.

Error

Call to undefined method Spatie\Ssr\Renderer::withFallback()

ErrorException (E_ERROR)
Call to undefined method Spatie\Ssr\Renderer::withFallback() (View: /home/ubuntu/workspace/resources/views/react.blade.php)

If you can address me with this problem. It would be great. Thank You.

Thank you for doing that. Actually its working but on clicking vue link, it is showing the content of vue's page. On clicking react link, it is not showing anything. It is going to route /react, but nothing is visible. Since there are two links on the react's page in your example code.
It is showing like the image below.


PuppetDB SRV port overwritten by default port

Hi, seems that due to that line https://github.com/choria-io/mcollective-choria/blob/master/lib/mcollective/util/choria.rb#L618, the port for puppetdb used in SRV record is not being taking into account, I have effectively setup a SRV record with non standard port
$ dig +short srv _x-puppet-ca._tcp.mydomain.com
0 5 9141 ca.puppet.mydomain.com.

but, when running mco choria show_config I get
...
     PuppetDB Server: puppet.mydomain.com:8081
...

I guess that a workaround can be to explicitly setup puppetDB port using hiera like the following snippet:
mcollective_choria::config:
  puppetdb_port: 9141

ah, hmm, so i have to somehow know which of the 2 SRV records won, thats annoying but I guess not impossible.
Thanks will fix


feat: unregister failed task storage

Signed-off-by: Jim Ma<EMAIL_ADDRESS>
Description

Related Issue

Motivation and Context

Screenshots (if appropriate)
Types of changes

[ ] Bug fix (non-breaking change which fixes an issue)
[ ] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to change)
[ ] Documentation Update (if none of the other choices apply)

Checklist

[ ] My change requires a change to the documentation.
[ ] I have updated the documentation accordingly.
[ ] I have read the CONTRIBUTING document.
[ ] I have added tests to cover my changes.

Codecov Report

Merging #1717 (496bb4f) into main (8890feb) will decrease coverage by 0.21%.
The diff coverage is 0.00%.

@@            Coverage Diff             @@
##             main    #1717      +/-   ##
==========================================
- Coverage   43.91%   43.70%   -0.22%
==========================================
  Files         128      128
  Lines       15813    15826      +13
==========================================
- Hits         6945     6916      -29
- Misses       8347     8391      +44
+ Partials      521      519       -2

Flag
Coverage Δ

Object-compatibility-e2etests
?

e2etests
?

unittests
43.70% <0.00%> (-0.22%)
:arrow_down:

Flags with carried forward coverage won't be shown. Click here to find out more.

Impacted Files
Coverage Δ

client/daemon/peer/peertask_conductor.go
56.35% <0.00%> (-0.25%)
:arrow_down:

client/daemon/storage/local_storage.go
30.11% <0.00%> (-0.12%)
:arrow_down:

client/daemon/storage/local_storage_subtask.go
27.67% <0.00%> (-0.45%)
:arrow_down:

client/daemon/storage/storage_manager.go
15.81% <0.00%> (ø)

client/daemon/peer/peertask_piecetask_poller.go
34.42% <0.00%> (-14.21%)
:arrow_down:

client/daemon/peer/piece_manager.go
53.02% <0.00%> (-0.41%)
:arrow_down:


fix(command): reset ReceivedTopic for External MQTT response

closes #4505

If your build fails  due to your commit message not passing the build checks, please review the guidelines here: https://github.com/edgexfoundry/edgex-go/blob/main/.github/Contributing.md
PR Checklist
Please check if your PR fulfills the following requirements:

[x] I am not introducing a breaking change (if you are, flag in conventional commit message with BREAKING CHANGE: describing the break)
[x] I am not introducing a new dependency (add notes below if you are)
[ ] I have added unit tests for the new feature or bug fix (if not, why?)
[x] I have fully tested (add details below) this the new feature or bug fix (if not, why?)
[x] I have opened a PR for the related docs change (if not, why?)
https://github.com/edgexfoundry/edgex-docs/pull/1017

Testing Instructions

Run core-command from this branch with EXTERNALMQTT_ENABLED: true and external mqtt broker
Send command request via external mqtt request topic:

$ docker exec -it mqtt-broker /bin/sh
/ $ mosquitto_pub -t 'edgex/command/request/Random-Boolean-Device/Bool/get' -m "{\"ApiVersion\":\"v2\",\"ContentType\":\"application/json\",\"C
orrelationID\":\"14a42ea6-c394-41c3-8bcd-a29b9f5e6835\",\"RequestId\":\"e6e8a2f4-eb14-4649-9e2b-175247911369\"}"

Subscribe to external command response topic and verify the ReceivedTopic field in response payload:

$ docker exec -it mqtt-broker /bin/sh
/ $ mosquitto_sub -v -t 'edgex/command/response/#'
edgex/command/response/Random-Boolean-Device/Bool/get {"ReceivedTopic":"edgex/command/response/Random-Boolean-Device/Bool/get","CorrelationID":"14a42ea6-c394-41c3-8bcd-a29b9f5e6835","ApiVersion":"v2","RequestID":"e6e8a2f4-eb14-4649-9e2b-175247911369","ErrorCode":0,"Payload":"eyJhcGlWZXJzaW9uIjoidjIiLCJyZXF1ZXN0SWQiOiJlNmU4YTJmNC1lYjE0LTQ2NDktOWUyYi0xNzUyNDc5MTEzNjkiLCJzdGF0dXNDb2RlIjoyMDAsImV2ZW50Ijp7ImFwaVZlcnNpb24iOiJ2MiIsImlkIjoiYmY2NjM0MDAtNGJlNi00ODI3LTkxMDAtMjUwNjQzMTdmMzc2IiwiZGV2aWNlTmFtZSI6IlJhbmRvbS1Cb29sZWFuLURldmljZSIsInByb2ZpbGVOYW1lIjoiUmFuZG9tLUJvb2xlYW4tRGV2aWNlIiwic291cmNlTmFtZSI6IkJvb2wiLCJvcmlnaW4iOjE2ODExODA2MzgxNTY2Nzc1MjIsInJlYWRpbmdzIjpbeyJpZCI6IjA3NzMxNDEyLTkwODctNGQ2ZC1iZjRiLWE0YTM2YmU0M2ZiMiIsIm9yaWdpbiI6MTY4MTE4MDYzODE1NjY3NzUyMiwiZGV2aWNlTmFtZSI6IlJhbmRvbS1Cb29sZWFuLURldmljZSIsInJlc291cmNlTmFtZSI6IkJvb2xBcnJheSIsInByb2ZpbGVOYW1lIjoiUmFuZG9tLUJvb2xlYW4tRGV2aWNlIiwidmFsdWVUeXBlIjoiQm9vbEFycmF5IiwidmFsdWUiOiJbZmFsc2UsIHRydWUsIHRydWUsIHRydWUsIGZhbHNlXSJ9LHsiaWQiOiI1ZmI5ZjM2ZS1iYzUzLTRkOGEtOGRlZi0xMDgyZDkwMjhjMWUiLCJvcmlnaW4iOjE2ODExODA2MzgxNTY2Nzc1MjIsImRldmljZU5hbWUiOiJSYW5kb20tQm9vbGVhbi1EZXZpY2UiLCJyZXNvdXJjZU5hbWUiOiJCb29sIiwicHJvZmlsZU5hbWUiOiJSYW5kb20tQm9vbGVhbi1EZXZpY2UiLCJ2YWx1ZVR5cGUiOiJCb29sIiwidmFsdWUiOiJmYWxzZSJ9XX19","ContentType":"application/json","QueryParams":{}}

New Dependency Instructions (If applicable)

Codecov Report

Merging #4506 (f6a522e) into main (d6c8154) will increase coverage by 0.01%.
The diff coverage is 100.00%.

:mega: This organization is not using Codecov’s GitHub App Integration. We recommend you install it so Codecov can continue to function properly for your repositories. Learn more
@@            Coverage Diff             @@
##             main    #4506      +/-   ##
==========================================
+ Coverage   41.57%   41.58%   +0.01%
==========================================
  Files         106      106
  Lines        9749     9751       +2
==========================================
+ Hits         4053     4055       +2
  Misses       5350     5350
  Partials      346      346

Impacted Files
Coverage Δ

...rnal/core/command/controller/messaging/external.go
84.90% <100.00%> (+0.29%)
:arrow_up:

Help us with your feedback. Take ten seconds to tell us how you rate us. Have a feature suggestion? Share it here.


Downloading all Seasons or all Episodes of a singular season fails

Hello! Program works fantastic when downloading singular items. However, I'm presented with an error when trying to either do the dlType=allSeasons or dlType=allEp.
The error I'm getting is Download Error. HTTP status 400: The server cannot process the request because the syntax is not valid.
It seems to fail at this line:
$allEpData[1..($allEpData.Length -1)] | Add-BitsFile $myjob
Unfortunately, I don't know enough about powershell to really be of any more help. Thanks!

I've experienced this too. Believe it might have something to do with the file name length?

Sorry for not replying/fixing this ever.
There are also others who have made better apps than this one now. I have not tried it, but you could check out this one here that looks good: PlexRipper


[bug] Command+a shortcut not working on macOS with unstable feature enabled in Monaco Editor

Describe the bug
The command+a shortcut, which is typically used for "Select All" on macOS, does not function when the unstable feature is enabled in the Tauri application using the Monaco editor. The shortcut works as expected when the unstable feature is disabled.
Reproduction
Clone the mini repo: tauri-monaco

Enable Unstable Feature: Ensure the unstable feature is enabled in your Tauri configuration.

Run the Application: Start the application using pnpm tauri dev

Attempt to Use command+a: Open the Monaco editor and try using command+a to select all text.

Disable Unstable Feature: Modify the configuration to disable the unstable feature.

Repeat Step 2 and 3: Run the application again and test command+a.

Expected behavior
With the unstable feature enabled, command+a should select all text in the Monaco editor.
Full tauri info output
[✔] Environment
    - OS: Mac OS 13.7.2 x86_64 (X64)
    ✔ Xcode Command Line Tools: installed
    ✔ rustc: 1.83.0 (90b35a623 2024-11-26)
    ✔ cargo: 1.83.0 (5ffbef321 2024-10-29)
    ✔ rustup: 1.27.1 (54dd3d00f 2024-04-24)
    ✔ Rust toolchain: stable-x86_64-apple-darwin (default)
    - node: 20.12.2
    - pnpm: 9.15.0
    - yarn: 1.22.4
    - npm: 10.5.0
    - deno: deno 1.46.3

[-] Packages
    - tauri 🦀: 2.1.1
    - tauri-build 🦀: 2.0.3
    - wry 🦀: 0.47.2
    - tao 🦀: 0.30.8
    - tauri-cli 🦀: 1.6.0
    - @tauri-apps/api : 2.1.1
    - @tauri-apps/cli : 2.1.0

[-] Plugins

[-] App
    - build-type: bundle
    - CSP: unset
    - frontendDist: ../dist
    - devUrl: http://localhost:1420/
    - framework: SolidJS
    - bundler: Vite

Stack trace
No response
Additional context
Ctrl + a works fine on Windows as expected.

duplicate of https://github.com/tauri-apps/tauri/issues/9257


updated names requested by cohort members

Description
Just had a couple requests to change peoples names in the About page.
Type of change
Please delete options that are not relevant.

[ ] Bug fix (non-breaking change which fixes an issue)

Change Status

[ ] Complete, tested, ready to review and merge

How Has This Been Tested?

[ ] npm test

Checklist

[ ] My code follows the style guidelines of this project
[ ] I have performed a self-review of my own code
[ ] My code has been reviewed by at least one peer
[ ] My changes generate no new warnings
[ ] New and existing unit tests pass locally with my changes
[ ] There are no merge conflicts

Hey I saw this comment on the last PR. Just wanted to make sure you updated these names as well

Hey I saw this comment on the last PR. Just wanted to make sure you updated these names as well

Just saw this!  My bad!  Got it fixed :)


QR Code Generate Error

Hi, so I'm trying to generate QR codes and I'm running into an error with some 27-character codes. Below is my line of code. The issue is it doesn't add the shape to excel for some reason. It works for example if "1783BMS20CGL" is all numbers or more/less characters. Would you be able to help?
Call RenderQRCode(" Sheet1", "A1", "]2d{P}" & "1783BMS20CGL" & "{Q}" & 1 & "{D}03")

Have you tried the fork https://github.com/JonasHeidelberg/barcode-vba-macro-only ? Fixed a number of bugs there compared to here.26 jan. 2024 kl. 22:02 skrev ZunairQA @.***>:
Hi, so I'm trying to generate QR codes and I'm running into an error with some 27-character codes. Below is my line of code. The issue is it doesn't add the shape to excel for some reason. It works for example if "1783BMS20CGL" is all numbers or more/less characters. Would you be able to help?
Call RenderQRCode(" Sheet1", "A1", "]2d{P}" & "1783BMS20CGL" & "{Q}" & 1 & "{D}03")
—Reply to this email directly, view it on GitHub, or unsubscribe.You are receiving this because you are subscribed to this thread.Message ID: @.***>


Dockerfile without VOLUME

I was wondering how to use your Docker, if you didn't declare a Volume. Which will be the path that it will watch? Can you add support for Volumes? Would be a nice-to-have feature :)
Best regards,
Julian

Running it in a container was an experimental feature, and looks like I forgot to put Volume declaration in the Dockerfile. I would really appreciate any kinds of feedback about the containerized version.
And inevitably I also need to work on the issue #9 to extend supported Go versions.

Thank you! I saw your addition. I'll try to use it now and I'll give some proper feedback to you :)
Best regards!


adding ATP ID for 'other HTP data' and place holders for other topics that are not in ATP yet

…ther additional literature', 'other primary information'

@azurebrd Thanks for checking out the code.
Rob and Ceri agreed for now we will just store these as place holders (curators will not notice the difference. the UI will show everything in the normal way) until Ceri and Kimberly have time to sort these out (but we don't know when).