text:
A few questions

Hello, I'm trying to use this firewall to protect my HLDS server against attacks. Below is my xdpfw.conf file
interface = "eth0";
updatetime = 15;

filters = (
    {
        enabled = true,
        action = 0,
        pps = 10000,
        blocktime = 600,
        udp_enabled = true,
        udp_dport = 27015
    }
);

Is this config correct or will i need to do some changes as at the moment I'm trying to test it alone, below is what I see after starting the process. Even though I connect to the server I don't see any changes in Packets Allowed nor Packets dropped
root@ip-172-26-1-240:/etc/xdpfw# sudo xdpfw
libbpf: Kernel error message: Underlying driver does not support XDP in native mode
Could not attach with DRV/native mode (Operation not supported)(-95).
Loaded XDP program in SKB/generic mode.
Packets Allowed: 0 | Packets Dropped: 0

Also how do I get back to see the stats if I use Ctrl+C or Ctrl+Z to exit from the program. Using screen doesn't seem to work, program runs but screen doesnt.  Even if I stop the service with systemctl to test again with a different config, I cannot run the program again as it says it's already running.
Thank you.

Hey!
I apologize for the long delay. I've been dealing with personal issues and haven't worked on my open-source projects much recently.
The packet counters are only for rules. In the rule above, you have it set so if you have 10K PPS >, it will block the packet. Since this isn't an allow rule, you aren't going to see those counters increment. The only time you will see it is if you start sending 10K+ PPS worth of UDP traffic to the firewall. This seems like an understandable filter for HLDS traffic, though.
As for the error you're receiving, this should have been fixed with issue #15. However, you can force the XDP program to be unloaded with ip link set <interface name> xdp off or ip link set <interface> xdpgeneric off if it attaches with the XDP generic hook.
I hope the above helps!

Hi, thanks for your reply, I understand everyone have their problems.
Is there any way I can log IPs that get blocked through the filter I have set? I don't see any change to the filters most of the time, even when I receive a query flood on my HLDS server and I cant monitor it all the time.
Understood for how to unload the program.

Hey, I'm sorry for the really late reply! A lot has gone on the past few months.

Is there any way I can log IPs that get blocked through the filter I have set? I don't see any change to the filters most of the time, even when I receive a query flood on my HLDS server and I cant monitor it all the time.
Understood for how to unload the program.
As of right now, nothing is technically logged. I could technically scan the block BPF map in the user-space, but I think BPF tracing would be a lot more better here, I've haven't learned it yet though. I'm going to be making a new project that reports suspicious traffic and such to a back-end and then I'm going to to display it on my TV via my Raspberry Pis. I plan on making it open-source as well and I think that'll be useful in your case since I plan on using BPF tracing with XDP :)

Also is it necessary to add a source ip for the rule?
If all the malicious traffic is coming from a single or small list of IPs, then yes. However, you also have to remember a lot of traffic, especially UDP, is spoofed. There are many attacks that do not spoof the IPs, though, so it's something worth looking into at least.

I've also implemented some changes to the XDP Firewall today that may fix all the issues you've been having with it it :)

Hey thanks for the reply. Yeah, I did thought I have to give up. I think logging would help.
I'm actually getting UDP flood with lots of spoofed IP addresses. What would be the ideal config for it? I did mess around and it was either adding my own IP or the local IP of the AWS Lightsail server I host HLDS on. I mean I added a simple config with my own IP and pps with low value.
How would I go for the same when I don't know what source IP will be?
My config is pretty much the same except I changed pps = 5000, I'm hoping it works.
I haven't seen any changes in Packet Dropped even though server lags at times, maybe it's just HLDS stuff now what I'm seeing, it's been only a day since I updated after all.
and I'm getting this when I check status through systemctl, is it a fault from my side?
● xdpfw.service - XDP Firewall tool.
     Loaded: loaded (/etc/systemd/system/xdpfw.service; enabled; vendor preset: enabled)
     Active: failed (Result: exit-code) since Tue 2022-09-06 18:18:57 IST; 7min ago
    Process: 1316 ExecStart=/usr/bin/xdpfw (code=exited, status=1/FAILURE)
    Process: 1317 ExecStopPost=/bin/bash -c ip link set dev $(grep -E ^interface /etc/xdpfw/xdpfw.conf | sed -En 's/^.+=|["; ]//gp') xdp off (code=exited, status=0/SUCCESS)
   Main PID: 1316 (code=exited, status=1/FAILURE)

Sep 06 18:18:57 ip-172-26-11-48 systemd[1]: xdpfw.service: Scheduled restart job, restart counter is at 6.
Sep 06 18:18:57 ip-172-26-11-48 systemd[1]: Stopped XDP Firewall tool..
Sep 06 18:18:57 ip-172-26-11-48 systemd[1]: xdpfw.service: Start request repeated too quickly.
Sep 06 18:18:57 ip-172-26-11-48 systemd[1]: xdpfw.service: Failed with result 'exit-code'.
Sep 06 18:18:57 ip-172-26-11-48 systemd[1]: Failed to start XDP Firewall tool..

repo: gamemann/XDP-Firewall


text:
⚠ Avatar API Endpoint has degraded performance

In 1340048, Avatar API Endpoint (https://avatar.roblox.com/v1/avatar-rules) experienced degraded performance:

HTTP code: 200
Response time: 1171 ms

Resolved: Avatar API Endpoint performance has improved in bf72ba6.

source: gharchive/issue

license: MIT

license_type: permissive

license_source: github-api


text:
🛑 Billing API Endpoint is down

In 4a0020a, Billing API Endpoint (https://billing.roblox.com) was down:

HTTP code: 503
Response time: 590 ms

Resolved: Billing API Endpoint is back up in e718343 after 12 minutes.


text:
⚠ Avatar API Endpoint has degraded performance

In 7a81678, Avatar API Endpoint (https://avatar.roblox.com/v1/avatar-rules) experienced degraded performance:

HTTP code: 200
Response time: 1973 ms

Resolved: Avatar API Endpoint performance has improved in b9ea00f after 12 minutes.


text:
🛑 Indodax is down

In d62f783, Indodax (https://indodax.com) was down:

HTTP code: 403
Response time: 63 ms

Resolved: Indodax is back up in cbced55.

repo: gammarinaldi/watcher


text:
Fix ruff issues PT011 and PT012

These two issues (regarding tests) are currently disabled. We probably want to follow the check of the error messages issues by pytest.raises.

PT012 is addressed in https://github.com/gammasim/simtools/pull/1085

repo: gammasim/simtools


text:
Preserve

Store data in files.

@KDlamini thanks for the review.

source: gharchive/pull-request


text:
Windows下vizviewer在使用被占用的端口时无法使用Ctrl+C退出

系统软件版本：
Windows 11  22H2
(web) PS F:\> python -V
Python 3.9.12
(web) PS F:\> viztracer --version
0.15.6

BUG:
(web) PS F:\***> viztracer .\test.py
Total Entries: 1000002
Use the following command to open the report:
vizviewer F:\***\result.json
(web) PS F:\***> vizviewer .\result.json -p 9901 # 此处9901是一个被占用的端口，换成其他端口就不会报错
Exception in thread Thread-1:
Traceback (most recent call last):
  File "F:\ProgramData\Miniconda3\envs\web\lib\threading.py", line 973, in _bootstrap_inner
    self.run()
  File "F:\ProgramData\Miniconda3\envs\web\lib\site-packages\viztracer\viewer.py", line 301, in run
    self.retcode = self.view()
  File "F:\ProgramData\Miniconda3\envs\web\lib\site-packages\viztracer\viewer.py", line 341, in view
    with VizViewerTCPServer(('0.0.0.0', self.port), Handler) as self.httpd:
  File "F:\ProgramData\Miniconda3\envs\web\lib\socketserver.py", line 452, in __init__
    self.server_bind()
  File "F:\ProgramData\Miniconda3\envs\web\lib\socketserver.py", line 466, in server_bind
    self.socket.bind(self.server_address)
OSError: [WinError 10013] 以一种访问权限不允许的方式做了一个访问套接字的尝试。
# 此时程序卡住了，无论怎么按Ctrl+C都不会退出

程序卡住了，无论怎么按Ctrl+C都不会退出。这也许是一个BUG

vizviewer的threading的lock没有处理exception的情况，导致副线程在exception的情况下始终没有释放一个主线程在等的锁。#354会修复这个问题。

authors: Dealizey gaogaotiantian

repo: gaogaotiantian/viztracer


text:
🛑 Pablo Furchi is down

In 96e4fdc, Pablo Furchi (http://pablofurchi.com/) was down:

HTTP code: 0
Response time: 0 ms

Resolved: Pablo Furchi is back up in ec901ac after 16 minutes.


text:
charts: Update CCM to v3.0.0

How to categorize this PR?

/area networking
/kind bug
/priority normal
/platform equinix-metal
What this PR does / why we need it:
This PR updates CCM to version v3.0.0 to fix bug described in #112.
Which issue(s) this PR fixes:
Fixes #112
Special notes for your reviewer:
Signed-off-by: Mateusz Gozdek mateusz@kinvolk.io
Release note:

CCM now assigns unique EIP for each cluster, rather than re-using them between Shoots, which effectively allows creating multiple Shoot clusters

 Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.You have signed the CLA already but the status is still pending? Let us recheck it.

 Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.You have signed the CLA already but the status is still pending? Let us recheck it.

Thank you @invidian for your contribution. Before I can start building your PR, a member of the organization must set the required label(s) {'reviewed/ok-to-test'}. Once started, you can check the build status in the PR checks section below.

Thank you @invidian for your contribution. Before I can start building your PR, a member of the organization must set the required label(s) {'reviewed/ok-to-test'}. Once started, you can check the build status in the PR checks section below.

Hmm, running make generate on freshly cloned repository does not yield modified example/controller-registration.yaml :confused:

Hmm, running make generate on freshly cloned repository does not yield modified example/controller-registration.yaml :confused:

Hmm, running make generate on freshly cloned repository does not yield modified example/controller-registration.yaml 😕

Which helm version are you using?
Have you followed make install-requirements?

Hmm, running make generate on freshly cloned repository does not yield modified example/controller-registration.yaml 😕

Which helm version are you using?
Have you followed make install-requirements?

$ helm version --client
WARNING: "kubernetes-charts.storage.googleapis.com" is deprecated for "stable" and will be deleted Nov. 13, 2020.
WARNING: You should switch to "https://charts.helm.sh/stable"
Client: &version.Version{SemVer:"v2.17.0", GitCommit:"a690bad98af45b015bd3da1a41f6218b1a451dbe", GitTreeState:"clean"}

I've tried with both Helm 3.3 and 2.17 and yes, I installed all dependencies from install-requirements. It seems generation with Helm 2.17 fails on helm init --client-only:
+ temp_extract_dir=/tmp/tmp.wVswq8NRRn
+ trap cleanup EXIT ERR INT TERM
+ export HELM_HOME=/tmp/tmp.x379EVDOFS
+ HELM_HOME=/tmp/tmp.x379EVDOFS
++ helm version --client --template '{{.Version}}'
++ head -c2
++ tail -c1
+ '[' n = 3 ']'
+ helm init --client-only
++ cleanup
++ rm -rf /tmp/tmp.1AvbVsGNm5
++ rm -rf /tmp/tmp.x379EVDOFS
++ rm -rf /tmp/tmp.wVswq8NRRn
+ cleanup
+ rm -rf /tmp/tmp.1AvbVsGNm5
+ rm -rf /tmp/tmp.x379EVDOFS
+ rm -rf /tmp/tmp.wVswq8NRRn
charts/gardener-extension-provider-packet/doc.go:15: running "bash": exit status 2

With Helm 3, it passes, but doesn't change anything.

$ helm version --client
WARNING: "kubernetes-charts.storage.googleapis.com" is deprecated for "stable" and will be deleted Nov. 13, 2020.
WARNING: You should switch to "https://charts.helm.sh/stable"
Client: &version.Version{SemVer:"v2.17.0", GitCommit:"a690bad98af45b015bd3da1a41f6218b1a451dbe", GitTreeState:"clean"}

I've tried with both Helm 3.3 and 2.17 and yes, I installed all dependencies from install-requirements. It seems generation with Helm 2.17 fails on helm init --client-only:
+ temp_extract_dir=/tmp/tmp.wVswq8NRRn
+ trap cleanup EXIT ERR INT TERM
+ export HELM_HOME=/tmp/tmp.x379EVDOFS
+ HELM_HOME=/tmp/tmp.x379EVDOFS
++ helm version --client --template '{{.Version}}'
++ head -c2
++ tail -c1
+ '[' n = 3 ']'
+ helm init --client-only
++ cleanup
++ rm -rf /tmp/tmp.1AvbVsGNm5
++ rm -rf /tmp/tmp.x379EVDOFS
++ rm -rf /tmp/tmp.wVswq8NRRn
+ cleanup
+ rm -rf /tmp/tmp.1AvbVsGNm5
+ rm -rf /tmp/tmp.x379EVDOFS
+ rm -rf /tmp/tmp.wVswq8NRRn
charts/gardener-extension-provider-packet/doc.go:15: running "bash": exit status 2

With Helm 3, it passes, but doesn't change anything.

Hmm, interesting. For me make generate actually generates a new controller registration.
Any ideas @rfranzke @ialidzhikov @vpnachev?

Hmm, interesting. For me make generate actually generates a new controller registration.
Any ideas @rfranzke @ialidzhikov @vpnachev?

It is also generating new different controller registration for me, both on the host and inside container.
@invidian could you run the code generation inside a container?
Here are the commands:
host $ docker run -it --rm -v $PWD:/go/src/github.com/gardener/gardener-extension-provider-packet golang:1.15.5
container # cd src/github.com/gardener/gardener-extension-provider-packet/
container # make install-requirements
container # make generate
container # exit
host $ ...

It is also generating new different controller registration for me, both on the host and inside container.
@invidian could you run the code generation inside a container?
Here are the commands:
host $ docker run -it --rm -v $PWD:/go/src/github.com/gardener/gardener-extension-provider-packet golang:1.15.5
container # cd src/github.com/gardener/gardener-extension-provider-packet/
container # make install-requirements
container # make generate
container # exit
host $ ...

By the way, the only difference is the permissions of the file inside the archive. Currently in the PR they are with 0644 and after I regenerate them, they got 0755.

By the way, the only difference is the permissions of the file inside the archive. Currently in the PR they are with 0644 and after I regenerate them, they got 0755.

Thanks @vpnachev, running in container seems to work, so odd.
BTW, I'm not sure what's the policy here, but I just found a bug in new version of CCM equinix/cloud-provider-equinix-metal#140, which affects clusters provisioning stability, so we may want to hold this PR until it's resolved.

Thanks @vpnachev, running in container seems to work, so odd.
BTW, I'm not sure what's the policy here, but I just found a bug in new version of CCM equinix/cloud-provider-equinix-metal#140, which affects clusters provisioning stability, so we may want to hold this PR until it's resolved.

Regarding the bug, I am fine with both holding this pr till a fixed version is released or merging it now and follow up later with another one.

Hmm, I'd hold it because in current state of things at least one cluster converges.

Regarding the bug, I am fine with both holding this pr till a fixed version is released or merging it now and follow up later with another one.

Hmm, I'd hold it because in current state of things at least one cluster converges.

ok
/hold

ok
/hold

I actually found one more issue, which affects all the Shoot clusters :disappointed: More details here: https://github.com/gardener/gardener-resource-manager/issues/107.

/close in favor of #120

authors: CLAassistant gardener-robot-ci-2 invidian rfranzke timebertt vpnachev


text:
Unable to create a Shoot with .metadata.generateName

How to categorize this issue?

/kind bug
/kind regression
/priority normal
What happened:
According to https://github.com/gardener/gardener/issues/1783 it should be possible to create a Shoot .metadata.generateName.
But currently I fail with this operation. I am trying to apply:
apiVersion: core.gardener.cloud/v1beta1
kind: Shoot
metadata:
  generateName: test
  namespace: garden-foo
spec:
  # omitted

$ k apply -f ~/bar.yaml --dry-run=server
error: error when retrieving current configuration of:
Resource: "core.gardener.cloud/v1beta1, Resource=shoots", GroupVersionKind: "core.gardener.cloud/v1beta1, Kind=Shoot"
Name: "", Namespace: "garden-foo"
from server for: "/Users/baz/bar.yaml": resource name may not be empty

What you expected to happen:
To be able to create a Shoot with .metadata.generateName

Gardener version: v1.12.8
Kubernetes version (use kubectl version):
Cloud provider or hardware configuration:
Others:

Last time I checked, generateName didn't work with k apply (not only for gardener, but also for k8s core resources).
I think, it always tries to fetch the current state of the object before patching it.
k create -f should work, though.
Can you confirm that?

You are right, it works with k create -f. I wasn't aware of this difference between apply and create. Thank you for letting me know.
/close

authors: ialidzhikov timebertt

repo: gardener/gardener


text:
Cleans up HVPA usages from Roles and Clusterroles and removes HVPA CRDs

How to categorize this PR?

/area auto-scaling
/kind cleanup
What this PR does / why we need it:
This PR is the 6th PR related to the HVPA removal. The first 5 PRs were:

https://github.com/gardener/gardener/pull/10796
https://github.com/gardener/gardener/pull/10800
https://github.com/gardener/gardener/pull/10851
https://github.com/gardener/gardener/pull/10853
https://github.com/gardener/gardener/pull/10860

This PR cleans up remaining HVPA usages:

Removes HVPA from the clusterroles and roles used by gardenlet and gardener-operator
Removes HVPA from the seed and operator client schemes
Removes the HVPA CRD
Cleans up go imports

Which issue(s) this PR fixes:
N/A
Special notes for your reviewer:
This pr is rebased on top of https://github.com/gardener/gardener/pull/10860 so I will keep it in draft until that one gets merged.
Release note:

The `autoscaling.k8s.io/v1alpha1.Hvpa` and `autoscaling.k8s.io/v1alpha1.HvpaList` resources were removed from the `pkg/client/kubernetes.SeedScheme` and `pkg/operator/client.RuntimeScheme`

The `HVPA` CRD has been removed from the codebase and is no longer generated.

RBAC rules related to `HVPA` resources have been removed from `gardenlet` and `gardener-operator` - they are no longer necessary.

/assign

Error: bad file 'hack/../example/gardener-local/gardenlet/operator/patch-imagevector-overwrite.yaml': yaml: line 13: could not find expected ':'
Build [local-skaffold/gardenlet] failed: exit status 1

/test pull-gardener-e2e-kind-ha-multi-zone

  [FAILED] Timed out after 30.001s.
  The function passed to Eventually failed at /home/prow/go/src/github.com/gardener/gardener/test/e2e/gardener/seed/renew_garden_access_secrets.go:131 with:
  Expected
      <map[string]string | len:2>: {
          "provider-local-e2e-test-garden-access": "2024-11-28T14:30:48Z",
          "gardener.cloud/operation": "renew-garden-access-secrets",
      }
  not to have key
      <string>: gardener.cloud/operation
  In [It] at: /home/prow/go/src/github.com/gardener/gardener/test/e2e/gardener/seed/renew_garden_access_secrets.go:132 @ 11/28/24 14:31:03.903

/test pull-gardener-e2e-kind

authors: ialidzhikov plkokanov


text:
Cleanup the old backup infra resources

Signed-off-by: Swapnil Mhamane swapnil.mhamane@sap.com
What this PR does / why we need it:
This PR removes the orphan backupInfra resources which are no longer needed post reconciliation of Shoot using gardener 0.29+.
Which issue(s) this PR fixes:
Fixes #
Special notes for your reviewer:
Release note:

Delete the orphan BackupInfra resources post reconciliation of shoot using Gardener 0.29+. :warning: For hibernated cluster it now guarantees only latest snapshot will be there on shared bucket. It dosen't migrate the old snapshots and hence break the policy of having exponential backup for last month.

@rfranzke PR is ready for review.

Thank you for the review. I have addressed the comments. PTAL.


text:
Add E2E test for AdminKubeconfigRequest feature

How to categorize this PR?

/area testing
/kind enhancement
What this PR does / why we need it:
This PR adds an e2e test for the AdminKubeconfigRequest feature.
Note that the script extends the /etc/hosts file with the hostname of the test cluster manually, because the host cannot resolve the DNS names of the clusters otherwise, since provider-local extension runs inside the KinD cluster.
Which issue(s) this PR fixes:
Fixes #5586
Special notes for your reviewer:
Release note:

None

The PR is not ready for review, I want to test it in prow first, and then make some enhancements as needed.

/test all

/test all

/test pull-gardener-e2e-kind

/test pull-gardener-e2e-kind

/test pull-gardener-e2e-kind

Failed test on the same commit: https://prow.gardener.cloud/view/gs/gardener-prow/pr-logs/pull/gardener_gardener/5938/pull-gardener-e2e-kind/1523555306037055488

/test pull-gardener-integration

/test pull-gardener-integration

/test pull-gardener-e2e-kind

/lgtm

authors: rfranzke shafeeqes


text:
[ci:component:github.com/gardener/vpa-exporter:0.1.5->0.3.0]

Release Notes:
Add `targetName` and `targetKind` labels

Added unit-tests and added a check for no targetRef.

Updated alpine image.

Added a new metric to export new VPA recommendations provided via an annotation.

Published docker images for VPA-Exporter are now multi-arch ready. They support `linux/amd64` and `linux/arm64`.

The `vpa-exporter` container now uses `distroless` instead of `alpine` as a base image.

Please /close in favor of #6640. (We had to adjust the path to the executable as well.)


text:
Bind address of kube-controller-manager to pod ip

How to categorize this PR?

/area security
/kind enhancement
What this PR does / why we need it:
kube-controller-manager now binds to its own pod IP address instead of 0.0.0.0.
Which issue(s) this PR fixes:
Fixes #
Special notes for your reviewer:
Release note:

`kube-controller-manager` now binds to its own pod IP address instead of `0.0.0.0`.

/cc @istvanballok

I am wondering if we can bind this to 127.0.0.1 and still scrape it somehow by prometheus. I did some research but did not find an easy way. Maybe @istvanballok can give some insights.

Will leave the final lgtm up to @istvanballok if you want to have another look 🙂
/approve

I am wondering if we can bind this to 127.0.0.1 and still scrape it somehow with prometheus.

If the endpoint is only available via the localhost / Loopback device, then Prometheus won't be able to scrape it via the pod / service IP.

Hm, sounds contradicting if we want to scrape from an "external" component but only want to open up the HTTP(S) endpoint internally?!

I agree.

Yes, I was trying to satisfy this requirement, but I guess it does not make sense "as it is" in our case.

I agree.
To satisfy this requirement we would need a sidecar agent that scrapes the metrics in the pod via localhost and pushes the metrics to a monitoring stack. The current (and de-facto standard) approach with using Prometheus and scraping these targets is not really compatible with that. There is an implicit assumption in the issue description that the podIP is exposed externally so that the attacker can reach it, but I think the pod IP alone (without a load balancer ingress) does not necessarily imply external exposure. The other implicit assumption is that binding to 127.0.0.1 would still allow access to the health endpoint. If the kcm runs in a pod, the kubelet is probing the health endpoint and (unless the pod uses the host network which it shouldn't in this case) the kubelet wouldn't be able to reach the health endpoint because the kubelet is running in the host network and the pod isn't. So I'd also argue that this finding is not applicable in our case.

Note that normally there are 2 network interfaces in the pod's network namespace: lo (Loopback) and eth0 (the pod IP).
Previously, the kcm was binding to both interfaces, now it will only bind to the eth0 interface, i.e. the change is that it is no longer binding to the localhost interface. I think it is fine, but it doesn't really make a big difference.
/lgtm

Note that normally there are 2 network interfaces in the pod's network namespace: lo (Loopback) and eth0 (the pod IP).
Previously, the kcm was binding to both interfaces, now it will only bind to the eth0 interface, i.e. the change is that it is no longer binding to the localhost interface. I think it is fine, but it doesn't really make a big difference.

In this case does it make sense to not go forward with this pull request but claim that the binding to all interfaces is not a security issue in Gardener's case since the KCM is ran as pod and the interfaces are restricted to what is in the pod's network namespace?
WDYT? @istvanballok @timuthy

In this case does it make sense to not go forward with this pull request ...

I agree because in my opinion the only difference is that the kcm is no longer bound to localhost.

... but claim that the binding to all interfaces is not a security issue in Gardener's case since the KCM is ran as pod and the interfaces are restricted to what is in the pod's network namespace?

I didn't get this part exactly: "the interfaces are restricted to what is in the pod's network namespace". The pod IP is reachable from any other pod.
I'd argue that as kcm is run in a pod, it has to bind to the pod IP otherwise health checks from the kubelet or scraping metrics from Prometheus would not work. We could argue that the pod IP is not externally reachable unless it is exposed by a load balancer. It is also not reachable from the workload because it is running in a separate k8s cluster.

Edit the Kubernetes Controller Manager manifest file in the /etc/kubernetes/manifests directory on the Kubernetes Control Plane.

The issue description suggests to me that in their case the kcm runs as a regular process on the node and that node might be reachable from the workload, so in that case it makes sense to only bind kcm to localhost.

I didn't get this part exactly: "the interfaces are restricted to what is in the pod's network namespace". The pod IP is reachable from any other pod.

I meant that the interfaces that the KCM can bind to are only those in the pod's network namespace and not all interfaces on the host(since we do not share the host network with the pod).

The issue description suggests to me that in their case the kcm runs as a regular process on the node...

I think that they imply that the KCM is ran as a static pod.

... and that node might be reachable from the workload, so in that case it makes sense to bind kcm to localhost only.

Yes, I agree.

In this case does it make sense to not go forward with this pull request ...

I agree because in my opinion the only difference is that the kcm is no longer bound to localhost.

Since this PR does not seem to enhance security in any way I we can close it. I will just wait for a confirmation from @timuthy so that we are all on the same page.

Based on the common agreement that this PR does not enhance security.
/close

authors: dimityrmirchev istvanballok rfranzke timuthy


text:
Scrape kubelet volume metrics

How to categorize this PR?

/area monitoring
/kind enhancement
What this PR does / why we need it:
This PR adapts Shoot control plane prometheus config to start scraping the metrics kubelet_volume_stats_available_bytes, kubelet_volume_stats_capacity_bytes and kubelet_volume_stats_used_bytes. These metrics are about to be used by the registry cache extensions for alerting (alerts for the registry cache PVC size - RegistryCachePersistentVolumeUsageCritical and RegistryCachePersistentVolumeFullInFourDays and plutono/grafana dashboard panels.
The corresponding kubelet metrics are fetched only from volumes with the namespace="kube-system" label.
Which issue(s) this PR fixes:
Part of https://github.com/gardener/gardener-extension-registry-cache/issues/3
Special notes for your reviewer:
Corresponding PR on registry-cache side - ref https://github.com/gardener/gardener-extension-registry-cache/pull/96.
Release note:

Shoot control plane prometheus is now scraping kubelet volume metrics (`kubelet_volume_stats_available_bytes`, `kubelet_volume_stats_capacity_bytes` and `kubelet_volume_stats_used_bytes`) from the kube-system namespace. This allows Gardener extensions deploying PVCs to the Shoot's kube-system namespace (such as the registry-cache extension) to build alerting and plutono dashboard panels using these kubelet volume metrics.

/approve

authors: acumino ialidzhikov


text:
Fix GitHub URL in .bash_aliases

What this PR does / why we need it:
There was a wrong Github URL in .bash_aliases. The previous GitHub-URL was pointing to a corporate GitHub instance, which is not accessible through the general internet.
Release note:

NONE

 Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.You have signed the CLA already but the status is still pending? Let us recheck it.

authors: CLAassistant thomasdraebing

repo: gardener/ops-toolbelt


text:
Add MAM-to-Goodreads button to request page

Implementation

[ ] Move Goodreads button features to a generic shared function
[ ] Replace original feature with generic
[ ] Add generic to Request page

Also relates to #120

repo: gardenshade/mam-plus

license: Unlicense


text:
Drop support for Qt4

To fix #62, support for Qt4 should be dropped.
Also refer to https://github.com/ros-visualization/rviz/issues/1314

What is the status of this? :)

authors: Timple schra


text:
The Simulator should assign a unique id to each warrior instance

When initialising the Simulator, the Loader should assign a unique id to each instance of a Warrior loaded.  Whenever the Simulator returns Warrior information, the unique id should be included.
This will allow the ui to assign unique colours to each Warrior for example.

Resolved by #75

repo: gareththegeek/corewar


text:
Implement type specs to support static analysis & documentation

Put in typespecs across app to make API clearer.

Algo
CLI
Server
Web - Controller and View only

Not

App
Web Autogen files

Done

repo: garethwebber/elixir-tower-hanoi


text:
R2S 支持硬件 Reset 按钮？

现在硬件 Reset 按钮无效，可以支持吗？

亲测是支持硬件 Reset 按钮的, 为此重置了我的R2S...

@garypang13 我开机后长按没反应，要开机前按着吗？

开机后长按就行.


text:
Is it really needed to use the patched variable?

According to the readme, it is required to use the patched handlebars variable:
const handlebars = require('handlebars'),
      asyncHelpers = require('handlebars-async-helpers')

const asyncHandlebars = asyncHelpers(handlebars)
const template = asyncHandlebars.compile('123');
const rendered = await template({});

Anyway, to my testings it seems like this is not required, as even the original handlebars is now patched:
const handlebars = require('handlebars'),
      asyncHelpers = require('handlebars-async-helpers')

asyncHelpers(handlebars)

const template = handlebars.compile('123');
const rendered = await template({});

May you confirm? I wonder what method would be the best. By using handlebars at least we have type checking but compile() is not a Promise.

What version did you installed? latest one should not pollute the prototype.

authors: MickL gastonrobledo

repo: gastonrobledo/handlebars-async-helpers


text:
Handle reload in autojoins plugin

With this patch it is possible to update autojoin channels via reloading bot (sending hup signal). Code also will handle event when bot was reloaded before autojoin begin to work (in case it was delayed).

Coverage increased (+0.02%) to 97.244% when pulling 7fb13890ba77ef3db73f664a9bc5c26eb5c42138 on bacher09:autojoins_reload into 013a2fcdf935fcdbe452756af6837088781ca3ca on gawel:master.

Coverage increased (+0.02%) to 97.244% when pulling 78b6fcefb93918a9993b5b5aaea10f13c04697e3 on bacher09:autojoins_reload into 013a2fcdf935fcdbe452756af6837088781ca3ca on gawel:master.

Coverage increased (+0.02%) to 97.247% when pulling fbb53d19320a56fc22f0ae0b196cb1ae49c82fce on bacher09:autojoins_reload into 3fa66f953c3612831dfd26c6e3cd23ca56d9fb65 on gawel:master.

license: mit

license_source: bigquery


text:
Models should be accepted in <placement_frame>

Environment

OS Version: Ubuntu 20.04
SDFormat: sdf12 source

Description

Expected behavior: A <placement_frame> should accept a model.
Actual behavior: It throws the following error:

RuntimeError: error: PoseRelativeToGraph unable to find unique frame with name [model_name] in graph.
Steps to reproduce
Try to load the following sdf:
<sdf version="1.9">
  <model name="weld_child_model">
    <joint name="some_other_model__frame_on_world___to___some_model___weld_joint" type="fixed">
      <parent>some_other_model::frame_on_world</parent>
      <child>some_model</child>
    </joint>
    <model name="some_other_model">
      <frame name="frame_on_world">
        <pose relative_to="">0.25 0 0   0 0 -90</pose>
      </frame>
      <include merge="true">
        <name>some_other_model</name>
        <uri>package://convert_model_directives_test/simple_model.sdf</uri>
      </include>
    </model>
    <include>
      <name>some_model</name>
      <uri>package://convert_model_directives_test/simple_model.sdf</uri>
      <placement_frame>some_model</placement_frame>
      <pose relative_to="some_other_model::frame_on_world"/>
    </include>
  </model>
</sdf>

Output
error: PoseRelativeToGraph unable to find unique frame with name [some_model] in graph.

I was doing some further testing and it seems <placement_frame> accepts nested models without the parent scope, ie for this case is valid:
<sdf version="1.9">
  <model name="top_model">
    <model name= "mid_level_model">
      <link name='link'/>
    </model>
    <include>
      <name>bottom_level_model</name>
      <uri>simple_model.sdf</uri>
      <placement_frame>nested</placement_frame>
      <pose relative_to="mid_level_model"/>
    </include>
  </model>

Being nested a model inside simple_model.sdf. Since it wouldn't accept bottom_level_model::nested, then I guess it also makes sense to not accept bottom_level_model and only accept __model__ as it is directly the internal implicit model frame without scope... thoughts @azeey ?

Sure, thanks for having a look.

repo: gazebosim/sdformat


text:
Deprecate camera pose

🦟 Bug fix
Summary
Deprecate //sensor/camera/pose as it's redundant with //sensor/pose, see https://github.com/gazebosim/gz-sim/pull/2433#issuecomment-2150894010.
I deprecated the relevant functions in Camera DOM class. As for deprecating the actual //sensor/camera/pose SDF element, I noticed that the pose element is included in the sdf/1.12/camera.sdf file using <include filename="pose.sdf" required="0"/> so I can't update it's description to say that it's being deprecated. One option is to copy the entire conent of pose.sdf into camera.sdf and update its description - let me know if this is the preferred method.
Checklist

[x] Signed all commits for DCO
[ ] Added tests
[ ] Updated documentation (as needed)
[x] Updated migration guide (as needed)
[ ] Consider updating Python bindings (if the library has them)
[ ] codecheck passed (See contributing)
[ ] All tests passed (See test coverage)
[ ] While waiting for a review on your PR, please help review another open pull request to support the maintainers

Note to maintainers: Remember to use Squash-Merge and edit the commit message to match the pull request summary while retaining Signed-off-by messages.

As for deprecating the actual //sensor/camera/pose SDF element, I noticed that the pose element is included in the sdf/1.12/camera.sdf file using <include filename="pose.sdf" required="0"/>

does it work to set required="-1" in the include element?
<include filename="pose.sdf" required="-1"/>

does it work to set required="-1" in the include element?

oh I didn't know about this! Just found what -1 means in the parser code. I think that's what I need, thanks. Set required to -1 in c8f2521

I looked back in gazebo-classic, and we used the //camera/pose for multicameras (such as a stereo camera) in order to specify the location of each sub-camera:

https://github.com/gazebosim/gazebo-classic/blob/gazebo11/test/worlds/multicamera_test.world#L63-L90

do we have support for stereo-cameras yet in gz-sim? cc @azeey

do we have support for stereo-cameras yet in gz-sim?

Gazebo-classic uses a multicamera sensor so that it can guarantee the cameras are synchronized / updated in the same timestep. This is not necessary in gz-sim. To use stereo or multi-cameras in gz-sim, the users just need to create 2 (or more) cameras with the same update rate - this will guarantee that the cameras are updated in the same timestep.

I originally thought //camera/pose is used for rotating the camera to optical frame but no you're right it's for multicamera sensors. If there are other consumers of sdformat (other than gazebo-classic and gz-sim) that support multicamera + //camera/pose, maybe we should not deprecate this. We just won't support this field in gz-sim.

Closing this. The new Gazebo will not use this SDF element but there maybe users out there who do need multicamera + //camera/pose .


text:
How to use this plugin to make Camera remain locked in Portrait?

Hi all,
What the subject says.
How can you use this plugin using its screen function to keep the device camera remain locked in portrait when capturing photo?

Hi @weaponhax,
This plugin only locks the webview component of the app and has no control over the native camera apps.

authors: gbenvenuti weaponhax


text:
404 pages not served

What a url do not exist, then the 404 file should be served with a 404 error code.

Fixed in staging and prod, thanks.

Fixed in staging and prod, thanks.

authors: MattBlissett MortenHofft

repo: gbif/hosted-portals


text:
Retrieve occurance and media licenses in standardized format

It would be useful to be able to retrieve standardized (SPDX) license identifiers through pybif.
GBIF licenses are listed legal code urls, we would either need to port this, assuming there is no way to convert this using the api.

Sounds good. Perhaps if I make a class for citations, then the class can have a method for giving that output

This is relating to the occurrence search, licenses are included in the occurrence download.
GBIF does not interpret the media license so it cannot be implemented until GBIF standardize media licenses.

authors: CecSve faroit sckott

repo: gbif/pygbif


text:
[Enhancement] install extensions from Google WebStore

Hello! Would you add some extension to simplier installation extensions from Google WebStore? Would be nice feature! Thanks!

I've whipped up this simple script to download an extension from the store link and open it with inox, then you can just drag and drop the .crx from inox.
https://github.com/SethDusek/extension-downloader
Usage: python downloader.py YOURLINKHERE
Example: python downloader.py https://chrome.google.com/webstore/detail/scriptsafe/oiigbmnaadbkfbmpbfijlflahbdbdgdf

doesn't seem to work for postman, it tells me I can only install it from the webstore

Once it is downloaded you have to drag and drop the extension.

Obviously. And it doesn't work.

What error do you get? When I wrote that a few months back I tested it out on both stock chromium and inox (on arch)

What error do you get?

What I already said: it tells me I can only install it from the webstore

Huh. Okay, I'll see what I can do

@hasufell Seems to be working for me on latest chromium. http://i.shibe.ml/QmRLtdABPCDRYr9Jn6NHTWwa5j5jBYNHieDj6nzc2GG7bA.webm
I can't test right now on inox as I don't have it built,  but I don't see why inox patches would make any difference.

I can't test right now on inox as I don't have it built, but I don't see why inox patches would make any difference.

I don't see how testing it on chromium is relevant here. Please test it on inox. It doesn't help to make assumptions.

@MrAmnesiac I've done a little bit of digging into your issue, and I believe you are using the wrong link. For example you are using https://clients2.google.com/service/update2/crx?response=redirect&prodversion=48.0&x=id%3Dapmlngnhgbnjpajelfkmabhkfapgnoai%26installsource%3Dondemand%26uc
when instead you should just be passing the store link to the downloader, which in this case would be https://chrome.google.com/webstore/detail/cloud-to-butt-plus/apmlngnhgbnjpajelfkmabhkfapgnoai

@hasufell I got somebody on IRC to test it on arch with the inox-bin package. He says it is working, so I honestly don't know whats wrong here

I've been trying to install the Signal webapp, using the script and manually editing the URL, but the installation fails, telling me that "this element can only be installed from the Web Store", even when drag-dropping in chrome://extensions.
Is it possible to install Signal in Inox?

@s0r00t Why are you manually editing the URL, why not just pass it as an argument to the downloader?

Windows version

@aolko why is the source code not available?

@SethDusek it will be a tad later

added source

Hello
I'm just repeating what all others are waiting for eagerly...
Pls, Pls...
Would you add some extension to simplier installation extensions from Google WebStore?
this would help us use the ungoogled chrome more extensively & with greater privacy...
Thanks!

Hello developer !!
I'm just here for a quick reply..
when I've downloaded the .py extension downloader & drag-n-dropped to
chrome://extensions/
it doesnot seem to work, just the errors shows:

Failed to load extension from: [PATH]
Manifest file is missing or unreadable.

Sorry for not being active in this issue. I will look into this the next days.

I wrote a small "Extension unpacker" which downloads and unpacks extensions from WebStore to make a offline install possible, take a look here: https://github.com/gcarq/inoxunpack
with this you should be able to bypass the WebStore constraints.
Feel free to open PRs.

Would it be theoretically possible to unpack the extension directly to the profile directory of the browser? I imagine there is some kind of database that stores the installed extensions and their settings, which could be edited. This way installations and updates of extensions could be fully automated.

AFAIK Chrome explicitly prevents anything external from touching its extensions, to prevent malware (remember the changed homepage and a browser bar or two you didn't ask for while installing that audio converter a minute ago? That's primarily why :P). Even common antivirus software, generally rather invasive, can't install addons fully automatically, and Chrome prompts user on the next start whenever to install something or not.

How does it prevent that? There must be a workaround :)

There's a mechanism in Debian's Chromium that allows for system-installed extensions. I think it is a part of the Chromium code. It should be easy to modify to allow the mechanism to work relative to the profile directory I suppose. But this won't work with extensions that aren't installed this way.
AFAIK, most files in the profile directory are JSON or SQLite files. It shouldn't be too hard to modify it if you want to do that.
I think a better solution is to have an extension that takes care of this; i.e. notify the users and perform the update (if that is simple enough to do). Update checking and notifications should be possible with the current Chrome APIs.

@Eloston Do you have a link to the Debian's Chromium project where the extensions are included?
FYI it creates a new entries in ~/.config/inox/<UserProfile>/Preferences if a unpacked extension is installed (ublock origin in this case), but there are a lot of additional properties which aren't provided by the manifest.json
            "<some-id>": {
                "active_permissions": {
                    "api": [
                        "contextMenus",
                        "privacy",
                        "storage",
                        "tabs",
                        "unlimitedStorage",
                        "webNavigation",
                        "webRequest",
                        "webRequestBlocking"
                    ],
                    "explicit_host": [
                        "http://*/*",
                        "https://*/*"
                    ],
                    "manifest_permissions": [],
                    "scriptable_host": [
                        "http://*/*",
                        "https://*/*"
                    ]
                },
                "commands": {},
                "content_settings": [],
                "creation_flags": 38,
                "events": [],
                "extension_can_script_all_urls": true,
                "from_bookmark": false,
                "from_webstore": false,
                "granted_permissions": {
                    "api": [
                        "contextMenus",
                        "privacy",
                        "storage",
                        "tabs",
                        "unlimitedStorage",
                        "webNavigation",
                        "webRequest",
                        "webRequestBlocking"
                    ],
                    "explicit_host": [
                        "http://*/*",
                        "https://*/*"
                    ],
                    "manifest_permissions": [],
                    "scriptable_host": [
                        "http://*/*",
                        "https://*/*"
                    ]
                },
                "incognito_content_settings": [],
                "incognito_preferences": {},
                "initial_keybindings_set": true,
                "install_time": "13131476020325255",
                "location": 4,
                "never_activated_since_loaded": true,
                "newAllowFileAccess": true,
                "path": "/home/test/.inoxunpack/cjpalhdlnbpafiamejdnhcphjbkeiagm",
                "preferences": {
                    "enable_a_ping": false,
                    "net.network_prediction_options": 2
                },
                "regular_only_preferences": {},
                "state": 1,
                "was_installed_by_default": false,
                "was_installed_by_oem": false
            }

Another thing worth mentioning is the extension-content-verification flag, which is a good entry point to find the relevant verification code and it would make an install possible without unpacking.
This flag can be used to turn on verification that the contents of the files on disk for extensions from the webstore match what they're expected to be. This can be used to turn on this feature if it would not otherwise have been turned on, but cannot be used to turn it off (because this setting can be tampered with by malware). #extension-content-verification
More information: http://superuser.com/questions/848664/can-i-disable-chromes-extension-content-verification
My plan is also to create a browser extension to take care of this, but until a robust solution is found python it is.

@gcarq I was referring to this mechanism: https://developer.chrome.com/extensions/external_extensions

@Eloston Is debian shipping some extensions per default? that mechanism doesn't load local .crx files.

@gcarq You're right, it doesn't load local crx files. The mechanism is for allowing packages to provide extensions to the webbrowser, like it is done for Firefox in Debian. Is there a reason you want to leave the crx file intact?

If anyone's interested, here's my take on a Python script for installing extensions from the Webstore and keeping them updated.

Here is yet another tool for keeping extensions up-to-date: chromexup. It focuses on automatic updates and should work in Linux with systemd and in macOS with launchd.
In Windows Chromium doesn't load locally placed external extensions unless an update server URL is provided, so sadly no use case here.

authors: DragoonAethis Eloston InspectorMustache Mayurifag SethDusek akehsanz aolko gcarq hasufell s0r00t xsmile

repo: gcarq/inox-patchset


text:
Bug report: Chrome version 112 will not be recoginzed as valid browser

Chrome version 112 will not be recoginzed as valid browser.
Uncaught TypeError: Cannot read properties of null (reading 'addEventListener')
Filename: https://cyberchef.harman.com/assets/main.js
Line: 2
Column: 5228550
Error: TypeError: Cannot read properties of null (reading 'addEventListener')
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/112.0.0.0 Safari/537.36
CyberChef version: 10.4.0
To Reproduce
Start Cyberchef application
Access the Cyberchef URL with Chrome 112.0.5615.121 (64-Bit) (Windows)
Expected behaviour
Cyberchef board should be shown as with a Microsoft Edge Browser (also Version 112.0.1722.48 64-bit)  (Windows)
Screenshots

Desktop (if relevant, please complete the following information):

OS: Windows 11
Browser: Chrome 112
CyberChef version: 10.4.0

Additional context
running in docker
Image: mpepping/cyberchef:latest
Image ID: 18fe308b5f33
https://hub.docker.com/layers/mpepping/cyberchef/latest/images/sha256-7b9fea4c725c9cbb3d27b92a1266207385d3c4d742a197977e5588d749725684?context=explore

I've just encountered the same behavior as @othews when deploying 10.4.0 with docker, and accessing it from Chrome 114 on Windows 10.
Uncaught TypeError: Cannot read properties of null (reading 'addEventListener')
Filename: https://cyberchef.booking.com/assets/main.js
Line: 2
Column: 3888960
Error: TypeError: Cannot read properties of null (reading 'addEventListener')
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/114.0.0.0 Safari/537.36
CyberChef version: 10.4.0

It works without issue in latest Edge/Firefox on Win10.

same issue :(

authors: IISResetMe hypnguyen1209 othews

repo: gchq/CyberChef


text:
Expose a SPARQL Query Service

This will be needed to cater for future client projects whose requirements we cannot predict, and as preparation for possible changes under #63, since that will need to make use of SPARQL queries.
The MagmaCoreDatabase interface exposes the executeQuery method internally, but it only handles results of the form "subject, predicate, object" and we would probably want to support any number of result fields, not just triples. Also, if we expose this to MC users then we will also expose the internal usage of Apache Jena which is probably undesirable.
I propose a new service to run arbitrary SPARQL queries, with any number of result fields, which prevents exposing our usage of Jena. We may also want to expose a method that expects triples as the result and where each object has an rdf:type of a known HQDM entity type - this would support conversion of the query results to Things rather than expecting the client code to work with 'raw' triples. The new service methods would have signatures something like this (negotiable!):
Set<Record> sparqlQuery(String sparql);// `Record` represents an arbitrary number of result fields
Set<Thing> thingsQuery(String sparql);// Auto convert to `Things`

If we do this then we restrict the databases that MC can support to those that can be queried using SPARQL, which might be undesirable.

repo: gchq/MagmaCore


text:
Publication button url broken for internal non pdf links

Hello, I think I have discovered another ramification of Windows backslashes, as discovered by @louwerse in #800. The buttons under publications work for pdfs and external links, but not for internal links to slides, etc.
Using my own website (avivaprins.com) to describe the issue:
Here is my publication. The corresponding index.md used to generate it is here.
As you'll see in the index.md file,
url_pdf = "files/pdf/....pdf" which points to the static folder, rather than the local page bundle
url_slides = "....pdf" which should point to the local page bundle.
The pdf button works as expected: it links to avivaprins.com/files/pdf/.... The slides button does not: it links to avivaprins.com/publication%5cpolitical-donations%5c...
Note that %5c in a url is \, but we need the other kind of slash (/) here. I assume this problem occurs for talks as well, but I have not tested it.
Cheers!

I recommend adding the appropriate file locations (page bundle versus static folder) to the documentation and adding an example of this to the example website.
Thanks for your quick response!

repo: gcushen/hugo-academic


text:
fix:categories and tags do not support chinese on post pages

Purpose
Fixes #1551 categories and tags support chinese

@xiangtianlong I believe anchorize is the appropriate Hugo function to use here - please check with the Hugo team and consider updating.

Related to #1575

authors: gcushen xiangtianlong


text:
Tooltip in survival guide covers block above

I am building my flat map top to bottom, and the tooltip showing the next block to place covers the block directly above. If the block above was clearly visible, I could more easily confirm that I'm still on track and did not miscount.
Putting the tooltip below would work for me, but could likewise annoy when a map is built bottom to top.
Maybe the tooltip can have an extended arrow so it sits one row higher above the block. 🤔

I have a fix for this, will push it soon!

authors: csemrau gd-codes

repo: gd-codes/mc-pixelart-maker


text:
Isolate FastDifferentiation pullback bug

@brianguenter here you have a PR where the test suite is reduced to the thing that makes FastDifferentiation error
If you want to try and run locally:

Clone the repo from the gd/fastdiff_fail branch
Activate the test environment with TestEnv.activate()
Include the file test/test_imports.jl
Then include the file test/first_order.jl

See the test failure https://github.com/gdalle/DifferentiationInterface.jl/actions/runs/8527052431/job/23357604893?pr=132#step:6:471


text:
Custom stacking for StaticArrays

Partial answer to #563
Related:

https://github.com/JuliaArrays/StaticArrays.jl/issues/1272

Versions

Bump DI to v0.6.10

DI core

Customize the stacking functions used to turn tuples of arrays t into Jacobian/Hessian blocks
Some esthetic improvements on modulo computations with mod1

DI extensions
StaticArrays (new extension):

Implement better column stacking for t::NTuple{_,<:SArray} by using hcat(map(vec, t)...) instead of stack(vec, t). Benchmarks show a x2 speedup on the example from https://github.com/SciML/NonlinearSolve.jl/issues/476, and now each block is an SMatrix.
The remaining issue is that the resulting reduce(hcat, blocks) is still a Matrix. It would be solved by mapreduce as seen in #561, but at the cost of type stability.

Codecov Report
Attention: Patch coverage is 0% with 7 lines in your changes missing coverage. Please review.

Project coverage is 4.94%. Comparing base (3698dbe) to head (1b1f9ab).

Files with missing lines
Patch %
Lines

...raysExt/DifferentiationInterfaceStaticArraysExt.jl
0.00%
2 Missing :warning:

...fferentiationInterface/src/first_order/jacobian.jl
0.00%
2 Missing :warning:

DifferentiationInterface/src/utils/linalg.jl
0.00%
2 Missing :warning:

...fferentiationInterface/src/second_order/hessian.jl
0.00%
1 Missing :warning:

:exclamation:  There is a different number of reports uploaded between BASE (3698dbe) and HEAD (1b1f9ab). Click for more details.
HEAD has 32 uploads less than BASE

Flag
BASE (3698dbe)
HEAD (1b1f9ab)

DI
28
1

DIT
5
0

Additional details and impacted files
@@            Coverage Diff             @@
##             main    #564       +/-   ##
==========================================
- Coverage   88.36%   4.94%   -83.43%
==========================================
  Files         105      76       -29
  Lines        4797    3032     -1765
==========================================
- Hits         4239     150     -4089
- Misses        558    2882     +2324

Flag
Coverage Δ

DI
4.94% <0.00%> (-84.44%)
:arrow_down:

DIT
?

Flags with carried forward coverage won't be shown. Click here to find out more.

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

This PR adds an extension in order to have these two paths,
function DI.stack_vec_col(t::NTuple{B,<:SArray}) where {B}
     return hcat(map(vec, t)...)
 end

 stack_vec_col(t::NTuple) = stack(vec, t; dims=2)

Is this clearly better than just always using hcat? The splat would be terrible with long vectors but you only support a tuple anyway, so is should be free. For example:
julia> tm = ntuple(i -> fill(i,2,3), 10);

julia> @btime stack(vec, $tm; dims=1);
  142.494 ns (12 allocations: 912 bytes)

julia> @btime hcat(map(vec, $tm)...);
  101.484 ns (12 allocations: 912 bytes)

I think you mean worse? That's the same way around.

Sorry I read your comment the wrong way. I did some more thorough benchmarks in this issue and stack does come out on top for usual arrays it seems?

Wow that's quite hard to decode. (Probably I should have used dims=2 above, slightly faster codepath, same as no dims).  But indeed stack is faster than hcat on that example:
julia> tm = ntuple(i -> rand(100, 100), 10);

julia> res1 = @btime stack(vec, $tm);  # called "bad stack, function" at link
  14.250 μs (13 allocations: 781.64 KiB)

julia> res2 = @btime stack(vec, $tm, dims=2);  # version with dims as in PR
  14.250 μs (13 allocations: 781.64 KiB)

julia> res3 = @btime hcat(map(vec, $tm)...);  # called "good stack, function" at link
  64.416 μs (13 allocations: 781.64 KiB)

julia> res1 == res2 == res3
true

Whether that's true in general I don't know, perhaps I'm somewhat surprised. And if it is, whether it's worth the complexity is your call.
Note that vec(::Matrix) allocates. If you care a lot about this operation you might also consider lazier reshape:
julia> myvec(x) = Base.ReshapedArray(x, (length(x),), ());  # not sure 3rd argument is optimal!

julia> res4 = @btime hcat(map(myvec, $tm)...);  # faster
  38.792 μs (3 allocations: 781.33 KiB)

julia> @btime stack(myvec, $tm);  # slower
  22.084 μs (3 allocations: 781.33 KiB)

julia> res1 == res4
true

Whether that's true in general I don't know, perhaps I'm somewhat surprised. And if it is, whether it's worth the complexity is your call.

In the current state of things, stack is used everywhere. This very short PR switches to hcat only for SArrays, which is definitely better. There's a question of whether we should switch everywhere, but I'll put it on the back burner for now since the answer is less obvious.
By the way, any ideas on how to implement stack(...; dims=1) with cat operations? For columns it was easy because hcat turns vectors into matrices, but vcat just makes longer vectors. Would you transpose first, or do yet another trick?

Note that vec(::Matrix) allocates. If you care a lot about this operation you might also consider lazier reshape:

Wow, I didn't know that. I naively thought that a Matrix was just a vector in a trench coat, hence this would be free.
Any reason not to use reshape in your suggestion?

authors: codecov-commenter gdalle mcabbott


text:
Extension does not include the application Id and scope for the token request.

Is it possible to provide the application Id and scope for the token request when using the getToken action ?

Added to version 1.0 of the extension.  If already using the task, be sure to change the task version from 0.* to 1.*.

authors: carlskii gdbarron

repo: gdbarron/MachineIdentityExtension


text:
New tab opens non-momentum page

I've got the extension Momentum installed and that replaces the new tab page. But whenever I press 'T' to open a new tab, it won't open the momentum page.
Expected page:

Result after pressing 'T':

Now you need to set the"New Tab URL" option of Vimium++, and it should be the other extension's page URL. More details are in https://github.com/gdh1995/vimium-plus/wiki/Use-another-extension-as-the-New-Tab

@gdh1995 Ah right, excuse me I missed that tutorial in the wiki! The issue has been resolved.


text:
theseed_version이 4.13.0 이상이면 Nuxt.js 프론트엔드 사용

원래 엔진 개발 목적이 나무위키와 알파위키에서 더시드 v4.13.0에 도입된 새로운 프론트엔드가 너무 싫어서이기도 하고 애초 목적이 구버전 더시드 엔진 모방이라서 기존에 쓰인 프론트엔드(swig 기반)를 계속 고수하고 Nuxt.js를 도입하지 않았는데, config.json의 theseed_version에서 4.13.0 이상 버전을 지원하게 되었고(ACLGroup 등), 이것 때문에 최신 버전 모방 시 최대한 유사하게 하기 위해 config.json에서 theseed_version이 4.13.0 이상으로 설정된 경우 Nuxt.js 프론트엔드를 쓰는 기능을 넣을까 생각하고 있습니다...

기다리고 있었습니다.

Nuxt.js를 config.jsonf에서 끄고 키는 것도 나쁘지 않을 것 같습니다.(예를 들어 "use_nuxtjs_frontends":true 하면 된다던지)

https://gall.dcinside.com/mgallery/board/view/?id=namuwiki&no=66742&s_type=search_subject_memo&s_keyword=.EB.B3.91.EC.95.84.EB.A6.AC&page=1
https://gall.dcinside.com/mgallery/board/view/?id=namuwiki&no=68604&s_type=search_subject_memo&s_keyword=.EB.B3.91.EC.95.84.EB.A6.AC&page=1
우연히 찾았는데 제가 라이선스를 GPL로 하지 않아서 소스가 공개될 지는 모르겠습니다...

제가 Nuxt.js 가이드를 좀 봤는데 구버전 더시드 프론트엔드와 Nuxt.js 프론트엔드를 한 프로젝트에 같이 공존하게 하는 건 어려울 것 같아서 Nuxt.js 프론트엔드 버전은 따로 분리된 프로젝트로 해야 할 것 같다는 생각이 듭니다

더시드엔진도 백엔드와 프론트엔드가 분리된 구조로 알고 있습니다

누군지가 가장 궁금하네요


text:
Run apt::update before installing package

https://github.com/gds-operations/puppet-aptly/issues/48

every time I ran Puppet for the 1st time, it fails to install aptly

This is because apt::source schedules apt::update to happen at the end of the Puppet run, but by that time we've already attempted to install the package.
This commit introduces a dependency between apt::update and the package resource.

Looks fine. Merge away.

Hello! Do you guys have any idea when the next release including the fix for https://github.com/gds-operations/puppet-aptly/issues/48 will be available? Thanks!

@roccatgaming: Sorry for the delay! We've just released this 0.6.0.

authors: alexmuller deanwilson roccatgaming

repo: gds-operations/puppet-aptly


text:
fix #1892: added instruction text to operate network graph

the PR also includes minor tweaks of context menu

Current coverage is 63.37%

Merging #1965 into master will decrease coverage by -0.41% as of a16a688

@@            master   #1965   diff @@
======================================
  Files          174     174
  Stmts         5376    5376
  Branches       598     598
  Methods
======================================
- Hit           3429    3407    -22
  Partial          0       0
- Missed        1947    1969    +22

Review entire Coverage Diff as of a16a688

Uncovered Suggestions

+0.22% via ...cutor/Executor.scala#283...294
+0.20% via .../MasterService.scala#134...144
+0.20% via ...er/main/Master.scala#177...187
See 7 more...

Powered by Codecov. Updated on successful CI builds.

+1

authors: clockfly codecov-io stanleyxu2005

repo: gearpump/gearpump


text:
🛑 Sitio 1 is down

In 5141915, Sitio 1 (${{ secrets.SITE_1 }}) was down:

HTTP code: 0
Response time: 0 ms

Resolved: Sitio 1 is back up in 58348b1.

repo: gedesco-git/uptime


text:
🛑 Public Annatar Stremio Addon is down

In e17fabd, Public Annatar Stremio Addon (https://annatar.elfhosted.com) was down:

HTTP code: 0
Response time: 0 ms

Resolved: Public Annatar Stremio Addon is back up in 86ec713 after 7 minutes.

repo: geek-cookbook/elfhosted-upptime


text:
"Fix three KePub fullScreenReading bugs" Better Patch

FindReplaceString:
Find:    "img { display: block; margin-left: auto !important; margin-right: auto !important; width: auto !important; height: auto !important; }"
Replace: "body{margin:0!important;padding:0!important;}body>div{margin-right:0.2em !important; margin-bottom:0.25em !important;               }"

The default 3 patches still have text cut off in Japanese(Vertical), English under difference circumstances.
This one is bruteforce but enables Japanese, Eng/Chinese aligned properly without being cut off.
Any better adjustment will be welcomed.
Plz merge this.

I think change 0.Xem to XXpx could be better in compatibility.
Because fonts differs in weight & sizes, I tested many works, few(very few) like MI LANTING still cut off Japanese with this patch. BUT default fonts all works fine.

This patch should not be necessary since 4.11.11911, as Kobo now officially supports disabling headers and footers.


text:
Support for Python 3.X

As I saw,  most of the scripts support only Python 2.x. There should be a support for python 3.X also.
It includes adding aliases for function names, such as raw_input() to input() , adding parantheses to print.

hey @ayush1999 I'm currently working on that. separating python 2.x and 3.x check my forked one. After completing ill send pull.

Most of the python scripts just support Python3.x

repo: geekcomputers/Python


text:
Python

.

Good.


text:
Receiving a None response

When doing
    reg_id = sample_reg_id
    response = gcm.plaintext_request(registration_id=reg_id, data=data)

The response variable comes as "None". Why so?

Found out that it's raising an MissingRegistration error.

@amportugal Which version of python-gcm are you using? (from where did you install it?)

@mnemonicflow I used version 0.2 and have  the same error, after I debug, request is missing header Content-Type: application/x-www-form-urlencoded;charset=UTF-8 ( https://developers.google.com/cloud-messaging/http )
Missing header is reason gcm request sometime success but sometime error. (With request error, I tested by manual request with the same content just add header Content-Type: application/x-www-form-urlencoded;charset=UTF-8)
Thanks.

@truyet That has been fixed in master branch https://github.com/geeknam/python-gcm/blob/master/gcm/gcm.py#L278 . But this problem might be related #84 which I investigated here: https://github.com/geeknam/python-gcm/issues/84#issuecomment-147240625
We plan to release 0.3 version, in the meantime try the master branch.

@nemonicflow Yes, I used code in master branch and see you fixed it, thank you. But I think you need review retries in gcm request  function (plaintext_request, json_request) because it is looped while gcm request is success.

0.3 is now live: https://pypi.python.org/pypi/python-gcm

@truyet I will have a look at it. But I haven't found that to be the case. I will try to test your assertion.

@truyet the problem with the loop inside plaintext_request has been fixed. See #98
Getting a None response from plaintext_request when success is a legitimate return value in case where there is no error and the token hasn't changed. (i.e. wasn't replaced by a canonical_id)
We need to provide a way to return the message id when success but still be backwards compatible with old clients that except None as the return value when success.

authors: amportugal geeknam mnemonicflow truyet

repo: geeknam/python-gcm


text:
Links to Galaxy documentation are broken

The update to Galaxy NG has broken some links.
Example, reference 72 (page 144 in edition 2.2):

see the official documentation: Installing Multiple Roles From a File.

This no longer leads anywhere useful. I'd suggest a replacement destination, but the new documentation has me befuddled and I haven't really found something equivalent.

Definitely needs to get fixed, but I think part of the NG move was a bit of cleaning house and dumping a lot of roles documentation specifically. Or at least shifting it around so much and making Collections more prominent :(

authors: geerlingguy iay

repo: geerlingguy/ansible-for-devops


text:
unbound request

more of a feature request than an issue, but could we get unbound integration into pihole for recursive dns. I'm still dabbling in to docker so didn't really delve into integrating them with the internet monitor docker-compose but i think it would be really a comprehensive solution for running the full suite of pihole with unbound and getting that just tiny bit more speed wrt dns query resolution.

It is simple. The unbound guide you are probably following expects that both pi-hole and unbound will be running on the same host and makes you use 127.0.0.1 as a DNS server in Pi-Hole. Wont work since hole is in a container and unbound is not. Just configure unbound to listen to your host's IP (for example) and then tell pi-hole to use the same IP as a DNS server.

Looking into using https://github.com/chriscrowe/docker-pihole-unbound/tree/master/one-container for this

authors: DanielB1990 borj khullarmudit

repo: geerlingguy/internet-pi


text:
change speedtest server

I have a doubt, if it is possible to change the speedtest server to the one that does the test. be able to add the id or name of this server
Has anyone been able to do it? which line do i change?
Greetings.

I did that in internet-monitoring, which is the predecessor to internet-pi.
You have to install the docker stuff manually, then the internet-monitoring docker compose files. There is a directory in the code of internet-pi.

Add this in the Speedtest section of the .yml.
environment:
- SPEEDTEST_PORT= #optional
- SPEEDTEST_SERVER= #optional

Thank you very much dear friend, I will review what you say and I will apply it. thank you so much

I went back and looked at the internet-pi install and there is an internet-monitoring directory beneath your home directory.
yourname@rpi4B:~/internet-monitoring $
There you will find...
drwxr-xr-x 3 drw drw 4096 Nov 25  2022 blackbox
-rw-r--r-- 1 drw drw 2148 Sep  8 06:40 docker-compose.yml
drwxr-xr-x 3 drw drw 4096 Nov 25  2022 grafana
-rw-r--r-- 1 drw drw 5241 Nov 25  2022 Grafana-Org-Stats.json
drwxr-xr-x 2 drw drw 4096 Aug 19 20:12 prometheus
-rw-r--r-- 1 drw drw 3481 Nov 25  2022 README.md
-rwxrwxrwx 1 drw drw   98 Aug  4 11:16 update.sh
In docker-compose.yml you will find a section...
speedtest:
expose:
- 9798
ports:
- 9798:9798
image: miguelndecarvalho/speedtest-exporter
restart: always
networks:
- back-tier
environment:
- SPEEDTEST_SERVER=36684
I added those last two environment lines.
update.sh is a script I created to update after the edit.  It contains...
docker-compose pull
docker-compose down
docker-compose up -d --no-deps
docker system prune --all
36684 is Ga Tech's speedtest server.  Use whatever you want.  Without specifying a server mine defaults to VZ Nashville.  It must be under provisioned, because it fails a lot.
I hope this helps.
Dennis

VZ finally fixed the issue with their Nashville Speedtest.net server.

Problem is back.

authors: DWomack EduardoVasNeira


text:
CLFLUSH causes TLB assertion error

Describe the bug
Executing clflush instruction in FS mode caused this assertion error,
src/sim/simulate.cc:199: info: Entering event queue @ 14392355269750.  Starting simulation...
src/sim/simulate.cc:199: info: Entering event queue @ 15473386459500.  Starting simulation...
src/sim/power_state.cc:105: warn: PowerState: Already in the requested power state, request ignored
src/sim/simulate.cc:199: info: Entering event queue @ 15474400558750.  Starting simulation...
src/mem/ruby/system/Sequencer.cc:668: warn: Replacement policy updates recently became the responsibility of SLICC state machines. Make sure to setMRU() near callba
cks in .sm files!
gem5.opt: src/cpu/translation.hh:257: void gem5::DataTranslation<ExecContextPtr>::finish(const Fault&, const RequestPtr&, gem5::ThreadContext*, gem5::BaseMMU::Mode)
 [with ExecContextPtr = gem5::TimingSimpleCPU*; gem5::Fault = std::shared_ptr<gem5::FaultBase>; gem5::RequestPtr = std::shared_ptr<gem5::Request>]: Assertion `mode
== state->mode' failed.
Program aborted at tick 15478398983501

The problem seems to be that,

In the gem5's X86 ISA implementation, clflush* is a store instruction.
In TimingSimpleCPU, the translation of a store instruction will set the TLB to BaseMMU::Write mode.
While translation is happening, the state of the translation is changed to BaseMMU::Read as the mem request caused by clflush is a isCacheClean request. https://github.com/gem5/gem5/blob/v23.1.0.0/src/arch/x86/tlb.cc#L556-L564
This resulted in a state mismatch, and subsequently caused the mention assertion error, which requires the state of the TLB and the state of translation to be the same.

Affects version
v23.1
gem5 Modifications
N/A
Additional information
Related issue: #226
Related change: #592
Reverting #592 fixes the error on my side, but it's not ideal due to issue #226.
I think we can make the clflush* instructions to be load instructions, but I'm not sure if that change is functionally correct.

A possible fix is to change line 257 to:
// CLFLUSHOPT/WB/FLUSH is treated as read for protection checks but modelled as write
assert(mode == state->mode || req->isCacheClean());

https://github.com/gem5/gem5/blob/c890e6b113a59caeec3eea9bafea4a03a471f89d/src/cpu/translation.hh#L257

Thanks for the fix @Lukas-Zenick. I wonder if this error only occurs for the timing CPU or if it also happens when using the O3 CPU?
If it's only the timing CPU, then maybe we should update the TimingSimpleCPU::writeMem function. If it happens for all CPU models, then I think your fix in #1080 is correct.

authors: AKKamath hnpl powerjg


text:
WIP: ADD DRAMSys tests to our weekly tests

This adds the DRAMSys tests to our weekly-tests.yaml file
Change-Id: Ieb7903a3a7ffae6359b3de5f66e1dd65eb51fc80

The issue is you aren't recursively getting the submodules. The README file for DRAMSys was incorrect. I fix this in #202. Update the test to incorporate this change and it should start working.

@BobbyRBruce I tested that out and the test runs successfully now, thanks! I'll make the change here then mark it as ready for review


text:
How to use COSGR within scATAC and Spatial？

Thank you very much for this package, it will greatly reduce the time for us to select unique gene.
But I found that there are only tutorials used in Seurat and Scanpy on github. How can it be used in scATAC and spatial?
For example, how can it be integrated into the ArchR workflow? thank you very much.

there is no one to answer this question

repo: genecell/COSGR


text:
Acknowledgement form and Notice

Hello again,
I've replied to the original issue that you closed and I'm not sure if you receive notifications for that.

Could you please use my full name: Andreas Kirsch in the acknowledgments in the form:

consistent_mc_dropout.py was taken from https://github.com/BlackHC/batchbald_redux by Andreas Kirsch. Please cite the BatchBALD paper if you use consistent MC dropout (https://arxiv.org/abs/1906.08158).

According to https://www.apache.org/licenses/LICENSE-2.0#apply, a NOTICE text file is not necessary. It is only required for ASF projects.

Regardless, I've added a NOTICE now: https://github.com/BlackHC/batchbald_redux/blob/master/NOTICE
Either way, please remove your own copyright notice from that file in your repository, as it is wrong.
Thanks so much for the quick reply.
Best wishes,
Andreas
Originally posted by @BlackHC in https://github.com/genedisco/genedisco/issues/8#issuecomment-1542514622

Hi @BlackHC
Thank you for amending your repository to include one of the mechanisms for attribution offered by the Apache license. We have added the NOTICE file to the repository to accommodate your request.

Either way, please remove your own copyright notice from that file in your repository, as it is wrong.

It is our institutional policy to mark every file distributed with a licensing header as this is required for certain clauses of licenses to take effect (see below). Redistribution and relicensing is explicitly allowed under the Apache 2.0 license.
PS: Your contribution to Open Source code is very much appreciated and most commendable indeed - however, it is important to configure your repository and license such that the stated conditions reflect your intended licensing conditions. Your original license formalises that you are happy without any attribution. There are two ways to attribute under Apache 2, 1) to include a license notice in each Source file that you wish to attribute (paragraph 4c) and/or 2) inclusion of a NOTICE text file (paragraph 4d) - you have not included either in your distributed Source work. Your institutional IP representative is likely able to help clarify the correct configuration of your distributions according to your intentions.

https://www.planetcrust.com/what-does-apache-2-0-license-mean?utm_campaign=blog#:~:text=Furthermore%2C developers can then distribute,notices on all altered files.
Please attribute the changes to the source code in the file then. The copyright notice in the file is misleading.
You cannot add my notice to your notice and then slap a separate notice on top of the file that you took without alterations and not mention my copyright.
Also please acknowledge my citation request for BatchBALD.
Thanks,
Andreas

authors: BlackHC genedisco

repo: genedisco/genedisco


text:
infrastructure for development node

Hi,
Amelia just pointed out that all of our new terms in
the development node will need to have at least one
is_a parent as well as any part_of parents that they
might have.
So for example we can have:
%mesoderm development
-<mesoderm morphogenesis
and we also need:
%morphogenesis
-%mesoderm morphogenesis
This means that for each of the term types that we have
designed for the development node:
"x" development
--<"x" morphogenesis
----<"x" formation
------<"y cell" differentiation
----<"x" structural development
--<"x" maturation
and
-%x cellular process
--%x cell differentiation
----<x cell fate commitment
-----<x cell fate specification
-----<x cell fate determination
----<x cell development
------%x cellular morphogenesis during differentiation
------%x cell maturation
We'd need also to have the generic parent as an is_a
parent.
Currently we have terms:
development
morphogenesis
cell differentiation
cell fate commitment
cell fate specification
cell fate determination
cellular morphogenesis during differentiation
But we do not have:
formation
structural development
maturation
cell development
cell maturation
Would anybody mind if I add these with the defs:
Formation: Biological processes that contribute to the
act of giving rise to an organism or its organs or
tissues. This process pertains to the initial formation
of a structure from unspecified parts.
structural development: Biological processes that
contribute to the act of creating the structural
organization of an organism or its organs or tissues.
This process pertains to the physical shaping of a
rudimentary structure.
maturation:  Biological processes that are involved in
the maturation of an organism or its organs or tissues
from a rudimentary structure to its mature state.
cell development: The processes that a cell undergoes
to become a fully functional differentiated cell once
the cell has become committed to a specific fate.
cell maturation: The processes leading to the
attainment of full functional capacity of a cell. This
process is independent of morphogenetic change.
and with the parentage:
%development
-<morphogenesis
--<formation
--<structural development
-<maturation
and
%x cell differentiation
-<x cell development
--<x cell maturation
I'm not sure what to give these terms as is_a parents.
Morphogenesis currently has development as an is_a
parent but that seems a bit odd to me.
Thanks,
Jen
Reported by: jenclark
Original Ticket: "geneontology/ontology-requests/1720":https://sourceforge.net/p/geneontology/ontology-requests/1720

thanks www.movied.org

authors: gocentral linuxlovell

repo: geneontology/go-ontology


text:
Merge 'x cytokine secretion' and 'regulation of x cytokine sercretion' into 'regulation of x cytokine production'

Outcome of a discussion with @addiehl and @RLovering:
The justification for choosing to annotate to cytokine secretion (or biosynthesis) is often not clear.
Cytokine secretion is often used as a readout for cytokine production. Therefore, we propose to merge 'x cytokine secretion' into 'regulation of x cytokine production'
We will merge those terms.
First we will review annotations:
Secretion:
https://github.com/geneontology/go-annotation/issues/2895
Regulation of secretion:
https://github.com/geneontology/go-annotation/issues/2896
Thanks, Pascale

[ ] Note that we will keep the parent 'regulation of cytokine secretion' for proteins that specifically involved in the regulated secretion/exocytosis pathway. See Fig 4 in https://ashpublications.org/blood/article/118/1/9/28431/Cytokine-release-from-innate-immune-cells

See also Discussion April 30th, 2020 here:
https://docs.google.com/document/d/1-LwggfQoWO57zLw4lkbq_LW3Jxwf9GJ1DcX3Nm0cd6Q/edit#heading=h.99xg4o9qu3no

[ ] Add a comment in the term to explain what proteins can be annotated.


text:
Textual definition update: retinal binding

Guidelines
See http://wiki.geneontology.org/index.php/Guidelines_for_GO_textual_definitions#Use_genus-differentia_patterns_for_definitions
More details at https://douroucouli.wordpress.com/2019/07/08/ontotip-write-simple-concise-clear-operational-textual-definitions/

GO term ID and label for which you request a definition update
GO:0016918 retinal binding

**New proposed definition (genus-differentia pattern, plus additional information if needed) **
Binding to retinal, one of the forms of vitamin A.

Reference(s)
PMID:15774036

Additional information
Binding (GO:0005488) by definition should be non-covalent interactions. But opsin-retinal interaction is covalent. Thus this term should exclude opsins in the definition and synonyms. Note opsin-retinal interaction in the literature is often referred to as binding.

This term retinal binding has been incorrectly used for annotations. The LD is binding and ('has input' some retinal) but there is mentioning of opsin, which is covalently bonded to retinal, in the text definition and in synonyms. Any advice on what is the best course forward to disentangle? @pgaudet Thanks.

This paper talks about covalent binding of Rhodopsin and its ligand
https://pubmed.ncbi.nlm.nih.gov/20042594/

obsolete with 'consider'  GO:0008020 G protein-coupled photoreceptor activity
and modify the definition of GO:0008020 to describe that the chromophore binds covalently (and maybe some mention of the rhodopsin cycle?)
And please replace the definition by more specific one(s)

A ref for noncovalent binding: PMID:11301033 Role of noncovalent binding of 11-cis-retinal to opsin in dark adaptation of rod and cone photoreceptors

There are other retinal binding proteins such as Interphotoreceptor retinoid-binding protein (IRBP) PMID:17222825.
In sum, I think "retinal binding" is a valid MF, despite the fact that in some instances (opsins) non-covalent binding precedes covalent attachment.


text:
NTR: membrane-membrane adaptor activity

Please provide as much information as you can:

Suggested term label:

membrane-membrane adaptor

Definition (free text)
The binding activity of a molecule that brings together two or more membranes through a selective, non-covalent, often stoichiometric interaction, permitting those membranes to function in a coordinated way.

Reference, in format PMID:#######

PMID:30911189

Gene product name and ID to be annotated to this term

https://www.pombase.org/gene/SPBC31E1.01c
is a lipid transfer activity, but  because this is intermembrane it also acts as a membrane-membrane adaptor.
(note currently "intermembrane lipid transfer is a BP. This might be better  in MF in which case all of the intermembrane lipid transfer activities could be underneath adaptor, and only the 'transfer activity" wold. be required).

Parent term(s)

GO:0060090  molecular adaptor activity

Children terms (if applicable) Should any existing terms that should be moved underneath this new proposed term?

Synonyms (please specify, EXACT, BROAD, NARROW or RELATED)

Cross-references

For enzymes, please provide RHEA and/or EC numbers.

Can also provide MetaCyc, KEGG, Wikipedia, and other links.

Any other information

@pgaudet  does this sound OK?

actually I can use this:
protein-membrane adaptor activity
Definition | The binding activity of a molecule that brings together a protein or a protein complex with a membrane, or bringing together two membranes, either via membrane lipid binding or by interacting with a membrane protein, to establish or maintain the localization of the protein, protein complex or organelle.

@ValWood In cases like this you can add a synonym to the existing term; ie if you could not find the term, maybe the search string you used would be useful to someone else.
Pascale

I'll do that.

authors: ValWood pgaudet


text:
Impossible to read KMZ file

GeoPandas 1.0+ is not able to read KMZ files with pyogrio's engine, when setting engine=fiona works:
With fiona:
gpd.read_file(
    "AOI_kmz.kmz", driver="KMZ", layer="General Information", engine="fiona"
)
>>>   Name  ...                                           geometry
>>> 0   03  ...  MULTIPOLYGON Z (((-72.31143 -36.56225 0, -72.5...
>>> [1 rows x 13 columns]

With pyogrio:
gpd.read_file(
    "AOI_kmz.kmz", driver="KMZ", layer="General Information"
)
>>>   pyogrio.errors.DataSourceError: 'AOI_kmz.kmz' not recognized as a supported file format. It might help to specify the correct driver explicitly by prefixing the file path with '<DRIVER>:', e.g. 'CSV:path'.

Here is the file:
AOI_kmz.zip

Versions:
geopandas.__version__
'1.0.1'
pyogrio.__version__
'0.9.0'
fiona.__version__
'1.9.6'

Hi, how did you install geopandas and pyogrio? In my installation from conda-forge, the snippet above works. Can you also show thew output of pyogrio.list_drivers()?
import pyogrio

pyogrio.list_drivers()

The install is done via pip in a Docker (without conda) on Debian 11
The drivers are:
{'PCIDSK': 'rw', 'PDS4': 'rw', 'VICAR': 'rw', 'PDF': 'rw', 'MBTiles': 'rw', 'EEDA': 'r', 'OGCAPI': 'r', 'ESRI Shapefile': 'rw', 'MapInfo File': 'rw', 'UK .NTF': 'r', 'LVBAG': 'r', 'OGR_SDTS': 'r', 'S57': 'rw', 'DGN': 'rw', 'OGR_VRT': 'r', 'Memory': 'rw', 'CSV': 'rw', 'GML': 'rw', 'GPX': 'rw', 'KML': 'rw', 'GeoJSON': 'rw', 'GeoJSONSeq': 'rw', 'ESRIJSON': 'r', 'TopoJSON': 'r', 'OGR_GMT': 'rw', 'GPKG': 'rw', 'SQLite': 'rw', 'WAsP': 'rw', 'OpenFileGDB': 'rw', 'DXF': 'rw', 'FlatGeobuf': 'rw', 'Geoconcept': 'rw', 'GeoRSS': 'rw', 'VFK': 'r', 'PGDUMP': 'rw', 'OSM': 'r', 'GPSBabel': 'rw', 'OGR_PDS': 'r', 'WFS': 'r', 'OAPIF': 'r', 'EDIGEO': 'r', 'SVG': 'r', 'Idrisi': 'r', 'ODS': 'rw', 'XLSX': 'rw', 'Elasticsearch': 'rw', 'Carto': 'rw', 'AmigoCloud': 'rw', 'SXF': 'r', 'Selafin': 'rw', 'JML': 'rw', 'PLSCENES': 'r', 'CSW': 'r', 'VDV': 'rw', 'MVT': 'rw', 'NGW': 'rw', 'MapML': 'rw', 'GTFS': 'r', 'PMTiles': 'rw', 'JSONFG': 'rw', 'TIGER': 'r', 'AVCBin': 'r', 'AVCE00': 'r', 'HTTP': 'r'}

KML are read fine, only KMZ fail

I think that the reason is that the PyPI wheels contain the KML driver while the conda-forge contain LIBKML driver.

Is there a workaround to replicate the conda behaviour natively with pypi?

You can prepend the filename with "/vsizip/" to use the virtual filesystem feature of GDAL.
I wonder if there is something wrong with the test file you uploaded... because for another .kmz the above works, but not for your test file.

This file has been part of the test suite for years and worked :'(
I have other KMZ that fails too, so maybe there is an issue inside that is weird?

This file has been part of the test suite for years and worked :'(

Hmm... indeed, I can open it without problems in e.g. QGIS, so apparently the "KML" driver doesn't only limit the support to uncompressed .kml files but also to a subset of them... so it seems you'll really need the "LIBKML" driver.

authors: martinfleis remi-braun theroggy

repo: geopandas/pyogrio


text:
option to include a xsl reference in xml output

At https://files.isric.org/projects/geopearl/250m/sl1_som3035_arable_250m.xml we applied an old xml convention to add a xsl reference to an xml so it is loaded in browsers as human readable

Colleagues asked if this convention could also be applied on xml output from pycsw, so when they download the xml, and open the xml locally, it would be displayed human readable.
For this to function we'd need to:

publish an xsl at a public location
in xml output (single record only?) add a reference to that xsl
verify if this is standards compliant?

@pvgenuchten I guess this would be different than our existing XSLT support (which returns the output of the transformation).  We could add a server.xsl block in pycsw/core/server:Csw._write_response that would inject a given XSL at the root of the output document.  Keep in mind this would apply to single record XML output in any outputSchema.  Would this work for you?
I think would be compliant as the XSL would be ignored by client machinery, but triggered by those on a browser, say.

correct, this would only apply to single record discplay (without the csw-response wrapper)
would be great to have such a configuration option somewhere

authors: pvgenuchten tomkralidis

repo: geopython/pycsw


text:
Docker extension

Overview
Added new Container.py class for Docker extension.
The extension works so far only for pywps-flask demo server. See pywps-flask PR.
Related Issue / Discussion
Additional Information
Contribution Agreement
(as per https://github.com/geopython/pywps/blob/master/CONTRIBUTING.rst#contributions-and-licensing)

[x] I'd like to contribute [feature X|bugfix Y|docs|something else] to PyWPS. I confirm that my contributions to PyWPS will be compatible with the PyWPS license guidelines at the time of contribution.
[x] I have already previously agreed to the PyWPS Contributions and Licensing Guidelines

Coverage decreased (-1.7%) to 73.16% when pulling d9e3fe34f963b0a5540aa6a768431afd863db660 on lazaa32:docker_extension into ec1d90f7424598a662f68c28e4de4452e2bdeaf3 on geopython:master.

Coverage decreased (-1.7%) to 73.16% when pulling d9e3fe34f963b0a5540aa6a768431afd863db660 on lazaa32:docker_extension into ec1d90f7424598a662f68c28e4de4452e2bdeaf3 on geopython:master.

repo: geopython/pywps


text:
Fix column name related issue for Forecast functions

Addressing item3 in #1081

[x] In evadb/executor/create_function_executor.py, we rename the input relationship to a fixed schema requested by statsforecast
[x] Rename the output column so it is synced with binder. A temporal fix. We will reconsider the design in #1017
[x] Update testcases to test the column rename feature.

@americast I am not able to request your review. Please take a look.

repo: georgia-tech-db/evadb


text:
CSW getRecords results excludes services

A published ResourceBase of type cswService is returned by a getRecordById request, but not by a getRecords.

https://github.com/geosolutions-it/geonode-csw-services/issues/2

repo: geosolutions-it/geonode-rndt


text:
Nearest pubs to hotel feature using Turf.js

I added the ability to quickly display nearest pubs to hotels using Turf.js to use as a demo for one of my presentations (see details/video in this blog post). Not sure this is really a desirable feature for the official conference map but I promised the audience I'd submit a pull request. Happy to discuss further and help work on the map moving forward.

As expected, an amazing enhancement! 🌟
Thank you for sharing with the community and sending over the PR, @andywalz!! I'm so sorry I missed your live demo, but hopefully you can share again at the future Maptime event? 😜 :world_map:
I was finally able to review your PR, and everything looks great!
I have a few minor changes coming after the merge including:

Cleaning up the pop-up display (to differentiate between info and pubs), and
Limiting the number of pubs to a maximum of 5 (to cut down on the pop-up size)

Thanks again, and fabulous work!!  👍

authors: andywalz geospatialem

repo: geospatialem/conference-map


text:
Fix issues giving a SyntaxError.

I got three SyntaxError: Unexpected token ) errors in formatters/moduleNotFound.js, these were caused by an additional comma at the end of the statement.

Thanks. Also closes #37
We need to enforce this in CI

Fixed in 1.6.1. Sorry guys!

authors: MichMich geowarin

repo: geowarin/friendly-errors-webpack-plugin