Pod Connectivity Issue: Using Port Names Instead of Port Numbers in Network Policies

Environmental Info:
K3s Version:

[root@cloud-k3s-node1 ~]# k3s -v
k3s version v1.26.4+k3s1 (8d0255af)
go version go1.19.8

Node(s) CPU architecture, OS, and Version:

[root@cloud-k3s-node1 ~]# uname -a
Linux cloud-k3s-node1 4.18.0-425.19.2.el8_7.x86_64 #1 SMP Tue Apr 4 05:30:47 EDT 2023 x86_64 x86_64 x86_64 GNU/Linux

Cluster Configuration:

1 Server 2 Agents
Firewalld is disabled
Air gapped environment
--prefer-bundled-bin flag is set

Describe the bug:

Sometimes it's not possible to establish a connection with one of the replicas of a deployment, when there are more than one, due to activated network policies. This issue occurs only when the network policy has the port name set in our case http. However, when the port number is specified, the connection works without any problems. This behavior is not consistent, as it doesn't always happen. Despite checking the iptables rules, no relevant differences were found between the two cases.
The issue only occurs when there are multiple replicas, as with a single pod the issue is not observed.
Steps To Reproduce:

Custom systemd unit server:
[Unit]
Description=Lightweight Kubernetes
Documentation=https://k3s.io
Wants=network-online.target
After=network-online.target

[Install]
WantedBy=multi-user.target

[Service]
Type=notify
EnvironmentFile=-/etc/default/%N
EnvironmentFile=-/etc/sysconfig/%N
EnvironmentFile=-/etc/systemd/system/k3s.service.env
KillMode=process
Delegate=yes
# Having non-zero Limit*s causes performance problems due to accounting overhead
# in the kernel. We recommend using cgroups to do container-local accounting.
LimitNOFILE=1048576
LimitNPROC=infinity
LimitCORE=infinity
TasksMax=infinity
TimeoutStartSec=0
Restart=always
RestartSec=5s
ExecStartPre=/bin/sh -xc '! /usr/bin/systemctl is-enabled --quiet nm-cloud-setup.service'
ExecStartPre=-/sbin/modprobe br_netfilter
ExecStartPre=-/sbin/modprobe overlay
ExecStart=/usr/local/bin/k3s \
    server --https-listen-port 6443 --data-dir /data/k3s --prefer-bundled-bin

k3s.service.env:
K3S_TOKEN="myToken"

Custom systemd unit agent:
[Unit]
Description=Lightweight Kubernetes
Documentation=https://k3s.io
Wants=network-online.target
After=network-online.target

[Install]
WantedBy=multi-user.target

[Service]
Type=notify
EnvironmentFile=-/etc/default/%N
EnvironmentFile=-/etc/sysconfig/%N
EnvironmentFile=-/etc/systemd/system/k3s.service.env
KillMode=process
Delegate=yes
# Having non-zero Limit*s causes performance problems due to accounting overhead
# in the kernel. We recommend using cgroups to do container-local accounting.
LimitNOFILE=1048576
LimitNPROC=infinity
LimitCORE=infinity
TasksMax=infinity
TimeoutStartSec=0
Restart=always
RestartSec=5s
ExecStartPre=/bin/sh -xc '! /usr/bin/systemctl is-enabled --quiet nm-cloud-setup.service'
ExecStartPre=-/sbin/modprobe br_netfilter
ExecStartPre=-/sbin/modprobe overlay
ExecStart=/usr/local/bin/k3s \
    agent --data-dir /data/k3s --prefer-bundled-bin

k3s.service.env:
K3S_URL="https://server.local:6443"
K3S_TOKEN="myToken"

Disable firewalld
Installed K3s with custom systemd unit
Create a deployment with at least two replicas
Create a network policy like this:

apiVersion: networking.k8s.io/v1
kind: NetworkPolicy
metadata:
  name: web-myApp-web
  namespace: myNamespace
spec:
  egress:
  - ports:
    - port: 5432
      protocol: TCP
    to:
    - ipBlock:
        cidr: <IP_ADDRESS>/32
  - ports:
    - port: 25
      protocol: TCP
    to:
    - ipBlock:
        cidr: <IP_ADDRESS>/32
  ingress:
  - from:
    - namespaceSelector:
        matchLabels:
          kubernetes.io/metadata.name: kube-system
      podSelector:
        matchLabels:
          app.kubernetes.io/name: traefik
    ports:
    - port: http
      protocol: TCP
  podSelector:
    matchLabels:
      app.kubernetes.io/component: web
      app.kubernetes.io/instance: web
      app.kubernetes.io/name: myApp
  policyTypes:
  - Egress
  - Ingress

Expected behavior:

A connection is always possible with more than 1 replica when the port name is set in the network polices.
Actual behavior:

With more than 1 replica, its sometime not possible to establish a connection with one of them.

It seems strange that it doesn't work only when the port is specified with name.
I'll take a look at this to check if it's K3s or kube-router related.

Could you give more info of your setup? How I read from the policy you are allowing only the traffic from traefik to the web service (I imagine that your two replicas deployment is the web service) and also the egress traffic allowed is to who?

How do you access the service? Did you create an Ingress resource?

Are you contacting the web service from a pod or from a node? Are you using the Traefik service IP?

Validated on branch with commit / version
Environment Details
Validated on Master Branch 1.27 10fb39ae60abfc60592497903ba734c7e9a17bdf
k3s version v1.27.1+k3s-10fb39ae (10fb39ae)
go version go1.20.3

Infrastructure
[X ] Cloud
Hosted
Node(s) CPU architecture, OS, and Version:
Linux ip-172-31-33-29 5.15.0-1033-aws #37~20.04.1-Ubuntu SMP Fri Mar 17 11:39:30 UTC 2023 x86_64 x86_64 x86_64 GNU/Linux
NAME="Ubuntu"
VERSION="20.04.6 LTS (Focal Fossa)"
ID=ubuntu
ID_LIKE=debian
PRETTY_NAME="Ubuntu 20.04.6 LTS"
VERSION_ID="20.04"
HOME_URL="https://www.ubuntu.com/"
SUPPORT_URL="https://help.ubuntu.com/"
BUG_REPORT_URL="https://bugs.launchpad.net/ubuntu/"
PRIVACY_POLICY_URL="https://www.ubuntu.com/legal/terms-and-policies/privacy-policy"
VERSION_CODENAME=focal
UBUNTU_CODENAME=focal

Cluster Configuration:
1 server

Config.yaml:
write-kubeconfig-mode: 644
token: test

Testing Steps:
1. Copy config.yaml
2 sudo mkdir -p /etc/rancher/k3s && sudo cp config.yaml /etc/rancher/k3s
curl -sfL https://get.k3s.io | INSTALL_K3S_COMMIT=10fb39ae60abfc60592497903ba734c7e9a17bdf sh -

Replication Results:
k3s version used for replication:
Run the script:

#!/bin/bash
set -euo pipefail

kubectl delete sts/wordpress || true
kubectl delete deployment/busybox || true
kubectl delete service/wordpress-service || true
kubectl delete networkpolicy/wordpress-network-policy || true

kubectl apply -f - <<EOF
apiVersion: apps/v1
kind: StatefulSet
metadata:
  name: wordpress
spec:
  serviceName: wordpress-service
  replicas: 2
  selector:
    matchLabels:
      app: wordpress
  template:
    metadata:
      labels:
        app: wordpress
    spec:
      containers:
      - name: wordpress
        image: wordpress
        ports:
        - name: http
          containerPort: 80
---
apiVersion: apps/v1
kind: Deployment
metadata:
  name: busybox
spec:
  selector:
    matchLabels:
      app: busybox
  template:
    metadata:
      labels:
        app: busybox
    spec:
      containers:
      - name: busybox
        image: busybox
        command:
        - sleep
        - infinity
---
apiVersion: v1
kind: Service
metadata:
  name: wordpress-service
spec:
  ports:
    - name: http
      port: 80
      targetPort: http
  clusterIP: None
  selector:
    app: wordpress
EOF

kubectl rollout status sts/wordpress
kubectl rollout status deployment/busybox
! (
    kubectl exec -it deployment/busybox -- wget -O - wordpress-0.wordpress-service.default.svc.cluster.local >/dev/null || echo "failed"
    kubectl exec -it deployment/busybox -- wget -O - wordpress-1.wordpress-service.default.svc.cluster.local >/dev/null || echo "failed"
) | grep failed

kubectl apply -f - <<EOF
apiVersion: networking.k8s.io/v1
kind: NetworkPolicy
metadata:
  name: wordpress-network-policy
spec:
  podSelector:
    matchLabels:
      app: wordpress
  policyTypes:
  - Ingress
  ingress:
  - from:
    - podSelector:
        matchLabels:
          app: busybox
    ports:
    - port: http
EOF

sleep 30
! (
    kubectl exec -it deployment/busybox -- wget -O - wordpress-0.wordpress-service.default.svc.cluster.local >/dev/null || echo "failed"
    kubectl exec -it deployment/busybox -- wget -O - wordpress-1.wordpress-service.default.svc.cluster.local >/dev/null || echo "failed"
) | grep failed1

Validation Results:
Validated the script ran sucessfully:

statefulset.apps/wordpress created
deployment.apps/busybox created
service/wordpress-service created
Waiting for 2 pods to be ready...
Waiting for 1 pods to be ready...
partitioned roll out complete: 2 new pods have been updated...
deployment "busybox" successfully rolled out
networkpolicy.networking.k8s.io/wordpress-network-policy created

NAMESPACE     NAME                                     READY   STATUS      RESTARTS   AGE
kube-system   local-path-provisioner-957fdf8bc-dhx5f   1/1     Running     0          7m40s
kube-system   coredns-77ccd57875-q2q2j                 1/1     Running     0          7m40s
kube-system   helm-install-traefik-crd-fbc7g           0/1     Completed   0          7m41s
kube-system   helm-install-traefik-pdqv7               0/1     Completed   1          7m41s
kube-system   svclb-traefik-53b1fa17-5dlqt             2/2     Running     0          7m27s
kube-system   traefik-64f55bb67d-ktncm                 1/1     Running     0          7m28s
kube-system   metrics-server-54dc485875-f9k8z          1/1     Running     0          7m40s
default       busybox-f7db5bc95-tc5ws                  1/1     Running     0          119s
default       wordpress-0                              1/1     Running     0          119s
default       wordpress-1                              1/1     Running     0          108s


Allow clippy::forget_copy in generated code

The code generated by derive(Bundle) triggers a clippy correctness lint in user crate when one of the components in the bundle is Copy. This silences the lint.

I'm not feeling like exposing my personal email and phone number for a one-liner PR, so I'm closing this. Maybe commit this on your own @Ralith if you think it makes sense!


Fix crash bug with duplicate inputs within a transaction

Commit: https://github.com/bitcoin/bitcoin/commit/b8f801964f59586508ea8da6cf3decd76bc0e571
PR: https://github.com/bitcoin/bitcoin/pull/9049

@kingmeng-storage @Starry9 can we get binaries for 1.1.1?

@jotto
We have an updated version that will be released,
If you need this version of the binary I can send it to you.
Please tell me the specific platform.

thanks @king-etc docker image updated: https://github.com/messari/docker-bitcoin-diamond/commit/72f51e6e12e5c8471ca0dc1a55c16a12a7692a2c


Mendix Operator release 1.2.0

Upgrade instructions
Documentation how to apply an offline license

Thank you @MarkvanMents ! Can you please publish these changes?

Release requested over Slack


Use simple container name as hostname inside docker network (use "db" instead of "ddev--db")

The Problem/Issue/Bug:

In recent versions of docker-compose there have been problems with the links stanza, where it does not properly bind "db" for example, to the project's "db" service. These have been solved in the docker-compose that is currently bundled by ddev.
But for years (since the beginning of ddev) containers included without a "links" (like solr) have resulted in ambiguity and unpredictable behavior between projects. One ddev project might accidentally connect to another project's solr service, for example.

Unambiguity in name resolution was recently only possible in ddevwhen using ddev-<projectname>-<service> which requires a level of environment-awareness in apps that should usually not be necessary in a container environment.
How this PR Solves The Problem:
This PR sets up networking where the service name of a project's container is perfectly adequate to address it. For example, ping db in the web container will always get the related project's db container. ping solr will always get the related solr container, not one from another service.
This makes ddev use  standard docker-compose networking as described in https://docs.docker.com/compose/networking/.
The "ddev" network is now only used to communicate across projects and with the proxy.
Contrib-service-recipes that only need per-project networking (via its service name or ddev-<projectname>-<service>:<port>) will not need any changes.
Those that use HTTP_EXPOSE and HTTPS_EXPOSE to be reachable externally via http[s]://<project>:<port> (via ddev-router) or cross-project need to add the "ddev" network:
networks: [default, ddev]

This can be given as general advise, too because it does not hurt.
All ddev-contrib service examples should be updated.
Manual Testing Instructions:
To test this:

Use gitpod
Download the artifacts in the latest build and put ddev in your path

Create multiple ddev projects (ddev config with all defaults).
Run ddev exec ping db from them.
You should see answers only from the project-local "db" container.
With docker-compose v2.1.1 you would see answers from other "db" containers.
In order to test cross-project connectivity, run

ddev exec ping ddev-<other-projectname>-db.

To test this properly, use docker-compose v2.1.1, which had the bug about not respecting links. ddev config global --docker-compose-version=v2.1.1
Automated Testing Overview:

[x] Added TestNetworkAmbiguity

Related Issue Link(s):

#3369
docker/compose#8935

Remarks/tbd:

This change tries to minimize code changes. For improved self-documentation the network should rather be called "ddev_proxy" or "ddev_frontend".

[x] Removed ddev-ssh-agent networks completely
[x] Usage of docker-compose service "links" should not be necessary any more.
[ ] ddev-contrib services (especially containing HTTP_EXPOSE) needs to be updated with the new networking on release
[ ] Release notes need to explain the change and what it means to 3rd party projects

Thanks for pursuing this! I know it has great potential (haven't tried it out yet)
All services that use HTTP_EXPOSE (most of them that have a web interface, including solr, etc) need to communicate with the ddev-router. So all of those would have the traditional problem of ambiguity of service name?
An FYI - https://github.com/docker/compose/issues/8935  claimed to be fixed the other day.

All services that use HTTP_EXPOSE (most of them that have a web interface, including solr, etc) need to communicate with the ddev-router. So all of those would have the traditional problem of ambiguity of service name?

They would have to add
networks:
 - default
 - ddev_default

solr can then be used unambiguously from the same project. From another container it is still accessible as ddev-<projectname>-solr.
I added that use case to the manual testing instruction.

An FYI - docker/compose#8935 claimed to be fixed the other day.

That might mean we do not have to make any changes :)
I think "links" is rather a workaround, though. "links" needs all local services added to any container to work totally hassle-free and as expected for users adding services. The "default" network solves that better in my opinion.

Why would we not provide the two networks on every service?

I'd say because it is not needed.
Pro "ddev_default" on all services:

Easy to communicate ("Breaking change: You need to add networks: [default, ddev_default] to all custom services")
Even the default db container would still be reachable cross-project (for whoever uses that now).

Pro "ddev_default" only on services that need it:

Isolation: Only open connectivity for services that really need them
The change is breaking anyways, so we could use it to educate about network segmentation. I think it could be explained well enough with two sentences. "If your service needs to be reached from your browser or from other projects, ... . By default all services of a project can communicate with each other".

So yes, when thinking about the ecosystem it might be easier to just use [default, ddev_default] throughout. The latter might be only interesting to network nerds and security fanatics.

It's not uncommon to use db service between projects - most commonly for migrations; the new (migrating) project accesses the database of the old project.

I updated the PR description to reflect that.

Tests are still erroring at TestGetLocalHTTPResponse. Do you know how I could test that locally? Which docker-compose version is used in the tests?

Details about running tests are in https://github.com/drud/ddev/blob/master/docs/developers/building-contributing.md - you'll want export GOTEST_SHORT=true and make testpkg TESTARGS="-run TestGetLocalHTTPResponse
My preference is to run in GoLand or vscode. It's easy to do this in Gitpod's vscode as well.

I am trying to reproduce this run https://github.com/drud/ddev/runs/4380370899?check_suite_focus=true
This is ok for me locally and in Gitpod:
make testpkg TESTARGS="-run TestCmdStopMissingProjectDirectory"

I am puzzled by the mutagen: false errors (If at all I would expect problems with mutagen, not without).
Also the failures on arm puzzle me https://github.com/drud/ddev/pull/3403/checks?check_run_id=4380370760
If you don't have an idea I'll set up an Ubuntu 20.04 VM and do exactly what' done here https://github.com/drud/ddev/blob/master/.github/workflows/tests.yml.

Wow, I've never seen anything like that before.
Fails exactly the same way in CircleCI on arm64 :(
The key thing about those TestCmd tests is they don't necessarily get your ddev right if you're running them one at a time, so you'll want to make sure that the ddev in your PATH is the one you built. I often put a link to it in ~/bin . You can also use export DDEV_BINARY_FULLPATH=/path/to/built/ddev - if using the Makefile (make testcmd) it does this for you. But the TestCmd tests actually run the ddev binary.
Interesting factoid is that it worked on WSL2, which uses docker-compose v2.1.1 (WSL2 is the only place on test system that is using docker-compose v2 right now)
Also worked on ddev-windows-mutagen, which uses docker-compose v1

Thank you for these hints.
The tests were flaky for me so I prepared a Ubuntu 20.4 VM and always ran them from a prepared snapshot (Gist). Not sure if I went a bit over the top there.
I've worked on removing auto-created project networks today.
In the end it was easiest to use docker-compose down rather than trying to produce the correct network name (ddev project "a.b.c.DE" => network "ddev-abcde_default"...).
 Do you know how I could stop them from doing that?

Thanks for all your work on this @jonaseberle -
On goimports, I have everything turned on on Goland and it seems to do what I want. I wonder if maybe you and I just have different versions of goimports.
$ ls -l $(which goimports)
-rwxr-xr-x  1 rfay  admin  5057410 Jan 28  2021 /usr/local/bin/goimports

Here's my setting for GoLand

I imagine you can just turn that stuff off if it's not useful.

I had these boxes unticked but it would still try to remove on save. Thank you for goimports!
I did go install golang.org/x/tools/cmd/goimports@latest and now GoLand is happy ;)

Mostly if you can get general manual usage working, then get the github tests working, you can ignore any other false failures on the buildkite builds. Those are more fragile because... "Docker Desktop".

I am using the patched version for day-to-day use.
The currently failing tests are reproducible between test runs but I haven't looked into it yet. Many are about problems with writing config. I'll check it latest on the weekend.

This will need to be rebased to pass tests since I updated the macOS/Windows test runners to Docker Desktop 4.3.0

When running the failing TestSshAuthConfigOverride alone, it passes. When running the whole suite, it fails.
I am using it in day-to-day work (with the required addition to additional services) and have not met any problems.
I am going to rebase now but I am not sure if you think it is worth to push it further.

Usually if a test fails only when the tests around it are failing, it means there are side-effects from another test. It's annoying chasing those, but it can usually be narrowed down by running the tests that are just before it, etc.
I'm all in favor of this, so there's no need to give up on it. It's just not my focus right now. I also haven't looked closely, but my hope is that this is a better solution than links.

Rebased.   I apologize but the main yaml files got moved into their own separate places, so there was no way to successfully rebase this to current. As a result, I manually picked apart the changes to apply them for testing.
Your original commit tree, still available, was 8e3b43a84dd84420294c57ba2565f7e044ed4461
I've been studying your approach and the networking page and very much appreciate your work on this. I think the true test will be to remove the links statements and see if everything still works.

Looks like we've about got it. Now for a good automated test, manual testing, and reverting all the references to ddev-><project>-db !

Created https://github.com/drud/ddev/pull/3479 as a baseline, it should be adequate to test this.

Thank you for picking that up. That indeed looks good. Are you planning to merge the new test into this one?

I was going to pull the new test after it passes, then rebase. Same thing I guess.

I've rebased this and think it's ready. Please take a look and see what you think @jonaseberle - It's an awesome step forward for ddev.

I found 2 problems.
A minor one: Running ddev stop/ddev delete -Oy on an already stopped project yields a warning:
$ ddev stop
Project www.ratbacher.de is already stopped.
ddev-wwwratbacherde  Warning: No resource found to remove
Project www.ratbacher.de has been stopped.

A major one: The project network does not get removed for some projects. I think that is a problem because that can leave unnecessarily many virtual network interfaces. Those networks even persist across docker restarts. At least ddev poweroff should leave no project networks behind IMHO.
$ ddev stop
Container ddev-www.schempp-hirth.com-web  Stopping
... # no errors or warnings, but also nothing about the network removal
    # that seems to imply that the guard clause fileutil.FileExists(app.DockerComposeFullRenderedYAMLPath()) yields "false"
    # - but I am not sure
Project www.schempp-hirth.com has been stopped.

$ docker network ls
NETWORK ID     NAME                               DRIVER    SCOPE
c4767a2d6b82   bridge                             bridge    local
5e25314ecc00   ddev-wwwschempp-hirthcom_default   bridge    local
eea130851847   ddev_default                       bridge    local
bd0294da3e6a   host                               host      local
246a612e7b0c   none                               null      local

$ docker network rm ddev-wwwschempp-hirthcom_default
Error response from daemon: error while removing network: network ddev-wwwschempp-hirthcom_default id db8cff7f4aa5854e7dd6cf603734c42a29269fe6c4973e55d96152c40c14efe2 has active endpoints

$ docker network inspect ddev-wwwschempp-hirthcom_default
  ... # the ddev agent is somehow in that project network:
        "Containers": {
            "a4889472d1f6728d4e3200cdcd7c8c84d27efe48c08cb96d38f3f2285dfc3214": {
                "Name": "ddev-ssh-agent",
                "EndpointID": "baa3a01000c1e07596185a8230429a2fc7f1b8acf7bc8bd1a69f91eb7aadae4e",
                "MacAddress": "02:42:ac:18:00:02",
                "IPv4Address": "<IP_ADDRESS>/16",
                "IPv6Address": ""
            }
        },
  ...

$ docker stop ddev-ssh-agent && docker network rm ddev-wwwschempp-hirthcom_default
# network gets removed

With the previous https://github.com/drud/ddev/commit/8e3b43a84dd84420294c57ba2565f7e044ed4461 that is not reproducible:
$ ddev stop
Container ddev-www.schempp-hirth.com-web  Stopping
...
Network ddev-wwwschempp-hirthcom_default  Removing  # < here
Network ddev-wwwschempp-hirthcom_default  Removed   # < docker-compose down removes the project networks
Project www.schempp-hirth.com has been stopped.

It does not happen with all of my projects.
Here's a reproducible example:
$ mkdir a.b.c && cd a.b.c
$ ddev config --project-type php && ddev start && ddev stop
$ docker network ls
# project network was not removed

Could we have tests for unusual project names? Multiple . and -seem to be problematic. Uppercase is also valid as a project name currently.

Thanks for your careful eye!

I took the opportunity to limit the chattiness (or at least the amount we output) of docker-compose. I never have thought we needed 3 separate messages about every container creation. That gets rid of the "no resource" when stopping and nothing exists.
The failure of network to delete was very odd. It turns out that when I removed all network declaration from the ddev-ssh-agent compose file, it then somehow attached itself to the network of the ddev project that was starting it. As a result of that, with ddev ssh-agent still running, the network wasn't removed on docker-compose down because it was still in use. I fixed this just by adding the network statements back into the ssh-auth-compose file. No idea why it did that. I also added a little test coverage to make sure the network is gone.

Again, thanks so much for the brilliance of this approach and for the careful testing and good eye.

And then I went and...

changed the name of the global network to "ddev" instead of "ddev_default". Never understood why it was called "ddev_default".
Make ddev poweroff also delete the "ddev" network.

I tried to break it really hard. This works beautifully now. Thank you so much!
I especially played around with shared and project-local services again - and am really pleased how stable things are.

Local services: Usual project-local services do not need any changes. Their local (or full) name always resolves from the same project and never resolves from other projects.
Shared services: In order to make a container available to other projects (or to the router), one has to add at least networks: [ddev]. This resolves the short service name as well as the full container name (ddev-...) from everywhere. It is advisable to always add [default, ddev], though in order for the next point to work as expected.
Unambiguous: A local service of the same name always takes precedence in resolving. Short service name and full container name can be used.

The messages on ddev start/stop/poweroff are so noticeably cleaner now, too! This alone makes my heart happy.
The network name ddev is also very sensible I think. (I am adapting the first post)
ddev poweroff does not leave any trace behind.
Get well into the new year, Randy.

Sorry, I really didn't want to confuse you - or did you pick the wrong emoji?

Sorry, I really didn't want to confuse you - or did you pick the wrong emoji?

I'm confused. What emoji? :)

I'm confused. What emoji? :)

I meant that one under my last post:

:)

Oh, my eyes just aren't what they ought to be. Must not have had my glasses on. Was trying for a smiley face. Sorry!


Adding new tag 404 NOT FOUND

Hello Marius, i would like to know if is there an option to create the rewrite automatically on add a new tag, every time is added a new tag need to be created manually in the url rewrite management.
Thanks

Closed due to inactivity


Added documentation for elastic system + release notes entry

Overview

added release notes entry for elastics
added updated elastics entries in bounds control and object manipulator
added doc link for elastics in toc
added doc link for elastic inspector
added component menu entries for elastic manager and bounds control

/azp run mrtk_docs

/azp run mrtk_docs

/azp run mrtk_docs

/azp run mrtk_docs

@Zee2 FYI :)


Proper construction of scope for exec/eval.

One case I couldn't handle is that the following is valid in CPython.
>>>>> exec("print(x)", None, {'x': 2})
Traceback (most recent call last):
  File <stdin>, line 0, in <module>
TypeError: argument of type <class 'dict'> is required for parameter 2 (globals) (got: <class 'NoneType'>)

arg_check! needs to allow None and treat it as if the optional argument wasn't passed. I don't know what other builtins have this behaviour.

Codecov Report

Merging #590 into master will decrease coverage by 0.49%.
The diff coverage is 57.14%.

@@            Coverage Diff            @@
##           master     #590     +/-   ##
=========================================
- Coverage   41.64%   41.14%   -0.5%
=========================================
  Files          74       74
  Lines       16701    16776     +75
  Branches     4369     4424     +55
=========================================
- Hits         6955     6903     -52
- Misses       7764     7878    +114
- Partials     1982     1995     +13

Impacted Files
Coverage Δ

vm/src/builtins.rs
33.01% <47.05%> (-10.68%)
:arrow_down:

vm/src/vm.rs
52.49% <71.42%> (-0.87%)
:arrow_down:

vm/src/frame.rs
47.16% <75%> (+0.05%)
:arrow_up:

Continue to review full report at Codecov.

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

Looks like CPython doesn't do "magic" type checking either, and just allows any type, then checks for None, then manually typechecks for dict.
https://github.com/python/cpython/blob/master/Python/bltinmodule.c#L1000

In that case I've added a macro to do the extra checking.
This leads me to run into the limitations of our definitions of scope. We consider local scope to be the nearest scope to us so top level statements execute with local and global scope being the same thing. In python though this means there is no local scope, creating one doesn't replace the current local==global scope.
This should work, but doesn't:
x=2
exec("print(2)", None, {})

We'll need to sort this out to implement the globals keyword, but I think what we have is okay for now.

Uh... the above is wrong. It  looks like creating a new local scope never replaces the existing local scope. (Ie. that code still works even in a function.)
This is all wrong. :(

I was right the first time! :)

Interesting example:
def g():
    seven = "seven"
    def f():
        d = {}
        exec("y = seven", None, d)
        assert d['y'] == seven
    f()
g()


Feature/nav 150 extract python viewer package

Still a draft, there are errors from the refactoring...

@clukas1, I think we could merge this and release the viewer with version 0.5.0?


please implement SSO

Hello!
Good Job!
Im requesting SSO implemetation.
It is possible?
Case: SSO Auth server, makes User authenticated at multiple servers.
Thanks!

No plans for this sorry


refactor: change decode revert reason and encode log bloom

What this PR does / why we need it:
Which issue(s) this PR fixes:

Fixes #
Which docs this PR relation:
Ref #
Which toolchain this PR adaption:
No Breaking Change
Special notes for your reviewer:
CI Switch
ci-runs-only: [Chaos CI, Cargo Clippy, Coverage Test, E2E Tests, Code Format, Unit Tests, Web3 Compatible Tests]

Codecov Report

Merging #535 (19b6d60) into main (3c0f465) will increase coverage by 0.07%.
The diff coverage is 79.10%.

@@            Coverage Diff             @@
##             main     #535      +/-   ##
==========================================
+ Coverage   17.02%   17.09%   +0.07%
==========================================
  Files         136      137       +1
  Lines       18777    18799      +22
==========================================
+ Hits         3196     3214      +18
- Misses      15581    15585       +4

Impacted Files
Coverage Δ

core/consensus/src/engine.rs
0.00% <ø> (ø)

core/executor/src/tests/mod.rs
100.00% <ø> (ø)

core/metadata/src/tests/mod.rs
100.00% <ø> (ø)

protocol/src/codec/executor.rs
0.00% <0.00%> (ø)

protocol/src/codec/transaction.rs
46.02% <ø> (ø)

protocol/src/types/executor.rs
77.41% <0.00%> (-2.59%)
:arrow_down:

core/executor/src/utils.rs
81.25% <81.25%> (ø)

core/executor/src/lib.rs
82.88% <95.00%> (-0.30%)
:arrow_down:

core/executor/src/debugger/create2.rs
100.00% <100.00%> (ø)

core/executor/src/system.rs
95.34% <100.00%> (+0.22%)
:arrow_up:

... and 3 more


Release Google.Cloud.AIPlatform.V1 version 1.0.0

Changes in this release:

Commit 68f7900: feat: Adds support for google.protobuf.Value pipeline parameters in the parameter_values field

First GA release. Note that the dependencies on Google.Cloud.AutoML.V1 and Google.Cloud.DataLabeling.V1Beta1 have been removed in this release.

Created release for Google.Cloud.AIPlatform.V1-1.0.0


CRC podman images are missing

Hi, i have a podman info output as below.
host:
  arch: amd64
  buildahVersion: 1.21.3
  cgroupControllers: []
  cgroupManager: cgroupfs
  cgroupVersion: v1
  conmon:
    package: conmon-2.0.29-1.module+el8.4.0+11822+6cc1e7d7.x86_64
    path: /usr/bin/conmon
    version: 'conmon version 2.0.29, commit: ae467a0c8001179d4d0adf4ada381108a893d7ec'
  cpus: 12
  distribution:
    distribution: '"rhcos"'
    version: "4.10"
  eventLogger: file
  hostname: crc-m5qn9-master-0
  idMappings:
    gidmap:
    - container_id: 0
      host_id: 1000
      size: 1
    - container_id: 1
      host_id: 100000
      size: 65536
    uidmap:
    - container_id: 0
      host_id: 1000
      size: 1
    - container_id: 1
      host_id: 100000
      size: 65536
  kernel: 4.18.0-305.45.1.el8_4.x86_64
  linkmode: dynamic
  memFree:<PHONE_NUMBER>
  memTotal:<PHONE_NUMBER>2
  ociRuntime:
    name: runc
    package: runc-1.1.0-2.rhaos4.10.el8.x86_64
    path: /usr/bin/runc
    version: |-
      runc version 1.1.0
      spec: 1.0.2-dev
      go: go1.17.5
      libseccomp: 2.5.1
  os: linux
  remoteSocket:
    exists: true
    path: /run/user/1000/podman/podman.sock
  security:
    apparmorEnabled: false
    capabilities: CAP_NET_RAW,CAP_CHOWN,CAP_DAC_OVERRIDE,CAP_FOWNER,CAP_FSETID,CAP_KILL,CAP_NET_BIND_SERVICE,CAP_SETFCAP,CAP_SETGID,CAP_SETPCAP,CAP_SETUID,CAP_SYS_CHROOT
    rootless: true
    seccompEnabled: true
    seccompProfilePath: /usr/share/containers/seccomp.json
    selinuxEnabled: true
  serviceIsRemote: true
  slirp4netns:
    executable: /usr/bin/slirp4netns
    package: slirp4netns-1.1.8-1.module+el8.4.0+11822+6cc1e7d7.x86_64
    version: |-
      slirp4netns version 1.1.8
      commit: d361001f495417b880f20329121e3aa431a8f90f
      libslirp: 4.3.1
      SLIRP_CONFIG_VERSION_MAX: 3
      libseccomp: 2.5.1
  swapFree: 0
  swapTotal: 0
  uptime: 44m 32.96s
registries:
  search:
  - registry.access.redhat.com
  - docker.io
store:
  configFile: /var/home/core/.config/containers/storage.conf
  containerStore:
    number: 0
    paused: 0
    running: 0
    stopped: 0
  graphDriverName: overlay
  graphOptions:
    overlay.mount_program:
      Executable: /usr/bin/fuse-overlayfs
      Package: fuse-overlayfs-1.6-1.module+el8.4.0+11822+6cc1e7d7.x86_64
      Version: |-
        fusermount3 version: 3.2.1
        fuse-overlayfs: version 1.6
        FUSE library version 3.2.1
        using FUSE kernel interface version 7.26
  graphRoot: /var/home/core/.local/share/containers/storage
  graphStatus:
    Backing Filesystem: xfs
    Native Overlay Diff: "false"
    Supports d_type: "true"
    Using metacopy: "false"
  imageStore:
    number: 3
  runRoot: /run/user/1000/containers
  volumePath: /var/home/core/.local/share/containers/storage/volumes
version:
  APIVersion: 3.2.3
  Built:<PHONE_NUMBER>
  BuiltTime: Thu Jul 29 15:02:43 2021
  GitCommit: ""
  GoVersion: go1.15.7
  OsArch: linux/amd64
  Version: 3.2.3

once i check Graphroot path i dont see any images in my localstorage and strangely the output is below.
ls -l /var/home/core/.local/share/containers/storage ls: /var/home/core/.local/share/containers/storage: No such file or directory
and for a locally build image, if i try to use skopeo it oddly fails.
skopeo copy containers-storage:localhost/sample:v1 docker://quay.io/user1/sample:latest
FATA[0000] Invalid source name containers-storage:localhost/sample:v1: chown /Users/burgekaraer/.local/share/containers/storage/vfs: operation not permitted

this is what i have got.
ls -l /Users/burgekaraer/.local/share/containers/storage total 0 drwx------  2 burgekaraer  staff  64 11 Jun 03:34 mounts -rw-r--r--  1 burgekaraer  staff   0 11 Jun 03:34 storage.lock drwx------  2 burgekaraer  staff  64 11 Jun 03:34 tmp -rw-r--r--  1 burgekaraer  staff   0 11 Jun 03:34 userns.lock drwx------  2 burgekaraer  staff  64 11 Jun 03:34 vfs drwx------  3 burgekaraer  staff  96 11 Jun 03:49 vfs-containers drwx------  3 burgekaraer  staff  96 11 Jun 04:11 vfs-images
if i run
sudo chown root:wheel /Users/burgekaraer/.local/share/containers/storage/vfs
then skopeo is giving a different error.
skopeo copy containers-storage:localhost/sample:v1 docker://quay.io/osezgin/sample:latest FATA[0000] initializing source containers-storage:[vfs@/Users/burgekaraer/.local/share/containers/storage+/private/var/folders/k4/n90g79rd6vv0fl__ysg8_j280000gn/T/containers-user-501/containers]localhost/sample:v1: reference "[vfs@/Users/burgekaraer/.local/share/containers/storage+/private/var/folders/k4/n90g79rd6vv0fl__ysg8_j280000gn/T/containers-user-501/containers]localhost/sample:v1" does not resolve to an image ID: identifier is not an image
would anybody have any idea explanation etc to find out what's going on?
Another question is where podman is placing the built or downloaded images in local disk? How can i find that out?
Many thanks

Which preset are you using? It seems you are running the OpenShift preset and using podman-env, right? As the info says:
distribution: '"rhcos"'

Note: Please make sure to provide the/'as much' information as asked in the template

ls -l /Users/burgekaraer/.local/share/containers/storage

Looks like you are using this on macOS. On macOS, podman really is podman-remote, and the actual work (image storage, ...) is done by the VM crc started. This means ls -l /var/home/core/.local/share/containers/storage ls: /var/home/core/.local/share/containers/storage: No such file or directory should be run inside the VM, I don't know where you run it.

Which preset are you using? It seems you are running the OpenShift preset and using podman-env, right? As the info says:
distribution: '"rhcos"'

Note: Please make sure to provide the/'as much' information as asked in the template

my config is as mentioned here

that means i should do skopeo from the vm? even though i am not sure how to connect to VM or if there is a way to copy from vm by running skopeo from host (my local) to remote. in theory there should be since skopeo is able to copy between two regs, i just dont know what to specify for the vm which is serving images..

that means i should do skopeo from the vm?

You haven't confirmed what you tried doing exactly, running skopeo from the VM would be one way yes. But we expose unix sockets on your host which can be used to talk to the podman instance using docker/podman http API, hopefully skopeo can use these directly?

i have built an image and wanted to copy that to public registry which was quay.io. it is experimental effort though but would be good to achieve.


Iphone app fails to load plugin and display an error message

When the plugin is installed, the iphone App will not succeed to load the plugin.
Main problem is then that , afterthat, it will not correctly update existing notes.

I have the same issue...

Same issue and also with the unique attachment plugin! Only on iOS iPhone on the iPad it’s working just fine!

Fixed in https://github.com/dy-sh/obsidian-consistent-attachments-and-links/releases/tag/3.0.0


Add API Gateway Event Input and Output to "app.js" and "app.py"

The Node.js and Python hello world examples don't separate clearly what is the syntax used by the API Gateway and what is the basic logic of the example.
I suggest to rename the input "event" as "apiGatewayEvent" and add a link to the Lambda Proxy input/output syntax:
input format
output format

Context:
Python: https://github.com/awslabs/aws-sam-cli/blob/6164d6d2e7351a849ad3d79973ac18b8d3d1d371/samcli/local/init/templates/cookiecutter-aws-sam-hello-python/{{cookiecutter.project_name}}/hello_world/app.py#L10
NodeJS: https://github.com/awslabs/aws-sam-cli/blob/6164d6d2e7351a849ad3d79973ac18b8d3d1d371/samcli/local/init/templates/cookiecutter-aws-sam-hello-nodejs/{{cookiecutter.project_name}}/hello_world/app.js#L12

Closing this as it was released in 0.6.0


Rooms formats

Suggestion
I was thinking we should pick a format for our rooms to be named. This way we don't get repetitive rooms, like programming and PROgrammING.
Example
Slack lets you only create rooms in lowercase, I like this approach, what do you guys think?

Yea I like that to, we could say only lowercase letters to be more strict

And automatically take the input in as lowercase

Sounds good to me 👍

Do we want to add hyphens in case of multiple words in a name?

yeah that sounds good ^


Lobby creator can start the game when all players have joined

The idea is, that the creator can see the joined users


Archive docs for v0.7.1

python3 scripts/archive_docs.py 0.7.1 --date=2023-02-27

Looks like this was already done by Alex & Carlo, though was initially under the wrong folder name


Added new channels, Created 'Game Development' section

Added Telusko, kudvenkat, Awais Mirza in 'Tutorial'.
Added BBarters in 'Retired'.
Moved JavaBrains from 'Informational' to 'Tutorial'.
Created 'Game Development' section (moved there youtubers already existing in the list and added new ones too).
Added Jarvis Johnson in 'Software Entertainment'.

This is ok!


[BUG] Filtering a non-existent column value in a overflowed div

Hello, first, i would like to apologize if this bug is already raised (couldn't find it).
I've encountered an issue with filtering, where if you have columns beyond the table width (creating a Horizontal Scroller) and you filter a column with an invalid value, the scroll and data disappear, not allowing you to remove that filter.
It's a bit hard to explain, so I've attached a GIF and instructions showing the issue (from https://www.ag-grid.com/javascript-grid-filtering/)
http://i.imgur.com/MbcVV3z.gifv
Browser : Chrome (54.0.2840.99 m)
How to replicate :

Open https://www.ag-grid.com/javascript-grid-filtering/
On the second table (Apply Function), scroll to the Total column
Filter it using a random value (11 for example)
BAM, you can't change that filter and the data is gone

Thanks :)

fixed. will be in next release.


Add drawing images

Closes #23

Fantastic, nice work @eoogbe!
I especially like your quality test cases.
Would you be able to add some documentation to the README for the image helper?
After that I'm happy to merge and publish this.

Very nice docs, thanks for adding those @eoogbe.
Happy to merge now.

Hey @schempy, could you please give me publish rights for this repo?
I think you just need to run npm owner add widdershin cycle-canvas.

@Widdershin All done! Let me know if there are any problems.

Worked a treat @schempy, thanks for that.
Released this change in v0.5.0.
@eoogbe: I've invited you to be a collaborator on this repo. This doesn't obligate you to contribute in future, but it means we can more easily collaborate as we can together on branches on this repo.
I also welcome you to review pull requests, triage issues and add more features 😄
Thanks again for contributing!


PubSub modifyAckDeadline question

Given a MessageConsumer constructed like this:
 MessageConsumer consumer = pubsub.pullAsync(
        subscription,
        messageProcessor,
        PubSub.PullOption.maxQueuedCallbacks(maxQueuedCallbacks),
        PubSub.PullOption.executorFactory(executorFactory)
    );

How can I modify the acknowledge deadline for a the message?
To use the pubsub.modifyAckDeadline(); I need to know the ackId or ackId's but I can't get that from the process(Message) call.
public class BuildEventHandler implements PubSub.MessageProcessor {
  public void process(Message message) throws Exception {
  }
}

Hi @fonzy2013,
When MessageConsumer is used, the ack deadline of your messages is automatically renewed until the message is either acknowledged or "nacked". Notice that the message is automatically "acked" when MessageProcessor.process(Message) is executed successfully, or "nacked" when MessageProcessor.process(Message) throws an exception.
See the javadoc for reference.
This is the reason the ackId is not exposed.

Thanks that is really good.


taiko -v for release version should provide correct output

Expected behavior
taiko -v should not give "Undefined".
Either it should provide Release or commit version
Example:
Version: 0.9.0 (Chromium: 76.0.3803.0) 557605e6120efa4eb3276c5ecf52aa467d04ca14
Version: 0.9.0 (Chromium: 76.0.3803.0) Release
Actual behavior
On release version it provides the below output
Version: 0.8.0 (Chromium: 76.0.3803.0) undefined

Fix available in d3df4b5

This has been verified and found fixed.


How to download different files to the same path?

Before Issue

Please search on the Issues
Please search on the wiki
Please set FileDownloadLog.NEED_LOG=true and review the Logcat output from main process and :filedownloader process ( pay attention to Warn and Error level logcat)

Issue

What problem do you get?
Which version of FileDownloader are you using when you produce such problem?
How to reproduce such problem?
Do you set FileDownloadLog.NEED_LOG=true?
Could you please reproduce this problem and provide all main process and :filedownloader process logcat
Can you fix it by yourself and request PR, if not, what's problem do you get when you try to fix it

P.S. If you don't know how to get :filedownloader process, it's recommended to using pidcat to just filter all your application logcat, or define process.non-separate=true on filedownloader.properties

请在Issue前认真的跟进上面提到的建议，这样将可以极大的加快你遇到问题的处理。

Please refer to BaseDownloadTask#setPath(String path, boolean pathAsDirectory). You can set the same path for multiple tasks, of course, the path should be a directory instead of a target file.


Add a pre-made message about issue priority

Add a pre-made message when the issue will not be resolved soon.
Related to #242

Is it a template, to quickly share that with the user, when they are asking for new features in the bottom tier SDKs

Maybe you should precise the rule: "Integration team do not prioritize all issues at the same level and has some tiers (see this guide)"
And then, saying it's a template: "You can use the following template:"
Because the rest of the guide does not have the same format 😊

Is it a template, to quickly share that with the user, when they are asking for new features in the bottom tier SDKs

Maybe you should precise the rule: "Integration team do not prioritize all issues at the same level and has some tiers (see this guide)" And then, saying it's a template: "You can use the following template:"
Because the rest of the guide does not have the same format 😊

I changed a little bit the design of the guide to make it more transparent for the team what is a message template is and what a rule/guide.


Info messages are not shown on REPL

Describe the bug
Info messages (like when loading a new file or when switching the REPL namespace) are shown on floating messages, but not on the REPL itself.
To Reproduce
Steps to reproduce the behavior:

Load a new file on REPL
The floating balloon will appear with "Loaded file /foo/bar"
Nothing is shown on REPL

Expected behavior
Maybe it could be a option to change between these options (floating messages or REPL messages).
Screenshots

Environment (please complete the following information):

IntelliJ IDEA 2024.2.4 (Community Edition)
MacOS

This was on purpose, to follow the same behavior as cider, why do you would want to show in the repl if the current feedback seems enough?


Investigate VJSF performance issues

This is an investigative task to help understand the root cause of #662, #646 and #588.

FWIW, I did profile in browser today but since know no JS wasn't able to identify ultimate reason

If there is no related issue filled with vjsf, I would've also failed one there, ideally with some code to reproduce/demonstrate

We discussed this in person yesterday, but just to summarize here:
The slowdown appears to occur when VJSF renders an "array" field from a JSON schema. When an array field contains many elements that contain several nested child objects, the rendering slows down (an example is the "contributor" field on this dandiset). I'll file an issue with vjsf with that dandiset as an example.

this should also improve with dandi schema  0.4.0 which simplifies affiliation  (and i might reduced the contact person model as well to a simpler form in a future schema update).

This investigation is concluded, with a fix in #730 waiting on a schema upgrade.

The slowdown still persists even after applying the fix in #730 - reopening this issue.

@mvandenburgh - i've updated this codepen to use dandiset 26  (https://codepen.io/satra-the-reactor/pen/NWbKbrj?editors=1010) perhaps you can use this as an example with vjsf issue to see what could be done to speed things up.

that being said, other dandisets are quite a bit faster now as a result of the change. and even this dropped by about 10s

Keeping this open until the cause of https://gui-staging.dandiarchive.org/#/dandiset/000020 freezing is determined.

Keeping this open until the cause of https://gui-staging.dandiarchive.org/#/dandiset/000020 freezing is determined.

@mvandenburgh is this still valid or can we close? Dandiset 20 doesn't freeze the meditor (but maybe the dandiset in question has moved or something), and we are now moving onto a bit of an alternative metadata editing scheme.

@mvandenburgh is this still valid or can we close? Dandiset 20 doesn't freeze the meditor (but maybe the dandiset in question has moved or something), and we are now moving onto a bit of an alternative metadata editing scheme.

This can be closed (and indeed should have been a while ago) - the freezing issue has been fixed (relevant dandiarchive and vjsf issues)


Save the song to the likes playlist

Since you already have the functionality to listen to the playlist of liked songs, could you add the function to save the songs in this playlist?
With a new command, such as CTRL+S (save).

This was planned however there is two things I first need to decide on:

Would liking a music also like it on the youtube app
If no wouldn't it be better to have a local like playlist

Ok, I would also like to congratulate you for the initiative, I've been looking for exactly this TUI and when I found it I was delighted with how it's already very good even in alpha.

Would liking a music also like it on the youtube app
I would think it would be beneficial to do so since youtube somewhat uses your likes for your automated Mix playlists.

I do see the benefit of a local like playlist as well.

Maybe and option should be added to the config to select whether we want to sync with YT music when liking a music or just add it to a local playlist. Another option would be to add maybe CTRL + Shift + S (add to youtube music likes) and CTRL + S (Add to local likes).
One thing I'm afraid of is that I won't be able to bypass google telemetry when a like happen. (Actually I'm downloading musics and retrieving the playlists from different ENVs (Playlist from your account and musics from a blank user). But with likes you'll tell google what you are doing on the app...

It would be great to have the ability to add a song to a Liked playlist. I think your solution would be perfect (local likes and likes on YouTube), this way a user has the choice to share this kind of data with Google. I personally would be fine with CTRL + SHIFT + S and CTRL + S for the two different playlists.


Duration constraints do not consider the period as a whole when validating the constraint

Configuration information

EHRbase version: 0.19.0
openEHR_SDK version: 1.17.0
Archie version: 1.0.4
PostgreSQL version: PostgreSQL 14.2 (Debian 14.2-1.pgdg110+1) on x86_64-pc-linux-gnu, compiled by gcc (Debian 10.2.1-6) 10.2.1 20210110, 64-bit
Java Runtime version: Oracle Corporation 11.0.14+9
Operating System version: Linux amd64 5.10.104-linuxkit

Steps to reproduce

Create a template in Archetype Designer that contains a duration where a minimum is set to greater than 0 days

Upload the template to EhrBase

Attempt to create/update the composition against the template where the period is greater than 0 days, but does not use the day designator (i.e P1M - 1 month) using the Ethercis endpoint (i.e http://localhost:8453/ehrbase/rest/ecis/v1/composition/{composition-id})

See a 500 error

Operational Template
medications_statement.v0.txt
Web template
medications_statement_web_template.txt

Request payload
{
    "medications/category|terminology" : "openehr",
    "medications/category|code" : "433",
    "medications/category|value" : "event",
    "medications/context/start_time" : "2022-05-24T05:57:30.341Z",
    "medications/context/setting|code" : "228",
    "medications/context/setting|terminology" : "openehr",
    "medications/context/setting|value" : "primary medical care",
    "medications/medication_list/medication_statement:0/medication_name|code" : "387517004",
    "medications/medication_list/medication_statement:0/medication_name|terminology" : "//fhir.hl7.org/ValueSet/$expand?url=http://snomed.info/sct?fhir_vs=ecl/%3C%20410942007%20MINUS%20%3E%28%3C410942007%29&activeOnly=true",
    "medications/medication_list/medication_statement:0/medication_name|value" : "Paracetamol",
    "medications/medication_list/medication_statement:0/route|terminology" : "//fhir.hl7.org/ValueSet/$expand?url=http://snomed.info/sct?fhir_vs=ecl/%3C%20284009009&activeOnly=true",
    "medications/medication_list/medication_statement:0/route|value" : "Oral route",
    "medications/medication_list/medication_statement:0/route|code" : "26643006",
    "medications/medication_list/medication_statement:0/status|code" : "at0011",
    "medications/medication_list/medication_statement:0/status|terminology" : "local",
    "medications/medication_list/medication_statement:0/status|value" : "Active",
    "medications/medication_list/medication_statement:0/dosage/dose_amount|unit" : "1",
    "medications/medication_list/medication_statement:0/dosage/dose_amount|magnitude" : 2,
    "medications/medication_list/medication_statement:0/dosage/dose_unit|code" : "428673006",
    "medications/medication_list/medication_statement:0/dosage/dose_unit|value" : "tablets",
    "medications/medication_list/medication_statement:0/dosage/dose_unit|terminology" : "SNOMED-CT",
    "medications/medication_list/medication_statement:0/timing_-_non-daily/repetition_interval" : "P2Y",
    "medications/medication_list/medication_statement:0/timing/is_this_taken_daily|terminology" : "local",
    "medications/medication_list/medication_statement:0/timing/is_this_taken_daily|value" : "non-daily",
    "medications/medication_list/medication_statement:0/timing/is_this_taken_daily|code" : "at0003",
    "medications/medication_list/medication_statement:0/clinical_indication|code" : "25064002",
    "medications/medication_list/medication_statement:0/clinical_indication|value" : "Headache",
    "medications/medication_list/medication_statement:0/clinical_indication|terminology" : "//fhir.hl7.org/ValueSet/$expand?url=http://snomed.info/sct?fhir_vs=ecl/%3C404684003&activeOnly=true",
    "medications/medication_list/medication_statement:0/time" : "2022-05-24T05:58:40.851Z",
    "medications/medication_list/medication_statement:0/language|terminology" : "ISO_639-1",
    "medications/medication_list/medication_statement:0/language|code" : "en",
    "medications/medication_list/medication_statement:0/encoding|code" : "UTF-8",
    "medications/medication_list/medication_statement:0/encoding|terminology" : "IANA_character-sets",
    "medications/composer|id_namespace" : "development-bigpicturemedical-com",
    "medications/composer|id_scheme" : "UUID",
    "medications/composer|id" : "c7c78727-7faf-453e-b573-e5152848ea19",
    "medications/composer|name" : "Super Admin",
    "medications/language|code" : "en",
    "medications/language|terminology" : "ISO_639-1",
    "medications/territory|code" : "AU",
    "medications/territory|terminology" : "ISO_3166-1",
    "medications/_uid" : "288c90f7-5cd7-4c16-97be-44c52daa1cdc::local.ehrbase.org::5"
}

Actual result

Ehrbase will return a 500 error that an internal server error occurred.
If I take a look at the logs in Ehrbase, I can see an error from my request:

org.ehrbase.api.exception.InternalServerException: org.ehrbase.validation.ConstraintViolationException: /content[openEHR-EHR-SECTION.medication_list.v0]/items[openEHR-EHR-OBSERVATION.medication_statement.v0]/data[at0001]/events[at0002]/data[at0003]/items[openEHR-EHR-CLUSTER.timing_nondaily.v1]/items[at0002]/value: The value 0 must be greater than 0

I theorise that because my template has constraints around the days that the request is failing because the provided duration does not specify a day designator. However, by virtue of the fact that the duration is using a greater period designator than days, that it must therefore be implicitly greater than 0 days (i.e 1 year is more than 0 days).
If I update the period to include a day designator, EhrBase accepts the request (i.e P1Y1D).
Expected result (Acceptance Criteria)

When validating a duration against minimum or maximum constraints, the whole timestamp should be taken into account and the period as a whole considered.
Examples:

if I constrain days to be greater than 0, then 1 week/month/year should satisfy this without specifying a day designator (i.e P1M)
if I constrain year to be less than 2, then choosing 36 months, 156 weeks, 795 days should produce a validation failure (i.e P36M, P156W, P795D)
if I constrain weeks to be greater than 2, then 17 days should satisfy this without specifying the day designator (i.e P17D)

Definition of Done

[ ] The defect is checked by an unit or an integration test (Robot)
[ ] Merge Request approved
[ ] Unit tests passed
[ ] Build without errors
[ ] Release notes prepared
[ ] No additional runtime warnings

Hello @jryd ,
I can't reproduce it. Uploaded template and created composition as per Steps To Reproduce data.
I don't see any errors in ehrbase logs. PFA file.
ehrbase_logs.txt
Test Case: Create Composition With Fractional Interval Time Duration
log_success.zip

with "medications/medication_list/medication_statement:0/timing-non-daily/repetition_interval" : "P2Y",

Sorry for the delay in getting back to you @vladislavploaia.
I can confirm that in the latest version, 0.21.1, that this is resolved for me.


save file Unable to define _id

建议修改为:
def save_file(self, filename, fileobj, base='fs', content_type=None, kwargs):
example：
mongo.save_file(filename,open(filename,'r'),{"_id":uuid})

def save_file(self, filename, fileobj, base='fs', content_type=None, **kwargs):
    """Save the file-like object to GridFS using the given filename.
    Returns ``None``.

    .. code-block:: python

        @app.route('/uploads/<path:filename>', methods=['POST'])
        def save_upload(filename):
            mongo.save_file(filename, request.files['file'])
            return redirect(url_for('get_upload', filename=filename))

    :param str filename: the filename of the file to return
    :param file fileobj: the file-like object to save
    :param str base: base the base name of the GridFS collections to use
    :param str content_type: the MIME content-type of the file. If
       ``None``, the content-type is guessed from the filename using
       :func:`~mimetypes.guess_type`
    """
    if not isinstance(base, text_type):
        raise TypeError('"base" must be string or unicode')
    if not (hasattr(fileobj, 'read') and callable(fileobj.read)):
        raise TypeError('"fileobj" must have read() method')

    if content_type is None:
        content_type, _ = guess_type(filename)

    storage = GridFS(self.db, base)
    storage.put(fileobj, filename=filename, content_type=content_type, **kwargs)

Can you show the complete traceback or error message you get? What version of PyMongo and MongoDB server are you using?

Closing for inactivity. If you are still having this problem, please re-open and show the complete traceback so that we can help diagnose the issue.


Make an overload of foreach_subrange() that produces ranges as its output, writing through an output iterator.

This may be useful one day, but before concepts are available, it is entirely too clunky to do with sfinae.


Mint Tea hangs when trying to render a TUI app

I noticed that my Mint Tea app hangs on the start occasionally.
Sometimes the app is snappy but sometimes displays the initial screen and ignores all the future key events (or takes about 20 seconds to process a keyboard event).
When such a problem happens, I see that strace spams with errors:
clock_nanosleep(CLOCK_REALTIME, 0, {tv_sec=0, tv_nsec=10000}, NULL) = 0
futex(0x55aab30882a8, FUTEX_WAKE_PRIVATE, 1) = 1
futex(0x55aab503d8b0, FUTEX_WAIT_PRIVATE, 2, NULL) = -1 EAGAIN (Resource temporarily unavailable)
futex(0x55aab503d8b0, FUTEX_WAKE_PRIVATE, 1) = 0
futex(0x55aab503d8b0, FUTEX_WAIT_PRIVATE, 2, NULL) = -1 EAGAIN (Resource temporarily unavailable)
futex(0x55aab503d8b0, FUTEX_WAKE_PRIVATE, 1) = 0
futex(0x55aab503d8b0, FUTEX_WAIT_PRIVATE, 2, NULL) = -1 EAGAIN (Resource temporarily unavailable)
futex(0x55aab503d8b0, FUTEX_WAKE_PRIVATE, 1) = 0
futex(0x55aab503d8b0, FUTEX_WAIT_PRIVATE, 2, NULL) = -1 EAGAIN (Resource temporarily unavailable)
futex(0x55aab503d8b0, FUTEX_WAKE_PRIVATE, 1) = 0
futex(0x55aab30882a8, FUTEX_WAKE_PRIVATE, 1) = 1
futex(0x55aab503d8b0, FUTEX_WAIT_PRIVATE, 2, NULL) = -1 EAGAIN (Resource temporarily unavailable)
futex(0x55aab503d8b0, FUTEX_WAKE_PRIVATE, 1) = 0
futex(0x55aab503d8b0, FUTEX_WAIT_PRIVATE, 2, NULL) = -1 EAGAIN (Resource temporarily unavailable)
futex(0x55aab503d8b0, FUTEX_WAKE_PRIVATE, 1) = 0
futex(0x55aab503d8b0, FUTEX_WAIT_PRIVATE, 2, NULL) = -1 EAGAIN (Resource temporarily unavailable)
futex(0x55aab503d8b0, FUTEX_WAKE_PRIVATE, 1) = 0
futex(0x55aab503d8b0, FUTEX_WAIT_PRIVATE, 2, NULL) = -1 EAGAIN (Resource temporarily unavailable)
futex(0x55aab503d8b0, FUTEX_WAKE_PRIVATE, 1) = 0

I forked minttea and added some logging, and I observed that Mint Tea hangs on receiving and processing Frame events here:

https://github.com/leostera/minttea/blob/7a64431fb340328d70c45c2a1f009d3fe431b823/minttea/program.ml#L14

You can try to reproduce the problem using the following project:

https://github.com/chshersh/github-tui/tree/0110a532c2b2c4e943a8cb5616f9a0850394a86f

It used pinned from GitHub versions of all Mint Tea ecosystem dependencies.
Run the project by executing dune exec bin/main.exe and try pressing numbers 1,2,3 or arrows or hjkl or q to quit.
Expected behaviour: The TUI app is immediately responsive and rerenders instantly
Actual behaviour: The TUI app sometimes hangs and stops responding to input key events

The error is flaky and is not always reproducible

I'm on Windows 11 and running my project through WSL2 and Ubuntu.

Hi,
I think I observe the same bug when running the basic example with commit 7a64431fb340.
Here are gifs made from the same program examples/basic/main.ml and the same tape file examples/basic/demo.tape:

It is not clear to me whether the EAGAIN errors are a problem, as the traces from a good run has a lot of them too.
Here are two traces for a good and a hanging run (the pointers have been renamed to reduce differences between the traces and simplify comparison):
strace_ok.txt
strace_hang.txt
I am on Arch Linux running OCaml 5.1.1 with pinned repositories for all the riot ecosystem.

A solution for #46 fixes the problem for me, so I'm happy to close this as a duplicate.


Environment Variables in Add and Details needs to be changed & fixed

Rancher versions: 6/14
Fixes needed:

[x] In Add - Remove Environment Labels from command accordion section

[x] In Add - Fix Environment Variable so they work on containers and scaling groups (they seem to be broken and not adding at the moment)

[x] In Details - Remove Environment labels from command accordion

[x] In Details - Create a new Environment Variables accordion that will display information in table.

@tfiduccia I can not repro the env vars not being set. As far as I can tell they are working correctly. I launched 4 containers and 4 scaling groups with env vars, all had the correct var's set. I am actually thinking that because the env vars also existed (for input mode) in the command component as well as the normal spot to add them that maybe they were over writing each other. I think this will resolve all issues but if not just send it back to me after its merged.

Version - Wagyu (master 7/25)
Verified fixed


Sentiment Analysis with Spacy

Proposed title of article
Sentiment Analysis with Spacy
Introduction paragraph (2-3 paragraphs):
Sentiment analysis (also known as opinion mining or emotion AI) is the use of natural language processing, text analysis, computational linguistics, and biometrics to systematically identify, extract, quantify, and study affective states and subjective information.
This technique is used to determine whether data is positive, negative, or neutral. Sentiment analysis is often performed on textual data to help businesses monitor brand and product sentiment in customer feedback, and understand customer needs.
This is very useful to many businesses since it helps them with marketing their business and knows how customers will react to their products.
Sentiment analysis is extremely important because it allows businesses to understand the sentiment of their customers towards their brand. By automatically sorting the sentiment behind social media conversations, reviews, and more, businesses can make better and more informed decisions.
Sentiment analysis models focus on polarity (positive, negative, neutral) but also on feelings and emotions (angry, happy, sad, etc), urgency (urgent, not urgent), and even intentions (interested v. not interested).
In this tutorial, we will use Spacy in building our model. Spacy is a natural language library that enables sentiment analysis using advanced machine learning.
Key takeaways:
1 . What is sentiment analysis and different types of sentiment analysis.
2. Application areas of sentiment analysis.
3. Getting started with Spacy.
4. Building our pipeline using Spacy for sentiment analysis.
4. Building a model for sentiment analysis.
References:
Please list links to any published content/research that you intend to use to support/guide this article.
Templates to use as guides

How To Guide Template
Software Review Template
Tutorial Template

Good afternoon and thank you for submitting your topic suggestion. @francis966
Your topic form has been entered into our queue and should be reviewed (for approval) as soon as a content moderator is finished reviewing the ones in the queue before it.

Great topic 🚀 , make sure it matches the following:

Adds value beyond what is in the official docs and what is covered in other blog sites.
To avoid potential article closure, it should not overlap with existing EngEd articles or incoming topic suggestions.

Please reference any relevant EngEd articles in yours and build a unique project - Approved. @francis966

Hello @lalith1403, kindly check this topic suggestion I have made some minor adjustments.


Add MacX DVD Ripper Mac Free Edition latest

Add MacX DVD Ripper Mac Free Edition latest

There was a pull request template when you submitted. It must be filled.
If you were not presented a template, you may have submitted via a CLI tool (likely hub). It that was the case, you may wish to see if the tool has a way to let you use the template (hub is working on it).
In either case, please refer to the template and update your comment.


Clean up adjective grounding

The example on the readme page will changes from
  // Export to JSON-LD
  val corpus = new JLDCorpus(Seq(annotatedDocument), reader.loadableAttributes.adjectiveGrounder)
  val mentionsJSONLD = corpus.serialize()

to
  // Export to JSON-LD
  val jsonld = new JLDCorpus(annotatedDocument).serialize()

This addresses #783.  Adjective grounding can be turned on and off in the configuration file.  The adjective groundings have been added to TriggeredAttachments.  EidosSystem does a pass over the EidosMentions to perform the grounding if it is configured.  The serializer just serializes what it has and doesn't do any additional processing.  Lots of apps and examples have been simplified.
I just remembered that the deserializer needs to be updated, so stand by.

@bgyori, do you ever call serialize on a JLDCorpus or other JLDObject with an adjectiveGrounder?  The need, and also the ability, to do that is being removed.  EidosSystem knows enough to do that on its own with this PR.

The adjectiveGrounder will not affect what we do, however, the fact that
JLDCorpus(Seq(annotatedDocument))

will change to
JLDCorpus(annotatedDocument)

will need to be changed in INDRA after this is merged.

Oops, maybe.  A Corpus is a Seq[AnnotatedDocument], so at least from Scala we can still call
JLDCorpus(Seq(annotatedDocument))

through
def this(corpus: Corpus) = this(new JLDSerializer, corpus)

Will it not work from Python?

That seems to be the only one that has ever been available, through a Corpus.  There was never explicitly one for a Seq[AnnotatedDocument].  I don't think you have need to change code.

Alright, in that case we may not need to do anything further on our end. Thanks!


feat(table): send the selected ids along with the batch action

Summary

simple fix to send the selected ids along with the batch action that was clicked to the onApplyBatchAction callback

Related Issues

Closes IBM/carbon-addons-iot-react#68

Acceptance Test (how to verify the PR)

Test that when batch actions were used that the selectedIds are also sent along

:tada: This PR is included in version 1.19.0 :tada:
The release is available on:

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:

:tada: This PR is included in version 1.19.0 :tada:
The release is available on npm package (@release-1.x dist-tag)
Your semantic-release bot :package::rocket:


Nothing Happens

I import the kill.onc file and nothing happens.

It should work. Add the ONC file, then try a blocked website. It should say 1 networks imported, then do chrome://restart. I have tested many Chromebooks (around 10) and they all work, with Securly. Don't forget this will not work with filtering applications on the computer itself (not the browser)

@killsecurly
it dosent do anything for me, i have securely
although it does show 1 networks imported but when I restarted my chrome it shows the administrator/managed icon on the wifi.

@killsecurly it dosent do anything for me, i have securely although it does show 1 networks imported but when I restarted my chrome it shows the administrator/managed icon on the wifi.

@dekid69, The Admin icon should be there, though the Securly notifications (for example, Class session is active) should not come up and your screen would not be displayed. Also, you must create an ONC file for every single network that you join.
Make sure to press the + next to the Wi-Fi that you want to disable Securly on.

@killsecurly it still doesn't work, my school doesn't use class session thing but the DNS server is always reverting back to my school's DNS router whenever I restart my chromebook

@killsecurly it still doesn't work, my school doesn't use class session thing but the DNS server is always reverting back to my school's DNS router whenever I restart my chromebook

its not this guys exploit its just cauDNS from my repo, we have the updated version

Closed due too old issue, fixed with v1.3.0.


fontSize and renderLabel params are not working for single node

Describe the bug
node.fontSize and node.renderLabel parameters are not working for single node.
To Reproduce
Steps to reproduce the behavior:

Go to demo page
Add new node parameters as 'fontSize: 20' or 'renderLabel: false'
You will see nothing will be changed on demo app

Expected behavior
fontSize parameter must be effect nodes font size
renderLabel parameter must be show or hide nodes label
Screenshots

Environment:

OS: [macOS]
Browser [chrome]

Hi @volkantas thanks for reporting.

renderLabel - this is a bug, we will fix it.
fontSize this functionality is not granular at node level. This would be a feature request instead.

I would kindly ask you to go ahead and open a feature request for the fontSize. We will use this issue to track the bug on the renderLabel flag.

Sure @danielcaldas,
Related future request is here: https://github.com/danielcaldas/react-d3-graph/issues/330

Released in react-d3-graph 2.5.0.


Lack of a degradation model

Currently, the code base does not poses the ability of degrading the A-SOH: there is no model that captures that, and the OnlineEstimators assume that the A-SOH values remain the same from one time step to the next.
It would be nice if we had a DegradationModel that could work in tandem with the estimators: it is called at every time step, and outputs new A-SOH parameters. It could, for the most part, only output the same values as the previous time step, but only after some number of effective cycles, or after some specified time, degrade the A-SOH parameters (it would have to keep its own history for that).
Tagging @WardLT for additional discussions on (a) if this makes sense and (b) how to implement it if we decided to go for it.

That does make sense. I also like the places where you've noted that the degradation model will be used, like the model wrappers.
Building on your comment about "models keeping their own history," do you think we could use the time provided as part of the Inputs?

I believe so; it could receive the same inputs as the CellModel, from InputQuantities to TransientVectors (to even HealthVariables!) and figure out what to do with them (from storing, to computing effective cycles, to degrading the provide and/or stored A-SOH)

Maybe we could start with the time and then work on to more complex measures of age? E.g., should effective cycles be something fixed as an input or treated as a state which must be learned by the filter?

I envision that anything that is derived should be part of the DegradationModel class. So, for example, it should be able to calculate effective cycles based on the history it receives.

I'm hoping that we can keep the Degradation Model stateless, like the CellModel. Shall we sync on what that could look like after doing a "time only" version?

I don't know if it will be very easy to keep it "stateless", as it will probably need to at least have knowledge of the initial A-SOH of the battery (or the A-SOH at some point in time...)
But here are a (un-ordered) list of things regarding this class:

I will implement the base class in moirae.models.base and probably create a simple dummy example somewhere
I will make it so it operates very similarly to the CellModel in terms of updating the A-SOH (that is, degrading it, based on either one InputQuantities object or a set of them)
it will be used by the Simulator class, as well as the relevant ModelWrappers (DegradationModelWrapper and JointCellModelWrapper come to mind in particular)

Sounds great. Let's see how far we can get keeping an either stateless class. Attributes are fine, so long as they are read only.
Want to target an example where we include aging that depends only on time and not any other factors as a first PR?

Yes, I will do that. I just need to do a few more investigations on another branch and I will switch over to this


lineWithErrorBars

Hi Team,
We are facing issue to create Line chart with error bars(lineWithErrorBars). We are getting issue with canvas context issue s undefined,
Where same configuration working with barWithErrorBars.
So if possible can you provide the reference code for  lineWithErrorBars . We are using chart js 3.6.0  version and chartjs-chart-error-bars/v/3.6.0 version.
above mentioned npm packges we are using with angular 12.
Thanks,
M.dev

without code it is impossible to tell what is going on, since https://codepen.io/sgratzl/pen/rNGvqXb

works just fine

We are using angular 12 with chart js 3.6.2 version.
For the error bars we r using version ^3.6.0. npm package, As suggested  in link below:
https://www.npmjs.com/package/chartjs-chart-error-bars
We are taking canvas reference using @viewChild  decorator in Angular.
We r able to render barWithErrorBrs controller  bar chrt , But when we use lineWithErrorBars , its having error as undefined context.
So please suggest if we need to do any config changes.

Continue to @mahadev-Pandhare  comment, we are getting below error in console. It is happening with only lineWithErrorBars

While doing analysis we found that DatasetController getting called twice for lineWithErrorBars, any idea why it is getting called twice? does any configuration is required to stop second call?

can you create a codesandbox or similar with a setup that is showing this error? Otherwise, I don't know how to investigate this error since it works fine in the codepen I sent before


GodotCollisionSolver2D::solve_concave: Fix culling in case of motion

From debugging it was clear that concave_callback was not getting called, so local_aabb was too small, so I expanded it in the motion direction, which fixed the issues.

Fixes https://github.com/godotengine/godot/issues/88222
Fixes https://github.com/godotengine/godot/issues/88227

Thanks!


Can't draw to image to coordinates >32768

I've found a strange issue while working with big images. I noticed things don't get drawn to coordinates above 32768, even though the the drawing function expects a cv::Point which should have int type (and thus, minimum 32 bit on my configuration) and so it should support values much higher.
Example code:
cv::Mat outImage = cv::Mat(5, 35000, CV_8UC3); // a really wide image
cv::rectangle(outImage, cv::Point(32500, 0), cv::Point(32600, 3), cv::Scalar(200, 0, 0), CV_FILLED, 8); // This gets drawn
cv::rectangle(outImage, cv::Point(33000, 0), cv::Point(33100, 3), cv::Scalar(200, 0, 0), CV_FILLED, 8); // This doesn't get drawn
I found the issue using the cv::rectangle() function but I suspect it concerns several other drawing functions, like cv::line() according to this:
http://answers.opencv.org/question/9284/drawing-limited-by-size-of-int-in-opencv/
They mention a workaround to use image ROIs when working with such coordinates, which works, but still, I didn't see this issue coming so I assumed the bug was in my code and spent some time debugging, so there should be at least some warning about this in the documentation.
Using OpenCV 3.0, 64 bit, "stock" binaries.

Related issue: http://code.opencv.org/issues/2890

Something that definately should be fixed :D Still using the ROI workaround myself :P

This issue also affects multiple other functions, we just noticed it in this Stack Overflow question: http://stackoverflow.com/q/37392128/3962537
While it's understandable that there's an upper bound (which for most purposes is large enough), this limitation should be well documented. Current imgproc documentation does not seem to mention it, and even from drawing.cpp it's not immediately obvious that this is so.

It seems to affect WarpPerspective as well. I'd like to add that this is a fairly serious issue for some use cases. We're assembling a linear scan of image data (effectively a long, narrow panorama of a scanned object) and the horizontal size can easily extend well beyond this limit.

I can confirm the issue with opencv 3.1.0.
Affects putText() as well, as it uses PolyLine(), which uses ThickLine(), where this code:
p0.x <<= XY_SHIFT - shift;
p0.y <<= XY_SHIFT - shift;

bit shifts the point coordinates (XY_SHIFT=16, shift=0 by default) and later shifts it back by
p0.x = (p0.x + (XY_ONE>>1)) >> XY_SHIFT;
p0.y = (p0.y + (XY_ONE>>1)) >> XY_SHIFT;

so the high bits are lost. E.g. from a point (352191,352) this makes point (24511,352). This was already discussed here http://code.opencv.org/issues/2890#note-5


[Feat]: sticky Navbar creating bad user experiance

What feature?
I would love to contribute to navbar which is not good designed and it disturbing the flow of site😇
Add screenshots

Code of Conduct

[X] I agree to follow this project's Code of Conduct

hi @piyush-mahajan  we fixed this issue please check the site if there are anything problems you can create an issue. (also, check existing issues)
Thank you.
https://github.com/priyankarpal/ProjectsHut/assets/88102392/a0dfecad-ea55-4b1c-8b52-b3c6bb0b03f8


Normalize software mentions (a.k.a data cleaning 🧹)

What do we have?
The software packages that have been used for COVID-19 research are contained in the CORD-19 dataset.
The issue
A lot of the mentions are different names for the same thing (e.g., ['Statistical Package for Social Sciences (SPSS)', 'SPSS', 'SPSS Statistics'] (different cells in column I)).
What do we really need?

For all the mentions to be identifiable as meaning the same thing.

How can we achieve this?

[ ] We need to normalize (if that's the right term) the data, so that there is only one term we use for ['Statistical Package for Social Sciences (SPSS)', 'SPSS', 'SPSS Statistics'], e.g., SPSS.

Ideas for how exactly we can achieve this

By using OpenRefine (which is partially manual I believe), for which there are Carpentry lessons for at least librarians, the social sciences, ecologists and the humanities.
By using a yet-to-be-found or newly created tool that makes this easier

This should also take into account different capitalisations (e.g. Matlab/MATLAB)

Hello! @alex-konovalov @sdruskat I did a fair clean, but not all of the clean (there's so many options + typos) 🤯 .
Top 10:
1 Statistical Package for the Social Sciences (SPSS) 10308
2 R Programming Language (R)                          7521
3 GraphPad Prism                                      4089
4 Excel                                               3800
5 stata                                               3271
6 sas                                                 2448
7 blast                                               2233
8 graphpad                                            2143
9 matlab                                              1780
10 googlescholar                                       1688
I started with this file: CORD19_software_popularity.csv
(I should have probably asked which file to start with. Is this file one entry per paper? probably not) Should be easy to use another file with names in a column.
It had 102644 rows to start with and the clean file has 84661 :tada:
I did this in R so I have a script to share. Where do you want this?
Examples to continue the clean---
There are many mentions of R packages, and R studio, and Bioconductor, that I did not merged into R Programming Language. Should these be merged?.
I did not merge python with biopython and python libraries for the same question above (Should these be merged?)
-- at this point I need someone to look at the result and say this and this might be good to merge too.
There are still minor rows that have each 6 to 1 occurrences that I didn't merge, yet. I am aware, but writing all the
cases takes a while.
There might be similar cases with languages I do not know.
I did make everything lower case and remove extra spaces and special characters.

looking at this again, I noticed GraphPad Prism, Graphpad and Prism to be three distinct items, but maybe they also should be merged.


Ads do not load

Could be because AdMob account isn't yet verified.

Turns out I never add any ad units to AdMob, so the IDs in sensitive.properties were incorrect.


clone-leeroy fails when git installed to nonstandard location on Windows

The current version of the script relies on Git for Windows being installed in the standard install location: https://github.com/bgrainger/clone-leeroy/blob/master/src/index.js#L8-L9
While setting up a new machine with a non-standard Git installation path, clone-leeroy fails with
Error: Processing ThirdPartyBinaries/SQLite
  Directory SQLite does not exist; cloning it.
  Command failed: "C:\Program Files (x86)\Git\bin\git.exe" clone --recursive --branch 3.12.1 git@git:ThirdPartyBinaries/SQLite.git
  The system cannot find the path specified.

However, it appears that if we remove the special handling for darwin and just do Promise.resolve('git'), clone-leeroy seems to resolve git from the PATH just fine.
Do you recall the reasons for providing a path-qualified name for git on Windows, and do you have any objections to removing it?

I think maybe git typically didn't add itself to %PATH% on Windows three years ago? If it works by default now, I see no need to keep the old code.


Is still a single relationship extraction on the CDR dataset?

Although entities may appear in many sentences, there is still only one pair of relationships in each paragraph that needs to be judged?

Yes, all the predictions are at the entity level rather than the mention level. As you note, an entity can appear in many sentences, each of these is referred to as a single mention. When we are making predictions about the entities, we are really asking if one or more of the mentions express the relation.

First of all, thank you for your answer. I still have a question and hope to get your answer. In the paper 2.4 Entity Level Predication section, the relation scores  formula  mentions "For each entity pair $(p^{head}, p^{ptail})$, let $P^{head}$, the set of indices of mentions of the entity $p^{head}$ ... ", how do you determine the indices of these related entities?

The model assumes that we already have the entity linking decisions. By that I mean, we know which mentions are referring to the same entities. In the CDR data, this comes directly from the entity annotations and for the CTD data we use an external entity linking model (taken from pubtator).

Thank you for your patience and this outstanding paper, I can understand the paper.


InteractGrab :78 - GetComponent with no RigidBody component

SteamVR_InteractGrab.cs
    private void Start()
    {
        //If no attach point has been specified then just use the tip of the controller
        if (controllerAttachPoint == null)
        {
78:            controllerAttachPoint = ``transform.GetChild(0).Find("tip").GetChild(0).GetComponent<Rigidbody>();
        }
....
I often get errors here in my own scenes- not sure why they don't appear in the examples- but it might be due to my instantiating the CameraRig at Scene load, instead of it being apart of the Scene.
Anyways, line 78 makes a call to the rigidbody component attached to the tip/attach gameobject.  In my own scenes, there is no rigidbody component on tip/attach.  Not sure why.  So to work around that I've changed line 78 to be:
        if (controllerAttachPoint == null)
        {
              if (transform.GetChild(0).Find("tip").GetChild(0).GetComponent<Rigidbody>() == null)
			{
				Rigidbody rb = transform.GetChild(0).Find("tip").GetChild(0).gameObject.AddComponent<Rigidbody>();
				rb.isKinematic = true;
			}
			controllerAttachPoint = transform.GetChild(0).Find("tip").GetChild(0).GetComponent<Rigidbody>();
Is there a better way, or a reason I'm not correctly pulling in the rigidbody?
(Also, I'm having a probably related problem- the model itself isn't loaded for the first couple frames- so Find("tip") is also failing during start.  So I moved this block to an Update method and it works fine for me there.

@DrMerlin Are you using the [CameraRig] Prefab from the SteamVR_Unity_Toolkit/Prefabs folder or the one from the Valve SteamVR prefabs folder?
The Valve SteamVR prefab is missing these elements until runtime (no idea why). If you look at their TestThrow example scene then they have an object with these elements in (so they basically have 2 different prefabs with no reasoning why!). Basically the prefab I include is the one from the Valve's TestThrow example.

Probably.  I will take a look.
Is there a way for me to get simple answers for my dumb questions outside of the issues system?  I think I'm doing this wrong.

@DrMerlin sure, email me thestonefox at gmail dot com

Can do- but I don't want to waste your time if at all possible.  Is there a user group somewhere?  If not, we should set one up.

@DrMerlin a user group is a good idea. Not sure the best place to start one.. google groups is an option unless someone else has another idea?

https://slack.com/ is very popular I'm currently a member of the VRdev
group on there already, loads listed here http://www.slacklist.info/
On 25 May 2016 at 21:01, StoneFox<EMAIL_ADDRESS>wrote:

@DrMerlin https://github.com/DrMerlin a user group is a good idea. Not
sure the best place to start one.. google groups is an option unless
someone else has another idea?
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub
https://github.com/thestonefox/SteamVR_Unity_Toolkit/issues/92#issuecomment-221689766

Slack could be cool.  I don't see any sub forums at http://forum.unity3d.com/forums/virtual-reality.80/, which is too bad because that would be perfect.

I'm on one for this course: http://learn.vrdev.school/ and seems to work
fine. The free version would be fine for this, even with the 10,000 message
limit (it wipes older messages after this I believe)
On 25 May 2016 at 21:08, Matt Jones<EMAIL_ADDRESS>wrote:

Slack could be cool. I don't see any sub forums at
http://forum.unity3d.com/forums/virtual-reality.80/, which is too bad
because that would be perfect.
—
You are receiving this because you commented.
Reply to this email directly or view it on GitHub
https://github.com/thestonefox/SteamVR_Unity_Toolkit/issues/92#issuecomment-221691553

@teatime Is that site related to the slack channel?  How would one get an invite to the slack channel?  kotefare at gmail dot com, if you need it.

the slack channel for the course is by invite only to course members
unfortunately, but someone on there mentioned that they have seen other
channels out there. Apparently there is one called VRdevs which you need to
email Iestyn@lloyddigital Iestyn Lloyd for access. See
http://forum.unity3d.com/attachments/eyeswideopen-resourcemegalist-pdf.181937/
On 25 May 2016 at 21:13, Matt Jones<EMAIL_ADDRESS>wrote:

@teatime https://github.com/teatime Is that site related to the slack
channel? How would one get an invite to the slack channel? kotefare at
gmail dot com, if you need it.
—
You are receiving this because you were mentioned.
Reply to this email directly or view it on GitHub
https://github.com/thestonefox/SteamVR_Unity_Toolkit/issues/92#issuecomment-221693096


Some bugfixes in merge_axis and fdmt update

views.merge_axis: Minor bugfix in merge_axes (units were not being merged).
views.merge_axis: Added 'ignore_units' argument to merge_axes to allow force merges (Ben does not like this cavalier approach)
views.merge_axis: Learned the magic of vim's :retab command to convert tabs to spaces.
blocks.print_header: Changed print_header block to use pprint
blocks.guppi_raw: Added 'gulp_nframe' to guppi_raw tensor to allow for split_axes views to work.
testbench/test_fdmt.py: Updated test_fdmt.py testbench to get it working with newer labels (eg 'dispersion' instead of 'dispersion measure')

This is great, thanks Danny.
One thing: changing tabs->spaces along with actual code changes in a single commit makes it impossible to see what was changed. We should really separate them into different commits.
Btw you can avoid unwanted merge commits by using "git pull --rebase" to rebase your branch on top of master instead of merging.

I totally agree about the tabs vs. spaces, and was sad to see the diff. It may anger you to know I've been using vim not emacs too.
Just writing up some notes that will become documentation about the bfmap function, and noted some examples in the docstirng were broken as the shape=None argument was making shape='i' in the call.

What is the status on this PR, @benbarsdell and @telegraphic ? Could we merge it? I'd be sad to see it to start accumulating merge conflicts.

Coverage decreased (-0.06%) to 65.137% when pulling 088a71a4f2a9e77afcbde73249135f2192c0578a on telegraphic:master into da9ce94487b6748e43c28bdae3b0a7593840537d on ledatelescope:master.

Codecov Report

Merging #84 into master will decrease coverage by 0.18%.
The diff coverage is 15.62%.

@@            Coverage Diff             @@
##           master      #84      +/-   ##
==========================================
- Coverage   69.26%   69.07%   -0.19%
==========================================
  Files          34       34
  Lines        3377     3460      +83
==========================================
+ Hits         2339     2390      +51
- Misses       1038     1070      +32

Impacted Files
Coverage Δ

python/bifrost/blocks/print_header.py
100% <100%> (ø)
:arrow_up:

python/bifrost/views/basic_views.py
68.42% <14.28%> (-11.37%)
:arrow_down:

python/bifrost/proclog.py
27.53% <5.26%> (-4.67%)
:arrow_down:

python/bifrost/ring2.py
88.53% <0%> (-0.11%)
:arrow_down:

python/bifrost/pipeline.py
84.32% <0%> (ø)
:arrow_up:

python/bifrost/ring.py
92.74% <0%> (+0.07%)
:arrow_up:

python/bifrost/ndarray.py
77.57% <0%> (+0.1%)
:arrow_up:

python/bifrost/Space.py
84.21% <0%> (+0.87%)
:arrow_up:

python/bifrost/libbifrost.py
68.1% <0%> (+1.1%)
:arrow_up:

python/bifrost/DataType.py
65.71% <0%> (+2.07%)
:arrow_up:

... and 1 more

Continue to review full report at Codecov.

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

Coverage decreased (-0.06%) to 65.137% when pulling 5b1e703fb2c168b8fde85cd7ee3e8d7d288021f4 on telegraphic:master into da9ce94487b6748e43c28bdae3b0a7593840537d on ledatelescope:master.