Grafana operators installed in single namespace via OLM has Cluster scoped RBAC

Describe the bug
Users installing the operator via OLM are presented with two options (older version only supported same namespace and came with appropriate RBAC), the two options are all namespaces, or same namespace for the v5 channel.

The older v4 channel only provided the same namespace option

If installing multiple grafana operators in a cluster for various tenants, the same namespace option may be chosen (or in use due to it being the only supported install mode from v4 and prior). In the later versions of v4 and v5 the operator comes with ClusterRole and ClusterRoleBinding which provide it access to the below resources at ClusterScope. This is obviously not a good situation when you have multiple tenants in the same cluster as it provides them privileges access through the Grafana service.
rules:
  - verbs:
      - create
      - delete
      - get
      - list
      - patch
      - update
      - watch
    apiGroups:
      - ''
    resources:
      - configmaps
      - persistentvolumeclaims
      - secrets
      - serviceaccounts
      - services
  - verbs:
      - create
      - get
      - list
      - patch
      - watch
    apiGroups:
      - ''
    resources:
      - events
  - verbs:
      - get
      - list
      - watch
    apiGroups:
      - ''
    resources:
      - pods
  - verbs:
      - create
      - delete
      - get
      - list
      - patch
      - update
      - watch
    apiGroups:
      - apps
      - extensions
    resources:
      - deployments
      - deployments/finalizers
  - verbs:
      - create
      - delete
      - get
      - list
      - patch
      - update
      - watch
    apiGroups:
      - integreatly.org
    resources:
      - grafanadashboards
  - verbs:
      - get
      - patch
      - update
    apiGroups:
      - integreatly.org
    resources:
      - grafanadashboards/status
  - verbs:
      - create
      - delete
      - get
      - list
      - patch
      - update
      - watch
    apiGroups:
      - integreatly.org
    resources:
      - grafanadatasources
  - verbs:
      - get
      - patch
      - update
    apiGroups:
      - integreatly.org
    resources:
      - grafanadatasources/status
  - verbs:
      - create
      - delete
      - get
      - list
      - patch
      - update
      - watch
    apiGroups:
      - integreatly.org
    resources:
      - grafananotificationchannels
  - verbs:
      - get
      - patch
      - update
    apiGroups:
      - integreatly.org
    resources:
      - grafananotificationchannels/status
  - verbs:
      - create
      - delete
      - get
      - list
      - patch
      - update
      - watch
    apiGroups:
      - integreatly.org
    resources:
      - grafanas
      - grafanas/finalizers
  - verbs:
      - get
      - patch
      - update
    apiGroups:
      - integreatly.org
    resources:
      - grafanas/status
  - verbs:
      - create
      - delete
      - get
      - list
      - patch
      - update
      - watch
    apiGroups:
      - networking.k8s.io
    resources:
      - ingresses
  - verbs:
      - create
      - delete
      - get
      - list
      - patch
      - update
      - watch
    apiGroups:
      - route.openshift.io
    resources:
      - routes
      - routes/custom-host
  - verbs:
      - create
    apiGroups:
      - authentication.k8s.io
    resources:
      - tokenreviews
  - verbs:
      - create
    apiGroups:
      - authorization.k8s.io
    resources:
      - subjectaccessreviews

Version
v4, v5
To Reproduce
Install operator in same namespace mode and login through the SA's token to gain privileged access to the cluster
Expected behavior
Installing the operator in same namespace mode should not include any ClusterRole or ClusterRolebinding.
Suspect component/Location where the bug might be occurring
I'm not sure if it's a limitation of OLM and having both install modes supported simply doesn't provide the option to generate the RBAC based on the install mode? Installing in all namespaces of course will require a CR/CRB to access resources outside of the namespace, I'm not sure if it's a limitation of OLM and having both install modes supported simply doesn't provide the option to generate the RBAC based on the install mode? Installing in all namespaces of course will require a CR/CRB to access resources outside of the namespace.
If there is an OLM limitation, I believe it would be best to either only support all namespace, or provide 2 sets of OLM manifests, one for the all namespace mode and another for same namespace.
Runtime (please complete the following information):

Grafana Operator Version v4-v5
Environment: OpenShift
Deployment type: OLM

This is a limitation in OpenShift with OLM. It's been addressed in the V5 release blog](https://github.com/grafana-operator/grafana-operator/blob/5ebf1f965c87208ef58b7e5aeeb7765449c76952/docs/blog/v5-intro.md?plain=1#L203).

I believe it would be best to either only support all namespace, or provide 2 sets of OLM manifests, one for the all namespace mode and another for same namespace.

This is a limitation in OpenShift with OLM. It's been addressed in the V5 release blog:
https://github.com/grafana-operator/grafana-operator/blob/5ebf1f965c87208ef58b7e5aeeb7765449c76952/docs/blog/v5-intro.md?plain=1#L203

I've believe I've seen this been used as a workaround before, submitting two bundles for OLM, one for same namespace and the other for all namespaces.

This is a limitation in OpenShift with OLM. It's been addressed in the V5 release blog:
https://github.com/grafana-operator/grafana-operator/blob/5ebf1f965c87208ef58b7e5aeeb7765449c76952/docs/blog/v5-intro.md?plain=1#L203

I've believe I've seen this been used as a workaround before, submitting two bundles for OLM, one for same namespace and the other for all namespaces.

Would love to see any work arounds in detail. Do you have a issue/comment link? I'm looking to run Grafana Operator in namespaced mode as well. But don't think it will be possible because of the limitation I linked.

@Stef16Robbe for sure, I've seen for example with the Ansible operator provided by Red Hat they provide both options by having separate channels for the operator which indicate one is for cluster scoped and the other is namespace scoped. Basically they accomplish this by packaging two versions of the OLM manifests where installMode in the CSVs differ and the csv.spec.install.spec.clusterPermissions and csv.spec.install.spec.permissions are set accordingly for each.
Available channels, where the cluster-scoped allows for "all namespaces"

The namespace scoped channel can only be installed in a single namespace

When installing via namespace scoped channel the CSV does not enable the AllNamespaces under installModes, and the bulk of the privileges the operator requires are set via .spec.install.spec.permissions. In the case of this operator it still has some cluster scoped privileges set, but only the bare minimum via .spec.install.spec.clusterPermissions.
apiVersion: operators.coreos.com/v1alpha1
kind: ClusterServiceVersion
...
spec:
  installModes:
    - supported: true
      type: OwnNamespace
    - supported: true
      type: SingleNamespace
    - supported: true
      type: MultiNamespace
    - supported: false <--------
      type: AllNamespaces
  install:
    spec:
      permissions:
        - rules:
            - apiGroups:
                - ''
                - rbac.authorization.k8s.io
              resources:
                - secrets
                - pods
                - serviceaccounts
                - roles
                - rolebindings
                - services
                - services/finalizers
                - endpoints
                - persistentvolumeclaims
                - events
                - configmaps
                - jobs
                - pods/exec
                - pods/log
              verbs:
                - create
                - delete
                - get
                - list
                - patch
                - update
                - watch
            - apiGroups:
                - apps
              resources:
                - deployments
                - daemonsets
                - replicasets
                - statefulsets
                - jobs
              verbs:
                - create
                - delete
                - get
                - list
                - patch
                - update
                - watch
      clusterPermissions:
        - rules:
            - apiGroups:
                - authentication.k8s.io
              resources:
                - tokenreviews
              verbs:
                - create
            - apiGroups:
                - authorization.k8s.io
              resources:
                - subjectaccessreviews
              verbs:
                - create
          serviceAccountName: resource-operator-controller-manager
        - rules:
            - apiGroups:
                - authentication.k8s.io
              resources:
                - tokenreviews
              verbs:
                - create
            - apiGroups:
                - authorization.k8s.io
              resources:
                - subjectaccessreviews
              verbs:
                - create
          serviceAccountName: automation-controller-operator-controller-manager
        - rules:
            - apiGroups:
                - config.openshift.io
              resources:
                - ingresses
              verbs:
                - get
                - list
                - watch
          serviceAccountName: automation-hub-operator-sa
...

OLM install generates the Rolebindings/ClusterRolebindings.
$ oc get rolebinding | grep -i aap
aap-operator.v2.4.0-0.1698895982                                  Role/aap-operator.v2.4.0-0.1698895982                                  3m9s
aap-operator.v2.4.0-0.1698895982-automation-controll-6cc8dc6558   Role/aap-operator.v2.4.0-0.1698895982-automation-controll-6cc8dc6558   3m1s
aap-operator.v2.4.0-0.1698895982-automation-hub-oper-6dbdb6546d   Role/aap-operator.v2.4.0-0.1698895982-automation-hub-oper-6dbdb6546d   2m58s
aap-operator.v2.4.0-0.1698895982-eda-server-operator-6889c9774f   Role/aap-operator.v2.4.0-0.1698895982-eda-server-operator-6889c9774f   2m56s
aap-operator.v2.4.0-0.1698895982-resource-operator-c-64779c6698   Role/aap-operator.v2.4.0-0.1698895982-resource-operator-c-64779c6698   3m3s

$ oc get clusterrolebinding | grep -i aap-operator.v2.4.0
aap-operator.v2.4.0-0.1698895982-5546965bdd                                        ClusterRole/aap-operator.v2.4.0-0.1698895982-5546965bdd                                  2m35s
aap-operator.v2.4.0-0.1698895982-5dbf596557                                        ClusterRole/aap-operator.v2.4.0-0.1698895982-5dbf596557                                  2m30s
aap-operator.v2.4.0-0.1698895982-64d8ccbfbd                                        ClusterRole/aap-operator.v2.4.0-0.1698895982-64d8ccbfbd                                  2m28s
aap-operator.v2.4.0-0.1698895982-664d466d76                                        ClusterRole/aap-operator.v2.4.0-0.1698895982-664d466d76                                  2m33s

$ oc get clusterrole | grep -i aap-operator.v2.4.0
aap-operator.v2.4.0-0.1698895982-5546965bdd                                            2023-11-20T18:26:02Z
aap-operator.v2.4.0-0.1698895982-5dbf596557                                            2023-11-20T18:26:07Z
aap-operator.v2.4.0-0.1698895982-64d8ccbfbd                                            2023-11-20T18:26:09Z
aap-operator.v2.4.0-0.1698895982-664d466d76                                            2023-11-20T18:26:04Z

$ oc get clusterrole aap-operator.v2.4.0-0.1698895982-5546965bdd aap-operator.v2.4.0-0.1698895982-5dbf596557 aap-operator.v2.4.0-0.1698895982-64d8ccbfbd aap-operator.v2.4.0-0.1698895982-664d466d76 -o yaml
apiVersion: v1
items:
- apiVersion: rbac.authorization.k8s.io/v1
  kind: ClusterRole
  metadata:
    creationTimestamp: "2023-11-20T18:26:02Z"
    labels:
      olm.owner: aap-operator.v2.4.0-0.1698895982
      olm.owner.kind: ClusterServiceVersion
    name: aap-operator.v2.4.0-0.1698895982-5546965bdd
    resourceVersion: "7367376988"
    uid: ccdf2f23-d69b-4ce8-8226-75717bf98a72
  rules:
  - apiGroups:
    - authentication.k8s.io
    resources:
    - tokenreviews
    verbs:
    - create
  - apiGroups:
    - authorization.k8s.io
    resources:
    - subjectaccessreviews
    verbs:
    - create
- apiVersion: rbac.authorization.k8s.io/v1
  kind: ClusterRole
  metadata:
    creationTimestamp: "2023-11-20T18:26:07Z"
    labels:
      olm.owner: aap-operator.v2.4.0-0.1698895982
      olm.owner.kind: ClusterServiceVersion
    name: aap-operator.v2.4.0-0.1698895982-5dbf596557
    resourceVersion: "7367377722"
    uid: c2dfb8a5-08a1-45f7-a8d9-311feae676bf
  rules:
  - apiGroups:
    - config.openshift.io
    resources:
    - ingresses
    verbs:
    - get
    - list
    - watch
- apiVersion: rbac.authorization.k8s.io/v1
  kind: ClusterRole
  metadata:
    creationTimestamp: "2023-11-20T18:26:09Z"
    labels:
      olm.owner: aap-operator.v2.4.0-0.1698895982
      olm.owner.kind: ClusterServiceVersion
    name: aap-operator.v2.4.0-0.1698895982-64d8ccbfbd
    resourceVersion: "7367378061"
    uid: 0b5a2dfd-4510-41da-84d6-c76b03d51ce5
  rules:
  - apiGroups:
    - authentication.k8s.io
    resources:
    - tokenreviews
    verbs:
    - create
  - apiGroups:
    - authorization.k8s.io
    resources:
    - subjectaccessreviews
    verbs:
    - create
- apiVersion: rbac.authorization.k8s.io/v1
  kind: ClusterRole
  metadata:
    creationTimestamp: "2023-11-20T18:26:04Z"
    labels:
      olm.owner: aap-operator.v2.4.0-0.1698895982
      olm.owner.kind: ClusterServiceVersion
    name: aap-operator.v2.4.0-0.1698895982-664d466d76
    resourceVersion: "7367377262"
    uid: 1d1ba4a4-0432-4a2f-9475-e51b34577b8d
  rules:
  - apiGroups:
    - authentication.k8s.io
    resources:
    - tokenreviews
    verbs:
    - create
  - apiGroups:
    - authorization.k8s.io
    resources:
    - subjectaccessreviews
    verbs:
    - create

The cluster scoped channel installMode allows for AllNamespaces, and all of the privileges are set under .spec.install.spec.clusterPermissions and there are no .spec.install.spec.permissions set in this case.
spec:
  installModes:
    - supported: true
      type: OwnNamespace
    - supported: true
      type: SingleNamespace
    - supported: true
      type: MultiNamespace
    - supported: true <-----
      type: AllNamespaces
  install:
    spec:
      clusterPermissions:
        - rules:
            - apiGroups:
                - ''
                - rbac.authorization.k8s.io
              resources:
                - secrets
                - pods
                - serviceaccounts
                - roles
                - rolebindings
                - services
                - services/finalizers
                - endpoints
                - persistentvolumeclaims
                - events
                - configmaps
                - jobs
                - pods/exec
                - pods/log
              verbs:
                - create
                - delete
                - get
                - list
                - patch
                - update
                - watch
            - apiGroups:
                - apps
              resources:
                - deployments
                - daemonsets
                - replicasets
                - statefulsets
                - jobs
              verbs:
                - create
                - delete
                - get
                - list
                - patch
                - update
                - watch
...

$ oc get clusterrolebinding | grep -i aap-operator.v2.4.0
aap-operator.v2.4.0-0.1698896316-5fbf474d44                                        ClusterRole/aap-operator.v2.4.0-0.1698896316-5fbf474d44                                  57s
aap-operator.v2.4.0-0.1698896316-65bbf47b78                                        ClusterRole/aap-operator.v2.4.0-0.1698896316-65bbf47b78                                  57s
aap-operator.v2.4.0-0.1698896316-6dd6b7889b                                        ClusterRole/aap-operator.v2.4.0-0.1698896316-6dd6b7889b                                  57s
aap-operator.v2.4.0-0.1698896316-745d48485f                                        ClusterRole/aap-operator.v2.4.0-0.1698896316-745d48485f                                  57s
aap-operator.v2.4.0-0.1698896316-cf46d8cb8                                         ClusterRole/aap-operator.v2.4.0-0.1698896316-cf46d8cb8                                   57s

$ oc get clusterrole aap-operator.v2.4.0-0.1698896316-5fbf474d44 aap-operator.v2.4.0-0.1698896316-65bbf47b78 aap-operator.v2.4.0-0.1698896316-6dd6b7889b aap-operator.v2.4.0-0.1698896316-745d48485f aap-operator.v2.4.0-0.1698896316-cf46d8cb8 -o yaml
apiVersion: v1
items:
- apiVersion: rbac.authorization.k8s.io/v1
  kind: ClusterRole
  metadata:
    creationTimestamp: "2023-11-20T18:32:46Z"
    labels:
      olm.owner: aap-operator.v2.4.0-0.1698896316
      olm.owner.kind: ClusterServiceVersion
      olm.owner.namespace: aap
      operators.coreos.com/ansible-automation-platform-operator.aap: ""
    name: aap-operator.v2.4.0-0.1698896316-5fbf474d44
    resourceVersion: "7367411062"
    uid: 014cb429-c1b2-4242-8e9a-3723284d88de
  rules:
  - apiGroups:
    - route.openshift.io
    resources:
    - routes
    - routes/custom-host
    verbs:
    - get
    - list
    - create
    - delete
    - patch
    - update
    - watch
  - apiGroups:
    - ""
    resources:
    - pods
    - services
    - services/finalizers
    - serviceaccounts
    - endpoints
    - persistentvolumeclaims
    - events
    - configmaps
    - secrets
    verbs:
    - get
    - list
    - create
    - delete
    - patch
    - update
    - watch
  - apiGroups:
    - rbac.authorization.k8s.io
    resources:
    - roles
    - rolebindings
    verbs:
    - get
    - list
    - create
    - delete
    - patch
    - update
    - watch
  - apiGroups:
    - apps
    resources:
    - deployments
    - daemonsets
    - replicasets
    - statefulsets
    verbs:
    - get
    - list
    - create
    - delete
    - patch
    - update
    - watch
  - apiGroups:
    - networking.k8s.io
    resources:
    - ingresses
    verbs:
    - get
    - list
    - create
    - delete
    - patch
    - update
    - watch
  - apiGroups:
    - monitoring.coreos.com
    resources:
    - servicemonitors
    verbs:
    - get
    - create
  - apiGroups:
    - apps
    resourceNames:
    - automation-controller-operator
    resources:
    - deployments/finalizers
    verbs:
    - update
  - apiGroups:
    - apps
    resources:
    - deployments/scale
    - statefulsets/scale
    verbs:
    - patch
  - apiGroups:
    - ""
    resources:
    - pods/exec
    - pods/attach
    - pods/log
    verbs:
    - create
    - get
  - apiGroups:
    - apps
    resources:
    - replicasets
    verbs:
    - get
    - create
  - apiGroups:
    - automationcontroller.ansible.com
    resources:
    - '*'
    - automationcontrollerbackups
    - automationcontrollerrestores
    verbs:
    - '*'
  - apiGroups:
    - ""
    resources:
    - configmaps
    verbs:
    - get
    - list
    - watch
    - create
    - update
    - patch
    - delete
  - apiGroups:
    - coordination.k8s.io
    resources:
    - leases
    verbs:
    - get
    - list
    - watch
    - create
    - update
    - patch
    - delete
  - apiGroups:
    - ""
    resources:
    - events
    verbs:
    - create
    - patch
- apiVersion: rbac.authorization.k8s.io/v1
  kind: ClusterRole
  metadata:
    creationTimestamp: "2023-11-20T18:32:46Z"
    labels:
      olm.owner: aap-operator.v2.4.0-0.1698896316
      olm.owner.kind: ClusterServiceVersion
      olm.owner.namespace: aap
      operators.coreos.com/ansible-automation-platform-operator.aap: ""
    name: aap-operator.v2.4.0-0.1698896316-65bbf47b78
    resourceVersion: "7367411120"
    uid: cf4e6a1f-2d12-4f0d-8307-20d956f4cad5
  rules:
  - apiGroups:
    - ""
    resources:
    - configmaps
    verbs:
    - get
    - list
    - watch
    - create
    - update
    - patch
    - delete
  - apiGroups:
    - coordination.k8s.io
    resources:
    - leases
    verbs:
    - get
    - list
    - watch
    - create
    - update
    - patch
    - delete
  - apiGroups:
    - ""
    resources:
    - events
    verbs:
    - create
    - patch
  - apiGroups:
    - authentication.k8s.io
    resources:
    - tokenreviews
    verbs:
    - create
  - apiGroups:
    - authorization.k8s.io
    resources:
    - subjectaccessreviews
    verbs:
    - create
  - apiGroups:
    - route.openshift.io
    resources:
    - routes
    - routes/custom-host
    verbs:
    - create
    - delete
    - get
    - list
    - patch
    - update
    - watch
  - apiGroups:
    - ""
    - rbac.authorization.k8s.io
    resources:
    - secrets
    - pods
    - pods/exec
    - pods/log
    - services
    - services/finalizers
    - endpoints
    - persistentvolumeclaims
    - events
    - configmaps
    - roles
    - rolebindings
    - serviceaccounts
    verbs:
    - create
    - delete
    - get
    - list
    - patch
    - update
    - watch
  - apiGroups:
    - apps
    - networking.k8s.io
    resources:
    - deployments
    - daemonsets
    - replicasets
    - statefulsets
    - ingresses
    verbs:
    - create
    - delete
    - get
    - list
    - patch
    - update
    - watch
  - apiGroups:
    - ""
    resources:
    - nodes
    verbs:
    - get
    - list
  - apiGroups:
    - apps
    resources:
    - deployments/scale
    verbs:
    - patch
  - apiGroups:
    - ""
    resources:
    - serviceaccounts
    verbs:
    - list
    - watch
  - apiGroups:
    - ""
    resourceNames:
    - automationhub-operator-sa
    resources:
    - serviceaccounts
    verbs:
    - patch
    - get
  - apiGroups:
    - automationhub.ansible.com
    resources:
    - automationhubs
    - automationhubs/status
    - automationhubs/finalizers
    - automationhubbackups
    - automationhubbackups/status
    - automationhubbackups/finalizers
    - automationhubrestores
    - automationhubrestores/status
    - automationhubrestores/finalizers
    verbs:
    - create
    - delete
    - get
    - list
    - patch
    - update
    - watch
- apiVersion: rbac.authorization.k8s.io/v1
  kind: ClusterRole
  metadata:
    creationTimestamp: "2023-11-20T18:32:46Z"
    labels:
      olm.owner: aap-operator.v2.4.0-0.1698896316
      olm.owner.kind: ClusterServiceVersion
      olm.owner.namespace: aap
      operators.coreos.com/ansible-automation-platform-operator.aap: ""
    name: aap-operator.v2.4.0-0.1698896316-6dd6b7889b
    resourceVersion: "7367411146"
    uid: 6b7083e3-7dd0-4612-a182-68c5b56ff99f
  rules:
  - apiGroups:
    - config.openshift.io
    resources:
    - ingresses
    verbs:
    - get
    - list
    - watch
- apiVersion: rbac.authorization.k8s.io/v1
  kind: ClusterRole
  metadata:
    creationTimestamp: "2023-11-20T18:32:46Z"
    labels:
      olm.owner: aap-operator.v2.4.0-0.1698896316
      olm.owner.kind: ClusterServiceVersion
      olm.owner.namespace: aap
      operators.coreos.com/ansible-automation-platform-operator.aap: ""
    name: aap-operator.v2.4.0-0.1698896316-745d48485f
    resourceVersion: "7367411482"
    uid: f39e89a4-baa5-414c-bbf7-13c740e9e277
  rules:
  - apiGroups:
    - ""
    resources:
    - secrets
    - pods
    - pods/exec
    - pods/log
    verbs:
    - create
    - delete
    - get
    - list
    - patch
    - update
    - watch
  - apiGroups:
    - apps
    resources:
    - deployments
    - daemonsets
    - replicasets
    - statefulsets
    verbs:
    - create
    - delete
    - get
    - list
    - patch
    - update
    - watch
  - apiGroups:
    - route.openshift.io
    resources:
    - routes
    - routes/custom-host
    verbs:
    - get
    - list
    - create
    - delete
    - patch
    - update
    - watch
  - apiGroups:
    - ""
    - rbac.authorization.k8s.io
    resources:
    - pods
    - services
    - services/finalizers
    - serviceaccounts
    - endpoints
    - persistentvolumeclaims
    - events
    - configmaps
    - secrets
    - roles
    - rolebindings
    verbs:
    - get
    - list
    - create
    - delete
    - patch
    - update
    - watch
  - apiGroups:
    - apps
    - networking.k8s.io
    resources:
    - deployments
    - daemonsets
    - replicasets
    - statefulsets
    - ingresses
    verbs:
    - get
    - list
    - create
    - delete
    - patch
    - update
    - watch
  - apiGroups:
    - ""
    resources:
    - pods/exec
    - pods/attach
    - pods/log
    verbs:
    - create
    - get
  - apiGroups:
    - ""
    - batch
    - extensions
    resources:
    - jobs
    verbs:
    - get
    - list
    - watch
    - create
    - update
    - patch
    - delete
  - apiGroups:
    - eda.ansible.com
    resources:
    - edas
    - edas/status
    - edas/finalizers
    - edabackups
    - edabackups/status
    - edabackups/finalizers
    - edarestores
    - edarestores/status
    - edarestores/finalizers
    verbs:
    - create
    - delete
    - get
    - list
    - patch
    - update
    - watch
  - apiGroups:
    - ""
    resources:
    - configmaps
    verbs:
    - get
    - list
    - watch
    - create
    - update
    - patch
    - delete
  - apiGroups:
    - coordination.k8s.io
    resources:
    - leases
    verbs:
    - get
    - list
    - watch
    - create
    - update
    - patch
    - delete
  - apiGroups:
    - ""
    resources:
    - events
    verbs:
    - create
    - patch
- apiVersion: rbac.authorization.k8s.io/v1
  kind: ClusterRole
  metadata:
    creationTimestamp: "2023-11-20T18:32:46Z"
    labels:
      olm.owner: aap-operator.v2.4.0-0.1698896316
      olm.owner.kind: ClusterServiceVersion
      olm.owner.namespace: aap
      operators.coreos.com/ansible-automation-platform-operator.aap: ""
    name: aap-operator.v2.4.0-0.1698896316-cf46d8cb8
    resourceVersion: "7367411066"
    uid: faae47e6-4ce0-4ce3-9ce4-8e67f7a1f2f9
  rules:
  - apiGroups:
    - ""
    - rbac.authorization.k8s.io
    resources:
    - secrets
    - pods
    - serviceaccounts
    - roles
    - rolebindings
    - services
    - services/finalizers
    - endpoints
    - persistentvolumeclaims
    - events
    - configmaps
    - jobs
    - pods/exec
    - pods/log
    verbs:
    - create
    - delete
    - get
    - list
    - patch
    - update
    - watch
  - apiGroups:
    - apps
    resources:
    - deployments
    - daemonsets
    - replicasets
    - statefulsets
    - jobs
    verbs:
    - create
    - delete
    - get
    - list
    - patch
    - update
    - watch
  - apiGroups:
    - monitoring.coreos.com
    resources:
    - servicemonitors
    verbs:
    - get
    - create
  - apiGroups:
    - tower.ansible.com
    resources:
    - ansiblejobs
    - ansiblejobs/status
    - ansiblejobs/finalizers
    verbs:
    - create
    - delete
    - get
    - list
    - patch
    - update
    - watch
  - apiGroups:
    - tower.ansible.com
    resources:
    - jobtemplates
    - jobtemplates/status
    - jobtemplates/finalizers
    - ansibleworkflows
    - ansibleworkflows/status
    - ansibleworkflows/finalizers
    - ansibleprojects
    - ansibleprojects/status
    - ansibleprojects/finalizers
    verbs:
    - create
    - delete
    - get
    - list
    - patch
    - update
    - watch
  - apiGroups:
    - apps
    resourceNames:
    - resource-operator-controller-manager
    resources:
    - deployments/finalizers
    verbs:
    - update
  - apiGroups:
    - ""
    resources:
    - pods
    - jobs
    verbs:
    - get
  - apiGroups:
    - apps
    resources:
    - replicasets
    - deployments
    - jobs
    verbs:
    - get
  - apiGroups:
    - tower.ansible.com
    resources:
    - '*'
    verbs:
    - create
    - delete
    - get
    - list
    - patch
    - update
    - watch
  - apiGroups:
    - batch
    resources:
    - '*'
    verbs:
    - create
    - delete
    - get
    - list
    - patch
    - update
    - watch
  - apiGroups:
    - ""
    resources:
    - configmaps
    verbs:
    - get
    - list
    - watch
    - create
    - update
    - patch
    - delete
  - apiGroups:
    - coordination.k8s.io
    resources:
    - leases
    verbs:
    - get
    - list
    - watch
    - create
    - update
    - patch
    - delete
  - apiGroups:
    - ""
    resources:
    - events
    verbs:
    - create
    - patch
kind: List
metadata:
  resourceVersion: ""

So I rewrote this from being a bug to being a feature requests. This is a known limitation, just as @Stef16Robbe pointed out.
@ctml91 the workaround looks easy enough., good that you linked to an already existing solution.
First, we will have to solve this in this repo, so we can constantly generate the code to the different channels.
At the same time we should look on how we can do this in the OLM repos.
We would love PRs and help with this.
If you need this functionality straight away, I recommend to use helm or kustomize to install the operator and skip OLM all together.


Option to have __typename only required for unions and interfaces

Is your feature request related to a problem? Please describe.
I'm using apollo as my graphql server, which adds the property __typename for every type, excepted for places where I have to define it (unions and interfaces). Saying this, for an apollo server it would be really nice having the option to only having to define the field __typename if it cannot be determined by the server.
Using nonOptionalTypename: true, I have to define the property for all types. If I have this option disabled, I have to define a function to resolve the type, which I want to skip by optionalResolveType: true, because it's really hard for me to ensure the types are correct there, just by using typescript.
Describe the solution you'd like
An additional option which makes the property __typename required for all untion types and interfaces.
Describe alternatives you've considered
Setting nonOptionalTypename: true by which I now have to return the property __typename even for types where the apollo server could easily determine it by himself.
I also thought of somehow adding a definition of __typename to my graphql schema, but that really looks like a hack ...
Additional context
One possibility that came to my mind was extending the option nonOptionalTypename so I can set it not only to a boolean (true or false) but also to a string like UnionAndInterfaces which would enable this behavior.

I was about to make an issue for exactly this feature request. This would be a very welcome improvement!
For now, it seems like the most typesafe way is to require __typename everywhere, which indeed is a bit of a drag.

I found a more or less satisfactory workaround for my use case.
Assuming your union types share a common characteristic, you could do something like this:
# codegen.yml
generates:
  some/filename:
    config:
      resolverTypeWrapperSignature: "T extends { __typename: TypenameTemplateLiteralType } ? T : Optional<T, '__typename'>"
    plugins:
      - add:
          content:
            - import type { Optional } from 'utility-types'
            - import type { TypenameTemplateLiteralType } from 'src/types'
      - typescript
      - typescript-resolvers

// src/types.ts

// Should be inlined in `codegen.yml`, awaiting fix: https://github.com/dotansimha/graphql-code-generator/issues/7763
export type TypenameTemplateLiteralType = `${string}Error` | `${string}Payload`

This will make __typename mandatory on all object types that have a __typename ending with either “Error” or “Payload”. This matches my use case where I avoid throwing errors in my resolvers, and instead include them in the domain, with mutations returning e.g. CreateUserResult = CreateUserPayload | NotAllowedError.
Hope this helps!

Hello 👋
There's now a typescript-resolvers config option called resolversNonOptionalTypename

I'm not anymore involved in the project where I needed this, so I'll close this as resolved. If it doesn't resolve your use-case, feel free to open a new issue and refer to this one.


Users can now use their own account when ripping Furaffinity

Category
This change is exactly one of the following (please change [ ] to [x]) to indicate which:

[x] a bug fix (Fix #...)

Description
ripme now allows users to log in to FA using their own account cookies or to not log in at all if they're not ripping NSFW content
Ripme now also prints a warning about using the shared account when a user logs in using the shared account. I also fixed NSFW file downloading and now the ripper downloads fullsized images
Testing
Required verification:

[ ] I've verified that there are no regressions in mvn test (there are no new failures or errors).
[ ] I've verified that this change works as intended.

[ ] Downloads all relevant content.
[ ] Downloads content from multiple pages (as necessary or appropriate).
[ ] Saves content at reasonable file names (e.g. page titles or content IDs) to help easily browse downloaded content.

[ ] I've verified that this change did not break existing functionality (especially in the Ripper I modified).

Optional but recommended:

[ ] I've added a unit test to cover my change.

Coverage decreased (-0.005%) to 36.03% when pulling 1b5b58ebb4d7575feeafadc98c1b7d03d6759c5f on cyian-1756:FACookieFix into 7df4c7b29634f0271ef7581111612cfa58721d04 on RipMeApp:master.

The failed test has nothing to do with these changes

Hey how do you get cookies from a furaffinity account?


Suggestion: sidebar in API docs should be fixed and independently scrollable

When you're browsing the main reference page, it's annoying that  when you jump down to a specific term, the sidebar is no longer accessible. In addition to remaining fixed, it would be nice if as you scroll past each category on the page, the sidebar "kept up" with you such that the category you're currently viewing is always at the top.

@mglukhovsky

:+1: I was just about to submit an usability issue on this.

Solution on this can be, in the style.css document we can add postion : fixed in docs-sidebar-left {
display: block; }

Related: https://github.com/rethinkdb/docs/issues/715
Encountered this usability issue again while trying to power through some ReQL documentation. I was fighting this scroll bar issue the whole time. This issue really got to me so I wrote a Stylish CSS override for the API docs.
Applies to: URLs starting with: http://rethinkdb.com/api/
.docs-sidebar-left {
    position: fixed !important;
    top: 0 !important;
    bottom: 0 !important;
    overflow-y: auto;
    width: 240px !important;
    z-index: 9999;
}
.back-to-top {
    visibility: hidden;
}
.api-content,
.api-command {
    padding-left: 260px !important;
    width: 1100px !important;
}
.site-nav {
    display: none;
}
footer{
    display: none;
}
.commands{
    display: block !important;
}

Also, it would be nice if some of the API content was AJAX-able, so i wouldn't lose my place in the scroll bar every time I navigate to a command in the scroll bar.
Other than the AJAX issue, the CSS override works good.

Pinging @mglukhovsky again on this one for thoughts.


[MNOE-360] - add flag for impersonating

@ouranos I am missing the spec for this. Cant find how to set a flag...

Also add the default to the generator template: /core/lib/generators/mno_enterprise/install/templates/config/settings.yml


Ability to specify schema when using Entity Generator

Is your feature request related to a problem? Please describe.
I'm interested in using MikroORM in a system where migrations and schema management are handled by another tool. I attempted to use the EntityGenerator functionality but there doesn't appear to be any way to limit entity generation to specific schemas (in this case Postgres)
Describe the solution you'd like
I'd like to be able to pass additional configuration to either getEntityGenerator or to the actual call to generate which enables me to limit the discovered entities to a schema of my choosing.
Additional context
Looking into the code for Entity Generator it's easy to filter down to only the tables I want during table discovery by simply putting a filter on the result of getTables eg:
schema
      .getTables()
      .filter((x) => x.schema === 'public');

I'm happy to try and make a contribution to this project but would appreciate some guidance as to the best way to expose this functionality in a way that makes sense for the API since this particular use case is Postgres specific. I can see there being usefulness for other drivers like mySQL as well

The question is more like - why do you care? EntityGenerator is one time only tool, you should use it when bootstrapping new project with existing database - so why don't you just remove what you do not want and keep the rest? It is not suitable for perpetual use, you always need to verify and adjust what it will generate (and not everything is possible to generate, e.g. m:n relations).
I am not opposed by the suggestion, sure we can have a way to filter by schema name. It should be rather a parameter for the generate method (better say a new option in the existing parameter). Feel free to send a PR.

The question is more like - why do you care? EntityGenerator is one time only tool, you should use it when bootstrapping new project with existing database - so why don't you just remove what you do not want and keep the rest? It is not suitable for perpetual use, you always need to verify and adjust what it will generate (and not everything is possible to generate, e.g. m:n relations).
I am not opposed by the suggestion, sure we can have a way to filter by schema name. It should be rather a parameter for the generate method (better say a new option in the existing parameter). Feel free to send a PR.

Hey @B4nan thanks for the quick response!

The question is more like - why do you care?

I'm trying to evaluate whether or not it would be feasible to use MikroORM in an application where the migrations and schema are managed by a different tool. This is similiar to the Prisma approach of treating the database as the source of truth and then generating code artifacts that make it easier to interact with the DB.
I would love to be able to generate a data layer SDK with MikroORM that I can just point against the current tables as part of an automated process.
Is there any documentation or open issues regarding limitations that would prevent being able to generate m:n relationships or other problems you could foresee in continuing to pursue this is a potential option? Or do you think that given the nature of where things are at right now with this library that it would just be a bad idea in the first place to try and continuously generate entities based on external changes to the database?

Hey @B4nan thanks for the quick response!

The question is more like - why do you care?

I'm trying to evaluate whether or not it would be feasible to use MikroORM in an application where the migrations and schema are managed by a different tool. This is similiar to the Prisma approach of treating the database as the source of truth and then generating code artifacts that make it easier to interact with the DB.
I would love to be able to generate a data layer SDK with MikroORM that I can just point against the current tables as part of an automated process.
Is there any documentation or open issues regarding limitations that would prevent being able to generate m:n relationships or other problems you could foresee in continuing to pursue this is a potential option? Or do you think that given the nature of where things are at right now with this library that it would just be a bad idea in the first place to try and continuously generate entities based on external changes to the database?

It is probably doable, but you will cut yourself from many features of the ORM. This library is code first.
Main issues with such approach:

no m:n relations, pivot table is generated as separate entity (for simple m:n with proper composite PK this is doable and just not yet implemented)
no inverse sides, only owners are generated (so only m:1 and 1:1 owners)
you will have no way to configure advanced/non-default features, e.g. cascading/orhan removal, eager loading, lazy properties, identified references, embeddables...

It is probably doable, but you will cut yourself from many features of the ORM. This library is code first.
Main issues with such approach:

no m:n relations, pivot table is generated as separate entity (for simple m:n with proper composite PK this is doable and just not yet implemented)
no inverse sides, only owners are generated (so only m:1 and 1:1 owners)
you will have no way to configure advanced/non-default features, e.g. cascading/orhan removal, eager loading, lazy properties, identified references, embeddables...

Thanks for the insight. I'm trying to put together a comparison matrix of different approaches to managing data using the different ORMs that exist in the Typescript ecosystem and how we might leverage them.
Right now we are not embracing a code first approach to managing schema so this would be a large shift. However, I'll keep playing around with MikroORM as it has a large (and growing) list of compelling features.
Thanks for all the awesome work you do on an amazing project!

Thanks for the insight. I'm trying to put together a comparison matrix of different approaches to managing data using the different ORMs that exist in the Typescript ecosystem and how we might leverage them.
Right now we are not embracing a code first approach to managing schema so this would be a large shift. However, I'll keep playing around with MikroORM as it has a large (and growing) list of compelling features.
Thanks for all the awesome work you do on an amazing project!


Update how-to-authenticate-an-ews-application-by-using-oauth.md

Learn Build status updates of commit 42ca268:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

docs/exchange-web-services/how-to-authenticate-an-ews-application-by-using-oauth.md
:white_check_mark:Succeeded
View

For more details, please refer to the build report.
Note: Broken links written as relative paths are included in the above build report. For broken links written as absolute paths or external URLs, see the broken link report.
For any questions, please:Try searching the learn.microsoft.com contributor guidesPost your question in the Learn support channel


EXSWHTEC-135 - Implement tests for hipGraphicsGLRegisterBuffer

Basic positive test
Positive test case for multiple registrations of same resource
Negative parameter tests.

Depends-on: #3077

PR moved to: https://github.com/ROCm-Developer-Tools/hip-tests/pull/63


Exported glb shows texture material as white

Describe the bug
I have a material that is generated from a Substance Material and applied to my model, looks fine in Blender, however when I export into blb format and load in a viewer the texture material just shows as white.
Expected behavior
I would expect that the texture material gets exported and is useable and viewable from the glb file.
Screenshots

.blend file/ .gltf
GLB & Blend Files.zip
Version

OS: MacOS
Blender Version 3.1.2

Additional context
You may need the Substance 3D Blender Addon installed to replicate this I am not sure, only just started to look at getting sbs materials into blender and then out exported out in glb format.

Hello,
This setup use a custom node group.
This is not something we support for now.
You can refer to documentation to see how you can create your node tree. :
https://docs.blender.org/manual/en/3.2/addons/io_scene_gltf2.html

See some tests done here: #1536

Closing this ticket, as now NodeGroups are handle correctly


VRAM cost for training LoRA

Thanks for your wonderful repo!
May I ask what's the VRAM cost for training LoRA approximately? Is V100 enough?
Thanks!

V100 does not support torch.bfloat16.
A10 is a better choice.


adding new keywords

Adding new keywords

🔍 Search Terms

if in javascript
if elem in arr javascript
if in typescript
✅ Viability Checklist

My suggestion meets these guidelines:

[x] This wouldn't be a breaking change in existing TypeScript/JavaScript code
[x] This wouldn't change the runtime behavior of existing JavaScript code
[x] This could be implemented without emitting different JS based on the types of the expressions
[x] This isn't a runtime feature (e.g. library functionality, non-ECMAScript syntax with JavaScript output, new syntax sugar for JS, etc.)
[x] This feature would agree with the rest of TypeScript's Design Goals.

⭐ Suggestion

add new keywords:
and (in javascript = &&)
or (in javascript = ||)
not (in javascript = !)
and new feature for usage if statement:
if (elem in arr) {}
or
if (elem in object) {}
📃 Motivating Example

allows you to better understand and develop code
makes work easier, for example, it looks like this now when writing code in ts / js:

if (arr.includes("myword"))
if (object.hasOwnProperty("mykey"))
if (true || false)
if (true && false)
if (!true && false)

and this is how it will look after adding new syntactic sugar:
if ("myword" in arr)
if ("mykey" in object)
if (true or false)
if (true and false)
if (not true and false)

💻 Use Cases

if ("myword" in arr)
if ("mykey" in object)
if (true or false)
if (true and false)
if (not true and false)

This isn't within the scope of TypeScript, as noted by the viability checklist.

if you say so, then the typescript itself arose from such ideas

then why am I writing this already exists and has successfully justified itself in the python programming language

when they developed topscript they also added some things from other programming languages, for example:
interfaces,
enum,
types,
.....

This isn't within the scope of TypeScript, as noted by the viability checklist.

read what I wrote and tell me why this feature cannot be in typescript

Please see the checklist:

This isn't a runtime feature (e.g. library functionality, non-ECMAScript syntax with JavaScript output, new syntax sugar for JS, etc.)

There is a difference between runtime sugar and type syntax. We do not add new runtime syntax to JS at this time.


Leave course on world change

If the players are on a course and they choose to leave the world (via other plugins etc.), their ParkourSession should be destroyed, without trying to teleport them away.
This should be configurable, as there is currently a setting to prevent players from teleporting away from a course.
This might be a similar work to #191 with the need for silent leaving of courses.

In Parkour v6.0 a new setting "OnCourse.EnforceWorld.LeaveCourse" will silently kick the player from the course when teleporting to another world.


Add dependency-explore subcommand

See https://www.periscopedata.com/blog/automated-identification-and-graphing-of-sql-dependencies

Closed by https://github.com/mikekaminsky/dbt-helper/pull/12


[VL] improve pre-built docker image by providing more cache

Description
pre-built docker image can help to speed up CI, we should consider:

pre-built velox based on daily rebase
ccache is also warmed up
pre install the velox dependencies so it can save some time if compiling velox required
It's better if we could include maven cache also

thanks, -yuan

As just discussed, to fully use velox binary built out in docker, we may need to use consistent velox build options for all CI jobs as same as docker build. Will do this.

could we also compile and install duckdb?


Add getActiveSpan to docs

Now that all the JS artifacts on NPM are up to date, we can add this as the main way to get the current span!
Preview: https://deploy-preview-1708--opentelemetry.netlify.app/docs/instrumentation/js/instrumentation/#get-the-current-span

@open-telemetry/javascript-approvers: please give this a look & approve.


1.12.2 Crash when trying to load into world

Mod Version:
DynamicSurroundings-1.12.2-<IP_ADDRESS>.jar
Forge Version:
forge-<IP_ADDRESS>68
Link to crash log (if applicable):
https://paste.dimdev.org/uyuyosehus.mccrash (Single Player)
https://paste.dimdev.org/ukavusayed.mccrash (Multiplayer)
Description:
Not sure if there's any difference between multiplayer or singleplayer. But I'm crashing ever time I try to load into the world. I had experienced the problem before, but after restarting the game and transferring the file from my server over to SP, the problem had subsequently stopped. But after login in a while later, the problem persists and what I had tried earlier stopped working.

Can you update to at least Forge 2779 and see if the problem persists?

Just checked, the file doesn't seem to be there.
I'm playing from a modpack and when I was looking, I saw that there were also a few people who have encountered the problem as well.
If you scroll down and look in the comments, a few people have posted a link to the crash report, but it isn't detailed with version numbers and such.
https://www.curseforge.com/minecraft/modpacks/roguelike-adventures-and-dungeons

I vaguely recall a client side dependency issue that I fixed around that time frame.  Unfortunately I am not sure what version of DS they were referring to.  I loaded up the <IP_ADDRESS> version in my test environment and did not have any crashes that fit that description.
Would you have a client log from the time of the crash?  I want to look at the init process to see if anything strange is going on.

Its only a client side crash. Server is working perfectly.

Then I am going to need a client side log.  Usually "class not found" means that an ASM transform blew a gasket and most of the time I can find evidence in the log.

https://paste.dimdev.org/hufofadeti.mccrash
This is a client side log.

@agentwolf88 That is the same error as 434.  This one is different.  It is complaining about the ClientRegistry class not being found.

@agentwolf88 Can you post a link to your client log to issue #434?

the log is too large. where can i upload the file?

Google Drive is a good try. :=)

And ZIP it, too.  Text that is compressed is pretty small.

https://drive.google.com/file/d/15yDvxfUSvhJoIwgVpfENwitJzcNfe8nJ/view?usp=sharing
i hope this is the right log

OK.  Here is the real culprit:
Caused by: java.lang.IllegalArgumentException: Cannot add types to unregistered biome net.minecraft.world.biome.BiomeMushroomIsland@1c66cd02
    at com.google.common.base.Preconditions.checkArgument(Preconditions.java:191)
    at net.minecraftforge.common.BiomeDictionary.addTypes(BiomeDictionary.java:185)
    at net.minecraftforge.common.BiomeDictionary.makeBestGuess(BiomeDictionary.java:285)
    at net.minecraftforge.common.BiomeDictionary.ensureHasTypes(BiomeDictionary.java:382)
    at net.minecraftforge.common.BiomeDictionary.getTypes(BiomeDictionary.java:217)
    at org.blockartistry.lib.BiomeUtils.getBiomeTypes(BiomeUtils.java:104)
    at org.blockartistry.DynSurround.registry.BiomeHandler.<init>(BiomeHandler.java:55)
    at org.blockartistry.DynSurround.registry.BiomeRegistry.register(BiomeRegistry.java:97)
    at org.blockartistry.DynSurround.registry.BiomeRegistry.lambda$init$0(BiomeRegistry.java:119)
    at org.blockartistry.DynSurround.registry.BiomeRegistry$$Lambda$2083/1289289873.accept(Unknown Source)
    at com.google.common.collect.ImmutableList.forEach(ImmutableList.java:408)
    at org.blockartistry.DynSurround.registry.BiomeRegistry.init(BiomeRegistry.java:119)
    at org.blockartistry.DynSurround.registry.RegistryManager$$Lambda$2082/256369716.accept(Unknown Source)
    at java.util.ArrayList.forEach(ArrayList.java:1249)
    at org.blockartistry.DynSurround.registry.RegistryManager.reload(RegistryManager.java:155)
    at org.blockartistry.DynSurround.client.ClientRegistry.<clinit>(ClientRegistry.java:81)
    ... 20 more

And I can tell you right now it's not making sense.  It's complaining that a biome cannot be found in the Forge biome registry, but that is where DS got the biome reference to begin with. :\

They shouldn't be? I've realised I have this problem after logging off the server and when I try to login later (such as now) , it doesn't work.

OK.  Think it is related to OTG.  I am patching DS to handle the exception more gracefully.

Thanks


Messages in native

Versions:

vue 3.2.31
vue3-gettext 2.2.0-alpha.1
gettext-extractor 3.5.4

The messages are not extracted in this configuration
<template>
  <router-link>
    <template v-if="mode === 'list'">{{ $gettext('Map') }}</template>
    <template v-else>{{ $gettext('List') }}</template>
  </router-link>
</template>

But this one works
<template>
  <router-link>
    {{ $gettext('Map') }}
    {{ $gettext('List') }}
  </router-link>
</template>

Possibly a limitation with Gettext Extractor itself, didn't check yet.

Yes, this seems to be a gettext-extractor issue that has to be fixed upstream. It's a bit weird that <template>{{ $gettext("TRANSLATETHIS2") }}</template> works but <template><template>{{ $gettext("TRANSLATETHIS2") }}</template></template> does not.

Same with composition API and setup, can't get anything to extract within it.

@fjeddy I finally found the time to look at that issue and managed to fix it. Release in 2.2.1.
This problem is separate from the <template> issue, I may not be able to fix that one in the near future.

@tcitworld I managed to fix this, released in 2.2.2.


V1.3 Fix a bug causing NewName to not be optional in TaskEdit Command

Codecov Report
Base: 57.17% // Head: 58.10% // Increases project coverage by +0.92% :tada:

Coverage data is based on head (738b246) compared to base (db28139).
Patch coverage: 0.00% of modified lines in pull request are covered.

Additional details and impacted files
@@             Coverage Diff              @@
##             master     #235      +/-   ##
============================================
+ Coverage     57.17%   58.10%   +0.92%
- Complexity      547      557      +10
============================================
  Files           109      109
  Lines          2125     2129       +4
  Branches        250      253       +3
============================================
+ Hits           1215     1237      +22
+ Misses          854      836      -18
  Partials         56       56

Impacted Files
Coverage Δ

.../seedu/address/logic/commands/TaskEditCommand.java
0.00% <0.00%> (ø)

...du/address/logic/parser/TaskEditCommandParser.java
0.00% <0.00%> (ø)

...rc/main/java/seedu/address/model/ModelManager.java
54.42% <0.00%> (+11.56%)
:arrow_up:

src/main/java/seedu/address/model/task/Task.java
68.88% <0.00%> (ø)

.../java/seedu/address/model/team/UniqueTeamList.java
74.07% <ø> (+1.34%)
:arrow_up:

src/main/java/seedu/address/model/team/Team.java
78.33% <0.00%> (+1.66%)
:arrow_up:

.../java/seedu/address/model/task/UniqueTaskList.java
53.44% <0.00%> (+1.72%)
:arrow_up:

src/main/java/seedu/address/model/AddressBook.java
67.79% <0.00%> (+5.08%)
:arrow_up:

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

:umbrella: View full report at Codecov.
:loudspeaker: Do you have feedback about the report comment? Let us know in this issue.


Stretch: terminate stretch if other hand releases

Should end up with the stretching hand becoming the primary grab hand for smooth hand-to-hand passing of objects

Could still be better if the entity ended up grabbed by the second hand

Fixed #37


no node is active to sync

Describe the issue
I try to make a full node , but it's not start syncing.
dns seed can only find 2 nodes and they refuse the connection
i think i do everything right because i made lots of bitcoin (and altcoin) nodes in  the past with no problem.
Or maybe SuperBtc network is dead !?
when i run the full node , in the debug log everything is ok and it only shows:
2019-08-29 08:44:49 connect() to <IP_ADDRESS>:8334 failed after select(): Connection refused (111) 2019-08-29 08:44:51 connect() to <IP_ADDRESS>:8334 failed after select(): Connection refused (11
i'm using the latest version.
is there any active node list i can add to my conf file ?

sorry , my mistake
it was totally different , conf name file and log file and ....
now everythink is working


chore: bump dev dependencies

Codecov Report

Merging #57 (4bf9b92) into master (78c770b) will not change coverage.
The diff coverage is n/a.

@@            Coverage Diff            @@
##            master       #57   +/-   ##
=========================================
  Coverage   100.00%   100.00%
=========================================
  Files            8         8
  Lines          101       101
  Branches        12        12
=========================================
  Hits           101       101

Continue to review full report at Codecov.

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

Codecov Report

Merging #57 (4bf9b92) into master (78c770b) will not change coverage.
The diff coverage is n/a.

@@            Coverage Diff            @@
##            master       #57   +/-   ##
=========================================
  Coverage   100.00%   100.00%
=========================================
  Files            8         8
  Lines          101       101
  Branches        12        12
=========================================
  Hits           101       101

Continue to review full report at Codecov.

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


[DPE-2838] Secret labels

Secrets with labels (refacored to a better shape)

Upgrade tests seem to be failing because existing secrets on 14/edge and 14/stable are not labelled and after the upgrade the charm can no longer find them.


verbatim blocks tildes syntax supported?

I notice that, in addition to triple-backticks, I can get verbatim blocks with tildes as well:
~~~
works for
code blocks
~~~

but it's not mentioned in the syntax reference.
Will djot continue to support the triple-tilde syntax for code blocks?
Incidentally, if triple-tilde delimiters were no longer used for code blocks, maybe they could be used for figures (see #31).

Not sure.  On the one hand, there's an argument for keeping it simple and just having one form.

I've always thought that the tildes look way better for fencing than the backticks, especially when viewed with lines/paragraphs around them:
this

~~~
line won
line too
line tree
~~~

vs

```
line won
line too
line tree
```

bye

The backticks are floating up too high on the top of the block, and too squeezed in on the bottom. Any time I write them I have to go back and check, "wait, did I add a blank line under that block?" The tildes look pleasingly symmetric.
Although I usually push for max consistency, this is one case where one syntax looks superior enough to another that I'd support and actively promote the ~~~ syntax (while only possibly supporting the ``` syntax for legacy compatibility with other markdowns).
I think that any glyphs used for fencing (block delimiters) should be "vertically balanced", and at least a little wide, for example:
===
alpha beta
gamma delta
===

---
alpha beta
gamma delta
---

~~~
alpha beta
gamma delta
~~~

or even

@@@
alpha beta
gamma delta
@@@

&&&
alpha beta
gamma delta
&&&

and not
,,,
alpha beta
gamma delta
,,,

...
alpha beta
gamma delta
...

^^^
alpha beta
gamma delta
^^^

___
alpha beta
gamma delta
___

Yes, the vertical balance issue was why in our original discussions of fenced code blocks (long before GitHub implemented them), the PHP Markdown designer and I decided on tildes.
However, there are a couple things to be said in favor of backticks:

well established now
we already use backticks for inline code, so it "makes sense'
you don't have to press shift to type a ` (at least on US keyboards)

Against backticks, there is a potential ambiguity between inline and block code interpretations in markdown:
Is this a
``` hard
wrapped
``` inline
code span or
a code block?

However, djot avoids that ambiguity by requiring blank lines around the code block.

[backticks are] well established now

Github md has supported the tildes too, as far back as I can remember.

we already use backticks for inline code, so it "makes sense'

Yeah, I see that it's consistent in that way. But I think when you have both an inline syntax and a fenced block syntax for a particular style, it makes sense to use a different character for the fences if it doesn't look right as a fence.
I think the success of light markup languages is directly proportional to how much people like reading them in plain text.
Two very valuable fences still available for djot syntax are --- and ===. Those both look excellent for fences, and I hope djot uses them for something.

In principle we could use --- instead of ``` for code blocks, if we were willing to remove that as a possible syntax for thematic breaks.

I've never used --- for a thematic break / HR. I thought using either *** or * * * was pretty universal. Also, dashes are used in a few other places already (en-dashes, em-dashes, table separator line). I think it would be good to remove them from thematic break syntax, and then use --- as some kind of block delimiter.
Do you prefer --- to ~~~ for verbatim blocks? (Since - is more plain and straight than ~, it does make me think of verbatim more than ~ does... I could get used to --- pretty quickly.)
If you went with --- for verbatim blocks, then maybe ~~~ could be used for figures (#31).
Or maybe ::: could be expanded into a more general syntax pattern for blocks, like:
:::[&] figure-3
some stuff
about the figure
:::

:::[@] some-citation
some stuff about
the citation
:::

:::[+]
metadata
block here
:::

:::[|]
A line block is here.
    This one line is indented.
And now we are done.
:::

Re. metadata block ideas, see #35.
In the above example ideas, I don't include a list-table block (#27) because I think @bpj 's idea of using === is good.

I think it's — for better or worse — best to stick with backticks for verbatim blocks since that is what most Markdown implementations use, to avoid confusion. Given that --- is used for em-dash it should perhaps not be used for anything else.
As for thematic breaks it would probably be a good idea to make whitespace between the characters mandatory.

Given that --- is used for em-dash it should perhaps not be used for anything else.

Since djot requires blank lines around blocks, and since it's unlikely to use a --- on a line by itself — especially at the start or end of a paragraph — I'd say there's little to no ambiguity using --- to fence at least some sort of block. I think it's too good of a fence marker not to use.
Anyhow, I'm happy if I can at least keep using ~~~ for a code fence marker (and raw content block fences). I think the ``` looks bad for block fencing and avoid it.
@jgm wrote:

In principle we could use --- instead of ``` for code blocks, if we were willing to remove that as a possible syntax for thematic breaks.

I think it's a great idea to remove --- from thematic break syntax. The stars work fine, and by rule/goal # 11, djot doesn't need multiple ways to get an HR — especially since --- doesn't look any better for an HR than ***.

Following the argument of consistency between single and triple backticks, it's worth noting that the syntax for generic blocks could also be made more consistent with that of generic inline spans, [lorem ipsum]{foo="bar"}, if they used the same delimiters for the content, instead of ::: — like this:
{foo="bar"}
[[[
lorem ipsum
]]]

But I'm not sure the consistency would be worth the additional compatibility break from the ``` and ::: as block indicators, which are common in various markup languages by now.

In principle we could use --- instead of ``` for code blocks, if we were willing to remove that as a possible syntax for thematic breaks.

I've never used --- for a thematic break / HR. I thought using either *** or * * * was pretty universal.

Cross-referencing #59, which proposes the reverse, i.e. keeping --- and removing *** as syntax for thematic breaks. That said, the premise of that issue (having two syntaxes for the same thing being a violation of goal 11/TIMTOWTDI) is consistent with removing --- in favor of *** as suggested here.

Whenever I encounter alternative ways to delimit code I always assume that they are there to help you avoid the use-mention problem, something which is especially easy to run into for code content. But I haven’t seen that as a justification of this feature anywhere (it’s not in the design rationale part of the readme).
So an alternative to using X amount of backticks. Which inline looks especially bad. (Five backticks and two spaces in order to display one, is it? In StackOverflow MarkDown anyway, which I guess is CommonMark.)
I would formulate that as a design rationale:

It should always be simple to quote arbitrary code.

And design rationale № 11 (last in the list) accomodates such rules:

The syntax should be kept as simple as possible, consistent with these goals.

you don't have to press shift to type a ` (at least on US keyboards)

On my layout, the only way to type backtick is AltGr+, (which is not marked on most keyboards), and then space, because it's a dead key. Anecdotally, a lot of people around me can't figure out how to type a backtick without help.
 Tilde blocks are way more straightforward.

On my layout, the only way to type backtick is AltGr+

On French keyboards, backtick is AltGr+7 and tilde is AltGr+2` -- so none are "straightforward" (though marked on the keyboard). That's true too for brackets (curly and squared). I am not sure, however, that the design of a (markup or not) language should favor a given keyword localization/layout. And there are solution to re-map a keyword layout, notwithstanding editor's auto-completion suggesting the next 2 backticks or tildes once one is typed at the beginning of the line, etc.

I am not sure, however, that the design of a (markup or not) language should favor a given keyword localization/layout.

The only way to do that for code blocks is to give some options. Because (as the discussion has revealed) backticks are hard to write on some keyboards.
It's not my personal experience since I don't use dead keys, but I can't imagine interspersing some diacritic-heavy language (using dead keys) and things like code blocks without some assistance like textual insertion.

To help close out this issue: as @jgm pointed out elsewhere, rationale number 11 applies here (djot doesn't need 2 different syntaxes for the same thing).
So that means either:

stick with the ``` for code block fencing, which is arguably less attractive but which as @bpj points out many people are already used to, or
strive for djot to look as good as possible in plain text, and go with something like ~~~, ===, or --- for code block fencing, which means bucking some convention here --- but it looks great.

If a goal is to have djot look as good as possible as plain text, I'd say (as long as it doesn't break anything):

only use ===, ---, ~~~, and *** for fencing. (So, drop ::: fencing for divs in favor of, maybe ---; and drop backtick fencing for code blocks in favor of === or ~~~.)
only use |, !, and maybe % and @ (and of course, > (for blockquotes)) for side-marking characters.
for a given markup that supports multiple syntaxes, don't try to re-use the same character for inline, side-marking, and fencing syntaxes. The different syntaxes look good with different characters, and it's a waste and isn't visually appealing to try and shoehorn the same character into the different syntaxes.

Last thing to add: inline backticks are a bit special. You can use multiple inline backticks to open then close an inline verbatim span. I did that here when writing the three backticks: ```` ``` ````. (They're also special because they're used for inline and display math.) And they're used for raw input... (Question: does it make sense to use the same character for inline code as inline raw?)


Fixes #33 Incorrect code generated for property Map<String, Bar>

In BuilderGeneratorIT#readFiles  I added line = line.trim(); which allowed the tests to pass on machine at work, otherwise I got space differences.
I also added test BuilderGeneratorIT#beanWithCollectionAlsoGeneratesBuilderForGenericType to check that Address#List generates HouseBuilder class which is nothing to do with the issue #33.

You've added the deleteGeneratedFiles method to FileUtils which is hard coded to the integration test folder - but FileUtils is in main and part of the application.  I think this delete method which only appears to be invoked from the IT should be moved to a private method in the IT class.

done I think - blimey this git stuff is complicated!

Cool, I'm away this weekend but will pull it in on Sunday and release it. Cheers.
Sent from Yahoo Mail on Android
From:"Tim Azzopardi"<EMAIL_ADDRESS>Date:Thu, 17 Sep, 2015 at 21:28
Subject:Re: [buildergenerator] Fixes #33 Incorrect code generated for property Map (#34)
done I think - blimey this git stuff is complicated!
—
Reply to this email directly or view it on GitHub.￼

Release 0.0.21


add basic app, plus some updates

Signed-off-by: Jacob Saur<EMAIL_ADDRESS>

Any chance we could update the readme just so theres some more info about this project? :)

Good call - I'll add it in the next PR


Access to BluetoothGatt

Hello,
Is it possible to add a getter to the BluetoothGatt in the RxBleConnectionImpl ?
In my exemple i need to force clear cache on the unexpected disconnection from my ble device.
I am facing issue on the nexus 6 on this case although with a honor phone there is no issue.
It may be usefull for other things even if i admit that solution bypass the lib...

Thanks you for your answer, i try to use this method, but my operation is not executed cause the device is Disconnected. I need to execute BluetoothGatt operation after the "BluetoothProfile.STATE_DISCONNECTED". It seems you not authorized this, am i wrong ?
public class ClearBleConnectionCacheCustomOperation implements RxBleCustomOperation<Void> {     @NonNull     @Override     public Observable<Void> asObservable(BluetoothGatt bluetoothGatt, RxBleGattCallback rxBleGattCallback, Scheduler scheduler) throws Throwable {         return RxJavaInterop.toV1Observable(io.reactivex.Observable.create(emitter -> {             try {                 Method localMethod = bluetoothGatt.getClass().getMethod("refresh", new Class[0]);                 if (localMethod != null) {                     boolean bool = (Boolean) localMethod.invoke(bluetoothGatt, new Object[0]);                     emitter.onComplete();                 }             } catch (Exception localException) {                 emitter.tryOnError(localException);             }         }), BackpressureStrategy.BUFFER);     } }

No, the custom operation may be only executed when the device is connected. So the best idea is to execute it right after the connection.

The operation consist to clear characteristics list cached on the device just after disconnection.
It's not working when the device is connected...
What is reason to block operation on disconnected device ? BluetoothGatt is still valid at this moment

It is not valid. The BluetoothGatt is closed by the library right after the disconnection.
Why it does not work when the device is connected?

In my old app i made the refresh + close in the "onConnectionStateChange" with BluetoothProfile.STATE_DISCONNECTED status. Maybe we should add task for this moment ?
I just try (after the connection) first time it fails (refresh work) but ble actions right after fail with the error : "GATT exception from MAC address 01:02:03:04:05:06, with type BleGattOperation{description='SERVICE_DISCOVERY'"
on every actions, write, read, notify
On second try it works...
in the subscribe of the device connection :
rxBleConnection.queue(new ClearBleConnectionCacheCustomOperation()).subscribe(o -> {
                                rxBleConnection.discoverServices();
                            }, throwable -> {
                            });

Try this for refresh as a first operation after the connection

Thanks for the link, can you explain briefly what your code do ? I do not understand the part pour with the delay and the disconnect listner ?
And when you call it ?

Delay as the BLE stack is unstable after BluetoothGatt.refresh()—you experience it as the service discovery exception
Disconnect listener is to conform to the CustomOperation contract. But it should not matter in this situation
Right after the connection is established before any other thing. You can see the implementation in the branch the link points

@GuillaumeBo Is there anything else I can help you with?

Ok i see !
Now the issue is that this lengthens a lot the time of connection where is about 100-150ms in my case.
The 1 second is for security without strong time constraints or it's following your tests ?

There is no info on when the stack stabilises so the 1 second is to be on the safe side. Usually a second of delay is not much since it is only needed sporadically (I see no reason to call BluetoothGatt.refresh() every time)

Yes i will try to use only when the stack is KO.
For information errors fired that obliges me to refresh the stack are :
GATT exception from MAC address 01:02:03:04:05:06, status 1, type BleGattOperation{description='CHARACTERISTIC_WRITE'}. (Look up status 0x01 here https://android.googlesource.com/platform/external/bluetooth/bluedroid/+/android-5.1.0_r1/stack/include/gatt_api.h)
and some time
GATT exception from MAC address 01:02:03:04:05:06, status 3, type BleGattOperation{description='CHARACTERISTIC_WRITE'}. (Look up status 0x03 here https://android.googlesource.com/platform/external/bluetooth/bluedroid/+/android-5.1.0_r1/stack/include/gatt_api.h)

Thanks for the info. Feel free to post your findings here. Do you want to keep this ticket opened? Or is this all and it can be closed for now?
For reference: #53

You can close it, i will post messages if i found any informations about theses bug.
And if anybody has infos about it, feel free to explain us :)

@dariuszseweryn a last thing, can we get more details on throwable returned by writeCharacteristic, readCharacteristic etc ? Like errorCode, cause here we have only the string build by the lib and it's no really proper to parse it to obtain the code ?

It is a BleGattCharacteristicException which you would know if you would use exception.toString() I think. The getters are available.

Perfect, thanks you :)

@dariuszseweryn Hello, i updated the lib to get only rx2 in my app, but i am facing issue. I am not able to make your customOperation for refreshBleGatt work with rx2. I got compile error
"amb(java.lang.Iterable<? extends io.reactivex.ObservableSource<? extends T>>) in Observable cannot be applied to (io.reactivex.Observable, io.reactivex.Observable)
did you know how to fix this ?

I have not yet done anything with the rx2 version—if it is a compile error then probably some interfaces do not match in how you have implemented your operation. I don't have the full context to give you any hint yet

It's compilation/ide error on your file just after replace rx.java1 element to rx.java2 version, i did not make any other modification on it.
the error appear on the "Observable.amb(
Observable.fromCallable(new Callable() {" bloc

Please have a look at http://reactivex.io/documentation/operators/amb.html and keep in mind that amb in rxjava2 has different parameters than in rxjava1. Use ambWith or provide an iterable.


fix slow things

so many slow factors here

May anyone give a review ?
The repo has been stuck for a week!

@Rratic thank you for those changes, they are indeed improvements :)
As we are slowing taking care of the accumulated PR, we can merge those changes later, but they will need some fix due to conflicts introduced by each previous merged PR. I try to give priority in order of submission, so it can wait for PR #53 to #56 to be merged!

i am not sure why codecov failed. probably a missed test?

Well, personly, I think CI is enough. We ourselves know what we are doing. Tests are not necessary, codecov only adds cost . . .

🤔 I disagree that tests are unnecessary. i dont have much of an opinion regarding codecov since i dont use it.

Well, you see, I test them myself, and every time we test, we test the whole thing, which takes much time and energy that we already know to be no use, as we already know they are correct.

Well, you see, I test them myself, and every time we test, we test the whole thing on different OS, which takes much time and energy that we already know to be no use ,as we already know they are correct.(julia is portable and so do algorithms!)

well ummm you have tested it and you know it works and that how much of the code is actually being tested. I trust you and so I know that your tests run fine, but what about a random person looking at the code?
Codecov is kind of an assurance that the how much code is tested and also checks if the code is actually working as per the tests.
This is my opinion tough. @Azzaare is the best to talk about this.

Well, we're all entitled to have an opinion about how to organize collaborative code. That being said, here are my reasons to have CI and not decreasing coverage:

Reviewers (such as myself) can have a much efficient look at the code
Collaborators that modify an existing algorithm can see if they mess up things (and that cannot even be guaranteed with full coverage, but it still is more likely)
Versions of Julia and other dependencies will change in the future. Maintainers here can pinpoint the places to update code thanks to CI. Once again, the more coverage you have, the more likely you are to not miss any compatibility issue

As for the portability of Julia ... By experience, I can tell you it is not always the case, in the sense that it is not straightforward to make 100% portable code. It is relatively easy on average though compared to other languages. Still, it doesn't cost anything to cover all possible hardware (coupled with stable and nightly versions of Julia).
Here, it is easy to reach full coverage:

test case of n = 1
use @test_throws for n < 0

Finally, we can still merge things without full coverage. Sometimes, it is just too hard to test everything. But the current situation is not like that.

but what about a random person looking at the code?

the description here says

Open Source resource for learning Data Structures & Algorithms and their implementation in any Programming Language

In this case , users shall focus on the implementation, rather than waste time testing.
Fine,I will see which I didn't test ...

@Rratic Thank you for the update
I would appreciate if you don't use force push, as it erases the work of others (here it was just rebasing on main, so it was easy to redo but ...)
Please use git pull then git push


[v1.11] add support to override not ready taint to be ignored by the CA

[ upstream commit c1c97166164396ad148a61ae1ee481ce997afa50 ]
[ Backporter's notes: Minor conflicts in values.yaml, go imports ]
If you scale a node pool down to zero nodes the Cluster Autoscaler won't
add new nodes because pending pods don't tolerate the cilium
agent-not-ready taint. If you're managing your own CA you can ignore
the cilium taint with a command line flag on the CA. However if you're
running on managed k8s (e.g. GKE), you may not have access to configure
the CA, and will need to use a custom taint prefix to be ignored by the
autoscaler when scaling up from zero nodes in a pool.
This commit adds config to add a prefix to the agent-not-ready taint so
it can be ignored by the cluster-autoscaler.
Related: #19241
Backports: #19247
$ for pr in 19247; do contrib/backporting/set-labels.py $pr done v1.11; done

/test-backport-1.11

runtime job hit https://github.com/cilium/cilium/issues/18958
Multicluster / Cluster mesh job hit https://github.com/cilium/cilium/issues/20186, retrying


Run Query with Actual Query Plan is broken

Azure Data Studio Version: master

Steps to Reproduce:

Run a query such as EXEC sp_who with Run Current Query with Actual Plan

Expected: See the actual plan
Actual: Error is raised

@anthonydresser I'm still hitting this issue with latest changes in master.  Could you please try to reverify the fix?  Let me know if you're having a problem repro'ing.

This should be fixed now.  @anthonydresser thanks!


Players falling through ground when standing up

Server Version: 1.17.1
Plugin Version: Probably v1.3.0

Describe the bug
Reported on Discord, forgotten and by now the reporing user has left the server
https://discord.com/channels/344982818863972352/718492339693289532/878344043619291187

小龍
I find a bug about betterchair.
In 1.17.1, player sits on a half block or a stair and when he stand up, he falls down if there is nothing under the half block or the stair.
I can only do is to stop using sit function at this moment.
Sprax
I suspect it's a bug in the new version released a couple of days ago?
小龍
Yes

To Reproduce
Unknown
Screenshots, Videos, Logs or Errors
Unknown
Additional context
Unknown

This seems to be fixed now - Maybe somebody else reports a similar issue in the future 🤷🏻♂

Hi, I'm still experiencing this with the teleport player to old location set to false. Attached are two videos
# Should a player be teleported to its original position when leaving a chair
    TeleportPlayerToOldLocation: false

https://user-images.githubusercontent.com/19421154/216196338-43025aa4-b850-4cc4-95fd-f819359a701b.mp4
https://user-images.githubusercontent.com/19421154/216196029-211b40b0-9a7f-4436-a2c6-de2b7db0d968.mp4

I think I've fixed the issue and it will be part of the next release @vincentchu37.
I'll be closing this issue as resolved but if you still encounter the bug after updating, please let me know!


Update README URLs based on HTTP redirects

Created with https://github.com/dkhamsing/frankenstein
GitHub Corrected URLs

Was
Now

https://github.com/axefrog/SimpleBrowser
https://github.com/SimpleBrowserDotNet/SimpleBrowser

https://github.com/niwibe/phantompy
https://github.com/niwinz/phantompy

https://github.com/symfony/BrowserKit
https://github.com/symfony/browser-kit

Other Corrected URLs

Was
Now

http://zombie.labnotes.org/
http://zombie.js.org/

Also consider removing http://www.envjs.com/ which 404s .. let me know if you want me to do that

@ReadmeCritic Sure, go ahead.

@dhamaniasad removed

Oops

@dhamaniasad ready

Thanks!


FileSystemLoader's bundle-based initializer misses bundle resources on macOS

Hello! I recently tried getting an iOS project running on Catalyst and one of the issues I came across was that FileSystemLoader couldn't load any template files on macOS (while it works fine on iOS). Looking at the implementation, the reason was clear: while iOS bundles put resources at the bundle root, macOS bundles put them in a Resources subdirectory, and FileSystemLoader.init(bundle:) doesn't use Bundle.resourcePath or Bundle.resourceURL so it was looking in the wrong place.
I'm happy to pass in resourceURL myself (or write my own lil BundleResourceLoader) but I figured I'd ask: would it be a useful contribution to adjust FileSystemLoader somehow to consider resourceURL, and/or to add a BundleResourceLoader? I can open a PR if that'd be useful. If not, I'm happy to go about my day :)

Question asked in July…

Question asked in July x2...


[SPARK-33422][SQL][DOC] Fix the correct display of left menu item

What changes were proposed in this pull request?
Limit the height of the menu area on the left to display vertical scroll bar
Why are the changes needed?
The bottom menu item cannot be displayed when the left menu tree is long
Does this PR introduce any user-facing change?
Yes, if the menu item shows more, you'll see it by pulling down the vertical scroll bar
before:

after:

How was this patch tested?
NA

Can one of the admins verify this patch?

Can one of the admins verify this patch?

ok to test

Test build #130935 has started for PR 30335 at commit 31996a1.

I've checked it manually and the change seems fine. cc: @HyukjinKwon @gatorsmile @huaxingao

Test build #130935 has finished for PR 30335 at commit 31996a1.

This patch passes all tests.
This patch merges cleanly.
This patch adds no public classes.

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/130935/
Test PASSed.

Kubernetes integration test starting
URL: https://amplab.cs.berkeley.edu/jenkins/job/SparkPullRequestBuilder-K8s/35541/

Kubernetes integration test status success
URL: https://amplab.cs.berkeley.edu/jenkins/job/SparkPullRequestBuilder-K8s/35541/

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder-K8s/35541/
Test PASSed.

Test build #130953 has started for PR 30335 at commit 0dff48a.

Test build #130953 has finished for PR 30335 at commit 0dff48a.

This patch passes all tests.
This patch merges cleanly.
This patch adds no public classes.

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/130953/
Test PASSed.

Kubernetes integration test starting
URL: https://amplab.cs.berkeley.edu/jenkins/job/SparkPullRequestBuilder-K8s/35559/

Kubernetes integration test status success
URL: https://amplab.cs.berkeley.edu/jenkins/job/SparkPullRequestBuilder-K8s/35559/

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder-K8s/35559/
Test PASSed.

cc @HyukjinKwon @srowen @maropu @huaxingao

@liucht-inspur, can you try what I mentioned in https://github.com/apache/spark/pull/30335#discussion_r521831406? After this change, it looks a bit odds when it's folded.

Test build #131275 has started for PR 30335 at commit 5dee41d.

Hi @HyukjinKwon I have finished the repair, please help to review,thanks!
before:

after:

Test build #131275 has finished for PR 30335 at commit 5dee41d.

This patch passes all tests.
This patch merges cleanly.
This patch adds no public classes.

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/131275/
Test PASSed.

Kubernetes integration test starting
URL: https://amplab.cs.berkeley.edu/jenkins/job/SparkPullRequestBuilder-K8s/35879/

Kubernetes integration test status failure
URL: https://amplab.cs.berkeley.edu/jenkins/job/SparkPullRequestBuilder-K8s/35879/

Merged build finished. Test FAILed.

Test FAILed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder-K8s/35879/
Test FAILed.

cc @HyukjinKwon @srowen

Okay, at least it looks better.
Merged to master and branch-3.0.

Thanks for your contribution @liucht-inspur.


add support for bitmaps that use ColorConverter

cc @caternuson who noticed support was not available

resolved by #34


can't record stroke with the button assigned to gestures

i've been using wstroke for about 4 months. using imported gestures from easystroke.  today is the first time i actually had to record a stroke with wstroke-config.  I cant get it to accept any gesture i draw.
any help troubleshooting?
in on wayfire commit 0de95a42. wstroke commit 481e2d2

Hi, thank you for reporting. Which mouse button do you use? Currently, you have to use a different button than the one you normally use, so it is not interpreted by the plugin (or, alternatively, add wstroke-config to the list of exceptions). Let me know if this is the issue.

That's good. I see now that the dialog text is inconsistent; I think I planned a solution that allows the use of the same button, but apparently never implemented it.

I've remembered the solution for this, so now using the same button should also work.

nice.  i'll check it out. thanks!


Options for exact reproducibility

@jeffrey-phillips @willtack
For exact reproducibility of results, we would need to:

Use single-threaded execution. This incurs a big time penalty for the processing, but is unavoidable due to ITK implementation issues
Set ANTS_RANDOM_SEED=something for registration sampling
Pass -u 0 to antsCorticalThickness.sh to disable random sampling in Atropos

Big question of whether it's worth trading bias for variance here. Personally I'm not sure it's worth paying twice as much for a gear run.
More discussion here
https://github.com/ANTsX/ANTs/wiki/antsRegistration-reproducibility-issues#quantification-of-variance-in-registration-results

I agree that a huge increase in computational cost is probably not worth avoiding the small reproducibility drop (e.g. mean dice 0.978 doesn't seem prohibitively low to me). Perhaps the default should be multi-threading and/or random sampling, but with a comprehensive --exact-reproducibility option that checks all the boxes you mentioned and comes with a conspicuous warning re: computation time in case that is absolutely crucial for some people?

Fixed in ea16b709d3d8a163547b3dbb3a1c77161d4c6b4a


Adding missing fields

The podcast feed was missing some fields, making it invalid (particularly <description>). Spotify's validator won't accept it.
Target Live Date: Whenever
CC: @petele

:tada: This has been pushed live to https://developers.google.com/web/


METRON-600: Fix Metron Website

1.Updated the apache logo with a better resolution icon
2.Added License section to About page, the license section has a link to Apache License page
3.Added Mailing List Section to Community page. Discussion and Docs change mailing lists are added in this section
4.Added Downloads section in documentation. The link points to the latest release (The design is simlar to what Storm has)
5.Added icubator logo to top right of the header
6.Fixed the alignment issues in Firefox

Tested with jekyll serve and safari.  Everything seems to work.  I am wondering about the redundancy between the community resources and getting involved links and pulling the mailing list out of those pages to the main page however.
Holding my +1 for comments.

@mattf-horton My bad missed the point about checksums.
@ottobackwards The original idea was "Community Resources" would help people to follow metron activities and understanding metron in depth, "Get Involved" would help users to setup Metron and get it running. The current links might not be doing justice to this thought.
I looked at storm, atlas and ranger websites none of them seem to be having the mailing list on the home page. The mailing list  is either on  "Getting Help" or on "Project Information" pages. We can move the mailing list to home page if we think it is useful there.

@mattf-horton does this adequately meet your concerns?

Yes, +1.  I tested the links used, they work, and are in the right domains.

+1 by inspection


logs me out very frequently

Hello,
since the last update Benotes logs me out very often, both on my desktop and with the PWA app on my phone.. It wasn't the case before the update and I used to stay logged in just fine.
Thanks

Hi,
should be fixed now with v2.8.2

fixed thanks


dapr stop does not clean up run data file on windows causing odd dapr list behavior

From #249
Expected Behavior
dapr stop should clean up run data file on windows.  The behavior is correct on linux.
Actual Behavior
dapr stop does not clean up this file on windows, causing strange behavior on dapr list and/or dapr stop
Steps to Reproduce the Problem
See #249

Not sure why I opened another issue...#249 should track this.


Update ru_RU.xaml

modification include in https://github.com/Lacro59/playnite-howlongtobeat-plugin/commit/3f7df21a746cc088294f749ad0c78e32459cadb3


Not working with Firefox firefox nightly

Hello all,
I tried to start puppeteer-cluster with Firefox nightly using the below:
const args = [
    //https://github.com/puppeteer/puppeteer/issues/1159 || https://github.com/puppeteer/puppeteer/issues/3119
    "--disable-setuid-sandbox",
    "--enable-automation",
    "--disable-browser-side-navigation",
    "--test-type",
    "--start-maximized",
    "--disable-extensions",
    "--disable-popup-blocking",
    "--disable-infobars",
    "--disable-dev-shm-usage",
    "--disable-gpu",
    "--no-sandbox",
    "--disable-features=InfiniteSessionRestore",
    "--enable-features=NetworkService"
];

const options = {
    headless: false,
    w3c: true,
    useAutomationExtension: false,
    // executablePath: 'C:/Program Files (x86)/Google/Chrome/Application/chrome.exe',
    executablePath: 'C:/Program Files/Firefox Nightly/firefox.exe',
    product: 'firefox',
    args
    // acceptInsecureCerts: true,
    // ignoreHTTPSErrors: true
};

    const cluster_Genesis = await Cluster.launch({
        concurrency: Cluster.CONCURRENCY_PAGE,
        monitor: false,
        maxConcurrency: 5,
        puppeteerOptions: options,
        timeout: 14400000, // 4 hours
        workerCreationDelay: 500, // 0.5 seconds delay
    });

but it is not working. I receive the following error:
(node:26400) UnhandledPromiseRejectionWarning: Error: Unable to launch browser, error message: Failed to launch the browser process!

TROUBLESHOOTING: https://github.com/puppeteer/puppeteer/blob/master/docs/troubleshooting.md

    at Cluster.<anonymous> (D:\Node Server - Web Form\node_modules\puppeteer-cluster\dist\Cluster.js:116:23)
    at Generator.throw (<anonymous>)
    at rejected (D:\Node Server - Web Form\node_modules\puppeteer-cluster\dist\Cluster.js:6:65)
    at processTicksAndRejections (internal/process/task_queues.js:97:5)
(node:26400) UnhandledPromiseRejectionWarning: Unhandled promise rejection. This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch(). To terminate the node process on unhandled promise rejection, use the CLI flag `--unhandled-rejections=strict` (see https://nodejs.org/api/cli.html#cli_unhandled_rejections_mode). (rejection id: 1)
(node:26400) [DEP0018] DeprecationWarning: Unhandled promise rejections are deprecated. In the future, promise rejections that are not handled will terminate the Node.js process with a non-zero exit code.
[Error: EBUSY: resource busy or locked, unlink 'C:\Users\PALAVR~1\AppData\Local\Temp\puppeteer_dev_firefox_profile-AhRvQz\content-prefs.sqlite'] {
  errno: -4082,
  code: 'EBUSY',
  syscall: 'unlink',
  path: 'C:\\Users\\USERNAME~1\\AppData\\Local\\Temp\\puppeteer_dev_firefox_profile-AhRvQz\\content-prefs.sqlite'
}

The browser is opened anyway, but I can't interact with it using puppeteer-cluster:

I have followed this documentation https://pptr.dev/ to try to integrate it.

I hope someone knows where the issue is and assist.
Also, the puppeteer-firefox is not supported anymore and I can't install it to my project.
Thank you guys.

Hi guys,
I hope someone can assist me here.
The reason I want to try with Firefox is because it is handling the Certificate selection differently than Chrome/Chromium, and I want to try if it will be working in Headless mode to automatically select certificate.
Cheers,
Milen

Just for whoever is having this issue. The fix for my troubles are...:
/**
 * @name Duck Duck Go search
 */

const puppeteer = require('puppeteer-core');

(async () => {
  const browser = await puppeteer.launch({
	  headless: true,
	  product: 'firefox',
	  args: [
	  '-wait-for-browser'
	  ],
	  executablePath: 'C:/Program Files/Firefox Nightly/firefox.exe',
		userDataDir: 'C:/Users/Milen/Desktop/Puppeteer-Test_Firefox/Profile_FirefoxNightly',
	  });

  const page = await browser.newPage()

  //await page.goto('https://duckduckgo.com/')
      await page.setViewport({ width: 1920, height: 1080 });
   await page.screenshot({path: 'example.png'});
  await browser.close()
})()

There were 2 issues with my code:

I was using Firefox Developers 🔴 instead of Firefox Nightly 🟢 , which seems to be an issue.
I have added

	  args: [
	  '-wait-for-browser'
	  ],

Which seems to be needed when using Firefox.
Cheers guys, I hope it helps someone.
Closing.

Actually, it is still not working using the puppeteer-cluster library. It is working with puppeteer-core (without the puppeteer-cluster) using the above example
@thomasdondorf, can you please check this out. I suspect that there is something missing in the puppeteer-core library, or in my request of course, but can you please try it.

The puppeteer launch options I am using are:
const options_genesis_firefox = {
    headless: false,
    product: 'firefox',
    args: [
        '-wait-for-browser',
    ],
    executablePath: 'C:/Program Files/Firefox Nightly/firefox.exe',
    userDataDir: 'C:/Users/palavrovm/Downloads/tesrt/Profile_FirefoxNightly',
};

When like this, I receive the following error:
TROUBLESHOOTING: https://github.com/puppeteer/puppeteer/blob/master/docs/troubleshooting.md

    at Cluster.<anonymous> (D:\Node Server - Web Form\node_modules\puppeteer-cluster\dist\Cluster.js:117:23)
    at Generator.throw (<anonymous>)
    at rejected (D:\Node Server - Web Form\node_modules\puppeteer-cluster\dist\Cluster.js:6:65)
    at processTicksAndRejections (internal/process/task_queues.js:97:5)
(node:11500) UnhandledPromiseRejectionWarning: Unhandled promise rejection. This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch(). To terminate the node process on unhandled promise rejection, use the CLI flag `--unhandled-rejections=strict` (see https://nodejs.org/api/cli.html#cli_unhandled_rejections_mode). (rejection id: 1)
(node:11500) [DEP0018] DeprecationWarning: Unhandled promise rejections are deprecated. In the future, promise rejections that are not handled will terminate the Node.js process with a non-zero exit code.

If I am using the same, without the puppeteer-cluster, it is working fine, as already mentioned above and example code provided.
I hope someone assists here.
Cheers,
Milen

Update

The issue was in my TV, mostly. I have explained it in:
https://github.com/puppeteer/puppeteer/issues/5958