Fixed unreliable IPv4 internet check in install.func

Old check only tried a single IP address (<IP_ADDRESS>) which is not always online. Added Google (<IP_ADDRESS>) and CloudFlare (<IP_ADDRESS>) public resolvers so that if any of the three IPs are reachable, the test will succeed.

[!NOTE]
We are meticulous when it comes to merging code into the main branch, so please understand that we may reject pull requests that do not meet the project's standards. It's never personal. Also, game-related scripts have a lower chance of being merged.

Description
Fix for unreliable IPv4 internet test in install.func
Provide a summary of the changes made and/or reference the issue being addressed.
Old check only tried a single IP address (<IP_ADDRESS>) which is not always online.
Added Google (<IP_ADDRESS>) and CloudFlare (<IP_ADDRESS>) public resolvers so that if any of the three IPs are reachable, the test will succeed.
Fixes # (issue)
Type of change
Please check the relevant option(s):

[x] Bug fix (non-breaking change that resolves an issue)
[ ] New feature (non-breaking change that adds functionality)
[ ] Breaking change (a fix or feature that would cause existing functionality to change unexpectedly)
[ ] New script (a fully functional and thoroughly tested script or set of scripts.)

Prerequisites
The following efforts must be made for the PR to be considered. Please check when completed:

[x] Self-review performed (I have reviewed my code, ensuring it follows established patterns and conventions)
[x] Testing performed (I have tested my changes, ensuring everything works as expected)
[x] Documentation updated (I have updated any relevant documentation)

Additional Information (optional)
Provide any additional context or screenshots about the feature or fix here.
Related Pull Requests / Discussions
If there are other pull requests or discussions related to this change, please link them here:

Related PR #

I test it tomorrow on my Dev Repo.

<IP_ADDRESS> (and <IP_ADDRESS>) is Cloudflare, <IP_ADDRESS> is Quad9.
I have no issue with this change, other than we should just use both Cloudflare IP's
No Google or Quad9.
Two tests, should also be enough, if they both fail, but your internet is 'up', you have other things to worry about.

I agree with Mellowlynx. Also, let's do the change for alpine here too

The idea is to fail the test ONLY when you are truly offline... so the more tests, the better... i.e. if only 1 of 3 pings comes back, you are still online, so it should not fail.
Also, pinging to just two IPs from one ASN does not make sense... if they go offline, both go offline which defeats the whole purpose of this test.   You want multiple, diverse endpoints to test against and if ANY of them are online, the test should pass.

My apologies for mixing up who owns which IP address, it was late last night when I was submitting these...
But the important thing isn't who owns which IP, it is just that multiple different ASNs are represented in the destinations for the test.  3 would be the absolute minimum for a connectivity verification test... more would be better, but 3 will suffice.
The odds that you get a false "fail" go down with the more (and more diverse) endpoints you ping to, which is the goal of the test,  so you can't really have "too many" destinations for a test like this, only "too few".
Please let me know if you have any other questions.
Thanks

If Cloudflare is down, most of the internet will know about it/be down to. It's one of the biggest and used more than you think.
I get your point to test, but more that 2 is not needed. If they fail, it's probably your connection.
And it's not like one server runs <IP_ADDRESS>.
I don't know Quad9, but we should use providers that we trust.
If one is CF and the other is something else,  that's fine by me.

I would be fine with <IP_ADDRESS> plus either <IP_ADDRESS> or <IP_ADDRESS>

What is the downside to checking 3 (or more)?
I can see a downside to checking too few, for a test like this... but not too many.
i.e. Since we only want this to fail if the container network config is broken, we only want the test to fail if ALL network connectivity fails.    If we ran 10 tests and only one responded, then the container configuration is correct but perhaps the person running the script is having ISP issues...  in that case, we would not want this to fail since it is not meant to test his ISP quality, it is meant to verify the container config which would be valid.
I am open to hearing any other viewpoints, of course, but this is the way we (network engineers) typically approach this kind of connectivity check...    i.e.   any success = pass.   only ALL failures = fail.

What is the downside to checking 3 (or more)?
I can see a downside to checking too few, for a test like this... but not too many.
i.e. Since we only want this to fail if the container network config is broken, we only want the test to fail if ALL network connectivity fails.    If we ran 10 tests and only one responded, then the container configuration is correct but perhaps the person running the script is having ISP issues...  in that case, we would not want this to fail since it is not meant to test his ISP quality, it is meant to verify the container config which would be valid.
I am open to hearing any other viewpoints, of course, but this is the way we (network engineers) typically approach this kind of connectivity check...    i.e.   any success = pass.   only ALL failures = fail.

Look it from the other way, and ignore a crappie ISP.
If the first two tests failed, why would a third work? lf the LXC config is incorrect.
When 9 of the 10 tests fail, it should still fail. Something is not right, period.
Two tests should be enough for most of the community, and if you know your IPS has issues, it's unrelated to the test anyway.
It's meant to be a quick connection test,
And we should keep it like that.

What is the downside to checking 3 (or more)?
I can see a downside to checking too few, for a test like this... but not too many.
i.e. Since we only want this to fail if the container network config is broken, we only want the test to fail if ALL network connectivity fails.    If we ran 10 tests and only one responded, then the container configuration is correct but perhaps the person running the script is having ISP issues...  in that case, we would not want this to fail since it is not meant to test his ISP quality, it is meant to verify the container config which would be valid.
I am open to hearing any other viewpoints, of course, but this is the way we (network engineers) typically approach this kind of connectivity check...    i.e.   any success = pass.   only ALL failures = fail.

Look it from the other way, and ignore a crappie ISP. If the first two tests failed, why would a third work? lf the LXC config is incorrect.
Lot's of reasons... and we can't think of them all in advance, but that is beside the point... this test is not for the ISP or any other potential causes of network issues.
It is to check if the network is down due to a misconfigured setting and, if so, warn the user that it is going to cause problems, so they can stop and reconfigure it.
If one out of three, or five or ten tests succeeds, their config is good and they are dealing with some other issue related to their ISP and yes, that stinks for them,  but why would we want to then make their life even harder by blocking them from installing a container because their ISP is having a bad day?   If the container/host network config is valid (which it is, if any of the tests succeed), they should not be blocked from installing, so the test should pass.

When 9 of the 10 tests fail, it should still fail. Something is not right, period.

See my point above... there's no reason why we should be failing and blocking their installation is their ISP is having issues... this point makes no sense.

Two tests should be enough for most of the community, and if you know your IPS has issues, it's unrelated to the test anyway.
It's meant to be a quick connection test, And we should keep it like that.

ok. Two points here, and then I'm done, because I really don't think your issue is with my code at this point.
First, why you you care if the test takes 2 seconds longer for a user or not if it gives them the chance to pass and continue their installation? Our goal shouldn't be to make their life more complicated by failing unnecessarily... I don't understand why you are so eager to block the end user from being able to install if their config is good....
Second, this test is still "quick"... in fact, for the 99% of users who have solid ISPs, it is exactly the same speed testing one destination or one hundred, because they are OR statements, which means it exits successfully on the first one returned, which means it takes absolutely no more time.
The ONLY people affected by this, are people who would have failed for the wrong reasons. It allows them to be able to install instead of blocking them, as it should.
I'm not going to debate with you anymore because your arguments don't hold water, at all, and it seems like you aren't interested in debating the merrits of the code as much as treating it as  "my way is the only way".
My fix works and I've explained far more than I should have to why it is the correct approach, so I'm done debating now... unless you truly want to understand why this way is the better approach, in which case I am happy to explain further.  I never mind explaining to someone who wants to learn, but I'm not interested in arguing for arguing's sake. That is purely for ego and I'm not interested.
The fix works, accept it or don't.
-Cheers

Will be fixed with my big pull. I'm closing the PR here, as it's already integrated into mine, but it will take another 1-2 weeks


Include a simplified build systèm into imgui_manual

Hi Pascal,
I added a buid system to avoid having to install dependencies on my host machine which might clutter up my OS. I like my system clean, so I designed this docker-based build system which will install docker, docker-compose, build a build container, and create a "bin" folder, and compile all your code in the container, and make it available in the "bin" folder, so all you have to do is code the program, not worry about building

@pthom

While I agree with closing this PR now, as my repo has divered from yours, I think that you should look into including a Dockerfile build system for your hello_imgui repository, as if you are just starting out, it is very frustrating setting up the necessary dependencies. With this solution, you can just build the source with 1 click of a button straight after cloning the repo :)

Yes, this PR has diverged; and I felt that the Dockerfile is a bit out of scope.
FYI, I just retried following the readme instructions, and it worked perfectly on macOS (I did not take time to test them again on linux).
# clone
git clone https://github.com/pthom/imgui_manual.git
cd imgui_manual
git submodule update --init --recursive

# Install third parties
python  external/hello_imgui/tools/vcpkg_install_third_parties.py

# Build
mkdir build
cd build
cmake .. -DCMAKE_TOOLCHAIN_FILE=../external/hello_imgui/vcpkg/scripts/buildsystems/vcpkg.cmake
make -j 4

Concerning a Dockerfile, maybe in the future.


Pod OOM sometimes causes a workflow to get stuck in "Running" state

Checklist

[X] Double-checked my configuration.
[X] Tested using the latest version.
[X] Used the Emissary executor.

Summary
This follows up on #7457.
What happened/what you expected to happen?
A small percentage of our pods fail with an OOMKilled status and should be restarted (per our workflow config) but aren't. The pod (and workflow) hangs around indefinitely without appearing to do anything. It seems like the controller loses track of the pod until it's either manually deleted or its hosting node is shut down. If either of those things happens, then the pod is restarted and the workflow usually succeeds.
It's expected that sometimes we'll run out of memory when running this workload. What's surprising is that most OOMKilled pods restart automatically, but some don't.
For a better sense of proportion, we run roughly 90,000 workflows per day. A few dozen of them get stuck in this state and have to be fixed manually.
The expected behavior is that Argo restarts the OOMKilled pod automatically until the retry limit is reached.
What version are you running?
3.3.2 for both the controller and executor.
Diagnostics
We're running on EKS 1.21 and use cluster-autoscaler. I don't think the problem is related to scaling, though, since we see the issue in pools of one node as well as pools of many nodes.
The stuck pods look like this:
$ kubectl -n argo-workflows get po | grep OOMKilled
my-workflow-8acc183e-ffrf2-1452349024        1/2     OOMKilled         0          38m

Paste the smallest workflow that reproduces the bug. We must be able to run the workflow.
The below workflow matches our config as closely as possible -- TTL, retries, etc. The resource limits are slightly lower. If you run it enough times, it should be possible to reproduce the bug.
apiVersion: argoproj.io/v1alpha1
kind: WorkflowTemplate
metadata:
  namespace: argo-workflows
  name: oom-test
spec:
  ttlStrategy:
    secondsAfterSuccess: 60
    secondsAfterFailure: 300
  entrypoint: oom-test
  templates:
    - name: oom-test
      retryStrategy:
        limit: "3"
        retryPolicy: Always
      container:
        image: ruby:3.0-alpine
        imagePullPolicy: IfNotPresent
        env:
        command: ["ruby", "-e", "foo = []; while true; foo << \"abcdefgh\"; end"]
        resources:
          limits:
            cpu: 500m
            memory: 128Mi

# Logs from the workflow controller:
$ kubectl logs -n argo deploy/workflow-controller | grep ${workflow}
Found 3 pods, using pod/workflow-controller-6dd5db7b67-7wbkr
time="2022-04-22T19:21:28.908Z" level=info msg="Processing workflow" namespace=argo-workflows workflow=my-workflow-8acc183e-ffrf2
time="2022-04-22T19:21:28.908Z" level=info msg="Task-result reconciliation" namespace=argo-workflows numObjs=0 workflow=my-workflow-8acc183e-ffrf2
time="2022-04-22T19:21:28.908Z" level=info msg="node unchanged" nodeID=my-workflow-8acc183e-ffrf2-1452349024
time="2022-04-22T19:21:28.909Z" level=info msg="TaskSet Reconciliation" namespace=argo-workflows workflow=my-workflow-8acc183e-ffrf2
time="2022-04-22T19:21:28.909Z" level=info msg=reconcileAgentPod namespace=argo-workflows workflow=my-workflow-8acc183e-ffrf2

# The workflow's pods that are problematic:
$ kubectl -n argo-workflows describe po my-workflow-8acc183e-ffrf2-1452349024
Name:         my-workflow-8acc183e-ffrf2-1452349024
Namespace:    argo-workflows
Priority:     0
Node:         ip-10-161-69-226.ec2.internal/<IP_ADDRESS>
Start Time:   Fri, 22 Apr 2022 14:39:19 -0400
Labels:       workflows.argoproj.io/completed=false
              workflows.argoproj.io/workflow=my-workflow-8acc183e-ffrf2
Annotations:  cluster-autoscaler.kubernetes.io/safe-to-evict: true
              cni.projectcalico.org/containerID: 4295e8d5db4862b7ec687add0197b23e86795f2cc52885eb279976b00a64d98c
              cni.projectcalico.org/podIP: <IP_ADDRESS>/32
              cni.projectcalico.org/podIPs: <IP_ADDRESS>/32
              kubectl.kubernetes.io/default-container: main
              kubernetes.io/psp: eks.privileged
              workflows.argoproj.io/node-id: my-workflow-8acc183e-ffrf2-1452349024
              workflows.argoproj.io/node-name: my-workflow-8acc183e-ffrf2(0)
Status:       Running
IP:           <IP_ADDRESS>
IPs:
  IP:           <IP_ADDRESS>
Controlled By:  Workflow/my-workflow-8acc183e-ffrf2
Init Containers:
  init:
    Container ID:  containerd://c7096309368e2dfc3ec809ec7dfbe9f5c164b3780b7fe0fe125023efddf93d1b
    Image:         quay.io/argoproj/argoexec:v3.3.2
    Image ID:      quay.io/argoproj/argoexec@sha256:817a790f1bbd2fd31b71c2126e5489e06b49a98936352e4851fd0f325e3332c3
    Port:          <none>
    Host Port:     <none>
    Command:
      argoexec
      init
      --loglevel
      info
    State:          Terminated
      Reason:       Completed
      Exit Code:    0
      Started:      Fri, 22 Apr 2022 14:39:48 -0400
      Finished:     Fri, 22 Apr 2022 14:39:48 -0400
    Ready:          True
    Restart Count:  0
    Environment:
      ARGO_POD_NAME:                      my-workflow-8acc183e-ffrf2-1452349024 (v1:metadata.name)
      ARGO_POD_UID:                        (v1:metadata.uid)
      ARGO_CONTAINER_RUNTIME_EXECUTOR:    emissary
      GODEBUG:                            x509ignoreCN=0
      ARGO_WORKFLOW_NAME:                 my-workflow-8acc183e-ffrf2
      ARGO_CONTAINER_NAME:                init
      ARGO_TEMPLATE:                      ...
      ARGO_NODE_ID:                       my-workflow-8acc183e-ffrf2-1452349024
      ARGO_INCLUDE_SCRIPT_OUTPUT:         false
      ARGO_DEADLINE:                      0001-01-01T00:00:00Z
      ARGO_PROGRESS_FILE:                 /var/run/argo/progress
      ARGO_PROGRESS_PATCH_TICK_DURATION:  1m0s
      ARGO_PROGRESS_FILE_TICK_DURATION:   3s
    Mounts:
      /var/run/argo from var-run-argo (rw)
      /var/run/secrets/kubernetes.io/serviceaccount from kube-api-access-p6tnt (ro)
Containers:
  wait:
    Container ID:  containerd://51b5e17ea47c919f6d4cc60ef359587c1da93d3e007b23312e43637c88abb78e
    Image:         quay.io/argoproj/argoexec:v3.3.2
    Image ID:      quay.io/argoproj/argoexec@sha256:817a790f1bbd2fd31b71c2126e5489e06b49a98936352e4851fd0f325e3332c3
    Port:          <none>
    Host Port:     <none>
    Command:
      argoexec
      wait
      --loglevel
      info
    State:          Running
      Started:      Fri, 22 Apr 2022 14:39:55 -0400
    Ready:          True
    Restart Count:  0
    Environment:
      ARGO_POD_NAME:                      my-workflow-8acc183e-ffrf2-1452349024 (v1:metadata.name)
      ARGO_POD_UID:                        (v1:metadata.uid)
      ARGO_CONTAINER_RUNTIME_EXECUTOR:    emissary
      GODEBUG:                            x509ignoreCN=0
      ARGO_WORKFLOW_NAME:                 my-workflow-8acc183e-ffrf2
      ARGO_CONTAINER_NAME:                wait
      ARGO_TEMPLATE:                      ...
      ARGO_NODE_ID:                       my-workflow-8acc183e-ffrf2-1452349024
      ARGO_INCLUDE_SCRIPT_OUTPUT:         false
      ARGO_DEADLINE:                      0001-01-01T00:00:00Z
      ARGO_PROGRESS_FILE:                 /var/run/argo/progress
      ARGO_PROGRESS_PATCH_TICK_DURATION:  1m0s
      ARGO_PROGRESS_FILE_TICK_DURATION:   3s
    Mounts:
      /mainctrfs/tmp from ephemeral-work-volume (rw)
      /var/run/argo from var-run-argo (rw)
      /var/run/secrets/kubernetes.io/serviceaccount from kube-api-access-p6tnt (ro)
  main:
    Container ID:  containerd://6abf9a62c12400543e2e358c074af5bbe0249f2781af699da2025fd19dee61f1
    Image:         ....dkr.ecr.us-east-1.amazonaws.com/argo-workflow-images:my-app-my-workflow-default-8acc183e
    Image ID:      ....dkr.ecr.us-east-1.amazonaws.com/argo-workflow-images@sha256:8bc8de084174cd09b7f9271e0468416d8354057f5227dea72028c656e79be981
    Port:          <none>
    Host Port:     <none>
    Command:
      /var/run/argo/argoexec
      emissary
      --
      ...
    Args:
      ...
    State:          Terminated
      Reason:       OOMKilled
      Exit Code:    137
      Started:      Fri, 22 Apr 2022 14:39:55 -0400
      Finished:     Fri, 22 Apr 2022 14:41:01 -0400
    Ready:          False
    Restart Count:  0
    Limits:
      cpu:     500m
      memory:  512Mi
    Requests:
      cpu:     250m
      memory:  512Mi
    Environment:
      AWS_REGION:                         us-east-1
      AWS_ACCOUNT_NUMBER:                 ...
      AWS_SCHEME:                         https://
      ENVIRONMENT:                        production
      LOG_LEVEL:                          info
      RUNNING_ON_ARGO_WORKER:             true
      ARGO_CONTAINER_NAME:                main
      ARGO_TEMPLATE:                      [...]
      ARGO_NODE_ID:                       my-workflow-8acc183e-ffrf2-1452349024
      ARGO_INCLUDE_SCRIPT_OUTPUT:         false
      ARGO_DEADLINE:                      0001-01-01T00:00:00Z
      ARGO_PROGRESS_FILE:                 /var/run/argo/progress
      ARGO_PROGRESS_PATCH_TICK_DURATION:  1m0s
      ARGO_PROGRESS_FILE_TICK_DURATION:   3s
    Mounts:
      /tmp from ephemeral-work-volume (rw)
      /var/run/argo from var-run-argo (rw)
      /var/run/secrets/kubernetes.io/serviceaccount from kube-api-access-p6tnt (ro)
Conditions:
  Type              Status
  Initialized       True
  Ready             False
  ContainersReady   False
  PodScheduled      True
Volumes:
  var-run-argo:
    Type:       EmptyDir (a temporary directory that shares a pod's lifetime)
    Medium:
    SizeLimit:  <unset>
  ephemeral-work-volume:
    Type:       EmptyDir (a temporary directory that shares a pod's lifetime)
    Medium:
    SizeLimit:  <unset>
  kube-api-access-p6tnt:
    Type:                    Projected (a volume that contains injected data from multiple sources)
    TokenExpirationSeconds:  3607
    ConfigMapName:           kube-root-ca.crt
    ConfigMapOptional:       <nil>
    DownwardAPI:             true
QoS Class:                   Burstable
Node-Selectors:              ...
Tolerations:                 node.kubernetes.io/not-ready:NoExecute op=Exists for 300s
                             node.kubernetes.io/unreachable:NoExecute op=Exists for 300s
Events:
  Type    Reason     Age   From               Message
  ----    ------     ----  ----               -------
  Normal  Scheduled  39m   default-scheduler  Successfully assigned argo-workflows/my-workflow-8acc183e-ffrf2-1452349024 to ip-10-161-69-226.ec2.internal
  Normal  Pulled     39m   kubelet            Container image "quay.io/argoproj/argoexec:v3.3.2" already present on machine
  Normal  Created    39m   kubelet            Created container init
  Normal  Started    39m   kubelet            Started container init
  Normal  Pulled     39m   kubelet            Container image "quay.io/argoproj/argoexec:v3.3.2" already present on machine
  Normal  Created    39m   kubelet            Created container wait
  Normal  Started    39m   kubelet            Started container wait
  Normal  Pulled     39m   kubelet            Container image "....dkr.ecr.us-east-1.amazonaws.com/argo-workflow-images:my-app-my-workflow-default-8acc183e" already present on machine
  Normal  Created    39m   kubelet            Created container main
  Normal  Started    39m   kubelet            Started container main

# Logs from in your workflow's wait container, something like:
$ kubectl -n argo-workflows logs my-workflow-8acc183e-ffrf2-1452349024 wait
time="2022-04-22T18:39:55.721Z" level=info msg="Starting Workflow Executor" executorType=emissary version=v3.3.2
time="2022-04-22T18:39:55.724Z" level=info msg="Creating a emissary executor"
time="2022-04-22T18:39:55.725Z" level=info msg="Using executor retry strategy" Duration=1s Factor=1.6 Jitter=0.5 Steps=5
time="2022-04-22T18:39:55.725Z" level=info msg="Executor initialized" deadline="0001-01-01 00:00:00 +0000 UTC" includeScriptOutput=false namespace=argo-workflows podName=my-workflow-8acc183e-ffrf2-1452349024 template="..."
time="2022-04-22T18:39:55.725Z" level=info msg="Starting deadline monitor"
time="2022-04-22T18:44:55.726Z" level=info msg="Alloc=4954 TotalAlloc=10471 Sys=19922 NumGC=5 Goroutines=7"
time="2022-04-22T18:49:55.726Z" level=info msg="Alloc=4976 TotalAlloc=10582 Sys=19922 NumGC=7 Goroutines=7"
time="2022-04-22T18:54:55.726Z" level=info msg="Alloc=4957 TotalAlloc=10692 Sys=19922 NumGC=10 Goroutines=7"
time="2022-04-22T18:59:55.726Z" level=info msg="Alloc=4978 TotalAlloc=10800 Sys=19922 NumGC=12 Goroutines=7"
time="2022-04-22T19:04:55.726Z" level=info msg="Alloc=4958 TotalAlloc=10909 Sys=19922 NumGC=15 Goroutines=7"
time="2022-04-22T19:09:55.726Z" level=info msg="Alloc=4979 TotalAlloc=11017 Sys=19922 NumGC=17 Goroutines=7"
time="2022-04-22T19:14:55.726Z" level=info msg="Alloc=4959 TotalAlloc=11126 Sys=19922 NumGC=20 Goroutines=7"
time="2022-04-22T19:19:55.725Z" level=info msg="Alloc=4979 TotalAlloc=11235 Sys=19922 NumGC=22 Goroutines=7"
time="2022-04-22T19:24:55.726Z" level=info msg="Alloc=4959 TotalAlloc=11343 Sys=19922 NumGC=25 Goroutines=7"
time="2022-04-22T19:29:55.726Z" level=info msg="Alloc=4979 TotalAlloc=11451 Sys=19922 NumGC=27 Goroutines=7"
time="2022-04-22T19:34:55.725Z" level=info msg="Alloc=4959 TotalAlloc=11560 Sys=19922 NumGC=30 Goroutines=7"

Message from the maintainers:
Impacted by this bug? Give it a 👍. We prioritise the issues with the most 👍.

#7457

I think this is an emissary only issue:

The main container is OOMKilled.
The wait container is waiting for /var/run/argo/ctr/main/exitcode to appear. This never happen.
The controller should SIGTERM the wait container when the main container terminates.

fix(controller): Only clean-up pod when both main and wait containers have terminated. Fixes #5981 (#6033)

We are also seeing this issue with 3.2.9. Is that possible/planned to backport the fix in #8478 to 3.2.x?

It only happened once so far and after a very long run (~12h). I checked the OOM killed by looking at the memory vs time graph and I confirm it has been stopped during a memory spike at 100%.
I don't think it will be easy to reproduce, and our only cluster is in prod currently (so I can't really test a fix easily).
I will post here if I can reproduce it with a script that trigger the bug fast.

In case it helps for reproducing, the workload was a bash script calling a python script.

@alexec I am planning to work on a minimal reproducible example. Is there is any plan to cherry-pick that PR for 3.2.x?

For the record I tried to reproduce it with the following template:
apiVersion: argoproj.io/v1alpha1
kind: Workflow
metadata:
  generateName: memory-oom-killed-
  labels:
    organization: internal
    project: pantagruel-tests
spec:
  entrypoint: entrypoint
  templates:
    - name: entrypoint
      script:
        image: mambaorg/micromamba:0.23.0
        command: [bash]
        source: |
          set -e

          eval "$(micromamba shell hook --shell=bash)"
          micromamba activate
          micromamba install -q -y "python=3.9" pip git numpy joblib -c conda-forge

          PYTHON_CODE=$(cat <<END

          import numpy as np
          from joblib import Parallel, delayed

          def leak():
            a = np.zeros(1_000_000_000_000)
            for i in range(1_000_000_000_000):
                a[i] = i

          Parallel(n_jobs=2)(leak for i in range(10))

          END
          )

          echo "START"
          python -c "$PYTHON_CODE"
          echo "DONE"

        resources:
          requests:
            memory: "64Mi"
            cpu: "250m"
          limits:
            memory: "64Mi"
            cpu: "250m"

But I can't reproduce the bug and the workflow is correctly stopped with an "OOM Killed" error and mark as Failed.
I'll keep monitoring this and try to reproduce it.

@alexec I was going to try 3.3.5 today since the fix was included, but the changelog also mentions that it was reverted (https://github.com/argoproj/argo-workflows/commit/93cb050e3933638f0dbe2cdd69630e133b3ad52a). Are you going to reintroduce the fix later in 3.3.x?

We have been able to reproduce the bug (but we can't share the workflow). We are currently experiencing the bug on 3.2.11. I am happy to test it with 3.3.* if it contains the fix.
Let me know.

This fix is on master, not on v3.3. You'll need to test that.

Tip of master is published as :latest. You can run that.

I still see the issue using :latest. I will try to reproduce it in a workflow I can share.

Continuing my investigation (let me know if I should open a new issue).
I am still working on a reproducible example. In the meantime, I noticed that when the workflow is stuck in Running phase (while the logs show /argo/staging/script: line 52:   492 Killed. If I ssh to the main pod, I can see zombie python processes. If I kill all those zombie processes, then argo is able to detect it and turn to Fail phase with the following correct error: OOMKilled (exit code 137)
It only happens with the emissary executor, but we never got that issue with the docker executor. This is a major backward incompat for us.
I'll try to come with a workflow you can use to reproduce (but it's not that easy apparently).

It seems like my issue is similar but not exactly the same as the original one here. I have opened a new one here https://github.com/argoproj/argo-workflows/issues/8680

FYI we are also running into this with 3.4.1 using a containerSet where the first container that runs (not the init, but the first defined by us) gets OOMKilled and then the Workflow just hangs in the Running state until the activeDeadlineSeconds timeout is reached. This happens when I set a memory request/limit of 30Mi for the container.
If I set that container's memory request/limit to 60Mi, it still gets OOMKilled, but Argo accurately detects that and marks the Workflow as "Faile".

@alexec why was the fix reverted in 3.3.5 ? https://github.com/argoproj/argo-workflows/commit/93cb050e3933638f0dbe2cdd69630e133b3ad52a
Is there any particular reason? We are currently on 3.3 and are facing some challenges upgrading to 3.4.x.
If there are no negative consequences can we run a 3.3.X version with that patch?

awesome feature would be to retry X times by increasing memory !

@ebuildy that's already possible per https://github.com/argoproj/argo-workflows/discussions/12482#discussioncomment-8674913.
But this issue was entirely unrelated to retries, it's about a Workflow getting stuck when an OOM occurs.


Improved Readability of README.md

I don't think this was formatted the way you intended. Check out this guide for how to use Markdown. I'm guessing you wanted to make a list.


Trust Manager Problem

Hello, I have a problem with ssl certificate and I try to add trust manager in my MainApplication.java file.  when I try to open app get error like this
'illegal start of expression
ReactNativeBlobUtilUtils.sharedTrustManager = final X509TrustManager x509TrustManager = new X509TrustManager() {
'
This issue is probably related to the package(ReactNativeBlobUtilUtils) not being able to be imported correctly. I imported X509TrustManager but I can't find how to import ReactNativeBlobUtilUtils and how to use in MainApplication.java file could you help me with this problem?
here is my  MainApplication.java file
`
package com.myApplication;

import android.app.Application;
import com.facebook.react.PackageList;
import com.facebook.react.ReactApplication;
import com.facebook.react.ReactNativeHost;
import com.facebook.react.ReactPackage;
import com.facebook.react.defaults.DefaultNewArchitectureEntryPoint;
import com.facebook.react.defaults.DefaultReactNativeHost;
import com.facebook.soloader.SoLoader;
import java.util.List;
import com.facebook.react.modules.network.OkHttpClientProvider;
import javax.net.ssl.TrustManager;

import javax.net.ssl.X509TrustManager;

public class MainApplication extends Application implements ReactApplication {

private final ReactNativeHost mReactNativeHost =
    new DefaultReactNativeHost(this) {
     @Override
     public boolean getUseDeveloperSupport() {
       return BuildConfig.DEBUG;re
     }

    @Override
    protected List<ReactPackage> getPackages() {
      @SuppressWarnings("UnnecessaryLocalVariable")
      List<ReactPackage> packages = new PackageList(this).getPackages();
      // Packages that cannot be autolinked yet can be added manually here, for example:
      // packages.add(new MyReactNativePackage());
      return packages;
    }

    @Override
    protected String getJSMainModuleName() {
      return "index";
    }

    @Override
    protected boolean isNewArchEnabled() {
      return BuildConfig.IS_NEW_ARCHITECTURE_ENABLED;
    }

    @Override
    protected Boolean isHermesEnabled() {
      return BuildConfig.IS_HERMES_ENABLED;
    }
  };

@Override
 public ReactNativeHost getReactNativeHost() {
  return mReactNativeHost;
}

@Override
public void onCreate() {
  super.onCreate();
  SoLoader.init(this, /* native exopackage */ false);
  ReactNativeBlobUtilUtils.sharedTrustManager = final X509TrustManager x509TrustManager = new X509TrustManager() {
  @Override
  public void checkClientTrusted(java.security.cert.X509Certificate[] chain, String authType) throws CertificateException {
  }

  @Override
  public void checkServerTrusted(java.security.cert.X509Certificate[] chain, String authType) throws CertificateException {
  }

  @Override
  public java.security.cert.X509Certificate[] getAcceptedIssuers() {
    return new java.security.cert.X509Certificate[]{};
  }
};
if (BuildConfig.IS_NEW_ARCHITECTURE_ENABLED) {
  // If you opted-in for the New Architecture, we load the native entry point for this app.
  DefaultNewArchitectureEntryPoint.load();
}
ReactNativeFlipper.initializeFlipper(this, getReactNativeHost().getReactInstanceManager());

}
}
`

You seem to be missing the import.
The import should be
import com.ReactNativeBlobUtil.ReactNativeBlobUtilUtils;
I just can't test it right now.

I imported import com.ReactNativeBlobUtil.ReactNativeBlobUtilUtils;
but same result

You're combining a double assignment and declaration of a final variable in one line.
That doesn't work.
Change it to
ReactNativeBlobUtilUtils.sharedTrustManager = new X509TrustManager()
Sorry that is a copy&past mistake in the readme

Hello, Now I can open my app. Thanks for clarification.
Actually I want to download file from a website has not ssl valid certificate. is that possible? I added this lines and trusty parameter but I can't download file.
Here is my mainApplication.java file
`
package com.inavitaswfm;

import android.app.Application;
import com.facebook.react.PackageList;
import com.facebook.react.ReactApplication;
import com.facebook.react.ReactNativeHost;
import com.facebook.react.ReactPackage;
import com.facebook.react.defaults.DefaultNewArchitectureEntryPoint;
import com.facebook.react.defaults.DefaultReactNativeHost;
import com.facebook.soloader.SoLoader;
import java.util.List;
import com.facebook.react.modules.network.OkHttpClientProvider;
import javax.net.ssl.TrustManager;
import javax.net.ssl.X509TrustManager;
import com.ReactNativeBlobUtil.ReactNativeBlobUtilUtils;
import java.security.cert.CertificateException;

public class MainApplication extends Application implements ReactApplication {

private final ReactNativeHost mReactNativeHost = new DefaultReactNativeHost(this) {
@Override
public boolean getUseDeveloperSupport() {
  return BuildConfig.DEBUG;
}

@Override
protected List<ReactPackage> getPackages() {
  @SuppressWarnings("UnnecessaryLocalVariable")
  List<ReactPackage> packages = new PackageList(this).getPackages();
  // Packages that cannot be autolinked yet can be added manually here, for
  // example:
  // packages.add(new MyReactNativePackage());
  return packages;
}

@Override
protected String getJSMainModuleName() {
  return "index";
}

@Override
protected boolean isNewArchEnabled() {
  return BuildConfig.IS_NEW_ARCHITECTURE_ENABLED;
}

@Override
protected Boolean isHermesEnabled() {
  return BuildConfig.IS_HERMES_ENABLED;
}
};

@Override
public ReactNativeHost getReactNativeHost() {
 return mReactNativeHost;
}

@Override
public void onCreate() {
super.onCreate();
SoLoader.init(this, /* native exopackage */ false);
ReactNativeBlobUtilUtils.sharedTrustManager = new X509TrustManager() {
  @Override
  public void checkClientTrusted(java.security.cert.X509Certificate[] chain,
      String authType)
      throws CertificateException {
  }

  @Override
  public void checkServerTrusted(java.security.cert.X509Certificate[] chain,
      String authType)
      throws CertificateException {
  }

  @Override
  public java.security.cert.X509Certificate[] getAcceptedIssuers() {
    return new java.security.cert.X509Certificate[] {};
  }
};
if (BuildConfig.IS_NEW_ARCHITECTURE_ENABLED) {
  // If you opted-in for the New Architecture, we load the native entry point for
  // this app.
  DefaultNewArchitectureEntryPoint.load();
}
ReactNativeFlipper.initializeFlipper(this, getReactNativeHost().getReactInstanceManager());
}
}

`

You didn't post your javascript part so I'm unsure what you're doing.
But you should not need your own trustmanager for that.
All needed is adding either a networkconfig or usecleartexttraffic in the manifest.
See: https://flutter-developer.medium.com/android-how-to-allow-all-network-connection-types-http-and-https-bacac8809621

thank you I fixed my problem with this link:
https://flutter-developer.medium.com/android-how-to-allow-all-network-connection-types-http-and-https-bacac8809621.


Don't remove the first command line token

Dear devs,
To match the code from Xen binding (see commit 5d3a214), if virtio boots via multiboot, do not remove the first token (it is actually an argument).
Best.

Thanks, as for Xen, I trust on you about that. However, I do have some questions about GCM.


How to read line by line?

Hello Charles,
Hope you can help me. I have an image as follows:

Here is my sample code for getting the numbers from the image:
foreach (var image in images.OrderBy(key => key.Value.Position.X))
{
using (var page = ocr.Process(image.Value.img, Tesseract.Rect.Empty, PageSegMode.SingleChar))
This works fine if there is only one row of numbers. How can I make this work, I mean read line by line in the correct order of the image.
Thanks in advance & Best Regards.

You can use the result iterator to iterate over the text, see sample for
example.
However I don't think this will work with PageSegMode.SingleChar as I
believe that will only recognise a single character. If your just after
digits maybe set a whitelist that only contains digits.

I have already this code.
var ocr = new TesseractEngine(Path.Combine(Environment.CurrentDirectory, "tessdata"), "eng", EngineMode.Default);
ocr.SetVariable("tessedit_char_whitelist", "0123456789");

Have you tried iterating through the result set using the result iterator?
For example something like this:
using(var ocr = new  TesseractEngine(Path.Combine(Environment.CurrentDirectory, "tessdata"), "eng", EngineMode.Default)) {
	ocr.SetVariable("tessedit_char_whitelist", "0123456789");

	// image could be a Bitmap however it's probably better if its a pix
	using (var page = ocr.Process(img)) {
		using (var iter = page.GetIterator()) {
			iter.Begin();
			do {
				// for each line in the paragraph
				do {
					// for each word in the line
					var word = iter.GetText();

					// Do whatever you want with the word, and\or iterate through it's characters
					do {
						// for each symbol(character) in the word
						var symbol = iter.GetText();

						// Do whatever you want with the symbol

					} while (iter.Next(PageIteratorLevel.Word, PageIteratorLevel.Symbol));
				} while (iter.Next(PageIteratorLevel.TextLine, PageIteratorLevel.Word));
			} while (iter.Next(PageIteratorLevel.Para, PageIteratorLevel.TextLine));
		}
	}
}

Hi Charles,
I try to implement some kind of bucket sort. First I put the numbers one by one according to ascending Y position in to the buckets. Then I sort each bucket according to X position. It is sorting but the problem is in the second row. Even though the images are correct but somehow OCR interprets it wrong! What is the problem?
Best Regards.

Any ideas Charles?

Are you doing any  preprocessing to improve image quality first? Maybe
check out some of the issues marked as questions about this. Also try stack
overflow if you haven't already. Sorry I can't be any more help at the
moment.

Yep, I am doing what is necessary for the image before OCR. It is wierd though because if I OCR only the second row there is no problem!

Well that's weird indeed :S
On Wed, Aug 5, 2015 at 2:39 PM, raysefo<EMAIL_ADDRESS>wrote:

Yep, I am doing what is necessary for the image before OCR. It is wierd
though because if I OCR only the second row there is no problem!
—
Reply to this email directly or view it on GitHub
https://github.com/charlesw/tesseract/issues/200#issuecomment-127844287.

any plugin to see images in VS 2013?

Search for a debug visualiser for bitmaps.
On 05/08/2015 11:10 pm, "raysefo"<EMAIL_ADDRESS>wrote:

any plugin to see images in VS 2013?
—
Reply to this email directly or view it on GitHub
https://github.com/charlesw/tesseract/issues/200#issuecomment-127992571.

There is this Image Watch but I couldn't manage to display bitmaps.

I have 96 DPI images for your OCR, is it OK?

and are there any constraints for the image such as size etc?

No you should really be aiming at 300 DPI, or about 20px for the height of
a character. Any smaller than that and tesseract doesn't have enough data
to accurately recognize the text. You can use the scale function exposed by
Pix to resize an image, this is assuming the source is fairly high quality
so that not too much information is lost during resize.
On Thu, Aug 6, 2015 at 3:37 PM, raysefo<EMAIL_ADDRESS>wrote:

and are there any constraints for the image such as size etc?
—
Reply to this email directly or view it on GitHub
https://github.com/charlesw/tesseract/issues/200#issuecomment-128250073.

Hi Charles,
When I use the sample code below, OCR doesn't recognize some of zeros.
public static Bitmap Rescale(Bitmap image, int dpiX, int dpiY)
{
Bitmap bm = new Bitmap((int)(image.Width * dpiX / image.HorizontalResolution), (int)(image.Height * dpiY / image.VerticalResolution));
bm.SetResolution(dpiX, dpiY);
Graphics g = Graphics.FromImage(bm);
g.InterpolationMode = InterpolationMode.Bicubic;
g.PixelOffsetMode = PixelOffsetMode.HighQuality;
g.DrawImage(image, 0, 0);
g.Dispose();
        return bm;
    }

Any reason why you can't use Pix.Scale? It should simplify the code a bit
and it will automatically pick the best resize method.
Also make sure you read this:
https://github.com/tesseract-ocr/tesseract/wiki/FAQ#is-there-a-minimum-text-size-it-wont-read-screen-text
On 06/08/2015 4:35 pm, "raysefo"<EMAIL_ADDRESS>wrote:

Hi Charles,
When I use the sample code below, OCR doesn't recognize some of zeros.
public static Bitmap Rescale(Bitmap image, int dpiX, int dpiY)
{
Bitmap bm = new Bitmap((int)(image.Width * dpiX /
image.HorizontalResolution), (int)(image.Height * dpiY /
image.VerticalResolution));
bm.SetResolution(dpiX, dpiY);
Graphics g = Graphics.FromImage(bm);
g.InterpolationMode = InterpolationMode.Bicubic;
g.PixelOffsetMode = PixelOffsetMode.HighQuality;
g.DrawImage(image, 0, 0);
g.Dispose();
    return bm;
}

[image: 74x-46y]
https://cloud.githubusercontent.com/assets/859957/9105224/6f58df62-3c1e-11e5-824e-c7bbbcb599e6.jpg
—
Reply to this email directly or view it on GitHub
https://github.com/charlesw/tesseract/issues/200#issuecomment-128266159.

couldn't find Pix.Scale in C#?

You probably need to upgrade to the latest version (2.4).
On Thu, Aug 6, 2015 at 8:55 PM, raysefo<EMAIL_ADDRESS>wrote:

couldn't find Pix.Scale in C#?
—
Reply to this email directly or view it on GitHub
https://github.com/charlesw/tesseract/issues/200#issuecomment-128326492.

It is 2.4. Any documentation?

The method is documented however I haven't generated any api documentation for the web.
It was added in the following commit: 7ea899c8222a125599aa47f93aea3b73e11402e1
Checkout the test case for an example.

can I downscale the number area by a factor of e.g. 1.5 in the Y direction with Pix.Scale?

Yes Pix.Scale can also downscale just put in a number less than 1. For
instance using 0.5 for the x and y factors, i.e. pix.Scale(0.5, 0.5), will
result in a Pix exactly half the size of the original. Note that the x and
y factors do not have to be identical but you probably will want them to be.
On Thu, Aug 6, 2015 at 10:45 PM, raysefo<EMAIL_ADDRESS>wrote:

can I downscale the number area by a factor of e.g. 1.5 in the Y direction
with Pix.Scale?
—
Reply to this email directly or view it on GitHub
https://github.com/charlesw/tesseract/issues/200#issuecomment-128351707.

so how should I write Pix.Scale in order to have the same X but downscale 1.5 factor in Y?

Try: pix.Scale(1, 0.5)
On 06/08/2015 10:54 pm, "raysefo"<EMAIL_ADDRESS>wrote:

so how should I write Pix.Scale in order to have the same X but downscale
1.5 factor in Y?
—
Reply to this email directly or view it on GitHub
https://github.com/charlesw/tesseract/issues/200#issuecomment-128353273.


Signup page login page no toggle button for switch signup and login  text error in login page

existing code : already have account ? signup (login page error)
solution : login page text don't have  account ? signup
signup page text : already have account ? login
also need to add a toggle signup and login

@ChandelAnish Can I work on this issue?

@Sureshwebdeveloper you are assigned

Please add a label hacktoberfest

@ChandelAnish  You Have Unassigned From me please assign to me


Power Pivot does not respect data types of PowerBI dataset.

The considerations and limitations section of this page fails to mention that Power Pivot does not (and possibly cannot) respect the field level formatting of the columns in a PowerBI Dataset (on service). For example, numeric table columns, despite having appropriate type and format declarations in the model, will translate to General columns in the resulting spreadsheet causing formatting issues in Excel. The exported format is respected as it shows in the General column, but is not properly detected as a base type.
I'm not sure what this is not mentioned, perhaps the aim is to fix it eventually, but I can only find minor references online to this fact, and several DAX only solutions that are not adequate. For a large model, this shifts a lot of excess work to the end-users.

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

ID: e44cb508-a74e-ec70-4fcc-e356c6e1e339
Version Independent ID: e44cb508-a74e-ec70-4fcc-e356c6e1e339
Content: Power BI dataset experience in Excel - Power BI
Content Source: powerbi-docs/collaborate-share/service-connect-excel-power-bi-datasets.md
Service: powerbi
Sub-service: pbi-collaborate-share
GitHub Login: @maggiesMSFT
Microsoft Alias: maggies

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


Git: Cannot read property 'resourceUri' of undefined

VSCode Version: Code - Insiders 1.17.0-insider (7ac1f1e05baad03d4dd8f8515f1e598180b2c97e, 2017-09-30T05:06:21.234Z)
OS Version: Windows_NT x64 6.1.7601
Extensions:

Extension
Author (truncated)
Version

vscode-eslint
dba
1.3.2

githistory
don
0.2.3

xml
Dot
1.9.2

Go
luk
0.6.66

code-beautifier
mic
1.7.2

vscode-icons
rob
7.14.0

vscode-table-formatter
shu
1.2.1

addDocComments
ste
0.0.8

(1 theme extensions excluded)

Steps to Reproduce:

Open the Git Sidebar
Click on the 'Discard changes' button filename: fetch.go
Then the following error occurs:

Developer Tools:

Reproduces without extensions: Yes/No

Looks like that is the same problem like in #33819 and #33389

Must be a new issue since you are on 1.17.0.

Git: Cannot read property 'resourceUri' of undefined
e.doShow @ /Applications/Visual Studio Code.app/Contents/Resources/app/out/vs/workbench/workbench.main.js:28

@maxibanki @pftbest Does the issue reproduce easily?

It happened just one time while i was on work. No way to reproduce it currently as i know.

Happening as I am typing this.
I tried to press + to add a file that already exists in the Git repo and this error kept popping up. And it did not go away so I typed "git commit -am '[commit-message]'" into the console and could commit just fine, however adding using the GUI caused the problem as seen in the screenshot.

Hope this helps
I have included the output console in the screenshot to show as much as possible.

Same message when trying to stage changes done in an untracked folder.
Worked around it by manually adding the folder with git add folderName/

Having this issue when trying to stage changes as well as clicking on the file and trying to see the diff. Worked smoothly before an update

It happened to me twice yesterday, and in both cases i was editing files that where outside of current workspace but in the same git repo.

It happened with c++ when I've tried to add a new source file.

I have a bunch of files right now project that is like these, but other files are fine. Is hard to reliably reproduce as only some files sometimes becomes problematic. If I restart vscode all files can be fine. I've seen this in multiple projects which differ quite a bit so I have no idea what the common thing could be.

Add the particular files by going to the directory in your terminal(right click on the folder in your project and open it in terminal) and add all the files you want.

me too

try to perform action using terminal, it worked for me,

This seems very hard for me to reproduce. It's very possible that https://github.com/Microsoft/vscode/commit/9e9f809fc0d43f4b5079eaeb37cd8a986cce14e4 fixed it. But not sure...
I'l close it for now. Please try the latest Insiders release or the upcoming November stable release (available next week) and let me know if you still see the issue.

For verification, I tried running this command a number of times and did not see the error being hit. Not sure if it only reproduces under certain configurations
As @joaomoreno said, let us know if you hit this again in the current insiders builds

Was seeing this issue on a single file constantly, in different projects (diff file in diff projects). Relaunching vscode to install 1.17.2 made problem go away. Will report back if begins happening again.

@joaomoreno I had the issue again with this version:

VSCode Version: Code - Insiders 1.18.0-insider (098bb776d2e5fdf3cc9ea27a233754acf4309857, 2017-11-04T04:43:03.436Z)
OS Version: Windows_NT x64 6.1.7601

So the commit 9e9f809 doesn't fixed the issue.
Here some details, which maybe helps you to reproduce it better:
I opened the SCM sidebar and tried to type in a Git commit message. After that I want to view the difference for some files.

All files worked fine to see the difference except the packages.json. When I try to click on the file, no error appears. Also the Stage Changes and the Discard button works fine except on the package.json. In this example the files had a difference where the last line got removed. (I checked it via the git diff command from the command line). When I clicked on the Stage Changes and the Discard button the error message from the issue title appears via a Message on the top.

on version 1.18.0 as well. sporadic but a lot of files I can't stage changes or view the changes. Git: Cannot read property 'resourceUri' of undefined. +1 to make this high priority

Getting this aswell on 1.18.0, seems hard to reproduce

Me too for 1.18.0, if I have eg. 10 files to commit there is certainly is at least one of them which fails with this message

This has actually gotten seemingly worse for me since my most recent update (1.18.0). Not only am I seeing the resourceUri error, but in some cases I can't even open the file from the source control tab. Right now I have a file in "Changes" and double clicking it does nothing -- it doesn't open it (or the diff), and I don't even get any sort of error. If I try to stage it I still get the "Git: Cannot read property 'resourceUri' of undefined" error message."
As everyone else is reporting, using the command line works just fine (and the source control tab updates accordingly), so it's not a huge problem for me, just a minor annoyance.
Unfortunately I haven't found a reliable way to reproduce this, but it's happening often enough for me that if anyone has any ideas I'm happy to test them out.

Guys, if you open the Developer Tools, is there any warning in there?

Another possible workaround: pass by your terminal and add manually the file
git add <your-file>
VS Code
Version 1.18.0
Commit dcee2202709a4f223185514b9275aa4229841aa7
Date 2017-11-08T12:44:48.751Z
Shell 1.7.9
Renderer 58.0.3029.110
Node 7.9.0
Architecture x64
You'll be able to see the differences through the editor then.

This has actually gotten seemingly worse for me since my most recent update (1.18.0). Not only am I seeing the resourceUri error, but in some cases I can't even open the file from the source control tab.

Hmm, for me it has always been that way. However the file can still be opened from the file tree.

Questions for those who hit this:

Is there any special output in the Developer Tools when this happens?
Do you have more than a single SCM repository in the SCM view?

In my case only the output (of the first post in this issue) was logged. I haven't used or installed any other SCM provider.

I get this in the Developer Tools console when a file won't open:

And to answer your other question @joaomoreno - I only have one SCM repository.

The bug is there!
Arch Linux and VSCODE 1.18.0
When I've tried to stage some files only with some apparently random files I've had the problem.
Recently also the git.autorefresh does not work!
Also if I've set in my config git.autorefresh": true .

In the developper tools i've found this:
messageService.ts:126 GIT: Cannot read property 'resourceUri' of undefined
e.doShow @ messageService.ts:126

Also available on OSX 10.12.6 vscode 1.18.0
tried to add a modified file to stage
got two messages:
messageService.ts:126 Git: Cannot read property 'resourceUri' of undefined
e.doShow @ messageService.ts:126
e.show @ messageService.ts:105
e._showMessage @ mainThreadMessageService.ts:72
n.Class.derive._oncancel @ winjs.base.raw.js:1641
e._showMessage @ mainThreadMessageService.ts:42
e.$showMessage @ mainThreadMessageService.ts:36
e.invoke @ abstractThreadService.ts:41
e._invokeHandler @ rpcProtocol.ts:109
e._receiveOneMessage @ rpcProtocol.ts:96
(anonymous) @ rpcProtocol.ts:32
(anonymous) @ rpcProtocol.ts:157
e.invoke @ callbackList.ts:36
e.fire @ event.ts:123
(anonymous) @ ipc.net.ts:82
emitOne @ events.js:96
emit @ events.js:191
readableAddChunk @ _stream_readable.js:178
Readable.push @ _stream_readable.js:136
onread @ net.js:560
messageService.ts:126 Git: Cannot read property 'resourceUri' of undefined
e.doShow @ messageService.ts:126
e.show @ messageService.ts:105
e._showMessage @ mainThreadMessageService.ts:72
n.Class.derive._oncancel @ winjs.base.raw.js:1641
e._showMessage @ mainThreadMessageService.ts:42
e.$showMessage @ mainThreadMessageService.ts:36
e.invoke @ abstractThreadService.ts:41
e._invokeHandler @ rpcProtocol.ts:109
e._receiveOneMessage @ rpcProtocol.ts:96
(anonymous) @ rpcProtocol.ts:32
(anonymous) @ rpcProtocol.ts:157
e.invoke @ callbackList.ts:36
e.fire @ event.ts:123
(anonymous) @ ipc.net.ts:82
emitOne @ events.js:96
emit @ events.js:191
readableAddChunk @ _stream_readable.js:178
Readable.push @ _stream_readable.js:136
onread @ net.js:560
console.ts:123 [Extension Host] ApplicationInsights:Sender [Object]0: Objectaddress: "<IP_ADDRESS>"code: "ECONNREFUSED"errno: "ECONNREFUSED"port: 443syscall: "connect"proto: Objectconstructor: function Object()hasOwnProperty: function hasOwnProperty()isPrototypeOf: function isPrototypeOf()propertyIsEnumerable: function propertyIsEnumerable()toLocaleString: function toLocaleString()toString: function toString()valueOf: function valueOf()defineGetter: function defineGetter()defineSetter: function defineSetter()lookupGetter: function lookupGetter()lookupSetter: function lookupSetter()get proto: function proto()set proto: function proto()length: 1__proto__: Array(0)concat: function concat()constructor: function Array()copyWithin: function copyWithin()entries: function entries()every: function every()fill: function fill()filter: function filter()find: function find()findIndex: function findIndex()forEach: function forEach()includes: function includes()indexOf: function indexOf()join: function join()keys: function keys()lastIndexOf: function lastIndexOf()length: 0map: function map()pop: function pop()push: function push()reduce: function reduce()reduceRight: function reduceRight()reverse: function reverse()shift: function shift()slice: function slice()some: function some()sort: function sort()splice: function splice()toLocaleString: function toLocaleString()toString: function toString()unshift: function unshift()Symbol(Symbol.iterator): function values()Symbol(Symbol.unscopables): Object__proto__: Object
t.log @ console.ts:123
t._logExtensionHostMessage @ extensionHost.ts:377
(anonymous) @ extensionHost.ts:202
emitTwo @ events.js:106
emit @ events.js:194
process.nextTick @ internal/child_process.js:766
_combinedTickCallback @ internal/process/next_tick.js:73
_tickCallback @ internal/process/next_tick.js:104

Faced the same issue on below enviornment:-

Mac OS - 10.12.6

VS code - Version 1.15.1 (1.15.1)

Steps:- Made changes to launch.json file but on discarding the changes its showing the error.

OK GUYS! I got it, finally.

Steps:

Have 4 unstaged files: file1.txt, file2.txt, file3.txt, file4.txt.
In the terminal, type git add file1.txt file3.txt
Using the UI, stage file2.txt then unstage it. Repeat this 5 more times.
Try clicking on file4.txt or any of its actions.

Keep reading for a postmortem analysis.

Here's where the bug is:
https://github.com/Microsoft/vscode/blob/0a42516de80d3141955114678b5736c5d124f796/src/vs/workbench/api/node/extHostSCM.ts#L265
We're basically dealing with a list of changes, sorted by the occurring index in the original sequence, and applying the same changes into a another list. This, of course, is a problem if the difference between the number of inserted elements is different than the number of deleted elements in that change, since the index positions for the following changes will all be wrong. The usual way to do this is to reverse the list of changes and apply them in that order. We do this in the main thread:
https://github.com/Microsoft/vscode/blob/0a42516de80d3141955114678b5736c5d124f796/src/vs/workbench/api/electron-browser/mainThreadSCM.ts#L179
But we overlooked doing the same when dealing with the _handlesSnapshot array.
Combine that with the fact that we only really dispose these guys 10 times after a resource group was effectively modified (that's why step 3 of the repro steps needs to be repeated 5 times), this bug proved to be a very elusive one.

I'll fix the order of handling these splices. I'll also remove the 10 generations before disposing... we can deal with that in some other way.

Should the error be gone in the most recently shipped version? (I'm not using the insiders build) I just got this error now.

git tag --contains 9752f3c returns empty... so: no. This fix is already out in Insiders but will come in the next Stable (1.19.0).

Any idea when Stable v1.19.0 will be released?  I'm seeing this error often and it's beginning to get annoying. :)

Should be released in the next week or two, according to my experience.

https://github.com/Microsoft/vscode/issues/38268

I have just had this happen when staging multiple files, I followed some advice seen above, changed folder, came back to project and all is well.


Read-only mode for input/form components

Is your feature request related to a problem? Please describe.
We found ourselves in the need of having a read only mode on input elements, not just disabled, to keep the global look and feel of the Halstack Design System. Is it out of scope or is it possible to be added in future releases?
Describe the solution you'd like
One example for input text elements could be somethign like this:

The first element could be the read-only mode for an input text, added the second for comparison.
Describe alternatives you've considered
Disabled does not cover our use cases.

First of all, thanks for the feedback Viti.
We already have an open issue for this.

Great Iván, I will close this then since you already have it,  Thanks a lot.


Update README.md

Switch RPC_URL from testnet-1.testnet -> testnet

Closing pull request, PR should be done from/to dev. This has been integrated in dev already in #26


Misalignment of translations

It was not a problem before, but I recently find that there is misalignment (of lines) between the input and the translation output when chunk-size > 1. For example,

chunk-size=1024, batch-size=16 (misaligned)
chunk-size=1024, batch-size=1 (misaligned)
chunk-size=1, batch-size=1 (aligned)

It doesn't always happen, so I haven't found out how it's triggered. I observe this situation when translating large documents (which usually contain empty lines).

Can you share a dataset where we could reproduce the issue?

thanks for reporting! We will look into this. In the mean time let us know if you have any additional information. For example:

How large is the test set?
Did you feed inputs and outputs via stdin/stdout or through files?

or if you had an example based on the sequence copy task that reproduces this issue it would also be great.

It's a third-party dataset so I cannot share it directly.  The files causing this problem have around 1,300 lines, which is larger than the chunk-size=1024. 24% lines are blank.
I haven't got a chance to do a diagnostic toy test that could reproduces this issue.

Would you be able to reproduce and share an obfuscated version of your dataset with every word replaced by its vocabulary id (or maybe even just a fixed token)?

another relevant question: are you setting a specific maximum output length, or is your model imposing one (e.g. its using learned positional embeddings)? What I am getting at is whether the input sentences are split into multiple chunks or not (i.e. are there exactly 1300 requests, split in chunks of 1024, or more).

You can find a obfuscated sample here. I set --max-seq-len=81:80 and I think there's sentences longer than 81 tokens in the sample. I used a RNN model and I didn't use learned positional embeddings.

Thanks. I was able to reproduce this, will debug more.

@mjpost No, the default sorting behavior work just like that.
I think the bug was in the empty sentence handling, see #488
@xingniu Could you try the fix (just 3 lines to edit), and let us know if this solves the problem with your data? On the obfuscated file I now get the same outputs.

Yes, it works. Thanks!

thanks for looking into this @artemsok.
@mjpost this works because tuples are sorted by their members in order in python.So the output will be sorted by sentence id and then by chunk id.
Closing the issue as this seems fixed.


[fix request] Deprecated patterns for storing and accessing data from Azure Databricks

[Enter feedback here]
I think the 'Databricks Filesystem' at the description below is a little misleading.
doc A: Deprecated patterns for storing and accessing data from Azure Databricks
Databricks no longer recommends mounting external data locations to the Databricks Filesystem; see Mounting cloud object storage on Azure Databricks.
link
One of our customers get confused seeing the description above and below.
doc B: Mounting cloud object storage on Azure Databricks
Azure Databricks enables users to mount cloud object storage to the Databricks File System (DBFS) to simplify data access patterns for users that are unfamiliar with cloud concepts.
link
I guess 'Databricks Filesystem' at doc A should be 'Databricks Filesystem root' from context.
If it is correct, please consider to fix the document.
Thank you.
Document Details
⚠ Do not edit this section. It is required for docs.microsoft.com ➟ GitHub issue linking.

ID: 58d39e17-424d-1db6-f600-15f272bf3a7c
Version Independent ID: 653ad346-6d87-d5fd-43dd-1498d218f145
Content: Accessing Azure Data Lake Storage Gen2 and Blob Storage with Azure Databricks - Azure Databricks
Content Source: databricks/data/data-sources/azure/azure-storage.md
Service: azure-databricks
GitHub Login: @mssaperla
Microsoft Alias: saperla

@shoshii  Thanks for the feedback! I have assigned the issue to the content author to evaluate and update as appropriate.

@CHEEKATLAPRADEEP-MSFT , thank you for quick reply!
I wait for the update.

#please-close


Update README.md

This is my commit message
Signed-off-by: Vineeth Reddy<EMAIL_ADDRESS>Added a build badge, Good to have a badge to the latest release for Prometheus

Not sure if that's a useful badge. A badge should display some state, which could, at least in principle, turn red. This badge will always be green. It's essentially a link to the latest release, which is almost as readily (and more uniformly) accessible via the Releases tab.
The most straightforward way to download the latest released binaries is via the project page: https://prometheus.io/download/

Hi Rabenstein, I was looking to work for prometheus, as a first PR tried. If you want any enhance would love to do it.

Thanks for your interest in contributing. I suggest to have a look at the issues of the various repositories in the Prometheus org. Many have tags like "help wanted" or "good first issue" or "low hanging fruit". Before investing larger chunks of work, it's probably good to first join the developers mailing list and discuss planned contributions there. See also https://github.com/prometheus/prometheus/blob/master/CONTRIBUTING.md and the Contributing section of https://prometheus.io/community/ .

We have looked at this during our bug scrub and decided to close it as per above comments. We have "help wanted" and "low hanging fruit" issues for starters :)


Adding Form Details on the Issue #575

Issue Reference
This PR addresses the Issue : Fixes #575
Summarize
This PR fixes the form and table on the NGO registration page by adding more details in the Malayalam language and fixing the requirements of Issue #575 and solution by @athimannil on pull request #625

@SachinVarghese Is there any reason behind merging different issues together ? 🤔

@athimannil I appreciate the idea of separating concerns on issues, but I think it is not wise to open new ones for the minor improvements. These issues should be addressed together to efficiently utilize dev time.


Removes dev_appserver setting skip_sdk_update_check for now.

Fixes #1044

@patflynn I must have misclicked somewhere on the form to add that visible=true. I just fixed it


Who is using Ariakit?

Hey! 👋
If you or your company are using Ariakit, please leave a comment! Include the website (if public), the repository (if public), a description of how you're using it, and any other relevant information.
Also, please, let us know if we can put your logo on our site or README.
Thank you! :)

We're using Reakit at @CodeSandbox in many of our new components and in a lot of refactors to aid us in added keyboard accessibility to our product! Personally I'm a big fan of how easy it's been to use, it's really simple to create highly reusable components using reakit as a base, since it's no problem to add styling on top of it.
You're welcome to add us to your list! If you need any specific assets from us let me know.

We at @taskade is integrating Reakit as well to help improve our accessibility (focus and keyboard). Its still a WIP and not live yet. Feel free to add us.
Thanks for the amazing hard work.

We just started to use reakit @usabilla for our new components. The clean API and accessibility solutions are really amazing.
You're welcome to add us to the list :)

Just published a new version of my project: Literary Universe
I'm not a designer so it doesn't look much. Also I have been implementing Reakit since the early days of 1.0 beta, so I still have to go back and redo some of the older components.

I'm using reakit for the toolbar component in my new project: Villain, an open source web-based comic book reader. Currently is just a react component but the idea is to have a web app + embed api.
This comic book viewer is also used inside the lbry-desktiop project.

We’re using reakit and reakit-system at @Nextdoor to build our design system’s component library. You can use our logo to indicate we use reakit, it's at https://about.nextdoor.com/us-media/.
Reakit’s first-principles focus on accessibility is a great foundation to build on top of, and we like reakit-system’s unique approach to behavior composition. All of our component library is implemented using reakit-system in a similar way to how reakit itself is built.
Since our component library is a new project, its usage is relatively low compared to our existing, non-reakit components. Even so, we already use reakit-powered components in core parts of our product, and we’ve been able to replace some of our primitive UI components with reakit-powered implementations.

You probably know already but ThemeUI (and by extension, the Gatsby team) is now using Reakit. 👍

Reakit is being used by WordPress and other projects at Automattic.

Reakit is being used by WordPress and other projects at @Automattic.

We want to expand the usage of Reakit in the WordPress components npm package 😃 In fact, Reakit is now part of WordPress core and is bundled in the official distribution. Thanks @diegohaz for all the work to make it happen!

Hi there, we at @quantargo are using Reakit for our website and online course platform (free coding courses). Currently we are using Tooltips, Popovers, Dialogs, Checkboxes and Radios - And we will keep migrating more components to improve a11y of our site. I gotta say, we very much enjoy the API decisions the Reakit team has made! Really, big thanks ❤
Our site is https://quantargo.com, feel free to include us wherever you see fit :)

Twilio's Paste design system is using Reakit. It has been excellent to work with so far. Our repository is open source.
Thank you for an excellent library! <3

Hey there, we are using Reakit on radity.com. Thanks for developing Reakit.

We’re using reakit on globalctoforum.org in many of our new components.
Thanks for such an amazing work!
You can add us to the list.

Reakit is proudly used for Talend design system

We're using Reakit on iAdvize.com and we love it
Thank you for this amazing work !

We are using it at LimeLight.
Thanks a lot for your amazing work!

We are using it at LimeLight.
Thanks a lot for your amazing work!

We're starting to use Reakit at Doist to implement some of our own more opinionated components on top of it. This includes work in both of our products Todoist and Twist.
The experience have been great so far. We're really loving that Reakit sometimes is a bit low level, as it allows us to really customize it. The new composite components are amazing. Also great for us is the design decision to have consumers have pass hook results down as props. Sometimes it feels too much work for the consumer, but it allows us to customize stuff even more. We tend to then gain back the magic by doing the pass down via a context.
Thanks a lot for all this!

We just started using Reakit at Outline.
I was able to completely remove a custom menu system that had been built over the years, but it wasn't accessible at all.  Hoping to convert our modals next 👍

I'm using Reakit for a lot of my components for a handmade UI kit made for learning purposes! Thanks to you it handles a lot of complexe use cases with a11y and I combine it with framer-motion for smooth transitions for my Modals / Drawers / Menu!
If you wanna take a look, it's open source! 👍 https://github.com/Liinkiing/klee (again, thank you for this library, the API is really well thought and handles all the hard stuff but it is mandatory because a11y is mandatory and should not be a feature!)

👋 Here at Welcome To The Jungle, we use (and love) reakit on www.welcome-ui, our beloved open sourced design system.
We would be thrilled to have our logo on your site or README!
Thank you for all the great work!

👋 We at Timeless believe in the idea of Layered architectures which will help us build amazing products with less frustration.
Ariakit is one of the library that provides this kind of API which makes easy to customize and build products on top of the primtives.
We use Ariakit in our Design System

Repo: https://github.com/adaptui/react-tailwind
Storybook: https://adaptui-react-tailwind.vercel.app/

We also extend some Ariakit components for our usage in a separate library which might be added to Ariakit in future,

Repo: https://github.com/adaptui/react
Storybook: https://adaptui-react.vercel.app/


Update migrator to populate type field on inline Protocol instances

Guidelines
Soft Schema Freeze
The nmdc-schema and berkeley-schema-fy24 schemas are under a soft freeze, which means changes should not be made that have any downstream implications. To ensure this, all PRs created during the freeze will be closely reviewed with every component of the NMDC system in mind.
Reviewers
To ensure no changes are made unexpectedly, PR creators will use this PR template to tag and notify all task coordinators. Review should be specifically requested from all Berkeley Schema Roll Out task coordinators that you expect to be affected by this PR.
We expect task coordinators to review PRs and provide feedback/approval within 1 week of when they are identified as reviewers.
PRs will NOT be merged until all task coordinators (or their delegates) have approved it; either here on GitHub (via "Review changes > Approve" or an equivalent comment) or verbally.
Expedition, questions, and discussion can happen at any meeting.
Delays in review & merging should be addressed in meetings or with NMDC leadership.

If you expect the changes toimpact this component...
...request a reviewfrom this person

MetadataSchema

RuntimeMongo databaseDatabase migrations
@eecavanna,who will pull in@shreddd as needed

PostgresIngest

Data Portal
@aclum

Workflows: MG & MT

Workflows: MetaB & NOM

Workflows: LipidO
@kheal

Workflows: MetaP

ETL code

Jupyter notebooks
@brynnz22

PR Information
What type of PR is this? (check all applicable)

[ ] Refactor
[ ] Feature
[x] Bug Fix
[ ] Optimization
[ ] Documentation
[ ] Schema change: Structure and content

created, updated, or deleted a class, slot, or enum
changed whether a slot is multivalued
changed the way a slot is assigned to a class
changed the permissible_values of an enum
etc.

[ ] Schema change: Cleanup and preparation

updated the description of a class, slot, or enum
updated the mappings of a class, slot, or enum to an ontology
added an enum for future use (it is not in the range of any slot)
etc.

Description

PRs should be small and concise.

This PR adds migrator to the currently existing migrator that updates the type slot. I just needed to move some lines of code around, but it was an easy fix. Also, when testing this migrator I noticed that the Part 17 migrator that specifically updates the protocol_link type errors out. I can show you how to test your migrators @kheal so you can be sure they work. Something to do with string and not lists. I am guessing some of those collections don't exist in Mongo (like the storage_process_set?) but I am not sure about this. I tested this updated migrator and it works. It updates the protocol_link slot properly.
Related Issues

All PRs should relate to or fix an issue(s). Please identify the issue(s) below.

Related Issue(s): #
Fixes: #

Did you add/update any tests?

[ ] Yes
[ ] No (Add a justification below)
[ ] I need help with writing tests

Could this schema change make it so any valid data becomes invalid?
No

This is a question about what the schema allows. It is not a question about what happens to exists in the NMDC database right now.
Example: If, in this PR branch, you renamed a slot from foo to foo_bar, the answer to this question would be "yes," even if nothing in the NMDC database currently uses the foo slot.
More examples: slot or class name changes, changes to a slot's multivalued state, changes to a slot's range (e.g. string to integer), changes to slot assignments to classes, changes to an enum's permissible_values

[ ] Yes (A migrator is required)
[ ] No
[ ] I need help determining this

If you answered "Yes", does this PR branch include that migrator?
It edits an existing migrator

[ ] Yes
[ ] No, this PR is incomplete and I need help writing the migrator

Does this PR have any downstream implications?

Examples: any change here that requires a change to workflows, workflow automation, the Mongo-to-Postgres ingest process, Jupyter notebooks, the Runtime, etc.

[ ] Yes (Explain below)
[x] No

@eecavanna @kheal  can you be sure that all the collections this impacts are included? I used the part 17 migrator @kheal  as the guide for which collections it impacts (they already existed in this migrator, I just had to move them up to the inlined slots path in this migrator). I did not include the collecting_biosamples_from_site_set and storage_process_set because these collections are either empty in Mongo or don't actually exist in Mongo (e.g. storage_process_set was created in Berkeley and collecting_biosample_from_site_set is empty. The only subclasses of MaterialProcessing this impacts is LibraryPreparation and Pooling because they are what existed prior to Berkeley.
@aclum I noticed that the MetatranscriptomeAnalysis is now three different classes (even in the NMDC schema). It looks like perlmutter is down for maintenance today so I can't see where that data exists. Previously this migrator added the type slot just in themetatranscriptome_analysis_set so I changed it to work with the three new collections since that collection no longer exists in the nmdc schema (but I am not able to test if they work on these collections because perlmutter appears to be down for maintenance and I am using a database pull from yesterday that did not include those collections. I assume they would work since the migrator works on the others. The new mongo collections are metatranscriptome_annotation_set, metatranscriptome_assembly_set, and metatranscriptome_expression_analysis_set. Just let me know if you foresee any problems with this.

I checked the classes that are affected by the protocol_link are included and I should have made it clear that I did not test the migrator in #250 against mongo, apologies all!

I'm tagging the Berkeley Schema Roll Out task coordinators here, so they are aware this PR exists. I'd prefer not to wait the full 1 week for the objection window to expire, given this PR's lack of downstream impact. I'll interpret a "👍" reaction to this message (as an alternative to the usual ways of communicating it) to mean you're OK with this PR being merged into main.

If you expect the changes toimpact this component...
...request a reviewfrom this person
Hasexpressedapproval

MetadataSchema
@mslarae13

RuntimeMongo databaseDatabase migrations
@eecavanna,who will pull  in@shreddd as needed
Yes

PostgresIngest
@naglepuff

Data Portal
@aclum

Workflows: MG & MT
@mbthornton-lbl

Workflows: MetaB & NOM
@corilo

Workflows: LipidO
@kheal
Yes

Workflows: MetaP
@SamuelPurvine

ETL code
@sujaypatil96

Jupyter notebooks
@brynnz22
Yes

I received the "green light" on Slack to merge this in.


Doesn't work on expo 32 with typescript

When trying to use a component says:
undefined is not an object (evaluating '_reactNativeVectorIcons.default.Galio = 0, _reactNativeVectorIcons.createIconSetFromIcoMoon)(_galio.default, 'Galio')')

Hi @dantopa !
I will need more details on this, I'm not sure what's the issue, could you expand on this a bit more, please? What component did you import? Is it a new project? What's your react native version? We have a bug/question issue template that you can use 😊.
Thanks 🤙🏽

I have the same problem, any updates?

Hi @pejoujarrar ! The latest version should work with Expo 33/32. I haven't added any support for typescript yet. If any of you would like to help out with this that'd be great! ⭐

@palingheorghe Have the same issue, worked perfectly fine before I upgraded to SDK 33.
Error Message:
 Uncaught Error: undefined is not an object (evaluating 'S.default.Galio=(0,S.createIconSetFromIcoMoon)(w.default,'Galio')')
before:
"expo": "^32.0.0",
"galio-framework": "^0.5.1",
"react-native": "https://github.com/expo/react-native/archive/sdk-32.0.0.tar.gz",

after
"expo": "^33.0.0",
"galio-framework": "^0.5.1",
"react-native": "https://github.com/expo/react-native/archive/sdk-33.0.0.tar.gz",

Hi @pejoujarrar ! The latest version should work with Expo 33/32.

Hi @palingheorghe, it works fine with 32 but not with the version 33. The error above appears with this version.

Hi @leslielyj @pejoujarrar ! Have you tried upgrading galio-framework? Our latest version 0.5.3 works perfectly fine with SDK33. I've removed Expo completely so there shouldn't be any more problems with Expo from now on.
Thanks, Alin 🤙🏽


feat(TCOMP-497/daikon):  create a widget for selecting columns

Add the widget.type.listview to the salesforce form
Add a triger after the module is selected

What is the current behavior? (You can also link to an open issue here)
What is the new behavior?
Please check if the PR fulfills these requirements

[x] The commit message follows Talend standard
[x] Tests for the changes have been added (for bug fixes / features)
[ ] Docs have been added / updated (for bug fixes / features) ?
[x] The code coverage on new code >75%
[x] The new code does not introduce new technical issues (sonar / eslint)

What kind of change does this PR introduce?

[ ] Bugfix
[x] Feature
[ ] Code style update (formatting, local variables)
[ ] Refactoring (no functional changes, no api changes)
[ ] Build / CI related changes
[ ] Other... Please describe:

Does this PR introduce a breaking change?

[ ] Yes
[x] No

If this PR contains a breaking change, please describe the impact and migration path for existing applications: ...
Other information:

Pull request test result: success :star:

Pull request test result: success :star:

Pull request test result: success :star:

Pull request test result: success :star:

Pull request test result: success :star:

Pull request test result: success :star:

Pull request test result: success :star:

Pull request test result: success :star:

Pull request test result: success :star:

Pull request test result: success :star:

Pull request test result: failure :x:

@bdiouf could you have a look at why many Salesforce test fail please.

Hi Anas,
Thanks for the review.
All modifications have been done.
I also fixed non passing tests.
Can you check please.

Pull request test result: success :star:


[WIP] unstructured knowledge sharing

Addresses #667
Currently contains only an outline of some thoughts I have about unstructured knowledge sharing.

 tag...
0 Warnings
0 Messages
0 Markdowns
-->

          1 Error

:no_entry_sign:
Please add a  tag where you’d like this post to break for post preview

  Generated by :no_entry_sign: Danger


Draft: Use folding offset for scrollhandle

This pull request addresses issue #11 . It implements another offset for rendering the scrollbar handle with code foldings. However, even if the positioning is basically fixed, there are still some things to do:

[x] re implement the scroll offset in order to draw the scrollbar handle correctly when scrolling over the bottom of the buffer
[x] fix diagnostic and search mark positioning
[ ] fix scrollbar behaviour when fold is at the bottom of the buffer such that the scrollbar completely would be drawn in the fold
[ ] decide whether the scrollbar handle should resize when a folding is scrolled out of the way or not (and implement it of course)
[ ] further testing and refactoring

@tbung @petertriho Did you have time to test and/or review this pull request? I'm using the branch since I've created the pull request und everything seems to work stable.
For the one bug with the scroll offset I need some help since I'm not able to figure out how to fix this issue.
For the last two tasks I'll need your advice as well since these are decisions for your code-style and the philosophy behind this plugin.

Sorry, I've busy with work. I'll make sure to try and get this merged some time this week. In the meantime, can you please move the extra functions you added to the utils file?

@petertriho Thanks! Sure. I moved them now.

Tested for a week and I didn't notice any major issues, so let's merge this. Thank you for the PR!


Returned type fixed for lifted function

Returned type for lifted function1 is Function1<T1,Option> but not Function1<T1,R>.

Thank you!
We changed the method name Function1.lift to Function1.of. With that we align to Scala. In Scala lift is used to create a total function based on a partial function (which is undefined or throws for particular inputs). Therefore the result of the lifted function is now Option.
Here, we already have a total function. Let's stay with the return type Integer and rename lift to of.
It would be great if you could do that. I will provide a comment in the code.
Thank you,
Daniel

Done.

Great, thanks!


phoneticLookup("") prints undefined to the console, but is still marked wrong

Challenge Using Objects for Lookups has an issue.
User Agent is: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_12_2) AppleWebKit/602.3.12 (KHTML, like Gecko) Version/10.0.2 Safari/602.3.12.
Please describe how to reproduce this issue, and include links to screenshots if possible.
My code:

// Setup
function phoneticLookup(val) {
  var result = "";

  // Only change code below this line
  var lookup = {
    alpha: "Adams",
    bravo: "Boston",
    charlie: "Chicago",
    delta: "Denver",
    echo: "Easy",
    foxtrot: "Frank"
  };

  result += lookup[val];

  // Only change code above this line
  return result;
}

// Change this value to test
phoneticLookup("");

Your code is not good.
You are returning ""+undefined, it equals to "undefined", but it asked you to return undefined.

@ivancsicsmarkus Thank you Markus. I found the error. I mistakenly concatenated the result to the empty variable. It should not be 'result += lookup[val]' but 'result = lookup[val]'.


Fix warnings when #[pin_project] used within macro_rules! macros

When #[pin_project] attribute used within macro_rules! macros, the generated code receives warnings.
#![warn(missing_debug_implementations)]

#[pin_project::pin_project] // <- no warning
#[derive(Debug)]
pub struct A {
    #[pin]
    _f: (),
}

macro_rules! mac {
    () => {
        #[pin_project::pin_project] //~WARN type does not implement `Debug`
        #[derive(Debug)]
        pub struct B {
            #[pin]
            _f: (),
        }
    };
}

mac!();

playground

The missing_debug_implementations warning seems like a rustc bug.

@Aaron1011 I agree. I'll file an issue on rust repo.

Filed https://github.com/rust-lang/rust/issues/77973

Actually, it looks like the warning is actually being emitted for the generated projection struct (__B<'pin>) both with and without the wrapping macro_rules!. Due to the span at pin-project uses, the lint appears to be for the main struct.
However, it looks like the lint normally get suppresed here: https://github.com/rust-lang/rust/blob/7f587168102498a488abf608a86c7fdfa62fb7bb/compiler/rustc_middle/src/lint.rs#L245-L260, due to it being emitted from the external pin-project macro.

bors r+


help center: Update "Import from Gitter".

Updates the help center article to match the style and formatting of Import from Slack and replaces existing content with its corresponding Markdown macro.
Remarks:
Everything was kept consistent with the Slack article except that the intro section and export instructions are simpler because the data export tool is not an official tool from Gitter and the import process is in beta. Also,  there's no "Clean up after the export" section as it doesn't seem necessary after Gitter's export process.
Screenshots and screen captures (only differences compared to the Slack article):

https://zulip.com/help/import-from-gitter

Self-hosting steps 4 and 5

Self-review checklist

[x] Self-reviewed the changes for clarity and maintainability

Communicate decisions, questions, and potential concerns.

[x] Explains differences from previous plans.
[x] Calls out remaining decisions and concerns.
[x] Automated tests.

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

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

Completed manual review and testing of the following:

[x] Visual appearance of the changes.
[x] Links.

@mateuszmandera It would be great if you could review this PR too! :)

This isn't specific to this PR, but to all these help pages following the Slack convetion - do we want the linkification the current way - [Export your Gitter data](#export-your-gitter-data). or perhaps [Export your Gitter data.](#export-your-gitter-data) (to include the . in the linkification when we're linkifying the entire sentence)? In particular, my brain finds the lack of linkification of the ! in Get your organization started with Zulip! somewhat visually jarring, but maybe that's just me :thinking:

This isn't specific to this PR, but to all these help pages following the Slack convetion - do we want the linkification the current way - [Export your Gitter data](#export-your-gitter-data). or perhaps [Export your Gitter data.](#export-your-gitter-data) (to include the . in the linkification when we're linkifying the entire sentence)? In particular, my brain finds the lack of linkification of the ! in Get your organization started with Zulip! somewhat visually jarring, but maybe that's just me 🤔

I think it looks okay either way, but it also makes sense to include the punctuation in the linkification.

I think it looks okay either way, but it also makes sense to include the punctuation in the linkification.

Sure, moving the punctuation to be inside the links works for me.

I've updated the PR based on our discussion and updated the screenshots in the PR description.

I left a bunch of comments; otherwise looking good!

@alya it's only showing me a single comment.

My bad, for some reason I accidentally started a review here too. Comments submitted now!

I updated the PR, including screenshots in the description.

Thinking about the page as a whole, I think we should modify the #decide-how-users-will-log-in section. Because of how emails are imported, really the right answer is to enable GitHub auth, and have users reset their email, right? That email instruction really belongs in this section; we shouldn't bury it under import details.

We should also put the steps about configuring owners into the #get-your-organization-started-with-zulip instructions, maybe as (2) on the list.

Thinking about the page as a whole, I think we should modify the #decide-how-users-will-log-in section. Because of how emails are imported, really the right answer is to enable GitHub auth, and have users reset their email, right? That email instruction really belongs in this section; we shouldn't bury it under import details.

Yes, that makes sense. It looks like zerver/data_import/gitter.py takes care of enabling GitHub auth:
    # Users will have GitHub's generated noreply email addresses so their only way to log in
    # at first is via GitHub. So we set GitHub to be the only authentication method enabled
    # default to avoid user confusion.
    assert len(zerver_realm) == 1
    authentication_methods = [
        (auth_method[0], False)
        if auth_method[0] != GitHubAuthBackend.auth_backend_name
        else (auth_method[0], True)
        for auth_method in zerver_realm[0]["authentication_methods"]
    ]

so maybe we should just mention the above in addition to manual password resets.
I guess we should change the heading for this section. Maybe something like

How users will log in for the first time

I've updated this PR, here are the relevant screenshots:

I think we're getting close!

I think we're getting close!

Yes, definitely! Here's the updated screenshot:

Looks good to me! @drrosa could you please add the "integration review" label once you've had a chance to implement @mateuszmandera 's suggestion?

Looks good to me! @drrosa could you please add the "integration review" label once you've had a chance to implement @mateuszmandera 's suggestion?

Done!
@zulipbot add "integration review"

Merged, thanks for all the work on this @drrosa!


Add dep as dependency manager

https://github.com/golang/dep/blob/master/docs/FAQ.md#should-i-commit-my-vendor-directory
I'm on Pro side.

Agree 👍


[BUG] Incompatible with Chakra UI Pro theme

Description
When I installed Chakra UI Pro theme and import chakra-react-select, then the app crashes with the following stack traces:

chakra-react-select Version
4.7.6
Link to Reproduction
No response
TypeScript?

[X] Yes I use TypeScript

Steps to reproduce

Install and configure Chakra UI Pro theme
Instantiate a Select from chakra-react-select

Operating System

[X] macOS
[ ] Windows
[ ] Linux
[ ] iOS/iPadOS
[ ] Android

Additional Information
No response

Can you give me a code example of how the app is set up? I've never used the Chakra pro theme, so it's hard for me to diagnose this without an example.

Ya its just this guide. It's basically just copying in a chakra theme file.

Ok, actually looking at the part of the error Cannot read properties of undefined (reading '500'), this makes me think this package is not able to find one of the basic color palettes for red or blue that the normal theme has. Are the base color scheme colors not available in the pro theme color palette?
If not, you'd have to pass the selectedOptionColorScheme prop with some color palette the theme actually has. I believe this should fix the issue but let me know if not.

Since no more information has been provided and this has been stale for a while, I'm going to close it. If there's anything else you need, I can re-open the issue.


feathers generate hook fails when some hooks are commented out

How to reproduce
Let it be a service with these hooks
exports.before = {
  all: [computeAverage()],
  find: [],
  get: [],
  create: [],
  update: [
    /*auth.verifyToken(),
    auth.populateUser(),
    auth.restrictToAuthenticated()
    */
  ],
  patch: [],
  remove: []
};

exports.after = {
  all: [],
  find: [],
  get: [],
  create: [],
  update: [],
  patch: [],
  remove: []
};

when using feathers generate hook for this service and choosing before hook for the update method, the genrator will throw the following error
    at print (generator-feathers/node_modules/recast/lib/printer.js:72:37)
    at exports.printComments (generator-feathers/node_modules/recast/lib/comments.js:324:22)
    at printWithComments (generator-feathers/node_modules/recast/lib/printer.js:61:16)
    at print (generator-feathers/node_modules/recast/lib/printer.js:66:20)
    at Printer.print (generator-feathers/node_modules/recast/lib/printer.js:118:21)
    at Object.print (generator-feathers/node_modules/recast/main.js:6:33)
    at traverse.pre (generator-feathers/lib/transform.js:33:49)
    at visit (generator-feathers/node_modules/ast-traverse/ast-traverse.js:16:19)
    at visit (generator-feathers/node_modules/ast-traverse/ast-traverse.js:29:25)
    at visit (generator-feathers/node_modules/ast-traverse/ast-traverse.js:32:21)```

This might be related to https://github.com/feathersjs/generator-feathers/pull/111. Looks like that still didn't fix every case.


Footer improvement

Update the footer with an improved, visually appealing design to enhance aesthetics. Focus on layout, colors, and typography for a clean and modern appearance without adding extra information or links.

Hey, i would love to help you out with the issue :)
Could you assign me?


Add Named Constructors for Font constructors

Adding named constructors for True/OpenType and Bitmap Fonts that call the proper (now private) constructors will prevent confusion on which to use and will self-document the code.

You're probably right. They're not well differentiated.
I suppose we could have a constructor taking a FontInfo instead, and factory methods that build a font based on font type. That does raise some validation concerns with the FontInfo struct though, since all fields are public, and they may not all be mutually consistent.
I should also point out that the change won't play well with the current ResourceCache usage, which requires constructors to function. We would need to extend ResourceCache to allow for alternate factory functions before we could really consider making this change for Font.


Allow install-server script to fetch from different repo owners

This PR improves the CD on a forked trento repo as it causes to fetch the images from the same fork instead of fetching them from the main trento-project.
Previously, one would have to manually edit the deployment to specify the images uris if he wanted to test a change in e.g. the trento-runner or the trento-web images.

Good job looks good to me.

I've changed it a bit and now instead allow to input the whole image repository both for trento-web and trento-runner. The repository owner is now instead a env variable that defaults to trento-project (or whatever the owner of the fork is, as it takes it from the predefined GH actions var.
Thanks for the feedback!


add support for install in LXC containers

Running Redis inside LXC containers requires Redis config which basically tell systemd that the service is running in an unprivileged env and cannot use private devices.

@DavidWittman please consider merging this change as this is solves a major problem whith this role.

@siavashsardari  @Migsi i have a semi related issue, just in terms of needing to be able to modify the systemd template. I like the idea of having opinionated defaults, but i can't really think of a good solution to expose modifications i need. Exposing more systemd variables seems like a never ending task. Like in my case, i also need to define specific After= targets as well.
This seems a bit rigid, but even if there was an option to provide your own template, it would basically invalidate/NOOP role variables which seems dangerous.
- name: create redis systemd service
  template:
    src: "{{ item }}"
    dest: /etc/systemd/system/{{ redis_service_name }}.service
    mode: 0644
  with_first_found:
    - files:
      - "{{ ansible_os_family }}/redis.service.j2"
      - default/redis.service.j2
      paths:
        - ../templates
  register: redis_unit_file
  when: redis_as_service and ansible_service_mgr|default() == "systemd"