cluster crash when delete one of pods.

operator: 2.0
cluster.yaml:
apiVersion: opensearch.opster.io/v1
kind: OpenSearchCluster
metadata:
  name: ops-cluster1
  namespace: opensearch
spec:
  general:
    serviceName: ops-v210
    version: 2.1.0
    additionalConfig:
      plugins.security.ssl.http.enabled: "true"

  dashboards:
    enable: true
    version: 2.1.0
    replicas: 1
    resources:
      requests:
         memory: "512Mi"
         cpu: "200m"
      limits:
         memory: "512Mi"
         cpu: "200m"
  nodePools:
    - component: masters
      replicas: 3
      diskSize: "5Gi"
      persistence:
        emptyDir: {}
      resources:
         requests:
            memory: "2Gi"
            cpu: "500m"
         limits:
            memory: "2Gi"
            cpu: "500m"
      roles:
      - master
      - data
      - remote_cluster_client
      - ingest

A few minute later, cluster create sucess, all pods runing.
kubectl get pods -n opensearch
NAME                                                      READY   STATUS    RESTARTS   AGE
opensearch-operator-controller-manager-54d88b76ff-sffht   2/2     Running   0          94m
ops-cluster1-dashboards-655f8f6dc4-hfcqt                  1/1     Running   0          14m
ops-cluster1-masters-0                                    1/1     Running   0          14m
ops-cluster1-masters-1                                    1/1     Running   0          11m
ops-cluster1-masters-2                                    1/1     Running   0          8m3s

When I delete one pod, such as:
kubectl delete pod ops-cluster1-masters-2
pod "ops-cluster1-masters-2" deleted

As I think a new pod will be started.
But,  kubectl get pod --watch, the cluster crash, hang on wait master-0 ready:
NAME                                                      READY   STATUS    RESTARTS   AGE
opensearch-operator-controller-manager-54d88b76ff-sffht   2/2     Running   0          119m
ops-cluster1-dashboards-655f8f6dc4-8jdqq                  1/1     Running   0          11m
ops-cluster1-masters-0                                    0/1     Running   0          5s
ops-cluster1-masters-1                                    1/1     Running   0          8m43s
ops-cluster1-masters-0                                    0/1     Running   0          2m41s
...
opensearch-operator-controller-manager-54d88b76ff-sffht   2/2     Running   0          176m
ops-cluster1-dashboards-655f8f6dc4-8jdqq                  1/1     Running   0          68m
ops-cluster1-masters-0                                    0/1     Running   0          56m
ops-cluster1-masters-1                                    1/1     Running   0          65m

kubectl describe statefulset:
Name:               ops-cluster1-masters
Namespace:          opensearch
CreationTimestamp:  Wed, 03 Aug 2022 14:35:57 +0800
Selector:           opensearch.role=master,opster.io/opensearch-cluster=ops-cluster1,opster.io/opensearch-nodepool=masters
Labels:             opensearch.role=master
                    opster.io/opensearch-cluster=ops-cluster1
                    opster.io/opensearch-nodepool=masters
Annotations:        banzaicloud.com/last-applied:
                      UEsDBBQACAAIAAAAAAAAAAAAAAAAAAAAAAAIAAAAb3JpZ2luYWzMVt1uGzcTfRVh8F3urlZy9CFZoBdGnLZom1iQkjRAYggUOZJYcUmWP7IFY9+9GK6kUIrd3hRoYMDiLoeHh4dnZv...
Replicas:           3 desired | 2 total
Update Strategy:    OnDelete
Pods Status:        2 Running / 0 Waiting / 0 Succeeded / 0 Failed
Pod Template:
  Labels:       opensearch.role=master
                opster.io/opensearch-cluster=ops-cluster1
                opster.io/opensearch-nodepool=masters
  Annotations:  opster.io/config:
  Init Containers:
   init:
    Image:      public.ecr.aws/opsterio/busybox:latest
    Port:       <none>
    Host Port:  <none>
    Command:
      sh
      -c
    Args:
      chown -R 1000:1000 /usr/share/opensearch/data
    Environment:  <none>
    Mounts:
      /usr/share/opensearch/data from data (rw)
  Containers:
   opensearch:
    Image:       docker.io/opensearchproject/opensearch:2.1.0
    Ports:       9200/TCP, 9300/TCP
    Host Ports:  0/TCP, 0/TCP
    Limits:
      cpu:     500m
      memory:  2Gi
    Requests:
      cpu:      500m
      memory:   2Gi
    Liveness:   tcp-socket :9200 delay=10s timeout=5s period=20s #success=1 #failure=10
    Readiness:  exec [/bin/bash -c curl -k -u "${OPENSEARCH_USER}:${OPENSEARCH_PASSWORD}" --silent --fail https://localhost:9200] delay=30s timeout=1s period=30s #success=1 #failure=3
    Startup:    tcp-socket :9200 delay=10s timeout=5s period=20s #success=1 #failure=10
    Environment:
      cluster.initial_master_nodes:       ops-cluster1-bootstrap-0
      discovery.seed_hosts:               ops-cluster1-discovery
      cluster.name:                       ops-cluster1
      network.bind_host:                  <IP_ADDRESS>
      network.publish_host:                (v1:metadata.name)
      OPENSEARCH_JAVA_OPTS:               -Xmx512M -Xms512M -Dopensearch.transport.cname_in_publish_address=true
      node.roles:                         master,data,remote_cluster_client,ingest
      http.port:                          9200
      OPENSEARCH_USER:                    admin
      OPENSEARCH_PASSWORD:                <set to the key 'password' in secret 'ops-cluster1-admin-password'>  Optional: false
      plugins.security.ssl.http.enabled:  true
    Mounts:
      /usr/share/opensearch/data from data (rw)
  Volumes:
   data:
    Type:       EmptyDir (a temporary directory that shares a pod's lifetime)
    Medium:
    SizeLimit:  <unset>
Volume Claims:  <none>
Events:         <none>

master-0 log:
[2022-08-03T08:52:11,653][WARN ][o.o.c.c.ClusterFormationFailureHelper] [ops-cluster1-masters-0] cluster-manager not discovered yet, this node has not previously joined a bootstrapped cluster, and this node must discover cluster-manager-eligible nodes [ops-cluster1-bootstrap-0] to bootstrap a cluster: have discovered [{ops-cluster1-masters-0}{oMLiflhSSMq2Q4pAJF865g}{H2sNOXXcSzqqhG_vMmv7Tw}{ops-cluster1-masters-0}{<IP_ADDRESS>:9300}{dimr}{shard_indexing_pressure_enabled=true}, {ops-cluster1-masters-1}{Dtydwmv9QZi-STOxVFpUtQ}{dRBGBbm3QZC_bUoc-hIvYQ}{ops-cluster1-masters-1}{<IP_ADDRESS>:9300}{dimr}{shard_indexing_pressure_enabled=true}]; discovery will continue using [<IP_ADDRESS>:9300] from hosts providers and [{ops-cluster1-masters-0}{oMLiflhSSMq2Q4pAJF865g}{H2sNOXXcSzqqhG_vMmv7Tw}{ops-cluster1-masters-0}{<IP_ADDRESS>:9300}{dimr}{shard_indexing_pressure_enabled=true}] from last-known cluster state; node term 0, last-accepted version 0 in term 0
[2022-08-03T08:52:16,896][ERROR][o.o.s.c.ConfigurationLoaderSecurity7] [ops-cluster1-masters-0] Exception while retrieving configuration for [INTERNALUSERS, ACTIONGROUPS, CONFIG, ROLES, ROLESMAPPING, TENANTS, NODESDN, WHITELIST, ALLOWLIST, AUDIT] (index=.opendistro_security)
org.opensearch.cluster.block.ClusterBlockException: blocked by: [SERVICE_UNAVAILABLE/1/state not recovered / initialized];

 ...

[2022-08-03T08:54:21,671][WARN ][o.o.c.c.ClusterFormationFailureHelper] [ops-cluster1-masters-0] cluster-manager not discovered yet, this node has not previously joined a bootstrapped cluster, and this node must discover cluster-manager-eligible nodes [ops-cluster1-bootstrap-0] to bootstrap a cluster: have discovered [{ops-cluster1-masters-0}{oMLiflhSSMq2Q4pAJF865g}{H2sNOXXcSzqqhG_vMmv7Tw}{ops-cluster1-masters-0}{<IP_ADDRESS>:9300}{dimr}{shard_indexing_pressure_enabled=true}, {ops-cluster1-masters-1}{Dtydwmv9QZi-STOxVFpUtQ}{dRBGBbm3QZC_bUoc-hIvYQ}{ops-cluster1-masters-1}{<IP_ADDRESS>:9300}{dimr}{shard_indexing_pressure_enabled=true}]; discovery will continue using [<IP_ADDRESS>:9300] from hosts providers and [{ops-cluster1-masters-0}{oMLiflhSSMq2Q4pAJF865g}{H2sNOXXcSzqqhG_vMmv7Tw}{ops-cluster1-masters-0}{<IP_ADDRESS>:9300}{dimr}{shard_indexing_pressure_enabled=true}] from last-known cluster state; node term 0, last-accepted version 0 in term 0

It seam alway try to find  cluster-manager-eligible nodes "boot-strap-0" node which terminated after cluster created.

Hey @chenyg0911 I have tested the scenario, deleting the pod dint impact the cluster, a new pod started and worked fine, also while the pod is being deleted I was able access the dashboard and everything works fine.
have you tries with latest helm chart ?
helm install opensearch-operator opensearch-operator/opensearch-operator --version 2.0.0

yes,.
helm ls
NAME                    NAMESPACE       REVISION        UPDATED                                 STATUS          CHART                           APP VERSION
opensearch-operator     opensearch      2               2022-08-03 12:48:14.8538691 +0800 CST   deployed        opensearch-operator-2.0.0       v2.0

describe operator controller.
 kc describe pod opensearch-operator-controller-manager-54d88b76ff-sffht
Name:         opensearch-operator-controller-manager-54d88b76ff-sffht
Namespace:    opensearch
Priority:     0
Node:         node3/<IP_ADDRESS>
Start Time:   Wed, 03 Aug 2022 12:48:17 +0800
Labels:       control-plane=controller-manager
              pod-template-hash=54d88b76ff
Annotations:  cni.projectcalico.org/containerID: dd2e532bb11b6139f5307b0f9ec2555ebbae47775730ab464de3a4bd8edc4771
              cni.projectcalico.org/podIP: <IP_ADDRESS>/32
              cni.projectcalico.org/podIPs: <IP_ADDRESS>/32
Status:       Running
IP:           <IP_ADDRESS>
IPs:
  IP:           <IP_ADDRESS>
Controlled By:  ReplicaSet/opensearch-operator-controller-manager-54d88b76ff
Containers:
  kube-rbac-proxy:
    Container ID:  containerd://bac20a63bc443767d99e529df4449ab0b2dfa1ebbc4ffa6c5adf7b18ac0d621b
    Image:         gcr.io/kubebuilder/kube-rbac-proxy:v0.8.0
    Image ID:      gcr.io/kubebuilder/kube-rbac-proxy@sha256:db06cc4c084dd0253134f156dddaaf53ef1c3fb3cc809e5d81711baa4029ea4c
    Port:          8443/TCP
    Host Port:     0/TCP
    Args:
      --secure-listen-address=<IP_ADDRESS>:8443
      --upstream=http://<IP_ADDRESS>:8080/
      --logtostderr=true
      --v=10
    State:          Running
      Started:      Wed, 03 Aug 2022 12:48:23 +0800
    Ready:          True
    Restart Count:  0
    Environment:    <none>
    Mounts:
      /var/run/secrets/kubernetes.io/serviceaccount from kube-api-access-vhk8f (ro)
  operator-controller-manager:
    Container ID:  containerd://13abdb2d73e0a563a3f6eb28a078e3876a0d283d325f2e71d50d8e0a7b9b41d1
    Image:         public.ecr.aws/opsterio/opensearch-operator:v2.0
    Image ID:      public.ecr.aws/opsterio/opensearch-operator@sha256:6d7877a7e63ef482945cc34ea4d5d0daccc99f3140cf484caa7174ca9e6d2084
    Port:          <none>
    Host Port:     <none>
    Command:
      /manager
    Args:
      --health-probe-bind-address=:8081
      --metrics-bind-address=<IP_ADDRESS>:8080
      --leader-elect
    State:          Running
      Started:      Wed, 03 Aug 2022 12:48:35 +0800
    Ready:          True
    Restart Count:  0
    Limits:
      cpu:     2
      memory:  1Gi
    Requests:
      cpu:        2
      memory:     1Gi
    Environment:  <none>
    Mounts:
      /var/run/secrets/kubernetes.io/serviceaccount from kube-api-access-vhk8f (ro)
Conditions:
  Type              Status
  Initialized       True
  Ready             True
  ContainersReady   True
  PodScheduled      True
Volumes:
  kube-api-access-vhk8f:
    Type:                    Projected (a volume that contains injected data from multiple sources)
    TokenExpirationSeconds:  3607
    ConfigMapName:           kube-root-ca.crt
    ConfigMapOptional:       <nil>
    DownwardAPI:             true
QoS Class:                   Burstable
Node-Selectors:              <none>
Tolerations:                 node.kubernetes.io/not-ready:NoExecute op=Exists for 300s
                             node.kubernetes.io/unreachable:NoExecute op=Exists for 300s
Events:                      <none>

Hey @chenyg0911 , did older version of the operator wax installed on you env before? if yes, can you please delete the crds and the deployment and the reinstall the latest version?

I'll try to reinstall the operator in a fresh cluster to test it. will feedback later.

Hey @chenyg0911 can you please post an update?
Thank you

yes. I create a new k8s cluster and test again. test opensearch v2.1.0 and v2.0.1.  the result is same as before.
~/kubernetes-workshop/operators/opensearch-operator$ kc get pods
NAME                                                      READY   STATUS    RESTARTS        AGE
opensearch-operator-controller-manager-54d88b76ff-dsdgl   2/2     Running   28 (175m ago)   9d
ops-cluster1-dashboards-59dc9d77d8-zjftm                  1/1     Running   0               12m
ops-cluster1-masters-0                                    1/1     Running   0               12m
ops-cluster1-masters-1                                    1/1     Running   0               8m51s
ops-cluster1-masters-2                                    1/1     Running   0               4m51s
chenyg@SkullCanyon:~/kubernetes-workshop/operators/opensearch-operator$ kc delete pod ops-cluster1-masters-1
pod "ops-cluster1-masters-1" deleted
chenyg@SkullCanyon:~/kubernetes-workshop/operators/opensearch-operator$ kgpow
NAME                                                      READY   STATUS        RESTARTS        AGE
opensearch-operator-controller-manager-54d88b76ff-dsdgl   2/2     Running       28 (175m ago)   9d
ops-cluster1-dashboards-59dc9d77d8-zjftm                  1/1     Running       0               12m
ops-cluster1-masters-0                                    1/1     Terminating   0               12m
ops-cluster1-masters-2                                    1/1     Running       0               5m19s
ops-cluster1-masters-0                                    1/1     Terminating   0               13m
ops-cluster1-masters-0                                    0/1     Terminating   0               13m
ops-cluster1-masters-0                                    0/1     Terminating   0               13m
ops-cluster1-masters-0                                    0/1     Terminating   0               13m
ops-cluster1-masters-0                                    0/1     Pending       0               0s
ops-cluster1-masters-0                                    0/1     Pending       0               0s
ops-cluster1-masters-0                                    0/1     Init:0/1      0               0s
ops-cluster1-masters-0                                    0/1     Init:0/1      0               6s
ops-cluster1-masters-0                                    0/1     PodInitializing   0               17s
ops-cluster1-masters-0                                    0/1     Running           0               22s

hang on start mater-0. pod log:
[2022-08-22T04:35:38,864][WARN ][o.o.c.c.ClusterFormationFailureHelper] [ops-cluster1-masters-0] cluster-manager not discovered yet, this node has not previously joined a bootstrapped cluster, and this node must discover cluster-manager-eligible nodes [ops-cluster1-bootstrap-0] to bootstrap a cluster: have discovered [{ops-cluster1-masters-0}{SFp9rHx-S8OoX2UvvtR0NA}{kCr5enP8SUq_4ZgBal-SEg}{ops-cluster1-masters-0}{<IP_ADDRESS>:9300}{dimr}{shard_indexing_pressure_enabled=true}, {ops-cluster1-masters-2}{-5wRtkgrS2GqF98BdIi5Qw}{awwCD3ABTjy_ktKxrNCtfg}{ops-cluster1-masters-2}{<IP_ADDRESS>:9300}{dimr}{shard_indexing_pressure_enabled=true}]; discovery will continue using [<IP_ADDRESS>:9300] from hosts providers and [{ops-cluster1-masters-0}{SFp9rHx-S8OoX2UvvtR0NA}{kCr5enP8SUq_4ZgBal-SEg}{ops-cluster1-masters-0}{<IP_ADDRESS>:9300}{dimr}{shard_indexing_pressure_enabled=true}] from last-known cluster state; node term 0, last-accepted version 0 in term 0
[2022-08-22T04:35:45,017][ERROR][o.o.s.c.ConfigurationLoaderSecurity7] [ops-cluster1-masters-0] Exception while retrieving configuration for [INTERNALUSERS, ACTIONGROUPS, CONFIG, ROLES, ROLESMAPPING, TENANTS, NODESDN, WHITELIST, AUDIT] (index=.opendistro_security)
org.opensearch.cluster.block.ClusterBlockException: blocked by: [SERVICE_UNAVAILABLE/1/state not recovered / initialized];
        at org.opensearch.cluster.block.ClusterBlocks.globalBlockedException(ClusterBlocks.java:204) ~[opensearch-2.0.1.jar:2.0.1]

test with opensearch v1.3.1:
~/kubernetes-workshop/operators/opensearch-operator$ kgpow
NAME                                                      READY   STATUS    RESTARTS         AGE
opensearch-operator-controller-manager-54d88b76ff-dsdgl   2/2     Running   28 (3h25m ago)   9d
ops-cluster1-dashboards-6bfcb77874-ltpq2                  1/1     Running   0                16m
ops-cluster1-masters-0                                    1/1     Running   0                16m
ops-cluster1-masters-1                                    1/1     Running   0                9m44s
ops-cluster1-masters-2                                    1/1     Running   0                5m13s
~/kubernetes-workshop/operators/opensearch-operator$ krmpo ops-cluster1-masters-1
pod "ops-cluster1-masters-1" deleted
~/kubernetes-workshop/operators/opensearch-operator$ kgpow
NAME                                                      READY   STATUS        RESTARTS         AGE
opensearch-operator-controller-manager-54d88b76ff-dsdgl   2/2     Running       28 (3h26m ago)   9d
ops-cluster1-dashboards-6bfcb77874-ltpq2                  1/1     Running       0                17m
ops-cluster1-masters-0                                    1/1     Terminating   0                17m
ops-cluster1-masters-1                                    0/1     Init:0/1      0                3s
ops-cluster1-masters-2                                    1/1     Running       0                5m32s
ops-cluster1-masters-0                                    1/1     Terminating   0                17m
ops-cluster1-masters-1                                    0/1     PodInitializing   0                7s
ops-cluster1-masters-1                                    0/1     Running           0                8s
ops-cluster1-masters-0                                    0/1     Terminating       0                17m
ops-cluster1-masters-0                                    0/1     Terminating       0                17m
ops-cluster1-masters-0                                    0/1     Terminating       0                17m
ops-cluster1-masters-0                                    0/1     Pending           0                0s
ops-cluster1-masters-0                                    0/1     Pending           0                0s
ops-cluster1-masters-0                                    0/1     Init:0/1          0                0s
ops-cluster1-masters-0                                    0/1     Init:0/1          0                7s
ops-cluster1-masters-0                                    0/1     PodInitializing   0                17s
ops-cluster1-masters-0                                    0/1     Running           0                22s
ops-cluster1-masters-1                                    0/1     Running           0                3m1s
ops-cluster1-masters-0                                    0/1     Running           0                3m20s
~/kubernetes-workshop/operators/opensearch-operator$ kgpow
NAME                                                      READY   STATUS    RESTARTS         AGE
opensearch-operator-controller-manager-54d88b76ff-dsdgl   2/2     Running   28 (3h32m ago)   9d
ops-cluster1-dashboards-6bfcb77874-ltpq2                  1/1     Running   0                23m
ops-cluster1-masters-0                                    0/1     Running   0                6m13s
ops-cluster1-masters-1                                    0/1     Running   0                6m23s
ops-cluster1-masters-2                                    1/1     Running   0                11m

kc logs ops-cluster1-masters-0
[2022-08-22T05:05:57,438][WARN ][o.o.c.c.ClusterFormationFailureHelper] [ops-cluster1-masters-0] master not discovered yet, this node has not previously joined a bootstrapped (v7+) cluster, and this node must discover master-eligible nodes [ops-cluster1-bootstrap-0] to bootstrap a cluster: have discovered [{ops-cluster1-masters-0}{PvxjQK48Tjue4gWe7VAMCg}{6lY-tC_eR8-M-lBRL2XDCw}{ops-cluster1-masters-0}{<IP_ADDRESS>:9300}{dimr}{shard_indexing_pressure_enabled=true}, {ops-cluster1-masters-1}{OuJGQ8slTRyLzZX8R9MhAA}{m_5F6k-0QB-egwHtSPwUEw}{ops-cluster1-masters-1}{<IP_ADDRESS>:9300}{dimr}{shard_indexing_pressure_enabled=true}, {ops-cluster1-masters-2}{gvubjEAZRF66YY-XdsVRjQ}{XpAo2W_NShyHsPwDGmKTtg}{ops-cluster1-masters-2}{<IP_ADDRESS>:9300}{dimr}{shard_indexing_pressure_enabled=true}]; discovery will continue using [<IP_ADDRESS>:9300, <IP_ADDRESS>:9300] from hosts providers and [{ops-cluster1-masters-0}{PvxjQK48Tjue4gWe7VAMCg}{6lY-tC_eR8-M-lBRL2XDCw}{ops-cluster1-masters-0}{<IP_ADDRESS>:9300}{dimr}{shard_indexing_pressure_enabled=true}] from last-known cluster state; node term 0, last-accepted version 0 in term 0

update.
When create cluster persistense use pvc(emptydir will hang), when delete pod master-1, the master-0 will restart, then master-1. It take a long time (about 6 mins).
~/kubernetes-workshop/operators/opensearch-operator$ krmpo ops-220-masters-1
pod "ops-220-masters-1" deleted
~/kubernetes-workshop/operators/opensearch-operator$ kgpow
NAME                                                      READY   STATUS     RESTARTS      AGE
opensearch-operator-controller-manager-54d88b76ff-zqz6t   2/2     Running    0             23m
ops-220-dashboards-5bb8bb548-gqtmq                        1/1     Running    1 (19m ago)   23m
ops-220-masters-0                                         0/1     Init:0/1   0             8s
ops-220-masters-2                                         1/1     Running    0             14m
ops-220-masters-0                                         0/1     Init:0/1   0             11s
ops-220-masters-0                                         0/1     PodInitializing   0             15s
ops-220-masters-0                                         0/1     Running           0             16s
ops-220-masters-0                                         0/1     Running           0             2m20s
ops-220-masters-0                                         1/1     Running           0             3m1s
ops-220-masters-1                                         0/1     Pending           0             0s
ops-220-masters-1                                         0/1     Pending           0             0s
ops-220-masters-1                                         0/1     Init:0/1          0             0s
ops-220-masters-1                                         0/1     Init:0/1          0             18s
ops-220-masters-1                                         0/1     PodInitializing   0             32s
ops-220-masters-1                                         0/1     Running           0             37s
ops-220-masters-1                                         0/1     Running           0             2m20s
ops-220-masters-1                                         1/1     Running           0             2m30s


Time-dependent potential time evolution in Quantum_Basics.jl

Time-dependent potential time evolution is wrong in Quantum_Basics.jl, need to replace by integration over time

Yeah, fixed


WIP: Reasoning Support

For some use cases, our library needs reasoning support.  This seems particularly important for the Siemens use case in RAKI. Also for DAIKIRI it would be beneficial (e.g., transitivity of previous/next events).
Potential options to realize reasoning:

Use owlready2's reasoner bindings
Create our own reasoner bindings to a Java reasoner, e.g., to HermiT or Pellet
Use existing Python reasoner, e.g., CWM or OWL-RL (might be slow)

I believe the options should be explored in this order. Feel free to add further comments, opinions, and the results of initial approaches/experiments.

Alex' Tentris
SPARQL
(OWLLink) we don't currently need open world


Size not respected when [key] input changes

I'm submitting a...

[ ] Regression (a behavior that used to work and stopped working in a new release)
[X] Bug report
[ ] Performance issue
[ ] Feature request
[ ] Documentation issue or request
[ ] Support request
[ ] Other... Please describe:

Current behavior
I have a detail component which displays an svg-icon:
<svg-icon color="white" size="lg" [key]="getKey()"></svg-icon>
The initial size of the icon is indeed large (48px):
<svg-icon _ngcontent-vst-c67="" color="white" size="lg" _nghost-vst-c18="" ng-reflect-color="white" ng-reflect-size="lg" ng-reflect-key="first" role="img" class="svg-icon-first" style="color: white; font-size: 48px;">
When the single @Input of the component changes the key is updated according. The icon changes correctly but the size is reverted to the default size of medium (20px) instead of the specified size of large due to the style attribute having the incorrect font-size:
<svg-icon _ngcontent-vst-c67="" color="white" size="lg" _nghost-vst-c18="" ng-reflect-color="white" ng-reflect-size="lg" ng-reflect-key="second" role="img" class="svg-icon-second" style="color: white; font-size: 20px;">
Expected behavior
The size should remain large.
Minimal reproduction of the problem with instructions
Create a component with an @Input that changes the svg-icon's key input.
Environment

Angular version: 11.0.5

Browser:
- [X] Chrome (desktop) version 87.0.4280.88
- [ ] Chrome (Android) version XX
- [ ] Chrome (iOS) version XX
- [ ] Firefox version XX
- [ ] Safari (desktop) version XX
- [ ] Safari (iOS) version XX
- [ ] IE version XX
- [ ] Edge version XX

Do you want to create a PR? The issue is here

Unfortunately I am too inexperienced to do this, however I can suggest the code change:
private fz: string **= null**;

...

if (changes.fontSize?.currentValue) {
  resolveFontSize = changes.fontSize.currentValue;
} else if (changes.size?.currentValue) {
  const size = changes.size.currentValue;
  resolveFontSize = this.mergedConfig.sizes[size];
**} else if (this.fz !== null) {
  resolveFontSize = this.fz;**
} else {
  const size = this.mergedConfig.defaultSize;
  if (size) {
    resolveFontSize = this.mergedConfig.sizes[size];
  }
}

I just tested it and it works fine.

Try to reproduce it on stackblitz, please.

https://stackblitz.com/edit/angular-jqiivv?file=src/app/app.component.ts

Ok so that was the case on my side: https://stackblitz.com/edit/angular-ylikhn?file=src%2Fapp%2Fapp.module.ts
That's why it important to reproduce :)

You forgot to define the default md size in the config. Then it will not change back to the default size indeed.

Try 2.1.1

It works 2 times now, but then it fails again. See my stackblitz.

resolveFontSize will be set to undefined after the first change. Then the next change it will revert back to default size. I guess my proposed fix will work.

Sorry, I'm not in focus. Try 2.1.2

And fixed 😃 Thanks for your help and happy 2021!


Shadow colors cannot be set

With any value I try in wayfire.ini I get this message, even with the default value. Maybe I'm missing something. Latest git.
353 [winshadows]
354 include_undecorated_views = true
355 shadow_color = #00000070
356 shadow_radius = 50
357 vertical_offset = 10
358 horizontal_offset = 5

`journalctl`

`mar 04 08:07:09 wayfire[938000]: EE 04-03-23 08:07:09.567 - [src/file.cpp:340] Error in file /home/stef/.config/lxqt-wayland/wayfire.ini:355, invalid option value!
`

I think you have to add a backslash before the # symbol, otherwise wayfire treats it is a comment.
btw, I'd suggest you to use wcm to configure this plugin, it will be easier. I wrote the metadata to work well with wcm.

Thought I'd tested backlash too -  anyway like that it works.
 shadow_color = \#A51D2DFF

Do you really want shadows in that color or was that just an example?
If yes I'd like to see a screenshot 😄

No, this was for testing :)


Feat/blog diskless flavors

I merged the branch into staging for easier review:
https://staging.scs.community/website/2023/08/21/diskless-flavors/
I still need to fix the two broken links into the _assets/scripts/ directory.
Will figure this out tomorrow (or tonight) ... but this should not prevent reviews from happening :-)

This blog post closes #711.

The examples go from low level OpenStack API to higher abstraction with the first example (horizon) just being the teaser to show that mouse users can do it as well. So in order of increasing real-world relevance...


Added support for HTTP based auth.

Contains rough support for HTTP-based verification (manuale authorized --method=http DOMAIN), because a certain ISP does not allow setting custom TXT records.

Thanks so much for this! I'll try to merge and release this on the weekend.

Thanks for this and sorry for slacking off for so long. Made some tweaks and merged.

Thanks for this and sorry for slacking off for so long. Made some tweaks and merged.


Use SSVG for visualizations

It's crazy. It turns SVG into canvas renderings that are just a lot faster.
I don't know if it can work for our graph visualization. But it would be worth a try!

https://ssvg.io/


Abstract DNS API

Create an abstract DNS API
API (PowerDNS): https://github.com/projectjellyfish/api/issues/230
UX: https://github.com/projectjellyfish/ux/issues/171

fog provides that layer in API.


Fix: Canada Victoria Day correction in test and calculation

Corrected the Victoria Day date for 2024 to be May 20th in test snapshot, not May 27th.
Corrected the code in src/Countries/Canada.php to calculate the correct date for Victoria Day.
Canada Victoria Day is always the first Monday in May preceding May 25th(and not including).
The Monday will always be between May 18th and May 24th.

Thanks!


"Could not reconnect"

Web Browser:
Local OS:
Remote OS: FreeBSD
Remote Architecture: Amd64
code-server --version: 3.4.1 / 3.5.0

"Could not reconnect" error, I reinstalled code-server many times and I could not find solution for this error.
It seems to disconnect at the same point the terminal would have been loaded.

Could you grab the extension host and code-server logs? https://github.com/cdr/code-server/blob/v3.5.0/doc/FAQ.md#how-do-i-debug-issues-with-code-server

Just as an FYI. I got this same pop up lot with the current version of code server and so reverted to the previous release.

Interesting, there have been a number of reports now that 3.5.0 has this problem while 3.4.1 doesn't. I'll take a look at the differences, maybe something will stand out.

@code-asher You are not able to reproduce I assume? If you don't see anything I'll try to recreate a docker container that would demonstrate it happening regularly. Let me know.

Correct, I haven't been able to reproduce yet. If you can recreate it in a Docker container that would be helpful!

Having a hard time pinning this down but I think it happens predominately when I'm working with python files so I think there might be an interaction there. Packages used are the latest from market place.
I did create a docker file and the easiest way to launch code server from that container is to run the script in the attached zip file. The docker image is vnijs/rsm-msba-cdr and Code Server is started from JypyterLab on port 8989.
launch-rsm-msba-cdr.zip
Python libraries used:
VisualStudioExptTeam.vscodeintellicode-1.2.10.vsix
ms-python.python-2020.9.114305.vsix
ms-python.vscode-pylance-2020.10.0.vsix
The other packages used shown below.
CoenraadS.bracket-pair-colorizer-2-0.2.0.vsix
Ikuyadeu.r-1.4.6.vsix
RDebugger.r-debugger-0.3.1.vsix
REditorSupport.r-lsp-0.1.11.vsix
alefragnani.project-manager-11.3.0.vsix
christian-kohler.path-intellisense-2.3.0.vsix
eamodio.gitlens-10.2.2.vsix

Same issue here. Happens as soon as the window is loaded. Will probably revert back to 3.5.0 for now.

Hi, @hanneshayashi . I had the same issue after upgrade to 3.6.0. Resolved it after rebooting my machine.

Same Issue for me on both 3.5.0 & 3.6.0. And it seems that if I use a global VPN, then I can reconnect again. If turn off the VPN, I can only connect for the first time after rebooting, and cannot reconnect after refreshing the page.

The messages/issue is hard to pin down and I don't see anything in "code-server --log trace". It happens sometimes after I install an extension that needs a reload to start working. I can only tell that the error is about to happen the fact that BracketPairColorizer (version 1 because version 2 doesn't work with 3.5 or 3.6) doesn't kick in right away.
https://marketplace.visualstudio.com/items?itemName=CoenraadS.bracket-pair-colorizer

Just tried out 3.6.1. "Cannot reconnect" seems to happen pretty much any time I click an icon in the left navigation bar now. Something about a "handshake timeout" (see below).
Old grammar file: vscode-remote://localhost:8989/opt/code-server/lib/vscode/extensions/r/syntaxes/r.tmLanguage.json.
 Error:
log.ts:197   ERR Error: handshake timeout
    at remoteAgentConnection.ts:118
log.ts:197   ERR [remote-connection] An error occurred in the very first connect attempt, it will be treated as a permanent error!  I haven't seen any "reconnect" issues! Also, all extensions I have tried (incl python) seem to work! Well, except for Bracket-pair-colorizer-2 that is :)

Yes!! I'm relieved to hear that. Thank you for testing it out.
Hopefully I'll have time to fix the bracket colorizer plugin soon
(most likely it will be next week).

Closing for now, if anyone sees more connection failures please let me know. Will use https://github.com/cdr/code-server/issues/2197 to track the bracket plugin issue.


MouseWithoutBorders move relatively regression (with bisect)

Microsoft PowerToys version
0.72.0
Installation method
PowerToys auto-update
Running as admin
No
Area(s) with issue?
Mouse Without Borders
Steps to reproduce
Computer 1 has one monitor
Computer 2 has three side by side.
Arrange them in MWB with Computer 1 to the right of Computer 2 so the screens are as below
2 2 2 1
Use mouse attached to computer 1
Select "move mouse relatively" so it does not move too fast when on the monitors of computer 2.
Try to move the mouse from computer 2 to computer 1 (move it off the right edge of computer 2's rightmost monitor)
It will frequently warp back to the left side of that monitor instead of moving to computer 1's monitor.
✔ Expected Behavior
I would expect the cursor to move to computer 1's monitor
❌ Actual Behavior
It will frequently warp back to the left side of that monitor instead of moving to computer 1's monitor.
Other Software
No response

This issue is described here https://answers.microsoft.com/en-us/windows/forum/all/mouse-without-borders-only-works-one-direction/6ff133d2-cff7-41cf-8d10-5670559422df
In the initial MWB release as part of Power Toys this was fixed.  It worked in 0.71.0.  Upon upgrading to 0.72.0 the old behavior was back.
I ran a git bisect on it and the commit that (re)introduced the bad behavior was the following (though TBH there isn't really another it could have been)
c3c15ffad147249b6bcd40032c8e3577d4b86da9 is the first bad commit
commit c3c15ffad147249b6bcd40032c8e3577d4b86da9
Author: Andrey Nekrasov<EMAIL_ADDRESS>Date:   Mon Jul 10 18:32:20 2023 +0200
[MWB] Use UWP API to inject mouse input (#27229)

* [MWB] Use UWP API to inject mouse input

Directory.Packages.props                           |  1 +
NOTICE.md                                          |  1 +
.../App/Class/Common.InitAndCleanup.cs             | 16 ++++++++
.../App/Class/InputSimulation.cs                   | 46 +++++++++++++++++-----
.../MouseWithoutBorders/App/Class/NativeMethods.cs |  2 +
.../App/MouseWithoutBorders.csproj                 |  1 +
6 files changed, 57 insertions(+), 10 deletions(-)
Compiling from current code but ensuring the new path is not used as so
if (input.type == 0 && (input.mi.dwFlags & (int)NativeMethods.MOUSEEVENTF.MOVE) != 0 && NativeMethods.InjectMouseInputAvailable **&& false**)
allows the cursor to move consistently from computer 2 to computer 1 again.

Best I can tell, CommonReceiver.cs approx line 149 runs InputSimulation.MoveMouseRelative.  That method then calls SendInputEx (which uses either the broken for me InjectMouseInput or SendInput64).
Back in CommonReceiver it then calls
Point p = MoveToMyNeighbourIfNeeded(lastXY.X, lastXY.Y, MachineID);
to decide whether to move control over.  Given that the change from working to broken is in SendInputEx I have to assume by the time flow reaches MoveToMyNeighbourIfNeeded the cursor has already been warped back from the edge of the screen in InjectMouseInput
As that is separate code from Power Toys I don't think InjectMouseInput can be changed to fix a MWB bug.  Can MWB check if it would go off the (edgemost) screen and lower the deltaX and deltaY to keep it right at the edge before calling InjectMouseInput so the cursor doesn't get warped away from the edge in InjectMouseInput (and MoveToMyNeighbourIfNeeded can then work as expected)?

"could you please try that to see if it fixes the issue?"  Sorry, what does "that" mean in this context?
I did see the issues with the 1000hz mouse, it's nice that the UWP API fixes that.  It's unfortunate that it breaks move mouse relatively for me.  The timeline makes sense: I never saw the 1000hz bug with standalone MWB, it appeared with the Power Toys version (when the move relatively bug went away).
SendInput as a user facing option would be fine.  I'd rather move relatively work; I can turn down the polling rate to deal with the other issue.  Though ultimately it would be nice to fix both

I think you are spot on with the race condition.  I tried checking if lastXY.X + deltaX > desktopbounds.right and if so shrinking deltaX to keep the final position less than desktopbounds.right.  No difference.  Several deltaX values could be queued up before getCursorPos gets an updated position which altogether could then add up to greater than desktopbounds.right.
"calculate lastXY based on the packages received" - brainstorming (using unrealistically small numbers for ease): say lastX is at 90, screen edge is at 100.  Two incoming packets in a row with deltaX of positive 6.  Both get batched before the result is reflected in GetCursorPos.  On each packet reception, lastX (90) + deltaX (6) is less than 100, so no move to neighbor.  Then the movements are applied in batch and the new pos is 102 and gets warped back to the left.  Would have to take into account both incoming packets for the addition and comparison.  But when I say "both" that means starting when?  Would one have to keep an internal value of expected lastX that's only updated by each deltaX?  I could see that drifting out of synch with the actual position over time (especially if the user moves the mouse actually attached to that system!).  One could call GetCursorPos periodically as a sort of keyframe but it would be subject to the same pitfalls.  How to be certain that call reflects all the incoming packets to that point?  Call GetCursorPos to rebase if there haven't been any incoming movement packets for long enough to be reasonably certain any queue would have been flushed?
I'm mulling over using InjectMouseInput unless the cursor is near the edge of the screen (and then using SendInput).  I suspect that would only reduce the issue not fix it entirely.  As it is running in a separate thread even with SendInput the race condition could still happen.  I think it happens less since SendInput isn't batched, but I do feel like I've seen the mouse warp at least once with SendInput (though I can't reproduce it at will like I can with InjectMouseInput)
tl;dr would be nice if the cursor didn't warp from calling InjectMouseInput haha


Clean up examples

less grid more environment, fix lighting everywhere

and, really, get rid of anything that isn't VR-viable...


A release that is deployed is not show in helm list

We have a release and the status is deployed:
~ helm status my-app-gr
NAME: my-app-gr
LAST DEPLOYED: Thu Oct 27 12:31:53 2022
NAMESPACE: default
STATUS: deployed
REVISION: 258
TEST SUITE: None

But it doesn't show in helm list:
~ helm list | grep my-app-gr
~ helm list -A --all | grep my-app
~

I can see the Helm release secrets though:
~ kubectl get secret | grep my-app-gr
sh.helm.release.v1.my-app-gr.v256                               helm.sh/release.v1                    1      28h
sh.helm.release.v1.my-app-gr.v257                               helm.sh/release.v1                    1      3h29m
sh.helm.release.v1.my-app-gr.v258                               helm.sh/release.v1                    1      161m

And helm history works:
~ helm history my-app-gr
REVISION	UPDATED                 	STATUS         	CHART                 	APP VERSION	DESCRIPTION
256     	Wed Oct 26 10:31:03 2022	pending-upgrade	my-app-0.1.0	           	Preparing upgrade
257     	Thu Oct 27 13:44:50 2022	superseded     	my-app-0.1.0	           	Rollback to 256
258     	Thu Oct 27 12:31:53 2022	deployed       	my-app-0.1.0	           	Upgrade complete

But still doesn't show in helm list, that's a bug, right?
Output of helm version:
~ helm version
version.BuildInfo{Version:"v3.9.2", GitCommit:"1addefbfe665c350f4daf868a9adc5600cc064fd", GitTreeState:"clean", GoVersion:"go1.18.4"}

Output of kubectl version:
~ kubectl version
Client Version: version.Info{Major:"1", Minor:"24", GitVersion:"v1.24.3", GitCommit:"aef86a93758dc3cb2c658dd9657ab4ad4afc21cb", GitTreeState:"clean", BuildDate:"2022-07-13T14:21:56Z", GoVersion:"go1.18.4", Compiler:"gc", Platform:"darwin/arm64"}
Kustomize Version: v4.5.4
Server Version: version.Info{Major:"1", Minor:"21+", GitVersion:"v1.21.14-eks-6d3986b", GitCommit:"8877a3e28d597e1184c15e4b5d543d5dc36b083b", GitTreeState:"clean", BuildDate:"2022-07-20T22:05:32Z", GoVersion:"go1.16.15", Compiler:"gc", Platform:"linux/amd64"}

Cloud Provider/Platform: AWS EKS

Do you happen to have a way to reproduce this issue?

Do you happen to have a way to reproduce this issue?

I don't think so, I just noticed it randomly. Is there any commands I can run to collect some debug? There was nothing interesting in -v9 argument.

I can only guess that it was some environmental situation that caused this. Someone hit ctrl-c, or lost connection, or forgot something was happening in one window and ran helm again in another. Without the sequence of events, I don't think there's any way to figure out what happened.
With no way to reproduce this, I'm going to have to close this issue. Please feel free to file a new one if you find out how to duplicate it.


bug: Memory is leaking between page transitions

Type: bug
Platform: all
My team and I are having a memory leak issue. Initially we thought it was ui-router, so I made this plunker to test it out http://embed.plnkr.co/rtIGJCG5ahlocHJ0gdmb/preview
There was no leak using just ui-router. Then I tried it with Ionic and it seems to be leaking when you go back and forth between the Main and Leak states using $state.go http://embed.plnkr.co/ZpeGhZzLywIIP2RMjYLX/preview
I measured by taking heap snapshots in Chrome Dev Tools and in doing so you can see the Detached DOM tree entries rising and an (array) entry rising considerably. You need a lot of nodes to make a large dent in the memory usage so the Leak state is pretty big. You can recreate what I did by taking a snapshot before going anywhere, then going to the Leak state and then back to the Main state and taking another snapshot and repeating the process a few times. The heap size never falls.
Here is a screenshot of the snapshots, I went back and forth a few times between snaps 3 and 4 to enunciate the leak http://i.imgur.com/0H6WCWf.png
I'm not too sure how to read heap comparisons, so any kind of help or work around would be great.

Any update on this? I also face the same issue.

The existing ticket is #1096, please continue the discussion there.


ValueError: export_outputs must be a dict and not<type 'NoneType'>

I am new to SageMaker and TensorFlow. I am trying to train a simple CNN binary classifier from scratch on SageMaker.
I run the following in the notebook instance:
from sagemaker.tensorflow import TensorFlow

dogscats_classifier = TensorFlow(entry_point='classifier.py',
                               role=role,
                               training_steps= 100,
                               evaluation_steps= 100,
                               hyperparameters={'learning_rate': 0.001},
                               train_instance_count=1,
                               train_instance_type='ml.m4.xlarge')

#this s3 directory contains 3 .tfrecords files (train, val, and test)
dogscats_classifier.fit('s3://sagemaker-tutorials1/dogscats/')

Here is the code in the 'classifier.py' file:
import os
import tensorflow as tf
from tensorflow.python.estimator.export.export import build_raw_serving_input_receiver_fn
from tensorflow.python.estimator.export.export_output import PredictOutput

INPUT_TENSOR_NAME = "image"
SIGNATURE_NAME = "serving_default"
params = {"learning_rate": 0.0001}

def model_fn(features, labels, mode, params):
    # Args:
    #
    # features: This is the x-arg from the input_fn.
    # labels:   This is the y-arg from the input_fn,
    #           see e.g. train_input_fn for these two.
    # mode:     Either TRAIN, EVAL, or PREDICT
    # params:   User-defined hyper-parameters, e.g. learning-rate.

    inputs = features[INPUT_TENSOR_NAME]

    # First convolutional layer.
    conv1 = tf.layers.conv2d(inputs, name='layer_conv1',
                           filters=32, kernel_size=3,
                           padding='same', activation=tf.nn.relu)
    pool1 = tf.layers.max_pooling2d(conv1, pool_size=2, strides=2)
    # Second convolutional layer.
    conv2 = tf.layers.conv2d(pool1, name='layer_conv2',
                           filters=64, kernel_size=3,
                           padding='same', activation=tf.nn.relu)
    pool2 = tf.layers.max_pooling2d(conv2, pool_size=2, strides=2)
    # Third convolutional layer.
    conv3 = tf.layers.conv2d(pool2, name='layer_conv3',
                           filters=128, kernel_size=3,
                           padding='same', activation=tf.nn.relu)
    pool3 = tf.layers.max_pooling2d(conv3, pool_size=2, strides=2)
    # Flatten to a 2-rank tensor.
    flat = tf.contrib.layers.flatten(pool3)
    # First fully-connected / dense layer.
    # This uses the ReLU activation function.
    dense1 = tf.layers.dense(flat, name='layer_fc1',
                          units=512, activation=tf.nn.relu)
    # Second fully-connected / dense layer.
    # This is the last layer so it does not use an activation function.
    net = tf.layers.dense(dense1, name='layer_fc2',
                          units=1)
    # Logits output of the neural network.
    logits = net
    # Softmax output of the neural network.
    y_pred = tf.nn.sigmoid(logits)
    # Classification output of the neural network.
    y_pred_cls = tf.round(y_pred)

    if mode == tf.estimator.ModeKeys.PREDICT:
        spec = tf.estimator.EstimatorSpec(mode=mode,
                                          predictions=y_pred_cls)
    else:
        loss = tf.losses.sigmoid_cross_entropy(labels, logits)
        optimizer = tf.train.AdamOptimizer(learning_rate=params["learning_rate"])

        train_op = optimizer.minimize(
            loss=loss, global_step=tf.train.get_global_step())

        metrics = \
        {
            "accuracy": tf.metrics.accuracy(labels, y_pred_cls)
        }

        spec = tf.estimator.EstimatorSpec(
            mode=mode,
            loss=loss,
            train_op=train_op,
            eval_metric_ops=metrics)

    return spec

def train_input_fn(training_dir, params):
    print('getting next batch')
    return tfrec_data_input_fn([training_dir+'/train.tfrecords'], 'train/image', 'train/label', num_epochs = None)()

def eval_input_fn(training_dir, params):
    return tfrec_data_input_fn([training_dir+'/val.tfrecords'], 'val/image', 'val/label')()

def tfrec_data_input_fn(filenames, f1, f2, batch_size=64, num_epochs=1, shuffle=False):

    def _input_fn_():
        def _parse_record(tf_record):
            features = {
                f1: tf.FixedLenFeature([], dtype=tf.string),
                f2: tf.FixedLenFeature([], dtype=tf.int64)
            }
            record = tf.parse_single_example(tf_record, features)

            image_raw = tf.decode_raw(record[f1], tf.float32)
            image_raw = tf.reshape(image_raw, shape=(224, 224, 3))

            label = tf.cast(record[f2], tf.int32)

            return {'image': image_raw}, label

        dataset = tf.data.TFRecordDataset(filenames)
        dataset = dataset.map(_parse_record)

        if shuffle:
            dataset = dataset.shuffle(buffer_size=256)

        dataset = dataset.repeat(num_epochs)
        dataset = dataset.batch(batch_size)

        iterator = dataset.make_one_shot_iterator()
        features, labels = iterator.get_next()
        labels = tf.reshape(labels, shape = [-1,1])

        #this line seems a bit redundant, but I'm not sure how to fix it
        return {INPUT_TENSOR_NAME:features['image']}, labels

    return _input_fn_

def serving_input_fn(params):
    inputs = {INPUT_TENSOR_NAME: tf.placeholder(tf.float32, [None, 224, 224, 3])}
    return tf.estimator.export.ServingInputReceiver(inputs, inputs)

def _input_fn(addr):
    img = cv2.imread(addr)
    img = cv2.resize(img, (224, 224), interpolation=cv2.INTER_CUBIC)
    img = cv2.cvtColor(img, cv2.COLOR_BGR2RGB)
    img = img.astype(np.float32)
    return img

I get lots of output ending with the following:
2018-06-09 02:11:15,935 INFO - tensorflow - Done running local_init_op.

2018-06-09 02:11:30,028 INFO - tensorflow - Evaluation [10/100]
2018-06-09 02:11:44,025 INFO - tensorflow - Evaluation [20/100]
2018-06-09 02:11:58,289 INFO - tensorflow - Evaluation [30/100]
2018-06-09 02:12:12,543 INFO - tensorflow - Evaluation [40/100]
2018-06-09 02:12:26,809 INFO - tensorflow - Evaluation [50/100]
2018-06-09 02:12:40,676 INFO - tensorflow - Evaluation [60/100]
2018-06-09 02:12:48,606 INFO - tensorflow - Finished evaluation at 2018-06-09-02:12:48
2018-06-09 02:12:48,607 INFO - tensorflow - Saving dict for global step 1: accuracy = 0.5138095, global_step = 1, loss = 8481.059
2018-06-09 02:12:48.607972: I tensorflow/core/platform/s3/aws_logging.cc:54] Connection has been released. Continuing.
2018-06-09 02:12:48.660267: E tensorflow/core/platform/s3/aws_logging.cc:60] No response body. Response code: 404
2018-06-09 02:12:48.660639: W tensorflow/core/platform/s3/aws_logging.cc:57] If the signature check failed. This could be because of a time skew. Attempting to adjust the signer.
2018-06-09 02:12:48.661086: I tensorflow/core/platform/s3/aws_logging.cc:54] Connection has been released. Continuing.
2018-06-09 02:12:48.700851: I tensorflow/core/platform/s3/aws_logging.cc:54] Connection has been released. Continuing.
2018-06-09 02:12:48.707369: E tensorflow/core/platform/s3/aws_logging.cc:60] No response body. Response code: 404
2018-06-09 02:12:48.707409: W tensorflow/core/platform/s3/aws_logging.cc:57] If the signature check failed. This could be because of a time skew. Attempting to adjust the signer.
2018-06-09 02:12:48.707742: I tensorflow/core/platform/s3/aws_logging.cc:54] Connection has been released. Continuing.
2018-06-09 02:12:48.717274: I tensorflow/core/platform/s3/aws_logging.cc:54] Connection has been released. Continuing.
2018-06-09 02:12:48.723421: E tensorflow/core/platform/s3/aws_logging.cc:60] No response body. Response code: 404
2018-06-09 02:12:48.723452: W tensorflow/core/platform/s3/aws_logging.cc:57] If the signature check failed. This could be because of a time skew. Attempting to adjust the signer.
2018-06-09 02:12:48.723618: I tensorflow/core/platform/s3/aws_logging.cc:54] Connection has been released. Continuing.
2018-06-09 02:12:48.818250: I tensorflow/core/platform/s3/aws_logging.cc:54] Connection has been released. Continuing.
2018-06-09 02:12:48.827162: I tensorflow/core/platform/s3/aws_logging.cc:54] Deleting file: /tmp/s3_filesystem_XXXXXX20180609T0212481528510368818
2018-06-09 02:12:49.007086: I tensorflow/core/platform/s3/aws_logging.cc:54] Connection has been released. Continuing.
2018-06-09 02:12:49.017162: I tensorflow/core/platform/s3/aws_logging.cc:54] Connection has been released. Continuing.
2018-06-09 02:12:49.027063: I tensorflow/core/platform/s3/aws_logging.cc:54] Connection has been released. Continuing.
2018-06-09 02:12:49.035712: I tensorflow/core/platform/s3/aws_logging.cc:54] Connection has been released. Continuing.
2018-06-09 02:12:49.049672: I tensorflow/core/platform/s3/aws_logging.cc:54] Connection has been released. Continuing.
2018-06-09 02:12:49.092713: I tensorflow/core/platform/s3/aws_logging.cc:54] Connection has been released. Continuing.
2018-06-09 02:12:49.182245: I tensorflow/core/platform/s3/aws_logging.cc:54] Connection has been released. Continuing.
2018-06-09 02:12:49.189743: I tensorflow/core/platform/s3/aws_logging.cc:54] Connection has been released. Continuing.
2018-06-09 02:12:49.218731: I tensorflow/core/platform/s3/aws_logging.cc:54] Connection has been released. Continuing.
2018-06-09 02:12:49.241004: I tensorflow/core/platform/s3/aws_logging.cc:54] Connection has been released. Continuing.
2018-06-09 02:12:49.298589: I tensorflow/core/platform/s3/aws_logging.cc:54] Connection has been released. Continuing.
2018-06-09 02:12:49.306032: I tensorflow/core/platform/s3/aws_logging.cc:54] Connection has been released. Continuing.
2018-06-09 02:12:49,320 INFO - tensorflow - Calling model_fn.
2018-06-09 02:12:49,392 INFO - tensorflow - Done calling model_fn.
2018-06-09 02:12:49,396 ERROR - container_support.training - uncaught exception during training: export_outputs must be a dict and not<type 'NoneType'>
Traceback (most recent call last):
  File "/usr/local/lib/python2.7/dist-packages/container_support/training.py", line 36, in start
    fw.train()
  File "/usr/local/lib/python2.7/dist-packages/tf_container/train_entry_point.py", line 164, in train
    train_wrapper.train()
  File "/usr/local/lib/python2.7/dist-packages/tf_container/trainer.py", line 73, in train
    tf.estimator.train_and_evaluate(estimator=estimator, train_spec=train_spec, eval_spec=eval_spec)
  File "/usr/local/lib/python2.7/dist-packages/tensorflow/python/estimator/training.py", line 421, in train_and_evaluate
    executor.run()
  File "/usr/local/lib/python2.7/dist-packages/tensorflow/python/estimator/training.py", line 522, in run
    getattr(self, task_to_run)()
  File "/usr/local/lib/python2.7/dist-packages/tensorflow/python/estimator/training.py", line 577, in run_master
    self._start_distributed_training(saving_listeners=saving_listeners)
  File "/usr/local/lib/python2.7/dist-packages/tensorflow/python/estimator/training.py", line 715, in _start_distributed_training
    saving_listeners=saving_listeners)
  File "/usr/local/lib/python2.7/dist-packages/tensorflow/python/estimator/estimator.py", line 352, in train
    loss = self._train_model(input_fn, hooks, saving_listeners)
  File "/usr/local/lib/python2.7/dist-packages/tensorflow/python/estimator/estimator.py", line 891, in _train_model
    _, loss = mon_sess.run([estimator_spec.train_op, estimator_spec.loss])
  File "/usr/local/lib/python2.7/dist-packages/tensorflow/python/training/monitored_session.py", line 546, in run
    run_metadata=run_metadata)
  File "/usr/local/lib/python2.7/dist-packages/tensorflow/python/training/monitored_session.py", line 1022, in run
    run_metadata=run_metadata)
  File "/usr/local/lib/python2.7/dist-packages/tensorflow/python/training/monitored_session.py", line 1113, in run
    raise six.reraise(*original_exc_info)
  File "/usr/local/lib/python2.7/dist-packages/tensorflow/python/training/monitored_session.py", line 1098, in run
    return self._sess.run(*args, **kwargs)
  File "/usr/local/lib/python2.7/dist-packages/tensorflow/python/training/monitored_session.py", line 1178, in run
    run_metadata=run_metadata))
  File "/usr/local/lib/python2.7/dist-packages/tensorflow/python/training/basic_session_run_hooks.py", line 458, in after_run
    self._save(run_context.session, global_step)
  File "/usr/local/lib/python2.7/dist-packages/tensorflow/python/training/basic_session_run_hooks.py", line 481, in _save
    l.after_save(session, step)
  File "/usr/local/lib/python2.7/dist-packages/tensorflow/python/estimator/training.py", line 553, in after_save
    self._evaluator.evaluate_and_export()
  File "/usr/local/lib/python2.7/dist-packages/tensorflow/python/estimator/training.py", line 834, in evaluate_and_export
    self._export_eval_result(eval_result, is_the_final_export)
  File "/usr/local/lib/python2.7/dist-packages/tensorflow/python/estimator/training.py", line 865, in _export_eval_result
    is_the_final_export=is_the_final_export)
  File "/usr/local/lib/python2.7/dist-packages/tensorflow/python/estimator/exporter.py", line 228, in export
    is_the_final_export)
  File "/usr/local/lib/python2.7/dist-packages/tensorflow/python/estimator/exporter.py", line 121, in export
    strip_default_attrs=self._strip_default_attrs)
  File "/usr/local/lib/python2.7/dist-packages/tensorflow/python/estimator/estimator.py", line 598, in export_savedmodel
    serving_input_receiver.receiver_tensors_alternatives)
  File "/usr/local/lib/python2.7/dist-packages/tensorflow/python/estimator/export/export.py", line 199, in build_all_signature_defs
    '{}'.format(type(export_outputs)))
ValueError: export_outputs must be a dict and not<type 'NoneType'>

Am I messing up something simple here?
Also, why is it calling python2.7 when I am using the conda_tensorflow_p36 kernel?

@superprachi for predict mode, you need to provide the export_output argument to the EstimatorSpec. Check out this sample code:
https://github.com/GoogleCloudPlatform/cloudml-samples/blob/master/census/customestimator/trainer/model.py#L199


Implement staking contract

Task Title
Task: Implement staking contract
Task Description
Implement staking contract that will store information about all validators & delegators:

their staking/delegation balances
rewards
withdrawal requests
contract must be upgradeable
....

Epic Parent

Feature: Implement rewards distribution.
Discussion
Hi guys, so we could have a call yoday at 1pm to brainstorm the precompiled the dpos contract, what do you think ?
Few important notes/ideas/questions to be discussed:

Existing contract lacks some functionality(not talking about rewards & slashing now) - for example when we build some
Staking UI, user will login through his wallet(e.g. metamask) and we need to provide 2 contract read calls:

get_all_validators - so there will be a list of all validators(their current total stake/commission/website/etc...) that user can check and delegate to
get_delegator_validators - these are all validators that logged user already delegated to. We will display his delegated stake to each one/rewards/etc... and user can click
claim_rewards or undelegate for each validator he delegated to
For this purpose we must provide "iterable maps" in our contract and not just basic maps

My original idea was to have contract data in memory as well as in storage - when someone delegates to a validator, we would save it in memory and also to storage. Thanks to this approach
we would serve data for read calls from memory without needing to read storgae, which would be much more efficient - this is not really possible with delay being implemented as "loading outdated(delayed) storage for contract address"
as we do right now - I was thinking about some other way, but did not find anything
Also think about rewards calculations - lets say we have 20 validators and each one has 100 delegators - thats 2k delegators, which we would probably have to get one by one from storage in case we want to use delayed data also for rewards calculations. On the other hand we could use current data and get it from memory, which would be also instant...

Another difference with new contract vs the old one is that we will provide solidity interface, which will enable third-party contracts to read our contract:

Should these data be delayed too or not ? I dont know
Will we have 2 interfaces - 1 for node (needed for consensus stuff like checking staking balance, etc..), which will be delayed and one for contract, which will not be delayed ? This could
be probably imepmented in a way that we would have 1 interface(functions implementations), but when called from node, we would load outdated contract storage and for solidity calls we would use
updated/current contract storage ?
This is pretty important to decide as it might significantly affects the code

How to save iterable maps into the storage ?
Requirements are:

this structure must be iterable and also provide the ability of constant access by key -> value mapping.

When we look for example at "Delegators" map in "ValidatorInfo struct" from example below, it could be saved in storage as
(validator_addr & delagtor_addr) -> DelegatorInfo
Now how do we get the list of all delegators for each validator(we need this for calculating rewards) in the most efficient way ?

there must some extra struct(e.g. array) that will save array of delegators addresses for each validator, e.g.
(validator_addr) -> []delegator_addr

but we probably also need to have a constant access to this array in case some delegator undelegates tokens from a validator and we want to delete him - we would need some additional map
that would tell us that his address in "[]delegator_addr" array is save at position 95 for example and we will delete him through swap from that array. In solidity I did implement it like this:
struct IterableMap {
	// map of indexes to the list array
	// indexes are shifted +1 compared to the real indexes of this list, because 0 means non-existing element
	mapping(address => uint256) list_index;

	// list of addresses
	address[] list;
}

// Adds acc from the map
function insertAcc(IterableMap storage map, address acc) internal {
	map.list.push(acc);
	// indexes are stored + 1
	map.list_index[acc] = map.list.length;
}

// Removes acc from the map
function removeAcc(IterableMap storage map, address acc) internal {
	uint256 index = map.list_index[acc];
	require(index > 0 && index <= map.list.length, "RemoveAcc invalid index");

	// Move an last element of array into the vacated key slot.
	uint256 foundIndex = index - 1;
	uint256 lastIndex  = map.list.length - 1;

	map.list_index[map.list[lastIndex]] = foundIndex + 1;
	map.list[foundIndex] = map.list[lastIndex];
	map.list.pop();

	// Deletes element
	delete map.list_index[acc];
}

We will probably need something similar also here ? This needs to be resolved somehow
This is my proposed golang memory layout of contract data that also needs to be saved in storage (TODO: implement some sort of iterable map that will be saved in storage)
// Validator basic info
type ValidatorInfo struct {
	// TotalStake == sum of all delegated tokens to the validator
	TotalStake *big.Int

	// Commission
	Commission *big.Int

	// Rewards accumulated from delegators rewards based on commission
	CommissionRewards *big.Int

	// Short description
	// TODO: optional - maybe we dont want this ?
	Description string

	// Validator's website url
	// TODO: optional - maybe we dont want this ?
	Endpoint string

	// List of validator's delegators
	Delegators map[common.Address]*DelegatorInfo
}

type DelegatorInfo struct {
	// Num of delegated tokens == delegator's stake
	Stake *big.Int

	// UnlockedStake == unlocked(undelegated) tokens that can be withdrawn now
	// TODO: in case we will send unlocked tokens to the delegator's balance automatically, we dont need this field
	UnlockedStake *big.Int

	// Accumulated rewards
	Rewards *big.Int

	// Undelegate request
	// TODO: rethink implementation of undelegations
	UndelegateRequests []*UndelegateRequestInfo
}

type UndelegateRequestInfo struct {
	// Num of tokens that delegator wants to undelegate
	Amount *big.Int

	// Block number when this unstake request can be confirmed(act block num + locking period)
	EligibleBlockNum *big.Int
}

// Delegator's validators info
type DelegatorValidators struct {
	// List of validators addresses that delegator delegated to
	// Note: info about delegator's stake/reward, etc... is saved in ValidatorDelegators struct
	Validators map[common.Address]bool // instead of set
}

type Contract struct {
	Storage StorageWrapper
	Abi     abi.ABI

	// Validadors basic info, e.g. total stake, commission, etc...
	ValidatorsInfo map[common.Address]*ValidatorInfo

	// Delegators list of their validators -> key = delegator address
	DelegatorsValidators map[common.Address]*DelegatorValidators

	// ...
}

https://github.com/Taraxa-project/taraxa-evm/pull/48


Implement scheduler and BlockBuffer for LoadManager

What changes are proposed in this pull request?
Implement scheduler to run load tasks, handle LoadResponse based on its status. Implement BlockBuffer to produce batches of blocks to load.

alluxio-bot, merge this please


JAVA-732 Expose KEYS and FULL indexing options in IndexMetadata

Exposed the type of the index for a collection (KEYS, FULL or ENTRIES) through the following API: isKeys, isFull and isEntries;
Also, exposed the index options that might be available for a custom index through the new "getOption(String)" method;
Changed the asCQLQuery method to include the index functions, if necessary, and also
to include the custom index options using the "WITH OPTIONS" keywords;
Added tests, to the "short" TestNG group, to validate the changes in the IndexMetadata class. Please, note that one test case, "should_flag_map_index_type_as_entries", requires C* 3.0 which is not released yet, hence, it's not available under the CCM infrastructure used by the driver, so the test will be skipped for now.

Apart from the few minor remarks above, looks good to me.

PS -- regarding Cassandra 3.0, we'll also have to deal with the new schema table format (see CASSANDRA-6717), but that's a different ticket.

Thanks for the feedback Olivier! I added a new assertion class for the IndexMetadata and made two of the tests run on C* 1.2 (one for regular indices on a text column and another for custom indices). All of the other tests are only compatible with C* 2.1.3+ due to the frozen collections support.

Can one of the admins verify this patch?


Mark Schema, Graph, Store and StoreProperties as Java Serializable

We shoul mark Schema, Graph, Store and StoreProperties as Java Serializable. This will enable them to be used in closures in Spark operations. We need to make sure any transient variables are marked as such.

Decided not to implement this. These high-level classes have lots of subclasses, and lots of pluggable classes, which would cause issues with making them serialisable. There are other ways of using these in closures in Spark operations such as recreating them from JSON bytes representation within the function.


Make JSON linting more verbose ?

Currently we simply check :

json is valid
json contains the keys we want
those keys are not empty

the problem is with step 1, it's not very helpful if people have no idea what the JSON spec is.
One fix is :

add a link to jsonlint.com or such a service in the print of the error so that people can check themselves.
add something like http://deron.meranda.us/python/demjson/ with proper package caching on travis side, but it will make for slower builds still probably

Might also want to look into http://www.fixjson.com


Bugfix: Correctly handle given in Array params

Addresses #1600 and #1602.
Array parameters are handled as a parameter that opens a scope with type: Array; given opens up a new scope, but was always setting the type to Hash. This patch fixes that, as well as correctly labeling the error messages associated with array fields.

Build needs to be fixed please.

@rnubel Including an extra test to check for each element being independently validated fails.  Given your test, removing bar from the second element exemplifies the issue, unless this is intended behavior.
it 'applies the constraint within each element' do
      post '/test',
           { foos: [{ foo_type: 'a' }, { baz_type: 'c' }] }.to_json,
           'CONTENT_TYPE' => 'application/json'

      expect(last_response.status).to eq(400)
      expect(last_response.body).to eq('foos[0][bar] is missing')
    end

results in
       expected: "foos[0][bar] is missing"
            got: "foos[0][bar] is missing, foos[1][bar] is missing"

foos[1] should not have bar required because it does not contain a foo_type

I'll wait for @rnubel to comment on the above before merging. Code looks OK to me otherwise.

Good catch, @timothysu. The problem was that an Array block defines a single scope, for which should_validate? is only called once; the AttributesIterator within applies the validations to each attribute. So, I've updated the PR to perform the dependency check within that iteration, but it needs some polish and further testing.

Any update on this?

Please contribute @avellable.

Still needs CHANGELOG and stuff.

@dblock Done: https://github.com/ruby-grape/grape/pull/1645

@avellable appreciate the help. dependency is the correct spelling of the word, though, and your changelog format is a bit off, so I've pulled the changes into this PR instead and put your name on the changelog entry as well.
@timothysu would you be able to test this patch to verify it works in real-life usage? I can test it against contrived scenarios, but there's no substitute for a real app.

@rnubel Thanks! Sorry I forgot to add your name in the CHANGELOG of my changes.

@rnubel It doesn't seem to solve real-life usage issues, during a quick test.  I'll double check and follow up with more actionable info when I get a chance.

I am going to merge this since it fixes at least one problem (per spec), @timothysu add anything on top that's failing in a new issue/spec please.


(fix|test)(frontend): fix warnings during test runs

Summary
Refactor test files and setup test file to run test without throwing any errors, allowing for clearer visuals and more robust tests.

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

:exclamation: No coverage uploaded for pull request base (main@242c4a0). Click here to learn what that means.

:exclamation: Your organization needs to install the Codecov GitHub app to enable full functionality.
Additional details and impacted files
@@           Coverage Diff           @@
##             main    #1638   +/-   ##
=======================================
  Coverage        ?   61.05%
=======================================
  Files           ?       92
  Lines           ?     3721
  Branches        ?        0
=======================================
  Hits            ?     2272
  Misses          ?     1449
  Partials        ?        0

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


Document new colour shifting functions

Done. https://github.com/TerryCavanagh/haxegon.com/commit/b15a49f7b6f0d7240aa2689302dbadfa5b75ad2c


WARNING: QApplication was not created in the main() thread.

can not use as a function
WARNING: QApplication was not created in the main() thread.

Hi @yuanshanhshan. This is a known limitation of wkhtmltox, not of this package. The library must be initialized on the main thread and the conversion must be performed on the main thread as well. See my HTTP server example for more information.

Thanks for your help.


ui+settings: update theme colors + border colors

Apologies, should have probably done this in the last PR, but didn't fully know what it would entail, so didn't want to try to do everything in a single PR.
Just addresses history and settings to button up the basic things for the time being.
ui+settings: update theme colors + update border color on settings and history
Screenshots:

Nice, and will do, but I wasn't quite sure why the unit tests were failing here.

You can click on the Details link next to the failing check below. The logs show the 2 failing tests. It looks like these tests are checking the colors of the DOM elements. You just need to update the values in the test to match the new colors.
When working locally on your machine, you can run yarn test to watch for changes and run tests every time you save a file. You can also run yarn test:ci which will run all tests. This is what the GitHub workflow is running.


Use ColorConstants All Over

Need to refactor code to use styles/ColorConstants.js
Coverage:
styles/

css.js

views/

~[ ] banner~
[x] card
[x] common
[x] conference (Pretty much done, needs a yellow constant for the stars though)
[x] dining
[x] events
[x] news
[x] preferences
[x] quicklinks
[x] schedule
[x] shuttle
[x] weather
~[ ] welcomeWeek~
[x] FeedbackView
[x] Home

Moving two entries from the list above down, these are what remain for the Meowth milestone

[ ] mapsearch
[ ] survey


⚠ GitLab Server has degraded performance

In 4bd327f, GitLab Server (https://gitlab01.its-telekom.eu) experienced degraded performance:

HTTP code: 200
Response time: 6985 ms

Resolved: GitLab Server performance has improved in 49846e4.


Initial commit to update Cromwell to v86 and Batch API

This PR updates Cromwell to latest version and to use Batch API instead of Life Sciences API.
Please don't merge this PR yet as I am still waiting for GCP Batch: Mount with extra colon issue and multiple zones support #7240 PR in Cromwell to be merged as it resolves a bug that affects most pipelines

The documentation still needs to be updated, please hold on merge


Attempting to highlight makes the page jump backwards in ebooks with long paragraphs

Bug Report
What happened?
Some users reported the following unwanted behavior when using the highlight feature: attempting to highlight a section makes the e-reader jump a few pages backwards on some books, while holding the finger down to select the desired text.
I took one of the books that our users reported and opened it with the Readium Sample App. The same unwanted behavior happens there as well.
Since this issue happens only on some books, I opened it with the Sigil EPUB Editor and then opened another EPUB in another window where this issue does not appear. I took a book from the OPDS 2.0 Test Catalog, accessible from the Sample App as a reference book.
The striking difference between them was that the book our users reported the issue on, had that entire chapter as one HTML paragraph (<p> Entire chapter here </p>).
Since I cannot share that book as it is copyrighted, I took the reference book which is in Public Domain and modified Chapter 1 so that the entire chapter is written inside a single paragraph block. With this change, I was able to reproduce the problem.

🎞 Please see this attached video:
https://github.com/readium/kotlin-toolkit/assets/11408459/b10403c8-2c9c-4d78-be07-4143dc22dad9
Expected behavior
The e-reader should not jump backwards while highlighting text.
How to reproduce?

Prepare the epub file:
a. Option 1: Download the file prepared by me as described above: https://www.dropbox.com/scl/fi/h8mlzoqaq2e4e5w76n5qi/md-edited.epub?rlkey=vvi2bknht0adrqgdxr0j9tvux&dl=1
b. Option 2: Get an epub file and modify it so that the entire chapter is contained in a single paragraph block
Import the epub in the sample app
Navigate to chapter 1 (if you used my file), then go a few pages into the chapter
Highlight something

Environment

Readium version: 2.3.0

Development environment

OS: macOS 14.0
IDE: Android Studio Giraffe | 2022.3.1 Patch 1

Testing device

Android version: 13
Model: Samsung SM-A536B
Is it an emulator? No

Additional context

Are you willing to fix the problem and contribute a pull request? No

I have also seen the issue reported here, but was closed before it was investigated in the sample app.
The same ebook works fine on iOS.

This is a bug in the Chrome Web View, see this issue for more information: https://github.com/readium/kotlin-toolkit/issues/325


[PR] Backend initialiazation and database connection

-Vercel deployment has completed without any issues but i do not have permission to the vercel, i will assume it's functional according to the github.
-Frontend, Backend CI written correctly
-Vercel.json is wrriten correctly.


Cleaned up Panes and added tests

[x] Cleaned up Pane.applies implementations
[x] Add Pane tests

Codecov Report

Merging #18 into master will decrease coverage by 1.69%.
The diff coverage is 37.83%.

@@            Coverage Diff            @@
##           master      #18     +/-   ##
=========================================
- Coverage   85.06%   83.36%   -1.7%
=========================================
  Files          15       14      -1
  Lines        1808     1924    +116
=========================================
+ Hits         1538     1604     +66
- Misses        270      320     +50

Impacted Files
Coverage Δ

panel/tests/fixtures.py
37.93% <18.18%> (-62.07%)
:arrow_down:

panel/tests/test_panes.py
39.63% <39.63%> (ø)

panel/panes.py
47.84% <53.33%> (+5.76%)
:arrow_up:

dodo.py

setup.py

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 931cc6a...4b5c8f2. Read the comment docs.


docs(readme): fix misspelling and tidy code blocks

I'm actually happy with the way things are (aside from the typo).


Enforced explicit API mode

Fixes #9
Includes changes from #8

I like this change, can you make the PR independent of #8 because I'm not sold on changing the API to introduce interfaces.


fix: broken links in otomi CLI

We just ask user to visit otomi.io instead of providing specific links, because they often become invalid.
Checklist

[ ] Architecture Design Records have been added as adr/*.md and appended to list in adr/_index.md, if applicable.
[ ] The values-schema.yaml file and test/** fixtures have been updated to reflect code changes, if applicable.
[ ] The OpenApi Schema from redkubes/otomi-api project is compatible with definitions from values-schema.yaml file, if applicable.
[ ] Helm releases are meeting otomi's baseline security policies, if applicable.
[ ] Helm chart and helmfile changes are tested against upgrade scenario, if applicable.

I would rather be taken directly to the Drone instructions (and not have to search). Plus, we don't expect many changes in the links...so lets keep them alive and just close this PR.

After chart installation a user will be redirected directly to activation steps.


Ryan M: Watch escorts-near-me.com

Ryan M requests the watch of the watch_keyword escorts-near-me\.com. See the MS search here and the Stack Exchange search in text, in URLs, and in code.

escorts-near-me\.com has been seen in 3 true positives, 2 false positives, and 0 NAAs.

Approved by Makyen in Charcoal HQ


⚠ PrivateHD has degraded performance

In 966aa3a, PrivateHD ($PHD) experienced degraded performance:

HTTP code: 200
Response time: 3134 ms

Resolved: PrivateHD performance has improved in 2e26e1a.


chore: cleanup & refactor quickSort

btw. I think the while loop is still the "preferred"  option to iterate indices ;-) (personally, I prefer C-style for / go's for-only concept).
@cleanup: what about the files in ./utils ? I think e.g. we don't need "timer" anymore, right ?


Question about challenge: Label Bootstrap Buttons.

Challenge Name

Label Bootstrap Buttons.
Issue Description

Here are my codes for the challenge. My question is this: why do we need to label the bootstrap buttons? I thought we already id'ed them? Is using span the correct way/only way to do it???
Browser Information

Browser Name, Version: Chrome. Latest version.
Operating System: OS X.
Mobile, Desktop, or Tablet: Macbook pro.

Your Code

jQuery Playground

#left-well

        <button class="btn btn-default target" id="target1">#target1</button>
        <button class="btn btn-default target" id="target2">#target2</button>
        <button class="btn btn-default target" id="target3">#target3</button>

#right-well

        <button class="btn btn-default target" id="target4">#target4</button>
          <button class="btn btn-default target" id="target5">#target5</button>
        <button class="btn btn-default target" id="target6">#target6</button>

Screenshot

Hey @zhouxiang19910319 labels are text that you will want to add to the button elements, which will be visible on the buttons on the web page:
<button class="btn btn-default target" id="target6">#target 6</button>
will look something like the below on a webpage:
#target 6
The bold part in the code above is known as a label.
I understand the confusion you would have felt when going thru the challenge, this may need additional clarification.
/cc @FreeCodeCamp/moderators This challenge assumes that a camper knows the meaning of labels and has completed the previous challenge (where also there is no clarity).
Some might assume that labels are attributes like id's are in the previous challenges, we should probably refactor the challenges to reflect the correct meaning.

@raisedadead Hey I just found it out by myself when I was doing other challenges inside jQuery sections. Thank you for the reply though. More methodical and explanatory than the note I just wrote! haha.  XD Thanks!!! great help!!!

@zhouxiang19910319 the challenges perhaps need the clarification, please do not close the issue. 😅

Yeah but even on the wells challenge it's not defined what a "label" is.

Some might assume that labels are attributes like id's

hence maybe we should add some clarification to both/all affected challenges.

While I may be wrong, a good way to explain it could be by introducing the labels themselves.
We can explain that a form element (e.g. input field) by itself has no way to show what sort of information it expects from the user. A label is meant to help you know you need to type your name.

I agree. I surely was inclined towards an interim challenge as well.

@raisedadead Are you still interested in creating this interim challenge?


Knative services fail to start up

Some services fail to start:
NAME                        URL                                                                LATESTCREATED                     LATESTREADY           READY   REASON
device-management-service   http://device-management-service.drogue-iot.<IP_ADDRESS>.nip.io   device-management-service-00001                         False   RevisionMissing
http-endpoint               http://http-endpoint.drogue-iot.<IP_ADDRESS>.nip.io               http-endpoint-00002               http-endpoint-00002   True
influxdb-pusher             http://influxdb-pusher.drogue-iot.<IP_ADDRESS>.nip.io             influxdb-pusher-00001                                   False   RevisionMissing

It is possible to nudge them:
➜  install-minikube-0.2.0-rc3 kn -n drogue-iot service update device-management-service -e N=1
Updating Service 'device-management-service' in namespace 'drogue-iot':

  0.039s unsuccessfully observed a new generation
  0.089s Configuration "device-management-service" does not have any ready Revision.
  0.134s Configuration "device-management-service" is waiting for a Revision to become ready.
  3.416s ...
  3.460s Ingress has not yet been reconciled.
  3.511s Waiting for load balancer to be ready
  3.695s Ready to serve.

Service 'device-management-service' updated to latest revision 'device-management-service-bswsg-2' is available at URL:
http://device-management-service.drogue-iot.<IP_ADDRESS>.nip.io

However, this should not be necessary: tracking https://github.com/knative/serving/issues/10344

Needs an upstream fix. Currently we have a "nudge" script that seems to work.


Need a quick option in UI to select distributing containers on different hosts or on different hosts of a certain label.

Build from master - Jun/04
If I have to distribute containers of a service with a specified scale to different hosts , I need to have a scheduling rule set as host must not have service name pointing to the service name that is being currently created.
This is not very intuitive.
This is a very common use case for scheduling that it may be good to provide this as an additional option to users , so that they have the ability to choose an option like "distribute containers of a service".

Is this just the $stack_name/$service_name variables?

https://github.com/rancher/rancher/issues/1402


stringsAsFactors = TRUE prevents use of state polling data by stan models fit to 2008, 2012, and 2016

I'd like to report an easy-to-make but consequential bug. It seems the bug prevents use of all state poll data during fitting
of stan models to 2008, 2012, and 2016. I'm unsure of other effects.
Like many bugs in R scripts, this one stems from read.csv having the default option stringsAsFactors = TRUE.
Bug locations
All entries of df$index_s are reassigned value NA at

Lines 137-8 of final_2008.R
Lines 136-7 of final_2012.R
Lines 135-6 of final_2016.R

Bug appearance
All instances look like
index_s = as.numeric(factor(as.character(state), levels = c('--',state_abb_list)))
Reason for bug
Because read.csv defaults to stringsAsFactors=TRUE, state_abb_list has class factor, not the anticipated class character. As a
result c('--', state_abb_list) returns c('--', '1', '2', '3', ...), not the anticipated c('--', 'AK', 'AL', 'AR', 'AZ',...).
A small additional point: It looks like states are misordered in the comment directly above the bug in the R scripts.

I'm closing this because the bug doesn't appear for R 4.0.0 -- it only affects earlier R versions. Beginning with R 4.0.0, stringsAsFactors defaults to FALSE. Thanks to anon e mouse for pointing out the change in R to me.
If anyone else runs into the same problem, please switch to R 4.0.0 to run the Economist model code.


Add field on event for video link

This task is done with multiple PRs and we now have YouTube video players embedded on 2021 talk/tutorial/keynote pages.


Add ImageReference.

Copied directly from Jib (https://github.com/GoogleContainerTools/jib/blob/master/jib-core/src/main/java/com/google/cloud/tools/jib/image/ImageReference.java).

Why would the skaffold plugin need this?

This would be used to generate the image reference with tag that's templated into the kubernetes yaml. It could also parse the image reference defined on Jib and process it (like retagging) to use unique references rather than tags.


Problem with installing

- Do you want to request a feature or report a bug? It's a bug.
- What is the current behavior?
https://gitlab.com/ansidev/vue-bible-verse/-/jobs/258695725
- If the current behavior is a bug, please provide the steps to reproduce.
View the file .gitlab-ci.yml
- What is the expected behavior?
Installing netlify-cli successfully
- Please mention your node.js, and operating system version.

Node 12.6.0
Docker GitLab Runner.

I have the same problem with node.js v8.10.0

Fixed via<EMAIL_ADDRESS>We just swapped out our CI system. Sorry for the trouble.
Install latest version:
npm install netlify-cli -g

Please ping me if your issues are not fixed by the above ^
⊂◉‿◉つ


How to allow initialization but not allow assignment/setter for one single field

Checks

[x] I added a descriptive title to this issue
[x] I have searched (google, github) for similar issues and couldn't find anything
[x] I have read and followed the docs and couldn't find an answer
[x] After submitting this, I commit to one of:

Look through open issues and helped at least one other person
Hit the "watch" button on this repo to receive notifications and I commit to help at least 2 people that ask questions in the future
Implement a Pull Request for a confirmed bug

Question
Output of python -c "import pydantic.utils; print(pydantic.utils.version_info())":
             pydantic version: 1.6.1
            pydantic compiled: True
                 install path: /opt/rh/rh-python36/root/usr/lib64/python3.6/site-packages/pydantic
               python version: 3.6.9 (default, Nov 11 2019, 11:24:16)  [GCC 4.8.5 20150623 (Red Hat 4.8.5-39)]
                     platform: Linux-5.4.0-51-generic-x86_64-with-centos-7.8.2003-Core
     optional deps. installed: ['typing-extensions']
...

from uuid import uuid4
import pydantic

class MyData(BaseModel):
    data_id: UUID = Field(default_factory=uuid4)
    name: str = ...
    age: int = Field(..., ge=0, le=200)

data1 = MyData(name="John", age=12)
try:
    data1.data_id = uuid4()
    assert False # I would like somehow I can disable the setting of "data_id" once object instantiated
except:
    assert True
...

What I want to enforce is that for field "data_id" once the an instance of MyData is created, one can not change it anymore

Hello @tybluware
You could use validate_assignment to check values when assigned in combination with a validator or const = True. Check with const is a bit hacky as the default value is None (it doesn't check the default value set by the default_factory) for it but it does the job!
So you can do either
class MyData(BaseModel):
    data_id: UUID = Field(default_factory=uuid4, const=True)
    name: str = ...
    age: int = Field(..., ge=0, le=200)

    class Config:
        validate_assignment = True

or
class MyData(BaseModel):
    data_id: UUID = Field(default_factory=uuid4)
    name: str = ...
    age: int = Field(..., ge=0, le=200)

    class Config:
        validate_assignment = True

    @validator('data_id')
    def should_not_be_changed(cls, v):
        raise ValueError('data_id should not be changed')

Hope it helps!

Thanks a lot for pointing out the "const=True" solution. I was actually using 2nd solution you provided. I also tried your 1st solution. However they all missing one thing is that now one can not create an instance of MyData by also provide a "data_id" which now can only be generated by the default factory method. In other words, following code now will throw exception:
'''
data1 = MyData(uuid4(), "john", 23)
'''

What exception does that code throw? Please paste it in.
Also, when putting code snippets into github comments, use three backticks not three apostophes. Backticks are the button up the top left, same button as ~.
E   pydantic.error_wrappers.ValidationError: 1 validation error for Task
E   task_id
E     unexpected value; permitted: None (type=value_error.const; given=name: "task1"
E   ; permitted=[None])

pydantic/main.py:346: ValidationError

So you're saying you want the default value of task_id to be something invalid? Is that the question? That sounds like something you shouldn't be trying to do. Just change to schema to accept the default value.

looks like I am doing a terrible job explaining.
NO, I do NOT want task_id to be something invalid. it has nothing to with valid or not valid.
what I want is: a field it can be initialized and validated; but then prohibit it from being changed, such as via the setter. As stated previously:
**- field can be initialized during contruction

but can not be modified via setter**

@tybluware Feels like #2196 should solve your issue right?

@tybluware Feels like #2196 should solve your issue right?

Yes! that would work.

Yes! that would work.


Add aws-smithy-observability and aws-smithy-observability-otel crates

Motivation and Context

We would like to have a consistent way to measure the performance of the SDK going forward so we can evaluate how updates change the performance over time. The changes in this PR are a first step towards that, adding the interfaces (and one implementation) that we will use to instrument our runtime crates.
Description

Add two new crates

aws-smithy-observability - contains traits for our observability solution and a global module for managing the global telemetry provider
aws-smithy-observability-otel - contains an OpenTelemetry based implementation of the traits

Testing

Added new tests in both crates
Checklist
Note: leaving out a changelog entry for now since these crates are somewhat useless until we instrument our runtime crates

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

I see that the design specifies an async API such as create_guage returns an async measurement handle. Do we need to support that, not necessarily in this PR but before the aws-smithy-observability goes 1.0 (in which case, like many traits do in the smithy runtime crates, a trait needs to return a struct and that struct implements the Future trait)?


cards with images only show one item

Hi I'm playing with the new cards beta function (love the demo) and am having trouble
Everything works fine without adding images, query:
dataview table aliases from #Ref/Book  where cover
result (looks good so far)

but once I add images to the query then only one entry shows up
dataview table ("![](" + cover + ")") as Cover from #Ref/Book  where cover
result

Thanks for your amazing work

This seems related to your query not the theme. First make sure your query works without adding the cards class.
You can get help with Dataview in the #dataview channel on Obsidian Discord


The XML attribute delete-message-on-exception must be changed to the message-deletion-policy

Something like this:
<xsd:attribute name="message-deletion-policy"  default="NO_REDRIVE">
	<xsd:annotation>
		<xsd:documentation>
			Defines the policy that must be used for the deletion of SQS messages once
			they were processed. The default policy is NO_REDRIVE because it is the safest
			way to avoid poison messages and have
			a safe way to avoid the loss of messages (i.e. using a dead letter queue).
		</xsd:documentation>
	</xsd:annotation>
	<xsd:simpleType>
		<xsd:union memberTypes="messageDeletionPolicy xsd:string"/>
	</xsd:simpleType>
</xsd:attribute>
....
<xsd:simpleType name="messageDeletionPolicy">
	<xsd:restriction base="xsd:token">
		<xsd:enumeration value="NO_REDRIVE" />
		<xsd:enumeration value="ALWAYS" />
        	<xsd:enumeration value="NEVER" />
		<xsd:enumeration value="ON_SUCCESS" />
	</xsd:restriction>
</xsd:simpleType>

As well as the AnnotationDrivenQueueListenerBeanDefinitionParser must be changed respectively.
Or... removed altogether, since you have moved the policy to the @SqsListener.

Hi @artembilan,
Thanks for reporting it. I removed the attribute an pushed it on branch 1.2.x.


"cannot read property 'style' of undefined" when ember is updating the bound values

I am updating the ticks using an observer and setting a property. When doing this, I'm getting the error below:
bootstrap-slider.js:1016 Uncaught TypeError: Cannot read property 'style' of undefined
I believe this is being caused by the DOM not being updated properly to receive the styles that bootstrap slider wants to put on the ticks it "thinks" is there, but isn't.
Any thoughts?

Also having this problem. Probably related to this issue: seiyria/bootstrap-slider#719.


Significant performance drop in v2.3.1 as compared to v1.7.0

Hi @maxbachmann!
There seems to be a 5x drop in performance of cdist function using partial_ratio.
v1.7.0

v2.3.1

Please let me know if there is something that I am missing which might be causing this issue.
Thanks in advance!

I am able to reproduce this regression and was able to find the commit introducing it. I still need to find the exact reason, but it appear to be introduced by https://github.com/maxbachmann/rapidfuzz-cpp/compare/v1.4.1...v1.5.0

A couple of reasons for the performance regression I found so far:
change in sliding window algorithm
Before this change I simply iterated over all possible substrings and compared them. In your case this can exit very early since both Daft and Punk are at the start of the longer sequence.
The new implementation uses a different pattern for this search, which allows the algorithm to skip the calculation for more substrings. This improves the performance, but in your case this leads to the perfect match being found later.
correctness fix
Historically I implemented partial_ratio in the same way as fuzzywuzzy for long sequences (>64 characters). They search for the longest common substrings and use those as starting point for further comparisions. This reduces the search space a lot, making it faster. However the results are simply incorrect in a lot of cases.

The new search pattern for the optimal substring is faster in the average case. It is unfortunate, that this leads to a performance regression in your specific example. However I do not think there is anything that can be done to improve this while still keeping the performance improvement for the average case.

The new search pattern for the optimal substring is faster in the average case. It is unfortunate, that this leads to a performance regression in your specific example. However I do not think there is anything that can be done to improve this while still keeping the performance improvement for the average case.


Android camera overlay display bug

on my android phone, display is like this , how to set the black area's height?

new version has been fixed this bug, so closed the issue.