Implement subcommand setBlobs #4

setBlobs
--container <str>
--directory <str> (huh /home/atlas/../golem/hello.txt how it should behave?)
--force <bool>
--exclude <str>

Regarding question: --directory <str> (huh /home/atlas/../golem/hello.txt how it should behave?
It will take just directory part and enumerate files from it, therefore /home/atlas/../golem/ will be the same as /home/golem/.


WFLY-8002 Elytron integration with JGroups subsystem ENCRYPT protocols

WFLY-7882 Refactor JGroups subsystem to use programmatic stack creation instead of ProtocolStackConfigurator and a whole bunch of reflection
https://issues.jboss.org/browse/WFLY-8002
https://issues.jboss.org/browse/WFLY-7882
JGroups protocol stack now uses resource definition overrides of ordered /subsystem=jgroups/stack=/protocol= to add attributes/capabilities for specific protocols.

F@#$!ing manual-mode tests... Closing until fixed.


Arrow projectile

Added arrow projectile
Also refactored the damage on touch (for SwordAttack and Arrow) into a HurtTouchComponent.
Limited UI inventory image tile to 32x32 so that the arrow doesn't overdraw.

Note: Need to fix the rendering bug, arrows are hard to see on the map.

Bonus point for finding a better name for the "HurtTouchComponent". Basically, something that hurts you when it touches you.

TouchHurtComponent  - a small change but with engineering purpose of following the naming scheme of GenericSpecific.  In this case, my thinking is that many things will have Touch components.  TouchTrigger?  TouchPoison?  Etc.  So it makes more sense to categorize name by the generic component Touch.
Likewise, the typical alternative hurt damage type is AreaHurt -- and again, there might be several types of area-effect components to bind to an object.  But when it comes to hurting something, there's mostly only Touch or Area types.

Yea, it looks like there are two ideas here:

The effect: "Poison, hurt, heal, freeze, etc."
The area: "Circle, Cone, Line, Square, Single Point, etc.`

It doesn't make sense to have N*M types of components. Likely we will just stack them together.
So just rename to TouchComponent ? That makes sense.
Or, TouchArea but that would be something else, likely a reference within the TouchComponent itself.


Reconciler error

operator version getting error same with both ghcr.io/risingwavelabs/risingwave-operator:latest and ghcr.io/risingwavelabs/risingwave-operator:v0.2.5
2023-02-18T09:13:55Z ERROR Reconciler error {"controller": "risingwave", "controllerGroup": "risingwave.risingwavelabs.com", "controllerKind": "RisingWave", "RisingWave": {"name":"risingwave","namespace":"drivenow-staging-z"}, "namespace": "drivenow-staging-z", "name": "risingwave", "reconcileID": "2c7919aa-d406-4966-a6ca-9c11824845ab", "error": "unable to sync meta service: Service \"risingwave-meta\" is invalid: [spec.clusterIPs[0]: Invalid value: []string(nil): primary clusterIP can not be unset, spec.ipFamilies[0]: Invalid value: []core.IPFamily(nil): primary ipFamily can not be unset, spec.ports[0].port: Invalid value: 0: must be between 1 and 65535, inclusive, spec.ports[1].port: Invalid value: 0: must be between 1 and 65535, inclusive, spec.ports[2].port: Invalid value: 0: must be between 1 and 65535, inclusive, spec.ports[1]: Duplicate value: core.ServicePort{Name:\"\", Protocol:\"TCP\", AppProtocol:(*string)(nil), Port:0, TargetPort:intstr.IntOrString{Type:0, IntVal:0, StrVal:\"\"}, NodePort:0}, spec.ports[2]: Duplicate value: core.ServicePort{Name:\"\", Protocol:\"TCP\", AppProtocol:(*string)(nil), Port:0, TargetPort:intstr.IntOrString{Type:0, IntVal:0, StrVal:\"\"}, NodePort:0}]; unable to sync compute service: Service \"risingwave-compute\" is invalid: [spec.clusterIPs[0]: Invalid value: []string(nil): primary clusterIP can not be unset, spec.ipFamilies[0]: Invalid value: []core.IPFamily(nil): primary ipFamily can not be unset, spec.ports[0].port: Invalid value: 0: must be between 1 and 65535, inclusive, spec.ports[1].port: Invalid value: 0: must be between 1 and 65535, inclusive, spec.ports[1]: Duplicate value: core.ServicePort{Name:\"\", Protocol:\"TCP\", AppProtocol:(*string)(nil), Port:0, TargetPort:intstr.IntOrString{Type:0, IntVal:0, StrVal:\"\"}, NodePort:0}]; unable to sync compactor service: Service \"risingwave-compactor\" is invalid: [spec.clusterIPs[0]: Invalid value: []string(nil): primary clusterIP can not be unset, spec.ipFamilies[0]: Invalid value: []core.IPFamily(nil): primary ipFamily can not be unset, spec.ports[0].port: Invalid value: 0: must be between 1 and 65535, inclusive, spec.ports[1].port: Invalid value: 0: must be between 1 and 65535, inclusive, spec.ports[1]: Duplicate value: core.ServicePort{Name:\"\", Protocol:\"TCP\", AppProtocol:(*string)(nil), Port:0, TargetPort:intstr.IntOrString{Type:0, IntVal:0, StrVal:\"\"}, NodePort:0}]; unable to sync object: Deployment.apps \"risingwave-compactor\" is invalid: [spec.template.spec.containers[0].ports[0].containerPort: Required value, spec.template.spec.containers[0].ports[1].containerPort: Required value]; unable to sync frontend service: Service \"risingwave-frontend\" is invalid: [spec.clusterIPs[0]: Invalid value: []string(nil): primary clusterIP can not be unset, spec.ipFamilies[0]: Invalid value: []core.IPFamily(nil): primary ipFamily can not be unset, spec.ports[0].port: Invalid value: 0: must be between 1 and 65535, inclusive, spec.ports[1].port: Invalid value: 0: must be between 1 and 65535, inclusive, spec.ports[1]: Duplicate value: core.ServicePort{Name:\"\", Protocol:\"TCP\", AppProtocol:(*string)(nil), Port:0, TargetPort:intstr.IntOrString{Type:0, IntVal:0, StrVal:\"\"}, NodePort:0}]; unable to sync object: Deployment.apps \"risingwave-frontend\" is invalid: [spec.template.spec.containers[0].ports[0].containerPort: Required value, spec.template.spec.containers[0].ports[1].containerPort: Required value]; unable to sync connector service: Service \"risingwave-connector\" is invalid: [spec.ports[0].port: Invalid value: 0: must be between 1 and 65535, inclusive, spec.ports[1].port: Invalid value: 0: must be between 1 and 65535, inclusive, spec.ports[1]: Duplicate value: core.ServicePort{Name:\"\", Protocol:\"TCP\", AppProtocol:(*string)(nil), Port:0, TargetPort:intstr.IntOrString{Type:0, IntVal:0, StrVal:\"\"}, NodePort:0}]; unable to sync meta service: Service \"risingwave-meta\" is invalid: [spec.clusterIPs[0]: Invalid value: []string(nil): primary clusterIP can not be unset, spec.ipFamilies[0]: Invalid value: []core.IPFamily(nil): primary ipFamily can not be unset, spec.ports[0].port: Invalid value: 0: must be between 1 and 65535, inclusive, spec.ports[1].port: Invalid value: 0: must be between 1 and 65535, inclusive, spec.ports[2].port: Invalid value: 0: must be between 1 and 65535, inclusive, spec.ports[1]: Duplicate value: core.ServicePort{Name:\"\", Protocol:\"TCP\", AppProtocol:(*string)(nil), Port:0, TargetPort:intstr.IntOrString{Type:0, IntVal:0, StrVal:\"\"}, NodePort:0}, spec.ports[2]: Duplicate value: core.ServicePort{Name:\"\", Protocol:\"TCP\", AppProtocol:(*string)(nil), Port:0, TargetPort:intstr.IntOrString{Type:0, IntVal:0, StrVal:\"\"}, NodePort:0}]; unable to sync compute service: Service \"risingwave-compute\" is invalid: [spec.clusterIPs[0]: Invalid value: []string(nil): primary clusterIP can not be unset, spec.ipFamilies[0]: Invalid value: []core.IPFamily(nil): primary ipFamily can not be unset, spec.ports[0].port: Invalid value: 0: must be between 1 and 65535, inclusive, spec.ports[1].port: Invalid value: 0: must be between 1 and 65535, inclusive, spec.ports[1]: Duplicate value: core.ServicePort{Name:\"\", Protocol:\"TCP\", AppProtocol:(*string)(nil), Port:0, TargetPort:intstr.IntOrString{Type:0, IntVal:0, StrVal:\"\"}, NodePort:0}]; unable to sync compactor service: Service \"risingwave-compactor\" is invalid: [spec.clusterIPs[0]: Invalid value: []string(nil): primary clusterIP can not be unset, spec.ipFamilies[0]: Invalid value: []core.IPFamily(nil): primary ipFamily can not be unset, spec.ports[0].port: Invalid value: 0: must be between 1 and 65535, inclusive, spec.ports[1].port: Invalid value: 0: must be between 1 and 65535, inclusive, spec.ports[1]: Duplicate value: core.ServicePort{Name:\"\", Protocol:\"TCP\", AppProtocol:(*string)(nil), Port:0, TargetPort:intstr.IntOrString{Type:0, IntVal:0, StrVal:\"\"}, NodePort:0}]; unable to sync object: Deployment.apps \"risingwave-compactor\" is invalid: [spec.template.spec.containers[0].ports[0].containerPort: Required value, spec.template.spec.containers[0].ports[1].containerPort: Required value]; unable to sync frontend service: Service \"risingwave-frontend\" is invalid: [spec.clusterIPs[0]: Invalid value: []string(nil): primary clusterIP can not be unset, spec.ipFamilies[0]: Invalid value: []core.IPFamily(nil): primary ipFamily can not be unset, spec.ports[0].port: Invalid value: 0: must be between 1 and 65535, inclusive, spec.ports[1].port: Invalid value: 0: must be between 1 and 65535, inclusive, spec.ports[1]: Duplicate value: core.ServicePort{Name:\"\", Protocol:\"TCP\", AppProtocol:(*string)(nil), Port:0, TargetPort:intstr.IntOrString{Type:0, IntVal:0, StrVal:\"\"}, NodePort:0}]; unable to sync object: Deployment.apps \"risingwave-frontend\" is invalid: [spec.template.spec.containers[0].ports[0].containerPort: Required value, spec.template.spec.containers[0].ports[1].containerPort: Required value]; unable to sync connector service: Service \"risingwave-connector\" is invalid: [spec.ports[0].port: Invalid value: 0: must be between 1 and 65535, inclusive, spec.ports[1].port: Invalid value: 0: must be between 1 and 65535, inclusive, spec.ports[1]: Duplicate value: core.ServicePort{Name:\"\", Protocol:\"TCP\", AppProtocol:(*string)(nil), Port:0, TargetPort:intstr.IntOrString{Type:0, IntVal:0, StrVal:\"\"}, NodePort:0}]", "errorCauses": [{"error": "unable to sync meta service: Service \"risingwave-meta\" is invalid: [spec.clusterIPs[0]: Invalid value: []string(nil): primary clusterIP can not be unset, spec.ipFamilies[0]: Invalid value: []core.IPFamily(nil): primary ipFamily can not be unset, spec.ports[0].port: Invalid value: 0: must be between 1 and 65535, inclusive, spec.ports[1].port: Invalid value: 0: must be between 1 and 65535, inclusive, spec.ports[2].port: Invalid value: 0: must be between 1 and 65535, inclusive, spec.ports[1]: Duplicate value: core.ServicePort{Name:\"\", Protocol:\"TCP\", AppProtocol:(*string)(nil), Port:0, TargetPort:intstr.IntOrString{Type:0, IntVal:0, StrVal:\"\"}, NodePort:0}, spec.ports[2]: Duplicate value: core.ServicePort{Name:\"\", Protocol:\"TCP\", AppProtocol:(*string)(nil), Port:0, TargetPort:intstr.IntOrString{Type:0, IntVal:0, StrVal:\"\"}, NodePort:0}]"}, {"error": "unable to sync compute service: Service \"risingwave-compute\" is invalid: [spec.clusterIPs[0]: Invalid value: []string(nil): primary clusterIP can not be unset, spec.ipFamilies[0]: Invalid value: []core.IPFamily(nil): primary ipFamily can not be unset, spec.ports[0].port: Invalid value: 0: must be between 1 and 65535, inclusive, spec.ports[1].port: Invalid value: 0: must be between 1 and 65535, inclusive, spec.ports[1]: Duplicate value: core.ServicePort{Name:\"\", Protocol:\"TCP\", AppProtocol:(*string)(nil), Port:0, TargetPort:intstr.IntOrString{Type:0, IntVal:0, StrVal:\"\"}, NodePort:0}]"}, {"error": "unable to sync compactor service: Service \"risingwave-compactor\" is invalid: [spec.clusterIPs[0]: Invalid value: []string(nil): primary clusterIP can not be unset, spec.ipFamilies[0]: Invalid value: []core.IPFamily(nil): primary ipFamily can not be unset, spec.ports[0].port: Invalid value: 0: must be between 1 and 65535, inclusive, spec.ports[1].port: Invalid value: 0: must be between 1 and 65535, inclusive, spec.ports[1]: Duplicate value: core.ServicePort{Name:\"\", Protocol:\"TCP\", AppProtocol:(*string)(nil), Port:0, TargetPort:intstr.IntOrString{Type:0, IntVal:0, StrVal:\"\"}, NodePort:0}]"}, {"error": "unable to sync object: Deployment.apps \"risingwave-compactor\" is invalid: [spec.template.spec.containers[0].ports[0].containerPort: Required value, spec.template.spec.containers[0].ports[1].containerPort: Required value]"}, {"error": "unable to sync frontend service: Service \"risingwave-frontend\" is invalid: [spec.clusterIPs[0]: Invalid value: []string(nil): primary clusterIP can not be unset, spec.ipFamilies[0]: Invalid value: []core.IPFamily(nil): primary ipFamily can not be unset, spec.ports[0].port: Invalid value: 0: must be between 1 and 65535, inclusive, spec.ports[1].port: Invalid value: 0: must be between 1 and 65535, inclusive, spec.ports[1]: Duplicate value: core.ServicePort{Name:\"\", Protocol:\"TCP\", AppProtocol:(*string)(nil), Port:0, TargetPort:intstr.IntOrString{Type:0, IntVal:0, StrVal:\"\"}, NodePort:0}]"}, {"error": "unable to sync object: Deployment.apps \"risingwave-frontend\" is invalid: [spec.template.spec.containers[0].ports[0].containerPort: Required value, spec.template.spec.containers[0].ports[1].containerPort: Required value]"}, {"error": "unable to sync connector service: Service \"risingwave-connector\" is invalid: [spec.ports[0].port: Invalid value: 0: must be between 1 and 65535, inclusive, spec.ports[1].port: Invalid value: 0: must be between 1 and 65535, inclusive, spec.ports[1]: Duplicate value: core.ServicePort{Name:\"\", Protocol:\"TCP\", AppProtocol:(*string)(nil), Port:0, TargetPort:intstr.IntOrString{Type:0, IntVal:0, StrVal:\"\"}, NodePort:0}]"}, {"error": "unable to sync meta service: Service \"risingwave-meta\" is invalid: [spec.clusterIPs[0]: Invalid value: []string(nil): primary clusterIP can not be unset, spec.ipFamilies[0]: Invalid value: []core.IPFamily(nil): primary ipFamily can not be unset, spec.ports[0].port: Invalid value: 0: must be between 1 and 65535, inclusive, spec.ports[1].port: Invalid value: 0: must be between 1 and 65535, inclusive, spec.ports[2].port: Invalid value: 0: must be between 1 and 65535, inclusive, spec.ports[1]: Duplicate value: core.ServicePort{Name:\"\", Protocol:\"TCP\", AppProtocol:(*string)(nil), Port:0, TargetPort:intstr.IntOrString{Type:0, IntVal:0, StrVal:\"\"}, NodePort:0}, spec.ports[2]: Duplicate value: core.ServicePort{Name:\"\", Protocol:\"TCP\", AppProtocol:(*string)(nil), Port:0, TargetPort:intstr.IntOrString{Type:0, IntVal:0, StrVal:\"\"}, NodePort:0}]"}, {"error": "unable to sync compute service: Service \"risingwave-compute\" is invalid: [spec.clusterIPs[0]: Invalid value: []string(nil): primary clusterIP can not be unset, spec.ipFamilies[0]: Invalid value: []core.IPFamily(nil): primary ipFamily can not be unset, spec.ports[0].port: Invalid value: 0: must be between 1 and 65535, inclusive, spec.ports[1].port: Invalid value: 0: must be between 1 and 65535, inclusive, spec.ports[1]: Duplicate value: core.ServicePort{Name:\"\", Protocol:\"TCP\", AppProtocol:(*string)(nil), Port:0, TargetPort:intstr.IntOrString{Type:0, IntVal:0, StrVal:\"\"}, NodePort:0}]"}, {"error": "unable to sync compactor service: Service \"risingwave-compactor\" is invalid: [spec.clusterIPs[0]: Invalid value: []string(nil): primary clusterIP can not be unset, spec.ipFamilies[0]: Invalid value: []core.IPFamily(nil): primary ipFamily can not be unset, spec.ports[0].port: Invalid value: 0: must be between 1 and 65535, inclusive, spec.ports[1].port: Invalid value: 0: must be between 1 and 65535, inclusive, spec.ports[1]: Duplicate value: core.ServicePort{Name:\"\", Protocol:\"TCP\", AppProtocol:(*string)(nil), Port:0, TargetPort:intstr.IntOrString{Type:0, IntVal:0, StrVal:\"\"}, NodePort:0}]"}, {"error": "unable to sync object: Deployment.apps \"risingwave-compactor\" is invalid: [spec.template.spec.containers[0].ports[0].containerPort: Required value, spec.template.spec.containers[0].ports[1].containerPort: Required value]"}, {"error": "unable to sync frontend service: Service \"risingwave-frontend\" is invalid: [spec.clusterIPs[0]: Invalid value: []string(nil): primary clusterIP can not be unset, spec.ipFamilies[0]: Invalid value: []core.IPFamily(nil): primary ipFamily can not be unset, spec.ports[0].port: Invalid value: 0: must be between 1 and 65535, inclusive, spec.ports[1].port: Invalid value: 0: must be between 1 and 65535, inclusive, spec.ports[1]: Duplicate value: core.ServicePort{Name:\"\", Protocol:\"TCP\", AppProtocol:(*string)(nil), Port:0, TargetPort:intstr.IntOrString{Type:0, IntVal:0, StrVal:\"\"}, NodePort:0}]"}, {"error": "unable to sync object: Deployment.apps \"risingwave-frontend\" is invalid: [spec.template.spec.containers[0].ports[0].containerPort: Required value, spec.template.spec.containers[0].ports[1].containerPort: Required value]"}, {"error": "unable to sync connector service: Service \"risingwave-connector\" is invalid: [spec.ports[0].port: Invalid value: 0: must be between 1 and 65535, inclusive, spec.ports[1].port: Invalid value: 0: must be between 1 and 65535, inclusive, spec.ports[1]: Duplicate value: core.ServicePort{Name:\"\", Protocol:\"TCP\", AppProtocol:(*string)(nil), Port:0, TargetPort:intstr.IntOrString{Type:0, IntVal:0, StrVal:\"\"}, NodePort:0}]"}]}
resource:
apiVersion: risingwave.risingwavelabs.com/v1alpha1
kind: RisingWave
metadata:
  name: risingwave
spec:
  storages:
    meta:
      etcd:
        endpoint: risingwave-etcd:2388
    object:
      minio:
        secret: risingwave-minio-credentials
        endpoint: http://minio.minio.svc.cluster.local:9000
        bucket: risingwave/staging
  global:
    image: ghcr.io/risingwavelabs/risingwave:latest
    imagePullPolicy: IfNotPresent
    nodeSelector:
      node: node02
    resources:
      limits:
        cpu: 2
        memory: 4Gi
      requests:
        cpu: 100m
        memory: 100Mi
    replicas:
      meta: 1
      frontend: 1
      compute: 1
      compactor: 1

Hi @cameronbraid, thanks for reporting the issue. Which version of Kubernetes were you using? The error also happened to me, and it is a specific behavior of some lower version of Kubernetes. Could you try a version of 1.22+?

yep, same here.. was on 1.21.  I suggest you prevent the operator from creating any resources in a kube version that is too old.
Would save some time in troubleshooting.
Thanks
Cameron

fyi - its working great in 1.25 :)

I suggest you prevent the operator from creating any resources in a kube version that is too old.

Thanks! I'll do it after then.

Its not working great :(
I am getting the same error now on kube 1.25.6
I tried deleteing the meta statefulset and it got recreated with invalid ports:
          ports:
            - name: service
              containerPort: 0
              protocol: TCP
            - name: metrics
              containerPort: 0
              protocol: TCP
            - name: dashboard
              containerPort: 0
              protocol: TCP

I'll attach the logs of the operator.  What I did was scale the operator to 0, delete the meta statefulset, scale the operator back to 1, and downloaded the logs
logs-from-manager-in-risingwave-operator-controller-manager-dd7b8b6cd-d8wsb.log

@cameronbraid In case you still have this cluster, could you please attach the following information:
# operator logs
k logs -n risingwave-operator-system risingwave-operator-controller-manager-86cb5f4fb8-l2mft > operator.log

# a description of your service
k get service risingwave-meta -o yaml > service.yaml

# a description of your statefulset
k get statefulset <meta-statefulset> -o yaml > meta.yaml

(github wouldn't allow attachment of .yaml file)

fyi to get it working I manually edited the statefulset to set the ports correct

and the operator image is ghcr.io/risingwavelabs/risingwave-operator:v0.2.5

@arkbriar Looked into it only really briefly, but my suspicion is that NewMetaService() may be incorrect. We get Port: 0, which is just the default value. Maybe this is because
https://github.com/risingwavelabs/risingwave-operator/blob/252f46502a68e09d6536ec7ca019b1988dc2a05f/pkg/factory/risingwave_object_factory.go#L244
is an optional and it is not set? We could introduce custom defaults for that case.

could it be related to https://github.com/risingwavelabs/risingwave-operator/issues/360 ?

I found something that may be related
I created a kind cluster and deployed the controller and a RW resource.  After creating the RW resource and the RW cluster was provisioned I looked at the RW resource yaml and found this
spec:
  components:
    compactor:
      ports:
        metrics: 1260
        service: 6660
    compute:
      ports:
        metrics: 1222
        service: 5688
    frontend:
      ports:
        metrics: 8080
        service: 4567
    meta:
      ports:
        dashboard: 5691
        metrics: 1250
        service: 5690

This doesn't exist within the yaml I used to create it (https://raw.githubusercontent.com/risingwavelabs/risingwave-operator/main/docs/manifests/risingwave/risingwave-in-memory.yaml)
It also doesn't exist in my other cluster where I am getting this issue, here is the RW resource yaml from there :
apiVersion: risingwave.risingwavelabs.com/v1alpha1
kind: RisingWave
metadata:
  annotations:
    kapp.k14s.io/identity: v1;drivenow-staging-z/risingwave.risingwavelabs.com/RisingWave/risingwave;risingwave.risingwavelabs.com/v1alpha1
    kapp.k14s.io/original: '{"apiVersion":"risingwave.risingwavelabs.com/v1alpha1","kind":"RisingWave","metadata":{"annotations":{"meta.helm.sh/release-name":"risingwave"},"labels":{"gitops.jenkins-x.io/pipeline":"namespaces","kapp.k14s.io/app":"1611641776429462175","kapp.k14s.io/association":"v1.b31f6902351713787f49f4d08bb8a038"},"name":"risingwave","namespace":"drivenow-staging-z"},"spec":{"global":{"image":"ghcr.io/risingwavelabs/risingwave:latest","imagePullPolicy":"IfNotPresent","nodeSelector":{"node":"node02"},"podTemplate":"drivenow","replicas":{"compactor":1,"compute":1,"frontend":1,"meta":1},"resources":{"limits":{"cpu":2,"memory":"4Gi"},"requests":{"cpu":"100m","memory":"100Mi"}}},"storages":{"meta":{"etcd":{"endpoint":"risingwave-etcd:2379","secret":"risingwave-etcd-auth"}},"object":{"minio":{"bucket":"risingwave-staging","endpoint":"minio.minio.svc.cluster.local:9000","secret":"risingwave-minio-credentials"}}}}}'
    kapp.k14s.io/original-diff-md5: 80f4b4bc344be2ab44201e763040b235
    meta.helm.sh/release-name: risingwave
  creationTimestamp: "2023-02-22T02:41:49Z"
  generation: 2
  labels:
    gitops.jenkins-x.io/pipeline: namespaces
    kapp.k14s.io/app: "1611641776429462175"
    kapp.k14s.io/association: v1.b31f6902351713787f49f4d08bb8a038
  name: risingwave
  namespace: drivenow-staging-z
  resourceVersion: "1460700225"
  uid: c4ecf740-34c5-4d96-94fa-8bd73f333296
spec:
  enableOpenKruise: false
  global:
    image: ghcr.io/risingwavelabs/risingwave:latest
    imagePullPolicy: IfNotPresent
    nodeSelector:
      node: node02
    podTemplate: drivenow
    replicas:
      compactor: 1
      compute: 1
      frontend: 1
      meta: 1
    resources:
      limits:
        cpu: 2
        memory: 4Gi
      requests:
        cpu: 100m
        memory: 100Mi
    serviceType: ClusterIP
  storages:
    meta:
      etcd:
        endpoint: risingwave-etcd:2379
        secret: risingwave-etcd-auth
    object:
      minio:
        bucket: risingwave-staging
        endpoint: minio.minio.svc.cluster.local:9000
        secret: risingwave-minio-credentials
status:
  componentReplicas:
    compactor:
      groups:
      - exists: true
        name: ""
        running: 1
        target: 1
      running: 1
      target: 1
    compute:
      groups:
      - exists: true
        name: ""
        running: 1
        target: 1
      running: 1
      target: 1
    frontend:
      groups:
      - exists: true
        name: ""
        running: 1
        target: 1
      running: 1
      target: 1
    meta:
      groups:
      - exists: true
        name: ""
        running: 1
        target: 1
      running: 1
      target: 1
  conditions:
  - lastTransitionTime: "2023-02-22T02:41:51Z"
    status: "True"
    type: Initializing
  - lastTransitionTime: null
    status: "False"
    type: Running
  observedGeneration: 2
  storages:
    meta:
      type: Etcd
    object:
      type: MinIO

Two things to note - the spec.components tree is missing and the status  Running=false

Also, in my broken cluster if I add in spec.components data into my RW resource, this fixes the controller issue

so it looks like the root cause is to do with the Initializing phase

could it be related to #360 ?

I guess so. The ports are initialized by the webhooks only when the object is created. So upgrading the CRDs might leave the new fields with default values. We will find a way to fix it.

It should be fixed. I'm here to close the issue. Feel free to re-open it if it happens again on the latest version.


emulate finalizer

same as purescript-ace-halogen:

finalizer and Quit are removed
Coroutine Aff is added

@garyb please, review

:+1: again, same question as the other: could we use a much longer tick?


Upgrade to new tc-platform version 5.3.0-pre13

Note: NmsAgent is now a permanent entity so it does not need to be created.

@henri-tremblay @ljacomet : if you can please have a look at the gradle file changes. This is to fix the gradle warning saying that executable is deprecated and will be removed in gradle 5.

I will let that to @ljacomet. Because I don't know :-) But can ask around if needed

test this please

build aborted ??? restarting...
test this please

@ljacomet @anthonydahanne : build has been aborted twice by someone or something. So I don't know what to do and I cannot not see anything relevant in the cloudbee logs

The cloudbees do not reflect the build log, to save space on successful builds. You need to look into the build artifacts and you will find a gradle.log that indicates that org.ehcache.clustered.management.EhcacheManagerToStringTest ends up never completing and causing the build to be killed after the timeout period has elapsed. Please have a look at that test.

I found which test is failing, i will fix it today. It just takes a lot of time to troubleshoot and fix because of gradle and the fact that it is not easily runnable from within the ide.


Divide backends into separate crates

Resolves #43

Needs: https://github.com/ferristseng/rust-multipart-rfc7578/pull/22


Add alpine variant

Sometimes debugging issues in alpine based containers (which uses MUSL) is pretty helpful.

hello. netshoot does use alpine 3.14.


XMLHttpRequest cannot load file

Hello! I tried to use ion.sound and got an error with loading files. I download example zip form your site http://ionden.com/a/plugins/ion.sound/en.html and copy and paste code from example files but it not working!

I got this error in Google Crome 46.0.2490.80 m.
jQuery 1.11.3

XMLHttpRequest cannot load file:///D:/Web/%D0%BE%D0%BD-%D0%BB%D0%B0%D0%B9%D0%BD%20%D0%B4%D0%B8%D0%BA%D…%82%D1%8B/2015%20%D0%B3%D0%BE%D0%B4/sounds/my_cool_sound.mp3?1446115717801. Cross origin requests are only supported for protocol schemes: http, data, chrome, chrome-extension, https, chrome-extension-resource.

in

Sound.load	@	ion.sound.js:275
Sound.init	@	ion.sound.js:228
createSound	@	ion.sound.js:100
ion.sound	@	ion.sound.js:125
(anonymous function)	@	index.html:19

Hi, ajax requests are not working on local computer. You should start any simpe server, like this:
https://github.com/gruntjs/grunt-contrib-connect
or this: https://www.apachefriends.org/ru/index.html

Thank you!


I like this project!

I like the details you've put on this color scheme, from documentation to flexibility in configs. Did you grab a template or fork some other project to get started with this one? I'd like to make my own color scheme in the future :p thanks!

What a generous answer! thanks bro, I actually thought of that, that I don't need to reinvent the wheel since this plugin already provides a lot of customization. I'll check on that, for the meantime I'm enjoying your colors.


Support empty "renegotiation_info" as a ClientHello extension (rather than SCSV)

The forthcoming revision to BCP 195 (https://datatracker.ietf.org/doc/html/draft-ietf-uta-rfc7525bis) will provide guidance that clients MUST send renegotiation_info in the ClientHello.  When I asked for clarification about whether the SCSV suffices (https://github.com/yaronf/I-D/issues/369) the response noted that, per RFC 5746, the SCSV option was introduced as a way to reduce breakage in the face of old (SSLv3/TLS1.0) servers that don't support extensions at all, aborting the handshake when any extra data was seen at the end of the ClientHello.  Since this revision of BCP 195 is going to require TLS 1.2 support, we can assume that there is server support for extensions and thus the SCSV form is not useful.  However, as I mentioned recently in #18207, OpenSSL always uses the SCSV form in the ClientHello and has no option to send "renegotiation_info" as a regular extension in initial handshakes.  This SCSV-only implementation will be non-compliant to the BCP upon publication.

The question is - will the public internet servers start dropping connections from clients sending SCSV and no renegotiation_info? If so, when? Because in that case we might have to backport this to stable releases as well.

The question is - will the public internet servers start dropping connections from clients sending SCSV and no renegotiation_info? If so, when? Because in that case we might have to backport this to stable releases as well.

It seems unlikely any time soon. I would just change 3.1 to behave this way and not worry about backport to stable releases. If it really does become a problem later then we can consider backport then.

FWIW, looking back, it looks like we (BoringSSL) switched from SCSV to extension back in 2015 for TLS 1.0 and up. Never heard of any compat impact, so it should be safe to change.
https://boringssl-review.googlesource.com/5143

FWIW, I agree with Matt -- there doesn't seem to be a very strong incentive for public internet servers to suddenly become more stongly enforcing in this regard.  So just changing behavior for 3.1 seems fine for now.

It would be lovely to see some progress on this. This obvious difference between traffic from OpenSSL vs browser traffic from BoringSSL & NSS (and likely others) is something that makes OpenSSL's TLS fingerprint particularly recognizable, and makes it easy for providers (especially Cloudflare) to block OpenSSL clients completely.

This is now fixed: #24161

Closing


Proxy mode is malfunction

Hi,
Just download the latest version and setup well. However, when I want to use proxy mode, get error message:
Connection failed
Could not connect to /api/datasources/proxy/2

In console, see the error.config.url is /api/datasources/proxy/2 not the HTTP API I set on the panel.
and error.data is the Nginx 404 page:
"
 <title>404 Not Found</title>

404 Not Found

nginx

 "

what I thought is the request is sent to the real zabbix server, but the request URL is incorrect.
So I hard code the real API addr into datasource.js, then the connection test pass:
 23     function ZabbixAPIDatasource(datasource) {
 24       this.name             = datasource.name;
 25       this.url              = datasource.url;
 26       //this.url              = 'http://<IP_ADDRESS>/api_jsonrpc.php';

Not sure where problem is.

Hi! Is Direct mode works properly?

Yes, the Direct mode works properly.
More specific:
The zabbix and grafana are built with official docker, and I can access them with IP, e.g. <IP_ADDRESS> and <IP_ADDRESS> respectively, also they can communicate with each other through the internal docker network, <IP_ADDRESS>/16.
So in direct mode, it works with the api address http://<IP_ADDRESS>/api_jsonrpc.php. But in proxy mode, use http://<IP_ADDRESS>/api_jsonrpc.php instead, it failed.

You can leave http://<IP_ADDRESS>/api_jsonrpc.php in proxy mode and try again.
Proxy mode just sends API requests via grafana-server.
-----------
| Grafana | ------------------------
-----------                        |
     |                             |
    proxy                        direct
    mode                         mode
     |                             |
     V                             V
------------------            ----------
| grafana-server | --proxy--> | zabbix |
------------------   mode     ----------

Same problem:
I get the following when "test"ing the connection.
Could not connect to /api/datasources/proxy/2

                                            +-----------------+
                                            |                 |
                                            |  +-----------+  |
+-------------+     +------------------+    |  |  zabbix   |  |
|             |     |                  |    |  +-----------+  |
| Workstation +---->+ VPN/Reverse Proxy+---->                 |
|             |     |                  |    |                 |
+-------------+     +------------------+    |  +-----------+  |
                                            |  |  Grafana  |  |
                                            |  +-----------+  |
                                            |                 |
                                            +-----------------+

The topology like this, the <IP_ADDRESS>/8 network is assigned by VPN, it's not owned by the grafana or zabbix container/server/network, so neither grafana not zabbix don't know anything about the network <IP_ADDRESS>/8. Grafana can't proxy/access the VPN network.
In conclusion, it would be failed definitely if I leave http://<IP_ADDRESS>/api_jsonrpc.php in proxy mode.


Fix missing shape problems in generate for models that use py_func.

Fixes #471

@nottombrown remember to review this (I haven't used pytorch so I'm not qualified)


[EASI-3144] Add job code contractors

EASI-3144
Changes and Description

Modified existing (unused) job code config to match new job code that will be added for EUA MAC users.

How to test this change

PR Author Review Checklist

[ ] Met the ticket's acceptance criteria, or will meet them in a subsequent PR.
[ ] Added or updated tests for backend resolvers or other functions as needed.
[ ] Added or updated client tests for new components, parent components, functions, or e2e tests as necessary.
[ ] Updated the Postman Collection if necessary.

PR Reviewer Guidelines

It's best to pull the branch locally and test it, rather than just looking at the code online!
Check that all code is adequately covered by tests - if it isn't feel free to suggest the addition of tests.
Always make comments, even if it's minor, or if you don't understand why something was done.

@StevenWadeOddball I'll dig into this! Sorry for not testing a bit more and request review when I've confirmed things work locally

This is looking good! Something isn't resolving quite right unfortunately when I test locally

@StevenWadeOddball Whoops - just realized I edited the EUA auth middleware (Okta) but not the local dev one! Changing that now :)


some messing around

pls ignore, thought I was doing this in my fork but did it on the origin accidentally


Move code for deploying OpenWhisk on Kube from apache/incubator-openwhisk-devtools

Update any file path references for openwhisk-devtools to incubator-openwhisk-deploy-kube

Thanks for moving here from https://github.com/apache/incubator-openwhisk-devtools


Differing report information when run on different environments

I'm using kover to generate a merged-report for a project. To alleviate the issues around Android and its many flavors, I have a Task that'll run all the tests we want and I configure it like:
tasks.withType<KoverMergedTask> {
    // We want this task to depend on our custom testAll task
    this.dependsOn.clear()
    dependsOn(tasks.withType<TestAll>())
}

This of course runs the configured tests and generates a report file.
I expect this report file to look the same no matter where it's run but that seems like that's not the case - if I run it locally versus on my CI server (gitlab), it generates different report information. Note that this is on the same git SHA, so there are no code differences as far as I can tell.
Full plugin configuration is as follows:
apply<KoverPlugin>() // version is 0.5.1

extensions.configure<KoverExtension> {
    jacocoEngineVersion.set(rootProject.versionFromCatalog("jacoco")) // version is 0.8.7
}

tasks.register<TestAll>(TestAll.NAME)

tasks.withType<KoverMergedTask> {
    // We want this task to depend on our custom testAll task
    this.dependsOn.clear()
    dependsOn(tasks.withType<TestAll>())
}

tasks.register<CommitCodeCoverage>(CommitCodeCoverage.NAME)

tasks.register<CompareCodeCoverage>(CompareCodeCoverage.NAME)

tasks.register<Exec>("getCoverage") {
    dependsOn(tasks.withType<KoverMergedTask>())

    group = "Reporting"
    commandLine(listOf("open", "${project.buildDir.path}/reports/kover/html/index.html"))
}

rootProject.subprojects {
    tasks.withType<Test> {
        extensions.configure<KoverTaskExtension> {
            excludes = listOf(
                "**/databinding/**/*.*",
                "**/android/databinding/*Binding.*",
                "**/R.*",
                "**/R$*.*",
                "**/BuildConfig.*",
                "**/Manifest*.*",
                "**/*Fragment*.*",
                "**/*Module*.*"
            )
        }

        reports {
            useJUnit()
            junitXml.required.set(true)
        }

        testLogging {
            exceptionFormat = TestExceptionFormat.FULL
            events.addAll(setOf(TestLogEvent.SKIPPED, TestLogEvent.PASSED, TestLogEvent.FAILED))
            showStandardStreams = true
            showStandardStreams = true
            showCauses = true
        }
    }
}

More than happy to provide any additional information you may need!

Hi,
without an example of a specific project, it is difficult to answer unequivocally, but you should understand that manual dependency management for KoverMergedTask is unacceptable and can lead to unstable results.
In addition to dependencies on test tasks KoverMergedTask, output of this tasks are also used. List of this tasks is determined at the configuration stage and saved in special property.
This list does not change when the dependsOn is changed, as a result, which binary reports will be used to get XML/HTML reports will be decided randomly.

Understood - I'll change up my implementation then. Thanks!


Negative/Incorrect guild id in settings table

I'm creating a discord bot (with node.js) and am using the discord.js commando plugin.
I'm doing this, to set the sqlite provider, for saving settings to the database:
bot.setProvider(
    sql.open(path.join(__dirname, '/data/settings.sqlite')).then(db => new Commando.SQLiteProvider(db))
).catch(console.error);

The table "settings" is automatically created, with the columns "guild" (int) and "settings" (text)
However, I've noticed that the guild id being stored in the "guild" column, differs from the guild id being stored in the json in the "settings" column.
Here are 2 examples of servers i've added the bot to:
https://i.stack.imgur.com/OgbrY.png
As you can see, for the first server/guild, the guild id being stored in the json is "459487324716400641", but in the guild column itself, it is storing "-1870397439", and similar for the second server
Is this expected behaviour? I'm assuming its because the guild id is too long to be stored as an INT in sqlite, but since the table is automatically created by the commando plugin, i don't think i'm able to change the column definitions.
Any ideas?
Thanks.

The SQLite INTEGER field can support up to a signed 64 bit integer value, which is large enough to store a snowflake.
The integer operations in node/javascript is casting whatever value you're using to a 32 bit signed integer:
><PHONE_NUMBER>16400641 | 0
-1870397440

I'm not entirely sure why I get an off-by-one error to your -1870397439 result, but w.e
The current Commando master does not anywhere try to convert the guild id to anything else than a string, except for when you try to use the "global" guild, which then gets changed into a numeric 0.
At least not that I can see.
My current SQLite module does not do any datatype mangling along the way and my own guild ID's end up in my database unmangled. I think it would be beneficial if you state your current Commando version, including git-commit and which SQLite module you're using along version of that one.

Any ideas on this? I've tried creating the settings database first and changing the datatype of the guild column, but it just overwrites everything I do and is still putting in negative numbers.

I'm unable to reproduce this as well, and my fairly large bot doesn't have any entries in its database with negative guild IDs (although it is still on a much older version of the mechanism, back from GRAF).

Personnaly I store the guild ID and the channel ID in a VARCHAR field of 25 char and i didn't got any problems

This is the server/guild settings though, it's handled by commando not me.
So if the server owner changes the prefix or disables some commands on their server, this is the table it will update/get the settings. I have no control over it. Literally all I've done is put that setProvider piece of code in, otherwise I've not touched the settings stuff.

Are you sure it's not just your SQL client that's incapable of displaying 64-bit numbers?

Well now I feel like an idiot, but I think @unek is right. I was running it in the Netbeans database tab before, but doing it from the command line looks correct.


Developer msft

Added Compliance Level Tags.
Added some exception handling.

I've also tried running regression_test_suite_0 with following test_runner.json, but am still getting error.
{
    "$schema": "https://json-schema.org/draft/2020-12/schema",
    "$id": "Need to add one",
    "title": "Test Runner Configuration",
    "description": "Configure the TestRunner obj, list of test cases overrides a test suite",
    "output_override_directory": "",
    "debug_mode": true,
    "console_log": true,
    "progress_bar":  true,
    "include_tags": [],
    "exclude_tags": [],
    "test_sequence" : [],
    "group_sequence" : [],
    "active_test_suite": "regression_test_suite_0",
    "dev_test_suite": [],
    "full_compliance_test_suite": [],
    "regression_test_suite_0": ["F0","F1", "F63", "F64", "F8", "F88", "T0"],
    "regression_test_suite_1": ["F0", "F1", "F23", "F26", "F28", "F27", "F22", "F25", "F18", "F32"],
    "regression_test_suite_2": ["F0", "F1", "F16", "F19", "F55", "F62", "F89"],
    "test_uri_response_excel":"Excel file name for checking the response"
}

~/ocp-diag-ctam/ctam$ python3 ctam.py -w ../workspace/
WorkSpace : ../workspace/
PING
...
...
...
1 packets transmitted, 1 received, 0% packet loss, time 0ms
rtt min/avg/max/mdev = 0.784/0.784/0.784/0.000 ms
{
    "TimeStamp": "11-21-2023T16:17:47",
    "Message": "Binded port 18888"
},
Test Run Failed: {
    "ctam.py": {
        "filename": "/home/afsanac/ocp-diag-ctam/ctam/ctam.py",
        "lineno": 208,
        "name": "main"
    },
    "test_runner.py": {
        "filename": "/home/afsanac/ocp-diag-ctam/ctam/test_runner.py",
        "lineno": 574,
        "name": "_run_group_test_cases"
    },
    "_fw_update_group_N.py": {
        "filename": "/home/afsanac/ocp-diag-ctam/ctam/tests/fw_update/fw_update_group_N/_fw_update_group_N.py",
        "lineno": 57,
        "name": "teardown"
    },
    "test_group.py": {
        "filename": "/home/afsanac/ocp-diag-ctam/ctam/tests/test_group.py",
        "lineno": 79,
        "name": "test_run"
    },
    "type": "NotImplementedError",
    "message": "need to call TestGroup.SetUpAssociations"
}

Test exited with status code*: FAIL - Test failed due to exception: need to call TestGroup.SetUpAssociations
Log Directory: None

*Note: Return/Status Codes - PASS(0): All tests passed, FAIL(1): Execution/runtime failure or test failure

Collaborator

We are working on tag functionality but for now if you want to run tag then you have to pass test sequence, group sequence or active_test_suite to make it work.
Along with this, add the tag to the particular group of the test case.


Where do we keep the ready to use configs?

I can set up lots of servers on Azure. I don't have AravanCloud account and cannot create one.
If you have Arvancloud or any other cdn in iran, I can send the IP addresses for you to add DNS record to my servers IP addresses.

If you're referring to shadowsocks-v2ray-tls method, we also need a separate domain for each server to hide their IP and also bypassing the Intranet with Arvan CDNs.
Btw, if you're outside of Iran, It's possible(and safer) to create Arvan account with an international mobile number.

If you're referring to shadowsocks-v2ray-tls method, we also need a separate domain for each server to bypass the Intranet with Arvan CDNs. Btw, if you're outside of Iran, It's possible(and safer) to create Arvan account with an international mobile number.
Thanks.
It would be great if we can find a domain registrar broker that can donate unfiltered domain names for us to use.
I've registered mine now. waiting for DNS records to propagate.

Is there any private channel for discussions? aside from discord?

Anytime,
Actually, I'm not also aware if there is any private space, why do you need one?
btw, we keep our configs here

Thanks. you can close this.


Temporary balance issues when creating transactions (0 conf)

The Issue
The way the Desktop app currently works is that it requests the balance every 5 seconds and we run into an issue where the balance is temporarily incorrect, and at the worst case, 0, when a transaction is created. This is because the UXTO is marked as spent (not included in balance) and the new change address UXTO is not counted for a couple of seconds. This provides a poor user experience and other app developers will see similar issues. We should try to improve this behavior where the balance calculation takes this scenario into account.
System Configuration

LBRY Daemon version:
LBRY App version:
LBRY Installation ID:
Operating system:

Anything Else

Screenshots

Internal Use
Acceptance Criteria

Definition of Done

[ ]  Tested against acceptance criteria
[ ] Tested against the assumptions of user story
[ ] The project builds without errors
[ ] Unit tests are written and passing
[ ] Tests on devices/browsers listed in the issue have passed
[ ] QA performed & issues resolved
[ ] Refactoring completed
[ ] Any configuration or build changes documented
[ ] Documentation updated
[ ] Peer Code Review performed

this is no longer a issue with wallet balance caching.


Fix FreeCAD build 19.03

Motivation for this change
Some dependencies of FreeCAD have not been building since a recent change to buildPythonPackage.  This fixes the python modules necessary for FreeCAD, which should help with
#56826
This PR is only intended to fix the build for 19.03.  There is another PRs which additionally updates a bunch of dependencies (#57121), that should be pulled in in the long run.
Things done

[x] Tested using sandboxing (nix.useSandbox on NixOS, or option sandbox in nix.conf on non-NixOS)
Built on platform(s)

[x] NixOS
[ ] macOS
[ ] other Linux distributions

[ ] Tested via one or more NixOS test(s) if existing and applicable for the change (look inside nixos/tests)
[ ] Tested compilation of all pkgs that depend on this change using nix-shell -p nox --run "nox-review wip"
[x] Tested execution of all binary files (usually in ./result/bin/)
[ ] Determined the impact on package closure size (by running nix path-info -S before and after)
[ ] Assured whether relevant documentation is up to date
[x] Fits CONTRIBUTING.md.

Fixes should typically go to master first, and then cherry-picked (with -x flag) to a release branch.

Fixes should typically go to master first

That certainly was my intention.  Is something missing?

@GrahamcOfBorg build python2.pkgs.pivy python3.pkgs.pivy python2.pkgs.pyside-tools python3.pkgs.pyside-tools

@GrahamcOfBorg build python2.pkgs.pivy python2.pkgs.pysideTools python3.pkgs.pysideTools

Please correct the commit messages: the attribute is pythonPackages.pysideTools.
Right, thanks!  Changed the messages.

@GrahamcOfBorg build python2.pkgs.pivy python2.pkgs.pysideTools python3.pkgs.pysideTools

@timor Thanks a lot!

backported in 18e7ce4dff0dafd21652a5c66bc4210bd7346d5a, 1bbc9832d69c6cb19b5019e2aebe42d5055b48aa, and da3936396d6452c15e1be9460175ebd4ec850a07


Strong Named Assemblies For Compatibility with .NET Framework/.NET Standard 2.0

Is your feature request related to a problem? Please describe.
It appears that the assemblies for StrawberryShake.Transport.Http and StrawberryShake.Transport.Core are not signed. This causes issues when using .NET Framework 4.6 and up (.NET Standard 2.0) assemblies that have already been signed. Any programs that reference the unsigned library will throw an error since the Nuget packages are not signed.
Describe the solution you'd like
Sign the assemblies using a strong key
Describe alternatives you've considered
Provide a signed version of the assemblies as a separate package.

Hello,
I'm using the HotChocolate server components and my Applications are also strongly named. Currently I'm allways cloning the repository and sign the assemblies by myself to update to a newer version. Are there any reasons not to do this upstream?
Should/can I give it a try and create an PR?
Greetings
Flo

As far as I know, there is a move to package sign rather than signing assemblies. I will have to read up on this.

As I remembered, its a leftover of .NET Framework.
@aequi42 why do you sign the server? It actially is better nowadays to sign the packages.
https://github.com/dotnet/runtime/blob/main/docs/project/strong-name-signing.md

Thank you for your feedback!
Seems like, there was some confusion on my part 😅
I've been running my App on .NET FX 4.8 and used HotChocolate 10, where the signed assemblies where required.
To use the HC12 I upgraded to .NET 6 and thought the dependencies still need strong names.
Upon reading further into the matter I came to the same conclusion as you, that signing Assemblies isn't necessary anymore.

For .NET Core and .NET 5+, strong-named assemblies do not provide material benefits. The runtime never validates the strong-name signature, nor does it use the strong-name for assembly binding.
https://docs.microsoft.com/en-us/dotnet/standard/assembly/strong-named#why-strong-name-your-assemblies

First tests event concluded that I can reference unsigned assemblies in my "signed" application as well.
I'll try to update HC in the near future and if I'm running into issues I'll let you know.


invites: Do not show streams if user cannot subscribe others.

We do not show the streams list in invite modal if the user does not have permission to subscribe others to stream.

Screenshots and screen captures:

Self-review checklist

[ ] Self-reviewed the changes for clarity and maintainability
(variable names, code reuse, readability, etc.).

Communicate decisions, questions, and potential concerns.

[ ] Explains differences from previous plans (e.g., issue description).
[ ] Highlights technical choices and bugs encountered.
[ ] Calls out remaining decisions and concerns.
[ ] Automated tests verify logic where appropriate.

Individual commits are ready for review (see commit discipline).

[ ] Each commit is a coherent idea.
[ ] Commit message(s) explain reasoning and motivation for changes.

Completed manual review and testing of the following:

[ ] Visual appearance of the changes.
[ ] Responsiveness and internationalization.
[ ] Strings and tooltips.
[ ] End-to-end functionality of buttons, interactions and flows.
[ ] Corner cases, error conditions, and easily imagined bugs.

@alya can you please review?

Hm, I feel like the banner will be a bit confusing if you don't know about the feature to configure streams for new users in the first place. Maybe we should do something like this?

The users you invite will be automatically added to default streams for this organization, as you do not have permission to configure which streams new users join.

I'd also just put it at the top where our banners generally go -- I don't think it needs to be in the same place as the stream config.

Hm, I feel like the banner will be a bit confusing if you don't know about the feature to configure streams for new users in the first place. Maybe we should do something like this?

The users you invite will be automatically added to default streams for this organization, as you do not have permission to configure which streams new users join.

Will update the banner.
Just one thing to clear, we do not add users to default streams in this case due to recent API changes. Since user is not allowed to add users to the streams, we just do not allow passing anything inside stream_ids and thus we consider that as stream_ids was empty we do not add users to any streams.
Do we want to change this to set stream_ids to default streams if user is not allowed to subscribe others?

Do we want to change this to set stream_ids to default streams if user is not allowed to subscribe others?

That would make the most sense to me.

Hey, @sahil839, are there any remaining product questions here or is it just the technical details that need to be discussed?

I don't think so. I have already updated the PR as per Alya's last feedback on the banner and the behavior to subscribe to default streams at the time of actual account creation and not at the time of invitation was also discussed with both Tim and Alya.
I will add the "QA needed" label though, so that this will be tested someone else too.

@mateuszmandera Can you do an initial review of this, especially the backend part?

Updated the PR. Posted inline comments as well to respond the feedback and mentioning the changes done in brief below.

Updated the default in API to be False as suggested above. Not sure what should be the DB level default.
Updated the error message for passing both stream_ids and subscribe_to_default_streams parameter.
Changed the default value of subscribe_to_default_streams to None in accounts_home in views/registration.py which was previously set to True since the database level default is already True and setting this to None prevents an extra call to .save().

Oh yeah, let's do it! @timabbott do you want to take a look now?

This lgtm aside from the handful of detailed noted above; sorry for the slow reviews on this one!

Currently not allowed in the UI, but users who are not allowed to subscribe others can set the subscribe_to_default_streams parameter as False. Is this fine?

Probably it's OK to allow it -- since that choice just reduces their initial subscriptions. I suppose it would be more closely tied to letting you remove subscribers, if we tied it to any setting.

https://github.com/zulip/zulip/pull/29883 should help with expressing incompatible parameters, but I guess we decided we're not doing that anyway :)

Do we still need a migration for existing PreregistrationUser objects to set subscribe_to_default_streams as False where the streams list is non empty? I think we can considering the invitation was originally sent assuming the new user will be subscribed to the streams passed in the list and not the default streams as well.

We should arrange that the behavior for existing invitations is identical to what the behavior would have been before this migration. So we need to match the implicit value of subscribe_to_default_streams from the pre-patch code. Posted a comment about what I think this means above. We might also want to avoid setting a default in do_invite_users and do_create_multiuse_invite_link and instead requiring callers to just pass those parameters -- we better to avoid having duplicate defaults in lots of places.

Added the migration. And I guess the logic should be as below, as there can be case where a user was invited with "streams" parameter set empty explicitly -
prereg_user.subscribe_to_default_streams = len(prereg_streams.streams) == 0 and prereg_user.referred_by is None and prereg_user.multiuse_invite is None

Also, updated do_invite_users and do_create_multiuse_invite_link to not have default for subscribe_to_default_streams. We can maybe update do_create_multiuse_invite_link to require some parameters be mandatory kwargs like we do in do_invite_users.

Logic looks good, let's make the migration safe and then I think we should be able to merge this.

Updated the migration to use batching.

Could you please post an up-to-date screenshot, including the other banners we show at the top now, to make it easy to review how looks all together?

I pushed to update the API feature level. I struggled to figure out why the migration query is what it is in this PR --  The core logic change is this:
-    user_was_invited = prereg_user is not None and (
-        prereg_user.referred_by is not None or prereg_user.multiuse_invite is not None
-    )
-
     if add_initial_stream_subscriptions:
         # If the Preregistration object didn't explicitly list some streams (it
         # happens when user directly signs up without any invitation), we add the
         # default streams for the realm. Note that we are fine with "slim" Stream
         # objects for calling bulk_add_subscriptions and add_new_user_history,
         # which we verify in StreamSetupTest tests that check query counts.
-        if len(streams) == 0 and not user_was_invited:
-            streams = get_slim_realm_default_streams(realm.id)
+        if prereg_user is None or prereg_user.include_realm_default_subscriptions:
+            default_streams = get_slim_realm_default_streams(realm.id)
+            streams = list(set(streams) | set(default_streams))

I feel like there are 3 case:

User was not invited, but has a prereg_user from the signup process; this will have create_preregistration_user create one with the Django default of include_realm_default_subscription=True. But existing objects will need to be migrated, and these have referred_by=None, multiuse_invite=None, streams=None, so that's what your migration targets.
User was not invited, and is being created by the API, LDAP auth, or some other process that does not generate a preregistration user. In that case, they should get the default streams; that doesn't involve the table though, and the logic change is correct.
User was invited, in either form. In that case, the previous logic used that list of streams unconditionally, given the not user_was_invited check above. So the migration should set False, as it does.

OK so I think this is correct ... but let me make that clear in the code comments.

OK, added a very detailed docstring for the migration as part of convincing myself that its logic is correct. I renumbered the API documentation and marked this to merge once CI passes, thanks for all the work on this @sahil839!
I also did some copyediting on the docs; one detail worth highlighting is that we should never just say "the user" in API docs; "the current user" or "the target user" is much clearer.

Could you please post an up-to-date screenshot, including the other banners we show at the top now, to make it easy to review how looks all together?

I guess I can review post-merge.

@alya we do not show the new banner along with existing banners because the existing banners are only shown to admins and admins always have permission to subscribe others. Sharing the updated versions of banner in #30097 which makes the new banner spacing similar to existing banners.


bug: ### Getting started - The config file instructions do not seem to be correct

Following the instructions at https://github.com/theNewDynamic/gohugo-theme-ananke  README for getting started with the theme and example site, the behaviour is not as expected; and the instructions included an invalid step.
Expected Behavior
After following the instructions under "Getting started", I'm expecting the front page to look similar to that at https://gohugo-theme-ananke.pages.dev/  (without the recent articles).
Current Behavior
The front page ( http://localhost:1313/ ) shows a black area with title "My New Hugo Site"
Possible Solution
Not sure, I am new to Hugo and picked the Ananke theme as it looked attractive and there was a tutorial. I am guessing the instructions are out of date with respect to the latest version of Hugo, and the actual content of the current config.toml file.
Steps to Reproduce

hugo new site testsite
cd testsite
git init
git submodule https://github.com/theNewDynamic/gohugo-theme-ananke.git themes/ananke  (NOTE: I didn't install "go" as that was only mentioned under the Hugo Module installation method, which I didn't use)
cp themes/ananke/exampleSite/config.toml .
The instructions say "You may need to delete the line: themesDir = "../..""  , but there was no such line.
Add the line themes = 'ananke' to the end of the default hugo.toml   (This step was not in the README, see below)
hugo server

Context (Environment)
I am trying to use the Example Site as a starting point, and add my own customizations from there.
Detailed Description
It seems that the config.toml file in the project's root directory is ignored entirely -- if I rename the file to something random, there are no changes in behaviour.  I am using hugo v0.135.0 in Ubuntu on WSL2.
The step 7 in my list above, was not in the Ananke README, but omitting this step causes the home page to just give Page Not Found.  The instruction to add themes = 'ananke' was given at https://gohugo.io/getting-started/quick-start/ .

Moreover, depending on whom this theme is designed to, the installation instructions (https://themes.gohugo.io/themes/gohugo-theme-ananke/) are fully understandable, or not. I'm a beginner in Hugo, and there are things I don't or didn't understand.

First of all, on the above mentioned page there is a "Download" button but clicking it doesn't download anything. It should be explained what to do next.
Then it's written "hugo mod init github.com/<your_user>/<your_project>" but what on earth is "your_user"? I guess "your_project" means "the name of the website you want to build".
It's also written "Add the theme’s repo to your config.toml:
theme = ["github.com/theNewDynamic/gohugo-theme-ananke"]"
What is this for, since this line is already in "ExampleSite/config.toml" and the instructions says later "You’ll find a file called config.toml. To use it, copy the config.toml in the root folder of your Hugo site."
"To enable comments, add following to your config file:
DISQUS:
[services.disqus]
shortname = 'YOURSHORTNAME'
COMMENTO:
(...)"
What do "DISQUS" and "COMMENTO" mean? Are they alternatives? What is "YOURSHORTNAME"?
'You may need to delete the line: themesDir = "../.."' : there is no such line in your config.toml file.

@cchessnz please test if with the latest changes in main you still get the empty black page. I fixed some things recently, but not specifically due to your issue. Right now I can install without issues.
You are right, the themesDir seems not to be required anymore.
I will work through both quick start guides and fix the last little issues today and release v2.11.0 later today. Keep an eye on it.
@FiableDotBiz some of these concerns have already been fixed, others are common sense issues (like username and reponame in an github URL). I recently wrote a quick intro to Hugo Modules and will link to that. Other than that I will ignore new issues in comments to existing issues. It's getting quite confusing and mostly unrelated this way. Individual support requests have to go into Discussions.


Problems in backreference construction in regular expressions

@Jokacer commented on Wed Aug 15 2018
In "What Backreferences match", in the explanation of the pattern "(?<1> a)(?<1> \ 1b)" ，I think "(?<1>\1b)" should match 1  value in group 1 instead of 0 or 1,is it right?

文档详细信息
⚠ 请勿编辑此部分。 docs.microsoft.com ➟ GitHub 问题链接必须具有此部分。

ID: e2fa77ea-67e4-d972-e6c4-9eff4203ce3e
Version Independent ID: 266c2d26-307c-09df-05d0-3946e34fb448
Content: 正则表达式中的反向引用构造
Content Source: docs/standard/base-types/backreference-constructs-in-regular-expressions.md
GitHub Login: @rpetrusha
Microsoft Alias: ronpet

Hi team,
Please check the question reported by the user.
Thanks!

Thanks, @LisandroSu, this has been added to the backlog.

@Jokacer The description was slightly misleading and is missing the * that makes it 0 or more. But yes, if the * was not included, it would be 1 or more.


Add s3 region to docs & move system-upgrade-controller to variables

Did the default version go backwards from v0.14.2 to 0.13.4? Any particular reason?

No reason. I believe that I was on a older version of code https://github.com/kube-hetzner/terraform-hcloud-kube-hetzner/pull/1531 here it's the fix

Good catch @maggie44! Thanks folks


Release 0.20.0

A wallaroolabs request!

Travis is having delays due to the GitHub incident today so I am planning on doing this later today once things have cleared up.

Blessing bfa054a4cff7346e298de5da98399149db801308

release underway.

@stefantalpalaru @kamilchm release underway

homebrew PR opened: https://github.com/Homebrew/homebrew-core/pull/19570

Windows package is in bintray

deb and rpm packages are in bintray.

Gentoo ebuild updated.

Release notes prepped and ready to go: https://github.com/ponylang/ponylang.github.io/pull/185

homebrew has been released

Release notes up and announced.


fixFix exception when create materialized view with cte

Proposed changes
Fix exception when create materialized view with cte, after this fix, can create materialized view with following
        CREATE MATERIALIZED VIEW mv_with_cte
            BUILD IMMEDIATE REFRESH AUTO ON MANUAL
            DISTRIBUTED BY RANDOM BUCKETS 2
            PROPERTIES ('replication_num' = '1')
            AS
            with `test_with` AS (
            select l_partkey, l_suppkey
            from lineitem
            union
            select
              ps_partkey, ps_suppkey
            from
            partsupp)
            select * from test_with;

this is brought from https://github.com/apache/doris/pull/28144
Further comments
If this is a relatively large or complex change, kick off the discussion at<EMAIL_ADDRESS>by explaining why you chose the solution you did and what alternatives you considered, etc...

run buildall

run p0


Make string comparisons always case sensitive by default

[ ] Add VTTE test which tests the default value for case_sensitive.

Close #291

We've got 4 assertion failures in MIES which has 1332 testcases. So I'd say we can flip the default.

4 failures? I thought there would be way more.
I support this PR and LGTM!

@MichaelHuth Good point. Fixed.
Here is the range diff:
$ git range-diff @{u}...HEAD
1:  3274264 ! 1:  89c28de EQUAL_STR_WRAPPER: Make the default case sensitive
    @@ Commit message

         We can't flip the case sensitivity switch for EqualWaves as there is none.
         And a testing framework should also be as strict as possible, so we flip
    -    the default for EQUAL_WAVE_WRAPPER to case sensitive.
    +    the default for EQUAL_STR_WRAPPER to case sensitive.

         Reported-by: @Garados007
         Test-code-by: @Garados007


[FEATURE] Create Onboarding Disclosure Panel

Please add this Disclosure panel to Safer Illinois.

@TodorBachvarov @pmarkhennessy The panel looks great and informative! Please changes references from "UW-Madison" to "UIUC" or "University of Illinois at Urbana-Champaign".  There is also a reference to Safer Community that should be updated to Safer Illinois. Thank you.

@TodorBachvarov @pmarkhennessy The panel looks great and informative! Please changes references from "UW-Madison" to "UIUC" or "University of Illinois at Urbana-Champaign".  There is also a reference to Safer Community that should be updated to Safer Illinois. Thank you.


increase GHG response outside of scen

Description
Running pymagicc with custom SCENs often results in a sharp increase in RF and surface temp either just after all the specifically defined ghg values, or in an intermediate format that's been set via pandas and not hard defined by a scen.
Failing Test
https://github.com/hsbay/cdrmex/blob/dev/ONCtests.ipynb, screenshots show the transient, sharp increase then return to normal for GhGs,
In the second to the last panel, Out [21], various gasses values increase despite the scen and modifications to pandas data frames defining the main MAGICC 6 gasses values to decrease.
Expected behavior
The curves should have basic peak then decline, not have the double peak in the 2020-2030s.
Screenshots

System (please complete the following information):

OS: macOS
Pymagicc version 2.0.0rc8+19.g7aade1e.dirty
Python 3.7.4 (v3.7.4:e09359112e, Jul  8 2019, 14:54:52)
[Clang 6.0 (clang-600.0.57)]

Additional context
I've uploaded my full sample code to the dev branch of CDRMEx for additional troubleshooting. Alternatively, if there is a workaround like hard define all pandas data frames to have the Fortran pure formatting, before running pymagicc that would work also.

That's a MAGICC 'feature'. If you run it beyond the end of your SCEN file, it just assumes zero for all emissions hence the hump. You have to specify emissions for the entire run if you want to avoid this.

The MAGICC 6 feature of needing one to hard define the ending values to fully get MAGICC to stop calculating isn't what I'm seeing.
I'm seeing an increase in some of the gasses not defined in a SCEN from 2020-2030, whereas all the other 23 MAGICC ghgs decline during that time and continue to do so till 2050, and then are forced to 0 till 2100.
I shouldn't see the odd bounce back from 2020-2030 when all of that is defined to decline.
What's weird, is this is the same bounce that's at the end of RCP26PD.

I think I'm seeing the output calculated from RCPODS_WMO2006_Emissions_A1.prn. I'll truncate the file, and reread it and try it again. I've also forced pandas dataframe precision to be 4.

Try adding file_mhalo_emis="RCPODS_WMO2006_Emissions_RCP3PD.prn" to your run call, does that change what you're seeing?
For context, MAGICC runs with more than just the 23 gases in a SCEN file. There's also the gases defined in the prn files. Changing what's in the SCEN file (or pandas dataframe) won't change the emissions provided in the prn file.

Yep. It's being defined in RCPODS_WMO2006_Emissions_A1.prn, globally for all SCEN experiments per magcfg. I removed years 2026-2500. And I'm rerunning it now. I'll update this as soon as I have the output.

I've done a few things, but I can't seem to track down where the Fgasses are misset.
I've added the following to my magcfg:
'rf_total_constantafteryr' : 2350,
'rf_tropoz_constantafteryr' : 2350,
'rf_stratoz_constantafteryr' : 2350,
'rf_mhalo_constantafteryr' : 2172,
'rf_fgas_constantafteryr' : 2172,
'mhalo_switch_conc2emis_yr' : 2008,
'fgas_switchfromconc2emis_year': 2005,
'n2o_switchfromconc2emis_year': 2005,
I've truncated the years to end at 2025 in RCPODS_WMO2006_Emissions_A1.prn file
I'm still getting the slight bump but I now longer see all the mhalo, only the fgasses. Which is totally strange since most of the Fgasses are set from the user scen.
I've updated the dev branch with the latest. I didn't copy over  RCPODS_WMO2006_Emissions_A1.prn.

Another oddity is that if I change the rf_mhalo and rf_fgas constantafteryr later than 2072 the code errors being unable to convert a very small value a decimal to -100 places to a float.

I'm really confused. Can you write down a) what experiment you want to run b) how you're trying to run it c) what you're expecting to see (which outputs, which gases specifically) d) what you're actually seeing

The experiments are in https://github.com/hsbay/cdrmex/blob/dev/ONCtests.ipynb.
It looks like the FGases, N2O, CF4, C2F6, C6F14, SF6 aren't using the definitions in my custom SCENs.

I saved the experiment to a SCEN and ran it in MAGICC6 native (on wine on MacOS). I'm seeing the same issue. So, this isn't a pymagicc issue. I'd like to get in touch with someone on this however incase any of the logic is used for MAGICC7.
The gasses which have the ballooning concentration pulse after being forced to 0 or less are 'N2O', 'CF4', 'C2F6', 'C6F14', 'HFC143a', 'SF6'. This is after truncating part of RCPODS_WMO2006_Emissions_A1.prn.

Can you post the scen file here please

This is the file I used but I had to change the suffix to txt for github.
CCCx2050.SCEN.txt

I just ran that file, I couldn't see anything wrong with the gases you refer to above (see plots below). In what year are you seeing the error?

I set the peak emissions for N2O in 2010, CF4 in 2010, C2F6 in 2020, HFC143a in 2020, SF6 in 2010, then they decline gently, then at 2029, I drop them by -90.  Are the values from pre 2029 from some other scen?
I forced those gasses to -90 for the year 2029 and 2030 to try and stop the pulse. Then for 2031-2100 I set them to 0.
I don't understand why it's rising in concentration for the gasses starting at 2005.
Looking at the temp graphs, I see a concentration pulse starting at 2028 - 2029, which drives up temperature response.
Whereas for CO2, CH4, and all the other ghgs, I can set them to 0 starting at 2029 and I don't see a weird spike in the previous year nor the successive years.

Are the values from pre 2029 from some other scen?

All the plots I showed are concentrations. The emissions do what you have described.

I don't understand why it's rising in concentration for the gasses starting at 2005.

Emissions before 2005 are greater than zero hence concentrations continue to rise (the gases have fairly long lifetimes from memory so any emissions > 0 causes concentrations to rise).

Looking at the temp graphs, I see a concentration pulse

You can't have a concentration pulse on a temperature graph. Do you mean you see a temperature spike in 2030? If yes, that is to be expected because your emissions file also causes emissions of all aerosol precursor species (BC, OC, SOx, NOx, NH3) to return immediately to zero in 2030. Such a rapid drop in emissions causes a spike in radiative forcing and hence in temperature.

Whereas for CO2, CH4, and all the other ghgs, I can set them to 0 starting at 2029 and I don't see a weird spike in the previous year nor the successive years.

Correct, if you only set the GHGs to zero immediately then you don't get the aerosol radiative forcing spike nor the temperature spike. It is the fact that you are setting aerosol precursor species (BC, OC, SOx, NOx, NH3) to return immediately to zero in 2030 which is causing this temperature spike.

I see an over all temp spike and concentration increases when I set those gasses to 0 or -90. There's a larger spike at 0, than -90.
I don't get a spike from the other gasses like methane, it's only if I set those to zero. If I force them to trend down over longer periods of time, then there isn't a heat pulse.
Is this still something that's seen in MAGICC7? And is this behavior described in any other place beyond, WMO 2006 ODS: https://library.wmo.int/index.php?lvl=notice_display&id=6414#.YCGwg-CIbOQ, https://doi.org/10.5194/gmd-13-3571-2020?

those gasses

Which gases?

Just to clarify even if you have an emissions profile like so for N2O:

(completely decreasing starting in 2005)
The resulting in orange is intended, with a peak in the late 2040s?

The resulting in orange is intended, with a peak in the late 2040s?

Correct. N2O's lifetime is fairly long so there is some lag between the start of the emissions decline in 2005 and the time at which concentrations peak around 2050.

Ok. Thanks


grt: prevent usage from wrapping

The following test case fails in global routing with:
[ERROR GRT-0229] Vertical edge usage exceeds the maximum allowed. (88, 22) usage=65535 limit=1240

I'm not sure this is the correct fix, but it gets me past the fail.
Test case: grt-usage-wraps.tar.gz

Hi, this error occurs indeed because of this method removeLoops(), however this is not the correct fix,it is just avoiding the problem.
This should fix it: #2640
Over there is a better explanation on the error

@antonblanchard we've merged an update that should fix the underflow in the usage values. We've tried with your testcase and it fixes the issue. I'll close your PR, but let me know if you still have issues with usage values.


Allow BE and snapshot sorting by different criteria

On systems with a large number of boot environments or snapshots, sorting by name can be less than optimal. This PR adds the following:

Allow zbm.sort_key to be set on the KCL, with name, creation, used considered valid sort keys
Add a hook for mod-o on the BE and snapshot list screens, allowing the sorting method to be changed. Changing the sorting method on one screen changes it on the other, as well. This change persists until zfsbootmenu.sh is exited, at which point the selected method reverts to the default (name) or the method defined on the KCL.

Packing the sort methods into the global zbm_sort variable allows easy expansion of sort keys in the future. Simply add the list of valid keys to the array in parse-commandline.sh and it will be accepted and rotated through the list.
The shortcut key combinations have been documented in the online help and the man page, but not in the footer text. I'm open to persuasion on this.
Closes https://github.com/zbm-dev/zfsbootmenu/issues/137

I have tried this on my system, and it appears to work correctly:

Adding zbm.sort_key=creation to the zfsbootmenu kernel command line does make it sort the BEs by creation time (with the active BE on top).
Pressing Control-o in the boot menu does cycle between sorting by creation, name, and used.

I have tried this on my system, and it appears to work correctly:
* Adding `zbm.sort_key=creation` to the zfsbootmenu kernel command line does make it sort the BEs by creation time (with the active BE on top).

* Pressing `Control-o` in the boot menu does cycle between sorting by `creation`, `name`, and `used`.

Thank you for testing this! Pending a merge and official release, does this otherwise meet your needs?


Fetch Villagers

Value Description / Statement
As a user
I want to see all villagers of Animal Crossing displayed as a list of cards
so that I have all the information I need when I have to decide which villager should be my next neighbor.
Description

Acceptance Criteria

[ ]  Picture of villager should be displayed on card
[ ] Name of villager should be displayed on card
[ ] Species and gender should be displayed on card
[ ] There should be a list of cards

Tasks

[ ] Create a new branch
[ ] Create a villager page
[ ] fetch villagers data from ACNH API
[ ] Create component ListCard
[ ] Make sure there a all villagers displayed

Complexity
low

Hey there! Looking good, although I do have a couple notes:
I'm not sure if this should/would be your first User Story in terms of relevancy. As far as I remember, the core feature of your app is a journal. Your first step would be to make sure that the user can create and then as a next step display said journal entries. I'm assuming that eventually you'll want to be able to include the villagers into said journal. If the journal feature doesn't exist beforehand, there is no immediate functionality.
This follows the principle of "I want to have a working app every step of the way". The first step would be providing the user with a form to create journal entries, and then a page that displays those entries. That way, we've established the core functionality of the app. Once you've got the basics established, you can start including more features.
Perhaps (and this is just an example) you'll have another (initial) form that lets you create an overview over your island, which might be displayed over your journal entries. The data displayed could be the initial fruits and villagers on your island, etc. At that point you can start fetching the relevant data your user needs.
I completely understand that working with the ACNH API might be incredibly tempting off the bat (and I'd be just as tempted), but we need to make sure our core features are in working order before we can start throwing glitter at it.
Minor additional note: Perhaps consider being very specific with your naming. Something like "VillagerList", "VillagerCard", etc. That way other people can identify what's going on a little more quickly.

Dear CJ,
thank you for your review. I know what you mean. But after thinking about it for a while, I decided to show the inhabitants in a list first. In the next steps, the user should be able to bookmark them and also get lists of the animals he can catch. In the end I came to the conclusion that it is more useful for the user if he can look up inhabitants and animals and remember them, than to create a "passport", which is nice to have and will be included by me later on.
Thank you for reminding me to be more specific about the naming. This is indeed really important an I was quite overwhelmed with structuring and thinking about my capstone project..


Build Failed

hello
When I am trying to build for ios I get the following error
`Automatically signing iOS for device deployment using specified development team
in Xcode project: TYR8M23SD7
Running Xcode build...
Xcode build done.                                            8.8s
Failed to build iOS app
Error output from Xcode build:
↳
** BUILD FAILED **
Xcode's output:
↳
/Users/mac/development/flutter/.pub-cache/hosted/pub.dartlang.org/flutter_wi
dgetkit-1.0.0/ios/Classes/SwiftFlutterWidgetkitPlugin.swift:15:9: error:
cannot find 'WidgetCenter' in scope
WidgetCenter.shared.reloadAllTimelines()
^~~~~~~~~~~~
/Users/mac/development/flutter/.pub-cache/hosted/pub.dartlang.org/flutter_wi
dgetkit-1.0.0/ios/Classes/SwiftFlutterWidgetkitPlugin.swift:23:11: error:
cannot find 'WidgetCenter' in scope
WidgetCenter.shared.reloadTimelines(ofKind: ofKind)
^~~~~~~~~~~~
/Users/mac/development/flutter/.pub-cache/hosted/pub.dartlang.org/flutter_wi
dgetkit-1.0.0/ios/Classes/SwiftFlutterWidgetkitPlugin.swift:58:36: warning:
conditional cast from 'Any?' to 'Any' always succeeds
let value = args["value"] as? Any {
^
Command CompileSwift failed with a nonzero exit code
Command CompileSwift failed with a nonzero exit code
note: Using new build system
note: Building targets in parallel
note: Planning build
note: Constructing build description
warning: The iOS deployment target 'IPHONEOS_DEPLOYMENT_TARGET' is set to
8.0, but the range of supported deployment target versions is 9.0 to
14.1.99. (in target 'flutter_widgetkit' from project 'Pods')
warning: The iOS deployment target 'IPHONEOS_DEPLOYMENT_TARGET' is set to
8.0, but the range of supported deployment target versions is 9.0 to
14.1.99. (in target 'Flutter' from project 'Pods')
It appears that your application still contains the default signing identifier.
Try replacing 'com.example' with your signing id in Xcode:
open ios/Runner.xcworkspace
Encountered error while building for device.`

any news with this?

Hey @evripidesk.
Does the error occur when you want to create a release/archive build?

Hello
when I create a release , when I am running the command flutter build ios

Ok thanks for the info. I will have a look at it @evripidesk

@evripidesk Just released version 1.0.1 🕺, this should fix your problem :)

Perfect that did the trick
Thank you


Convert to Text

According to this page, compactstring is obsolete.
http://hackage.haskell.org/package/compact-string
The advice given there is to switch to text. The text library is heavily optimized and part of the standard Haskell platform now. Is converting a reasonable change or is there a compelling reason to stay with compactstring?

I decided against text because its native format is UTF-16 instead of UTF-8 which is the native format for BSON and compact-string. compact-string requires no conversion when serializing BSON.

On Mon, Jan 23, 2012 at 11:16 PM, Tony Hannan <
<EMAIL_ADDRESS>
wrote:

I decided against text because its native format is UTF-16 instead of
UTF-8 which is the native format for BSON and compact-string.
compact-string requires no conversion when serializing BSON.

I suggest making a note of this in the package description.


Version Packages

This PR was opened by the Changesets release GitHub action. When you're ready to do a release, you can merge this and the packages will be published to npm automatically. If you're not ready to do a release yet, that's fine, whenever you add more changesets to main, this PR will be updated.
Releases
<EMAIL_ADDRESS>Patch Changes

691671b: Ignore conditions order.
The implementation in Node.js is not order-sensitive, so we should not be either.

Codecov Report
Base: 76.92% // Head: 76.92% // No change to project coverage :thumbsup:

Coverage data is based on head (39d4273) compared to base (691671b).
Patch has no changes to coverable lines.

Additional details and impacted files
@@           Coverage Diff           @@
##             main      #23   +/-   ##
=======================================
  Coverage   76.92%   76.92%
=======================================
  Files           2        2
  Lines          13       13
  Branches        2        2
=======================================
  Hits           10       10
  Partials        3        3

Flag
Coverage Δ

resolve.imports
76.92% <ø> (ø)

Flags with carried forward coverage won't be shown. Click here to find out more.
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.


Update documentation page of addon after breaking change

Could somebody please update the documentation page of this addon. I think it shows all kind of configurations that no longer exists and the (minimal) configuration that should be done after the breaking change is not documented at all. This is very confusing for your users. Thank you!

@groenmarsmannetje You are free to help updating the documentation :-)

Whahaha now you have done all this effort... while you could have opened the document page and described it there...

Whahaha now you have done all this effort... while at the same time you could have opened the document page and described it there...

https://github.com/zigbee2mqtt/hassio-zigbee2mqtt/pull/318 ;-)


Bug report-proxy is deprecated and will be renamed to gateway in version 3.0 of the AzureRM provider

Is there an existing issue for this?

[X] I have searched the existing issues

Community Note

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

Version of the module you are using
5.6.5
Rover Version
No response
Terraform Version
No response
AzureRM Provider Version
No response
Affected Resource(s)/Data Source(s)
azurerm_api_management_custom_domain
Terraform Configuration Files
module "caf" {
  source  = "aztfmod/caf/azurerm"
  version = "5.6.5"

  providers = {
    azurerm.vhub = azurerm.vhub
  }

  # insert the 7 required variables here
  global_settings = {
    default_region = "region1"

    regions = {
      region1 = var.deployment_region
    }
  }

...

Expected Behaviour
no warning or error
Actual Behaviour
Warning: Argument is deprecated
│
│   with module.caf.module.api_management_custom_domain.azurerm_api_management_custom_domain.apim,
│   on .terraform/modules/caf/modules/apim/api_management_custom_domain/module.tf line 1, in resource "azurerm_api_management_custom_domain" "apim":
│    1: resource "azurerm_api_management_custom_domain" "apim" {
│
│ proxy is deprecated and will be renamed to gateway in version 3.0 of the AzureRM provider
Steps to Reproduce
terraform plan
Important Factoids
No response
References
No response

could not find an easy to make it go away in 2.99, If you find a fix for this @kevintrannz, happy to take a PR.
but will be fixed in 5.7.0 which will be in azurerm > 3.45

Hi @arnaudlh,
No. I do not have a fix for this. Do you know when 5.7 released please ?

We are waiting for a stable build and address all those issues before releasing it. This is top of mind as the moment.

closing as duplicate #1317


Fix host_callback docs

There was a missing ':' causing invalid rendering of the docs.

Thank you for the fix!


Jamulus repo in Github has moved.

See https://github.com/jamulussoftware/jamulus/issues/908 for details.

Probably this repo should be moved to organisation as well..? Thanks for contribution and sorry for missing it.


Experiment directory for hydra

❓ Questions and Help
What is your question?
How to work with an experiment directory with Hydra + Fairseq?
One of the best patterns in Hydra is configuring experiments. However, when I try to configure an experiment by:

creating an experiment directory.
creating a config file that overrides the main config.
calling fairseq-hydra-train +experiment=my_experiment

I get:
Error merging experiment=my_experiment
Key 'defaults' not in 'FairseqConfig'
        full_key: defaults
        reference_type=Optional[Dict[Union[str, Enum], Any]]
        object_type=FairseqConfig

I didn't see an explanation in the docs and will appreciate help :)

To use this pattern one needs to:

upgrade hydra to 1.1.
remove the requirement constraint of fairseq for hydra < 1.1.


Fix mpu_stack_guard_test and update README

The mpu_stack_guard sample was failing in both configurations due to incorrect regexes in sample.yaml.
cc: @hakehuang

Codecov Report

Merging #9625 into master will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##           master    #9625   +/-   ##
=======================================
  Coverage   52.15%   52.15%
=======================================
  Files         212      212
  Lines       25916    25916
  Branches     5582     5582
=======================================
  Hits        13517    13517
  Misses      10149    10149
  Partials     2250     2250

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 b92436a...50d07c9. Read the comment docs.

Codecov Report

Merging #9625 into master will not change coverage.
The diff coverage is n/a.

@@          Coverage Diff           @@
##           master   #9625   +/-   ##
======================================
  Coverage    52.3%   52.3%
======================================
  Files         212     212
  Lines       25934   25934
  Branches     5589    5589
======================================
  Hits        13566   13566
  Misses      10122   10122
  Partials     2246    2246

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 bc6fb65...0718c03. Read the comment docs.


how to verify LPCNet

Since there is just LPCNet for RNN testing in this project, I'd like to have a try, and following https://github.com/onnx/keras-onnx/blob/master/applications/lpcnet/README.md, I go to https://github.com/mozilla/LPCNet/, and build it
./autogen.sh
./configure
make

but I did not find a way to install lpcnet for Python?
So when I run convert_lpcnet_to_onnx.py, always got error: ModuleNotFoundError: No module named 'lpcnet'

lpcnet is not a python package, just add its directory to your path.


Private Link limitations should make mention of Paginated Reports

I believe the limitations section should be updated to include Paginated Reports.
Paginated Reports doesn't work with Private Link enabled, nor do any of the options that use the Paginated tech like "View as Formatted Table" on datasets.
Some feedback for the Web UI in the service would also be to disable these options to the end-users, as it's quite a bad user experience to be presented options that will simply never work given how the tenant is configured and leads to support requests for errors returned by the PBI Service.

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

ID: 27338e81-9282-521f-e0b6-245124da59ec
Version Independent ID: 27338e81-9282-521f-e0b6-245124da59ec
Content: Private endpoints for accessing Power BI - Power BI
Content Source: powerbi-docs/enterprise/service-security-private-links.md
Service: powerbi
Sub-service: pbi-security
GitHub Login: @davidiseminger
Microsoft Alias: davidi

Thanks for your comment, @ZacharyMcGuire. This issue has been assigned to the doc author for review.

We'll update the limitations section to reflect paginated reports. Thanks!


How to use for generation work

Thanks for your great work. I do the task of image generation. In my opinion, the current swin-transformer is an encode structure. Is there a corresponding swin-transformer that can be used for decode?

Thank you for your interest in the code. Unfortunately I am not aware of a corresponding Swin Transformer for the task of image generation. There is some work using Tranformers for autoregressive image generation (https://arxiv.org/pdf/1802.05751.pdf) which might help you to adapt the Swin Transformer in a similar way.

Thanks for your advice.


Wait a few seconds for fetching cookie...

Hello, Can i run this on ubuntu VPS or is it for Windows? Sorry I am a newbie and trying to set up this amazing script. I tried running on ubunut and i am getting "Wait a few seconds for fetching cookie..." when I type ./soap2day-dl.sh -p /tv_aTo2Mjs.html and nothing happens.

Hey @azeekhan1, the script should work on Ubuntu. You could run the command with the flag -d to see more logs. Let me know if you saw any errors in the logs.

Hey @azeekhan1, there are other ones having the same issue on Ubuntu VPS. Therefore, I'm closing this issue as duplicate of #22, due to the discussions already involved many people there. If you have more details to share, please feel free to leave comments in #22.


Question about the transformed datasets

Hi! Congrats to your publication.
The transformation of vqa benchmark is interesting. But how can I get the transformed datasets after downloading original classification datasets (running which .py files)?

Hi, thanks for your interest.
I have added scripts to load only the datasets, they are in the root directory named load_*.py.
If you instead want to run the whole pipeline check the run_scripts/ folder.
Hope this helps.

I will close this issue for now since I believe it is solved, feel free to reopen or create a new issue if you have further questions.