Up to date observed condition and refactor

Introduce a big refactor on the controller, mainly splitting logic in different controllers.

AdmissionPolicy GC controller

Watches PolicyServer deletions. When a policy server is deleted, queue a reconciliation loop of all the AdmissionPolicy resources tied to it. On the reconciliation phase:

Delete the AdmissionPolicy resource if it was not deleted already
If both the AdmissionPolicy and the PolicyServer it belongs to has been deleted, remove the finalizer from the AdmissionPolicy, so it can be garbage collected.

AdmissionPolicy Status controller. When a ConfigMap or a Pod tied to a policy server is created, modified or deleted, queue a reconciliation of all the AdmissionPolicy resources tied to them. On the reconciliation phase:

If the AdmissionPolicy hasn't got a PolicyServer assigned, update the AdmissionPolicy status to unscheduled. Otherwise, set to pending.
Update the AdmissionPolicy status observed status in the configuration file
Set PolicyServerConfigurationUpToDate and PolicyUniquelyReachable conditions based on the observed state of the cluster (assigned policy server deployment + replica set) and the ConfigMap

ClusterAdmissionPolicy GC controller

Watches PolicyServer deletions. When a policy server is deleted, queue a reconciliation loop of all the ClusterAdmissionPolicy resources tied to it. On the reconciliation phase:

Delete the ClusterAdmissionPolicy resource if it was not deleted already
If both the ClusterAdmissionPolicy and the PolicyServer it belongs to has been deleted, remove the finalizer from the ClusterAdmissionPolicy, so it can be garbage collected.

ClusterAdmissionPolicy Status controller. When a ConfigMap or a Pod tied to a policy server is created, modified or deleted, queue a reconciliation of all the ClusterAdmissionPolicy resources tied to them. On the reconciliation phase:

If the ClusterAdmissionPolicy hasn't got a PolicyServer assigned, update the ClusterAdmissionPolicy status to unscheduled. Otherwise, set to pending.
Update the ClusterAdmissionPolicy status observed status in the configuration file
Set PolicyServerConfigurationUpToDate and PolicyUniquelyReachable conditions based on the observed state of the cluster (assigned policy server deployment + replica set) and the ConfigMap

PolicyServer controller

Reconcile policy servers when an AdmissionPolicy, ClusterAdmissionPolicy, or ConfigMap changes tied to a specific policy server.
This reconciliation takes care of creating everything required for the policy server to be active, such as the secret, deployment, and the service

PolicyServer GC controller

Removes the finalizer of a PolicyServer when it has been deleted, and when there are no AdmissionPolicy or ClusterAdmissionPolicies bound to it, so it can be garbage collected.

I'm concerned this will be triggered too many times as we are watching all configmaps and all deployments. Would it be possible to set the PolicyServer as the owner of the configmap and deployment we create, and then use EnqueueRequestForOwner? example https://book-v1.book.kubebuilder.io/beyond_basics/controller_watches.html

Sorry, if I'm late to the party. But I would like to know if you further discussed this idea? It's seems doable to me.

Sorry, if I'm late to the party. But I would like to know if you further discussed this idea? It's seems doable to me.

You are not late at all! This is the right time to go through this PR :)
I think this is doable, yes. Given it's a big refactor, I'd propose to go ahead with the raw, unoptimized version, and optimize in a following PR. I just want to make sure that we have a version that reacts on all relevant events and reconciles when something happens.
In terms of optimization I think we have to look into that more in detail. Once that you have set a Watch on a resource/set of resources, the fact that callbacks are being called locally (at the stack level) I don't think is super relevant, but still, if we can avoid doing extra work I think if we should do it, but I'd strongly suggest adding optimizations after the initial refactor/work is merged (not necessarily released, of course).

This is ready. Output of make test:
make test
/home/ereslibre/projects/kubewarden/kubewarden-controller/bin/controller-gen "crd:preserveUnknownFields=false" rbac:roleName=manager-role webhook paths="./..." output:crd:artifacts:config=config/crd/bases
/home/ereslibre/projects/kubewarden/kubewarden-controller/bin/controller-gen object:headerFile="hack/boilerplate.go.txt" paths="./..."
go fmt ./...
apis/v1alpha2/zz_generated.deepcopy.go
go vet ./...
KUBEBUILDER_ASSETS="/home/ereslibre/.local/share/kubebuilder-envtest/k8s/1.23.3-linux-amd64" go test ./internal/... -test.v -coverprofile cover.out
=== RUN   TestFetchOrInitializePolicyServerCARootSecret
=== RUN   TestFetchOrInitializePolicyServerCARootSecret/Existing_CA
=== RUN   TestFetchOrInitializePolicyServerCARootSecret/CA_does_not_exist
--- PASS: TestFetchOrInitializePolicyServerCARootSecret (0.08s)
    --- PASS: TestFetchOrInitializePolicyServerCARootSecret/Existing_CA (0.00s)
    --- PASS: TestFetchOrInitializePolicyServerCARootSecret/CA_does_not_exist (0.01s)
=== RUN   TestFetchOrInitializePolicyServerSecret
=== RUN   TestFetchOrInitializePolicyServerSecret/Existing_cert
=== RUN   TestFetchOrInitializePolicyServerSecret/cert_does_not_exist
--- PASS: TestFetchOrInitializePolicyServerSecret (0.06s)
    --- PASS: TestFetchOrInitializePolicyServerSecret/Existing_cert (0.00s)
    --- PASS: TestFetchOrInitializePolicyServerSecret/cert_does_not_exist (0.00s)
=== RUN   TestArePoliciesEqual
=== RUN   TestArePoliciesEqual/same_nil_settings
=== RUN   TestArePoliciesEqual/same_empty
=== RUN   TestArePoliciesEqual/same_with_settings
=== RUN   TestArePoliciesEqual/same_with_settings_different_order
=== RUN   TestArePoliciesEqual/2_policies_same_different_order
=== RUN   TestArePoliciesEqual/different
=== RUN   TestArePoliciesEqual/different_settings
--- PASS: TestArePoliciesEqual (0.00s)
    --- PASS: TestArePoliciesEqual/same_nil_settings (0.00s)
    --- PASS: TestArePoliciesEqual/same_empty (0.00s)
    --- PASS: TestArePoliciesEqual/same_with_settings (0.00s)
    --- PASS: TestArePoliciesEqual/same_with_settings_different_order (0.00s)
    --- PASS: TestArePoliciesEqual/2_policies_same_different_order (0.00s)
    --- PASS: TestArePoliciesEqual/different (0.00s)
    --- PASS: TestArePoliciesEqual/different_settings (0.00s)
=== RUN   TestCreatePoliciesMap
--- PASS: TestCreatePoliciesMap (0.00s)
=== RUN   TestShouldUpdateSourcesList
=== RUN   TestShouldUpdateSourcesList/empty_sources
=== RUN   TestShouldUpdateSourcesList/add_insecure_sources
=== RUN   TestShouldUpdateSourcesList/remove_insecure_sources
=== RUN   TestShouldUpdateSourcesList/same_insecure_sources
=== RUN   TestShouldUpdateSourcesList/add_source_authorities
=== RUN   TestShouldUpdateSourcesList/remove_source_authorities
=== RUN   TestShouldUpdateSourcesList/same_source_authorities
--- PASS: TestShouldUpdateSourcesList (0.00s)
    --- PASS: TestShouldUpdateSourcesList/empty_sources (0.00s)
    --- PASS: TestShouldUpdateSourcesList/add_insecure_sources (0.00s)
    --- PASS: TestShouldUpdateSourcesList/remove_insecure_sources (0.00s)
    --- PASS: TestShouldUpdateSourcesList/same_insecure_sources (0.00s)
    --- PASS: TestShouldUpdateSourcesList/add_source_authorities (0.00s)
    --- PASS: TestShouldUpdateSourcesList/remove_source_authorities (0.00s)
    --- PASS: TestShouldUpdateSourcesList/same_source_authorities (0.00s)
=== RUN   TestShouldUpdatePolicyServerDeployment
=== RUN   TestShouldUpdatePolicyServerDeployment/equal_deployments
=== RUN   TestShouldUpdatePolicyServerDeployment/different_replicas
=== RUN   TestShouldUpdatePolicyServerDeployment/different_image
=== RUN   TestShouldUpdatePolicyServerDeployment/different_serviceAccount
=== RUN   TestShouldUpdatePolicyServerDeployment/new_imagePullSecret
=== RUN   TestShouldUpdatePolicyServerDeployment/different_imagePullSecret
=== RUN   TestShouldUpdatePolicyServerDeployment/new_insecureSources
=== RUN   TestShouldUpdatePolicyServerDeployment/different_insecureSources
=== RUN   TestShouldUpdatePolicyServerDeployment/different_env
=== RUN   TestShouldUpdatePolicyServerDeployment/different_annotation
=== RUN   TestShouldUpdatePolicyServerDeployment/same_nil_env
=== RUN   TestShouldUpdatePolicyServerDeployment/same_nil_annotation
--- PASS: TestShouldUpdatePolicyServerDeployment (0.00s)
    --- PASS: TestShouldUpdatePolicyServerDeployment/equal_deployments (0.00s)
    --- PASS: TestShouldUpdatePolicyServerDeployment/different_replicas (0.00s)
    --- PASS: TestShouldUpdatePolicyServerDeployment/different_image (0.00s)
    --- PASS: TestShouldUpdatePolicyServerDeployment/different_serviceAccount (0.00s)
    --- PASS: TestShouldUpdatePolicyServerDeployment/new_imagePullSecret (0.00s)
    --- PASS: TestShouldUpdatePolicyServerDeployment/different_imagePullSecret (0.00s)
    --- PASS: TestShouldUpdatePolicyServerDeployment/new_insecureSources (0.00s)
    --- PASS: TestShouldUpdatePolicyServerDeployment/different_insecureSources (0.00s)
    --- PASS: TestShouldUpdatePolicyServerDeployment/different_env (0.00s)
    --- PASS: TestShouldUpdatePolicyServerDeployment/different_annotation (0.00s)
    --- PASS: TestShouldUpdatePolicyServerDeployment/same_nil_env (0.00s)
    --- PASS: TestShouldUpdatePolicyServerDeployment/same_nil_annotation (0.00s)
=== RUN   TestIsPolicyServerNotReady
--- PASS: TestIsPolicyServerNotReady (0.00s)
=== RUN   TestMetricsEnabled
--- PASS: TestMetricsEnabled (0.00s)
=== RUN   TestCAAndCertificateCreationInAHttpsServer
--- PASS: TestCAAndCertificateCreationInAHttpsServer (4.58s)
=== RUN   TestGetPolicies
=== RUN   TestGetPolicies/empty_lists
=== RUN   TestGetPolicies/with_cluster_and_no_namespaced_policies
=== RUN   TestGetPolicies/with_namespaced_and_no_cluster_policies
=== RUN   TestGetPolicies/with_cluster_and_namespaced_policies
--- PASS: TestGetPolicies (0.01s)
    --- PASS: TestGetPolicies/empty_lists (0.00s)
    --- PASS: TestGetPolicies/with_cluster_and_no_namespaced_policies (0.00s)
    --- PASS: TestGetPolicies/with_namespaced_and_no_cluster_policies (0.00s)
    --- PASS: TestGetPolicies/with_cluster_and_namespaced_policies (0.00s)
PASS
coverage: 23.6% of statements
ok  	github.com/kubewarden/kubewarden-controller/internal/pkg/admission	4.751s	coverage: 23.6% of statements
?   	github.com/kubewarden/kubewarden-controller/internal/pkg/admissionregistration	[no test files]
?   	github.com/kubewarden/kubewarden-controller/internal/pkg/constants	[no test files]
?   	github.com/kubewarden/kubewarden-controller/internal/pkg/metrics	[no test files]
?   	github.com/kubewarden/kubewarden-controller/internal/pkg/naming	[no test files]
ACK_GINKGO_DEPRECATIONS=1.16.4 KUBEBUILDER_ASSETS="/home/ereslibre/.local/share/kubebuilder-envtest/k8s/1.23.3-linux-amd64" go test ./apis/... ./controllers/... -ginkgo.v -ginkgo.progress -test.v -coverprofile cover.out
=== RUN   TestWebhooks
Running Suite: Webhook Suite
============================
Random Seed:<PHONE_NUMBER>
Will run 3 of 3 specs

STEP: bootstrapping test environment
2022-03-24T18:24:49.794+0200	DEBUG	controller-runtime.test-env	starting control plane
2022-03-24T18:24:56.350+0200	DEBUG	controller-runtime.test-env	reading Webhooks from path	{"path": "../../config/webhook"}
2022-03-24T18:24:56.350+0200	DEBUG	controller-runtime.test-env	read webhooks from file	{"file": "kustomization.yaml"}
2022-03-24T18:24:56.351+0200	DEBUG	controller-runtime.test-env	read webhooks from file	{"file": "kustomizeconfig.yaml"}
2022-03-24T18:24:56.352+0200	DEBUG	controller-runtime.test-env	read webhooks from file	{"file": "manifests.yaml"}
2022-03-24T18:24:56.352+0200	DEBUG	controller-runtime.test-env	read webhooks from file	{"file": "service.yaml"}
2022-03-24T18:24:56.352+0200	DEBUG	controller-runtime.test-env	installing CRDs
2022-03-24T18:24:56.352+0200	DEBUG	controller-runtime.test-env	reading CRDs from path	{"path": "../../config/crd/bases"}
2022-03-24T18:24:56.354+0200	DEBUG	controller-runtime.test-env	read CRDs from file	{"file": "policies.kubewarden.io_admissionpolicies.yaml"}
2022-03-24T18:24:56.359+0200	DEBUG	controller-runtime.test-env	read CRDs from file	{"file": "policies.kubewarden.io_clusteradmissionpolicies.yaml"}
2022-03-24T18:24:56.362+0200	DEBUG	controller-runtime.test-env	read CRDs from file	{"file": "policies.kubewarden.io_policyservers.yaml"}
2022-03-24T18:24:56.401+0200	DEBUG	controller-runtime.test-env	installing CRD	{"crd": "admissionpolicies.policies.kubewarden.io"}
2022-03-24T18:24:56.418+0200	DEBUG	controller-runtime.test-env	installing CRD	{"crd": "clusteradmissionpolicies.policies.kubewarden.io"}
2022-03-24T18:24:56.426+0200	DEBUG	controller-runtime.test-env	installing CRD	{"crd": "policyservers.policies.kubewarden.io"}
2022-03-24T18:24:56.434+0200	DEBUG	controller-runtime.test-env	adding API in waitlist	{"GV": "policies.kubewarden.io/v1alpha2"}
2022-03-24T18:24:56.434+0200	DEBUG	controller-runtime.test-env	adding API in waitlist	{"GV": "policies.kubewarden.io/v1alpha2"}
2022-03-24T18:24:56.434+0200	DEBUG	controller-runtime.test-env	adding API in waitlist	{"GV": "policies.kubewarden.io/v1alpha2"}
2022-03-24T18:24:56.537+0200	DEBUG	controller-runtime.test-env	installing webhooks
2022-03-24T18:24:56.548+0200	DEBUG	controller-runtime.test-env	installing mutating webhook	{"webhook": "mutating-webhook-configuration"}
2022-03-24T18:24:56.553+0200	DEBUG	controller-runtime.test-env	installing validating webhook	{"webhook": "validating-webhook-configuration"}
2022-03-24T18:24:56.588+0200	INFO	controller-runtime.builder	Registering a mutating webhook	{"GVK": "policies.kubewarden.io/v1alpha2, Kind=ClusterAdmissionPolicy", "path": "/mutate-policies-kubewarden-io-v1alpha2-clusteradmissionpolicy"}
2022-03-24T18:24:56.588+0200	INFO	controller-runtime.webhook	registering webhook	{"path": "/mutate-policies-kubewarden-io-v1alpha2-clusteradmissionpolicy"}
2022-03-24T18:24:56.588+0200	INFO	controller-runtime.builder	Registering a validating webhook	{"GVK": "policies.kubewarden.io/v1alpha2, Kind=ClusterAdmissionPolicy", "path": "/validate-policies-kubewarden-io-v1alpha2-clusteradmissionpolicy"}
2022-03-24T18:24:56.588+0200	INFO	controller-runtime.webhook	registering webhook	{"path": "/validate-policies-kubewarden-io-v1alpha2-clusteradmissionpolicy"}
2022-03-24T18:24:56.588+0200	INFO	controller-runtime.builder	Registering a mutating webhook	{"GVK": "policies.kubewarden.io/v1alpha2, Kind=PolicyServer", "path": "/mutate-policies-kubewarden-io-v1alpha2-policyserver"}
2022-03-24T18:24:56.588+0200	INFO	controller-runtime.webhook	registering webhook	{"path": "/mutate-policies-kubewarden-io-v1alpha2-policyserver"}
2022-03-24T18:24:56.588+0200	INFO	controller-runtime.builder	skip registering a validating webhook, admission.Validator interface is not implemented	{"GVK": "policies.kubewarden.io/v1alpha2, Kind=PolicyServer"}
2022-03-24T18:24:56.589+0200	INFO	controller-runtime.webhook.webhooks	starting webhook server
2022-03-24T18:24:56.589+0200	INFO	controller-runtime.certwatcher	Updated current TLS certificate
2022-03-24T18:24:56.589+0200	INFO	controller-runtime.webhook	serving webhook server	{"host": "<IP_ADDRESS>", "port": 41735}
2022-03-24T18:24:56.589+0200	INFO	controller-runtime.certwatcher	Starting certificate watcher
validate ClusterAdmissionPolicy webhook with
  should accept creating ClusterAdmissionPolicy
  /home/ereslibre/projects/kubewarden/kubewarden-controller/apis/v1alpha2/webhook_suite_test.go:249
[It] should accept creating ClusterAdmissionPolicy
  /home/ereslibre/projects/kubewarden/kubewarden-controller/apis/v1alpha2/webhook_suite_test.go:249
2022-03-24T18:24:58.658+0200	DEBUG	controller-runtime.webhook.webhooks	received request	{"webhook": "/mutate-policies-kubewarden-io-v1alpha2-clusteradmissionpolicy", "UID": "ce44af9e-3ab8-4f5b-8300-8433dd5d197f", "kind": "policies.kubewarden.io/v1alpha2, Kind=ClusterAdmissionPolicy", "resource": {"group":"policies.kubewarden.io","version":"v1alpha2","resource":"clusteradmissionpolicies"}}
2022-03-24T18:24:58.659+0200	INFO	clusteradmissionpolicy-resource	default	{"name": "policy-test"}
2022-03-24T18:24:58.661+0200	DEBUG	controller-runtime.webhook.webhooks	wrote response	{"webhook": "/mutate-policies-kubewarden-io-v1alpha2-clusteradmissionpolicy", "code": 200, "reason": "", "UID": "ce44af9e-3ab8-4f5b-8300-8433dd5d197f", "allowed": true}
2022-03-24T18:24:58.665+0200	DEBUG	controller-runtime.webhook.webhooks	received request	{"webhook": "/validate-policies-kubewarden-io-v1alpha2-clusteradmissionpolicy", "UID": "c9476fc5-e696-47fb-9c8e-6033c85069b9", "kind": "policies.kubewarden.io/v1alpha2, Kind=ClusterAdmissionPolicy", "resource": {"group":"policies.kubewarden.io","version":"v1alpha2","resource":"clusteradmissionpolicies"}}
2022-03-24T18:24:58.665+0200	INFO	clusteradmissionpolicy-resource	validate create	{"name": "policy-test"}
2022-03-24T18:24:58.665+0200	DEBUG	controller-runtime.webhook.webhooks	wrote response	{"webhook": "/validate-policies-kubewarden-io-v1alpha2-clusteradmissionpolicy", "code": 200, "reason": "", "UID": "c9476fc5-e696-47fb-9c8e-6033c85069b9", "allowed": true}
STEP: checking default values
STEP: deleting the created ClusterAdmissionPolicy
2022-03-24T18:24:58.690+0200	DEBUG	controller-runtime.webhook.webhooks	received request	{"webhook": "/mutate-policies-kubewarden-io-v1alpha2-clusteradmissionpolicy", "UID": "c284c88a-253d-4722-9cde-6bf46a03d6e8", "kind": "policies.kubewarden.io/v1alpha2, Kind=ClusterAdmissionPolicy", "resource": {"group":"policies.kubewarden.io","version":"v1alpha2","resource":"clusteradmissionpolicies"}}
2022-03-24T18:24:58.690+0200	INFO	clusteradmissionpolicy-resource	default	{"name": "policy-test"}
2022-03-24T18:24:58.691+0200	DEBUG	controller-runtime.webhook.webhooks	wrote response	{"webhook": "/mutate-policies-kubewarden-io-v1alpha2-clusteradmissionpolicy", "code": 200, "reason": "", "UID": "c284c88a-253d-4722-9cde-6bf46a03d6e8", "allowed": true}
2022-03-24T18:24:58.692+0200	DEBUG	controller-runtime.webhook.webhooks	received request	{"webhook": "/validate-policies-kubewarden-io-v1alpha2-clusteradmissionpolicy", "UID": "98704536-20d7-4bd1-855a-7a6063db6ea2", "kind": "policies.kubewarden.io/v1alpha2, Kind=ClusterAdmissionPolicy", "resource": {"group":"policies.kubewarden.io","version":"v1alpha2","resource":"clusteradmissionpolicies"}}
2022-03-24T18:24:58.693+0200	INFO	clusteradmissionpolicy-resource	validate update	{"name": "policy-test"}
2022-03-24T18:24:58.693+0200	DEBUG	controller-runtime.webhook.webhooks	wrote response	{"webhook": "/validate-policies-kubewarden-io-v1alpha2-clusteradmissionpolicy", "code": 200, "reason": "", "UID": "98704536-20d7-4bd1-855a-7a6063db6ea2", "allowed": true}
•
------------------------------
validate ClusterAdmissionPolicy webhook with
  should deny updating ClusterAdmissionPolicy if policyServer name is changed
  /home/ereslibre/projects/kubewarden/kubewarden-controller/apis/v1alpha2/webhook_suite_test.go:269
[It] should deny updating ClusterAdmissionPolicy if policyServer name is changed
  /home/ereslibre/projects/kubewarden/kubewarden-controller/apis/v1alpha2/webhook_suite_test.go:269
2022-03-24T18:24:58.701+0200	DEBUG	controller-runtime.webhook.webhooks	received request	{"webhook": "/mutate-policies-kubewarden-io-v1alpha2-clusteradmissionpolicy", "UID": "e9d24eac-ec73-4be4-a3f2-5d3f567dcaa1", "kind": "policies.kubewarden.io/v1alpha2, Kind=ClusterAdmissionPolicy", "resource": {"group":"policies.kubewarden.io","version":"v1alpha2","resource":"clusteradmissionpolicies"}}
2022-03-24T18:24:58.701+0200	INFO	clusteradmissionpolicy-resource	default	{"name": "policy-test2"}
2022-03-24T18:24:58.701+0200	DEBUG	controller-runtime.webhook.webhooks	wrote response	{"webhook": "/mutate-policies-kubewarden-io-v1alpha2-clusteradmissionpolicy", "code": 200, "reason": "", "UID": "e9d24eac-ec73-4be4-a3f2-5d3f567dcaa1", "allowed": true}
2022-03-24T18:24:58.703+0200	DEBUG	controller-runtime.webhook.webhooks	received request	{"webhook": "/validate-policies-kubewarden-io-v1alpha2-clusteradmissionpolicy", "UID": "00ae1263-58f3-4767-8a39-32040dda7e18", "kind": "policies.kubewarden.io/v1alpha2, Kind=ClusterAdmissionPolicy", "resource": {"group":"policies.kubewarden.io","version":"v1alpha2","resource":"clusteradmissionpolicies"}}
2022-03-24T18:24:58.703+0200	INFO	clusteradmissionpolicy-resource	validate create	{"name": "policy-test2"}
2022-03-24T18:24:58.703+0200	DEBUG	controller-runtime.webhook.webhooks	wrote response	{"webhook": "/validate-policies-kubewarden-io-v1alpha2-clusteradmissionpolicy", "code": 200, "reason": "", "UID": "00ae1263-58f3-4767-8a39-32040dda7e18", "allowed": true}
2022-03-24T18:24:58.709+0200	DEBUG	controller-runtime.webhook.webhooks	received request	{"webhook": "/mutate-policies-kubewarden-io-v1alpha2-clusteradmissionpolicy", "UID": "40c7917c-4372-49d3-b450-23f4667e6b6a", "kind": "policies.kubewarden.io/v1alpha2, Kind=ClusterAdmissionPolicy", "resource": {"group":"policies.kubewarden.io","version":"v1alpha2","resource":"clusteradmissionpolicies"}}
2022-03-24T18:24:58.709+0200	INFO	clusteradmissionpolicy-resource	default	{"name": "policy-test2"}
2022-03-24T18:24:58.709+0200	DEBUG	controller-runtime.webhook.webhooks	wrote response	{"webhook": "/mutate-policies-kubewarden-io-v1alpha2-clusteradmissionpolicy", "code": 200, "reason": "", "UID": "40c7917c-4372-49d3-b450-23f4667e6b6a", "allowed": true}
2022-03-24T18:24:58.711+0200	DEBUG	controller-runtime.webhook.webhooks	received request	{"webhook": "/validate-policies-kubewarden-io-v1alpha2-clusteradmissionpolicy", "UID": "44aa273d-92cb-41ad-8497-348cf1826331", "kind": "policies.kubewarden.io/v1alpha2, Kind=ClusterAdmissionPolicy", "resource": {"group":"policies.kubewarden.io","version":"v1alpha2","resource":"clusteradmissionpolicies"}}
2022-03-24T18:24:58.711+0200	INFO	clusteradmissionpolicy-resource	validate update	{"name": "policy-test2"}
2022-03-24T18:24:58.711+0200	DEBUG	controller-runtime.webhook.webhooks	wrote response	{"webhook": "/validate-policies-kubewarden-io-v1alpha2-clusteradmissionpolicy", "code": 422, "reason": "Invalid", "UID": "44aa273d-92cb-41ad-8497-348cf1826331", "allowed": false}
STEP: deleting the created ClusterAdmissionPolicy
2022-03-24T18:24:58.726+0200	DEBUG	controller-runtime.webhook.webhooks	received request	{"webhook": "/mutate-policies-kubewarden-io-v1alpha2-clusteradmissionpolicy", "UID": "fd3274d1-2ae1-470a-abc2-bdeb1c6bd77e", "kind": "policies.kubewarden.io/v1alpha2, Kind=ClusterAdmissionPolicy", "resource": {"group":"policies.kubewarden.io","version":"v1alpha2","resource":"clusteradmissionpolicies"}}
2022-03-24T18:24:58.726+0200	INFO	clusteradmissionpolicy-resource	default	{"name": "policy-test2"}
2022-03-24T18:24:58.726+0200	DEBUG	controller-runtime.webhook.webhooks	wrote response	{"webhook": "/mutate-policies-kubewarden-io-v1alpha2-clusteradmissionpolicy", "code": 200, "reason": "", "UID": "fd3274d1-2ae1-470a-abc2-bdeb1c6bd77e", "allowed": true}
2022-03-24T18:24:58.728+0200	DEBUG	controller-runtime.webhook.webhooks	received request	{"webhook": "/validate-policies-kubewarden-io-v1alpha2-clusteradmissionpolicy", "UID": "89ef1b88-1b1e-4de2-93fa-b9802a196847", "kind": "policies.kubewarden.io/v1alpha2, Kind=ClusterAdmissionPolicy", "resource": {"group":"policies.kubewarden.io","version":"v1alpha2","resource":"clusteradmissionpolicies"}}
2022-03-24T18:24:58.728+0200	INFO	clusteradmissionpolicy-resource	validate update	{"name": "policy-test2"}
2022-03-24T18:24:58.728+0200	DEBUG	controller-runtime.webhook.webhooks	wrote response	{"webhook": "/validate-policies-kubewarden-io-v1alpha2-clusteradmissionpolicy", "code": 200, "reason": "", "UID": "89ef1b88-1b1e-4de2-93fa-b9802a196847", "allowed": true}
•
------------------------------
validate PolicyServer webhook with
  should add kubewarden finalizer when creating a PolicyServer
  /home/ereslibre/projects/kubewarden/kubewarden-controller/apis/v1alpha2/webhook_suite_test.go:284
[It] should add kubewarden finalizer when creating a PolicyServer
  /home/ereslibre/projects/kubewarden/kubewarden-controller/apis/v1alpha2/webhook_suite_test.go:284
2022-03-24T18:24:58.777+0200	DEBUG	controller-runtime.webhook.webhooks	received request	{"webhook": "/mutate-policies-kubewarden-io-v1alpha2-policyserver", "UID": "655c8a9c-4f7a-43ed-8613-e6a04639b41a", "kind": "policies.kubewarden.io/v1alpha2, Kind=PolicyServer", "resource": {"group":"policies.kubewarden.io","version":"v1alpha2","resource":"policyservers"}}
2022-03-24T18:24:58.778+0200	INFO	policyserver-resource	default	{"name": "policyserver-test"}
2022-03-24T18:24:58.778+0200	DEBUG	controller-runtime.webhook.webhooks	wrote response	{"webhook": "/mutate-policies-kubewarden-io-v1alpha2-policyserver", "code": 200, "reason": "", "UID": "655c8a9c-4f7a-43ed-8613-e6a04639b41a", "allowed": true}
STEP: checking default values
STEP: deleting the created PolicyServer
2022-03-24T18:24:58.796+0200	DEBUG	controller-runtime.webhook.webhooks	received request	{"webhook": "/mutate-policies-kubewarden-io-v1alpha2-policyserver", "UID": "886fa4d2-9a2d-4ddf-b313-083b0d6bf865", "kind": "policies.kubewarden.io/v1alpha2, Kind=PolicyServer", "resource": {"group":"policies.kubewarden.io","version":"v1alpha2","resource":"policyservers"}}
2022-03-24T18:24:58.796+0200	INFO	policyserver-resource	default	{"name": "policyserver-test"}
2022-03-24T18:24:58.797+0200	DEBUG	controller-runtime.webhook.webhooks	wrote response	{"webhook": "/mutate-policies-kubewarden-io-v1alpha2-policyserver", "code": 200, "reason": "", "UID": "886fa4d2-9a2d-4ddf-b313-083b0d6bf865", "allowed": true}
•STEP: tearing down the test environment
2022-03-24T18:24:58.803+0200	INFO	controller-runtime.webhook	shutting down webhook server

Ran 3 of 3 Specs in 10.148 seconds
SUCCESS! -- 3 Passed | 0 Failed | 0 Pending | 0 Skipped
--- PASS: TestWebhooks (10.15s)
PASS
coverage: 24.5% of statements
ok  	github.com/kubewarden/kubewarden-controller/apis/v1alpha2	10.165s	coverage: 24.5% of statements
=== RUN   TestAPIs
Running Suite: Controller Suite
===============================
Random Seed:<PHONE_NUMBER>
Will run 9 of 9 specs

STEP: bootstrapping test environment
2022-03-24T18:24:49.935+0200	DEBUG	controller-runtime.test-env	starting control plane
2022-03-24T18:24:57.265+0200	DEBUG	controller-runtime.test-env	installing CRDs
2022-03-24T18:24:57.265+0200	DEBUG	controller-runtime.test-env	reading CRDs from path	{"path": "../config/crd/bases"}
2022-03-24T18:24:57.268+0200	DEBUG	controller-runtime.test-env	read CRDs from file	{"file": "policies.kubewarden.io_admissionpolicies.yaml"}
2022-03-24T18:24:57.269+0200	DEBUG	controller-runtime.test-env	read CRDs from file	{"file": "policies.kubewarden.io_clusteradmissionpolicies.yaml"}
2022-03-24T18:24:57.270+0200	DEBUG	controller-runtime.test-env	read CRDs from file	{"file": "policies.kubewarden.io_policyservers.yaml"}
2022-03-24T18:24:57.296+0200	DEBUG	controller-runtime.test-env	installing CRD	{"crd": "clusteradmissionpolicies.policies.kubewarden.io"}
2022-03-24T18:24:57.319+0200	DEBUG	controller-runtime.test-env	installing CRD	{"crd": "policyservers.policies.kubewarden.io"}
2022-03-24T18:24:57.334+0200	DEBUG	controller-runtime.test-env	installing CRD	{"crd": "admissionpolicies.policies.kubewarden.io"}
2022-03-24T18:24:57.363+0200	DEBUG	controller-runtime.test-env	adding API in waitlist	{"GV": "policies.kubewarden.io/v1alpha2"}
2022-03-24T18:24:57.363+0200	DEBUG	controller-runtime.test-env	adding API in waitlist	{"GV": "policies.kubewarden.io/v1alpha2"}
2022-03-24T18:24:57.363+0200	DEBUG	controller-runtime.test-env	adding API in waitlist	{"GV": "policies.kubewarden.io/v1alpha2"}
2022-03-24T18:24:57.471+0200	DEBUG	controller-runtime.test-env	installing webhooks
2022-03-24T18:24:57.519+0200	INFO	controller-runtime.metrics	metrics server is starting to listen	{"addr": ":8080"}
Given a ClusterAdmissionPolicy when it does not have a status set and it is not deleted and it has an empty policy server set on its spec
  should set its policy status to "unscheduled"
  /home/ereslibre/projects/kubewarden/kubewarden-controller/controllers/clusteradmissionpolicy_controller_test.go:41
[BeforeEach] and it has an empty policy server set on its spec
  /home/ereslibre/projects/kubewarden/kubewarden-controller/controllers/clusteradmissionpolicy_controller_test.go:36
2022-03-24T18:24:57.627+0200	INFO	starting metrics server	{"path": "/metrics"}
2022-03-24T18:24:57.627+0200	INFO	controller.admissionpolicy	Starting EventSource	{"reconciler group": "policies.kubewarden.io", "reconciler kind": "AdmissionPolicy", "source": "kind source: /, Kind="}
2022-03-24T18:24:57.627+0200	INFO	controller.admissionpolicy	Starting EventSource	{"reconciler group": "policies.kubewarden.io", "reconciler kind": "AdmissionPolicy", "source": "kind source: /, Kind="}
2022-03-24T18:24:57.627+0200	INFO	controller.admissionpolicy	Starting EventSource	{"reconciler group": "policies.kubewarden.io", "reconciler kind": "AdmissionPolicy", "source": "kind source: /, Kind="}
2022-03-24T18:24:57.627+0200	INFO	controller.policyserver	Starting EventSource	{"reconciler group": "policies.kubewarden.io", "reconciler kind": "PolicyServer", "source": "kind source: /, Kind="}
2022-03-24T18:24:57.627+0200	INFO	controller.policyserver	Starting EventSource	{"reconciler group": "policies.kubewarden.io", "reconciler kind": "PolicyServer", "source": "kind source: /, Kind="}
2022-03-24T18:24:57.627+0200	INFO	controller.policyserver	Starting EventSource	{"reconciler group": "policies.kubewarden.io", "reconciler kind": "PolicyServer", "source": "kind source: /, Kind="}
2022-03-24T18:24:57.627+0200	INFO	controller.admissionpolicy	Starting Controller	{"reconciler group": "policies.kubewarden.io", "reconciler kind": "AdmissionPolicy"}
2022-03-24T18:24:57.627+0200	INFO	controller.policyserver	Starting Controller	{"reconciler group": "policies.kubewarden.io", "reconciler kind": "PolicyServer"}
2022-03-24T18:24:57.627+0200	INFO	controller.clusteradmissionpolicy	Starting EventSource	{"reconciler group": "policies.kubewarden.io", "reconciler kind": "ClusterAdmissionPolicy", "source": "kind source: /, Kind="}
2022-03-24T18:24:57.627+0200	INFO	controller.clusteradmissionpolicy	Starting EventSource	{"reconciler group": "policies.kubewarden.io", "reconciler kind": "ClusterAdmissionPolicy", "source": "kind source: /, Kind="}
2022-03-24T18:24:57.627+0200	INFO	controller.clusteradmissionpolicy	Starting EventSource	{"reconciler group": "policies.kubewarden.io", "reconciler kind": "ClusterAdmissionPolicy", "source": "kind source: /, Kind="}
2022-03-24T18:24:57.627+0200	INFO	controller.clusteradmissionpolicy	Starting Controller	{"reconciler group": "policies.kubewarden.io", "reconciler kind": "ClusterAdmissionPolicy"}
2022-03-24T18:24:57.728+0200	INFO	controller.admissionpolicy	Starting workers	{"reconciler group": "policies.kubewarden.io", "reconciler kind": "AdmissionPolicy", "worker count": 1}
2022-03-24T18:24:57.728+0200	INFO	controller.policyserver	Starting workers	{"reconciler group": "policies.kubewarden.io", "reconciler kind": "PolicyServer", "worker count": 1}
2022-03-24T18:24:57.729+0200	INFO	controller.clusteradmissionpolicy	Starting workers	{"reconciler group": "policies.kubewarden.io", "reconciler kind": "ClusterAdmissionPolicy", "worker count": 1}
[It] should set its policy status to "unscheduled"
  /home/ereslibre/projects/kubewarden/kubewarden-controller/controllers/clusteradmissionpolicy_controller_test.go:41
•
------------------------------
Given a ClusterAdmissionPolicy when it does not have a status set and it is not deleted and it has a non-empty policy server set on its spec
  should set its policy status to "scheduled"
  /home/ereslibre/projects/kubewarden/kubewarden-controller/controllers/clusteradmissionpolicy_controller_test.go:64
[BeforeEach] and it has a non-empty policy server set on its spec
  /home/ereslibre/projects/kubewarden/kubewarden-controller/controllers/clusteradmissionpolicy_controller_test.go:59
[It] should set its policy status to "scheduled"
  /home/ereslibre/projects/kubewarden/kubewarden-controller/controllers/clusteradmissionpolicy_controller_test.go:64
•
------------------------------
Given a ClusterAdmissionPolicy when it does not have a status set and it is not deleted and it has a non-empty policy server set on its spec and the targeted policy server is created
  should set its policy status to "pending"
  /home/ereslibre/projects/kubewarden/kubewarden-controller/controllers/clusteradmissionpolicy_controller_test.go:82
[BeforeEach] and it has a non-empty policy server set on its spec
  /home/ereslibre/projects/kubewarden/kubewarden-controller/controllers/clusteradmissionpolicy_controller_test.go:59
[BeforeEach] and the targeted policy server is created
  /home/ereslibre/projects/kubewarden/kubewarden-controller/controllers/clusteradmissionpolicy_controller_test.go:77
[It] should set its policy status to "pending"
  /home/ereslibre/projects/kubewarden/kubewarden-controller/controllers/clusteradmissionpolicy_controller_test.go:82
•
------------------------------
Given a PolicyServer when it has no assigned policies and it is deleted
  should get its finalizer removed
  /home/ereslibre/projects/kubewarden/kubewarden-controller/controllers/policyserver_controller_test.go:47
[BeforeEach] Given a PolicyServer
  /home/ereslibre/projects/kubewarden/kubewarden-controller/controllers/policyserver_controller_test.go:35
[BeforeEach] and it is deleted
  /home/ereslibre/projects/kubewarden/kubewarden-controller/controllers/policyserver_controller_test.go:42
[It] should get its finalizer removed
  /home/ereslibre/projects/kubewarden/kubewarden-controller/controllers/policyserver_controller_test.go:47
•
------------------------------
Given a PolicyServer when it has some assigned policies and it is deleted
  should delete assigned policies
  /home/ereslibre/projects/kubewarden/kubewarden-controller/controllers/policyserver_controller_test.go:73
[BeforeEach] Given a PolicyServer
  /home/ereslibre/projects/kubewarden/kubewarden-controller/controllers/policyserver_controller_test.go:35
[BeforeEach] when it has some assigned policies
  /home/ereslibre/projects/kubewarden/kubewarden-controller/controllers/policyserver_controller_test.go:62
[BeforeEach] and it is deleted
  /home/ereslibre/projects/kubewarden/kubewarden-controller/controllers/policyserver_controller_test.go:68
[It] should delete assigned policies
  /home/ereslibre/projects/kubewarden/kubewarden-controller/controllers/policyserver_controller_test.go:73
2022-03-24T18:25:03.500+0200	ERROR	controller.clusteradmissionpolicy	Reconciler error	{"reconciler group": "policies.kubewarden.io", "reconciler kind": "ClusterAdmissionPolicy", "name": "some-policy", "namespace": "", "error": "could not read policy server Deployment: Deployment.apps \"policy-server-policy-server\" not found", "errorVerbose": "Deployment.apps \"policy-server-policy-server\" not found\ncould not read policy server Deployment\ngithub.com/kubewarden/kubewarden-controller/controllers.reconcilePolicy\n\t/home/ereslibre/projects/kubewarden/kubewarden-controller/controllers/policy_utils.go:101\ngithub.com/kubewarden/kubewarden-controller/controllers.startReconciling\n\t/home/ereslibre/projects/kubewarden/kubewarden-controller/controllers/policy_utils.go:74\ngithub.com/kubewarden/kubewarden-controller/controllers.(*ClusterAdmissionPolicyReconciler).Reconcile\n\t/home/ereslibre/projects/kubewarden/kubewarden-controller/controllers/clusteradmissionpolicy_controller.go:61\nsigs.k8s.io/controller-runtime/pkg/internal/controller.(*Controller).Reconcile\n\t/home/ereslibre/.go/pkg/mod/sigs.k8s.io/controller-runtime@v0.10.0/pkg/internal/controller/controller.go:114\nsigs.k8s.io/controller-runtime/pkg/internal/controller.(*Controller).reconcileHandler\n\t/home/ereslibre/.go/pkg/mod/sigs.k8s.io/controller-runtime@v0.10.0/pkg/internal/controller/controller.go:311\nsigs.k8s.io/controller-runtime/pkg/internal/controller.(*Controller).processNextWorkItem\n\t/home/ereslibre/.go/pkg/mod/sigs.k8s.io/controller-runtime@v0.10.0/pkg/internal/controller/controller.go:266\nsigs.k8s.io/controller-runtime/pkg/internal/controller.(*Controller).Start.func2.2\n\t/home/ereslibre/.go/pkg/mod/sigs.k8s.io/controller-runtime@v0.10.0/pkg/internal/controller/controller.go:227\nruntime.goexit\n\t/nix/store/a2p201h0if6s32h09lvi93gxnygs0ywm-go-1.17.5/share/go/src/runtime/asm_amd64.s:1581"}
sigs.k8s.io/controller-runtime/pkg/internal/controller.(*Controller).Start.func2.2
	/home/ereslibre/.go/pkg/mod/sigs.k8s.io/controller-runtime@v0.10.0/pkg/internal/controller/controller.go:227
2022-03-24T18:25:03.508+0200	ERROR	controller.clusteradmissionpolicy	Reconciler error	{"reconciler group": "policies.kubewarden.io", "reconciler kind": "ClusterAdmissionPolicy", "name": "some-policy", "namespace": "", "error": "could not read policy server Deployment: Deployment.apps \"policy-server-policy-server\" not found", "errorVerbose": "Deployment.apps \"policy-server-policy-server\" not found\ncould not read policy server Deployment\ngithub.com/kubewarden/kubewarden-controller/controllers.reconcilePolicy\n\t/home/ereslibre/projects/kubewarden/kubewarden-controller/controllers/policy_utils.go:101\ngithub.com/kubewarden/kubewarden-controller/controllers.startReconciling\n\t/home/ereslibre/projects/kubewarden/kubewarden-controller/controllers/policy_utils.go:74\ngithub.com/kubewarden/kubewarden-controller/controllers.(*ClusterAdmissionPolicyReconciler).Reconcile\n\t/home/ereslibre/projects/kubewarden/kubewarden-controller/controllers/clusteradmissionpolicy_controller.go:61\nsigs.k8s.io/controller-runtime/pkg/internal/controller.(*Controller).Reconcile\n\t/home/ereslibre/.go/pkg/mod/sigs.k8s.io/controller-runtime@v0.10.0/pkg/internal/controller/controller.go:114\nsigs.k8s.io/controller-runtime/pkg/internal/controller.(*Controller).reconcileHandler\n\t/home/ereslibre/.go/pkg/mod/sigs.k8s.io/controller-runtime@v0.10.0/pkg/internal/controller/controller.go:311\nsigs.k8s.io/controller-runtime/pkg/internal/controller.(*Controller).processNextWorkItem\n\t/home/ereslibre/.go/pkg/mod/sigs.k8s.io/controller-runtime@v0.10.0/pkg/internal/controller/controller.go:266\nsigs.k8s.io/controller-runtime/pkg/internal/controller.(*Controller).Start.func2.2\n\t/home/ereslibre/.go/pkg/mod/sigs.k8s.io/controller-runtime@v0.10.0/pkg/internal/controller/controller.go:227\nruntime.goexit\n\t/nix/store/a2p201h0if6s32h09lvi93gxnygs0ywm-go-1.17.5/share/go/src/runtime/asm_amd64.s:1581"}
sigs.k8s.io/controller-runtime/pkg/internal/controller.(*Controller).Start.func2.2
	/home/ereslibre/.go/pkg/mod/sigs.k8s.io/controller-runtime@v0.10.0/pkg/internal/controller/controller.go:227
2022-03-24T18:25:03.514+0200	ERROR	controller.clusteradmissionpolicy	Reconciler error	{"reconciler group": "policies.kubewarden.io", "reconciler kind": "ClusterAdmissionPolicy", "name": "some-policy", "namespace": "", "error": "could not read policy server Deployment: Deployment.apps \"policy-server-policy-server\" not found", "errorVerbose": "Deployment.apps \"policy-server-policy-server\" not found\ncould not read policy server Deployment\ngithub.com/kubewarden/kubewarden-controller/controllers.reconcilePolicy\n\t/home/ereslibre/projects/kubewarden/kubewarden-controller/controllers/policy_utils.go:101\ngithub.com/kubewarden/kubewarden-controller/controllers.startReconciling\n\t/home/ereslibre/projects/kubewarden/kubewarden-controller/controllers/policy_utils.go:74\ngithub.com/kubewarden/kubewarden-controller/controllers.(*ClusterAdmissionPolicyReconciler).Reconcile\n\t/home/ereslibre/projects/kubewarden/kubewarden-controller/controllers/clusteradmissionpolicy_controller.go:61\nsigs.k8s.io/controller-runtime/pkg/internal/controller.(*Controller).Reconcile\n\t/home/ereslibre/.go/pkg/mod/sigs.k8s.io/controller-runtime@v0.10.0/pkg/internal/controller/controller.go:114\nsigs.k8s.io/controller-runtime/pkg/internal/controller.(*Controller).reconcileHandler\n\t/home/ereslibre/.go/pkg/mod/sigs.k8s.io/controller-runtime@v0.10.0/pkg/internal/controller/controller.go:311\nsigs.k8s.io/controller-runtime/pkg/internal/controller.(*Controller).processNextWorkItem\n\t/home/ereslibre/.go/pkg/mod/sigs.k8s.io/controller-runtime@v0.10.0/pkg/internal/controller/controller.go:266\nsigs.k8s.io/controller-runtime/pkg/internal/controller.(*Controller).Start.func2.2\n\t/home/ereslibre/.go/pkg/mod/sigs.k8s.io/controller-runtime@v0.10.0/pkg/internal/controller/controller.go:227\nruntime.goexit\n\t/nix/store/a2p201h0if6s32h09lvi93gxnygs0ywm-go-1.17.5/share/go/src/runtime/asm_amd64.s:1581"}
sigs.k8s.io/controller-runtime/pkg/internal/controller.(*Controller).Start.func2.2
	/home/ereslibre/.go/pkg/mod/sigs.k8s.io/controller-runtime@v0.10.0/pkg/internal/controller/controller.go:227
2022-03-24T18:25:03.525+0200	ERROR	controller.clusteradmissionpolicy	Reconciler error	{"reconciler group": "policies.kubewarden.io", "reconciler kind": "ClusterAdmissionPolicy", "name": "some-policy", "namespace": "", "error": "could not read policy server Deployment: Deployment.apps \"policy-server-policy-server\" not found", "errorVerbose": "Deployment.apps \"policy-server-policy-server\" not found\ncould not read policy server Deployment\ngithub.com/kubewarden/kubewarden-controller/controllers.reconcilePolicy\n\t/home/ereslibre/projects/kubewarden/kubewarden-controller/controllers/policy_utils.go:101\ngithub.com/kubewarden/kubewarden-controller/controllers.startReconciling\n\t/home/ereslibre/projects/kubewarden/kubewarden-controller/controllers/policy_utils.go:74\ngithub.com/kubewarden/kubewarden-controller/controllers.(*ClusterAdmissionPolicyReconciler).Reconcile\n\t/home/ereslibre/projects/kubewarden/kubewarden-controller/controllers/clusteradmissionpolicy_controller.go:61\nsigs.k8s.io/controller-runtime/pkg/internal/controller.(*Controller).Reconcile\n\t/home/ereslibre/.go/pkg/mod/sigs.k8s.io/controller-runtime@v0.10.0/pkg/internal/controller/controller.go:114\nsigs.k8s.io/controller-runtime/pkg/internal/controller.(*Controller).reconcileHandler\n\t/home/ereslibre/.go/pkg/mod/sigs.k8s.io/controller-runtime@v0.10.0/pkg/internal/controller/controller.go:311\nsigs.k8s.io/controller-runtime/pkg/internal/controller.(*Controller).processNextWorkItem\n\t/home/ereslibre/.go/pkg/mod/sigs.k8s.io/controller-runtime@v0.10.0/pkg/internal/controller/controller.go:266\nsigs.k8s.io/controller-runtime/pkg/internal/controller.(*Controller).Start.func2.2\n\t/home/ereslibre/.go/pkg/mod/sigs.k8s.io/controller-runtime@v0.10.0/pkg/internal/controller/controller.go:227\nruntime.goexit\n\t/nix/store/a2p201h0if6s32h09lvi93gxnygs0ywm-go-1.17.5/share/go/src/runtime/asm_amd64.s:1581"}
sigs.k8s.io/controller-runtime/pkg/internal/controller.(*Controller).Start.func2.2
	/home/ereslibre/.go/pkg/mod/sigs.k8s.io/controller-runtime@v0.10.0/pkg/internal/controller/controller.go:227
2022-03-24T18:25:03.572+0200	ERROR	controller.clusteradmissionpolicy	Reconciler error	{"reconciler group": "policies.kubewarden.io", "reconciler kind": "ClusterAdmissionPolicy", "name": "some-policy", "namespace": "", "error": "could not read policy server Deployment: Deployment.apps \"policy-server-policy-server\" not found", "errorVerbose": "Deployment.apps \"policy-server-policy-server\" not found\ncould not read policy server Deployment\ngithub.com/kubewarden/kubewarden-controller/controllers.reconcilePolicy\n\t/home/ereslibre/projects/kubewarden/kubewarden-controller/controllers/policy_utils.go:101\ngithub.com/kubewarden/kubewarden-controller/controllers.startReconciling\n\t/home/ereslibre/projects/kubewarden/kubewarden-controller/controllers/policy_utils.go:74\ngithub.com/kubewarden/kubewarden-controller/controllers.(*ClusterAdmissionPolicyReconciler).Reconcile\n\t/home/ereslibre/projects/kubewarden/kubewarden-controller/controllers/clusteradmissionpolicy_controller.go:61\nsigs.k8s.io/controller-runtime/pkg/internal/controller.(*Controller).Reconcile\n\t/home/ereslibre/.go/pkg/mod/sigs.k8s.io/controller-runtime@v0.10.0/pkg/internal/controller/controller.go:114\nsigs.k8s.io/controller-runtime/pkg/internal/controller.(*Controller).reconcileHandler\n\t/home/ereslibre/.go/pkg/mod/sigs.k8s.io/controller-runtime@v0.10.0/pkg/internal/controller/controller.go:311\nsigs.k8s.io/controller-runtime/pkg/internal/controller.(*Controller).processNextWorkItem\n\t/home/ereslibre/.go/pkg/mod/sigs.k8s.io/controller-runtime@v0.10.0/pkg/internal/controller/controller.go:266\nsigs.k8s.io/controller-runtime/pkg/internal/controller.(*Controller).Start.func2.2\n\t/home/ereslibre/.go/pkg/mod/sigs.k8s.io/controller-runtime@v0.10.0/pkg/internal/controller/controller.go:227\nruntime.goexit\n\t/nix/store/a2p201h0if6s32h09lvi93gxnygs0ywm-go-1.17.5/share/go/src/runtime/asm_amd64.s:1581"}
sigs.k8s.io/controller-runtime/pkg/internal/controller.(*Controller).Start.func2.2
	/home/ereslibre/.go/pkg/mod/sigs.k8s.io/controller-runtime@v0.10.0/pkg/internal/controller/controller.go:227
2022-03-24T18:25:03.658+0200	ERROR	controller.clusteradmissionpolicy	Reconciler error	{"reconciler group": "policies.kubewarden.io", "reconciler kind": "ClusterAdmissionPolicy", "name": "some-policy", "namespace": "", "error": "could not read policy server Deployment: Deployment.apps \"policy-server-policy-server\" not found", "errorVerbose": "Deployment.apps \"policy-server-policy-server\" not found\ncould not read policy server Deployment\ngithub.com/kubewarden/kubewarden-controller/controllers.reconcilePolicy\n\t/home/ereslibre/projects/kubewarden/kubewarden-controller/controllers/policy_utils.go:101\ngithub.com/kubewarden/kubewarden-controller/controllers.startReconciling\n\t/home/ereslibre/projects/kubewarden/kubewarden-controller/controllers/policy_utils.go:74\ngithub.com/kubewarden/kubewarden-controller/controllers.(*ClusterAdmissionPolicyReconciler).Reconcile\n\t/home/ereslibre/projects/kubewarden/kubewarden-controller/controllers/clusteradmissionpolicy_controller.go:61\nsigs.k8s.io/controller-runtime/pkg/internal/controller.(*Controller).Reconcile\n\t/home/ereslibre/.go/pkg/mod/sigs.k8s.io/controller-runtime@v0.10.0/pkg/internal/controller/controller.go:114\nsigs.k8s.io/controller-runtime/pkg/internal/controller.(*Controller).reconcileHandler\n\t/home/ereslibre/.go/pkg/mod/sigs.k8s.io/controller-runtime@v0.10.0/pkg/internal/controller/controller.go:311\nsigs.k8s.io/controller-runtime/pkg/internal/controller.(*Controller).processNextWorkItem\n\t/home/ereslibre/.go/pkg/mod/sigs.k8s.io/controller-runtime@v0.10.0/pkg/internal/controller/controller.go:266\nsigs.k8s.io/controller-runtime/pkg/internal/controller.(*Controller).Start.func2.2\n\t/home/ereslibre/.go/pkg/mod/sigs.k8s.io/controller-runtime@v0.10.0/pkg/internal/controller/controller.go:227\nruntime.goexit\n\t/nix/store/a2p201h0if6s32h09lvi93gxnygs0ywm-go-1.17.5/share/go/src/runtime/asm_amd64.s:1581"}
sigs.k8s.io/controller-runtime/pkg/internal/controller.(*Controller).Start.func2.2
	/home/ereslibre/.go/pkg/mod/sigs.k8s.io/controller-runtime@v0.10.0/pkg/internal/controller/controller.go:227
2022-03-24T18:25:03.827+0200	ERROR	controller.clusteradmissionpolicy	Reconciler error	{"reconciler group": "policies.kubewarden.io", "reconciler kind": "ClusterAdmissionPolicy", "name": "some-policy", "namespace": "", "error": "could not read policy server Deployment: Deployment.apps \"policy-server-policy-server\" not found", "errorVerbose": "Deployment.apps \"policy-server-policy-server\" not found\ncould not read policy server Deployment\ngithub.com/kubewarden/kubewarden-controller/controllers.reconcilePolicy\n\t/home/ereslibre/projects/kubewarden/kubewarden-controller/controllers/policy_utils.go:101\ngithub.com/kubewarden/kubewarden-controller/controllers.startReconciling\n\t/home/ereslibre/projects/kubewarden/kubewarden-controller/controllers/policy_utils.go:74\ngithub.com/kubewarden/kubewarden-controller/controllers.(*ClusterAdmissionPolicyReconciler).Reconcile\n\t/home/ereslibre/projects/kubewarden/kubewarden-controller/controllers/clusteradmissionpolicy_controller.go:61\nsigs.k8s.io/controller-runtime/pkg/internal/controller.(*Controller).Reconcile\n\t/home/ereslibre/.go/pkg/mod/sigs.k8s.io/controller-runtime@v0.10.0/pkg/internal/controller/controller.go:114\nsigs.k8s.io/controller-runtime/pkg/internal/controller.(*Controller).reconcileHandler\n\t/home/ereslibre/.go/pkg/mod/sigs.k8s.io/controller-runtime@v0.10.0/pkg/internal/controller/controller.go:311\nsigs.k8s.io/controller-runtime/pkg/internal/controller.(*Controller).processNextWorkItem\n\t/home/ereslibre/.go/pkg/mod/sigs.k8s.io/controller-runtime@v0.10.0/pkg/internal/controller/controller.go:266\nsigs.k8s.io/controller-runtime/pkg/internal/controller.(*Controller).Start.func2.2\n\t/home/ereslibre/.go/pkg/mod/sigs.k8s.io/controller-runtime@v0.10.0/pkg/internal/controller/controller.go:227\nruntime.goexit\n\t/nix/store/a2p201h0if6s32h09lvi93gxnygs0ywm-go-1.17.5/share/go/src/runtime/asm_amd64.s:1581"}
sigs.k8s.io/controller-runtime/pkg/internal/controller.(*Controller).Start.func2.2
	/home/ereslibre/.go/pkg/mod/sigs.k8s.io/controller-runtime@v0.10.0/pkg/internal/controller/controller.go:227
2022-03-24T18:25:04.154+0200	ERROR	controller.clusteradmissionpolicy	Reconciler error	{"reconciler group": "policies.kubewarden.io", "reconciler kind": "ClusterAdmissionPolicy", "name": "some-policy", "namespace": "", "error": "could not read policy server Deployment: Deployment.apps \"policy-server-policy-server\" not found", "errorVerbose": "Deployment.apps \"policy-server-policy-server\" not found\ncould not read policy server Deployment\ngithub.com/kubewarden/kubewarden-controller/controllers.reconcilePolicy\n\t/home/ereslibre/projects/kubewarden/kubewarden-controller/controllers/policy_utils.go:101\ngithub.com/kubewarden/kubewarden-controller/controllers.startReconciling\n\t/home/ereslibre/projects/kubewarden/kubewarden-controller/controllers/policy_utils.go:74\ngithub.com/kubewarden/kubewarden-controller/controllers.(*ClusterAdmissionPolicyReconciler).Reconcile\n\t/home/ereslibre/projects/kubewarden/kubewarden-controller/controllers/clusteradmissionpolicy_controller.go:61\nsigs.k8s.io/controller-runtime/pkg/internal/controller.(*Controller).Reconcile\n\t/home/ereslibre/.go/pkg/mod/sigs.k8s.io/controller-runtime@v0.10.0/pkg/internal/controller/controller.go:114\nsigs.k8s.io/controller-runtime/pkg/internal/controller.(*Controller).reconcileHandler\n\t/home/ereslibre/.go/pkg/mod/sigs.k8s.io/controller-runtime@v0.10.0/pkg/internal/controller/controller.go:311\nsigs.k8s.io/controller-runtime/pkg/internal/controller.(*Controller).processNextWorkItem\n\t/home/ereslibre/.go/pkg/mod/sigs.k8s.io/controller-runtime@v0.10.0/pkg/internal/controller/controller.go:266\nsigs.k8s.io/controller-runtime/pkg/internal/controller.(*Controller).Start.func2.2\n\t/home/ereslibre/.go/pkg/mod/sigs.k8s.io/controller-runtime@v0.10.0/pkg/internal/controller/controller.go:227\nruntime.goexit\n\t/nix/store/a2p201h0if6s32h09lvi93gxnygs0ywm-go-1.17.5/share/go/src/runtime/asm_amd64.s:1581"}
sigs.k8s.io/controller-runtime/pkg/internal/controller.(*Controller).Start.func2.2
	/home/ereslibre/.go/pkg/mod/sigs.k8s.io/controller-runtime@v0.10.0/pkg/internal/controller/controller.go:227
2022-03-24T18:25:04.800+0200	ERROR	controller.clusteradmissionpolicy	Reconciler error	{"reconciler group": "policies.kubewarden.io", "reconciler kind": "ClusterAdmissionPolicy", "name": "some-policy", "namespace": "", "error": "could not read policy server Deployment: Deployment.apps \"policy-server-policy-server\" not found", "errorVerbose": "Deployment.apps \"policy-server-policy-server\" not found\ncould not read policy server Deployment\ngithub.com/kubewarden/kubewarden-controller/controllers.reconcilePolicy\n\t/home/ereslibre/projects/kubewarden/kubewarden-controller/controllers/policy_utils.go:101\ngithub.com/kubewarden/kubewarden-controller/controllers.startReconciling\n\t/home/ereslibre/projects/kubewarden/kubewarden-controller/controllers/policy_utils.go:74\ngithub.com/kubewarden/kubewarden-controller/controllers.(*ClusterAdmissionPolicyReconciler).Reconcile\n\t/home/ereslibre/projects/kubewarden/kubewarden-controller/controllers/clusteradmissionpolicy_controller.go:61\nsigs.k8s.io/controller-runtime/pkg/internal/controller.(*Controller).Reconcile\n\t/home/ereslibre/.go/pkg/mod/sigs.k8s.io/controller-runtime@v0.10.0/pkg/internal/controller/controller.go:114\nsigs.k8s.io/controller-runtime/pkg/internal/controller.(*Controller).reconcileHandler\n\t/home/ereslibre/.go/pkg/mod/sigs.k8s.io/controller-runtime@v0.10.0/pkg/internal/controller/controller.go:311\nsigs.k8s.io/controller-runtime/pkg/internal/controller.(*Controller).processNextWorkItem\n\t/home/ereslibre/.go/pkg/mod/sigs.k8s.io/controller-runtime@v0.10.0/pkg/internal/controller/controller.go:266\nsigs.k8s.io/controller-runtime/pkg/internal/controller.(*Controller).Start.func2.2\n\t/home/ereslibre/.go/pkg/mod/sigs.k8s.io/controller-runtime@v0.10.0/pkg/internal/controller/controller.go:227\nruntime.goexit\n\t/nix/store/a2p201h0if6s32h09lvi93gxnygs0ywm-go-1.17.5/share/go/src/runtime/asm_amd64.s:1581"}
sigs.k8s.io/controller-runtime/pkg/internal/controller.(*Controller).Start.func2.2
	/home/ereslibre/.go/pkg/mod/sigs.k8s.io/controller-runtime@v0.10.0/pkg/internal/controller/controller.go:227
2022-03-24T18:25:04.941+0200	ERROR	controller.policyserver	Reconciler error	{"reconciler group": "policies.kubewarden.io", "reconciler kind": "PolicyServer", "name": "policy-server", "namespace": "", "error": "update policy server status error: Operation cannot be fulfilled on policyservers.policies.kubewarden.io \"policy-server\": the object has been modified; please apply your changes to the latest version and try again"}
sigs.k8s.io/controller-runtime/pkg/internal/controller.(*Controller).Start.func2.2
	/home/ereslibre/.go/pkg/mod/sigs.k8s.io/controller-runtime@v0.10.0/pkg/internal/controller/controller.go:227
•
------------------------------
Given a PolicyServer when it has some assigned policies and it is deleted
  should get its "kubewarden" finalizer removed
  /home/ereslibre/projects/kubewarden/kubewarden-controller/controllers/policyserver_controller_test.go:85
[BeforeEach] Given a PolicyServer
  /home/ereslibre/projects/kubewarden/kubewarden-controller/controllers/policyserver_controller_test.go:35
[BeforeEach] when it has some assigned policies
  /home/ereslibre/projects/kubewarden/kubewarden-controller/controllers/policyserver_controller_test.go:62
[BeforeEach] and it is deleted
  /home/ereslibre/projects/kubewarden/kubewarden-controller/controllers/policyserver_controller_test.go:68
[It] should get its "kubewarden" finalizer removed
  /home/ereslibre/projects/kubewarden/kubewarden-controller/controllers/policyserver_controller_test.go:85
•
------------------------------
Given an AdmissionPolicy when it does not have a status set and it is not deleted and it has an empty policy server set on its spec
  should set its policy status to "unscheduled"
  /home/ereslibre/projects/kubewarden/kubewarden-controller/controllers/admissionpolicy_controller_test.go:48
[BeforeEach] Given an AdmissionPolicy
  /home/ereslibre/projects/kubewarden/kubewarden-controller/controllers/admissionpolicy_controller_test.go:30
[BeforeEach] and it has an empty policy server set on its spec
  /home/ereslibre/projects/kubewarden/kubewarden-controller/controllers/admissionpolicy_controller_test.go:43
[It] should set its policy status to "unscheduled"
  /home/ereslibre/projects/kubewarden/kubewarden-controller/controllers/admissionpolicy_controller_test.go:48
•
------------------------------
Given an AdmissionPolicy when it does not have a status set and it is not deleted and it has a non-empty policy server set on its spec
  should set its policy status to "scheduled"
  /home/ereslibre/projects/kubewarden/kubewarden-controller/controllers/admissionpolicy_controller_test.go:72
[BeforeEach] Given an AdmissionPolicy
  /home/ereslibre/projects/kubewarden/kubewarden-controller/controllers/admissionpolicy_controller_test.go:30
[BeforeEach] and it has a non-empty policy server set on its spec
  /home/ereslibre/projects/kubewarden/kubewarden-controller/controllers/admissionpolicy_controller_test.go:67
[It] should set its policy status to "scheduled"
  /home/ereslibre/projects/kubewarden/kubewarden-controller/controllers/admissionpolicy_controller_test.go:72
•
------------------------------
Given an AdmissionPolicy when it does not have a status set and it is not deleted and it has a non-empty policy server set on its spec and the targeted policy server is created
  should set its policy status to "pending"
  /home/ereslibre/projects/kubewarden/kubewarden-controller/controllers/admissionpolicy_controller_test.go:90
[BeforeEach] Given an AdmissionPolicy
  /home/ereslibre/projects/kubewarden/kubewarden-controller/controllers/admissionpolicy_controller_test.go:30
[BeforeEach] and it has a non-empty policy server set on its spec
  /home/ereslibre/projects/kubewarden/kubewarden-controller/controllers/admissionpolicy_controller_test.go:67
[BeforeEach] and the targeted policy server is created
  /home/ereslibre/projects/kubewarden/kubewarden-controller/controllers/admissionpolicy_controller_test.go:85
[It] should set its policy status to "pending"
  /home/ereslibre/projects/kubewarden/kubewarden-controller/controllers/admissionpolicy_controller_test.go:90
•STEP: tearing down the test environment
2022-03-24T18:25:08.325+0200	INFO	controller.clusteradmissionpolicy	Shutdown signal received, waiting for all workers to finish	{"reconciler group": "policies.kubewarden.io", "reconciler kind": "ClusterAdmissionPolicy"}
2022-03-24T18:25:08.325+0200	INFO	controller.admissionpolicy	Shutdown signal received, waiting for all workers to finish	{"reconciler group": "policies.kubewarden.io", "reconciler kind": "AdmissionPolicy"}
2022-03-24T18:25:08.325+0200	INFO	controller.admissionpolicy	All workers finished	{"reconciler group": "policies.kubewarden.io", "reconciler kind": "AdmissionPolicy"}
2022-03-24T18:25:08.325+0200	INFO	controller.policyserver	Shutdown signal received, waiting for all workers to finish	{"reconciler group": "policies.kubewarden.io", "reconciler kind": "PolicyServer"}
2022-03-24T18:25:08.325+0200	INFO	controller.policyserver	All workers finished	{"reconciler group": "policies.kubewarden.io", "reconciler kind": "PolicyServer"}
2022-03-24T18:25:08.325+0200	INFO	controller.clusteradmissionpolicy	All workers finished	{"reconciler group": "policies.kubewarden.io", "reconciler kind": "ClusterAdmissionPolicy"}

Ran 9 of 9 Specs in 19.552 seconds
SUCCESS! -- 9 Passed | 0 Failed | 0 Pending | 0 Skipped
--- PASS: TestAPIs (19.56s)
PASS
coverage: 55.4% of statements
ok  	github.com/kubewarden/kubewarden-controller/controllers	19.582s	coverage: 55.4% of statements


Password reset link does not work when logged in under a different account

If I am logged in under one account, the password reset link does not open the password reset page but the application where I am logged in.

connected issue https://github.com/DISSINET/InkVisitor/issues/1476

Password reset page merged with activate page.
Logged user is now automatically logouted, email with password should be sent after successful activation.
Waiting for merge with https://github.com/DISSINET/InkVisitor/tree/refactor-password-reset


Add oAuth support for FL workflow

As per the new authentication workflow in https://github.com/OpenMined/PyGrid/issues/445, we need to allow PyGrid's FL workflow to be extended via some sort of oAuth 2.0 token check.
In short, the following will need to happen:
Situation 1 - no auth required

The worker sends a request to be assigned a worker_id
PyGrid checks for the existence of an oAuth setup and finds nothing
Continue to Condition - success

Situation 2 - auth required

The worker sends a request to be assigned a worker_id and also passes an authentication token (in the request payload: auth_token)
PyGrid checks for the existence of an oAuth setup and finds one
PyGrid passes the value from auth_token to a method on the oAuth setup for validation of authentication tokens
a. Assuming the token is valid, continue to Condition - success
b. Assuming the token is invalid, continue to Condition - invalid

Situation 3 - auth required, no token

The worker sends a request to be assigned a worker_id and DOES NOT pass an authentication token
PyGrid checks for the existence of an oAuth setup and finds one
Continue to Condition - not found

Condition - success
Create a worker_id and send it back to the worker that made the authentication request
Condition - invalid
Do not create a worker_id and inform the user of their mistake (see issue #445)
Condition - not found
Do not create a worker_id and inform the user of their mistake (see issue #445)

As for how this oAuth middleware should work is open to discussion. Quite frankly I don't have a ton of experience here, so I'll be relying on the wisdom of others. We simply need to extend PyGrid to have some way of validating authentication tokens that are passed by a worker and correspond to some specified third-party oAuth service.

I'll get this one! :)

@IonesioJunior I'm going to get @Prtfw to work on this one.

issue for tests: https://github.com/OpenMined/PyGrid/issues/541
(currently in progress)

I'm going to close this since we're only testing now.


New command: Delete Microsoft Teams team channel #814

Implemented command to solve #814

Coverage remained the same at 100.0% when pulling<PHONE_NUMBER>3fc370d182d4cc28370e3dadc58d0d on garrytrinder:teams-channel-remove into 0a2c553ed3b8859a9867555348c548d5499bea3f on pnp:dev.

Awesome! We'll have a look asap!

@VelinGeorgiev absolutely, I can look at this later this evening and push the changes 👍🏻

@VelinGeorgiev all yours 👍🏻

Thanks @VelinGeorgiev apologies those doc updates I should have picked up. I'll certainly be more aware of these comments on my next PR.
This has been a great learning experience working on this command, I can't thank both you and @waldekmastykarz enough for making this process easy 👏🏻

Anytime!

Merged manually. Thank you and welcome to the crew! 🎉


[Internal QA] Header Look & Feel improvements

Desktop Original

Desktop EDS

Mobile Original

Mobile EDS

Bugs -

#
Bug
Mode

1
Header is slightly mis-aligned from other sections. It seems padding is missing from it
Desktop

2
Navigation items list is leftward aligned compared to original header
Desktop

3
Search Icon color is darker compared to original header icon
Desktop

4
Navigation items font is bigger compared to original header
Desktop

5
Share icon also seems bigger and different in color compared to original
Desktop

Fixed the fonts weights, sizing and alignment issue of the logo.
https://github.com/aemsites/infosys/assets/119420493/c79fbdbf-4581-4e80-aec5-50388982f7a2


Towelette Waterlogged Farmlands are not rendered correctly.

http://prnt.sc/pkjuui
The render error always appear regardless of client's config i.e. it doesn't matter if the key value of "farmland" is either true or false.
They do function properly, it's just hilarious to look at.

Resolved from elsewhere. Configs were mismatched between the client and server.


ytview cannot play videos with ads

Issue Label:

[x] Bug
[ ] New feature
[ ] Enhancement
[ ] New component

Description:
If its a bug make sure to include this section.
OS and OS version:

[ ] Mac
[ ] Linux 32 Bit
[x] Linux 64 Bit
[ ] Windows 32 Bit
[ ] Windows 64 Bit

OS Version:
Ubuntu 17.04
Can't get the ytview to work for me. I run ytview linkin park and select the first video which makes an  error pop up saying:
Your input can't be opened:
VLC is unable to open the MRL 'https://r4---sn-ci5gup-cags.googlevideo.com/videoplayback?ei=Z6tpWcLRIMm1oAPrirTwDw&requiressl=yes&itag=43&id=o-APaAaOjNS53wh_4zy7keT4WXzPo65QRHrYKiZyFHVJlF&dur=0.000&gir=yes&mm=31&mn=sn-ci5gup-cags&pcm2cms=yes&source=youtube&clen=16873382&ip=<IP_ADDRESS>&ms=au&mt=1500097292&mv=m&lmt=1365509526128018&expire=1500118983&ratebypass=yes&sparams=clen%2Cdur%2Cei%2Cgir%2Cid%2Cinitcwndbps%2Cip%2Cipbits%2Citag%2Clmt%2Cmime%2Cmm%2Cmn%2Cms%2Cmv%2Cpcm2cms%2Cpl%2Cratebypass%2Crequiressl%2Csource%2Cexpire&mime=video%2Fwebm&key=yt6&ipbits=0&initcwndbps=1012500&pl=19&signature=D6C62835742E9DAD988BD9811C466B7C0622CC6F.8D32C15D02389B257F692FC69AFAFB5C456EB003'. Check the log for details.

Any idea what's going wrong?

I had a look at this to try to fix it. The bash script is working as expected and all it does is pass the youtube url. The problem is with VLC which is unable to start the stream.
The pattern i saw is that usually these are videos that have ads. Either way i think this one is for VLC or to implement another method of playing youtube videos?

I have noticed this as well and like @monokh said I am pretty sure it is only for videos with ads. I don't think any video streaming player will be able to handle this.

@alexanderepstein I was checking the options, unlikely there is a solution using only the media player.
VLC's youtube extension is brittle and is not kept up to date as youtube modifies things on their end however youtube-dl does a very good job at this.
2 options there is:

Save to tmp location and send file to vlc
Stream directly to vlc youtube-dl "https://www.youtube.com/watch?v=kXYiU_JCYtU" -o - | vlc -

Although i am reminded of this part of the description of the project:

A collection of small bash scripts for heavy terminal users with no dependencies

So i'm not sure if this kind of solution is acceptable or not 😉

Hmm the first option seems viable if I or anyone else can find a way to download the video without a dependency such as youtube-dl then it will be implemented. The issue being that if the video is large it will be a very long time until you can view the video whereas streaming circumvents this problem.

I'm a bit curious now. There are a few apps on Android such as NewPipe which can stream YouTube videos without ads. Any idea how they're achieving this? Maybe something similar can be done here?

If the youtube video can be downloaded, there's no reason why it couldn't be streamed to VLC directly. You could use an online youtube downloader. The problem is that these sites are often short lived.
All the youtube stream/download apps implement the same method to figure out the real video url of a youtube video. The issue is that this is often changing as youtube changes it's backend to prevent this sort of thing - this is why whole libraries (like youtube-dl) have frequent development and maintenance to deal with these changes.
I don't realistically see being able to develop a bash script to do this reliably as part of this project - it would just need too much maintenance and dedication.

@monokh
I strongly agree with

I don't realistically see being able to develop a bash script to do this reliably as part of this project - it would just need too much maintenance and dedication.

The idea of these scripts is to be simplistic and it would be to hard to account for this due to the nature of youtube trying to stop people from doing just that.


QF-247 add notification settings

Add notification settings menu item to dropdown menu in navbar.

Add Notification Settings for apprentices to set their preferences on what notifications they'd like to receive.


Enhancements for Better Error Handling, Rate Limiting, and Pagination

This issue proposes several enhancements to improve the functionality, usability, and stability of the Crypto Bot. Below are the detailed changes that need to be implemented:

Secure Bot Token Management
Current Issue: The bot token is hardcoded in the code, which is not secure.
Proposed Solution: Use environment variables (os.getenv('BOT_TOKEN')) to load the bot token securely and add error handling if the token is missing.
Benefit: Prevents accidental token exposure, improving the bot’s security.
Improved Error Handling
Current Issue: The error handler only prints errors but does not inform the user or log details.
Proposed Solution: Enhance the error_handler function to log errors for debugging purposes and notify the user with a friendly message when something goes wrong.
Benefit: Helps developers debug and provides a better user experience.
Rate Limiting and Retry Logic for API Requests
Current Issue: API requests do not handle rate-limiting and could fail if the limit is hit.
Proposed Solution: Add retry logic with a delay between requests to handle potential rate limits from the CoinGecko API.
Benefit: Increases the reliability of the bot by reducing failed requests due to rate limits.
Pagination for Large Data Sets
Current Issue: When fetching large data sets (e.g., Top 100 Cryptocurrencies), the entire list is displayed, which may overwhelm users.
Proposed Solution: Implement pagination for large data sets using inline buttons (Previous and Next) to navigate through pages of cryptocurrencies.
Benefit: Improves the user experience by allowing them to view manageable chunks of data.
Add Unit Tests
Current Issue: The bot lacks unit tests, which makes it harder to verify the correctness of the code after changes.
Proposed Solution: Add unit tests using a framework like pytest to cover the critical functions such as get_crypto_price() and get_crypto_details().
Benefit: Ensures that the bot's functionality remains intact during future changes and makes the code more robust.
Better Search Functionality
Current Issue: The search functionality does not provide suggestions if the exact match is not found.
Proposed Solution: Improve the search functionality by offering suggestions for similar results when no exact match is found.
Benefit: Enhances the usability of the search feature, making it more user-friendly.
Logging for Debugging
Current Issue: The bot currently lacks proper logging for activities and errors.
Proposed Solution: Add logging to track important activities like bot startup and user actions, along with error logs for debugging purposes.
Benefit: Simplifies debugging and helps track bot usage patterns.
Additional Commands
Current Issue: The bot could benefit from additional features, such as price history and crypto-related news.
Proposed Solution: Add commands like /pricehistory to display historical prices and /news to fetch crypto news from relevant APIs.
Benefit: Adds more functionality, making the bot more versatile and useful for users.
Tasks:
Replace hardcoded token with environment variable.
Enhance the error handler to log errors and notify users.
Implement retry logic and handle rate limits for API requests.
Add pagination support for large data sets.
Add unit tests for key functionalities.
Improve the search feature with suggestions for similar results.
Add logging for debugging.
Implement new commands: /pricehistory and /news.

@Harish-2003  :--can you assign me this with all labels and level-2 badges for this issue

Please assign this issue to me, I'm intersted!


Cursor is still changing its appearance.

All though hover effect on empty date blocks has been fixed, but i can see that while hovering over empty date blocks the cursor changes to pointer simultaneously .
Hint

Edit cursor property for empty blocks.

Fixed the issue in PR #23


ImportError: cannot import name 'BertModelLayer'

Describe the bug
A clear and concise description of what the bug is.
Traceback (most recent call last):
File "", line 1, in
File "/usr/local/lib/python3.6/dist-packages/hanlp/init.py", line 17, in
import hanlp.components
File "/usr/local/lib/python3.6/dist-packages/hanlp/components/init.py", line 5, in
from . import tok
File "/usr/local/lib/python3.6/dist-packages/hanlp/components/tok.py", line 12, in
from hanlp.components.taggers.transformers.transformer_tagger import TransformerTagger
File "/usr/local/lib/python3.6/dist-packages/hanlp/components/taggers/transformers/transformer_tagger.py", line 13, in
from hanlp.layers.transformers.loader import build_transformer
File "/usr/local/lib/python3.6/dist-packages/hanlp/layers/transformers/loader.py", line 9, in
from bert import BertModelLayer, albert_models_tfhub, fetch_tfhub_albert_model
ImportError: cannot import name 'BertModelLayer'
Code to reproduce the issue
Provide a reproducible test case that is the bare minimum necessary to generate the problem.
pip install hanlp

Describe the current behavior
A clear and concise description of what happened.
导入包错误
Expected behavior
A clear and concise description of what you expected to happen.
没有错误
System information

OS Platform and Distribution (e.g., Linux Ubuntu 16.04): Linux Ubuntu 16.04
Python version:3.6.9
HanLP version:2.0.0

Other info / logs
Include any logs or source code that would be helpful to diagnose the problem. If including tracebacks, please include the full traceback. Large logs and files should be attached.
Traceback (most recent call last):
File "", line 1, in
File "/usr/local/lib/python3.6/dist-packages/hanlp/init.py", line 17, in
import hanlp.components
File "/usr/local/lib/python3.6/dist-packages/hanlp/components/init.py", line 5, in
from . import tok
File "/usr/local/lib/python3.6/dist-packages/hanlp/components/tok.py", line 12, in
from hanlp.components.taggers.transformers.transformer_tagger import TransformerTagger
File "/usr/local/lib/python3.6/dist-packages/hanlp/components/taggers/transformers/transformer_tagger.py", line 13, in
from hanlp.layers.transformers.loader import build_transformer
File "/usr/local/lib/python3.6/dist-packages/hanlp/layers/transformers/loader.py", line 9, in
from bert import BertModelLayer, albert_models_tfhub, fetch_tfhub_albert_model

[ ] I've completed this form and searched the web for solutions.

【自动回复】您好，感谢反馈。
由于未按要求填写，本issue被自动关闭，将在一小时内自动删除。
如果您提的是bug或feature request，请按issue模板认真修改，然后耐心等待下周末处理。
否则，咨询类的问题GitHub概不受理。请先搜索一下，99.9%的问题已经反复回答过了，人类的本质是复读机。如果您确信您提了个新问题，那么欢迎写清楚前因后果发在论坛而不是GitHub上。
如果您不修改的话，恐怕没有人能够回复您，我们也会错失一次改进的机会或者一次友好的讨论。开源项目维护不易，只能在周末受理友好的提问，造成不便还望海涵。


Custom Visual does not render in Edge and Firefox - TypeError: 'get length' called on an object that does not implement interface Window

We have custom visual which is based on javascript control library. It works fine in Chrome and IE but does not render at all in Edge and Firefox.
In Firefox, the error logged in console is "TypeError: 'get length' called on an object that does not implement interface Window".
The control itself works fine in all the browsers but when added as part of visual gives problem.
Any idea what could be the problem. Please help as it is blocking us for releasing it.

I think this is due to Power BI code isolation for custom visuals.
Could you please share libraries that you use or full stack trace?

Yes, i also suspect that but do not exactly know where it could be failing. Can I share the entire visual code? Please provide email id, i will send it across.

Yes, sure. Please send code to<EMAIL_ADDRESS>and<EMAIL_ADDRESS>

The issue was related to calling jQuery's isArrayLike for window object.
The exception is thrown since window object is a copy of native one that PBI creates for isolation.
Current solution is to include this code before loading jQuery:

Object.defineProperty(window, "length", {
    get: function () {
        return window.window.length;
    },
    configurable: true,
    enumerable: true,
});

Thanks a ton. This solved the issue.


singular: 4.3.1 -> 4.3.1p2

Description of changes

Things done

Built on platform(s)

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

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

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

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

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

[ ] Fits CONTRIBUTING.md.

@ofborg build sage

Sage x86_64 failure is https://trac.sagemath.org/ticket/33907 (unknown cause, but intermittent). Docbuild was already freezing on Darwin before this update.

Is it time to merge this?

I think so, Sage tests pass and this is an official Singular release (it isn't tagged on GitHub but there are tarballs). Thanks!


Cannot start tower job with ansible

I am unable to run a tower job. The inventory doesn't work with null or with the inventory ID or Inventory name.
Versions:
Tower 3.4.1

Tower CLI 3.3.2

ansible 2.7.5
  config file = /root/ansible/os-updates/ansible.cfg
  configured module search path = [u'/root/.ansible/plugins/modules', u'/usr/share/ansible/plugins/modules']
  ansible python module location = /usr/lib/python2.7/site-packages/ansible
  executable location = /bin/ansible
  python version = 2.7.5 (default, Sep 12 2018, 05:31:16) [GCC 4.8.5 20150623 (Red Hat 4.8.5-36)]

Ansible task:
- name: Run tower jboss stop job.
  delegate_to: localhost
  tower_job_launch:
    limit: "{{ inventory_hostname }}"
    inventory: "2"
    tower_host: https://tower.example.com
    tower_username: "{{ secret_tower_user }}"
    tower_password: "{{ secret_tower_password }}"
    job_template: "Jboss restart"
    tags: stop
  register: job

Error
<localhost> EXEC /bin/sh -c '( umask 77 && mkdir -p "` echo /root/.ansible/tmp/ansible-tmp-1550596043.35-82061054507257 `" && echo ansible-tmp-1550596043.35-82061054507257="` echo /root/.ansible/tmp/ansible-tmp-1550596043.35-82061054507257 `" ) && sleep 0'
Using module_utils file /usr/lib/python2.7/site-packages/ansible/module_utils/ansible_tower.py
Using module_utils file /usr/lib/python2.7/site-packages/ansible/module_utils/basic.py
Using module_utils file /usr/lib/python2.7/site-packages/ansible/module_utils/parsing/convert_bool.py
Using module_utils file /usr/lib/python2.7/site-packages/ansible/module_utils/common/_collections_compat.py
Using module_utils file /usr/lib/python2.7/site-packages/ansible/module_utils/six/__init__.py
Using module_utils file /usr/lib/python2.7/site-packages/ansible/module_utils/_text.py
Using module_utils file /usr/lib/python2.7/site-packages/ansible/module_utils/parsing/__init__.py
Using module_utils file /usr/lib/python2.7/site-packages/ansible/module_utils/pycompat24.py
Using module_utils file /usr/lib/python2.7/site-packages/ansible/module_utils/common/process.py
Using module_utils file /usr/lib/python2.7/site-packages/ansible/module_utils/common/__init__.py
Using module_utils file /usr/lib/python2.7/site-packages/ansible/module_utils/common/file.py
Using module file /usr/lib/python2.7/site-packages/ansible/modules/web_infrastructure/ansible_tower/tower_job_launch.py
<localhost> PUT /root/.ansible/tmp/ansible-local-17120fM55LR/tmp1DLY5_ TO /root/.ansible/tmp/ansible-tmp-1550596043.35-82061054507257/AnsiballZ_tower_job_launch.py
<localhost> EXEC /bin/sh -c 'chmod u+x /root/.ansible/tmp/ansible-tmp-1550596043.35-82061054507257/ /root/.ansible/tmp/ansible-tmp-1550596043.35-82061054507257/AnsiballZ_tower_job_launch.py && sleep 0'
<localhost> EXEC /bin/sh -c '/usr/bin/python2 /root/.ansible/tmp/ansible-tmp-1550596043.35-82061054507257/AnsiballZ_tower_job_launch.py && sleep 0'
<localhost> EXEC /bin/sh -c 'rm -f -r /root/.ansible/tmp/ansible-tmp-1550596043.35-82061054507257/ > /dev/null 2>&1 && sleep 0'
The full traceback is:
WARNING: The below traceback may *not* be related to the actual failure.
  File "/tmp/ansible_tower_job_launch_payload_VG5rp_/__main__.py", line 129, in main
    result = tower_cli.get_resource(field).get(name=name)
  File "/usr/lib/python2.7/site-packages/tower_cli/models/base.py", line 499, in get
    response = self.read(pk=pk, fail_on_no_results=True, fail_on_multiple_results=True, **kwargs)
  File "/usr/lib/python2.7/site-packages/tower_cli/models/base.py", line 319, in read
    raise exc.NotFound('The requested object could not be found.')

fatal: [phu-b2bsettle-1 -> localhost]: FAILED! => {
    "changed": false,
    "invocation": {
        "module_args": {
            "credential": null,
            "extra_vars": null,
            "inventory": null,
            "job_template": "Jboss restart",
            "job_type": null,
            "limit": "server-1",
            "tags": [
                "stop"
            ]
        }
    },
    "msg": "Unable to launch job, inventory/None was not found: The requested object could not be found."
}

Inventory variables are optional(only need to set when a job template turned on prompt on launch option), its unnecessary to specify when prompt on launch is turned off. PR 54967

@dforste can you try to use Ansible v2.8? As @pravindmali pointed out, this problem fixed by PR #54967.
I have confirmed the following playbook worked without errors with Ansible v2.8.1. In v2.8.x, it is not necessary to specify inventory in the playbook task if you already specified it on your job template:
- tower_job_launch:
    tower_host: https://tower.example.com/
    tower_username: "{{ secret_tower_user }}"
    tower_password: "{{ secret_tower_password }}"
    tower_verify_ssl: false
    job_template: "Test Job Template"
  register: job

From the details in the linked Ansible issue, best information indicates this should be resolved in development versions of everything, so closing for now.


Cannot set the name and description for a scalar type

Hi,
I have a scalar type like
@GraphQLScalar
@GraphQLType(name = "MyUserId", description = "My description")
public class UserId {
    private String value;

    public UserId(String value) {
        this.value = value;
    }

    public String getValue() {
        return value;
    }
}

However, SPQR adds Scalar suffix to the name and change it to MyUserIdScalar. There is no way to not adds suffix.
The second problem is that my description is iggnored and in schema there is Built-in scalar for dynamic values description of type MyUserIdScalar.

Is there any answer to this? How do we give a Scalar a different name? For example, I'd like to tell the world my type is a "JSON", rather than a "Map_String_ObjectScalar". I've tried @GraphQLName and @GraphQLDescription as well, without success. Desperately need examples.

Well I guess we can do something like this:

	GraphQLSchema createSchema( {
		return new GraphQLSchemaGenerator()
// ...
		    .withTypeInfoGenerator(new CustomTypeInfoGenerator())
		    .generate();
	}

	class CustomTypeInfoGenerator extends DefaultTypeInfoGenerator{
		@Override public String generateScalarTypeName(AnnotatedType type, MessageBundle messageBundle) {
			if (type.getType() instanceof ParameterizedType) {
				ParameterizedType type2 = (ParameterizedType) type.getType();
				if (Map.class.isAssignableFrom((Class)type2.getRawType())){
					return "JSON";
				}
			}
			return super.generateScalarTypeName(type, messageBundle);
		}
		@Override public String generateScalarTypeDescription(AnnotatedType type, MessageBundle messageBundle) {
			//this isn't even getting called, so good luck
			return super.generateScalarTypeDescription(type, messageBundle);
		}
	}

I have a field of type Map<String,Object> and the above code changes the type from Map_String_ObjectScalar to "JSON".


JIT conversion of existing ad hoc accounts

Will there be JIT conversion of SPO ad hoc accounts into new AAD Guest accounts for the new AAD B2B model with integration into SPO/OneDrive?
I tested an existing ad hoc account that was previously shared from OneDrive prior to implementing AAD B2B with SPO/OneDrive integration.  After integration implementation, the ad hoc account was not converted to an AAD guest account.  I had heard there may be JIT conversion for SPO/OneDrive ad hoc accounts with the new AAD B2B model.
Retrieve ad hoc account via <https://Tenant OneDrive Url>/personal/_api/web/GetUserById(21)
Sharing BEFORE change:  "LoginName"<EMAIL_ADDRESS>Sharing AFTER change - no change and the new AAD Guest account is not created.

Yes - JIT conversion should be enabled for all tenants by the end of this week. I don't think your test tenant was enabled for JIT conversion during the private preview phase, hence why you're not yet seeing it. If you try again next week it should work.
The behavior is such that when the ad-hoc user clicks on their old/existing sharing link, we'll create a Guest account for them at that moment on behalf of the person who originally shared with that ad-hoc user (meaning the conversion is still subject to AAD settings such as Members can Invite).

@brassman2000 Thank you for submitting feedback. We understand that this issue has been resolved.
Please feel free to re-open this issue if there is a specific area of the docs that we can improve or make better. Thank you.

@officedocsbot close


Fixed Visual Studio compiler warning

"#pragma GCC" causes warning 4068 "Unknown pragma" when compiling with Visual Studio 2022. Maybe the condition should be
#if defined(GNUC) || defined(clang)
instead. Both are used in the other files.

Thanks for the fix @jrade . Please use the following instead, and I'll merge your PR.
#if defined(__GNUC__) || defined(__clang__)

The file bits.hpp contains code like
#if defined(GNUC)
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wpedantic"
#endif
Is that correct? Or should it be
#if defined(GNUC) || defined(clang)
there too?  (I only use Visual Studio so I have no idea.)
/Johan
On Tue, Nov 26, 2024 at 9:02 PM Gregory Popovitch @.***>
wrote:

Merged #30 https://github.com/greg7mdp/gtl/pull/30 into main.
—
Reply to this email directly, view it on GitHub
https://github.com/greg7mdp/gtl/pull/30#event-15441568679, or
unsubscribe
https://github.com/notifications/unsubscribe-auth/AARBZC4WPWIIEAVH7RDOEQT2CTHUBAVCNFSM6AAAAABSQYD326VHI2DSMVQWIX3LMV45UABCJFZXG5LFIV3GK3TUJZXXI2LGNFRWC5DJN5XDWMJVGQ2DCNJWHA3DOOI
.
You are receiving this because you were mentioned.Message ID:
@.***>


Updated README

Hey! Here is my best shot at updating the README with the changes. If you end up including my commits in the main project, feel free to edit this as you see fit!

Sorry, small formatting issue with the command order. I updated the README here.
https://github.com/SomeGuyEight/Cobblemon-Challenge/blob/ce95d01a867f5cc60b5736dd7e47e5480ba8ba2f/README.md


feat:remap quit cmd for openterm

The choice of keymapping is very personal, I almost think the plugin shouldn't set anything and just let the user use the TermOpen autocmd to set whatever they want, or atleast be configurable here

alright，


Added new compiler option for loading all gltf related files from android app asset package

This PR adds the new compiler option TINYGLTF_ANDROID_LOAD_FROM_ASSETS that will load all files, including textures and binaries from the packaged apk instead of the file system using the asset manager.
With this you can package arbitrary gltf files with your Android apk and load them directly from your application package without having to use embedded gltf files.
With this change you can simply take any gltf model like the Polly sample scene, add the directory as an asset to your Android build and load it up like you'd be working with a plain directory.
Demo video: https://youtu.be/rFXgeuyI4H4
P.S.: I'm not 100% sure if the coding style fits your guidelines for this library, so if anything needs to be changed just drop me a line.

Awesome! Thanks!

P.S.: I'm not 100% sure if the coding style fits your guidelines for this library, so if anything needs to be changed just drop me a line.

Code is formatted with clang-format, thus you don't need to worry about it. I'll apply clang-format then.


Unable to compile it on ubuntu 22.04

Hi,
I am unable to compile fuse-archive on ubuntu 22.04, I get this error:
make: pkg-config: No such file or directory
make: pkg-config: No such file or directory
mkdir -p out
g++   src/main.cc   -o out/fuse-archive
In file included from /usr/include/fuse/fuse.h:26,
                 from /usr/include/fuse.h:9,
                 from src/main.cc:39:
/usr/include/fuse/fuse_common.h:33:2: error: #error Please add -D_FILE_OFFSET_BITS=64 to your compile flags!
   33 | #error Please add -D_FILE_OFFSET_BITS=64 to your compile flags!
      |  ^~~~~
make: *** [Makefile:25: out/fuse-archive] Error 1

I have to say that I was able to compile it (v0.1.13) before upgrading ubuntu to 22.04.
Thanks for the help.

I figured it out: need to install pkg-config package to make it works.
On ubuntu this package is needed.


One-time payment

I'd like to just give some developers a one time payment. if I pay $1 per week to several people, more money is lost to credit card processing fees and also it creates additional work at my organization: the accounts payable team needs to enter the transactions each month in order to reconcile them. One-off is much more efficient. please add it as an option.
Cheers!

---
Want to back this issue? **[Post a bounty on it!](https://www.bountysource.com/issues/12380550-one-time-payment?utm_campaign=plugin&utm_content=tracker%2F85909&utm_medium=issues&utm_source=github)** We accept bounties via [Bountysource](https://www.bountysource.com/?utm_campaign=plugin&utm_content=tracker%2F85909&utm_medium=issues&utm_source=github).

Dupe of https://github.com/gratipay/gratipay.com/issues/5.

Hey @Maxhodges, I see that you've already commented on #5, so I'm closing this.


Agent State ARN not available through agent.getState method

When calling agent.getState(), the return object has an "agentStateARN" property, but the value is always null. The agent.getAgentStates() method on the other hand populates this property for each agent state. I can get around this temporarily by mapping the name I get from the getState object to one of the states returned by the getAgentStates method and then retrieving the matching ARN, but it would be nice to have access to the ARN directly from the return object of the getState method.

Hi aguecida@, we are tracking this on our end now.

Any news?

Unfortunately, this has not been prioritized. It is in the team's backlog as of now.


Add index to GH pages

Have published GitHub Pages for the adapter. Thanks to @geekgonecrazy this is aliased by the main Rocket.Chat domain. See here: https://rocket.chat/hubot-rocketchat/snippets
There's some Readme updates on the way, in regards to the Docker image instructions and some content moving to the more appropriate rocket.chat/docs/bots pages. When that's complete, this repo's Readme content should be moved do docs/index.md and be replaced with just a static overview of the project (e.g. how to add as NPM dependency or clone for development), linking to the Rocket.Chat hosted GH Pages for further information.

Related #282 #286 #259


[MDTextField][MDTextView][Android] Helper seems not to work

I simply set property helper on both MDTextField and MDTextView, but the helper text doesn't show. Please see below code snippets and screenshots. Thank you for your support!
MDTextField
<FlexboxLayout>
          <MDTextField class="input" #email formControlName="email" helper="test" [hint]="'EMAIL' | translate" autocorrect="false"
            autocapitalizationType="none" returnKeyType="next" (returnPress)="password.focus()"
            (blur)="trimFormControlValue('email')" variant="outline" placeholderColor="#9196A1">
          </MDTextField>
        </FlexboxLayout>

The two small dots under the text field seem from the two t in word test 🤔

MDTextView
<FlexboxLayout>
            <MDTextView class="incident-comment" variant="outline" placeholderColor="#9196A1" floating="true"
              [hint]="('Comment...' | translate) + (incidentType.id === 'OTHER' ? '*' : '')"
              helper="test" returnKeyType="next"
              (textChange)="onCommentChange($event)">
            </MDTextView>
          </FlexboxLayout>

@cloudhx are you enforcing TextField, TextView height?
I tested here and if i dont enforce height i see the helper text.
With TextView at least, if i set the height, then i dont see it

@farfromrefug I enforced height for TextView but not TextField.
I think I also tried not enforcing height for TextView, it didn't show helper either. I will double check it and update the code and screenshot


Adding "Sign Up with Google" Option to Signup Page

To improve user convenience and enhance the signup experience, we should add a "Sign Up with Google" button to the signup page. This feature will allow users to quickly register using their Google accounts, bypassing the need to manually fill in personal information and create a password. Implementing this option can lead to increased signup rates and a smoother onboarding process.

Okay @Grandhi-Harshitha, I'm assigning this issue to you.

Hyy @Grandhi-Harshitha, Can you do star mark this repo?

yes
thank you for assigning me

while I am trying to run the code without any modifications ,At the header I am unable to see even the home,about,login etc.. elements.
can u pls help me out

This is created issue by contributors.

pls assign me this issue if no one is working on it

pls assign me this issue if no one is working on it

Okk I'm assigning this issue to you but first to raise new issue for this.

Ohk


errorMessage: mergeTrees.isEmptyTree is not a function

i need to make this work for older CLI's (very possible)

Hmm, do we support older ember-cli's?

Maybe we should detect the ember-cli version and fail with a nicer error when you are running on too old of a version?


Temp table convenience method

Based on https://github.com/diogob/postgres-copy/issues/51, this should be useful for people who need to preprocess data before ingesting it.

thanks for the PR @dcluna


Integrate migrated Trotterization with ProductFormula and EvolutionGate.

The goal of this issue is to make Trotterization use ProductFormula and EvolutionGate classes.
ProductFormula is supposed to define the type of Trotterization and EvolutionGate should be returned by the algorithm which will allow a compiler to optimize gates used to perform an evolution. These classes are being finalized in this PR: https://github.com/Qiskit/qiskit-terra/pull/6975.
More information about EvolutionGate can be found in this notebook: https://github.com/Cryoris/notebooks/blob/master/Evolution Gates.ipynb.
The development should start from this branch that already includes most parts of Trotterization migrated from OpFlow to the new unified Quantum Time Evolution framework (design available internally).
https://github.com/dlasecki/qiskit-terra/tree/quantum-time-evo/
Building blocks for Trotterization in the unified design are available here:
https://github.com/dlasecki/qiskit-terra/tree/quantum-time-evo/qiskit/algorithms/quantum_time_evolution/builders/implementations.
A Quantum Real Time Evolution algorithm based on Trotterization that follows the unified design is available here:
https://github.com/dlasecki/qiskit-terra/blob/quantum-time-evo/qiskit/algorithms/quantum_time_evolution/real/qrte.py.

Comment to be able to assign me.