admission webhook unable to handle the request

I am installing voyager via helm as a subchart
voyager:
  enableAnalytics: false
  ingressClass: voyager
  cloudProvider: baremetal
  rbac:
    create: true
  apiserver:
    # enableValidatingWebhook is used to configure apiserver as ValidationWebhook for Voyager CRDs
    # TODO check out if this is needed?
    enableValidatingWebhook: true
    # enable for k8s 1.11+
    # If true, uses status sub resource for Voyager crds.
    # enableStatusSubresource: true

like this helm upgrade --tls --install deploynmae -f values.yaml --namespace somenamespace mychart/folder
I create voyager ingresses via a service account within different namespaces.
But if I enable enableValidatingWebhook I get
Internal error occurred: failed calling admission webhook "admission.voyager.appscode.com": the server is currently unable to handle the request

For my understanding, the webhook is only for validation porpuses?

@fentas, sorry for the slow response. Are you still having this issue?
What is your kubectl version --short? That error usually means that Kubernetes aggregate api server is not setup correctly.

I've experienced this issue myself quite a bit in AKS with Kubernetes 1.11.5 and Voyager 8.01. Falling back to Voyager 7.40.
This error happens in a virgin cluster created with the following scripts.
Create AKS
   az aks create `
      --name "k8s" `
      --generate-ssh-keys `
      --resource-group $resourceGroup `
      --service-principal $clientId`
      --client-secret $password`
      --node-vm-size Standard_A1_v2 `
      --node-count 2 `
      --enable-rbac `
      --kubernetes-version 1.11.5

Install Helm
# https://github.com/MicrosoftDocs/azure-docs/blob/master/articles/aks/kubernetes-helm.md

Set-Content -Path helm-rbac.yaml -Value @"
apiVersion: v1
kind: ServiceAccount
metadata:
  name: tiller
  namespace: kube-system
---
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRoleBinding
metadata:
  name: tiller
roleRef:
  apiGroup: rbac.authorization.k8s.io
  kind: ClusterRole
  name: cluster-admin
subjects:
  - kind: ServiceAccount
    name: tiller
    namespace: kube-system
"@
kubectl apply -f helm-rbac.yaml
helm init --upgrade --service-account tiller

At this point installing Voyager 8.01 via helm and deploying an ingress rule results in the failed calling admission webhook "admission.voyager.appscode.com" error.

I was able to reproduce it and at the same time go over this inconvenient.
Try to run with
apiserver:
  # enableValidatingWebhook is used to configure apiserver as ValidationWebhook for Voyager CRDs
  enableValidatingWebhook: true

It will fail by showing that error.
Now run again  but this time disabling the validation
apiserver:
  # enableValidatingWebhook is used to configure apiserver as ValidationWebhook for Voyager CRDs
  enableValidatingWebhook: false

It will fail.
Enable again the validation and this time it will pass

I have tested Voyager v9.0.0 with AKS k8s v1.11.6. Everything working as expected. Here are the steps I followed:
Create azure resource-group and service-principal
$ az group create -l westus -n voyager-test-1203
$ az ad sp create-for-rbac -n voyager-test-1203 --skip-assignment

$ export resourceGroup=voyager-test-1203
$ export clientId=...
$ export password=...

Create cluster and configure kubectl
$ az aks create  \
      --name "voyager-test-1203"  \
      --generate-ssh-keys  \
      --resource-group $resourceGroup  \
      --service-principal $clientId \
      --client-secret $password \
      --node-vm-size Standard_A1_v2  \
      --node-count 2  \
      --enable-rbac  \
      --kubernetes-version 1.11.6

$ az aks get-credentials --resource-group voyager-test-1203 --name voyager-test-1203

Configure helm
$ cat <<EOF | kubectl apply -f -
apiVersion: v1
kind: ServiceAccount
metadata:
  name: tiller
  namespace: kube-system
---
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRoleBinding
metadata:
  name: tiller
roleRef:
  apiGroup: rbac.authorization.k8s.io
  kind: ClusterRole
  name: cluster-admin
subjects:
  - kind: ServiceAccount
    name: tiller
    namespace: kube-system
EOF

$ helm init --service-account tiller --upgrade

Install voyager via helm
$ helm repo add appscode https://charts.appscode.com/stable/
$ helm repo update
$ helm install appscode/voyager --name voyager-operator --version 9.0.0 \
  --namespace kube-system \
  --set cloudProvider=aks

Create test-server
$ cat <<EOF | kubectl apply -f -
apiVersion: apps/v1
kind: Deployment
metadata:
  name: test-server
  namespace: default
  labels:
    app: test-server
spec:
  replicas: 1
  selector:
    matchLabels:
      app: test-server
  template:
    metadata:
      labels:
        app: test-server
    spec:
      containers:
        - name: server
          image: appscode/test-server:2.3
          imagePullPolicy: Always
          env:
          - name: POD_NAME
            valueFrom:
              fieldRef:
                fieldPath: metadata.name
          ports:
            - name: http-1
              containerPort: 8080
            - name: http-2
              containerPort: 8989
---
apiVersion: v1
kind: Service
metadata:
  name: test-server
  namespace: default
  labels:
    app: test-server
spec:
  ports:
  - port: 8080
    name: http-1
    protocol: TCP
    targetPort: 8080
  - port: 8989
    name: http-2
    protocol: TCP
    targetPort: 8989
  selector:
    app: test-server
EOF

Create ingress
$ cat <<EOF | kubectl apply -f -
apiVersion: voyager.appscode.com/v1beta1
kind: Ingress
metadata:
  name: test-ingress
  namespace: default
spec:
  rules:
  - host: aa.appscode.test
    http:
      port: 8080
      paths:
      - backend:
          serviceName: test-server
          servicePort: 8080
  - host: bb.appscode.test
    http:
      port: 8989
      paths:
      - backend:
          serviceName: test-server
          servicePort: 8989
EOF

Check response
$ kubectl get service voyager-test-ingress
NAME                   TYPE           CLUSTER-IP    EXTERNAL-IP      PORT(S)                         AGE
voyager-test-ingress   LoadBalancer   <IP_ADDRESS>   <IP_ADDRESS>   8080:31198/TCP,8989:30302/TCP   2m

$ curl -vv -H "Host: aa.appscode.test:8080" 'http://<IP_ADDRESS>:8080'
* Rebuilt URL to: http://<IP_ADDRESS>:8080/
*   Trying <IP_ADDRESS>...
* TCP_NODELAY set
* Connected to <IP_ADDRESS> (<IP_ADDRESS>) port 8080 (#0)
> GET / HTTP/1.1
> Host: aa.appscode.test:8080
> User-Agent: curl/7.61.0
> Accept: */*
>
< HTTP/1.1 200 OK
< Date: Mon, 25 Feb 2019 08:11:31 GMT
< Content-Length: 249
< Content-Type: text/plain; charset=utf-8
<
{"type":"http","host":"aa.appscode.test:8080","podName":"test-server-68c4d6bf58-9ff5v","serverPort":":8080","path":"/","method":"GET","headers":{"Accept":["*/*"],"Connection":["close"],"User-Agent":["curl/7.61.0"],"X-Forwarded-For":["<IP_ADDRESS>"]}}
* Connection #0 to host <IP_ADDRESS> left intact

Try to create an invalid ingress
$ cat <<EOF | kubectl apply -f -
apiVersion: voyager.appscode.com/v1beta1
kind: Ingress
metadata:
  name: test-ingress
  namespace: default
spec:
  rules:
  - host: aa.appscode.test
    http:
      port: 8080
      paths:
      - backend:
          serviceName: test-server
          servicePort: 8080
  - host: aa.appscode.test
    http:
      port: 8080
      paths:
      - backend:
          serviceName: test-server
          servicePort: 8080
EOF

Error from server (Forbidden): error when applying patch:
{"metadata":{"annotations":{"kubectl.kubernetes.io/last-applied-configuration":"{\"apiVersion\":\"voyager.appscode.com/v1beta1\",\"kind\":\"Ingress\",\"metadata\":{\"annotations\":{},\"name\":\"test-ingress\",\"namespace\":\"default\"},\"spec\":{\"rules\":[{\"host\":\"aa.appscode.test\",\"http\":{\"paths\":[{\"backend\":{\"serviceName\":\"test-server\",\"servicePort\":8080}}],\"port\":8080}},{\"host\":\"aa.appscode.test\",\"http\":{\"paths\":[{\"backend\":{\"serviceName\":\"test-server\",\"servicePort\":8080}}],\"port\":8080}}]}}\n"}},"spec":{"rules":[{"host":"aa.appscode.test","http":{"paths":[{"backend":{"serviceName":"test-server","servicePort":8080}}],"port":8080}},{"host":"aa.appscode.test","http":{"paths":[{"backend":{"serviceName":"test-server","servicePort":8080}}],"port":8080}}]}}
to:
Resource: "voyager.appscode.com/v1beta1, Resource=ingresses", GroupVersionKind: "voyager.appscode.com/v1beta1, Kind=Ingress"
Name: "test-ingress", Namespace: "default"
Object: &{map["metadata":map["namespace":"default" "resourceVersion":"6472" "selfLink":"/apis/voyager.appscode.com/v1beta1/namespaces/default/ingresses/test-ingress" "uid":"77098396-38d4-11e9-b30f-3e47562d18b6" "annotations":map["kubectl.kubernetes.io/last-applied-configuration":"{\"apiVersion\":\"voyager.appscode.com/v1beta1\",\"kind\":\"Ingress\",\"metadata\":{\"annotations\":{},\"name\":\"test-ingress\",\"namespace\":\"default\"},\"spec\":{\"rules\":[{\"host\":\"aa.appscode.test\",\"http\":{\"paths\":[{\"backend\":{\"serviceName\":\"test-server\",\"servicePort\":8080}}],\"port\":8080}},{\"host\":\"bb.appscode.test\",\"http\":{\"paths\":[{\"backend\":{\"serviceName\":\"test-server\",\"servicePort\":8989}}],\"port\":8989}}]}}\n"] "creationTimestamp":"2019-02-25T08:07:59Z" "generation":'\x02' "name":"test-ingress"] "spec":map["rules":[map["host":"aa.appscode.test" "http":map["paths":[map["backend":map["serviceName":"test-server" "servicePort":'\u1f90']]] "port":'\u1f90']] map["host":"bb.appscode.test" "http":map["paths":[map["backend":map["serviceName":"test-server" "servicePort":'\u231d']]] "port":'\u231d']]]] "status":map["loadBalancer":map["ingress":[map["ip":"<IP_ADDRESS>"]]]] "apiVersion":"voyager.appscode.com/v1beta1" "kind":"Ingress"]}
for: "STDIN": admission webhook "admission.voyager.appscode.com" denied the request: spec.rules[1].http.paths[0] is reusing path  for addr aa.appscode.test:8080, also used in spec.rules[0].http.paths[0]

Still same issue here
2019/03/22 18:41:55 INFO: applying Helmsman labels to [ haproxy ] in namespace [ kube-system ]
2019/03/22 18:42:06 Command returned with exit code: . And error message: Error: UPGRADE FAILED: failed to create resource: Internal error occurred: failed calling admission webhook "admission.voyager.appscode.com": the server is currently unable to handle the request

with version 9.0.0

@mazzy89, are you using AKS? What is your k8s version? What is your AKS version? Which region are you using? If you look at @diptadas comment from above, this worked in our testing. Can you please give us reproducible steps for this issue?
In the mean time, you can disable the webhook via https://github.com/appscode/voyager/blob/master/chart/voyager/values.yaml#L89

I'm using helmsman 1.7.2, Helm 2.3.0, K8s 1.11.5 on AWS (no EKS). Region does not affect anyhow a webhook.

How are you provisioning your k8s cluster?

kops 1.11.0

Also once   enableValidatingWebhook: false then I get this error:
2019/03/22 21:47:04 Command returned with exit code: . And error message: Error: UPGRADE FAILED: failed to create resource: Internal error occurred: failed calling admission webhook "admission.voyager.appscode.com": the server could not find the requested resource

Please run the following commands and share the output:
kubectl get validatingwebhookconfiguration
kubectl get mutatingwebhookconfiguration

➜ kubectl get validatingwebhookconfiguration
NAME                             AGE
admission.voyager.appscode.com   3h

➜ kubectl get mutatingwebhookconfiguration --all-namespaces
No resources found.

Run
kubectl delete validatingwebhookconfiguration admission.voyager.appscode.com

That should fix the issue.

Oh I see where are we heading.  And error message: Error: UPGRADE FAILED: failed to create resource: Internal error occurred: failed calling admission webhook "admission.voyager.appscode.com": the server is currently unable to handle the request

I've solved it but removing it and disabling the validation in the Helm config

That should do it.

Thank you for the support @tamalsaha. very appreciate it. all solved

Validating webhooks have been generally very useful to protect against various of bad user input. This has been fairly stable in the last 6-9 months (since 1.11 release). We know there is some issue in AKS that causes problem and AKS has been unresponsive to use bug reports. I have not seen any issues in Kops in this regard.

Validation webhooks are a pain in kubernetes as indeed this is another case I've seen in the last months. Nothing related with AKS or kops. Simply kubernetes is affected by this.


Cursor doesn't animate going to right

I have noticed that cursor animations doesn't work going to the right side whether while typing or simply hitting l all other directions animate correctly, i wonder if there's any reason for this? or is it a bug?

So i found that it's intentional to prevent lag however i tried to disable this behavior and see if there's actually any lag and couldn't notice any? Also i can't see why would that lag while hitting backspace erases a character while animating without causing lag

Im not sure if I understand your second point... There is a long term task though regarding configuring when the cursor animates or not. Maybe this issue should be repurposed to allow that?

Actually I think this issue is covered in this: https://github.com/Kethku/neovide/issues/117

@Kethku i was talking about this 👇, What i mean is that i see that we already animate the cursor going to the left, like when you are deleting a character (with backspace) while animating doesn't seem to lag as the comment says.
if travel_distance.y == 0.0 && (chars_travel_x - 1.0).abs() < 0.1 {
   // We're moving one character to the right. Make movement immediate to avoid lag
   // while typing
   immediate_movement = true;
}

Removing immediate_movement and allowing animation to the right doesn't seem to lag or impact typing for me hence my question wondering about the purpose of this

@jonvaldes added it because he perceived lag while typing. I think the correct strategy is to make it optional and maybe disabled by default.
The issue I linked is for a task to add configuration for many types of cursor jumps. Many people don't want the cursor to jump to or from the command line as well, so handling that case in the configuration would be a good idea too.
If that task covers your needs, I'm going to close this one to just keep things tidy

@Kethku sounds good to me, thanks for the awesome work!


Remove escape_html calls

This PR fixes https://github.com/gollum/gollum/issues/1746. I removed the escape_htmls applied to title, notice, and warning. I also added tests for them.

Great that you added some tests for this, thanks @yy0931 ! PR looks good to me; @benjaminwil @dometto ?

Agreed! Thanks @yy0931

This is great. Thank you!


bug: useScaffoldEventHistory multi-chain inconsistent behaviour

Is there an existing issue for this?

[X] I have looked through the existing issues

Current Behavior
Context:
I have deployed 2 YourContract.sol, one on sepolia and other on goerli.
Current state of sepolia contract : 7 times the greetings was set (It should have 7 GreetingChange logged )
Current state of goerli contract : 3 times the greetings was set (It should have 3 GreetingChange logged )
Case 1: Wallet already and is on sepolia (0th chain of targetNetwork array ) and then we switch network
https://github.com/scaffold-eth/scaffold-eth-2/assets/80153681/adf57d69-b94b-47b0-b9f9-3c85af67c837
For some reason even though I am connected to sepolia it shows the event count of goerli (maybe some caching issue with wagmi ? )
Case 2: Wallet is not connected and the connect
https://github.com/scaffold-eth/scaffold-eth-2/assets/80153681/838416c1-84a8-4ec1-a39e-098c9c4a57fa
When the wallet is not connected it nicely fetches events from 0th chain but once I connect to chain if you look at video, it gives me empty values.

NOTE: The case description that I shared are not always true and others might experience a bit different behaviour but would love it if you could monitor 2 cases titles and see the inconsistent behaviour.

Expected Behavior
For sepolia it should log 7 events and then when switched to goerli it should log 3 events
Steps To Reproduce
1 . Update scaffold.config.ts :  targetNetworks: [chains.sepolia, chains.goerli] & pollingInterval: 5000,

2 . Copy this inside externalContracts.ts
import { GenericContractsDeclaration } from "~~/utils/scaffold-eth/contract";

const externalContracts = {
  5: {
    MyContract: {
      address: "0x5bB28a827e250F6BF45D75809Ff21733e7c6704f",
      abi: [
        {
          inputs: [
            {
              internalType: "address",
              name: "_owner",
              type: "address",
            },
          ],
          stateMutability: "nonpayable",
          type: "constructor",
        },
        {
          anonymous: false,
          inputs: [
            {
              indexed: true,
              internalType: "address",
              name: "previousOwner",
              type: "address",
            },
            {
              indexed: true,
              internalType: "address",
              name: "newOwner",
              type: "address",
            },
          ],
          name: "OwnershipTransferred",
          type: "event",
        },
        {
          inputs: [],
          name: "increaseCounter",
          outputs: [],
          stateMutability: "payable",
          type: "function",
        },
        {
          inputs: [],
          name: "owner",
          outputs: [
            {
              internalType: "address",
              name: "",
              type: "address",
            },
          ],
          stateMutability: "view",
          type: "function",
        },
        {
          inputs: [],
          name: "renounceOwnership",
          outputs: [],
          stateMutability: "nonpayable",
          type: "function",
        },
        {
          inputs: [],
          name: "totalCounter",
          outputs: [
            {
              internalType: "uint256",
              name: "",
              type: "uint256",
            },
          ],
          stateMutability: "view",
          type: "function",
        },
        {
          inputs: [
            {
              internalType: "address",
              name: "newOwner",
              type: "address",
            },
          ],
          name: "transferOwnership",
          outputs: [],
          stateMutability: "nonpayable",
          type: "function",
        },
        {
          inputs: [
            {
              internalType: "address",
              name: "",
              type: "address",
            },
          ],
          name: "userGreetingCounter",
          outputs: [
            {
              internalType: "uint256",
              name: "",
              type: "uint256",
            },
          ],
          stateMutability: "view",
          type: "function",
        },
        {
          inputs: [],
          name: "withdraw",
          outputs: [],
          stateMutability: "nonpayable",
          type: "function",
        },
        {
          stateMutability: "payable",
          type: "receive",
        },
      ],
      inheritedFunctions: {
        owner<EMAIL_ADDRESS>        renounceOwnership<EMAIL_ADDRESS>        transferOwnership<EMAIL_ADDRESS>      },
    },
    YourContract: {
      address: "0x1a2de031A50Fe9918f0BCe71Cb060C8CA3911f55",
      abi: [
        {
          inputs: [
            {
              internalType: "address",
              name: "_owner",
              type: "address",
            },
          ],
          stateMutability: "nonpayable",
          type: "constructor",
        },
        {
          anonymous: false,
          inputs: [
            {
              indexed: true,
              internalType: "address",
              name: "greetingSetter",
              type: "address",
            },
            {
              indexed: false,
              internalType: "string",
              name: "newGreeting",
              type: "string",
            },
            {
              indexed: false,
              internalType: "bool",
              name: "premium",
              type: "bool",
            },
            {
              indexed: false,
              internalType: "uint256",
              name: "value",
              type: "uint256",
            },
          ],
          name: "GreetingChange",
          type: "event",
        },
        {
          inputs: [],
          name: "greeting",
          outputs: [
            {
              internalType: "string",
              name: "",
              type: "string",
            },
          ],
          stateMutability: "view",
          type: "function",
        },
        {
          inputs: [],
          name: "owner",
          outputs: [
            {
              internalType: "address",
              name: "",
              type: "address",
            },
          ],
          stateMutability: "view",
          type: "function",
        },
        {
          inputs: [],
          name: "premium",
          outputs: [
            {
              internalType: "bool",
              name: "",
              type: "bool",
            },
          ],
          stateMutability: "view",
          type: "function",
        },
        {
          inputs: [
            {
              internalType: "string",
              name: "_newGreeting",
              type: "string",
            },
          ],
          name: "setGreeting",
          outputs: [],
          stateMutability: "payable",
          type: "function",
        },
        {
          inputs: [],
          name: "totalCounter",
          outputs: [
            {
              internalType: "uint256",
              name: "",
              type: "uint256",
            },
          ],
          stateMutability: "view",
          type: "function",
        },
        {
          inputs: [
            {
              internalType: "address",
              name: "",
              type: "address",
            },
          ],
          name: "userGreetingCounter",
          outputs: [
            {
              internalType: "uint256",
              name: "",
              type: "uint256",
            },
          ],
          stateMutability: "view",
          type: "function",
        },
        {
          inputs: [],
          name: "withdraw",
          outputs: [],
          stateMutability: "nonpayable",
          type: "function",
        },
        {
          stateMutability: "payable",
          type: "receive",
        },
      ],
      inheritedFunctions: {},
    },
  },
  11155111: {
    MyContract: {
      address: "0xd7036EDDDA3743Aa577DC24ca817f3F85099bDbD",
      abi: [
        {
          inputs: [
            {
              internalType: "address",
              name: "_owner",
              type: "address",
            },
          ],
          stateMutability: "nonpayable",
          type: "constructor",
        },
        {
          anonymous: false,
          inputs: [
            {
              indexed: true,
              internalType: "address",
              name: "previousOwner",
              type: "address",
            },
            {
              indexed: true,
              internalType: "address",
              name: "newOwner",
              type: "address",
            },
          ],
          name: "OwnershipTransferred",
          type: "event",
        },
        {
          inputs: [],
          name: "increaseCounter",
          outputs: [],
          stateMutability: "payable",
          type: "function",
        },
        {
          inputs: [],
          name: "owner",
          outputs: [
            {
              internalType: "address",
              name: "",
              type: "address",
            },
          ],
          stateMutability: "view",
          type: "function",
        },
        {
          inputs: [],
          name: "renounceOwnership",
          outputs: [],
          stateMutability: "nonpayable",
          type: "function",
        },
        {
          inputs: [],
          name: "totalCounter",
          outputs: [
            {
              internalType: "uint256",
              name: "",
              type: "uint256",
            },
          ],
          stateMutability: "view",
          type: "function",
        },
        {
          inputs: [
            {
              internalType: "address",
              name: "newOwner",
              type: "address",
            },
          ],
          name: "transferOwnership",
          outputs: [],
          stateMutability: "nonpayable",
          type: "function",
        },
        {
          inputs: [
            {
              internalType: "address",
              name: "",
              type: "address",
            },
          ],
          name: "userGreetingCounter",
          outputs: [
            {
              internalType: "uint256",
              name: "",
              type: "uint256",
            },
          ],
          stateMutability: "view",
          type: "function",
        },
        {
          inputs: [],
          name: "withdraw",
          outputs: [],
          stateMutability: "nonpayable",
          type: "function",
        },
        {
          stateMutability: "payable",
          type: "receive",
        },
      ],
      inheritedFunctions: {
        owner<EMAIL_ADDRESS>        renounceOwnership<EMAIL_ADDRESS>        transferOwnership<EMAIL_ADDRESS>      },
    },
    YourContract: {
      address: "0xE009aea21af005e6B531B5f4a8f909C64A0c596d",
      abi: [
        {
          inputs: [
            {
              internalType: "address",
              name: "_owner",
              type: "address",
            },
          ],
          stateMutability: "nonpayable",
          type: "constructor",
        },
        {
          anonymous: false,
          inputs: [
            {
              indexed: true,
              internalType: "address",
              name: "greetingSetter",
              type: "address",
            },
            {
              indexed: false,
              internalType: "string",
              name: "newGreeting",
              type: "string",
            },
            {
              indexed: false,
              internalType: "bool",
              name: "premium",
              type: "bool",
            },
            {
              indexed: false,
              internalType: "uint256",
              name: "value",
              type: "uint256",
            },
          ],
          name: "GreetingChange",
          type: "event",
        },
        {
          inputs: [],
          name: "greeting",
          outputs: [
            {
              internalType: "string",
              name: "",
              type: "string",
            },
          ],
          stateMutability: "view",
          type: "function",
        },
        {
          inputs: [],
          name: "owner",
          outputs: [
            {
              internalType: "address",
              name: "",
              type: "address",
            },
          ],
          stateMutability: "view",
          type: "function",
        },
        {
          inputs: [],
          name: "premium",
          outputs: [
            {
              internalType: "bool",
              name: "",
              type: "bool",
            },
          ],
          stateMutability: "view",
          type: "function",
        },
        {
          inputs: [
            {
              internalType: "string",
              name: "_newGreeting",
              type: "string",
            },
          ],
          name: "setGreeting",
          outputs: [],
          stateMutability: "payable",
          type: "function",
        },
        {
          inputs: [],
          name: "totalCounter",
          outputs: [
            {
              internalType: "uint256",
              name: "",
              type: "uint256",
            },
          ],
          stateMutability: "view",
          type: "function",
        },
        {
          inputs: [
            {
              internalType: "address",
              name: "",
              type: "address",
            },
          ],
          name: "userGreetingCounter",
          outputs: [
            {
              internalType: "uint256",
              name: "",
              type: "uint256",
            },
          ],
          stateMutability: "view",
          type: "function",
        },
        {
          inputs: [],
          name: "withdraw",
          outputs: [],
          stateMutability: "nonpayable",
          type: "function",
        },
        {
          stateMutability: "payable",
          type: "receive",
        },
      ],
      inheritedFunctions: {},
    },
  },
} as const;

export default externalContracts satisfies GenericContractsDeclaration;

3 . Copy this inside index.tsx :

import { useEffect, useState } from "react";
import type { NextPage } from "next";
import { parseEther } from "viem";
import { useAccount, useWalletClient } from "wagmi";
import { MetaHeader } from "~~/components/MetaHeader";
import { Address, InputBase } from "~~/components/scaffold-eth";
import {
  useScaffoldContract,
  useScaffoldContractRead,
  useScaffoldContractWrite,
  useScaffoldEventHistory,
} from "~~/hooks/scaffold-eth";

const Home: NextPage = () => {
  const { address: connectedAddress } = useAccount();

  const [inputGreetings, setInputGreetings] = useState("");

  const { writeAsync: writeSetGreetings } = useScaffoldContractWrite({
    contractName: "YourContract",
    functionName: "setGreeting",
    args: [inputGreetings],
    value: parseEther("0.01"),
  });

  const { data: totalCounter } = useScaffoldContractRead({
    contractName: "YourContract",
    functionName: "totalCounter",
    watch: true,
  });

  const { data: walletClient } = useWalletClient();
  const { data: YourContract } = useScaffoldContract({
    contractName: "YourContract",
    walletClient,
  });

  useEffect(() => {
    const fetchTotalCounter = async () => {
      try {
        console.log("YourContract", YourContract);
        const value = await YourContract?.read.totalCounter();
        console.log("totalCounter", value);
      } catch (e) {
        console.log("error", e);
      }
    };

    fetchTotalCounter();
    // eslint-disable-next-line react-hooks/exhaustive-deps
  }, [YourContract]);

  const { data: eventHistory } = useScaffoldEventHistory({
    contractName: "YourContract",
    eventName: "GreetingChange",
    filters: { greetingSetter: connectedAddress },
    fromBlock: 0n,
    watch: true,
  });
  console.log("eventHistory", eventHistory);

  return (
    <>
      <MetaHeader />

          The connected address is
          <Address address={connectedAddress} />

            With Hooks

            The totalCounter is
            {totalCounter?.toString()}

          <InputBase onChange={setInputGreetings} value={inputGreetings} placeholder="Set greetings" />
          <button className="btn btn-primary btn-sm ml-12 mb-2" onClick={() => writeSetGreetings()}>
            Set Greetings
          </button>

            Imperative

          <button
            className="btn btn-primary btn-sm"
            onClick={async () => {
              await YourContract?.write.setGreeting([inputGreetings], { value: parseEther("0.01") });
            }}
          >
            Set Imperative Greetings
          </button>

    </>
  );
};

export default Home;

Anything else?
No response

Hey👋
Can I help with this?

Sure @yehia67, assigned it to you! Thanks for taking a look at it!  Please feel free to drop a comment if you have any doubts/face difficulty setting things up  🙌


HTTPS : Let's encrypt !

Hey guys, me again, it would be cool if you could encrypt the host with Let's encrypt !
https://certbot.eff.org/
Tks, keep up the good work !  ❤

I'm a strong advocate for web privacy, encryption, and use of HTTPS; I like this idea.
However, all the data in the API is available for public use so it's unclear to me what the encryption will be protecting in this context. I'm also concerned that this may lead to unnecessary overhead resource consumption, although my knowledge is a bit outdated in this realm and perhaps encryption isn't as CPU-heavy as it used to be.
To summarize: I like encryption, but does it make sense for this application?

I agree with ekzor - because we are not sending private information I don't see encryption as being a high priority at this time.

Closing until someone convinces me that we need HTTPS

Found free SSL certs from GlobalSign, now hotsapi supports https

There's no good reason not to support HTTPS. Good call on supporting this earlier than later.


The Time it takes to run basicParam example on computer 11 is longer than the time it takes computer 5

Computer 5:

computer 11:

Turns out the splitter reduces the speed of the crazyflie connection by a factor of 2


Feature Request: Different styling for blockquotes

It seems that block quotes currently aren't styled any differently than normal text in the rendered html. It would be nice if the blockquote sections were indented or set apart from other text blocks.

it seems they are here in this file https://github.com/pydata/pydata-sphinx-theme/blob/master/src/pydata_sphinx_theme/assets/styles/content/_quotes.scss isn't it ?


Adds support for .deb package builder in Traefik

Implements a Dockerfile and adjusts the Makefile for automated .deb package building in Traefik
This commit introduces a Dockerfile configured for Ubuntu 24, enhancing the environment setup and handling of environment variables for the automated construction of .deb packages. Significant improvements and additions include:

Integration of logrotate to manage log files.
Provision of a traefik.yml example that redirects traffic from port 80 to 8000.
Installation instructions for setting up Traefik as a standalone service on Ubuntu without Docker.
Implementation of a systemd service configuration for robust service management, featuring:

Running as user www-data to enhance security.
AmbientCapabilities=CAP_NET_BIND_SERVICE to allow binding to well-known ports without elevated privileges.
Restart=always to ensure the service restarts automatically if it crashes.
Enhanced filesystem and service isolation with ProtectSystem=strict, PrivateTmp=true, ProtectHome=true, PrivateDevices=true, ProtectKernelTunables=true, ProtectControlGroups=true.
Specified ReadWritePaths=/etc/traefik/acme.json /var/log/traefik/ to restrict read-write permissions to essential paths.

Configuration to run Traefik under the www-data user for improved security and compliance.

These enhancements are aimed at solidifying Traefik's deployment as a secure and reliable reverse proxy and load balancer on Ubuntu systems.
Can be enhanced to support other debian and ubuntu releases.

Hello,
Due to the maintenance, I think it would be better to use a dedicated repository inside the contributor organization https://github.com/traefik-contrib
The organization already has the Snap https://github.com/traefik-contrib/traefik-snap
@robertoberto if you agree, I will set up a repository and invite you to this organization.

Hi Ludovic,
sure please create repo I am thinking in create an apt repo for ubuntu 22
and 24, also debian 12
I can automate build for new traefik tags and generate and publish apt repos
traefik-repos should be a good name
On Sat, 11 May 2024 at 19:59 Ludovic Fernandez @.***>
wrote:

Hello,
Due to the maintenance, I think it would be better to use a dedicated
repository inside the contributor organization
https://github.com/traefik-contrib
The organization already has the Snap
https://github.com/traefik-contrib/traefik-snap
@robertoberto https://github.com/robertoberto if you agree, I will set
up a repository and invite you to this organization.
—
Reply to this email directly, view it on GitHub
https://github.com/traefik/traefik/pull/10713#issuecomment-2106051371,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AADRD5IPTRN6VWUW4GTZCM3ZB2PERAVCNFSM6AAAAABHSITUHWVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDCMBWGA2TCMZXGE
.
You are receiving this because you were mentioned.Message ID:
@.***>

traefik-repos is too generic, I created https://github.com/traefik-contrib/traefik-apt

We can continue the discussion here if you want

great name!
On Sat, 11 May 2024 at 21:56 Ludovic Fernandez @.***>
wrote:

traefik-repos is too generic, I created
https://github.com/traefik-contrib/traefik-apt
—
Reply to this email directly, view it on GitHub
https://github.com/traefik/traefik/pull/10713#issuecomment-2106075463,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AADRD5PR7PNICTG7HCFPV63ZB244DAVCNFSM6AAAAABHSITUHWVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDCMBWGA3TKNBWGM
.
You are receiving this because you were mentioned.Message ID:
@.***>

The packages builder is now inside https://github.com/traefik-contrib/traefik-apt
So we can close this PR.
Thank you @robertoberto

Hello @robertoberto & @ldez, we need to discuss this topic with the maintainers team as the https://github.com/traefik-contrib organization isn't offially maintained by the project team.
We will get back to you ASAP.

Hey @robertoberto, sorry for the delay, there was a bit of confusion with https://github.com/traefik-contrib which is a community-driven organization and some maintainers were not aware of it ;) You can forget my prvious message and move foward. Sorry again.


Updating UMD version to latest

https://github.com/tenstorrent/tt-metal/actions/runs/9097815953
https://github.com/tenstorrent/tt-metal/actions/runs/9097818410
https://github.com/tenstorrent/tt-metal/actions/runs/9097823336
https://github.com/tenstorrent/tt-metal/actions/runs/9097825307
https://github.com/tenstorrent/tt-metal/actions/runs/9097832161
https://github.com/tenstorrent/tt-metal/actions/runs/9088387075
https://github.com/tenstorrent/tt-metal/actions/runs/9088383433
https://github.com/tenstorrent/tt-metal/actions/runs/9097837715


Refactor config parsing in kvrocks2redis

Use ParseConfgLine for more complete comment / quoted string processing
Close #1220
Keep case-sensitive for namespace

Thanks all. Merging...


L515 IMU Calibration and Motion Correction

support L515 IMU calibration and motion correction
updated L515 extrinsic
keep lazy design, use default intrinsic in case valid calibration data is not available on device
calibration instruction aligned for all D400 and L515 devices with IMU

@ev-mp thanks for the review. I submitted changes with pid and extrinsic handling to address the issues. also updated d455 extrinsic.


Help installing and configuring?

Hey!
First of all thanks for this project and for Smooth Scroll
I have installed smooth scroll and now I'm trying to install gumshoe in my jekyll page and I'm failing and I don't know why.
Basically I've downloaded gumshoe.min.js and installed in assets/js/plugins/gumshoe.min.js.
Then I've tried to call the function using _main.js and main.min.js located in assets/js/plugins with:
  gumshoe.init();

And them I build the main.min.js with npm run build:js after set in the package.json in the uglyfy part the path assets/js/plugins/gumshoe.min.js.
It didn't work... so I tried a more straight forward method and put in the footer:
<script src="{{ site.url }}/assets/js/plugins/gumshoe.min.js">
	gumshoe.init({
		selector: '[data-gumshoe] a', // Default link selector (must use a valid CSS selector)
		selectorHeader: '[data-gumshoe-header]', // Fixed header selector (must use a valid CSS selector)
		container: window, // The element to spy on scrolling in (must be a valid DOM Node)
		offset: 0, // Distance in pixels to offset calculations
		activeClass: 'active', // Class to apply to active navigation link and its parent list item
		scrollDelay: false, // Wait until scrolling has stopped before updating the navigation
		callback: function (nav) {} // Callback to run after setting active link
	});
</script>

It didn't work also...
what I'm missing?
you can check the repo here: https://github.com/luispuerto/gumshoe-test
The page running with gumshoe here: https://luispuerto.github.io/gumshoe-test/
A good example post here: https://luispuerto.github.io/gumshoe-test/blog/2017/11/16/the-preliminaries-for-bread-and-pizza-making/
With Smooth Scroll was really easy... I don't know what I'm missing here.

Hey!
You are right!
the problem thought is I just realize that I can't put the ([data-gumshoe] a) in the TOC because it's auto-generated by an include in Jekyll. I've been taking a look to that include, and I really can't figure out how to insert data-gumshoe anywhere.
The toc has a class toc__menu. Can I change the selector to that class? I've changed in selector: '[data-gumshoe] a', to selector: '[toc__menu] a', but it also seem to not work.
Any idea?
Thanks!

In your case, .toc__menu is a class, not a data attribute. The selector is wrong.
This works:
gumshoe.init({
    selector: '.toc__menu a'
});


Reduce response size to 2000

Coverage increased (+0.04%) to 86.364% when pulling ae67cbdb5ac6ad6e0f4cb8e6cbbf4eafdf20236e on qingweibinary:qingwei/reduce_max_response into 3c725b38fe8d6411d5553a565e6cf02f6ebe8ffd on binary-com:master.


Move from Python 2.7 to Python 3.

There's a couple motivations for this, from most significant to least, imo:

python 3 offers more modern concurrency models,
which would allow us to move away from the Threads currently in use in the examples.
python 3 has broader current adoption and is more standard currently.

I attempted this, but my python-foo ran out in getting the AdaFruit library to work with Python 3.
However it seems like that should not be an exotic use-case, so perhaps there's something obvious i'm missing.

I have gotten some partial success by patching the Adafruit library. I'm going to work on it a bit more and then prepare a PR.
python 01_hello_world.py
Disconnecting any connected robots..
Searching for robot types: (all) with names: (any).
matching robots: 1  non-matching robots: 0 ......
Connecting to WW_ROBOT_DASH "Po"
Connected to 'Po'!
Starting a thread for Po.
> /Users/jack/play/py3/WonderPyExamples/tutorial/01_hello_world.py(31)thread_hello()
-> sound_names = self.get_hello_sounds(robot)
(Pdb) 2018-08-01 02:57:40.976 python[19009:2134353] *** Terminating app due to uncaught exception 'OC_PythonException', reason: '<class 'TypeError'>: ord() expected string of length 1, but int found'
*** First throw call stack:
(
	0   CoreFoundation                      0x00007fff4fb722db __exceptionPreprocess + 171
	1   libobjc.A.dylib                     0x00007fff76d22c76 objc_exception_throw + 48
	2   CoreFoundation                      0x00007fff4fb72229 -[NSException raise] + 9
	3   _objc.cpython-36m-darwin.so         0x0000000107f971ce PyObjCErr_ToObjCWithGILState + 46
	4   _objc.cpython-36m-darwin.so         0x0000000107fd4604 -[OC_PythonObject forwardInvocation:] + 820
	5   CoreFoundation                      0x00007fff4fae855c ___forwarding___ + 748
	6   CoreFoundation                      0x00007fff4fae81e8 _CF_forwarding_prep_0 + 120
	7   CoreBluetooth                       0x00007fff4f611e91 -[CBPeripheral handleAttributeEvent:args:attributeSelector:delegateSelector:delegateFlag:] + 241
	8   CoreBluetooth                       0x00007fff4f611fcd -[CBPeripheral handleCharacteristicEvent:characteristicSelector:delegateSelector:delegateFlag:] + 115
	9   CoreBluetooth                       0x00007fff4f60da1f -[CBPeripheral handleMsg:args:] + 297
	10  CoreBluetooth                       0x00007fff4f6084cb -[CBCentralManager handleMsg:args:] + 198
	11  CoreBluetooth                       0x00007fff4f6168ae __30-[CBXpcConnection _handleMsg:]_block_invoke + 53
	12  libdispatch.dylib                   0x00007fff7790a5fa _dispatch_call_block_and_release + 12
	13  libdispatch.dylib                   0x00007fff77902db8 _dispatch_client_callout + 8
	14  libdispatch.dylib                   0x00007fff77917217 _dispatch_queue_serial_drain + 635
	15  libdispatch.dylib                   0x00007fff7790a166 _dispatch_queue_invoke + 373
	16  libdispatch.dylib                   0x00007fff7790e221 _dispatch_main_queue_callback_4CF + 776
	17  CoreFoundation                      0x00007fff4fb2ac19 __CFRUNLOOP_IS_SERVICING_THE_MAIN_DISPATCH_QUEUE__ + 9
	18  CoreFoundation                      0x00007fff4faecdfa __CFRunLoopRun + 2586
	19  CoreFoundation                      0x00007fff4faec153 CFRunLoopRunSpecific + 483
	20  Foundation                          0x00007fff51be8f26 -[NSRunLoop(NSRunLoop) runMode:beforeDate:] + 277
	21  _objc.cpython-36m-darwin.so         0x0000000107fd78c7 ffi_call_unix64 + 79
	22  ???                                 0x00007ffee8dddee0 0x0 +<PHONE_NUMBER>75360
)
libc++abi.dylib: terminating with uncaught exception of type NSException
Abort trap: 6

The solution to the first hurdle is found here: https://github.com/adafruit/Adafruit_Python_BluefruitLE/pull/31/files

Here's the PR https://github.com/playi/WonderPy/pull/9

As life of python 2.7 is nearly at an end. What is the current status of migrating to py3?

What is migration status?


Remove the fallback to get vscode engine support information of an extension

We expect every extension in Marketplace to have engine gallery property defined, so that, VS Code do not need to fetch manifest of the extension. In case this property is not there, we fall back to reading manifest. This is added long time back for backward compatibility before engine property is added to gallery.
This is the time to check and remove this fallback.
CC @joaomoreno

From the latest telemetry it seems there are still extensions (old) which do not have this property in the Marketplace. So this cannot be removed.


pull request for e2e test at 01/28/2017 00:26:17

:white_check_mark: Validation status: passed
For more details, please refer to the build report.
Note: If you changed an existing file name or deleted a file, broken links in other files to the deleted or renamed file are listed only in the full build report.


support dismissOnlyOnSwipeEnded

Apple Music on iOS 12 doesn't dismiss when you are still swiping. Adding a parameter to support this behavior.

Hi there, and thank you for this pull request.
I’m going with a slightly different direction from this is an upcoming update, using a fully interactive transition and with some better support for disabling the gesture interactively so the library doesn’t have to accommodate individual components like UISlider. You can follow along with that discussion in #109.
That behaviour encompasses this PR already so I’m closing this for now.


A children node is check and disable, and i unckeck this node's parent node,the children node is uncheck.

A children node is check and disable, and i unckeck this node's parent node,the children node is uncheck too.  I want this, if the children node is disable, the state of node's check is no change with it's parent.

This is not supported. You can disable tri-state all together and handle changes manually, but cascading the checked state depending on criteria in the nodes is not supported. As for cascade - take a look at the checkbox.cascade option.


Add "objectIncluding" / additionalProperties support

I've just read in https://github.com/aldeed/meteor-simple-schema/issues/407 that I can define an object as blackbox and add fields that should be required.
Has this behavior changed lately? Because according to the ticket I referenced above, the following code should throw an error, right?
new SimpleSchema({
  test: {
    type: Object,
    blackbox: true,
  },
  'test.foo': {
    type: String,
  },
}).validate({
  test: { bar: 'bar' },
});

I don't remember that ever working. Once it hits blackbox: true it stops traversing the object.

@aldeed what is your suggestion this should be done? Because you've closed https://github.com/aldeed/meteor-simple-schema/issues/407 as a duplicate of https://github.com/aldeed/meteor-simple-schema/issues/213 which again is a different approach to the problem, which - again - was closed in favor to https://github.com/aldeed/meteor-simple-schema/issues/244 which never got completed.
How is your suggestion of moving forward from these issues?

@SimonSimCity Here's what I'm thinking:
Borrowing from JSONSchema, add an additionalProperties option for the SimpleSchema constructor. Unlike JSONSchema, it would be false by default for backwards compatibility.
Example of schema requiring a string name and allowing anything else unvalidated:
new SimpleSchema({ name: String }, {
  additionalProperties: true
});

Example of this as a subschema:
const itemSchema = new SimpleSchema({ name: String }, {
  additionalProperties: true
});

new SimpleSchema({
  foo: String,
  items: [itemSchema]
});

Example where all of the additional props have to have string values with at least 2 characters:
new SimpleSchema({ name: String }, {
  additionalProperties: {
    type: String,
    min: 2
  }
});

I think this is the best combination of flexibility and easy implementation.
The proposal in aldeed/meteor-simple-schema#244 goes beyond this and is much harder to implement. I think the additionalProperties approach should be fairly easy, but won't know for sure until someone gives it a shot.

Just to get this right ...
Your proposal would make additionalProperties - unlike the same property in JSON schema - apply to the full schema definition, which means it would also yield for sub-definitions, is that correct?
So I could not have a document with a required sub-document where one of the sub-documents is defined and should not have this option.
This would still pass:
new SimpleSchema({
  name: String,
  obj: {
    type: Object,
  },
  'obj.foo': { type: String }
}, {
  additionalProperties: {
    type: String,
    min: 2
  }
}).validate({
  name: 'foo',
  obj: { foo: 'bar', bar: 'foo' }
});

@SimonSimCity Correct, but you could make obj a SimpleSchema instance instead if you need it to apply to obj properties.
As I mentioned somewhere, it could be possible to support an additional additionalProperties on obj (anything where type is Object) as well, but the implementation of that might get quite a bit trickier.

I mentioned this here because you were borrowing a property from JSON Schema, but your implementation would be quite different from it. If you say that you'd borrow it for this use-case I'd also rather use it the way it's used there in order to avoid confusion. Another option would be not to link it to the JSON Schema.


hip host-configs for rznevada

This PR adds host-configs for rznevada, modifies uberenv for axom to build with +rocm.
This PR does not add hip execution policies from RAJA.
Resolve #710, related to #685
Issues that still remain:

[ ] The shared TPLs are currently located at /usr/WS1/axom/libs/toss_4_x86_64_ib_cray_temp_dir/. The expected build_src.py default, /usr/WS1/axom/libs/toss_4_x86_64_ib_cray/, is a private user-only directory from someone that has left. @white238 is seeing if someone at LC can delete the directory.
[ ] The installed examples (using-with-[cmake/blt/make]) fail and are disabled for hip. These examples are also failing for CUDA and were already disabled.
[ ] There is a Fortran executable (quest_inout_interface_F_ex) and unit test (quest_inout_interface_mpi_F_test) that fails to compile with amdclang in a Debug build (File: src/axom/quest/examples/CMakeLists.txt). They are disabled under these conditions.
[ ] blt is not updated to develop with the hip changes. Still have issue with -lhip_runtime linkage error. This branch tracks the current PR and has latest blt with blt::hip.

Non-blocking tasks moved to issue #787

@bmhan12 Have you tried the Cray compiler for Fortran? I think that's what we want to support and test rather than amdflang, which support for is unclear I believe.

Thank you. I missed that. We can discuss whether to support amdflang at today's meeting.

Moved non-blocking tasks to issue #787. This PR can be re-reviewed.

PR was updated with the following:

Spack config files modified to work with new clingo concretizer
gitlab updated to run on corona
Rebuilt nevada TPLS at /usr/WS1/axom/libs/toss_4_x86_64_ib_cray/ (build_tpls.py default) after LC deleted the private user-only directory at the same location.
Removed config with amdflang from nevada in favor of the config with crayftn.


Incorrect scaling for icons embedded in code lenses

Does this issue occur when all extensions are disabled?: Yes/No

VS Code Version: 1.87.2
OS Version: Darwin arm64 21.6.0

Apparently a code lens' title can embed an icon, the same way it works for statusbar items, but for a code lens like this:
const lens = new vscode.CodeLens ( line.range, {
  title: '$(github) latest',
  command: 'noop'
});

Thanks for creating this issue! It looks like you may be using an old version of VS Code, the latest stable release is 1.88.0. Please try upgrading to the latest version and checking whether this issue remains.
Happy Coding!


Split publisher interface, add allows and exports for asset bundles

Q
A

Is bugfix?
❌

New feature?
✔

Breaks BC?
✔

Fixed issues
-

Need to test it with apps and likely update app configs.

Because having so many interfaces, if no one is going to do their own implementation, we are just adding more configurations.

Could you please show an example of the use of json files, maybe I'm not seeing it clearly, and thanks.

The json file can be used by external module builders, such as webpack. This is just a concept for now, and the export functionality will continue to improve.


what is this error??

i trained with

ns-train neus-facto --pipeline.datamanager.train-num-rays-per-batch 700 --pipeline.datamanager.eval-num-rays-per-batch=32 --vis wandb nerfstudio-data --data data/custom/fox2

but this error occured

Hi, is this error happen only on the fox dataset? Could you try other methods on the fox scene or try neus-facto with other dataset?

Hi, is this error happen only on the fox dataset? Could you try other methods on the fox scene or try neus-facto with other dataset?

ns-train neus-facto --pipeline.datamanager.train-num-rays-per-batch 700 --pipeline.datamanager.eval-num-rays-per-batch=32 --vis wandsb sdfstudio-data --data/sdfstudio-demo-data/dtu-scan65
If I use dtu data that I raise by default, no errors occur
Fox is a dataset created using
ns-process-data images --data input/fox --output-dir output/fox2 of nerfstudio, but if the problem is using nerfstudio, how is it easy and convenient to generate data?

Hi, maybe you need to enable the background model of neus-facto as the background model is disabled by default.

Hi, you could enable it with --pipeline.model.background-model grid .

Hi, you could enable it with --pipeline.model.background-model grid .

i trained with ns-train neus-facto --pipeline.datamanager.train-num-rays-per-batch 700 --pipeline.model.background-model grid --pipeline.datamanager.eval-num-rays-per-batch=32 --vis wandb nerfstudio-data --data data/custom/fox2 this
but same error occured
Is the dataset I processed with nerfstudio wrong?
here is my wandb https://wandb.ai/ju805604/sdfstudio?workspace=user-ju805604


Add idle support to power off the screen automatically after inactivity

Since a kiosk might go long without any usage, we should power off the screen to save power in such periods.

I am trying to get a cage installation to turn off the monitor after a specified time.  You mention using swayidle to implement the idle tracker, but the examples for swayidle use swaymsg to send a dpms off message to turn off/on the monitor.  swaymsg using the sway (only?) IPC to turn off the monitor.
What command should be used with swayidle to control dpms when using cage?


Change alias of LocateCommand and ListCommand

Considering about the function of both the command, it's more friendly to use "l" for LocateCommand and "li" for ListCommand.

change alias of LocateCommand from "lo" to "l"

change alias of ListCommand from "l" to "li"

Pull Request Test Coverage Report for Build 337

0 of 0 (NaN%) changed or added relevant lines in 0 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage remained the same at 74.815%

Totals

Change from base Build 332:
0.0%

Covered Lines:
1925

Relevant Lines:
2573

💛  - Coveralls

Resolved in PR #157. PR closed.


feat(learn): rename full stack certificate to legacy full stack

Checklist:

[x] I have read freeCodeCamp's contribution guidelines.
[x] My pull request has a descriptive title (not a vague title like Update index.md)
[x] My pull request targets the master branch of freeCodeCamp.
[x] All the files I changed are in the same world language, for example: only English changes, or only Chinese changes, etc.

Closes #39013

This PR renames the current Full Stack certificate to Legacy Full Stack. It also moves the requirements and claim/show button to the top of the Legacy Certifications section on the settings page.

A sanity check comes to mind:
We might have a problem with the slug (may not be related to the PR), we need to have a way to make sure the old full-stack slug still works.
Thanks.

@raisedadead, thanks for pointing that out. I was wondering, is it better to handle the redirect for this slug change in create-redirects.js, or on the NGINX side of things? I can update this PR to include it, or submit another for the NGINX config.

The create-redirects file is no longer in use, it was something that we have had for generating the Netlify redirect files. We might as well clean it up and delete is.
We would need to leave the slug as is in this PR. The last thing we want is to be dependent on external logic (NGINX) for this. I think we would want to version control the slug by adding the year just like in the flags.
Let me think this over and get back to you.

@raisedadead, that sounds good. Just let me know if there's anything else I can do in this PR or in another.

As discussed waiting on this to revert the slug back to full-stack

@raisedadead, it's not so pretty, but this should revert all instances of legacy-full-stack to full-stack.
I also realized that we should probably revert thelegacy-information-security-and-quality-assurance slug to information-security-and-quality-assurance since those changes aren't live yet. I can do that in another PR the next chance I get.

I also realized that we should probably revert thelegacy-information-security-and-quality-assurance slug to information-security-and-quality-assurance since those changes aren't live yet. I can do that in another PR the next chance I get.

Good call. Looking forward to the PR.

Kris, I am closing the other umbrella issue in the OP as well. Let me know when this is ready for QA. No rush.

@raisedadead, things are working now, but I had to change things all over the place.
@ojeytonwilliams and I discussed having all the cert information in one place, and perhaps generated automatically from the markdown/meta.json files for each cert in the future.
Right now I'm just trying to refactor a bit and get all the cert/project information into one file manually.

@ojeytonwilliams, I started the process of consolidating all the cert information into one file. Didn't have much of a chance to look at TimeLine.js, so please feel free to add to this if you have a chance. Otherwise I'll probably come back to it later this weekend.
Other than that, I tested all the certs locally and they seem to work. You can claim and view them all from the settings page, and all the links work on the public profile page.


Boosting QR image

Generate account boosting QR image that will be processed by mobile app. Mobile app will scan QR image and offer in-app purchase. Here we can replace :gift box: icon from header (next to wallet icon) and add :rocket: icon and clicking that should open either modal or open page with QR image. Format of link and qr image string: https://ecency.com/purchase?type=boost&username=xyz
Related mobile app PR: https://github.com/ecency/ecency-mobile/pull/2349

fixed in #976


With checkpointing being supported in the CRI (at least for CRIO), can we add a checkpoint command to crictl.

What would you like to be added:
Add a checkpoint command to crictl so people could checkpoint using this tool.
Why is this needed:
Increase visibility in checkpointing

cc @adrianreber

This already exists: https://github.com/kubernetes-sigs/cri-tools/blob/master/cmd/crictl/container.go#L612

/close
ah I see.


feat(lnd): show error message if lnd exits

If lnd unexpectedly exists, show the user the last error message reported by lnd in order to help diagnose issues.
See #674

Pull Request Test Coverage Report for Build 3736

1 of 11 (9.09%)  changed or added relevant lines in 2 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage decreased (-0.008%) to 12.303%

Changes Missing Coverage
Covered Lines
Changed/Added Lines
%

app/lib/zap/controller.js
0
1
0.0%

app/lib/lnd/neutrino.js
1
10
10.0%

Totals

Change from base Build 3731:
-0.008%

Covered Lines:
467

Relevant Lines:
3341

💛  - Coveralls

utACK 1b4de6c


Clear snapshot from prefetch cache after 5s or on load

Description
Clear snapshot from prefetch cache after 5s or on load. If we clear it immediately then we will make a network call again to fetch this snapshot which is redundant. So don't clear this cache immediately. We also clear it once it is used.

@jatgarg , could you please add some description on why this change is needed? I.e., what problem it solves? It's so hard to guess. :)


Phar builds likely broken

Was working, but last few builds showing "inappropriate ioctl" error arising from PHPUnit when it tries the first initial run.

<?php
namespace Humbug\\Env;
require_once '{$humbugBootstrap}';

Error is linked to above include in Adapter/Phpunit/Job...sigh

Phar builds fixed :grinning:


the field group dropdown's value changes is emitting multiple values as I change the tab

Description
A clear and concise description of what the bug is.
I have three different tabs on each tab selection I am getting response from backend and binding it to fields variable of forlmy-form , but in one of the tab I have dropdown also but this is not there in other tabs and I am using ng-select here and if I filled one dropdown I am getting response for other dropdown from API but if I change the tab to other tab and agian if I come back to my tab which is having this dropdown in its form and this time if I choose any value from first dropdown the API is calling multiple time as the valuechanges even I selected single value from the dropdown and the API is increasing as the tab changing is increased.
Can you please help me out where I am doing wrong here
Minimal Reproduction

https://stackblitz.com/...
Your Environment

Angular version: 8.0.0
Formly version: 5.10.7

Additional context
Add any other context about the problem here.

The request is not clear enough and a reproduction example using our stackblitz is needed, feel free to reopen when you have got a reproduction example.
hint: To reduce the value changes emits you may use distinctUntilChanged pipe.

The request is not clear enough and a reproduction example using our stackblitz is needed, feel free to reopen when you have got a reproduction example.
hint: To reduce the value changes emits you may use distinctUntilChanged pipe.

Description
A clear and concise description of what the bug is.
I have three different tabs on each tab selection I am getting response from backend and binding it to fields variable of forlmy-form , but in one of the tab I have dropdown also but this is not there in other tabs and I am using ng-select here and if I filled one dropdown I am getting response for other dropdown from API but if I change the tab to other tab and agian if I come back to my tab which is having this dropdown in its form and this time if I choose any value from first dropdown the API is calling multiple time as the valuechanges even I selected single value from the dropdown and the API is increasing as the tab changing is increased.
Can you please help me out where I am doing wrong here
Minimal Reproduction
https://stackblitz.com/...
Your Environment

Angular version: 8.0.0
Formly version: 5.10.7

Additional context
Add any other context about the problem here.

@Praveen-1998  Did you fix this issue ? i seem to be facing similar issue  with ng select


editorial: Use underscores in enums instead of dashes

We use dashes in enums:
  enum {
    batch-collected(0),
    report-replayed(1),
    report-dropped(2),
    hpke-unknown-config-id(3),
    hpke-decrypt-error(4),
    vdaf-prep-error(5),
    batch-saturated(6),
  } ReportShareError;

I'm not sure how got on this kick (might be my fault!), but I would prefer underscores:
  enum {
    batch_collected(0),
    report_replayed(1),
    report_dropped(2),
    hpke_unknown_config_id(3),
    hpke_decrypt_error(4),
    vdaf_prep_error(5),
    batch_saturated(6),
  } ReportShareError;

It's pretty immaterial, but I have a weak preference for underscores, mainly for consistency with RFC 8446.

Does anyone have a strong preference for dashes?
Does anyone object to landing this change in DAP-02?

Oops, this was supposed to be for the DAP spec :(


Added react component example

Added a react component example in the "use_as_react_component" directory and updated the main README to include this

I've tried it on Windows. After npm install and npm run dev I've opened localhost:3000, but the page doesn't load. I get this in the console:
Warning: Invalid hook call. Hooks can only be called inside of the body of a function component. This could happen for one of the following reasons:
1. You might have mismatching versions of React and the renderer (such as React DOM)
2. You might be breaking the Rules of Hooks
3. You might have more than one copy of React in the same app
See https://reactjs.org/link/invalid-hook-call for tips about how to debug and fix this problem.
TypeError: Cannot read properties of null (reading 'useContext')
    at Object.useContext (C:\Users\Viktor\GitRepos\Online3DViewerExamplesCallum\use_as_react_component\node_modules\react\cjs\react.development.js:1618:21)
    at Html (webpack-internal:///./node_modules/next/dist/pages/_document.js:678:104)
    at renderWithHooks (c:\Users\Viktor\GitRepos\Online3DViewerExamplesCallum\use_as_react_component\node_modules\react-dom\cjs\react-dom-server.browser.development.js:5658:16)
    at renderIndeterminateComponent (c:\Users\Viktor\GitRepos\Online3DViewerExamplesCallum\use_as_react_component\node_modules\react-dom\cjs\react-dom-server.browser.development.js:5731:15)
    at renderElement (c:\Users\Viktor\GitRepos\Online3DViewerExamplesCallum\use_as_react_component\node_modules\react-dom\cjs\react-dom-server.browser.development.js:5946:7)
    at renderNodeDestructiveImpl (c:\Users\Viktor\GitRepos\Online3DViewerExamplesCallum\use_as_react_component\node_modules\react-dom\cjs\react-dom-server.browser.development.js:6104:11)
    at renderNodeDestructive (c:\Users\Viktor\GitRepos\Online3DViewerExamplesCallum\use_as_react_component\node_modules\react-dom\cjs\react-dom-server.browser.development.js:6076:14)
    at finishClassComponent (c:\Users\Viktor\GitRepos\Online3DViewerExamplesCallum\use_as_react_component\node_modules\react-dom\cjs\react-dom-server.browser.development.js:5688:3)
    at renderClassComponent (c:\Users\Viktor\GitRepos\Online3DViewerExamplesCallum\use_as_react_component\node_modules\react-dom\cjs\react-dom-server.browser.development.js:5696:3)
    at renderElement (c:\Users\Viktor\GitRepos\Online3DViewerExamplesCallum\use_as_react_component\node_modules\react-dom\cjs\react-dom-server.browser.development.js:5943:7)
TypeError: Cannot read properties of null (reading 'useContext')
    at Object.useContext (C:\Users\Viktor\GitRepos\Online3DViewerExamplesCallum\use_as_react_component\node_modules\react\cjs\react.development.js:1618:21)
    at Html (webpack-internal:///./node_modules/next/dist/pages/_document.js:678:104)
    at renderWithHooks (c:\Users\Viktor\GitRepos\Online3DViewerExamplesCallum\use_as_react_component\node_modules\react-dom\cjs\react-dom-server.browser.development.js:5658:16)
    at renderIndeterminateComponent (c:\Users\Viktor\GitRepos\Online3DViewerExamplesCallum\use_as_react_component\node_modules\react-dom\cjs\react-dom-server.browser.development.js:5731:15)
    at renderElement (c:\Users\Viktor\GitRepos\Online3DViewerExamplesCallum\use_as_react_component\node_modules\react-dom\cjs\react-dom-server.browser.development.js:5946:7)
    at renderNodeDestructiveImpl (c:\Users\Viktor\GitRepos\Online3DViewerExamplesCallum\use_as_react_component\node_modules\react-dom\cjs\react-dom-server.browser.development.js:6104:11)
    at renderNodeDestructive (c:\Users\Viktor\GitRepos\Online3DViewerExamplesCallum\use_as_react_component\node_modules\react-dom\cjs\react-dom-server.browser.development.js:6076:14)
    at finishClassComponent (c:\Users\Viktor\GitRepos\Online3DViewerExamplesCallum\use_as_react_component\node_modules\react-dom\cjs\react-dom-server.browser.development.js:5688:3)
    at renderClassComponent (c:\Users\Viktor\GitRepos\Online3DViewerExamplesCallum\use_as_react_component\node_modules\react-dom\cjs\react-dom-server.browser.development.js:5696:3)
    at renderElement (c:\Users\Viktor\GitRepos\Online3DViewerExamplesCallum\use_as_react_component\node_modules\react-dom\cjs\react-dom-server.browser.development.js:5943:7)

This is really strange. I've just tested on Windows 11, both with and without WSL2, as well as on MacOS and Linux (Manjaro), as well as with both Firefox and Chrome, and it's working on all of them.

It could be related to that warning, I can't say I've ever seen that warning before as I never use Windows without WSL2 for development. After some google, I found this https://github.com/vercel/next.js/discussions/33299 which shows that this is an ongoing issue with running the latest versions of Nextjs on Windows without WSL2. Could you possibly try out some of the solutions suggested there or, if you have WSL installed locally, test it using WSL. I don't think this is an issue with the code itself and more an issue with Next and windows

Probably it's just on my machine, I'll check if I'll have some time.

Thank you for this detailed documentation, it will be a really big help for everyone using Online 3D Viewer with React.

By running npm run dev from powershell it works perfectly!


Expanded should use index property (not viewIndex)

What version of React-Table are you using?
6.7.5
What bug are you experiencing, or what feature are you proposing?
When you use expanding and sorting there is na bug.
Expanded is propably using viewIndex property, and it should use index property.
When you try sort expanded data, and expanded row change its viewIndex it is collapsed,
and the new row that appers on old viewIndex is expanded.
What are the steps to reproduce the issue?
https://react-table.js.org/#/story/controlled-component
1.try to expand row 2,
2.sort it by "LAST NAME" - as you see after sorting: row on viewIndex=1(row 2)  is expanded, not row that you expand at point 1.
Can you change the expander to work with index property not viewIndex.
I need to have same rows expanded before/after sorting

This would be a completely breaking change - so is unlikely to happen until the next major version change (at which point ReactTable may be completely redesigned).  So it can't changed easily at this point due to so many uses depending on the existing behaviour.
NOTE: this is not a bug - it is intended behaviour.  ReactTable does not track the expanded/collapsed state of all records in the data.  It is specifically designed to only track what is displayed on the page.
However, you are welcome to fork the code and change it in any way that suits your requirements.

Do you have any idea how such behavior (expanding same rows before/after sorting) can be programmed in current version (without changing react-table code)?

I have ideas - but I have never coded any of them.  You would need to create your own map of what is open based on ID's of your rows (note: ReactTable has no internal IDs which is part of the reason why it doesn't use them).  Then you would use something like a getTrProps or getTdProps to know when the particular row was being displayed and set up your expanded accordingly.

I am closing this now as it is an implementation issue.  Some people over on the react-table Slack channel (badge at the top of the README in the doco site) may have done something like this (but I doubt it - the effort is extreme).


Empty CUDA cache before profiling

Why:

If you have previously run some code you wish to profile with
different parameters, causing it to allocate more memory, then this
will lead to inaccurate profiling results which correspond to the set
of parameters that cause the maximum memory usage due to torch's CUDA
memory allocator.

This change addresses the need by:

Emptying the CUDA memory cache before profiling resolves this issue.

Can you give an example of the failed case. I was wondering if the problem exists in the decorator style line profiler.

Huh... I'm struggling to reproduce it now in an independent notebook.

Should we close this?

Closing as empty_cache already called in enable method.
https://github.com/Stonesjtu/pytorch_memlab/blob/43e4d09b1f710bdc278e8deaa8d28ba9c3a2f62b/pytorch_memlab/line_profiler/line_profiler.py#L87-L95


Luminosity ratio for "Network settings" text is 3.6:1 which is less than 4.5:1.

A team member will update this issue with more details soon.

This is your friendly Microsoft Issue Bot. I created this issue automatically as requested by a team member.


How to access 'https://apis.google.com/js/api.js' in China

Hi,
Is the API 'https://apis.google.com/js/api.js' available to China users?

We don't have an official reachability information for IP addresses and DNS entries from behind the firewall. And there is not an up-to-date official list of blocked sites.


[FLINK-27846] Remove AlwaysTrue and AlwaysFalse

Formats and other engines can not support AlwaysTrue, AlwaysFalse, we can just remove the predicate if field not found.

Thanks @JingsongLi  LGTM


feat: Implement more logic for classes

Description:

Validate index signatures of a class first.
Handle this in access_property.

I extracted this from https://github.com/dudykr/stc/pull/832

Closing as this does not change test stats


Support negative axes

I had an issue where rendering a series of values <= 0 would still produce an axis label at +4 (or more accurately, whatever steps was set to). This change results in a maximum axis label of 0 if all values are <= 0.
Thanks for the library, please let me know if there's anything you'd like me to look at here!

Coverage remained the same at 100.0% when pulling 4ef085e27b48eec782c291dee7ac53a8fa6193a4 on skinnyfit:support-negative-axes into c8fa02c185d41b880219bc72707b9d72a54b374b on Fullscreen:master.


Does it works well in 32bit systems?

We are not sure that our project is working well in 32bit systems such as win 32bit, linux 32bit.
How can we test them? (Especially, windows?)

I'll check it on 32bit windows

Close this issue, you can re-open it if you want.


Add 2 Payments with real test url and id from stripe. Add stripe paym…

…ent method on test data from oficial tutprial

Merge it


[FEAT] Prop to set default playback speed

What problem do you want to solve? Please describe.
We want to allow the user to hover and more rapidly preview the video in question by playing at an optional increased rate like 2x or 4x so they don’t need to watch the video at regular speed and can just “scan” through it.
Describe the solution you'd like
An optional prop to set the default playback speed at various rates using video.playbackRate.
https://developer.mozilla.org/en-US/docs/Web/API/HTMLMediaElement/playbackRate
Describe alternatives you've considered
None.
Additional context
None.

Hi, thanks for the suggestion! I have actually been working on a new feature that will be released soon which adds a videoRef prop to expose a ref to the video element, making it easier to directly access the video and implement custom behavior like this yourself. An example for how you might use it in this case would be:
const hoverVideoRef = useRef();

useEffect(() => {
  const videoElement = hoverVideoRef.current;

  videoElement.playbackRate = 2;
}, []);

return (
  <HoverVideoPlayer
    videoSrc="video.mp4"
    videoRef={hoverVideoRef}
  />
);

I am planning on releasing it in the next few hours so I will let you know when it is live.

Thanks a ton, that sounds great!

Okay, the videoRef prop has officially been released in version 8.1.0! Let me know if you have any issues or questions!

Thanks again! We'll give it a run through and share any additional feedback!


#77 Added. Missing tests.

Closes #77.

Coverage has decreased but it should come back up once we finish #78.


Translation | Dowload email

As dowloads redirect to GBIF main page, and the download email is send directly by GBIF we should start to think about the translation of the Dowload email or other suitable alternatives to get this information on the user lenguage. Maybe by detecting from wich portal the request was sent (but many portals have multiple lenguages)

Your timing is good. I believe this work is already implemented and translation taking place
https://crowdin.com/project/gbif-registry/content/files
But we want to make sure the link to GBIF.org redirects to the correct language

Great, we have done the translation on crowdin we will make some test this week around the redirection.

I just checked and if the GBIF user accout is set in X language the dowload email is recieved in that x language. But if the user account has not language defined even by doing the dowload  from a portal in x language the email is recieved in english. I know you are working on that, the comment is only to let you know the behavior we noticed by doing trials.

If a user creates an account using the "spanish site" gbif.org/es, then the user account automatically has the preferred language set to Spanish.
If the account was created before we introduced this, then the default language is english.
A user can at any time change their preferred language in profile settings
https://www.gbif-uat.org/es/user/profile
If the sent mails aren't sent in the correct language, then it sounds like a bug we should create an issue for

The hosted portal now redirects to the corresponding language version on GBIF.org.


Expose Phaser.Physics.Arcade.Components to the user

I was trying to implement my own GameObject using as a base Phaser.GameObjects.Zone. My new GameObject needs a body (arcade) so I'm using scene.physics.add.existing(this, true).
No problem there. But I wanted to decorate that GameObject with Phaser.Physics.Arcade.Components.Enable and others and I found that the Arcade Components are not exposed in Phaser.Physics.Arcade.
https://github.com/photonstorm/phaser/blob/master/src/physics/arcade/index.js
It would be great to be able to use them (and all other internal components too). :)

Thank you for submitting this feature request. We have implemented this and the feature has been pushed to the master branch. It will be part of the next release. If you get time to build and test it for yourself we would appreciate that.


Support for Device OOB IP

For a years NetBox users requested for OOB IP in DCIM https://github.com/netbox-community/netbox/issues/8137
Now this PR merged and will avail in NetBox 3.6 https://github.com/netbox-community/netbox/pull/13013
netbox-plugin-prometheus-sd shoud have oob_ip field accordingly

Nice feature, would love to see a PR as soon as it's available in Netbox.


Dedicated Linux Server Stack Trace Error

Valheim 0.218.19
DynamicStoragePiles 0.6.0
I'm getting a stack trace error on booting up my server, which then replicates onto the clients log when they connect to the server as well.
I haven't noticed a loss of functionality, but I also don't recall seeing that error on the previous Valheim build either.
Console: [Error : Unity Log] NullReferenceException
Stack trace:
UnityEngine.Component.GetComponentsInChildren[T] (System.Boolean includeInactive) (at <3aefadeb43334fcf8b7b268355c16be2>:0)
UnityEngine.Component.GetComponentsInChildren[T] () (at <3aefadeb43334fcf8b7b268355c16be2>:0)
DynamicStoragePiles.DynamicStoragePiles+<RenderSprite>d__23.MoveNext () (at <89fb5de06ae2439dae8bb1a665845ca0>:0)
UnityEngine.SetupCoroutine.InvokeMoveNext (System.Collections.IEnumerator enumerator, System.IntPtr returnValueAddress) (at <3aefadeb43334fcf8b7b268355c16be2>:0)
NullReferenceException
at (wrapper managed-to-native) UnityEngine.Component.get_gameObject(UnityEngine.Component)
at UnityEngine.Component.GetComponentsInChildren[T] (System.Boolean includeInactive) [0x00001] in <3aefadeb43334fcf8b7b268355c16be2>:0
at UnityEngine.Component.GetComponentsInChildren[T] () [0x00001] in <3aefadeb43334fcf8b7b268355c16be2>:0
at DynamicStoragePiles.DynamicStoragePiles+<RenderSprite>d__23.MoveNext () [0x00043] in <89fb5de06ae2439dae8bb1a665845ca0>:0
at UnityEngine.SetupCoroutine.InvokeMoveNext (System.Collections.I
Enumerator enumerator, System.IntPtr returnValueAddress) [0x00026] in <3aefadeb43334fcf8b7b268355c16be2>:0

Server LogOutput.log
Client LogOutput.log

Apologies
I goofed the versions I had uploaded to my server, had sent up the 0.6.0 version instead of 0.6.1!


Replicate Microsoft SQL Server Database To Postgres Using CDC

Replicating data from Microsoft SQL Server (MSSQL) to PostgreSQL with Airbyte provides faster analytical queries. Data analytics need dedicated compute resources. When processing terabytes to petabytes of data for the purpose of analytics, SQL server may be slow and expensive due to its per socket, CPU-based billing model. Moving to Redshift significantly reduces processing time and running costs.
Airbyte Cloud allows you to seamlessly move data between any data source and destination, including popular databases, data warehouses, and business applications. Airbyte's database replication to datawarehouses uses change data capture (CDC) with checkpointing capabilities and scheduling to simply pick up from where you left off.
This tutorial will take you through the critical steps to set up Airbyte Cloud and replicate data from your SQL Server instance running in PostgreSQL.
CDC pipeline to move data from Microsoft SQL to PostgreSQL
Airbyte’s Microsoft SQL Server CDC source extracts the orders in Microsoft SQL Server using Change Data Capture (CDC).
A relational database like Microsoft SQL Server maintains a transaction log to record every state-changing operation such as inserts, updates, and deletes. CDC mechanism tails this transaction log to detect the database entities that have been changed and streams them as change events. That way, we can obtain incrementally updated orders to avoid costly full table extractions.
Airbyte runs this extraction at a scheduled interval, for example, every hour, day, week, or so. Let’s schedule it for every five minutes to get more fresh data. Extracted orders are written to a PostgreSQL Database.
Prerequisites
Below are the prerequisite tools you’ll need to get started on replicating up your SQL Server data to PostgreSQL.

You’ll need to get an Airbyte Cloud account to replicate the data. You can sign up for Airbyte Cloud here.
You will need an instance of SQL Server that you can connect to remotely. You can get a hosted SQL Server instance through
Digital Ocean Droplet at the link here.
You will also need an instance of PostgreSQL that you can connect to remotely. You can get started with PostgreSQL by creating an Digital Ocean account at the link here.

Step 1: Set up SQL Server In Digital Ocean Droplet
In this example, we will configure a new SQL Server instance hosted on Digital Ocean as our Airbyte Cloud Source. Log into Digital Ocean Account and go to Droplet > Launch Console

The article assumes you have Docker Compose installed on your machine. For better performance, it is recommended to have at least 4GB of RAM and adequate disk space.

Install  MSSQL On Digital Ocean Using Docker & Docker Compose

Pull the SQL Server container image from the Docker Hub by running the following command:
docker pull mcr.microsoft.com/mssql/server

Run a container from the SQL Server image by executing the following command:
docker run -e 'ACCEPT_EULA=Y' -e 'SA_PASSWORD=YourPassword' -p 1433:1433 --name sql_server_container -d
mcr.microsoft.com/mssql/server
Replace YourPassword with a strong password for the SQL Server system administrator (sa) account.
The command will create and start a container named sql_server_container using the SQL Server image.

Wait for a few moments to allow the container to initialize and start the SQL Server service.

Verify that the container is running by executing the following command:
docker ps

You should see the sql_server_container listed along with its details.
Congratulations! You have successfully installed SQL Server using Docker on Ubuntu. The SQL Server instance is accessible on port 1433, and you can connect to it using SQL Server Management Studio (SSMS) or any other SQL client tool by providing the appropriate server name or IP address, username, and the password you specified during the container creation.

Setup Airbyte
We will run Airbyte on your local machine as a separate Docker Compose project. You can follow these instructions to get it up and running.
You can use any database management tool you prefer. Now that you have your SQL Server instance set up to allow connections Remotely,  you can begin configuring the Airbyte Source. Login and create a new connection and select Microsoft SQL Server as the source type and give it a name. You can find more information about the SQL Server Airbyte connector at the link here. Enter the host, the port, the database name (airbyte in this case), and the user and password you used when setting up SQL Server. Once configured, click on set up the destination.

Make sure to select CDC as the replication method. We are going to use SSH for this example. You can select any one of the SSH method
To Connect to server using SSH - username@IpAddress

Provide the following values in the UI. I’m connecting to my Remote SQL Server installation, which runs in the default port. Feel free to adjust the values based on your environment.
Step 2: Set up PostgreSQL as the Airbyte destination
To set up PostgreSQL as your Airbyte destination you will have to allow connections from Airbyte Cloud to your cluster. Login to Digital Ocean and go to Database> Create Database > Select PostgreSQL as Your database engine.

After successfully creating database check for connection details

To set up your destination,  select PostgreSQL as your destination type and give it a name. You can find more information about the PostgreSQL  Airbyte connector at the link here. Enter the host, the port, and the database name (dev in this case), and also enter the user and password you used when creating your postgres and click on set up  Destination.

Step 3: Set up a SQL Server to PostgreSQL connection
Once the source and destination are configured, you can access your connection settings.  You can set the Replication frequency depending on how often you want Airbyte to replicate your data.

Next, you can choose which tables to sync and set the sync frequency and the sync mode for each table individually. This example will select the customers table and set the Sync more to Incremental | Append.
https://assets-global.website-files.com/6064b31ff49a2d31e0493af1/6294bbb82dcd4ab1010f8ff4_3G0qRMYSRzzI9VdJ4oEFJdmriG3pVpo6n6DXQpLGL8qrvM6DxzJXmyYIlxtns9h-gmB0rkprKPxjreeUT7kH3ua9-s9iqcrP1d_VM5XnbXwPmToHJUIiFLMWtrrpX42FXsyDLbYhcRQ-URB3Ig.png
You can also choose between using Raw Data or Basic Normalization. We will select Basic Normalization to set up the connection in this example. You can also choose to apply custom data transformations, but we will keep it simple by skipping the data transformation part in this example.
Once configured,  save the connection and select Sync now to run your first sync once configured. Once the sync is complete, you should see how many rows were replicated (849 in this case).
https://assets-global.website-files.com/6064b31ff49a2d31e0493af1/6294bbb9ff6182b2e6624b71_LeBkf3ads67reBn5tI4kssBTx6M7CU1KOyH6-EA0aQ3eXsnQy63O3pi3DlTxJqAuv3N9CZDyveWBzQ4IAc5q9h90vKD0yUvOqdk-5EPzvO8W3imLLHlrgXl6LTc_2UIOlBlki8pHbk_GNGBQiQ.png
To view the replicated data, go to the Postgres (PgAdmin4)  select your database to view the tables created by Airbyte Cloud.

To test out the incremental sync, you can add some more rows to your SQL Server table. In this example, 10 more rows were added. Once you add some more data you can run another sync. The 10 newly added rows are replicated up to PostgreSQL.
https://assets-global.website-files.com/6064b31ff49a2d31e0493af1/6294bbbad86e9fbb625cd628_jSAWLE1jeq9PBseKJfCh379Llek-qBpxTp0dwHHmGeQTumw75Q0ila1sZq9LWPl52cOEGgqpR4S-JNoCpkWarOZoLs__J2gVX1P4WfCeQa_B5J29XjeIF3VhsM2zg2nnqZlKFmb0ieqjLX_-fQ.png
Conclusion
To summarize, we look at how we can replicate data from SQL Server to PostgreSQL using Airbyte Cloud by:
Configuring a SQL Server Airbyte Cloud source.
Configuring a PostgreSQL Airbyte Cloud destination.
Creating an Airbyte connection that automatically replicates data from SQL Server to Redshift.
Incrementally syncing SQL Server data to PostgreSQL.
We know that development and operations teams working on fast-moving projects with tight timelines need quick answers to their questions from developers actively developing Airbyte. They also want to share their learnings with experienced community members who have "been there and done that." Join the conversation at Airbyte's community Slack Channel to share your ideas with over 1000 data engineers and help make everyone's project successful.
About The Author
Ajiye is a Data Engineer and a technical Writer . You can anticipate some of his articles coming up on Medium
Linkedin

Hey @adunajiye was this published?


add DEFINES_MODULES

Changes based on this comment.
This is necessary to use launchdarkly without use_frameworks in the podfile.

Hi @sam1463,
Thanks for going ahead and submitting this pull request for the suggested workaround! Our team (the LaunchDarkly SDK team) was planning on scheduling the work to investigate dropping the use_frameworks directive in the upcoming weeks and this is a good step in that direction.
We'll need to run some tests to ensure that this is fully compatible with ios-client-sdk. We'll respond to this PR once that's done.
Cheers,
Ben

Hi @sam1463 thank your for all of your help with these PRs. The solution to this issue turned out to be pod_target_xcconfig instead of xcconfig. Your React Native PR will be merged though and the documentation and effort you put in has been invaluable.


What type of update are you requesting?
A new version of an existing package
Current Package Identifier
SillyKoalaHugs.FerrariCreator
Package Version
1.0+
Please describe the changes you would like to see

Reference: https://github.com/microsoft/winget-pkgs/pull/164496

See https://github.com/microsoft/winget-pkgs/pull/164496#issuecomment-2250993912


Quiet output needed for ANTsR --- should make verbose=FALSE default in ants functions

@ntustison - the violators include

sccan

antsRegistration

Atropos

antsMotionCorr

N4BiasFieldCorrection

.... anything else?

Off the top of my head, KK will also need to accommodate a verbose flag.  I'll start working on some of the easy ones (N4, KK, Atropos) and then work on antsRegistration.

Hey @stnava , I changed N4
https://github.com/stnava/ANTs/commit/8c58fec34192b5e26007d60f88c3efc23f9bb357
Just to confirm---do we want to make verbose=FALSE by default?  That would be radically different from current behavior.  However, for use inside ANTsR, I'm guessing you could make verbose=FALSE.

good question - personally, i think verbose=false would be good in ants as
well .... but we could just implement in antsr ... what do you prefer?
brian
On Thu, Mar 12, 2015 at 12:07 PM, Nick Tustison<EMAIL_ADDRESS>wrote:

Hey @stnava https://github.com/stnava , I changed N4
stnava/ANTs@8c58fec
https://github.com/stnava/ANTs/commit/8c58fec34192b5e26007d60f88c3efc23f9bb357
Just to confirm---do we want to make verbose=FALSE by default? That would
be radically different from current behavior. However, for use inside
ANTsR, I'm guessing you could make verbose=FALSE.
—
Reply to this email directly or view it on GitHub
https://github.com/stnava/ANTsR/issues/22#issuecomment-78511773.

we just discussed here and think default behavior should be not verbose
.... i.e. like most other software in the world
brian
On Thu, Mar 12, 2015 at 12:11 PM, brian avants<EMAIL_ADDRESS>wrote:

good question - personally, i think verbose=false would be good in ants as
well .... but we could just implement in antsr ... what do you prefer?
brian
On Thu, Mar 12, 2015 at 12:07 PM, Nick Tustison<EMAIL_ADDRESS>wrote:

Hey @stnava https://github.com/stnava , I changed N4
stnava/ANTs@8c58fec
https://github.com/stnava/ANTs/commit/8c58fec34192b5e26007d60f88c3efc23f9bb357
Just to confirm---do we want to make verbose=FALSE by default? That would
be radically different from current behavior. However, for use inside
ANTsR, I'm guessing you could make verbose=FALSE.
—
Reply to this email directly or view it on GitHub
https://github.com/stnava/ANTsR/issues/22#issuecomment-78511773.

Okay, I'll do that.

Okay, N4 and KK are complete.  I'm going for a run and will work on the rest sometime later today.

Okay, @stnava , the verbose option has been enabled for

antsRegistration
antsApplyTransforms
KellyKapowski
N4BiasFieldCorrection
Atropos

It looks like you hard coded some quieting in antsMotionCorr and I don't know if I'm quite ready to tackle sccan today.  I'll try to look at it tomorrow.  I'm also going to go through some of the scripts and explicitly enable the verbose option as I think they're probably useful in that context.

Great!  I'll handle sccan ... that ugliness is mine anyway.
On Mar 12, 2015 6:32 PM, "Nick Tustison"<EMAIL_ADDRESS>wrote:

Okay, @stnava https://github.com/stnava , the verbose option has been
enabled for

antsRegistration
antsApplyTransforms
KellyKapowski
N4BiasFieldCorrection
Atropos

It looks like you hard coded some quieting in antsMotionCorr and I don't
know if I'm quite ready to tackle sccan today. I'll try to look at it
tomorrow. I'm also going to go through some of the scripts and explicitly
enable the verbose option as I think they're probably useful in that
context.
—
Reply to this email directly or view it on GitHub
https://github.com/stnava/ANTsR/issues/22#issuecomment-78661505.

The scripts are done.

sccan is, i think, ok now ... wont close this until further testing ....

major work is done so closing - will address non-silent output as needed


Requirements aren't wired to setup

The requirements necessary to run Firenado aren't wired to the setup structure and that's the reason why pip isn't installing tornado and pyyaml.

Package data is not defined too. I'll gonna fix that and refer to this bug too.


Passing these=d to attr.s skips attributes defined in class body

@attr.s(these=dict(a=attr.ib()))
class test:
    b: int = attr.ib(default=0)

c = test(5)
print(c.b)

This fails even if passing auto_attribs=True, albeit in a slightly different way.
The obvious workaround is to only put attributes in these, but that is harder for code analysis tools to understand (it lacks type annotations, even if the tools are attrs aware).
The second workaround would be to put the attributes from these into the class body, but that doesn't work if the attribute is inherited or describe a data descriptor (like getter/setters).
The final workaround is to duplicate the definition into both these and the class body, but that creates an opportunity for the two to get out of sync.
Anyway, ideally, attrs would add anything from the class body which is an instance of _CountingAttr, (and anything from the annotations dict if auto_attribs is set).  If that is not practical, then a warning or exception should be raised rather than having weird runtime behavior.

taking one step back, what is the use case for using both styles at the same time?

I believe I described the use case already, but to reiterate, passing a long list of attributes via the these parameters is ugly, but if you want to include an inherited data descriptor in your init/repr,eq and so on, you cannot put that annotation in the class body (maybe you can with the auto_attribs, but I don't think so).


TST: Sparse matrix test with int64 indptr and indices

I don't like commented code; either we should remove the comment or make it work.
This was my attempt to test what I believe the commented test was supposed to test.

It was added ~13 years ago in https://github.com/scipy/scipy/commit/d6b57de7c639e57532dfde1e826c505df823c366 which tried to unify constructors


BUL = BGR

In the ISO2_MAP, Bulgaria is listed as bul, but according to https://en.wikipedia.org/wiki/ISO_3166-1_alpha-3, the right alpha-3 code would be bgr.

Huh.. I'm just realizing I've been assuming this is for ISO 3166-1 codes, but it's not, it's for ISO 639-1 codes.. should've read a bit more carefully..

@nilsnolde check out https://github.com/alephdata/countrynames next door :)


gdb-scripts: backtrace and context switching for tasks

These new commands allow to show backtraces of any HermitCore task as
well as completely switching the current context. This way, you can
inspect each task as if it were running, which hasn't been possible
until now, because neither GDB nor Qemu have knowledge about the task
structure of HermitCore.

I added examples for the new commands to the readme and force pushed