Ingress controller creates backend pool based on pod IP not the service IP.

Describe the bug
When I create the following ingress, service and deployment, the ingress controller creates a backend pool for the application gateway using the ip address of the pod and not the ip address of the service. The pod ip is not accessible, whereas the internal load balancer ip for the service is. So I have to manually go in and change the ip address on the backend pool. Logs show success setting up gateway configuration. This is an AKS cluster running 1.14.5, with two node pools, one linux another windows.
To Reproduce
apiVersion: extensions/v1beta1
kind: Ingress
metadata:
name: pdpdartapp
annotations:
kubernetes.io/ingress.class: azure/application-gateway
spec:
rules:

http:
paths:

path: /*
backend:
serviceName: pdpdart
servicePort: 25000

apiVersion: v1
kind: Service
metadata:
name: pdpdart
annotations:
service.beta.kubernetes.io/azure-load-balancer-internal: "true"
spec:
type: LoadBalancer
ports:

port: 25000
targetPort: 25000
selector:
app: pdpdartapp

apiVersion: apps/v1beta1
kind: Deployment
metadata:
name: pdpdart
spec:
replicas: 1
selector:
matchLabels:
app: pdpdartapp
template:
metadata:
labels:
app: pdpdartapp
spec:
containers:
- name: pdpdart
image: smc908/testpdp:1809
imagePullPolicy: Always
ports:
- containerPort: 25000
nodeSelector:
beta.kubernetes.io/os: windows
Ingress Controller details
Name:           fantastic-elk-ingress-azure-f8f564d66-cdhvz
Namespace:      default
Priority:       0
Node:           aks-agentpool-35064155-vmss000000/<IP_ADDRESS>
Start Time:     Thu, 05 Sep 2019 14:03:01 +0000
Labels:         aadpodidbinding=fantastic-elk-ingress-azure
app=ingress-azure
pod-template-hash=f8f564d66
release=fantastic-elk
Annotations:
Status:         Running
IP:             <IP_ADDRESS>
Controlled By:  ReplicaSet/fantastic-elk-ingress-azure-f8f564d66
Containers:
ingress-azure:
Container ID:   docker://310e7ca3c899ff4f49606b790e44435c7874d184895fd2d66ec17563ea8a68ae
Image:          mcr.microsoft.com/azure-application-gateway/kubernetes-ingress:0.8.0
Image ID:       docker-pullable://mcr.microsoft.com/azure-application-gateway/kubernetes-ingress@sha256:9d0e655368098dc64ef00cc93b920df8c959027a167ca82ef7b8408fca45bd3a
Port:
Host Port:
State:          Running
Started:      Thu, 05 Sep 2019 14:03:15 +0000
Ready:          True
Restart Count:  0
Environment Variables from:
fantastic-elk-cm-ingress-azure  ConfigMap  Optional: false
Environment:
Mounts:
/var/run/secrets/kubernetes.io/serviceaccount from fantastic-elk-sa-ingress-azure-token-qq8n7 (ro)
Conditions:
Type              Status
Initialized       True
Ready             True
ContainersReady   True
PodScheduled      True
Volumes:
fantastic-elk-sa-ingress-azure-token-qq8n7:
Type:        Secret (a volume populated by a Secret)
SecretName:  fantastic-elk-sa-ingress-azure-token-qq8n7
Optional:    false
QoS Class:       BestEffort
Node-Selectors:
Tolerations:     node.kubernetes.io/not-ready:NoExecute for 300s
node.kubernetes.io/unreachable:NoExecute for 300s
Events:

Hi @SteveCurran,
A few questions to understand the problem:

Is the App Gateway on the same Virtual Network as AKS

You can see what virtual network your App Gateway is from Azure Portal -- Application Gateway -- Overview -- Virtual network/subnet
See what vnet AKS is in -- find one of the aks-agentpool-... Virtual Machines that back your AKS and note the Virtual network/subnet in the Overview pane.

Is advanced networking enabled on your AKS? You can find out by navigating to the Kubernetes Service -- Networking pane -- in Network profile I'd expect to see Type (plugin) Advanced (Azure CNI)

The idea behind the project here in this repository (Application Gateway Ingress Controller) is indeed to expose the Kubernetes Pods directly to App Gateway, bypassing the internal kubernetes load balancer.
The App Gateway Ingress Controller requires the following:
-- your App Gateway must be in the same VNet as your AKS
-- AKS must have [Advanced Networking(https://docs.microsoft.com/en-us/azure/aks/concepts-network#azure-cni-advanced-networking) enabled  (Azure CNI)
A simplified way to explain how App Gateway Ingress Controller works - fetches the IP addresses of your pods (much like kubectl get endpoints) and uses these to configure the backend pools of your App Gateway.  App Gateway then is able to perform load balancing, URL-based routing, cookie based affinity etc. directly to the pods. Without direct access to the pods, where their IPs are listed in the backend pools, App Gateway won't be able to provide most of the L7 load balancing features it has. And also since this networking model bypasses the extra hop of going through the internal load balancer - you get lower latency.
Would love to know if this clarifies things and how you choose to configure your AKS!

@delqn thanks for the response. I used the greenfield ARM template in the examples but made changes  to enable vm scale sets to support node pools. I checked the configuration and the app gateway and aks cluster are in the same vnet and two different subnets which is expected. Advanced networking Azure CNI is enabled. Unfortunately, when the gateway health probe tries to connect directly to the pod ip there is no response.
So should I not define a service component at all?
Change the service to use type "NodePort"?
Could this have something to do with using "vm scale sets" where you are allocated a pool of possible IP addresses rather one for each VM node? Please note RBAC is not enabled.

@SteveCurran  So it seems that there is connectivity between App Gateway and the pods.
And just to confirm - here is what I'd expect to see as far as IPs:

NAME                                    READY   STATUS    RESTARTS   AGE   IP            NODE                                NOMINATED NODE   READINESS GATES
ingress-azure-5f6f75c58-lm64w           0/1     Running   0          73s   <IP_ADDRESS>   aks-agentpool-13682822-vmss000001   <none>           <none>
mic-55ff8c886-96bhk                     1/1     Running   0          95s   <IP_ADDRESS>   aks-agentpool-13682822-vmss000001   <none>           <none>
mic-55ff8c886-wfbcm                     1/1     Running   0          95s   <IP_ADDRESS>   aks-agentpool-13682822-vmss000000   <none>           <none>
nmi-dq62x                               1/1     Running   0          96s   <IP_ADDRESS>   aks-agentpool-13682822-vmss000002   <none>           <none>
nmi-k9t6g                               1/1     Running   0          96s   <IP_ADDRESS>   aks-agentpool-13682822-vmss000001   <none>           <none>
nmi-p75cw                               1/1     Running   0          96s   <IP_ADDRESS>    aks-agentpool-13682822-vmss000000   <none>           <none>
websocket-deployment-5cbc7b7c5b-6lk2w   1/1     Running   1          67s   <IP_ADDRESS>   aks-agentpool-13682822-vmss000000   <none>           <none>

$ kubectl get nodes -o wide

NAME                                STATUS   ROLES   AGE   VERSION   INTERNAL-IP   EXTERNAL-IP   OS-IMAGE             KERNEL-VERSION      CONTAINER-RUNTIME
aks-agentpool-13682822-vmss000000   Ready    agent   44h   v1.15.3   <IP_ADDRESS>    <none>        Ubuntu 16.04.6 LTS   4.15.0-1055-azure   docker://3.0.6
aks-agentpool-13682822-vmss000001   Ready    agent   44h   v1.15.3   <IP_ADDRESS>   <none>        Ubuntu 16.04.6 LTS   4.15.0-1055-azure   docker://3.0.6
aks-agentpool-13682822-vmss000002   Ready    agent   44h   v1.15.3   <IP_ADDRESS>   <none>        Ubuntu 16.04.6 LTS   4.15.0-1055-azure   docker://3.0.6

The Pod that I deployed websocket-deployment-5cbc7b7c5b-6lk2w (<IP_ADDRESS>) is on the same subnet as the actual Nodes (aks-agentpool-13682822-vmss000000 --> <IP_ADDRESS>)
I hope you see something similar in your setup.
Do you see these exact same IP addresses in the App Gateway Backend Pools - you could check via the portal?
Now if that good, then the trouble must come from Health Probes.
Could you share a bit about the health probes?  Are these HTTP GET? Do you expect these to return 200 OK?  Is there a requirement for something to be in the header for the backend to return 200 OK?  Are the health probes on port 80?

Please reopen this issue if you need further help.


USE OF EXTERNAL DEVICES

Hello, I contacted you by E-mail and wanted to discuss with you about the use of an external gps with a vn-100 (or two GPS) to be equivalent to a vn-300 ?
Would it be possible for you to provide us with a connection diagram in line with your code ?

It's just a standard SPI connection from a microcontroller to the VectorNav. Typically, you would have a GNSS receiver connected to the microcontroller using UART, although some do support I2C and SPI. The microcontroller reads the GNSS data, formats it correctly for the VectorNav and sends it to the VectorNav using the provided method.


Issue recording a specific link

Hey @ruifigueira ,
Love the amazing work you've done with the extension 🤟
Take a look at this link: https://lifescievents.com/event/effector/
This page contains a "Access to Replay" button. Clicking the button spawns a form, that is loaded via an iframe.
The Extension fails to record any actions performed on that particular frame.
Seems to be a problem with dynamically loaded frames into the DOM. Do you have any thoughts on this?
P.S. This link seems to be working fine in case of the original playwright CLI record, hence created the issue here :)

This is related with #20. Chrome 126+ now supports out-of-process iframes (the form found at that site is one). I'm trying Chrome Canary, which is a 126 version, with playwright-crx 0.6.0 which has just released and it works (with some minor issues like leaving the whole iframe highlighted while highlighting elements inside it):
https://github.com/ruifigueira/playwright-crx/assets/1374559/72eb3b61-e925-42d8-a740-d069dbec794e

Thanks for the quick reply, I will wait until Chrome126 gets stable. Seems like there's nothing much we can do here

I'll leave this issue open then. Let me investigate that.

FInally I had some time to investigate. The problem is on Registration Type. If you skip that field when recording and just fill First Name and Last Name, it actually works.
I tried with codegen and it also has the same problem on Registration Type, and the reason is that the label overlaps the select field and so the select field only is editable after clicking over it (it triggers a CSS animation that moves the label up).

Hey, Are you sure you faced issues with playwright codegen ? I tried it on Chrome browser now and it started working. I know it wasn't last week.
Also look at the difference between Codegen & CRX. CRX treats the entire frame as one block, while Codegen can identify the components inside it.
CRX

Codegen

Hey @ruifigueira , I tried it again it works even with selecting "Registration Type". I think the upstream has fixed it somehow.
Thanks for the help man 🤟

Forgot to mention an important detail, for it to work. I had to click on the extension then "reload the page" again so it could detect all the DOM elements.


helm add Questions attributes - [merged]

In GitLab by @tmon546596046 on Dec 17, 2019, 02:21
Merges questions -> dev
add question attributes in chart object

In GitLab by @tmon546596046 on Dec 17, 2019, 07:18
added 1 commit

46c7647c - use underscore instead of camelCase

Compare with previous version

In GitLab by @tmon546596046 on Dec 23, 2019, 01:21
added 8 commits

46c7647c...e8e30784 - 7 commits from branch TechnologyCenter:dev
84b9e455 - Merge branch 'dev' of http://open.inspur.com/TechnologyCenter/board into questions

Compare with previous version

In GitLab by @tmon546596046 on Dec 25, 2019, 02:04
added 25 commits

84b9e455...0e485e10 - 24 commits from branch TechnologyCenter:dev
0f5824bc - Merge remote-tracking branch 'inspur/dev' into questions

Compare with previous version

In GitLab by @tmon546596046 on Dec 25, 2019, 02:46
added 3 commits

0f5824bc...f845c4c4 - 2 commits from branch TechnologyCenter:dev
28364c3d - Merge remote-tracking branch 'inspur/dev' into questions

Compare with previous version

In GitLab by @tmon546596046 on Dec 25, 2019, 04:44
added 3 commits

28364c3d...d4c33abd - 2 commits from branch TechnologyCenter:dev
83ea606f - Merge remote-tracking branch 'inspur/dev' into questions

Compare with previous version

In GitLab by @tmon546596046 on Dec 25, 2019, 05:47
added 3 commits

83ea606f...8590fead - 2 commits from branch TechnologyCenter:dev
e969b24a - Merge remote-tracking branch 'inspur/dev' into questions

Compare with previous version

In GitLab by @tmon546596046 on Dec 25, 2019, 09:03
added 3 commits

e969b24a...57aa79a3 - 2 commits from branch TechnologyCenter:dev
9c7767b0 - Merge remote-tracking branch 'inspur/dev' into questions

Compare with previous version

In GitLab by @wknet123 on Dec 25, 2019, 09:06
mentioned in commit 0cb7fcc28f8f15226b2aadbe9f9aeb92fdb8bde7

In GitLab by @wknet123 on Dec 25, 2019, 09:06
merged


Add deploy button and MIT license

Obviously don't want to dictate the license you use, but just figured it was likely to be this one so wanted to offer a pull for it out of convenience.  This pull also includes a deploy button using Andrew Fawcett's heroku service for those of us installing this into our dev orgs over and over.

:love_letter:

Love it. Thanks.


Implemnent a new Feature to export and import expectation to a json file

Hi james,
Could you please a new feature to export and import expectation to a json file from via REST Interface.
This is lacking in Mock server and i feel it is a real weakness for Mockeserver.
Thanks
Rajendra

why don't you just read your jsonfile and then use the mockserver-client to set up your expectations?

I feel suggested approach is an  alternative!!! ,
but if this feature implemented i makes easy to use this product(ease of use).
Thanks,
Rajendra

This is already implemented using the REST API.
Export
PUT /mockserver/retrieve?type=active_expectations returns a JSON array of the active expectations.
Import
PUT /mockserver/expectation endpoint accept a JSON array of expectations (or a single expectation).


Too big embeds payload

If the builds has quite a few artifacts the webhook request silently fails without any output in neither the build log or the Jenkins logger. One possible solution is to add a link to the artifacts page instead. That's our temporary solution at least :)
Discord returns a 400 BAD REQUEST and the following payload:
{
    "embeds": [
        "0"
    ]
}

Thanks for a great plugin!

Thanks for letting me know and apologies for my absence.
I assume it's sending a payload more than 2000 characters so I'll do a check after artifacts and changes to make sure they don't push the limit. If only Discord sent back a proper error response.

Supposedly fixed in the most recent commit.


Change types: stricter Integer cast, make errors user-friendly

When validating/casting an Integer, use Integer() instead of
.to_i in order to raise an error in case it's a float.
Make the error message more user-friendly, and print the rest in the log.
For task: https://schaffner.prod.radar.lan/issues/2485

An interesting change :)
Personally i would have made the error messages better, by raising a custom error with a meaningful message in the actual :integer type cast. That way you do not need to track "original_type" and can actually use more flexible messages (createing a CIDR for instance can fail with more than one different error message - like "invalid broadcast part", "invalid bit mask", etc. pp)
Also this introduces asymmetric behavior between :integer and :float although i guess that is acceptable.
In general i really need to remember to read this ticket tomorrow - i am dead curious why accepting integer strings for int values is an issue :rabbit:

Sebastian says you should talk to him tomorrow about this.

Looks good to me, I think Bndy wants to have another look, he's dead curious :)

yeah, spoke with bndy, he accepts that i am lazy


i have an issue.

all the gtag fan "dev's" are using this and calling themself a dev
(i would appreciate it if you could make them stop posting the dumbest issues ever)

if you make a game or an app, you are a dev, it doesnt matter if you use someone else's code, you still need to do a lot of other things for the game or app to even work, so stop whining

you should atleast know coding if your gonna call yourself a pro dev, that is what 99% of people using gorilla locomotion are doing. its just annoying af seeing people call themself a pro game dev when they only know how to add a few cubes and gorilla locomotion

I cant download the gorilla tag locomotion please help.


please remove console.log(state)

I don't know if you intended it, but I noticed in the Console that the form is constantly output.
This concerns this code part:
https://github.com/noahsalvi/svelte-use-form/blob/5e9ef020258e4cdb13fff1f2eb183e37c3e6b0de/src/useForm.ts#L107
Could you remove this if it is not needed?

Remove in v2.2.1


Improve Istio CA main function.

@myidpt: The following test failed, say /retest to rerun them all:

Test name
Commit
Details
Rerun command

prow/istio-pilot-e2e.sh
7097b81795751cc6115113c782fcb6424952b5d1
link
/test istio-pilot-e2e

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.

/retest

@myidpt: The following test failed, say /retest to rerun them all:

Test name
Commit
Details
Rerun command

prow/istio-pilot-e2e.sh
7097b81795751cc6115113c782fcb6424952b5d1
link
/test istio-pilot-e2e

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.

@myidpt: The following tests failed, say /retest to rerun them all:

Test name
Commit
Details
Rerun command

prow/istio-pilot-e2e.sh
7097b81795751cc6115113c782fcb6424952b5d1
link
/test istio-pilot-e2e

prow/istio-unit-tests.sh
a7c44cd5605ebedf034a8347b1b519d341723c57
link
/test istio-unit-tests

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.

@myidpt: The following tests failed, say /retest to rerun them all:

Test name
Commit
Details
Rerun command

prow/istio-unit-tests.sh
a7c44cd5605ebedf034a8347b1b519d341723c57
link
/test istio-unit-tests

prow/istio-pilot-e2e.sh
a7c44cd5605ebedf034a8347b1b519d341723c57
link
/test istio-pilot-e2e

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.

@myidpt: The following test failed, say /retest to rerun them all:

Test name
Commit
Details
Rerun command

prow/istio-pilot-e2e.sh
817ba5fa78339f3e4b5b6d5a5c5064a3e13fd54a
link
/test istio-pilot-e2e

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.


WIP: Claudia/enrich events with container image

Enrich events with container image (ImageName)

Implements #1310

This PR partially implements #1310. The current iteration adds ImageName attribute to events as per the following table:

Initial containers
New containers

With k8s: containerd or cri-o
podinformer's PodToContainers
OCI annotations

With k8s: docker
podinformer's PodToContainers
Blocker: No OCI annotations

W/o k8s: containerd
Blocker: no k8s, but may be solved by  #737
OCI annotations

W/o k8s: podman
Blocker: no k8s, but may be solved by  #737
OCI annotations

W/o k8s: docker
Blocker: no k8s, but may be solved by  #737
Blocker: No OCI annotations

How to use
[ describe what reviewers need to do in order to validate this PR ]
Testing done
IMAGENAME column in gadgets output is populated for both initial and new containers :

IMAGENAME column in ig list-containers output is populated only for new containers:

The following patch should help you for the CI but I suspect you will need to tackle some corner cases where we do not use busybox as the image:
diff --git a/integration/helpers.go b/integration/helpers.go
index 7fab694c..76165a67 100644
--- a/integration/helpers.go
+++ b/integration/helpers.go
@@ -185,6 +185,7 @@ func BuildCommonData(namespace string) eventtypes.CommonData {
                // Pod and Container name are defined by BusyboxPodCommand.
                Pod:       "test-pod",
                Container: "test-pod",
+               ImageName: "docker.io/library/busybox"
                // TODO: Include the Node
        }
 }

I also thought so, but testing it the second time now and it make even more tests fail.

Hi @claudiamarcubina, thanks for working on this.
I was looking at the ways you found to get the Image info and I have a proposal for the k8s cases. On top of #1702, if you get the image name from the container runtimes, it would be available automatically enriched to the containers with the following: withPodInformer -> k8sClient.GetRunningContainers -> RuntimeMetadata.
I think it would be valid for new and initial containers. WDYT?
cc @alban

Hi @claudiamarcubina, thanks for working on this.
I was looking at the ways you found to get the Image info and I have a proposal for the k8s cases. On top of #1702, if you get the image name from the container runtimes, it would be available automatically enriched to the containers with the following: withPodInformer -> k8sClient.GetRunningContainers -> RuntimeMetadata.
I think it would be valid for new and initial containers. WDYT?
cc @alban

HI, Jose :)
Thanks again for the idea. As talking to you and Alban, podInformer is asynchronous and provides info about new containers with some delay. So it can happen that the first events generated by a container have no container info associated.
When a new container is detected by container-hook, it is added synchronously. Then, when podinformer notices it exists after a while, it would go to this code path: https://github.com/inspektor-gadget/inspektor-gadget/blob/a39e7b00cc2d114259f3d9121aa4232ac7f6e407/pkg/container-collection/options.go#L297 and do nothing because the container was already added.

When a new container is detected by container-hook, it is added synchronously. Then, when podinformer notices it exists after a while, it would go to this code path:
https://github.com/inspektor-gadget/inspektor-gadget/blob/a39e7b00cc2d114259f3d9121aa4232ac7f6e407/pkg/container-collection/options.go#L297
and do nothing because the container was already added.

Oh, I had completely missed that drop. Thanks for the detailed answer!
At this point, I'm wondering why not use WithContainerRuntimeEnrichment in ig-k8s to enrich the new containers?

WithContainerRuntimeEnrichment

Hm, I am planning to test using WithContainerRuntimeEnrichment for adding the image digest. Let's see how that goes in a next PR.

After rebasing, initial containers enrichment was broken. For a better understanding I need to run more tests for that, so decided to merge this first part. Initial containers enrichment will come in a future PR.


"Run app" for CLI apps

When you update a CLI app (desktop file has Terminal=true), then "Run app" should open the app in a terminal.
wget https://download.opensuse.org/repositories/home:/nandub:/MyAppImages/AppImage/aria2-latest-x86_64.AppImage
# Run AppImageUpdate GUI on the just downloaded AppImage
# "Run app" --> Nothing happens in the GUI

Note that this particular AppImage has True instead of true:
me@host:~$ /home/me/Downloads/aria2-1.24.0-1.1.Build12.15.glibc2.17-x86_64.AppImage --appimage-extract '*.desktop'
squashfs-root/aria2.desktop
me@host:~$ cat squashfs-root/aria2.desktop
[Desktop Entry]
Type=Application
Name=Aria2
Exec=aria2c
Icon=aria2
Categories=Network;Download Manager
Comment=aria2 is a lightweight multi-protocol & multi-source, cross platform download utility operated in command-line. It supports HTTP/HTTPS, FTP, SFTP, BitTorrent and Metalink
Terminal=True

me@host:~$ desktop-file-validate squashfs-root/aria2.desktop
squashfs-root/aria2.desktop: error: value "Network;Download Manager" for string list key "Categories" in group "Desktop Entry" does not have a semicolon (';') as trailing character
squashfs-root/aria2.desktop: error: value "True" for boolean key "Terminal" in group "Desktop Entry" contains invalid characters, boolean values must be "false" or "true"

@probonopd how can we efficiently extract that bit of information to make it available to AppImageUpdate? I guess one has to mount the AppImage and extract the .desktop file. Is there an easier way?

It should be possible to extract the relevant code from appimaged I guess.

We really need to refactor that code as well, and provide a "libappimage", I guess.

Quite possibly.

I guess I'll extract the code to shared.c for now, then I just need to consume that file.

Rethinking this, I don't think the approach of opening an AppImage in a terminal is a good idea per se. The problem is that tools which expect arguments etc. will cause the terminal to collapse immediately, without showing any useful error message or something alike to the user.
How about just opening a terminal in the right directory? Maybe (but that's a big maybe) you could already "pre-type" the command, so a user just has to hit "enter". But we need a shell around the application which will stay open in the background.
Also, the button will have to be renamed to "Launch terminal" etc.

Opening a terminal that already has $PATH set, and printing a clear message in the opened terminal would probably be the best way to go, but for the short run it would be sufficient for me if the button appeared only for GUI apps, that is, Terminal=false or no Terminal= or no desktop file at all.

The problem with all these approaches begins with the fact that there is no cross-platform way of opening a terminal. I guess that's again something to add to libDE.

Another argument then for

for the short run it would be sufficient for me if the button appeared only for GUI apps


Highlight possibility active buttons of UITabBox widget

What you were trying to do
I've used UITabBox widget on my new screen GameDetailsScreen (#3382). And realized that we need to redo this widget, because we can't highlight active buttons.
Actually, I've spent few days on that, and, unfortunately, looks like I don't have nice solution yet...
I'd like just to track this issue further, add to my GSoC board and fix it when I will have good solution/idea.
How to reproduce

Fetch branch from PR(#3382) if it's not in develop yet.
Open Details for saved game.
Play with tabs and see that they're not highlighted.

Closing as completed by #3429 - thanks @ar0ne ! :-)


GpuInterop Demo Don't Work

Describe the bug

To Reproduce
use Nuget pack
Copy https://github.com/AvaloniaUI/Avalonia/tree/master/samples/GpuInterop
Expected behavior
Demo build success
Avalonia version
11.2.2
OS
Windows
Additional context
https://github.com/AvaloniaUI/Avalonia/blob/18fcfcc16348401e74fd74abba11223e6f7b4fb0/src/Avalonia.Base/Rendering/SwapchainBase.cs#L82
SwapchainBase ISwapchainImage is internal,this is inconsistent with the released version

My bad

My bad


Ability to select google drive folder in Android?

Hi I was wondering if there is any chance to select external storage as a google drive folder in the Android app?

I notice no one has worked on this for over a year.
Is it still being supported?


Is the creation of DNN models with HTK + inference with julius still a good choice

Hi,
I am wondering, if HTK-DNN training combined with Julius inference is still a good choice
(with respect to performance, speed, usability, ...).
There is almost nothing (scripts, comparing WA results, etc) to find in the web - is this
approach inactive/dead since more than 5 years and not worth thinking about it?
I would like to give it a try and am thus searching for a kind of (step-by_step) recipe, tutorial,
script, or similar, that describes how the Julius DNN acoustic models are created (prpbably from/via HTK).
many thanks for any help!
kr Andi

It's not dead att all. I am pkanning to publishvthe recipe at some ponit
this year.
W dniu czwartek, 19 sierpnia 2021 welliX @.***>
napisał(a):

Hi,
I am wondering, if HTK-DNN training combined with Julius inference is
still a good choice
(with respect to performance, speed, usability, ...).
There is almost nothing (scripts, comparing WA results, etc) to find in
the web - is this
approach inactive/dead since more than 5 years and not worth thinking
about it?
I would like to give it a try and am thus searching for a kind of
(step-by_step) recipe, tutorial,
script, or similar, that describes how the Julius DNN acoustic models are
created (prpbably from/via HTK).
many thanks for any help!
kr Andi
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/julius-speech/julius/issues/175, or unsubscribe
https://github.com/notifications/unsubscribe-auth/ADT3QWYE5LQWMLYSDDM56TDT5UF5XANCNFSM5COJ2LQQ
.
Triage notifications on the go with GitHub Mobile for iOS
https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675
or Android
https://play.google.com/store/apps/details?id=com.github.android&utm_campaign=notification-email
.

Hej palles77, thanks for coming back, good to know there is somebody ;-)
Do you know maybe also about any WA/speed/delay results compared to 'pure' DNN approaches? I didn't find any publication around that topic.
And I hope you can publish your recipe soon (maybe even already a quick pre-release...)
thanks and br, Andi


Error whith cert? SSL certificate problem: self signed certificate in certificate chain

I have error using this lib throw composer.
use Deploykit\Telegraph\Client as telegraph;
$telegraph = new telegraph();
$tphAcc = $telegraph->createAccount('test', 'Test', 'http://example.com.ar');
Trace:
PHP Fatal error:  Uncaught GuzzleHttp\Exception\RequestException: cURL error 60: SSL certificate problem: self signed certificate in certificate chain (see http://curl.haxx.se/libcurl/c/libcurl-errors.html) in ~\vendor\guzzlehttp\guzzle\src\Handler\CurlFactory.php:187
Stack trace:
#0 ~\vendor\guzzlehttp\guzzle\src\Handler\CurlFactory.php(150): GuzzleHttp\Handler\CurlFactory::createRejection(Object(GuzzleHttp\Handler\EasyHandle), Array)
Fatal error: Uncaught GuzzleHttp\Exception\RequestException: cURL error 60: SSL certificate problem: self signed certificate in certificate chain (see http://curl.haxx.se/libcurl/c/libcurl-errors.html) in ~\vendor\guzzlehttp\guzzle\src\Handler\CurlFactory.php:187
Stack trace:
#1 ~\vendor\guzzlehttp\guzzle\src\Handler\CurlFactory.php(103): GuzzleHttp\Handler\CurlFactory::finishError(Object(GuzzleHttp\Handler\CurlHandler), Object(GuzzleHttp\Handler\EasyHandle), Object(GuzzleHttp\Handler\CurlFactory))
#0 ~\vendor\guzzlehttp\guzzle\src\Handler\CurlFactory.php(150): GuzzleHttp\Handler\CurlFactory::createRejection(Object(GuzzleHttp\Handler\EasyHandle), Array)
#2 ~\vendor\guzzlehttp\guzzle\src\Handler\CurlHandler.php(43): GuzzleHttp\Handler\CurlFactory::finish(Object(GuzzleHttp\Handler\CurlHandler), Object(GuzzleHttp\Handler\EasyHandle), Object(GuzzleH in ~\vendor\guzzlehttp\guzzle\src\Handler\CurlFactory.php on line 187
#1 ~\vendor\guzzlehttp\guzzle\src\Handler\CurlFactory.php(103): GuzzleHttp\Handler\CurlFactory::finishError(Object(GuzzleHttp\Handler\CurlHandler), Object(GuzzleHttp\Handler\EasyHandle), Object(GuzzleHttp\Handler\CurlFactory))
#2 ~\vendor\guzzlehttp\guzzle\src\Handler\CurlHandler.php(43): GuzzleHttp\Handler\CurlFactory::finish(Object(GuzzleHttp\Handler\CurlHandler), Object(GuzzleHttp\Handler\EasyHandle), Object(GuzzleH in ~\vendor\guzzlehttp\guzzle\src\Handler\CurlFactory.php on line 187

Hello, @died74.
I am afraid it's something wrong with curl library. Because I just used your code exactly and it worked. Cannot reproduce it for now :(

Wow it's was a fast reply!
I google for this and find this: https://stackoverflow.com/a/16495053

It's a pretty common problem in Windows. You need just to set cacert.pem to curl.cainfo.
Since PHP 5.3.7 you could do:
download https://curl.haxx.se/ca/cacert.pem and save it somewhere.
update php.ini -- add curl.cainfo = "PATH_TO/cacert.pem"
Otherwise you will need to do the following for every cURL resource:
curl_setopt ($ch, CURLOPT_CAINFO, "PATH_TO/cacert.pem");

and works!

@died74 thanks! Do my best to react quickly.
Oh, happy you found a solution.
Will be grateful for your feedback


error: scales() and getSizes() can not be both defined

This test ONNX model is from a model that has Resize Op exported from pytorch with op version 12.
Which has both scales and sizes input, and fails to read from onnx-mlir with

error: scales() and getSizes() can not be both defined

I assume onnx-mlir should import to preserve backward compatibility but fails.
Test model: ResizeTestv12.zip

this was supposed to be addressed by PR #2277
are you able to see exactly what the types and shapes of the Resize op is?

@sorenlassen , thanks for the comment!

this was supposed to be addressed by PR 2277

I'm using v<IP_ADDRESS> and the patch has landed afterwards...

are you able to see exactly what the types and shapes of the Resize op is?

Attached test model with Netron is like

Anyway, I'll try with latest code :)

onnx-mlir says patch exist for this.

lets try with latest version
onnx-mlir: 7ee11bce2338a64fb43d47c7e97e7c3b759d1d07
llvm-project: f580901d5d30e37755212f1c09e5b587587fbfeb

Found that latest code is working fine :)


Only consume & sell the junk items

Avoids items worth more than 5k meat, are quest items, untradeables or gift items.
This is more of future proofing. After all, edibles are not a major deal.

Thanks!


numberTabs not returned in signer.Tabs

The number tab is not returned as part of the list of tabs added in a document template. Other tab fields such as text and checkbox tab are being returned. But number tab is not returned, even though I added in the document. is this a known issue?

I just tried it out and it is being returned, although the object for it is called "numericalTabs". If you don't see this in your response, please open a support case with Developer Support and we can assist you.

Thanks, @karankaushik95, for stepping in!
@gloriabern1,
Could you please confirm if you're still experiencing any issues, or has it been resolved? We're here to assist further if needed.

Closing this issue for now. Feel free to reopen it if the problem persists.


RE: Zero downtime deploys

A point of confusion for me is how CircleCI would work if I was to add multiple apps to manifest.yml to enable blue/green deployments. Does CircleCI know to read these multiple apps from manifest.yml? My understanding is that circle.yml is the file that CircleCI relies upon for configuration. So should I be setting up multiple apps in circle.yml then? And how would I do so?
Going to do further research on this and also check with @m-richo.
Would be good to have the above documented. I'm happy to submit a PR for this.

Good question. The simple answer is that the circle.yml file determines what CircleCI does, while manifest.yml determines what cf push does. Presumably, your circle.yml file at some point runs the cf push command to deploy your code to cloud foundry. The cf client tool, reads the manifest.yml file (or whichever file is specified with the -f flag) and uses that to set all the relevant parameters when it deploys your code. If the manifest file has multiple applications, the cf client deploys each app one at a time (I'm pretty sure in order but don't quote me on it).
Does that answer your question?

So a more complete answer, you can do zero downtime deploys without specifying multiple applications in your manifest file. If you have a manifest file like:
---
buildpack: staticfile_buildpack
memory: 64M
disk-usage: 64M

and run the commands
cf unmap-route awesome-app-blue awesome-app
cf push awesome-app-blue
cf map-route awesome-app-blue awesome-app
cf unmap-route awesome-app-green awesome-app
cf push awesome-app-green
cf map-route awesome-app-green awesome-app

awesome-app.apps.staging.digital.gov.au will have zero downtime. If you go to it when your code is not deploying, it will round-robin (or some other scheduling algorithm) between awesome-app-blue and awesome-app-green. While awesome-app-blue is deploying, it will only go to awesome-app-green and vice versa.
Now if you have a manifest file with multiple applications like this:
---
buildpack: staticfile_buildpack
memory: 64M
disk-usage: 64M
host: awesome-app
applications:
- name: awesome-app-blue
- name: awesome-app-green

and you run just
cf push

It will do effectively the same thing as above, but you don't have to remember to run all the specific commands.

Thanks @tessereth! Your description seems to match up to @simonschwartz's commit. Testing that out to see if it works.

On testing this out by deploying a change and continually refreshing while it builds, it seems to have dubious effects.
Some refreshes correctly load the new version.
Some refreshes break completely because the JS resources return 404s.
Some refreshes correctly load the old version.
So the blue/green fix doesn't seem to be solving the "downtime" problem it was intended to solve.
Will investigate further.

Ok, looks like the issue must've been with my local browser caching.
When repeatedly loading the page in Chrome Incognito following deployment, it seems to reliably point to the newly deployed version.
I've applied blue-green deployments to the Queensland Birth Certificate prototype. I now feel pretty confident about applying it to the others.
Thanks again @tessereth!!


Configurable duration (in days) for AB Test cookie.

Here, I have added a new option (cookieDuration), this option help to set the cookie expiration duration in days.
When this option isn't supplied the the default cookie duration is set to expire in 30 days.
Motivation
The motivation here is, by reducing the cookie expiration will allow returning users to be assigned
to different cohorts during A/B tests.
According to the performance analyst, A/B tests performance is measured using sessions and with
a default 30 day expiration, they will only see the one variant for that period.  Being able to
reduce this increases the likelihood of users seeing different variants across their sessions.
Sample code
  new GOVUK.MultivariateTest({
      el: '.get-started a',
      name: 'startButton_201607',
      customDimensionIndex: <customDimensionIndex>,
      cookieDuration: 14, // set to 14 days
      contentExperimentId: <contentExperimentId>,
      cohorts: {
        original: { callback: function() {}, variantId: 0},
        next: { html: 'Next', variantId: 1 },
        continue: { html: 'Continue', variantId: 2 }
      }
    });

Sample outcome

Thanks @ikennaokpala, being able to set a duration for the experiment is a really useful feature, and was needed recently in some other work. So 👍  to the feature idea.
Could you add a test for the new behaviour? There's some prior art for checking cookie values, so I think it should be easy.
One small, non-blocking, point: Is days is the best unit for the duration? Recently we needed a duration in minutes, rather than days,  which was possible with Maths, but makes me wonder if we should use seconds, would that be more consistent?
If there's no consensus on that, i'd be more than happy to merge with days, but worth discussing until theres tests.

👍  i'm fine with the duration being in days, it's a sensible default and if someone needs to set a lower duration then the caller can calculate a fraction value.


browser compatibility question

does this lib work in IE 11?
it sure would be nice to have this info in the readme

I have no reason to believe it wouldn't work in IE11, are you running into a specific problem?


Core Refactor & Performance Modifications

Follow up of the discussion on Google Groups: https://groups.google.com/forum/?utm_medium=email&utm_source=footer#!msg/git-tfs-dev/CQQcpYse6Is/SI-kYqC5AQAJ
Let's continue the discussion here:

Hi There,
As the TFVC userbase continues to drop off, my company has committed to TFS for the foreseeable future. Because of that, I decided to fork the repository with the intention of completely reiterating and improving maintainability and performance for myself. If there are gains to be had, It be foolish to not share them with the community.
While I intend on keeping almost all of the core functionality, my plan was to start by restructuring the project into a cleaner core domain with fewer cross-cutting concerns between types. My next goal will be to improve performance by introducing some asynchronous & multithreaded functionality.I'm unsure how many are still using Git-Tfs but I imagine there are still some that would benefit from a code cleanup and some better performance. In my case, it's an essential tool that I use every day.
As I understand, this project is no longer in development. What I am asking in particular is how open you would be a to a complete reiteration of the Git-Tfs project that keeps the original functionality intact while wholly improving performance, structure, cleanliness and maintainability. I have some significant changes that I plan on making in my own fork but if you're interested, I'd like to offer my contributions in either pull requests, becoming the primary contributor, or obtaining your blessing to create a clone project that leverages a lot of the existing work.
If you are interested you can find my fork at https://github.com/armunro/git-tfs
Regardless, I have to thank you for all of your and your community's hard work; you've kept be from having to use TFS for 4 years now. A gift that I cannot possibly repay :)
Cheers,
AM

Answer from @spraints :
Hi AM,
That’s great! There are a lot of things that could be improved in git-tfs, and it would be great if you have the time and energy to put into it.
My primary concern about git-tfs/git-tfs is stability: I’d like it to be something that folks can clone and use without a lot of trouble. Do you think it would be easier/faster to iterate on  improvements in your fork, or do you think it would help to have the visibility of the main fork?
One additional thing that would be worth considering as an improvement is to start using git-fast-import when converting TFVC changesets into Git commits. It’s probably one of the single best things you could do for performance.

Answer from @armunro :
That's great to hear that we can keep a good thing going.
When I originally forked, my plan was to rip out the stuff I didn't need like VS2012, 2013, cake, etc. However, since I have your support to make some larger changes, I'm willing to support these tools in an effort to keep with the spirit of the project: Accessibility and stability. I will be discarding my changes so far as most of them removed tools that I will now need.
I think before we decide the best way to share my changes, we should probably establish some of the changes I had in mind. You can then decide if you are comfortable with the direction that I plan to work towards
Re-architecture
All core objects will be refactored to separate assembly (GitTfs.Core). The main reason is to decouple the core functionality from the command line. However, this could pave the way for a GitTfs NuGet package that could facilitate others integrating GitTfs in their own apps if the demand arises.

Namespaces within GitTfs.Core will be defined more clearly, creating a separation between Git and TFS components. The types that bridge the two will remain at the highest level, referencing only components in deeper namespaces
Util classes will be consolidated into the various namespaces of which types they operate on. This will hopefully create stronger boundaries between types resulting in better test isolation
Where possible reduce the amount of state fields/properties on core types.

Code Cleanup
I saw that general project goal was to improve duck-typing throughout a few key areas. I follow traditional clean code and clean architecture in practice as well as the SOLID principles so self documenting code is on the forefront of my concerns. Type names will undergo some significant changes to increase readability

Maintainability & Contributions
I'm not sure if the .SLN is intended to build in the IDE,but I was not able to build out of the box from a fresh clone. TFS binaries for 2012 and 2013 were missing and did not exist in NuGet from what I could tell. I'd like to simplify the build process and eliminate any additional steps that developers will need to do to contribute. This will hopefully encourage others to step in and keep things moving forward.
Introduce a basic .editorconfig with accepted styles

Performance
Investigate and possible implement fast-clone as suggested. Thank you for the tip!
Look into possible async/await and multithreaded operations
Fix a bug I recently discovered, (which inspired me pick up this project)  where large log files cause universally poor performance. My log file was 171mb because I have scheduled git-tfs fetches on all of my repos. The performance of System.Diagnostic.Trace.* methods, appear to be dependent on the size of the log file. even the help command is affected.

Wishlist
I'd like to look at the possibility of removing NLog altogether and replacing it with a lightweight, custom output console/file appender. The formatting will remain the same so it will have a consistent L&F but we'll loose the Nlog dependancy.
Investigate options for fetch/clone progress indicator
Better remote tracking. We had issues getting "commits ahead/behind" from TFS remote. This sometimes work but we found we had to fake a git remote to get this working.
Any outstanding items preventing V1 release

As you can see, most of these changes are not going to be trivial. If I am successful, the visibility of the main fork will get these improvements to people quickly. That being said, I am also very conscious that this constitutes a significant effort on your part and do not wish to undermine your goals or evolve the project into something that you and the community do not want.
If you are willing to offer me access to the main fork and implement the above changes I would certainly be happy to work there as it is probably easier for me. Otherwise I will re-fork and start there.
Look forward to hearing from you. Thanks.
AM

Answer from @spraints :

That's great to hear that we can keep a good thing going.

:+1: Yes! I'd love to see some of these things done.

When I originally forked, my plan was to rip out the stuff I didn't need like VS2012, 2013, cake, etc. However, since I have your support to make some larger changes, I'm willing to support these tools in an effort to keep with the spirit of the project: Accessibility and stability. I will be discarding my changes so far as most of them removed tools that I will now need.

Tooling like cake and nlog are very much OK to replace. They were convenient at a particular time, but aren't inherently required. With cake especially, it would be worth replacing some or all of the things it did. IIRC it helps with the release process and with running automated tests. I think it would make sense to start with other changes first to build momentum, but it's fair to replace tooling with things you'll be able to work with more easily.

I think before we decide the best way to share my changes, we should probably establish some of the changes I had in mind. You can then decide if you are comfortable with the direction that I plan to work towards

Re-architecture

All core objects will be refactored to separate assembly (GitTfs.Core). The main reason is to decouple the core functionality from the command line. However, this could pave the way for a GitTfs NuGet package that could facilitate others integrating GitTfs in their own apps if the demand arises.

Namespaces within GitTfs.Core will be defined more clearly, creating a separation between Git and TFS components. The types that bridge the two will remain at the highest level, referencing only components in deeper namespaces
Util classes will be consolidated into the various namespaces of which types they operate on. This will hopefully create stronger boundaries between types resulting in better test isolation
Where possible reduce the amount of state fields/properties on core types.

+1 That all looks good.

Code Cleanup

I saw that general project goal was to improve duck-typing throughout a few key areas. I follow traditional clean code and clean architecture in practice as well as the SOLID principles so self documenting code is on the forefront of my concerns. Type names will undergo some significant changes to increase readability

I don't follow this point. Do you have an example or two of classes that you'd like to change? It's probably all good, just a jargon misunderstanding on my part. ;)
If you're talking about the mirroring of TFS classes in GitTfs interfaces and types, that's intentional so that a single git-tfs.exe can work with any VS version.

Maintainability & Contributions
I'm not sure if the .SLN is intended to build in the IDE,but I was not able to build out of the box from a fresh clone. TFS binaries for 2012 and 2013 were missing and did not exist in NuGet from what I could tell. I'd like to simplify the build process and eliminate any additional steps that developers will need to do to contribute. This will hopefully encourage others to step in and keep things moving forward.

One of the things I tried to do with git-tfs was to build a single exe that would work with any (or almost any) version of VS. It drives me crazy when dev tools require a different installation depending on which version of VS you have. So, git-tfs has all of its core stuff in one assembly (git-tfs.exe) and one assembly per supported VS version. Some code works with  One of GitTfs's VS assemblies will be loaded at runtime. I'm quite happy with this at a high level. The implementation seems to work well enough, but the particulars aren't super important. I'm interested in preserving the "only one git-tfs package" property. One of the side effects of the current layout is that you can't build the entire SLN if you don't have all of the supported versions of TFS installed. This is definitely a pain point, and I'd be interested in getting the dev side sorted out so that that's not the case. It could be that all of the VS projects are disabled by default, or they have conditional build rules so that they're skipped if their deps aren't installed, or whatever. Like I said earlier, my main goal in this area would be to keep distributing just one git-tfs package regardless of the target env.

Introduce a basic .editorconfig with accepted styles

Performance

Investigate and possible implement fast-clone as suggested. Thank you for the tip!

 This might not result in immediate end-user performance improvements. But it will make things better on large repositories. For example, git fast-import will produce a single packfile for each session instead of loose objects. Git itself will perform better when the repository has more packfiles and fewer loose objects in .git/objects.

Look into possible async/await and multithreaded operations

+1

Fix a bug I recently discovered, (which inspired me pick up this project)  where large log files cause universally poor performance. My log file was 171mb because I have scheduled git-tfs fetches on all of my repos. The performance of System.Diagnostic.Trace.* methods, appear to be dependent on the size of the log file. even the help command is affected.

What!? Yes, please fix this!

Wishlist

I'd like to look at the possibility of removing NLog altogether and replacing it with a lightweight, custom output console/file appender. The formatting will remain the same so it will have a consistent L&F but we'll loose the Nlog dependancy.
Investigate options for fetch/clone progress indicator
Better remote tracking. We had issues getting "commits ahead/behind" from TFS remote. This sometimes work but we found we had to fake a git remote to get this working.
Any outstanding items preventing V1 release

As you can see, most of these changes are not going to be trivial. If I am successful, the visibility of the main fork will get these improvements to people quickly. That being said, I am also very conscious that this constitutes a significant effort on your part and do not wish to undermine your goals or evolve the project into something that you and the community do not want.

If you are willing to offer me access to the main fork and implement the above changes I would certainly be happy to work there as it is probably easier for me. Otherwise I will re-fork and start there.

It probably makes sense to make the changes on the main project. What do you think about starting with one or two pull requests and we'll take it from there? Feel free to @-mention me, or ping me on gitter, or via email.

Answer from @armunro :
Hey - Thanks for getting back.

Tooling like cake and nlog are very much OK to replace. They were convenient at a particular time, but aren't inherently required. With cake especially, it would be worth replacing some or all of the things it did. IIRC it helps with the release process and with running automated tests. I think it would make sense to start with other changes first to build momentum, but it's fair to replace tooling with things you'll be able to work with more easily..

I was able to get the build working relatively easily so I will keep it for now and see if it makes sense to keep it once everything else is done. I've also created an issue in my fork to address the output performance. Something small and lightweight but custom will suit this application nicely.

I don't follow this point. Do you have an example or two of classes that you'd like to change? It's probably all good, just a jargon misunderstanding on my part. ;)
If you're talking about the mirroring of TFS classes in GitTfs interfaces and types, that's intentional so that a single git-tfs.exe can work with any VS version.

I'll be keeping the version specific TFS stuff as-is because I don't feel like refactoring any of the StructureMap stuff yet. I'm more talking about classes like Bouncer.cs, Janitor.cs, that don't reveal their nature from the name. Refactoring to enforce that classes only have a single responsibility (SRP) is generally quite difficult after the fact but it's high on my list of priorities. From my own experiences, projects become much easier to maintain when there is a clearer division of responsibility.

 This might not result in immediate end-user performance improvements. But it will make things better on large repositories. For example, git fast-import will produce a single packfile for each session instead of loose objects. Git itself will perform better when the repository has more packfiles and fewer loose objects in .git/objects.

This is very interesting because our primary repository at work is quite large and we've had some difficulty with size. A full clone can take days so we've had to keep a local cache that we update every month to avoid the 2-3 day checkout when we're on-boarding someone. Once the above refactors are done, this will be one of the first things I look into adding.

One of the things I tried to do with git-tfs was to build a single exe that would work with any (or almost any) version of VS. It drives me crazy when dev tools require a different installation depending on which version of VS you have. So, git-tfs has all of its core stuff in one assembly (git-tfs.exe) and one assembly per supported VS version. Some code works with  One of GitTfs's VS assemblies will be loaded at runtime. I'm quite happy with this at a high level. The implementation seems to work well enough, but the particulars aren't super important. I'm interested in preserving the "only one git-tfs package" property. One of the side effects of the current layout is that you can't build the entire SLN if you don't have all of the supported versions of TFS installed. This is definitely a pain point, and I'd be interested in getting the dev side sorted out so that that's not the case. It could be that all of the VS projects are disabled by default, or they have conditional build rules so that they're skipped if their deps aren't installed, or whatever. Like I said earlier, my main goal in this area would be to keep distributing just one git-tfs package regardless of the target env.

Yeah I'm not sure what happened here when I cloned the repo. I primarily use Rider instead of VS so I didn't have any TFS client libraries installed. I think it's extremely important to maintain that compatibility so I'll ensure that no support is lost. It looks like the VS 2015 assembly builds fine because the packages are coming from NuGet. The 2012 and 2013 do not out of the box but that's because I don't have those versions.
Interestingly, I added the same NuGet TFS  client libraries that 2015 was using to 2012 and 2013 and I was able to get it building completely. The MS documentation suggests that Microsoft.TeamFoundation.ExendedClient contains support for 2012 and 2013 so I'm still not sure if VS is even required to be installed. If that is the case, the version specific assemblies may be redundant but I must admit I haven't tested it yet so it could be a trap. Is this something that you've tried?
In the end I decided to re-fork and make my commits there. If you're interested in tracking commits, feel free to check it out. What's up there now is a rough cut but a core domain model starting to emerge so I'm happy with the direction so far. I apologize for the size of the commits, the first part of the refactor is usually pure chaos due to the size of the re-namespacing commits. Once that is out of the way, commits will be more issue based.
https://github.com/armunro/git-tfs
Thanks again for all of the feedback
AM

My first short answer (next to come):

I should have made a new release since a long time ago (there are 2 PRs to merge before)
VS2012 and 2013 project requires the install of libs (done with a cake task) and these projects are mandatory for projects using this version of TFS and using checkin policies (but I planned to delete these projects after the release and no more support this case with the future releases)
cake is more used to do the release (to prevent to have to install this libraries locally) and could be simplified once VS2012 & 13 projects will be deleted.

@pmiossec  - My original plan was to remove 2012 and 2013. If we can get a consensus on this, I will create an issue to remove it from the code/build pipline. Just let me know.

VS2012 and 2013 project requires the install of libs (done with a cake task) and these projects are mandatory for projects using this version of TFS and using checkin policies (but I planned to delete these projects after the release and no more support this case with the future releases)

@pmiossec & @spraints  - I'm sitting on a bunch of changes in my fork. If you're interested, feel free to take a look. Included so far:

Full repackaging (about 80% done)
Implemented custom output handler for file logging and console output. Removed nlog.
Removed support for VS2012 + VS2013 as I saw a merged PR to do this.
Fixed Wix installer project
Misc. code cleanup and naming improvements.
Centralized global functions and constants.

There was things interesting and I don't know how I missed the last message.
But as the fork is no more existing, I think we can't close the issue...


Protractor file uploads - Support remote uploads with webdriver setFileDetector & LocalFileDetector

Right now it is perfectly possible to upload files for an input file element like this (Andres example)
var util = require('util');

it('should upload file', function() {
  var fileToUpload = '../some/path/foo.txt',
  var absolutePath = path.resolve(__dirname, fileToUpload);
  $('input[type="file"]').sendKeys(absolutePath);
  $('#uploadButton').click();
});

I've tested this on an ajax multi-file uploader and works! is awesome.
The issue is how to use this on a remote selenium grid like BrowserStack or Sauce Labs.
Since selenium 2.8.0 they have

Added setFileDetector to RemoteWebDriver to allow files to be uploaded to the remote server

But only java bindings seems to be available so i wonder if this is going to be possible on protractor.
The workaround i tried to use was uploading the target file to a publicly accessible server and then on the sendKeys() put the complete URI, e.g. http://my-server.com/fileToUpload.doc but that only works on Windows machines, linux complains with UnknownError: unknown error: path is not absolute: http://.... and OSX failed too.

Whats going on with this issue? I'm also having the same problem as @mattgi  this is my error log:
UnknownError: unknown error: path is not absolute: http://lorempixel.com/g/600/600/
(Session info: chrome=40.0.2214.94)
(Driver info: chromedriver=2.12.301326 (093c7e07b4a916b690e784b0374c7f618f1ea4be),platform=Mac OS X 10.9.4 x86_64)
I'm try to use sauce labs and nothing suggested here works.

Hey @juliemr, the changes for the webdriver.js file detector code got merged this morning:
https://github.com/SeleniumHQ/selenium/commit/db632150ebee29cb832fd480d4f4d85e4fa8b0d8
It would be awesome if we could get remote file uploads supported in the protractor.

We will update to a new version of selenium-webdriver as soon as it's available on npm!

@juliemr and @snayagar  I can't tell if the LocalFileDetector makes it to protractror 1.7.0 yet.
It it is there, is the following code correct to set LocalFileDectector?
browser.driver.setFileDetector(browser.driver.LocalFileDetector);

Hi @juliemr ,
the method setFileDetector is supported in<EMAIL_ADDRESS>but the dependency of protractor is still<EMAIL_ADDRESS>Could you update the version of selenium-webdriver?
Thanks!

Blocked on https://github.com/angular/protractor/issues/1872

Hi, I'm wondering if setFileDetector related method available in the latest version of Protractor?

Can someone post an example of how to use setFileDetector? (unless not needed in this example)  I am using Protractor, JS, selenium standalone server, and have a button to select a file, i.e.
<button id="upload-button" class="button" ng-file-select ng-file-change="uploadCtrl.upload($files) ng-accept="'.jpg,.gif'">Select File
Can someone explain how to upload the file in protractor?  Thanks!!

button id="upload-button" class="button" ng-file-select ng-file-change="uploadCtrl.upload($files)" ng-accept="'*.jpg, *.gif'"

Is there an example of a protractor spec running against a remote selenium hub or saucelabs?

Follow the issue https://github.com/angular/protractor/issues/1959
I try it but it seems that it is not working.

@juliemr ANy idea if this has happened? I am stuck with this now when I run in sauce too. Also is there an example of how to use? Thx!

@srajagopalan1712 I followed the example on the Stack Overflow link below and it worked like a charm:
http://stackoverflow.com/questions/34215697/remote-file-upload-protractor-test

Hi,
Question to everybody, I have no problem uploading a file from local machine, but I do have an issue when uploading a file from an url like an image, has anybody managed to do that? For example I want to upload the image from this link https://static.pexels.com/photos/3247/nature-forest-industry-rails.jpg
Should the absolute path be something like:
var absolutePath = path.resolve("https://static.pexels.com/photos/3247/", "nature-forest-industry-rails.jpg");
Or am I missing something?

@juliemr @elgalu
Has anybody manage to find a workaround to attach a file from URL on a Linux or a Mac machine?

I haven't run upload tests since 2014 @Gudzo so can't help you on this. I even haven an open issue to add some download/uploads tests at https://github.com/elgalu/docker-selenium/issues/72 help-wanted :)

Hi all,
Anyone can help me to close a modal windows after uploading a file using protractor ? ?
PS; It is a modal window from Windows operating system.
Thanks.

Hi all,

It's resolved using setFileDetector :)


[Outlook] (attachments) Note reqt. set for get APIs in compose mode

Addresses request to note requirement set for get APIs by customer in this SO thread.

Docs Build status updates of commit c40b78e:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

docs/outlook/add-and-remove-attachments-to-an-item-in-a-compose-form.md
:white_check_mark:Succeeded
View

For more details, please refer to the build report.
Note: Broken links written as relative paths are included in the above build report. For broken links written as absolute paths or external URLs, see the broken link report.
For any questions, please:Try searching in the Docs contributor and Admin GuideSee the frequently asked questionsPost your question in the Docs support channel


Does snippet/code completion support tab completions

Hi 👋
Just come across this DSP spec from Adobe Max 2020 & the VSCode extension page - https://letsxd.com/vscode
Does this spec support tab completions in the inserted snippets.
For example with the bootstrap example shown, it would be good to tab through the inserted snippet for the component to say quickly update the title/header of a card and any other useful things.
Is this something that can be done already or would this be something worth exploring if it currently does not support it.
Thanks,
Warren :)

Hi Warren, yes, you can use tab stops just like any other snippet in VS Code.

https://code.visualstudio.com/docs/editor/userdefinedsnippets


Apple Silicon M1/M2 request

Can not build on MacOS m1  but Intel work very well.
Error show no such file libusb-1.0.23.dylib

Closing in favor of https://github.com/woodemi/quick.flutter/issues/56


Use axios

Tested with node test.js
fixes #4
Too many changes because #3 wasn't merged... but it should be ok after merge.

@G0maa,
I integrated this commit and recreated it here #6


complete INS ingest

Like Reported, placing here the resume on findings trying to INGEST INS FILE:

The InfoSheet was missing the CodeBookSlots
The language is the abbreviation of the language or if English it should be "en"
The issue of hierarchies, the PHQ9 Instrument is a subclass of "vstoi:Questionnaire"
In Detectors, there is a column "a", but there is no subClassOf column, if we add this column there and give it a subclass in the hierarchy tree it will appear as "Detector" and not as "PHQ9Question1" (and this is what I don't know what is supposed to happen...)

Even so it INGESTED 100%, no LOG ERRORS


Bug: Unique key constraint violation for optional contents id

Error:
org.springframework.dao.DataIntegrityViolationException: could not execute statement; SQL [n/a]; constraint [uk_af1f5l4iaaheh461e7a2o35rt]
Caused by: org.postgresql.util.PSQLException: ERROR: duplicate key value violates unique constraint "uk_af1f5l4iaaheh461e7a2o35rt"
  Detail: Key (optional_contents_id)=(08cc413f-26a3-4ee5-a58d-f6d9380d5ac2) already exists.

Might be content added twice to the list, but will require further investigation

Could not be replicated, possible already "accidentally" solved


Fix #1764 Parallelize listcompactions in shell

Replace ActiveCompactionIterator with ActiveCompactionHelper that
parallelizes calls to InstanceOperations.getActiveCompactions() in
support of a more efficient listcompactions command in the shell.

@keith-turner I'm not sure how many threads it should use.


[BEAM-5807] Conversion from AVRO records to rows

This PR introduces an initial implementation of conversions from AVRO GenericRecord to Row. Transformation doesn't allow any type widening or narrowing. The idea is to build narrowing and widening as a separate transformation using Row and keep this code simple.
There are further steps, that I want to put into separate pull requests:

change reading in BigQueryTableProvider to newer implementation
the opposite, Row to GenericRecord, and test that roundtrip preserves equality
add transforms for projecting fields, type widening and narrowing
add a builder to AvroIO
add AvroTableProvider for SQL

Follow this checklist to help us incorporate your contribution quickly and easily:

[x] Format the pull request title like [BEAM-XXX] Fixes bug in ApproximateQuantiles, where you replace BEAM-XXX with the appropriate JIRA issue, if applicable. This will automatically link the pull request to the issue.
[ ] If this contribution is large, please file an Apache Individual Contributor License Agreement.

It will help us expedite review of your Pull Request if you tag someone (e.g. @username) to look at it.
Post-Commit Tests Status (on master branch)

Lang
SDK
Apex
Dataflow
Flink
Gearpump
Samza
Spark

Go

---
---
---
---
---
---

Java

Python

---

---
---
---

@akedin I would need one more day to have a fresh look, can you please take a look and give feedback on the approach?

run java precommit

@akedin Thanks for the review. I would be happy to merge this sooner than later.
I see this one of building blocks, that can be used to implement different higher-level transforms. I will provide a few examples I have in mind.
Case 1. AvroIO and POJO
As I understand, this is what you mentioned. Given AVRO schema and POJO class, we want to read PCollection<POJO> using AvroIO.
How it works:

we get Schema for AVRO using AVRO schema
we get Schema for POJO from SchemaProvider
there is a PTransform that converts rows between schemas if needed
PTransform#validate checks if conversion is possible

No codegen is required as opposed to using avro-compiler.
Case 2. AvroIO and Row
The difference from case 1 is that we don't have POJO. AVRO schema is dynamic, and we don't know it in compile time. We get it in runtime from external schema registry service, or from AVRO file headers in a filesystem. At the same time, we want to run SQL, the query itself can also be dynamic, or be based on a schema. For instance, you can imagine a generic data profiling pipeline implemented this way.
Case 3. BigQuery and TableProvider
We get BigQuery table schema, and we know table schema, then it works similar to case 2. It is something like external tables in Hive.
We don't need to register tables in advance as it's done today, because we can list tables in a GCP project, and derive schemas for them. The same approach can be used for AVRO if there is metadata catalog like Hive metastore.
Reading directly to Row
I was trying to read directly to Row instead of GenericRecord. It's possible to get up to 3 times performance improvement by doing runtime codegen using bytebuddy or similar. There is an article describing the similar approach.GenericRecord.
This approach enables projection and filter pushdowns to a data source. Recently there was another article about it. This could be done by injecting custom DatumReader into AvroIO.

retest this please

build fails because *.java files don't have Apache license headers, can you add them (copy-paste from existing java files)?

@akedin sure, I did one more walkthrough and addressed your comments.
I submitted a PR to add license headers with spotless, let me know what do you think:

https://github.com/apache/beam/pull/6791

Seems good now, can you rebase so that the tests pass after Kenn has made them deterministic?

now spotless fails :)

Run Java FnApi PreCommit

Looks like our build is especially broken in the last few days :( Next problem problem: https://github.com/apache/beam/pull/6807

@akedin it looks like tests pass :), two failing jobs aren't implemented yet, and being developed in separate PRs

@reuvenlax I'm not sure I understand what it means, can you elaborate?


NixOS manual: allow options from nix packages

After writing some modules for use in nixops, I wanted to build the NixOS manual with my own modules' options included. Without this patch, it would fail complaining about "toFile cannot refer to derivation outputs".
For reference, here's the code that now works:
let
  nixopsMasterSrc = pkgs.fetchFromGitHub {
    owner  = "NixOS";
    repo   = "nixops";
    rev    = "f068cb50abb7fd39a4ba48e95f41baaff64670e4";
    sha256 = "1m967nx0aml0bx63hbgar8v13nv528w9w0rd36mxgz3cwympqhc2";
  };
  nixopsMasterPkg = (import "${nixopsMasterSrc}/release.nix" {}).build.${pkgs.stdenv.system};
  nixopsNixLibPath = "${nixopsMasterSrc}/nix";

  eval = fixMergeModules
    (concatLists [
      (utils.readDirRec ./modules)
      (import <nixpkgs/nixos/modules/module-list.nix>)
      [
        ("${nixopsNixLibPath}/options.nix")
        ("${nixopsNixLibPath}/resource.nix")
        # Need this here to manually choose the config.nixpkgs.system,
        # or else it will complain it's "used but not defined".
        (rec {
          _file = ./shell.nix;
          key = _file;
          config = {
            nixpkgs.system = mkDefault "x86_64-linux";
          };
        })
      ]
    ])
    {
      inherit pkgs;
      utils = {};
      name = "<name>"; uuid = "<uuid>";
      resources.gceImages.bootstrap = {};
    };

  manuals = import <nixpkgs/nixos/doc/manual> {
    inherit pkgs;
    options = eval.options;
    extraSources = [ nixopsMasterSrc ];
    version = "test";
    revision = "test";
  };
in
  manuals.manpages

(where utils.readDirRec is my own utility to recursively list files in a directory)
Not sure if this is the best/cleanest way to go about fixing this problem; I was mostly trying to make the smallest change possible.

On a quick skim, I see no problems with this PR.


[loc][Query][Node.js] Localizability of "CannotAddFolderAsDescendantOfSelf"

Hi, we have a question from a translator. Could you help please?
Source:
Cannot add folder '{0}' as a child or decedent of self.
File Name:
localize\ENU\Microsoft.NodejsTools.dll
Resource ID:
0; "CannotAddFolderAsDescendantOfSelf"

BPI 7920 Query:
Is "decedent" in the source supposed to be "descendant"?

Yes, fixed

Thank you


Error responses

Have a look about how can we define error responses.

Added a way to parse postman examples where errors can be defined by request


A problem occurred while testing your program

lightning_lite.utilities.exceptions.MisconfigurationException: The provided lr scheduler StepLR doesn't follow PyTorch's LRScheduler API. You should override the LightningModule.lr_scheduler_step hook with your own logic if you are using a custom LR scheduler.
How to solve？

hi. lightning_lite.utilities.exceptions.MisconfigurationException:. The exception seems caused by lightning_lite, which is different from pytorch_lightning, Did you install the correct pytorch-lightning==1.8.0 module?


[apps] Extract all the returned content to avoid KeyError in JSON response

to: @ryandeivert
cc: @airbnb/streamalert-maintainers
size: small
Background
In the function _check_http_response when a HTTP error is detected, the app base tries to grab the field message from the returned response JSON. This field may not exist and it generates the following error:
File "/var/task/app_integrations/apps/app_base.py", line 343, in _make_get_request
return self._check_http_response(response), response.json()
File "/var/task/app_integrations/apps/app_base.py", line 324, in _check_http_response
response.json()['message'])
KeyError: 'message'

This PR prevents that from happening by just grabbing the whole returned content, as it is done in the outputs code.
Changes

Getting response.content instead of specific fields (message) from the response.
Modified existing tests to pass with the new code.

Testing
$ rm .coverage && ./tests/scripts/unit_tests.sh
...
TOTAL                                                    2779     99    96%
----------------------------------------------------------------------
Ran 489 tests in 10.114s

OK

$ ./tests/scripts/pylint.sh

--------------------------------------------------------------------
Your code has been rated at 10.00/10 (previous run: 10.00/10, +0.00)

$ python manage.py lambda test --processor rule all
...
StreamAlertCLI [INFO]: (59/59) Successful Tests
StreamAlertCLI [INFO]: (93/93) Alert Tests Passed
StreamAlertCLI [INFO]: Completed

Coverage remained the same at 95.44% when pulling fc32dea6ec6d54ff26650e5a747f23e833a517bf on javier-streamalert-onelogin-response-content into 6b61fefc6674d817a72db67f0827beba0eed9edf on master.


Improve metadata reporting for value-list data

Variables of type value-list take values from a controlled dictionaries usually defined in the database itself (the definition files). The way how their values are currently represented in the metadata is not consistent. In some cases the metadata contains values that do not occur in the data and via versa. Some examples:  GrammaticalMarkers::MarkerPositionBinned4, Register::OriginContinent, LocusOfMarkingPerMicrorelation:: FloatingorClitic etc.
Planned changes:

[ ] Improve the data validation procedures used by the export pipeline to catch such problems more reliably
[ ] Expose the explicit relationship between a variable and the controlled dictionary in the metadata
[ ] Metadata should only list the values that actually occur in the data

These improvements are planned for the release v1.1.0 in mid-late spring 2022.
This issue supersedes #23, #25, #27, #28, #29

I'm also not quite sure what's going on with determining variables from the metadata. Here's my attempts are recreating the numbers from the summary stats table at https://github.com/autotyp/autotyp-data#data-coverage
Primary variables:
sqlite> select p.module, count(distinct p.cldf_id) from parametertable as p where kind like '%manual%' group by p.module;
Categories|14
GrammaticalRelations|33
Morphology|66
NP|17
Sentence|48
Word|37

Doesn't quite work out for GrammaticalRelations and Morphology.
This is corroborated by the numbers for derived variables:
sqlite> select p.module, count(distinct p.cldf_id) from parametertable as p where kind not like '%manual%' group by p.module;
Categories|7
GrammaticalRelations|9
Morphology|11
Word|3

While for "covered languages" Categories is the biggest mystery:
sqlite> select p.module, count(distinct v.cldf_languageReference) from parametertable as p, valuetable as v where v.cldf_parameterReference = p.cldf_id group by p.module;
Categories|505
GrammaticalRelations|800
Morphology|956
NP|485
Sentence|468
Word|76

I'm also not quite sure what's going on with determining variables from the metadata. Here's my attempts at recreating the numbers from the summary stats table at https://github.com/autotyp/autotyp-data#data-coverage
Primary variables:
sqlite> select p.module, count(distinct p.cldf_id) from parametertable as p where kind like '%manual%' group by p.module;
Categories|14
GrammaticalRelations|33
Morphology|66
NP|17
Sentence|48
Word|37

Doesn't quite work out for GrammaticalRelations and Morphology.
This is corroborated by the numbers for derived variables:
sqlite> select p.module, count(distinct p.cldf_id) from parametertable as p where kind not like '%manual%' group by p.module;
Categories|7
GrammaticalRelations|9
Morphology|11
Word|3

There are few things to consider here IMO:

Do you count nested data columns as a single variable or do you unnest them before counting? In our summaries, we count the variables inside the bested tables as well (e.g. GrammaticalRelationsRaw::SelectedArguments count as 11 variables).

The subdivision of datasets into modules looks like a tree in the export, but it is actually a system of tags. This means that some datasets that are stored under SummariesPerLanguage will count towards GrammaticalRelations or Morphology because that is where they are thematically ordered. Examples include AlignmentForDefaultPredicatesPerLanguage and MorphologyPerLanguage. You can't really replicate these counts because we don't export the full set tag.

There is of course certain degree of inflation  as some variables are copies of others, just with the data reshaped in some
other way. We are working on improving how variable dependencies are tracked through aggregations, but it is not a trivial task. The accuracy of the data counts should improve with every releases, but there is still a lot work to do there.

You can also have a look at variables_overview.csv, there is a bit more information in there. Summaries we provide in there readme are based on the data that goes into that table.

While for "covered languages" Categories is the biggest mystery:
sqlite> select p.module, count(distinct v.cldf_languageReference) from parametertable as p, valuetable as v where v.cldf_parameterReference = p.cldf_id group by p.module;
Categories|505
GrammaticalRelations|800
Morphology|956
NP|485
Sentence|468
Word|76

Ah, welp, this is where implicit type conversion strikes again... there was a bug in how Gender data was annotated in the database and type system did the rest (it passed the validation layer because for the purpose of validation the conversion worked fine, only broke when we started counting things). Will be fixed in the next release.

Ok, when I store the number of nested variables as dim of the outer parameter, it still doesn't work. In particular the numbers for NP variables seem to be unexplainable.  Subtracting the module entry, and LID, Glottocode and Language, we get 21, two of which have two nested variables. So that should count as 19 primary variables, and no derived ones, right? Not 12 and 122.

Here's the manually entered variables for NP (all from NPStructure)
- LID (not counted, since it's a language ID)
- Glottocode (not counted, since it's a language ID)
- Language (not counted, since it's a language ID)
NPStructureID
- NPStructureExample (not counted, since it's a comment field)
NPStructureType
NPStructureMarkingAssignmentType
NPStructureMarkingType
-NPStructureIsOvertlyMarked (binned variant of NPStructureMarkingType)
NPStructureMarkerID
NPStructureAgreement$NPStructureAgreementCategory
-NPStructureAgreement$NPStructureAgreementMacrocategory (binned variant of the previous variable)
NPStructureWordOrder
-NPStructureHasAlienability (binned variant of NPStructureAlienabilityType)
NPStructureAlienabilityType
NPStructureDependentPoSConstraints
NPStructureDependentSemConstraints
-NPStructureDependentSemConstraintsBinned (binned version of the previous variable)
NPStructureHeadlessness
NPStructureHeadSemConstraints$NPStructureHeadSemConstraints
-NPStructureHeadSemConstraints$NPStructureHeadSemConstraintsBinned (binned version of the previous variable)
-NPStructureHeadAdditionalConstraintsNotes (not counted, since it's a comment field)

Discounting all the flagged fields (comments, language IDs, field variants), that's 12 variables
And about computed variables: NPStructurePerLanguage and NPStructurePresence are two huge aggregated tables of NP properties that count towards these stats.
All of this info should be in variables_overview.csv

Ah, I see. Ok, will take variables_overview.csv into account, and recount.

If it helps, here is the R code used to do the counts. Note that it relies on some data that is not available in the public release.
The variable all_typological_variables is basically a subset of the data you see in variables_overview.csv, with language IDs and comments removed.
report <- all_typological_variables %>%
  separate_rows(modules) %>%
  rename(Module = modules) %>%
  filter(!Module %in% "VerbInflection") %>%
  group_by(Module) %>%
  summarize(
    `Primary variables` = sum(kind == "manual entry"),
    `Derived variables` = sum(kind == "computed"),
    `Number of languages covered` = length(unique(unlist(LIDs))),
    `Number of primary typological datapoints` = approx_number(sum(
      n_values[kind == "manual entry" & dataset_kind == "primary"
    ])),
    .groups = "drop"
  )

report <- bind_rows(
  report,
  tibble(Module = " "),
  summarize(all_typological_variables,
    Module = "Total",
    `Primary variables` = sum(kind == "manual entry"),
    `Derived variables` = sum(kind == "computed"),
    `Number of languages covered` = length(unique(unlist(LIDs))),
    `Number of primary typological datapoints` = approx_number(sum(
      n_values[kind == "manual entry" & dataset_kind == "primary"
    ])),
    .groups = "drop"
  )
)

Fixed in v1.0.1


Support for running hyperstart without 9pfs

Hi,
This is related to PR, https://github.com/hyperhq/runv/pull/626.
This PR adds support for running hyperstart without having access to 9p filesystem passed via runv. Instead of relying on 9p filesystem, it expects an SCSI device with rootfs attached to the VM.

Can one of the admins verify this patch?

Not sure why the CI related to libvirt is failing. The changes are only in qemu.


TypeScript declaration file is not included into the published npm package

I see that you have a TypeScript declaration file in your repo, but it isn't included into the package published on npm. Thus, users have to copy and paste this file into the project folder in order for TypeScript to compile without errors.
It would be really nice if npm package had these type definitions by default.

Thanks for reporting this. I just published version 2.2.2 which should include the typescript defs.

Thank you, @psalaets!


Fix mytable roach in data replication demo

Previously, the roach was elongated. Added the relevant where clause to correct the issue.

This change is

@knz, PTAL.

http://cockroach-docs-review.s3-website-us-east-1.amazonaws.com/86c47db8be7cb2ae3ec23c6e01a4535c418bae92/

LGTM :)

I always wondered if there was a way to fix that. Really thoughtful work to fix this.


⚠ Bofrost.be has degraded performance

In 2987b6a, Bofrost.be (https://www.bofrost.be) experienced degraded performance:

HTTP code: 200
Response time: 1677 ms

Resolved: Bofrost.be performance has improved in 7c4145c.


This is a very good project~

This is a very good project~

Thanks to the maintainers !

Thank you for your kind words!  I'm working on triaging issues for this project right now and am going to close this now :)


Run clone tests that require special storage in storage lane

This tests needs snapshotable storage class which we have only in the sig-storage lane. so far this tests were always skipped.

What this PR does / why we need it:
Which issue(s) this PR fixes (optional, in fixes #<issue number>(, fixes #<issue_number>, ...) format, will close the issue(s) when PR gets merged):
Fixes #
Special notes for your reviewer:
Release note:

NONE

Great catch @ShellyKa13! Well done!
/lgtm

/lgtm
some links that prove this:
https://prow.ci.kubevirt.io/view/gs/kubevirt-prow/pr-logs/pull/kubevirt_kubevirt/9332/pull-kubevirt-e2e-k8s-1.26-sig-compute/1635204290526056448
https://prow.ci.kubevirt.io/view/gs/kubevirt-prow/pr-logs/pull/kubevirt_kubevirt/9332/pull-kubevirt-e2e-k8s-1.26-sig-storage/1635204289674612736

@dhiller @brianmcarey
Error: container df5755ea434a732d8057a7c94ad25ca02071202b40e38fa58cc820b59cc04dba has dependent containers which must be removed before it: 240bb310a2caf1152fbe29e11a48d582844a6407d0a6e07445ecf55c72875130, 5acded552728bf7af5fef606148c0c6cba41d32bf3964b32cca8699e64faafcb, 72ff7852aa6e288443f9370ea69e9c741821c820f3d67d3998aa822c6df5157b: container already exists looks new to me

/approve


Culture issues related to parsing decimal numbers

A user reported a problem in which he could not read our .toml files, our .mzml, or .raw provided in the vignette. He kept getting "string is not in the correct format" error messages.
This was because he's from South Africa, which means his computer used the South African decimal parsing rules that Microsoft provides. These rules do not accept periods in decimal numbers. For example "3.14" cannot be understood by his machine.
The solution to this is to use "invariant culture", which is a "culture" that is designed by Microsoft to be static and unchanging.
Use:
double myNumber = double.Parse("1.35", CultureInfo.InvariantCulture);
instead of
double myNumber = double.Parse("1.35");

fixed in #1562


Modal's ModalManager sets body overflow to empty "" on unmount too late

A Dialog that is closed will cause the <body> overflow style to become empty ("") when the Modal components unmounts. If upon closing the modal, you go to a different route with (react-router) and you go to another component whose componentDidMount changes document.body.style.overflow, it will be wiped out.

[X] This is a v1.x issue.
[X] I have searched the issues of this repository and believe that this is not a duplicate.

Expected Behavior
The next component's componentDidMount setting of document.body.style.overflow should not be cleared out.
Current Behavior
If you are in component A and open a modal, the <body> overflow style gets set to hidden. When you close the modal and change route and another component is immediately mounted and sets the overflow in componentDidMount, the modal might wipe it up because its componentWillUnmount is called after the new component's componentDidMount.
Steps to Reproduce

From route A, whose component A opens a Modal, close the modal
Immediately after closing the modal, route changes to route B and component B mounts.
The <body> overflow setting might be wiped out by the modal's componentWillUnmount because it does not occur in sequence (Modal's componentWillUnmount followed by component B's componentDidMount).

Context

Your Environment

Tech
Version

Material-UI
v1.2.1

React
16.3

browser
Chrome 67 on macOS Sierra

react-router-dom
4.2.2

@nbkhope Please provide a full reproduction test case. This would help a lot 👷 .
A live example would be perfect. This codesandbox.io template may be a good starting point. Thank you!


Bind view in arbitrary class

It would be nice to be able to do something like this:
class Sample : KotterKnifeTarget {
    override val rootView = something
    val textView = bindView<TextView>(R.id.foo) /* finds the view from rootView */
}

The view binding extension methods would be on KotterKnifeTarget. This way we could use KotterKnife with Renderers or anywhere else.

What is the advantage of having that if you can just do
class Sample {
    val textView = something.bindView<TextView>(R.id.foo)
}

@mustafin but I am not sure about this:
class Sample {
    val textView = something.bindView<TextView>(R.id.foo)
}

That view method returns an object of type ReadOnlyProperty and not an object of type TextView. I can use the getValue method but which is the value for the parameter property: KProperty<*>?


Set private_key_id in JWT access token header like other google auth …

…libraries.
When trying to use NodeJS gRPC to authenticate to an API, I found that NodeJS doesn't set kid in the JWT header like other google auth libraries (I've used Java, Python, Go, and C++ fine). This field propagates private_key_id to kid when present.
Also go ahead and set typ to fully reproduce the behavior in the other libraries.
The API is backwards compatible as it only adds optional parameters to the end of constructors. Behavior is significantly different, but it only adds header data in a way that matches other auth libraries, so probably doesn't warrant a semver bump.
For reference:
Java implementation
https://github.com/google/google-auth-library-java/blob/master/oauth2_http/java/com/google/auth/oauth2/ServiceAccountJwtAccessCredentials.java#L335
Go implementation
https://github.com/golang/oauth2/blob/master/google/jwt.go#L54
Spec for kid parameter
https://tools.ietf.org/html/draft-ietf-jose-json-web-signature-11#section-4.1.7

Codecov Report

Merging #450 into master will increase coverage by 0.03%.
The diff coverage is 100%.

@@            Coverage Diff             @@
##           master     #450      +/-   ##
==========================================
+ Coverage      95%   95.03%   +0.03%
==========================================
  Files          15       15
  Lines         981      987       +6
  Branches      217      218       +1
==========================================
+ Hits          932      938       +6
  Misses         49       49

Impacted Files
Coverage Δ

src/auth/jwtaccess.ts
98.36% <100%> (+0.11%)
:arrow_up:

src/auth/jwtclient.ts
95.14% <100%> (+0.09%)
:arrow_up:

Continue to review full report at Codecov.

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

@JustinBeckwith would you be able to review this PR? Thanks!

@theacodes I'm not 100% up to speed on what's happening in here :)  Could you please take a look and make sure this makes sense?

This matches the Python library's behavior, which is canonical.


'You added your first device'

After updating to latest firmware, and then adding a new device the screen 'great, you added your first device' is shown. Wierd, because my brain already knows multiple devices...

Thanks for the report @Webunity
As this issue is not related to the SDK I will close this. Please use planet.neeo.com to report issues with the product. Thanks!


remove incorrect \ in C++ .editorconfig example

this example is incorrect, fixing it

@ChrisGuzak : Thanks for your contribution! The author(s) have been notified to review your proposed change.

@jureid another minor change. please review.

@ghogen Would you be able to review this PR? Thanks.


sitepoint add request

Please follow the guide below

You will be asked some questions and requested to provide some information, please read them carefully and answer honestly
Put an x into all the boxes [ ] relevant to your issue (like this: [x])
Use the Preview tab to see what your issue will actually look like

Make sure you are using the latest version: run youtube-dl --version and ensure your version is 2018.06.02. If it's not, read this FAQ entry and update. Issues with outdated version will be rejected.

[ x] I've verified and I assure that I'm running youtube-dl 2018.06.02

Before submitting an issue make sure you have:

[x ] At least skimmed through the README, most notably the FAQ and BUGS sections
[x ] Searched the bugtracker for similar issues including closed ones
[ x] Checked that provided video/audio/playlist URLs (if any) are alive and playable in a browser

What is the purpose of your issue?

[ ] Bug report (encountered problems with youtube-dl)
[x ] Site support request (request for adding support for a new site)
[ ] Feature request (request for a new functionality)
[ ] Question
[ ] Other

The following sections concretize particular purposed issues, you can erase any section (the contents between triple ---) not applicable to your issue

If the purpose of this issue is a site support request please provide all kinds of example URLs support for which should be included (replace following example URLs by yours):

Single video: https://www.youtube.com/watch?v=BaW_jenozKc
Single video: https://youtu.be/BaW_jenozKc
Playlist: https://www.youtube.com/playlist?list=PL4lCao7KL_QFVb7Iudeipvc2BCavECqzc

Note that youtube-dl does not support sites dedicated to copyright infringement. In order for site support request to be accepted all provided example URLs should not violate any copyrights.

please add sitepoint website to download video courses
https://www.sitepoint.com
Single video: https://www.sitepoint.com/premium/courses/building-a-node-js-application-on-ios-2999/lesson/1/step/1
Single video: https://www.sitepoint.com/premium/courses/building-a-node-js-application-on-ios-2999/lesson/1/step/2
Playlist: https://www.sitepoint.com/premium/courses/building-a-node-js-application-on-ios-2999/lesson/

@dstftw  this is not duplicate
please recheck your issue


TypeError: 'NormalizedLandmarkList' object is not iterable

I need some help with this code....., the error is "TypeError: 'NormalizedLandmarkList' object is not iterable mediapipe". In the 19th line of the code.
import cv2
import mediapipe as mp

mp_drawing = mp.solutions.drawing_utils
mp_hands = mp.solutions.holistic
hands = mp_hands.Holistic(static_image_mode=True, )

cap = cv2.VideoCapture(0)

while True:
    _, frame = cap.read()
    frame = cv2.flip(frame, 1)
    frame = cv2.cvtColor(frame, cv2.COLOR_BGR2RGB)
    results = hands.process(frame)
    frame = cv2.cvtColor(frame, cv2.COLOR_RGB2BGR)

    if results.left_hand_landmarks:
        for hand_landmarks in results.left_hand_landmarks:
            mp_drawing.draw_landmarks(frame, hand_landmarks, mp_hands.HAND_CONNECTIONS)
            keypoint_pos = []
            for i in range(21):
                x = hand_landmarks.landmark[i].x * frame.shape[1]
                y = hand_landmarks.landmark[i].y * frame.shape[0]
                keypoint_pos.append((x, y))

    cv2.imshow('MediaPipe Hands', frame)
    if cv2.waitKey(1) & 0xFF == 27:
        break
cap.release()

Hi @BHuang0524 ,
There is some code mismatch , please check code from MediaPipe doc

@sureshdagooglecom Thank you for the reply.
I know there is some mistakes in the code. But I want to use this code to do other things, so the code you recommand me is not that useful for me. sorry

Hi @BHuang0524,
Just add .landmark after results.left_hand_landmarks. You can set static_image_mode = False since you are using a video. Here is the script that works.
import cv2
import mediapipe as mp

mp_drawing = mp.solutions.drawing_utils
mp_hands = mp.solutions.holistic
hands = mp_hands.Holistic()
cap = cv2.VideoCapture(0)

while True:
    _, frame = cap.read()
    frame = cv2.cvtColor(frame, cv2.COLOR_BGR2RGB)
    results = hands.process(frame)
    frame = cv2.cvtColor(frame, cv2.COLOR_RGB2BGR)

    # To make it short and simple.
    if results.left_hand_landmarks:
        landmarks = results.left_hand_landmarks.landmark
        keypoint_pos = []
        for i in landmarks:
            # Acquire x, y but don't forget to convert to integer.
            x = int(i.x * frame.shape[1])
            y = int(i.y * frame.shape[0])
            # Annotate landmarks or do whatever you want.
            cv2.circle(frame, (x, y), 5, (0, 255, 0), -1)
            keypoint_pos.append((x, y))
        print(keypoint_pos)

    cv2.imshow('MediaPipe Hands', frame)
    if cv2.waitKey(1) & 0xFF == 27:
        break
cap.release()

Best Regards
kXborg

Thanks a lot. This problem  kept bothering me for a long time.


Add runtime WARNINGS

Add warnings with implicit runtimes:

With the actions without explicit runtimes, produce a WARNING saying wskdeploy has chosen a particular runtime (with specific version) for their actions.

When a user chooses to create an action with a deprecated version of any runtime, produce a warning saying the version they have chosen is deprecated, wskdeploy chose the latest version and go ahead with deployment.

Please use the new whisk.Debug(whisk.DbgWarn, errString) in misc.go and put strings in translatable fules in wski18n/resources/en_US.all.json.