ENG-14563: Policy Sets

Description of the change
The pull request introduces a new Terraform resource and data source named cyral_policy_wizard_v1 to the Cyral Terraform provider.
This addition enables users to manage policy sets in the Cyral platform using the Policy Wizard V1 API through Terraform. The PR includes the implementation of the resource and data source, schema definitions, models, and accompanying tests. It also updates the provider's documentation and examples to reflect the new resource. Manual tests included in the PR confirm that users can successfully create, read, update, import, and delete policy sets using Terraform configurations with the new resource.
Type of change

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

Checklists
Development

[x] Lint rules pass locally
[x] The code changed/added as part of this pull request has been covered with tests
[x] All tests related to the changed code pass in development

Code review

[ ] This pull request has a descriptive title and information useful to a reviewer. There may be a screenshot or screencast attached
[x] Jira issue referenced in commit message and/or PR title

Testing
Create a policy set and get it by curl
goran@goran-engdahl-ThinkPad-P1-Gen-6:~/work/terraform$ cat main.tf
terraform {
  required_providers {
    cyral = {
      source = "local/terraform/cyral"
    }
  }
}

provider "cyral" {
    client_id = ""
    client_secret = ""
    control_plane = ""
}

goran@goran-engdahl-ThinkPad-P1-Gen-6:~/work/terraform$ cat create_policy_set.tf
resource "cyral_policy_wizard_v1" "repo_lockdown_example" {
  wizard_id    = "repo-lockdown"
  name        = "no block"
  wizard_parameters    = jsonencode({
    denyByDefault = false
    failClosed = false
    })
}
goran@goran-engdahl-ThinkPad-P1-Gen-6:~/work/terraform$ terraform init
Initializing the backend...
Initializing provider plugins...
- Finding latest version of local/terraform/cyral...
- Installing local/terraform/cyral v4.14.1...
- Installed local/terraform/cyral v4.14.1 (unauthenticated)
Terraform has created a lock file .terraform.lock.hcl to record the provider
selections it made above. Include this file in your version control repository
so that Terraform can guarantee to make the same selections by default when
you run "terraform init" in the future.

╷
│ Warning: Incomplete lock file information for providers
│
│ Due to your customized provider installation methods, Terraform was forced to calculate lock file checksums locally for the following providers:
│   - local/terraform/cyral
│
│ The current .terraform.lock.hcl file only includes checksums for linux_amd64, so Terraform running on another platform will fail to install these providers.
│
│ To calculate additional checksums for another platform, run:
│   terraform providers lock -platform=linux_amd64
│ (where linux_amd64 is the platform to generate)
╵
Terraform has been successfully initialized!

You may now begin working with Terraform. Try running "terraform plan" to see
any changes that are required for your infrastructure. All Terraform commands
should now work.

If you ever set or change modules or backend configuration for Terraform,
rerun this command to reinitialize your working directory. If you forget, other
commands will detect it and remind you to do so if necessary.
goran@goran-engdahl-ThinkPad-P1-Gen-6:~/work/terraform$ terraform apply

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:

  # cyral_policy_wizard_v1.repo_lockdown_example will be created
  + resource "cyral_policy_wizard_v1" "repo_lockdown_example" {
      + created           = (known after apply)
      + id                = (known after apply)
      + last_updated      = (known after apply)
      + name              = "no block"
      + policies          = (known after apply)
      + wizard_id         = "repo-lockdown"
      + wizard_parameters = jsonencode(
            {
              + denyByDefault = false
              + failClosed    = false
            }
        )
    }

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

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

cyral_policy_wizard_v1.repo_lockdown_example: Creating...
cyral_policy_wizard_v1.repo_lockdown_example: Creation complete after 2s [id=9070b72b-88ba-4244-9c87-fb2d74e9026e]

Apply complete! Resources: 1 added, 0 changed, 0 destroyed.
goran@goran-engdahl-ThinkPad-P1-Gen-6:~/work/terraform$ curl --location 'https://ge0805-main-a01.sandbox.owlsdev.net/v1/policyWizards/policySets/9070b72b-88ba-4244-9c87-fb2d74e9026e' \
--header 'Accept: application/json' \
--header 'Authorization: Bearer xx'
{"id":"9070b72b-88ba-4244-9c87-fb2d74e9026e","wizardId":"repo-lockdown","name":"no block","description":"","tags":[],"scope":null,"wizardParameters":"{\"denyByDefault\":false,\"failClosed\":false}","enabled":false,"policies":[],"lastUpdated":{"actor":"###","actorType":"ACTOR_TYPE_API_CLIENT","timestamp":"2024-11-26T09:23:28.327218029Z"},"created":{"actor":"###","actorType":"ACTOR_TYPE_API_CLIENT","timestamp":"2024-11-26T09:23:28.327218029Z"}}goran@goran-engdahl-ThinkPad-P1-Gen-6:~/work/terraform$

Update the policy set
goran@goran-engdahl-ThinkPad-P1-Gen-6:~/work/terraform$ cat create_policy_set.tf
resource "cyral_repository" "myrepo" {
    type = "mongodb"
    name = "myrepo"

    repo_node {
        name = "node-1"
        host = "mongodb.cyral.com"
        port = 27017
    }

    mongodb_settings {
      server_type = "standalone"
    }
}

resource "cyral_policy_wizard_v1" "repo_lockdown_example" {
  wizard_id    = "repo-lockdown"
  name        = "no block"
  description = "This default policy will block by default all queries for myrepo"
  enabled = true
  tags = ["default block", "fail closed"]
    scope {
    repo_ids = [cyral_repository.myrepo.id]
  }
  wizard_parameters    = jsonencode({
    denyByDefault = true
    failClosed = true
    })
}
goran@goran-engdahl-ThinkPad-P1-Gen-6:~/work/terraform$ terraform apply
cyral_policy_wizard_v1.repo_lockdown_example: Refreshing state... [id=9070b72b-88ba-4244-9c87-fb2d74e9026e]

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

Terraform will perform the following actions:

  # cyral_policy_wizard_v1.repo_lockdown_example will be updated in-place
  ~ resource "cyral_policy_wizard_v1" "repo_lockdown_example" {
      + description       = "This default policy will block by default all queries for myrepo"
      ~ enabled           = false -> true
        id                = "9070b72b-88ba-4244-9c87-fb2d74e9026e"
        name              = "no block"
      ~ tags              = [
          + "default block",
          + "fail closed",
        ]
      ~ wizard_parameters = jsonencode(
          ~ {
              ~ denyByDefault = false -> true
              ~ failClosed    = false -> true
            }
        )
        # (4 unchanged attributes hidden)

      + scope {
          + repo_ids = (known after apply)
        }
    }

  # cyral_repository.myrepo will be created
  + resource "cyral_repository" "myrepo" {
      + id   = (known after apply)
      + name = "myrepo"
      + type = "mongodb"

      + mongodb_settings {
          + server_type      = "standalone"
            # (3 unchanged attributes hidden)
        }

      + repo_node {
          + host = "mongodb.cyral.com"
          + name = "node-1"
          + port = 27017
        }
    }

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

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

cyral_repository.myrepo: Creating...
cyral_repository.myrepo: Creation complete after 1s [id=2pNjdZrLumoRaDQWgxddxld3vmR]
cyral_policy_wizard_v1.repo_lockdown_example: Modifying... [id=9070b72b-88ba-4244-9c87-fb2d74e9026e]
cyral_policy_wizard_v1.repo_lockdown_example: Modifications complete after 1s [id=9070b72b-88ba-4244-9c87-fb2d74e9026e]

Apply complete! Resources: 1 added, 1 changed, 0 destroyed.
goran@goran-engdahl-ThinkPad-P1-Gen-6:~/work/terraform$ curl --location 'https://ge0805-main-a01.sandbox.owlsdev.net/v1/policyWizards/policySets/9070b72b-88ba-4244-9c87-fb2d74e9026e' \
--header 'Accept: application/json' \
--header 'Authorization: Bearer xxx'
{"id":"9070b72b-88ba-4244-9c87-fb2d74e9026e","wizardId":"repo-lockdown","name":"no block","description":"This default policy will block by default all queries for myrepo","tags":["default block","fail closed"],"scope":{"repoIds":["2pNjdZrLumoRaDQWgxddxld3vmR"]},"wizardParameters":"{\"denyByDefault\":true,\"failClosed\":true}","enabled":true,"policies":[{"type":"POLICY_TYPE_REGO","id":"2pNjdeuPj6MaNWTArPsvYf3nA5N"},{"type":"POLICY_TYPE_REGO","id":"2pNjdacqKt4hdgigTNC65Ippc7r"},{"type":"POLICY_TYPE_LOCAL","id":"17ddef3a-6f7e-434f-b31b-a2ec8702c423"},{"type":"POLICY_TYPE_GLOBAL","id":"9518a7d9-d89c-4183-9a55-1c74561b531e"}],"lastUpdated":{"actor":"###","actorType":"ACTOR_TYPE_API_CLIENT","timestamp":"2024-11-26T09:31:55.293777121Z"},"created":{"actor":"###","actorType":"ACTOR_TYPE_API_CLIENT","timestamp":"2024-11-26T09:23:28.327218029Z"}}goran@goran-engdahl-ThinkPad-P1-Gen-6:~/work/terraform$

Testing data source
data "cyral_policy_wizard_v1" "repo_lockdown_example" {
  id   = cyral_policy_wizard_v1.repo_lockdown_example.id
}

output "name" {
  value = data.cyral_policy_wizard_v1.repo_lockdown_example.name
}

output "description" {
  value = data.cyral_policy_wizard_v1.repo_lockdown_example.description
}

output "wizard_parameters" {
  value = data.cyral_policy_wizard_v1.repo_lockdown_example.wizard_parameters
}
terraform apply
cyral_repository.myrepo: Refreshing state... [id=2pNjdZrLumoRaDQWgxddxld3vmR]
cyral_policy_wizard_v1.repo_lockdown_example: Refreshing state... [id=9070b72b-88ba-4244-9c87-fb2d74e9026e]
data.cyral_policy_wizard_v1.repo_lockdown_example: Reading...
data.cyral_policy_wizard_v1.repo_lockdown_example: Read complete after 1s [id=9070b72b-88ba-4244-9c87-fb2d74e9026e]

Changes to Outputs:
  + description       = "This default policy will block by default all queries for myrepo"
  + name              = "no block"
  + wizard_parameters = jsonencode(
        {
          + denyByDefault = true
          + failClosed    = true
        }
    )

You can apply this plan to save these new output values to the Terraform state, without changing any real infrastructure.

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

Apply complete! Resources: 0 added, 0 changed, 0 destroyed.

Outputs:

description = "This default policy will block by default all queries for myrepo"
name = "no block"
wizard_parameters = "{\"denyByDefault\":true,\"failClosed\":true}"

Delete policy set
terraform apply
cyral_policy_wizard_v1.repo_lockdown_example: Refreshing state... [id=9070b72b-88ba-4244-9c87-fb2d74e9026e]
cyral_repository.myrepo: Refreshing state... [id=2pNjdZrLumoRaDQWgxddxld3vmR]

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

Terraform will perform the following actions:

  # cyral_policy_wizard_v1.repo_lockdown_example will be destroyed
  # (because cyral_policy_wizard_v1.repo_lockdown_example is not in configuration)
  - resource "cyral_policy_wizard_v1" "repo_lockdown_example" {
      - created           = {
          - "actor"      = "###"
          - "actor_type" = "ACTOR_TYPE_API_CLIENT"
          - "timestamp"  = "2024-11-26T09:23:28.327218029Z"
        } -> null
      - description       = "This default policy will block by default all queries for myrepo" -> null
      - enabled           = true -> null
      - id                = "9070b72b-88ba-4244-9c87-fb2d74e9026e" -> null
      - last_updated      = {
          - "actor"      = "###"
          - "actor_type" = "ACTOR_TYPE_API_CLIENT"
          - "timestamp"  = "2024-11-26T09:31:55.293777121Z"
        } -> null
      - name              = "no block" -> null
      - policies          = [
          - {
              - id   = "2pNjdeuPj6MaNWTArPsvYf3nA5N"
              - type = "POLICY_TYPE_REGO"
            },
          - {
              - id   = "2pNjdacqKt4hdgigTNC65Ippc7r"
              - type = "POLICY_TYPE_REGO"
            },
          - {
              - id   = "17ddef3a-6f7e-434f-b31b-a2ec8702c423"
              - type = "POLICY_TYPE_LOCAL"
            },
          - {
              - id   = "9518a7d9-d89c-4183-9a55-1c74561b531e"
              - type = "POLICY_TYPE_GLOBAL"
            },
        ] -> null
      - tags              = [
          - "default block",
          - "fail closed",
        ] -> null
      - wizard_id         = "repo-lockdown" -> null
      - wizard_parameters = jsonencode(
            {
              - denyByDefault = true
              - failClosed    = true
            }
        ) -> null

      - scope {
          - repo_ids = [
              - "2pNjdZrLumoRaDQWgxddxld3vmR",
            ] -> null
        }
    }

  # cyral_repository.myrepo will be destroyed
  # (because cyral_repository.myrepo is not in configuration)
  - resource "cyral_repository" "myrepo" {
      - id     = "2pNjdZrLumoRaDQWgxddxld3vmR" -> null
      - labels = [] -> null
      - name   = "myrepo" -> null
      - type   = "mongodb" -> null

      - mongodb_settings {
          - server_type      = "standalone" -> null
            # (3 unchanged attributes hidden)
        }

      - repo_node {
          - dynamic = false -> null
          - host    = "mongodb.cyral.com" -> null
          - name    = "node-1" -> null
          - port    = 27017 -> null
        }
    }

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

Changes to Outputs:
  - description       = "This default policy will block by default all queries for myrepo" -> null
  - name              = "no block" -> null
  - wizard_parameters = jsonencode(
        {
          - denyByDefault = true
          - failClosed    = true
        }
    ) -> null

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

cyral_policy_wizard_v1.repo_lockdown_example: Destroying... [id=9070b72b-88ba-4244-9c87-fb2d74e9026e]
cyral_policy_wizard_v1.repo_lockdown_example: Destruction complete after 1s
cyral_repository.myrepo: Destroying... [id=2pNjdZrLumoRaDQWgxddxld3vmR]
cyral_repository.myrepo: Destruction complete after 1s

Apply complete! Resources: 0 added, 0 changed, 2 destroyed.
goran@goran-engdahl-ThinkPad-P1-Gen-6:~/work/terraform$ curl --location 'https://ge0805-main-a01.sandbox.owlsdev.net/v1/policyWizards/policySets/9070b72b-88ba-4244-9c87-fb2d74e9026e' \
--header 'Accept: application/json' \
--header 'Authorization: Bearer xxx'
{"code":5,"message":"policy set with ID 9070b72b-88ba-4244-9c87-fb2d74e9026e not found","details":[]}goran@goran-engdahl-ThinkPad-P1-Gen-6:~/work/terraform$

Importing a policy set
goran@goran-engdahl-ThinkPad-P1-Gen-6:~/work/terraform$ cat import.tf
# Local Policy
#resource "cyral_policy_v2" "imported_local_policy" {}

# Global Policy
#resource "cyral_policy_v2" "imported_global_policy" {}

# Approval Policy
#resource "cyral_policy_v2" "imported_approval_policy" {}

# Policy set
resource "cyral_policy_wizard_v1" "imported_policy_set" {}

# terraform import cyral_policy_v2.imported_local_policy POLICY_TYPE_LOCAL/a296e3e5-cdb9-496c-a7bd-3088921be32f
# terraform import cyral_policy_v2.imported_global_policy POLICY_TYPE_GLOBAL/abc123
# terraform import cyral_policy_v2.imported_approval_policy POLICY_TYPE_APPROVAL/abc123
# terraform import cyral_policy_wizard_v1.imported_policy_set 6f0ed502-192d-4421-8b36-a47431a77e66

goran@goran-engdahl-ThinkPad-P1-Gen-6:~/work/terraform$ terraform import cyral_policy_wizard_v1.imported_policy_set 000bd59a-0422-4467-b81e-837662fa1961
cyral_policy_wizard_v1.imported_policy_set: Importing from ID "000bd59a-0422-4467-b81e-837662fa1961"...
cyral_policy_wizard_v1.imported_policy_set: Import prepared!
  Prepared cyral_policy_wizard_v1 for import
cyral_policy_wizard_v1.imported_policy_set: Refreshing state... [id=000bd59a-0422-4467-b81e-837662fa1961]

Import successful!

The resources that were imported are shown above. These resources are now in
your Terraform state and will henceforth be managed by Terraform.

goran@goran-engdahl-ThinkPad-P1-Gen-6:~/work/terraform$ ls
disabled  import.tf  main.tf  terraform.tfstate  terraform.tfstate.backup
goran@goran-engdahl-ThinkPad-P1-Gen-6:~/work/terraform$ cat terraform.tfstate
{
  "version": 4,
  "terraform_version": "1.9.8",
  "serial": 9,
  "lineage": "ea113b00-835c-9aa2-81e2-b50b535489d3",
  "outputs": {},
  "resources": [
    {
      "mode": "managed",
      "type": "cyral_policy_wizard_v1",
      "name": "imported_policy_set",
      "provider": "provider[\"local/terraform/cyral\"]",
      "instances": [
        {
          "schema_version": 0,
          "attributes": {
            "created": {
              "actor": "###",
              "actor_type": "ACTOR_TYPE_API_CLIENT",
              "timestamp": "2024-11-25T12:55:49.513809108Z"
            },
            "description": "Test description",
            "enabled": true,
            "id": "000bd59a-0422-4467-b81e-837662fa1961",
            "last_updated": {
              "actor": "###",
              "actor_type": "ACTOR_TYPE_API_CLIENT",
              "timestamp": "2024-11-25T12:55:49.513809108Z"
            },
            "name": "Test name",
            "policies": [
              {
                "id": "2pLJJM2YrCt63sINlsujzrFVONw",
                "type": "POLICY_TYPE_REGO"
              },
              {
                "id": "2pLJJS46O2FqvarfGx3SN6sYcz6",
                "type": "POLICY_TYPE_REGO"
              },
              {
                "id": "d274de7a-188b-4200-9f1a-6d39b272e22b",
                "type": "POLICY_TYPE_LOCAL"
              },
              {
                "id": "06e58a45-b6c5-4293-8d71-927cc6708b10",
                "type": "POLICY_TYPE_GLOBAL"
              }
            ],
            "scope": [
              {
                "repo_ids": []
              }
            ],
            "tags": [
              "atag",
              "btag"
            ],
            "wizard_id": "repo-lockdown",
            "wizard_parameters": "{\"failClosed\":true,\"denyByDefault\":true}"
          },
          "sensitive_attributes": [],
          "private": "eyJzY2hlbWFfdmVyc2lvbiI6IjAifQ=="
        }
      ]
    }
  ],
  "check_results": null
}
goran@goran-engdahl-ThinkPad-P1-Gen-6:~/work/terraform$

Ran acceptance and manual tests again, and everything appears to be working as expected.


299 refactoring removing range cluster 04

This pull request removes range constraints from ten object properties in ebucoreplus ontology.
Changes

Removed the range "AudioTrack" from the property "hasAudioTrack".
Removed the range "Agent" from the property "hasAuthor".
Removed the range "Brand" from the property "hasBrand".
Removed the range "Captioning" from the property "hasCaptioning".
Removed the range "Agent" from the property "hasCaptioningSource".
Removed the range "CastMember" from the property "hasCastMember".
Removed the range "Character" from the property "hasCharacter".
Removed the range "MediaResource" from the property "hasClone".
Removed the range "Codec" from the property "hasCodec".
Removed the range "AudioCodec" from the property "hasAudioCodec".

Reviewer
@aro-max
@JuergenGrupp

Hey @aro-max
Can you please review it?


Static Header image spacing

What happened to this spacing? Needs substantially more whitespace.

@angaither according to @lkpttn

...that layout with the header isn’t currently implemented. We generally do the 24px spacer and that looks consistent in the header.

So I'm going to close this one.


Resolve height issue in workspace preview

The workspace preview could use an option to set the height of the preview container. @srambach suggested something similar to how we approach full screen only.

FYI, for the dropdowns, I added a class and used it like this:
<Example className="is-expanded-dropdown" heading="Dropdown Expanded">{dropdownExpanded}</Example>
Also, I needed additional styles when the dropdown menu was right-aligned, so I used two classes:
<Example className="is-expanded-dropdown is-right-aligned" heading="Right Aligned">{dropdownRightAligned}</Example>

I don't know the best way to do it but should we think about documenting this? This came up for me because the fixed height that was applied to the body was causing issues.

+1
The classes I added specifically for the dropdown component might come in handy for other components. I'm all for documenting the preview classes and explaining what they do so that they can be reused for other components. I think we would just create these classes as needed for new component examples.
For the fixed height class I added, that value is specific to the dropdown height. Maybe we can use custom css variables applied to the example to set the height based on the component example? Or we could have a range of fixed sizes, like sm, md, lg?

Agree to not add fixed height on the preview, it will be obvious if somebody does add it back.
Add minHeight="5000rem" (or something similar to Example component in react for use by devs)


Callback Handler for connected and disconnected event?

I want to add some callback handler for connected and disconnected event just like as the following.
WireMonkey.on('connected', function(){
  console.log('Your connection is alived.');
});
WireMonkey.on('disconnected', function(){
  console.log('You are disconnected from internet.');
});

Is there any way to hook handler?

Hello there, i regret to say that the plugin doesn't have any event handlers for time being, but there is a workaround,i encourage you to do a simple hack by adding methods under this two function from the plugin file(wiremonkey.js).The plugin more likely will acquire event handlers on its next release,thanks for using the plugin.
For disconnect handler : line 43
_.onDisconnect = function(){
.......

}
For connect handler : line 48
_.onConnect = function(){
.......

}


Azure SQL certificate issue: unable to find valid certification path to requested target

System information:

Operating system (distribution) and version : macos big sure (11.4)
DBeaver version Version <IP_ADDRESS>107181810
Additional extensions: no extensions

Connection specification:

Database name and version :
Driver name : Azure SQL Server
mssql-jdbc-9.2.0.jre8.jar
msal4j:RELEASE:1.9.1
Do you use tunnels or proxies (SSH, SOCKS, etc)?  : SSH

Describe the problem you're observing:
unable to find valid certification path to requested target
Steps to reproduce, if exist:
Add connection details, and click test connection
Include any warning/errors/backtraces from the logs

The driver could not establish a secure connection to SQL Server by using Secure Sockets Layer (SSL) encryption. Error: "PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target". ClientConnectionId:10a9e34e-01c1-4c53-bf49-5bbfdef9c8ca
PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target
PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target
unable to find valid certification path to requested target
unable to find valid certification path to requested target

@saumyasuhagiya Can you please post a screenshot of your connection settings. Particularly Driver properties and SSL tabs.

@saumyasuhagiya Can you try changing trustServerCertificate to true and see if it helps?

thanks worked.


Post about microcks with asyncapi part 2

I know this is time for a break but I've got this in the pipe for some time now. Would be nice if we can published it by beginning of January.
Description

This is the PR for post proposal #167
...
...

Related issue(s)

Resolves #167
I hope I haven't screwed anything in file path or image formats ...

@lbroudoux sorry mate but we needed a few days break to relax a bit after the crazy 2020

@lbroudoux sorry mate but we needed a few days break to relax a bit after the crazy 2020

@lbroudoux anyway man, I cannot see any changes, empty commit after your merge. I think you are working on a fork where your master is not synced with upstream master and this is why your PRs look so strange.
I recommend you to do this before any further contribution https://github.com/asyncapi/.github/blob/master/git-workflow.md#working-on-a-fork-on-local

@lbroudoux anyway man, I cannot see any changes, empty commit after your merge. I think you are working on a fork where your master is not synced with upstream master and this is why your PRs look so strange.
I recommend you to do this before any further contribution https://github.com/asyncapi/.github/blob/master/git-workflow.md#working-on-a-fork-on-local

Hi @derberg,
I think I should have made a bigger break too ... as it seems I send you garbage 😉
Sorry for that I'm gonna fix this.

 Having a break is good though.  Having a break is good though. If you think about a break you are already on a good path 😄

Cancelling this one.

Cancelling this one.


Fix: the --cluster not work when enable addon

Description of your changes

Fixes vela addon enable fluxcd --cluster={c1,c2} not working bug.
Error msg: clusters parameter must be a list of string
I have:

[x] Read and followed KubeVela's contribution process.
[x] Related Docs updated properly. In a new feature or configuration option, an update to the documentation is necessary.
[ ] Run make reviewable to ensure this PR is ready for review.
[ ] Added backport release-x.y labels to auto-backport this PR if necessary.

How has this code been tested

Special notes for your reviewer

please sign the DCO and add a unit test

Have you tested the case vela addon enable fluxcd clusters="{cluster1,cluster2}"?

Have you tested the case vela addon enable fluxcd clusters="{cluster1,cluster2}"?

I commit a new version and it works on both clusters="{c1,c2}" and --clusters={c1,c2}

I think this change will break the test: https://github.com/kubevela/kubevela/blob/master/references/cli/addon_test.go#L191，you may need fix it.

done

I think this change will break the test: https://github.com/kubevela/kubevela/blob/master/references/cli/addon_test.go#L191，you may need fix it.

done

To resolve the error of the test server not being able to fetch the ginkgo package, please rebase with the master branch.


x_ usage interferes with some JSON applications

Summary: the conflicting x_generator use cases complicate use of popular search tools, with a risk of full data loss for some CVE Records
Some parts of the JSON 5 schema allow x_ fields, e.g.,
https://github.com/CVEProject/cve-schema/blob/f8f54d50eb22d94447687823c3ef1cbb518e6d86/schema/v5.0/CVE_JSON_5.0_schema.json#L556-L557
These can have different data types. The most common difference is that some CNAs use the x_generator field with the object data type, but other CNAs use the x_generator field with the string data type. Schema validation succeeds for either one, and this typically hasn't caused problems with publishing or retrieving CVE Records.
An issue is that some tools ingest sets of JSON documents, and don't allow situations where a field has one data type in some documents but a different data type in other documents.
It's important because it, in effect, causes many CVE Records to be missing if people try the simplest approaches for loading CVE data into some of the most popular search applications. Capturing 100% of CVE Records often requires writing custom code, not just a reconfiguration. One example, out of several affected applications, is https://www.elastic.co/guide/en/elasticsearch/reference/current/ignore-malformed.html
Here, if an index contains one document with an x_generator object, and then there's an attempt to add a document with an x_generator string, the latter document is ignored because of an object mapping error. At present, anyone wishing to use CVE Record data with such a tool can delete the containers.cna.x_generator and containers.cna.x_legacyV4Record fields before ingest. No other fields are affected today.
The issue is somewhat more general than the data types of the x_ fields themselves. Anything nested under an x_ field can also be affected. For example, if one CNA uses:
"x_generator": {"engine": {"application": "A1", "OS": "Linux"}}

then the issue ("object mapping failure for containers.cna.x_generator.engine") occurs when the next CNA uses:
"x_generator": {"engine": "E1"}

As discussed in the https://github.com/CVEProject/cve-schema/issues/217 issue, this situation can also occur even without x_ - for example, both of these are allowed by the CVE JSON 5 schema but cause such tools to report "object mapping failure for containers.cna.references.myUnofficialField" if one CNA used the first format and then another CNA used the second format:
"references": [{"myUnofficialField": {"a": "b"}, "url": "https://example.com/1"}]

"references": [{"myUnofficialField": "c", "url": "https://example.com/2"}]

Options include:

The QWG could set up a way for providers to register x_ field names and their associated data formats. Even though alternate data formats would comply with the JSON 5 schema, any provider using a conflicting data format would be in violation of the CVE Program rules. This means, for example, that because x_generator was first used with an object value, any provider using a string value is in violation. Similarly, unofficial fields without an x_ would be a violation.
The QWG could predict that interest in x_ fields will be low enough that a registry isn't needed. Instead, the Secretariat could advise CNAs about data-type conflicts over email.
Advise users of these tools to traverse the complete JSON document before ingest, deleting all x_ fields and all undefined fields. Similarly, advise providers to use only official fields for any data that's potentially of widespread interest. This is sufficient but would discourage innovation in which seeing x_ content is desirable in a full text search.
Advise users of these tools to develop complex error handling, e.g., when an object mapping failure actually occurs, automatically rewrite some or all of the affected documents, or automatically rename fields, to force data-type consistency. This is also sufficient but probably more expensive to implement.
Ignore the general problem, and simply advise the tool users to delete the containers.cna.x_generator and containers.cna.x_legacyV4Record fields before ingest.

This will be handled by website team (likely solution ignore _x_generator during ES ingestion)
No schema changes required.


Module FStar.List does not open

Hello,
I'm sorry for spamming you with question but I have an issue when using the module FStarList. I tried all three following codes and it returns the error "Identifier not found: [FStar.List.length]" for the first two, and "Identifier not found: [length]" for the third. (I'm using the binary for MAC)
module Test

let x = FStar.List.length []

module Test

open FStar.List

let x = FStar.List.length []

module Test

open FStar.List

let x = length []

On the other hand, there is a file list.fst and list.fsi in my lib folder that defines the module FStar.List so I'm a bit lost.
Best
Vincent

You're using an old binary. Please try trunk before filing anything.

I don't think I'm using an old binary. When I run --version, it gives me:
F* <IP_ADDRESS>
platform=Darwin_x86_64
compiler=OCaml 4.02.3
date=
commit=c41ea17

It seems it is the latest release available on GitHub. Am I mistaken ?

Latest release yes, but it's 3 months old, and we do not maintain old releases. As our README mentions:

Please report issues using the F* issue tracker on GitHub. We don't maintain old releases, so if possible please use the online F* editor or directly the GitHub sources to check that your problem still exists.

My bad. Sorry.

I'm terribly sorry but I still don't manage to "open" correctly the library FStar.List (or any other from your package typically). I tried on the F* version online as well as on the bash version and I always get the "Identifier not found". What is the command line for fstar.exe to tell him to go look for library in the lib folder from the distribution ?

Hi there,
The easiest way to get the latest version of F* would be to check out the sources, make sure you have an up-to-date, recent OCaml (e.g. via OPAM), then run cd FStar && make -C src/ocaml-output. Then, if you run the F* binary that's found in bin/, your example should work.

Hi Vincent !
module Test
let x = FStar.List.length []

when trying to type-check it, I got the following error :
$ fstar.exe ~/Desktop/test.fst
/Users/bbeurdouche/Desktop/test.fst(4,19-4,25) : Error
Identifier not found: [FStar.List.length]

It seems that the module is not recognized.
If I add explicitly the FStar.List.fst before test.fst  I also need all it's dependencies which are listed here
fstar.exe  --admit_fsi FStar.Set FStar.Set.fsi FStar.Heap.fst FStar.ST.fst FStar.All.fst FStar.List.fst ~/test.fst
Verifying module: FStar.Heap
Verifying module: FStar.ST
Verifying module: FStar.All
Verifying module: FStar.List
Verifying module: Test
All verification conditions discharged successfully

Ps: you might require less dependancies to the FStar.List module but I personally do not remember which...

So, does that mean every time I need one of the library already written in the distribution, I need to go an check what are its dependencies ? There is no option for fstar.exe where we could put a directory in which he can just go and look automatically ?

I agree it is not practical, we have progress on having the dependancies automatically fetched but the feature is not complete yet. In the mean time, on top of many lib files, there is a "build-config" header that usually contain these dependancies for interactive type-checking. You might find it useful.
Did you manage to make it work at the end ?

Thanks a lot for the tip =) I finally manage to compile it following your example. I'm gonna check the build-config of the lib files to learn a bit more about them. Thanks !

fstar --dep make test.fst should help you out with the dependencies in this example...


lazy phar updater

updater checks with every instantiation for directory is writable.
fixes #173

hell, i hate something like this. may we should replace the whole package.

If you have a better solution please don't hesitate to provide an PR, example or more helpful comment.

The solution shouldn't be to add an another package to fix this issue. I looked into the padraic/phar-updater package and I think we should replace it with an own implemention. Like php-cs-fixer or composer:
https://github.com/composer/composer/blob/master/src/Composer/Command/SelfUpdateCommand.php
https://github.com/FriendsOfPHP/PHP-CS-Fixer/blob/2.12/src/Console/Command/SelfUpdateCommand.php

👍 but for now we can merge the PR

I would argue you shouldn't use a self-update command tbh. Leave the work to tools like phive.
Maybe padraic/phar-udpater could be taken over and reworked, but I personally don't have time for it and little interest since the only real use case for it IMO is Composer.


feat: add chainTaskOptionKW

if we wanted to chain a function which returns TaskOption in a TaskEither pipeline we would have to do
import * as TE from 'fp-ts/TaskEither'
import * as TO from 'fp-ts/TaskOption'

declare const fooTaskEither: TE.TaskEither<'no', number>;
declare const getTaskOption: (x: number) => TO.TaskOption<boolean>;

const x = pipe(
  fooTaskEither,
  TE.chainW(TE.fromTaskOptionK(() => 'big no' as const)(getTaskOption)),
);

// x : TE.TaskEither<'big no' | 'no', boolean>

but I thought it would be a better idea if we could do this instead:
const x = pipe(
  fooTaskEither,
  chainTaskOptionKW(() => 'big no' as const)(getTaskOption),
);

// x : TE.TaskEither<'big no' | 'no', boolean>

@samhh hmm, that's a good point, if you see it fit and everything is ok go ahead and merge that, cause I'm not really familiar with the codebase too
but I'm wondering, in general, is the fact the we don't assert the only benefit that we get?
the reason I did that was that when I looked at the other weak combinators, I saw a pattern (the weak ones are just asserted version of the non-weak ones) so I thought maybe it's a convention of some sort?

I saw a pattern (the weak ones are just asserted version of the non-weak ones)

That's when the weak ones are derived, example (from TaskEither.ts):
// derived
export const chainEitherK: <E, A, B>(f: (a: A) => E.Either<E, B>) => (ma: TaskEither<E, A>) => TaskEither<E, B> =
  chainEitherK_(FromEither, Chain)

// asserted version
export const chainEitherKW: <E2, A, B>(
  f: (a: A) => Either<E2, B>
) => <E1>(ma: TaskEither<E1, A>) => TaskEither<E1 | E2, B> = chainEitherK as any


iPad renders in 16:9 instead of 4:3 when in Portrait orientation

Using the default app created by react-native-cli, and changing the "Devices" to either "Universal" or "iPad" will cause the app to appear to have a 16:9 body and thus have a scroll bar unnecessarily.
Scrolled to top:

Scrolled to bottom:

Wait, this is simply due to my misunderstanding of how the iOS simulator works. Sorry about that, everything works great if I scale the simulator to a lower zoom.


cant read useSharedValue, useAnimatedStyle

Description
getting this error message 'TypeError: (0 , _$$_REQUIRE(...).useSharedValue) is not a function' whenever im importing useSharedValue, useAnimatedStyle
Steps to reproduce
import useSharedValue, useAnimatedStyle
Snack or a link to a repository
No response
Reanimated Color Picker version
2.3.2
React Native version
0.66
React Native Reanimated version
1.7.0
React Native Gesture Handler version
1.9
Platforms
Android, iOS
JavaScript runtime
JSC
Workflow
React Native (without Expo)
Architecture
Paper (Old Architecture)
Build type
Debug mode

You are using old versions of RN-reanimated and RN-gesture handler. You need version 2.0.0 and above. Please make sure to follow the installation instructions for RN-reanimated https://docs.swmansion.com/react-native-reanimated/docs/fundamentals/installation/


Rendering improvements

Includes 2 rendering improvements. Both are activated by new BlockFlags and don't change anything unless these flags are set on some blocks - making them fully backwards compatible.

Separate meshes for semi-transparent blocks: Blocks which have the semi_transparent flag set are added to a different mesh by the chunk builder. The getMeshes function returns the transparent meshes last, so that when rendering them in order, the transparent meshes are rendered last. This fixes the issue where solid blocks are not visible behind semi-transparent blocks.
Self-culling: The self_culling flag controls weather a block culls faces of itself when placed next itself. For vanilla, ResourceManagers can set this to true for all blocks except leaves.

Fabulous! (pun maybe intended)
Testing this, things look so much better already. Of course there are still problems when there are multiple translucent blocks behind each other, but even the game struggles with this.
Happy to merge and publish this now.


Add RevZilla Motorsports

Added Revzilla Motorsports under the E-Commerce section.  It looks like that's where a retailer would go?

[x] Company name
[x] Company description
[x] Company location
[x] GitHub link
[x] How Elixir is used
[x] Sorted alphabetically

Yay!  Awesome addition, thanks @mcelaney 👍


Questions regarding warnings

Hi, I noticed that toml11 warnings mostly come from type conversion warnings such as using size_t in places that use int. Are they deliberate choices? The ones that I have looked at don't seem to look that serious so I want to put PRs in to make the warning list cleaner and thus making it easier to use with projects that have stringent compilation requirements like -Werror without adding additional options for toml11 in CMake such as making it be considered as a system header. Thank you for your work, toml11 is a joy to use.

Thank you for the suggestion.
I usually use size_t when the value represents a size of type, length of a container, index of a container and something that is similar to them. But if an existing STL function returns int, I would use int for the consistency.
I would like to clarify the environment in which you found the warnings. On Linux, with gcc, I couldn't find any warnings (e.g. you can see the result with g++-8 here ). Actually, I use -Wall -Wextra -Werror when compiling a test code on CircleCI using g++. So, if g++ warns my code, at least CircleCI fails.
And now I found that clang++-7 and 8 show some warnings about the usage of rvalue references while clang++-6, 5, 4, 3.7 not. But it seems not to be the same as the warnings you reported (you can see it here). Anyway, I will fix this warnings soon.
On windows, I know that MSVC shows too many warnings on Appvayor. But it seems that MSVC warns not only my toml11 but also Boost.Test library a lot (I think it is a kind of false-positive). This makes difficult to find which portion of my code causes the warnings. Since I don't have any Windows machine, to me, it is relatively difficult to check and remove the warnings. If you have any idea about warnings on Windows and MSVC, it is really helpful to me.
So, I would like to ask which environment you are using.

Hi, thank you for the fast response, my gcc version is 9.1.1 on fedora 31. I just recompiled and one of the errors reported was in toml11/toml/combinator.hpp:48:18 with the message:
comparison of integer expressions of different signedness: ‘const int’ and ‘std::array<char, 5>::size_type’ {aka ‘long unsigned int’} [-Werror=sign-compare] which seems like an accurate warning  as snprintf will return int while std::array size() will return size_t

Thank you for the detailed report.
Sorry, I didn't try gcc-9.1 so I overlooked it. It IS a bug. If you are creating a PR, I will merge it soon.

Thank you for the PR.
If you have already found some other potential defect, PRs are welcome.


jaxws uses ip, instead of DNS

Hi,
I am using this library, to try and connect to cameras, that are behind reverse proxies. However it seems somewhere in the code it changes the camera.localhost to the effective ip address (as in the ip of the camera, not how you connect to it), and that ip is unreachable. So the eg, I use the host https://camera.localhost, and I create an OnvifDevice, but it fails whenever I try and use a service, like media or ptz, since it somehow resolves to a.b.c.d/onvif/media_service, but this I cannot reach (reverse proxy).
Is there a way to trigger all services of Onvif device to keep using the dns instead of the ip of the interface where the camera runs?

Unfortunately I dind't wrote this module, I just ported the original version under a more maintainable maven project.
If you have time to dig into this I can merge your PR and release a new version

Funny, I just solved it. I tried it before, but intellij did not seem to pick up my code changes. The library uses the xaddr the server gives it, so that being the XAddr. However this is the actual ip address of the service, and not however you reach it.
I solved it by doing this:
In OnvifDevice init, this code needs to be replaced, more specifically (for each service):
getServiceProxy((BindingProvider) media, capabilities.getMedia().getXAddr())
              .create(Media.class)
              //Add this:
getServiceProxy((BindingProvider) media, capabilities.getMedia().getXAddr().replaceFirst("http(s)?://[0-9\\.]+",this.url.toString()))
              .create(Media.class)

    if (capabilities.getMedia() != null && capabilities.getMedia().getXAddr() != null) {
      this.media = new MediaService().getMediaPort();
      this.media =
          getServiceProxy((BindingProvider) media, capabilities.getMedia().getXAddr().replaceFirst("http(s)?://[0-9\\.]+",this.url.toString()))
              .create(Media.class);
    }

    if (capabilities.getPTZ() != null && capabilities.getPTZ().getXAddr() != null) {
      this.ptz = new PtzService().getPtzPort();
      this.ptz =
          getServiceProxy((BindingProvider) ptz, capabilities.getPTZ().getXAddr().replaceFirst("http(s)?://[0-9\\.]+",this.url.toString()))
              .create(PTZ.class);
    }

    if (capabilities.getImaging() != null && capabilities.getImaging().getXAddr() != null) {
      this.imaging = new ImagingService().getImagingPort();
      this.imaging =
          getServiceProxy((BindingProvider) imaging, capabilities.getImaging().getXAddr().replaceFirst("http(s)?://[0-9\\.]+",this.url.toString()))
              .create(ImagingPort.class);
    }

    if (capabilities.getEvents() != null && capabilities.getEvents().getXAddr() != null) {
      this.events = new EventService().getEventPort();
      this.events =
          getServiceProxy((BindingProvider) events, capabilities.getEvents().getXAddr().replaceFirst("http(s)?://[0-9\\.]+",this.url.toString()))
              .create(EventPortType.class);
    }
  }

I'll look into making a pr and uploading it.

That would be great!


Add pre-compiled binaries to releases for major platforms

Motivation
Adding compiled binaries for Windows, macOS, and Debian would make it easier for users to download and run Zebrad without Docker, and would be a step towards automating the Zebra Launcher build process.

I'll try using the artifact dependencies on nightly for zebra launcher first, it'll be easier to compile versions with various feature combinations that way than compiling all of those binaries during Zebra releases if Cargo stabilizes that feature soon enough.


Changes to use moq-netcore

:shipit:, preferably with a couple more comment near excluded tests (comments still open above)

:shipit:


Add manifests for ART

/lgtm
/approve

as discussed offline pls open an issue for multiple install we can chase it after this is merged

/override ci/prow/e2e-aws


coredump with handleEvent

Fixed #1959
The write error may happen even if we shutdown the write. It is terrible to recall SM when sm destroyed.
According to @oknet , we set the shutdown side's cont to nullptr to avoid the bad callback from event system .

[approve ci]

@oknet Another 7.1.x candidate ?

I'd be cautious with this and how it interacts with #1947. It seems to be if we merge that other PR, this becomes irrelevant and I think getting rid of do_io_shutdown entirely is the better approach.

I've run this on Docs for several days, with no issues.

@zwoop yes, backport to 7.1.x. thanks


Server Errors

Server error while submitting solutions to katas as well as trying to view my previous solutions on my profile page.

Same as #1332 so you may close the issue...


Expected LoggerSessionEntity but found LoggerSessionEntity crash

hi, could u help me please?  there is no crash when i dont use network requests, but when i use first, i see this crash

error reason - Pulse setup is located into main module, network requests were into another module


release-21.1: sql: Block discarding zone config for MR entities

PR: https://github.com/cockroachdb/cockroach/pull/62159
From release notes:

Discarding a zone configuration from a multi-region enabled entity is blocked behind the override_multi_region_zone_config session variable. [#62159][#62159] {% comment %}doc{% endcomment %}

See also: #10254


Extend AWSErrorMashallerTest to support awsQueryCompatible

Issue #, if available:
Description of changes:
Extend AWSErrorMashallerTest to support awsQueryCompatible: Parse error code when present in HTTP response header.
As we decided to parse AwsQuery Compatible Error in the Http response header, the required changes need to take in place on both SDK client and Service.
This will be a pre-requisite for migrating services from AwsQuery wire protocol to AwsJson.
Error code can be fetched from response content (for example __type#fooException). This PR takes another scenario into consideration, of which when x-amzn-query-error header with valid value is found from the Http response.
The parsed error code remains unchanged if this header is missing, or contains null or invalid value.
Check all that applies:

[X] Did a review by yourself.
[X] Added proper tests to cover this PR. (If tests are not applicable, explain.)
[X] Checked if this PR is a breaking (APIs have been changed) change.
[X] Checked if this PR will not introduce cross-platform inconsistent behavior: No.
[X] Checked if this PR would require a ReadMe/Wiki update: Not needed.

Check which platforms you have built SDK on to verify the correctness of this PR.

[X] Linux
[ ] Windows
[ ] Android
[ ] MacOS
[ ] IOS
[ ] Other Platforms

By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.

Closing in favor of #2145.


[JA] Translations - Documentation

Translated by Alconost

Ran nblint and nbfmt locally, and still lint throws some errors on selected files: mostly due to malformed links ( which are inherited from source EN files).


docs: update NO_KEYS and ALL_KEYS following 7.0

Fixes #2222
Per that issue, might be worth updating migration guide before merging as well

Almost. I'm making a few other minor fixes that I will push soon. I was also going to try building them locally and re-deploying, if that's ok?

Totally fine! Just make sure you are using mike to deploy because of the versioning. I can provide a step by step if that would help. It's pretty simple.

Ah, ok thanks. Yes that would be helpful. I figured all of the configuration would be in the repo so I wouldn't need to do anything differently. Do I need to pip install mike and build/serve with mike serve?


Patient Search with Multiple Given Names return zero results.

Describe the bug
When searching for a Patient using multiple given names, (more than 1), the results come back empty on legitimate inputs.
To Reproduce
Steps to reproduce the behavior:

Use Sql Server (not CosmoDB)
Add some Patient(s) Resources to the database.  With Multiple Given Names.

One like this:
                "name": [
                    {
                        "family": "Smith",
                        "given": [
                            "John",
                            "Apple",
                            "Jingerheimer"
                        ]
                    }
                ]

second one like this:
                "name": [
                    {
                        "family": "Smith",
                        "given": [
                            "John",
                            "Banana",
                            "Jingerheimer"
                        ]
                    }
                ]

Same two patients seen below with more json.

{
    "resourceType": "Bundle",
    "id": "269caf66-0ccc-43e7-b9a5-f16f84db0149",
    "meta": {
        "lastUpdated": "2019-11-20T19:30:26.858917+00:00"
    },
    "type": "searchset",
    "link": [
        {
            "relation": "self",
            "url": "https://localhost:44348/Patient?given=Jingerheimer"
        }
    ],
    "entry": [
        {
            "fullUrl": "https://localhost:44348/Patient/504f6bd3-e9b4-4846-8948-97bf09c70722",
            "resource": {
                "resourceType": "Patient",
                "id": "504f6bd3-e9b4-4846-8948-97bf09c70722",
                "meta": {
                    "versionId": "1",
                    "lastUpdated": "2019-11-20T19:26:11.005+00:00"
                },
                "identifier": [
                    {
                        "system": "ssn",
                        "value": "111-11-1111"
                    },
                    {
                        "system": "uuid",
                        "value": "da55d068e0784b359fa97498a11543c5"
                    }
                ],
                "name": [
                    {
                        "family": "Smith",
                        "given": [
                            "John",
                            "Apple",
                            "Jingerheimer"
                        ]
                    }
                ]
            },
            "search": {
                "mode": "match"
            }
        },
        {
            "fullUrl": "https://localhost:44348/Patient/10054ce9-6141-4eca-bc5b-0978f8c8afcb",
            "resource": {
                "resourceType": "Patient",
                "id": "10054ce9-6141-4eca-bc5b-0978f8c8afcb",
                "meta": {
                    "versionId": "1",
                    "lastUpdated": "2019-11-20T19:26:48.962+00:00"
                },
                "identifier": [
                    {
                        "system": "ssn",
                        "value": "222-22-2222"
                    },
                    {
                        "system": "uuid",
                        "value": "52d09f9436d44591816fd229dd139523"
                    }
                ],
                "name": [
                    {
                        "family": "Smith",
                        "given": [
                            "John",
                            "Banana",
                            "Jingerheimer"
                        ]
                    }
                ]
            },
            "search": {
                "mode": "match"
            }
        }
    ]
}

Perform a search with mutiple given names
`https://localhost:44348/Patient/?given=Jingerheimer&given=Apple
`

Expected behavior
Return
[](
{
"resourceType": "Bundle",
"id": "269caf66-0ccc-43e7-b9a5-f16f84db0149",
"meta": {
"lastUpdated": "2019-11-20T19:30:26.858917+00:00"
},
"type": "searchset",
"link": [{
"relation": "self",
"url": "https://localhost:44348/Patient?given=Jingerheimer&given=Apple"
}
],
"entry": [{
"fullUrl": "https://localhost:44348/Patient/504f6bd3-e9b4-4846-8948-97bf09c70722",
"resource": {
"resourceType": "Patient",
"id": "504f6bd3-e9b4-4846-8948-97bf09c70722",
"meta": {
"versionId": "1",
"lastUpdated": "2019-11-20T19:26:11.005+00:00"
},
"identifier": [{
"system": "ssn",
"value": "111-11-1111"
}, {
"system": "uuid",
"value": "da55d068e0784b359fa97498a11543c5"
}
],
"name": [{
"family": "Smith",
"given": [
"John",
"Apple",
"Jingerheimer"
]
}
]
},
"search": {
"mode": "match"
}
}
]
}
)
Actual behavior
Return zero results.
========================
Issue:
The generated SQL looks like this:

exec sp_executesql N'SET STATISTICS IO ON;
SET STATISTICS TIME ON;

WITH cte0 AS
(
    SELECT ResourceSurrogateId AS Sid1
    FROM dbo.StringSearchParam
    WHERE IsHistory = 0
        AND ResourceTypeId = @p0
        AND SearchParamId = @p1
        AND TextOverflow IS NULL AND Text LIKE @p2
        AND TextOverflow IS NULL AND Text LIKE @p3

),
cte1 AS
(
    SELECT * FROM cte0
    UNION ALL
    SELECT ResourceSurrogateId AS Sid1
    FROM dbo.StringSearchParam
    WHERE IsHistory = 0
        AND ResourceTypeId = @p0
        AND SearchParamId = @p1
        AND TextOverflow IS NOT NULL AND Text LIKE @p2
        AND TextOverflow IS NOT NULL AND Text LIKE @p3

),
cte2 AS
(
    SELECT DISTINCT TOP (@p4) Sid1, 1 AS IsMatch
    FROM cte1
    ORDER BY Sid1 ASC
)
SELECT r.ResourceTypeId, r.ResourceId, r.Version, r.IsDeleted, r.ResourceSurrogateId, r.RequestMethod, CAST(IsMatch AS bit) AS IsMatch, r.RawResource
FROM dbo.Resource r
INNER JOIN cte2
ON r.ResourceSurrogateId = cte2.Sid1
ORDER BY r.ResourceSurrogateId ASC
OPTION(RECOMPILE)',N'@p0 smallint,@p1 smallint,@p2 nvarchar(256),@p3 nvarchar(256),@p4 int',@p0=103,@p1=694,@p2=N'Jingerheimer%',@p3=N'Apple%',@p4=11

The area of concern is this:
    SELECT ResourceSurrogateId AS Sid1
	--		SELECT *
    FROM dbo.StringSearchParam
    WHERE IsHistory = 0
        AND ResourceTypeId = 103
        AND SearchParamId = 694
        AND TextOverflow IS NULL AND Text LIKE 'Jingerheimer%'
        AND TextOverflow IS NULL AND Text LIKE 'Apple%'

The last two ANDs exclude each other.
If the generated SQL were the below: (note the INTERSECT)
    SELECT ResourceSurrogateId AS Sid1
	--		SELECT *
    FROM dbo.StringSearchParam
    WHERE IsHistory = 0
        AND ResourceTypeId = 103
        AND SearchParamId = 694
        AND TextOverflow IS NULL AND Text LIKE 'Jingerheimer%'
	INTERSECT
    SELECT ResourceSurrogateId AS Sid1
	--		SELECT *
    FROM dbo.StringSearchParam
    WHERE IsHistory = 0
        AND ResourceTypeId = 103
        AND SearchParamId = 694
        AND TextOverflow IS NULL AND Text LIKE 'Apple%'

It would find the correct rows.
But it looks like some decent refactoring of the below class and method.
namespace Microsoft.Health.Fhir.Core.Features.Search
{
    public class SearchOptionsFactory
public SearchOptions Create(string compartmentType, string compartmentId, string resourceType, IReadOnlyList<Tuple<string, string>> queryParameters)

I have confirmed this bug. Adding the patient from our docs:
{
    "resourceType": "Patient",
    "active": true,
    "name": [
        {
            "use": "official",
            "family": "Kirk",
            "given": [
                "James",
                "Tiberious"
            ]
        },
        {
            "use": "usual",
            "given": [
                "Jim"
            ]
        }
    ],
    "gender": "male",
    "birthDate": "1960-12-25"
}

And searching for /Patient?name=James&name=Tiberious return no results.

Thanks @granadacoder for the excellent bug report.
Looks like TableExpressionCombiner is at fault here.

@granadacoder, there should be a fix in for this now. Could you give it a go?

Sorry for the late response. I wasn't getting email alerts for some reason.
So the new pull is working correctly.
I will point out that in the generated sql, that cte0 and cte1 look somewhat redundant (see below).  But I may under appreciate how the sql-generation is.
But I am getting expected results.   The similar CTEs above are expected. cte2 unions cte1, but the difference between the two is that first one only considers entries where the TextOverflow column in not null and the second where it is null. There are filtered nonclustered indexes on these two criteria (among others) and concatenating these two is more efficient than performing a single query with an OR.

Ok, thanks for the cte1 and cte2 explanation. I 'see' it now!


Unable to disable access.log from superset

I would like to disable logs, I tried using SILENCE_FAB = True but that does nothing.
Also I want to change log level. Using LOG_LEVEL = 'ERROR' does nothing. I still get INFO logs.
What am I doing wrong?
Superset version 1.4.1. I'm using the docker image: apache/superset:1.4.1.
And the official Helm Chart version 0.5.4

I'm also interested in this

Still a problem in 2.0.1. Setting LOG_LEVEL from INFO to ERROR reduces some info messages, but I still got a lot of info and warnings in stdout. .
For example:
The field `timeseries_limit` is deprecated, please use `series_limit` instead.
2023-07-28 11:16:01,180:WARNING:superset.common.query_object:The field `timeseries_limit` is deprecated, please use `series_limit` instead.

which is logged with 'warning' level:
                logger.warning(
                    "The field `%s` is deprecated, please use `%s` instead.",
                    field.old_name,
                    field.new_name,
                )

It is a serious problem because I use paid log collector, charging me for every log message.

@DrissiReda if you want to disable gunicorn's access.log only, you can set ACCESS_LOG_FILE env var to /dev/null:
extraEnv:
  ACCESS_LOG_FILE: '/dev/null'

Hi there, and sorry this has gone quiet for so long. We're no longer supporting Superset 2.x or prior, and it's been a while since this thread saw any activity, so I'm closing this as stale. If it is still an issue in Superset 3.x (which it may well be!), we can re-open this - just let us know. Or, feel free to open a new issue with updated context. As always, PRs are welcome from anyone to fix the issue if it still exists.


Use 1.x angular version

~1.2 only takes ~1.2.x

I have no idea why the travil fails, but I think this library really needs to match angular 1.x instead of 1.2.x. Everybody with >= 1.3 gets incompatibility errors now.

Any news on this one?

Closed in #42


kong.Router.GetRoute() returns  error "expected type: entities.Route"

i am using kong 2.1.0 , and try to get current request route as below:
func getRoute(kong *pdk.PDK) (string, error) {
var routeObj, routeErr = kong.Router.GetRoute()
if routeErr != nil {
var msg = fmt.Sprintf("unable to get current request route , error : %v", routeErr)
logger(msg)
return "", errors.New(msg)
}
 ....

}
but see lots errors like this:
2020/08/07 21:57:11 [debug] 37#0: *1851 [kong] go.lua:352 unable to get current request route , error : expected type: entities.Route
What caused this ?
How to fix or workaround ?

Hi @albertforweb, I'm trying to reproduce this issue.  It seems like the route object from Kong is missing some fields; maybe we can make them optional in the Go side.  What is the context of this function call? i.e. which event handler, the plugin configuration, which other plugins might also be running, etc.

Closing for lack of feedback.  Feel free to reopen if the issue still exists.


Name collision between Spectral and Cloud bands

Describe the bug
The CloudsBandNames.CIRRUS and SpectralBandNames.SWIR_CIRRUS have the same string name ("CIRRUS"), meaning getting the Cloud band by name by using the to_band() method is currently impossible (as the spectral one is tried first)
Code To Reproduce
from eoreader.bands import to_band
print(to_band("CIRRUS"))

Output
[<SpectralBandNames.SWIR_CIRRUS: 'CIRRUS'>]

Environment:

Python version: 3.8.18
eoreader version: 0.19.4

Good one this one 😅

This should be corrected 😅
Do you need a release for that or using the latest version from Github is enough for now?

Thanks for the quick fix !
I've implemented a quick work-around for my use-case so it can definitely wait for a future release

Thanks :)


[Issue] : Fixing navbar on Best seller page

Issue Description
Logo and navbar are not properly aligned in best seller page

Are you a Hacktoberfest'21 contributor

[X] Yes, I'am Hacktoberfest'21 contributor

same is the issue for other pages also, as the styling is same for all navbars, fixing should be done for all. Can you fix this? For all pages except for the homepage?

yeah but i found this overlapping issue only on best seller page rest pages do not have this overlapping issue


operator falcon-operator-rhmp (v0.9.6)

No grade for the image yet in Pyxis. Please don't restart the release pipeline until further notice.

The image now has a grade. Requeuing release job.


Select not showing any option in vertical stepper content.

Expected Behavior
Select options should be visible within vertical stepper content.
Current Behavior
Clicking on select input doesn't show any option.
Steps to Reproduce (for bugs)
https://codesandbox.io/s/j2m7qyyk19
Add a select input in a vertical stepper.
Click on select.
No option is visible.
Context
I am trying to create a vertical form with steps.
Your Environment

Tech
Version

Material-UI
v1.0.0-beta.39

React
16.2.0

browser
Chrome

etc

Notes:
The issue is related to zIndex and transform properties. Transform prevents the stacking order of elements thus the issue with zindex.
https://katydecorah.com/code/z-index-and-transform/
I'd like to make a request, most of my clients work on remote and nice effects like transition, collapse and zoom are "less" nice.
Is it possible to add an extra option to the StepContent component transition prop, called none and no effect gets applied to the component. By default the transition prop is set to "Collapse".
What I mean is:
<StepContent transition="none"></StepContent>
And I could help with a PR if you want.
Cheers
Luca

@duvet86 For the sake of simplicity, the autocomplete demos don't portal the drawer. It's something that can be very useful when a parent like Collapse, set overflow hidden: #9483.

I could help with a PR if you want.

What's wrong with?
<StepContent transition={props => props.children}>

Nothing wrong with the render prop.
I just didn't think about that.
Cheers

@duvet86 Alright, I'm closing the issue as we have a workaround: the render prop, and two clean solutions going forward, either by using a portal on userland, or by fixing #9483


Document sectors supported

The README and/or documentation should clearly explain which sectors are supported.

Duplicate of #4.


Spatial filtering

This PR adds spatial filtering to the itemfilter by using an eox-map in a slot. It uses some packages from turf to perform the filtering, but this might be replaced by some OpenLayers functionalities (since we load OpenLayers anyways with eox-map).
Closes #141

This functionality uses three packages from turf.js here and here in order to

convert a bbox into a polygon (for convenience, could be done manually), and then to
check if two polygons a) intersect or b) one contains the other

I have seen that OL offers similar functionality, with "filters", e.g. intersects and within.
Still, I have opted against using the OL functionality (i.e. via a helper function provided by the eox-map), since there might be cases where we offer spatial sorting/filtering inside the itemfilter without a map. Example: hardcoded or dynamic (GPS sensor) user position, and filter items within a radius / sort items by distance, without offering a map interface.
I would like your opinion @RobertOrthofer @santilland if that also makes sense for you, if so then I will merge this within the next days.

Using turf for geometric operations is definitely the go-to method, even with ol being loaded. There used to be issues with bloating up the bundle size, but these issues are resolved now as far as I am aware.
some tests are still failing for me, trying to find an [data-cy='expand-button'], I suppose this is not part of this PR?

I think it sounds sensible to use turf as well, so also from me a go ahead. Probably best to have a second look at the tests as Robert was saying.

Thanks for your comments! I simplified it a bit (and at the same time made it more flexible) and removed one of the turf packages by using geometries instead of just bboxes.


Change Union profiles to make them be more "logical"

How Union profiles work is counter-intuitive.  I get it now.  Right now, I've got a profile with name "No Quad Decker" with all the Quad Decker cases disabled.  To enable Quad Decker cases, I have to disable my "No Quad Decker" profiler, a double negative.  Instead, I'd prefer to have a "Quad Decker" profile that I enable.
I've got a really wacky way to "fix" this, but I doubt you're going to like it.  I think it works, but I'm not even sure.  The idea is to flip everything on it's head.  The user still creates a Union profile as they did before, but instead of thinking of selected items as being disabled, they think of them as being enabled.  The Mod Selector then enables all Union profiles when they are unselected and disables them when they are selected.  This way if a Union profile includes a thing, then it is excluded when that profile is unselected and included when that profile is selected.
Irrespective of whether this is a change you can accept, does this scheme actually work?  And as I said, I fully expect you to reject this as an undesirable idea anyway.

Wait.  I think this IS a bad idea now.  It's great for my bomb casing list, but it doesn't work so well with a list of mods a defuser doesn't want to defuse.

It is feasible, yes, but with regards to whether I think it's a good idea or not, I think it's not great. Having profiles change the active state of elements when the profiles are not active is completely counter-intuitive to me.
I can understand where you're trying to come from, but it seems a bit haphazard having the union profile set inclusion logic flipped based on the profile's active state. As you also suggest in the follow-up comment, it doesn't work too well when you then have to look at the intersect lists.
From the outset, Mod Selector was just trying to mirror the 'veto' options design, just expanded out further and somewhat saveable and configurable. As long as users understand that the profiles are just an extension of being 'veto' lists (i.e. they disable things), I don't think there's much confusion in having to deactivate a 'No Quad Decker' profile to enable quad deckers.
I'll leave this issue open if you've got any other possible ideas to improve this situation.

Okay, I have another dumb idea.  Sorry about that.
What if you introduced another kind of Union profile that behaves as I described above.  We've not got Intersection profiles ("Intersection"), Union profiles ("Always disable"), and the new kind ("Always enable").  Of course, the new kind would be implemented as a kind of Union profile as I described.
But, am I really serious about this?  How does introducing another kind of profile make things simpler?  Frankly, I'm just hoping this bad idea helps spawn a good idea, but I kind of doubt it.
Regardless, "Hi Ash". :)

The problem I see in having a categorisation of "Always disable" and a categorisation of "Always enable" is in the priority-ordering of the two.
For the case of intersections and unions, it seemed sensible to me to do the ordering as intersections, then unions. In terms of ordering of 'unions' and 'reverse unions', what should be the expected ordering? Should 'always enable' always override 'always disable', or should it be the other way round? The answer to this question doesn't seem nearly as obvious to me as was the case for intersect w/ union.
Or does there need to be a priority ordering value for each profile that would dictate the order of combination? (At which point, the profile merging gets stupidly convoluted for the end-user!)

Isn't "always enable" basically what Intersection does anyway? I know from a technical standpoint it's "disable this only if every other Intersection disables it too", but personally I find it more intuitive to think of it as "force enable this, except if a Union disables it".

Leaving it the way it was for the time being.


fix(lambda.js): validate source is not null

We had a use case where there was a "source" but it was null

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

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


New IPython Console (Spyder 2.2+): add support for traceback links hovering

From pierre.raybaut on 2012-05-26T08:40:55Z
We have to reimplement the feature (see internal and external console) that allows the user to simply click on a traceback link to be redirected to the corresponding file/line in Spyder's editor.
References:
spyderlib.widgets.shell.PythonShellWidget.mouseReleaseEvent
spyderlib.widgets.shell.PythonShellWidget.mouseMoveEvent
spyderlib.widgets.shell.PythonShellWidget.leaveEvent
Original issue: http://code.google.com/p/spyderlib/issues/detail?id=1052

From pierre.raybaut on 2012-05-27T04:42:35Z
Labels: Cat-IPythonConsole

From pierre.raybaut on 2012-05-28T07:12:46Z
With IPython, the problem will be to parse the detailed tracebacks like this one:
In [7]: runfile(r'C:\Users\username.spyder2.temp.py', wdir=r'C:\Users\username.spyder2')
---------------------------------------------------------------------------
NameError                                 Traceback (most recent call last)
C:\Users\username.spyder2<ipython-input-7-b856e5fb281b> in <module>()
----> 1 runfile(r'C:\Users\username.spyder2.temp.py', wdir=r'C:\Users\username.spyder2')
D:\Python\spyder\spyderlib\widgets\externalshell\sitecustomize.pyc in runfile(filename, args, wdir, namespace)
465             pass
466         os.chdir(wdir)
--> 467     execfile(filename, namespace)
468     sys.argv = ['']
469     namespace.pop('file')
C:\Users\username.spyder2.temp.py in <module>()
10 import matplotlib.pyplot as plt
11
---> 12 x
13 print "hello"
14
This is going to be tricky!
We could switch to plain tracebacks (%xmode plain) but maybe it's not what most people would want.

From ccordoba12 on 2012-07-05T20:14:34Z
Blocking: spyderlib:1053

From ccordoba12 on 2012-05-28T08:24:37Z
I saw your implementation and it really rocks! We just need to adapt it for verbose tracebacks.
Maybe we can do it with a regexp that looks for file paths on a line by line basis? Just an idea. I still have to see what's in get_error_match.

From pierre.raybaut on 2012-05-28T07:54:14Z
This issue was updated by revision 7f2a6a9e75b6 .
Status: Started

From<EMAIL_ADDRESS>on 2013-04-29T14:26:18Z
Labels: -MS-v2.2 MS-v2.3

From pierre.raybaut on 2013-05-11T05:53:34Z
Labels: -MS-v2.3 MS-v2.4

From ccordoba12 on 2015-02-15T16:14:33Z
Labels: -Component-IPython


List players when /list

Using ur default /list command shows just the amount of players, but the typical command shows the amount + one line per each player with its name.
Like:
[14:11:11] [pool-2-thread-41/INFO]: There are 1/100 players online.
[14:11:11] [pool-2-thread-41/INFO]: Itzme

Pls add this to the output ;)

It was bc the WaitTime was set too low. 1s is just to less :)

I would suggest using the /player endpoint to get the online players.
Or you can also use the waitLines property and wait for 2 lines, if the message is always sent on two lines.

Per player one line btw :)
I'll give /player a try, thx :P


implement comparison methods

implement greater than / less than rich comparison methods for both objects
For reference python documentation:
https://docs.python.org/3.9/reference/datamodel.html#object.__lt__
We need to decide what to return in cases where gt/lt can't be determined — maybe a defined constant in undate.undate ? Documentation says we can return

NotImplemented in the case of a false comparison
... but it's not clear to me if that would make sense in this case or not.

test cases should include individual dates and date ranges, dates that can be compared and that can't; would also be nice to see how sorting works (or doesn't)

comparison methods implemented in #65


Migrate default branch to main; add failed build notify

Codecov Report

Merging #9 (6dea2d8) into main (4c41888) will decrease coverage by 7.6%.
The diff coverage is n/a.

@@           Coverage Diff           @@
##            main      #9     +/-   ##
=======================================
- Coverage   97.8%   90.2%   -7.7%
=======================================
  Files          4       4
  Lines         92      92
=======================================
- Hits          90      83      -7
- Misses         2       9      +7

Impacted Files
Coverage Δ

quickhttp/core.py
86.9% <0.0%> (-10.2%)
:arrow_down:


x/tools/gopls: offer undeclared names in lexical completion

This issue is extracted from #69980, where the request is to include undeclared (but used) names in lexical completion results.
We could do this by extracting such names from type errors (see also gopls/internal/analysis/undeclaredname).
I think we're much less likely to implement this feature than we are to offer the fix in #69980. Presumably it's much more important to help users fix their incorrect syntax, than it is to operate as though the syntax were valid. Putting in the unplanned milestone.
func _() {
  myvariable = 2
  foo(myv_) <-- offer 'myvariable' in lexical completion results here
}

What I think is that by accepting illegal syntax for completion, some underline error mark would appear, and code actions can be used after confirming, without moving the cursor to where the error really occurs, is it acceptable? I can take a try then.

@xzbdmw I think the tricky thing is defining the name in the lexical scope. Right now, gopls looks in the surrounding types.Scope to find available names. If the name is undefined due to the invalid initializer, it won't be available in the scope. So you'd need to either walk the syntax or look at type errors to guess what other names might be intended. While that's doable (see for example the undeclaredname analyzer), it's liable to be tricky, and the value added is not that high. In practice, the user will fix the invalid initializer before moving on to the next line.
So I think this feature is relatively tricky, and not very impactful. Therefore, it is unlikely to be prioritized.
In fact, I think this is so infeasible that we should close this issue: I don't think we'd accept this feature as a contribution.

That’s fair, the alternative would be using buffer completion source for this .


username and password

Excuse me,I have trouble using HypriotOS.
I copied the .img to SDcard and then I tried to log in the system by Xshell but failed with wrong username( pi / root ) or password( raspberry / hypriot ).
Could you tell me corret username&password?Or what should I do to log in?Thank you very much!!

It's pirate and hypriot.
Am 28.05.2016 19:41 schrieb "Shui DuJiang"<EMAIL_ADDRESS>
Excuse me,I have trouble using HypriotOS.
I copied the .img to SDcard and then I tried to log in the system by
Xshell but failed with wrong username( pi / root ) or password( raspberry /
hypriot ).
Could you tell me corret username&password?Or what should I do to log
in?Thank you very much!!
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/hypriot/image-builder-rpi/issues/101, or mute the
thread
https://github.com/notifications/unsubscribe/AAkiJuoGm4MXVUqWNNt6s7Yh5VXUeaj5ks5qGH5agaJpZM4IpH5F
.

thanks


Feature request: consider adding a license

Summary
Hi @ourzora! Would you be open to adding a license to this project? 💭
Without one, this project is under exclusive copyright by default and unless otherwise specified, nobody else can copy, distribute, or modify your work without being at risk of take-downs, shake-downs, or litigation. Once the work has other contributors (each a copyright holder), “nobody” starts including the @ourzora team. 😅
(I realize I jumped the gun by cutting the earlier PR 😳 -- sorry about that 🙇♂)
I humbly suggest the MIT License or GNU GPL v3.0 (like what's done for ourzora/v3) as an option.
If you're up for it and know which one you'd like, I wouldn't mind cutting a PR for it too! ✌

cc: @kolber for the heads-up, as (I think) the primary contributor/maintainer of this repo 🙇♂

Thanks for the reminder! LICENSE added (MIT). 🙇


Implement enums

In the simplest way possible:
enum Nephew { Huey, Dewey, Louie }

We can do all the thinking later, such as: should we allow methods on enums?
(Currently blocking on #242.)

Thinking a little bit more about this; while the most basic form of enums could very well be like in OP, sometimes we want to give them values:
enum OpType {
    ADD = 0x1,    # assuming hex integers, see #283
    SUB = 0x2,
    MUL = 0x3,
}

I want to be clear that I want enum values to have a value, not to be the value. In my very serious opinion as a professional language bikeshedder, "IS-A" relations are a bother, and should not be entered into lightly, as the repercussions can be Liskovian. (Also, I hear of the conversation over in #157.)
No, a .value property will do. It will return the enum value's underlying value, which will be an Int by default. If we play our cards right, we can support values of other types by doing something like enum <Str> MyStrEnum { ... } or something.

Should Huey be declared as a separate name? I mean, I'd expect Nephew.Huey to work, obviously, but just Huey without the qualifier?
Perl 6 says "yes". Python, Java, and TypeScript say "no". I think I had always assumed that we'd do it, but now that I think about it, perhaps best not to?
I dunno — start without it, and add it if we miss it? The Perl 6 spec has some semi-elaborate wording about "name poisoning" rather than cause a collision, but I note that Rakudo hasn't implemented that, and you just get the collision. I guess that might be fine, too, if somewhat annoying.

I'd say no. Alas without typing we can't get cute Swift like .Huey

Agreed. We shouldn't support it. I'm convinced now.
Heh. I just had this super-neat idea about being able to write import * from Nephew;, which would have worked out really nicely, were it not for the fact that we're not importing from variables in the current lexical scope...
Ah, too bad. I can see how that'd've come out really well. We could have probably supported it even without having to make enums a kind of modules.


fix: update logo

Description

I have read the CLA Document and I hereby sign the CLA

Created a PR for this here https://github.com/cowprotocol/learn/pull/41


CPT

Link To Blog
Link To Video

1.07/1
On the video specifically:
Your video overall is solid. It demonstrates your feature nicely and explains some technical parts of how your feature works (the switch to database). Some things that can be improved for CPT include your ending and captions. Your captions could be a lot shorter and concise so it's easier to read and follow, but the placement of them is fine. I would also suggest an ending page for your video to summarize your features as it remains on the screen after the video is playing. I think your video could also be a bit more technical to be CPT ready.
On the blog post specifically:
I think overall the blog post meets all requirements and explains your features and how they match with CB CPT requirements. However, I think you can expand on certain questions to be more specific and include more technical terms. For example, for your first question I would talk about how your feature utilizes parts of CRUD like create and read, and then explain how they are conditionals based off the user logging in. Just try to utilize more technical terms and explain your features more to go above and beyond for the CPT requirements.
For your collection question, you could go further by explaining how your feature manages complexity and fulfills your program's purpose. Your visual is pretty good.
I like how you put images of your code under your explanations to how your feature matches the CPT requirements. The images are well explained and well marked up to demonstrate what you are saying. I also like how you link your commits next to each big feature, this is very good.


Allow custom tags on all entities managed by KIC

Is there an existing issue for this?

[X] I have searched the existing issues

Problem Statement
Context:

https://github.com/Kong/kubernetes-ingress-controller/issues/1437

For credentials (and other types of objects created by KIC in Kong Admin API), allow the user to set custom tags.
Proposed Solution
No response
Additional information
No response
Acceptance Criteria

[ ] As a user of KIC I can set tags on a secret corresponding to a Kong consumer set of credentials. That tag will be propagated to the entity created in Kong.
[ ] The same, in a less specified manner, for other types of objects created by KIC in Kong.

Closing as won't fix - we're happy to reconsider this decision. Please speak up if you're interested in this feature.

@mflendrich would you be willing to take a look at #3198 and maybe reconsider adding support for tagging. Many thanks in advance!


Android Poor performance of FlutterView in RecycleView

Poor performance  because of FlutterVeiw extends SufaceView 。
so how to solve this problem ， i have to use FlutterVeiw in RecycleView。

Using a FlutterView inside of a RecyclerView or any other scrolling list is not a good idea, just like how using a WebView inside of a RecyclerView isn't a good idea.

but i have to do this. Do you have any other  idea about  many flutterView and android View in a scrolling list ?

/cc @jason-simmons who I believe has looked at a case along these lines a few months ago.

can you give me some suggestions @cbracken  @ds84182 。

We're closing this issue because it seems to be a question or request for help rather than a clearly reproducible bug, regression or new feature request.
Good places to ask questions or work through problems where you're more likely to get a fast response include:

Stack Overflow
Gitter
Flutter Community Slack

Thanks for using Flutter!


Remove parallel CUDA streams while keeping main_stream and loss_event(?)

See discussion on Discord, I think whatever we eventually architect that's better than my naive folly will probably still need something similar to "main_stream" that's the default for everything, so I kept that (and added it for the one kernel where it was missing)
Also loss_event is a good example of something that kinda works as intended and it allows forward and backward to overlap, so kept it for now, to show this CPU/GPU parallelism can work even with just a single "main_stream" (we should be able to do the same for the main loop to avoid syncing for timing). But it'd be good to abstract it in a safer way somehow, so definitely wouldn't disagree if you wanted to remove it too!

I merged a version of this earlier, closing


[ruby] fix: double splat issue

Ruby allows using double splat arguments without the attached hash for whatever reasons 🙄 Recently saw this in production code where the parser/frontend breaks. For example this is valid function definition:
def foo(**)
  bar(**)
end

While I've just added a test for now, there is a fix needed in both the new as well as old parsers

Handled in the new parser


Update test matrix go version to 1.21.8 and 1.22.1

Codecov Report
All modified and coverable lines are covered by tests :white_check_mark:

Project coverage is 98.75%. Comparing base (e69380f) to head (5599331).

:exclamation: Your organization needs to install the Codecov GitHub app to enable full functionality.
Additional details and impacted files
@@           Coverage Diff           @@
##           master      #13   +/-   ##
=======================================
  Coverage   98.75%   98.75%
=======================================
  Files           3        3
  Lines         240      240
=======================================
  Hits          237      237
  Misses          2        2
  Partials        1        1

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.


Struggling to use annotations in combination with tooltips

I basically want the annotation to follow the tooltip so it highlights the current category where the tooltip is shown.
I have something that is partially working, but it's causing hundreds of updates (you can see the bar flashing on this video)
https://user-images.githubusercontent.com/94755/226977358-84b500ec-8078-4a53-98d5-a01e610a3070.mp4
This is what I have:
{
  type: "line",
  xMin: 3,
  xMax: 3,
  borderColor: "rgba(0, 0, 0, 0.05)",
  borderWidth: (ctx) => {
    console.log(ctx);
    const columns = ctx.chart.data.datasets[0].data.length;
    const chartWidth = ctx.chart.width + 100;
    return chartWidth / columns;
  },
},

And then, on the tooltip I use the external option to render a HTML tooltip, as well as do something like this:
const annotations = chartInstance.options.plugins?.annotation?.annotations;
if (annotations && annotations.length > 0) {
  annotations[0].xMin = tooltip.dataPoints[0].dataIndex;
  annotations[0].xMax = tooltip.dataPoints[0].dataIndex;
  clearTimeout(timer);
  timer = window.setTimeout(() => chart.update("none"), 200);
}

Which it kind of works, but it's not optimal. Also open to other ways of doing this if annotation is not the right plugin for this.

I also tried to use a scriptable xMin, but it doesn't seem to called as I move the mouse around the chart

@goenning the annotations are "designed" for this use case. And probably the best solution could be to implement a custom plugin to draw the highlighted box.
Nevertheless I have played a bit on your use case. Not perfect (let me take more time in next days) but it's avoiding the update the chart every time. https://codepen.io/stockinail/pen/BaOGjgx

I also tried to use a scriptable xMin, but it doesn't seem to called as I move the mouse around the chart

@goenning another hint if I may. Myabe it's not solve your issue but I think you could test the value of xMin and xMax with dataIndex before invoking any update.
Have a look again to the codepen: https://codepen.io/stockinail/pen/BaOGjgx
I used your code (not with external tooltip but using the ootb one), adding a IF statement to avoind to invoke the update if the data index is not changed with annotation setting.
const annotations = chartInstance.options.plugins?.annotation?.annotations;
if (annotations && annotations.length > 0 && annotations[0].xMin !== tooltip.dataPoints[0].dataIndex) {
  annotations[0].xMin = tooltip.dataPoints[0].dataIndex;
  annotations[0].xMax = tooltip.dataPoints[0].dataIndex;
  clearTimeout(timer);
  timer = window.setTimeout(() => chart.update("none"), 200);
}

Seeing my codepen, you can see that the amount of updates on chart are really limited, every time you hover a different dataset item.
I have added the title of the chart which is showing how many updates have been performed against the chart.
Let me know if this is solving your issue.

I just had to add another instruction to set the annotation.display = false when the tooltip is removed, worked exactly like I wanted.
Thanks @stockiNail  👍


zle widget based on insert-last-word no longer works as expected

Describe the bug

I have the following widget defined and bound in my rc (copied from this stackoverflow post):
insert-first-word () { zle insert-last-word -- -1 1 }
zle -N insert-first-word
bindkey '^[,' insert-first-word

This used to work as expected: when pressing alt + , (or escape ,), zsh would insert the first word of the previous command. However, it now inserts the last word of the previous command (commonly ^[., or insert-last-word (no argument)).
To Reproduce
Steps to reproduce the behavior:

% zsh -df
% source path/to/zsh-autosuggestions.zsh

# bind m+. (for comparison)
% bindkey '^[.' insert-last-word

# create widget and bind m+,
% insert-first-word () { zle insert-last-word -- -1 1 }
% zle -N insert-first-word
% bindkey '^[,' insert-first-word

# some command with arguments
% echo a b c

# at prompt, press m+. and m+,
# observe that both insert the word 'c', but the latter should insert 'echo'

If you do the above in the reverse order (bindkey commands first, then source), you'll notice that the keybinds work as expected before the source.
Expected behavior

As man zshzle indicates, this wrapper for insert-last-word -- -1 1 should insert the first word of the previous command.
Screenshots

Desktop

OS + distribution:

macOS ventura
arch linux 20230625.0.160368

Zsh version:  both 5.9
Plugin version:  current master, bug also present on v0.6.0, v0.5.0, v0.4.0, v0.3.0

Tested with v0.2.0 as well, got:
_zsh_autosuggest_bound_insert-last-word:zle:2: unknown option: 1

Additional context

I'm quite confused how this used to work in my config and doesn't anymore. I haven't updated plugins recently, but apparently I must have changed something seemingly unrelated in my config. Will keep looking, but not sure I'll be able to track down what the issue is myself.
I also tried unset ZSH_AUTOSUGGEST_USE_ASYNC and export ZSH_AUTOSUGGEST_MANUAL_REBIND=1 (after sourcing the plugin), but neither of those seemed to make a difference.

Slight addendum: as the SO post notes, the same behavior can be achieved built-in by alt+0 alt+. and indeed, bindkey -s '^[,' '\e0\e.' does properly insert the first word from the previous command while the plugin is sourced. So while this particular issue has a solution, I'm not sure if this indicates some deeper bug that could mess up something else.

Thanks, this saved me time to figure out what was wrong with my shell.
Disabling autosuggestions worked for me.
My best guess is that something changed with zsh 5.9.  This issue seems to have started happening with zsh 5.9, which is the default version of the latest macOS 14.4.1 (Sonoma) and is the latest version installed by Homebrew.  In contrast, the latest one for Ubuntu 22.04 is zsh 5.8.1, which may be why we haven't seen many people complain yet. And with zsh 5.8, there's no issue.


Add method tracking information

Add method file path, method name, actual source code and start line to locate method from the change history

Looks good, I've run the suite and the behaviour is the same as master.


Connect via winbox

Hi buddy, How can I connect via winbox?
Thanks in advanced

just add -p 8291:8291 to your run command and login via your winbox