Feature Request: Provide python stub files for static type checking

Hello, would it be possible to provide .pyi files for better compatibility with mypy/pylance?

You should be able to use the usual setup.py to install dlib.
On Sun, Feb 7, 2021 at 9:02 AM andrejmicovic<EMAIL_ADDRESS>wrote:

Hello, would it be possible to provide .pyi files for better compatibility
with mypy/pylance?
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/davisking/dlib/issues/2298, or unsubscribe
https://github.com/notifications/unsubscribe-auth/ABPYFRZB4MDYBGXON3WKW6TS52MPBANCNFSM4XHPJCBQ
.


Change manager allocations type

From slice to map.

Codecov Report

:exclamation: No coverage uploaded for pull request base (master@69b8a59). Click here to learn what that means.
The diff coverage is 50%.

@@            Coverage Diff            @@
##             master      #59   +/-   ##
=========================================
  Coverage          ?   30.17%
=========================================
  Files             ?       14
  Lines             ?      782
  Branches          ?        0
=========================================
  Hits              ?      236
  Misses            ?      511
  Partials          ?       35

Impacted Files
Coverage Δ

internal/allocation/allocation.go
35.77% <0%> (ø)

internal/allocation/five_tuple.go
100% <100%> (ø)

internal/allocation/allocation_manager.go
63.33% <43.75%> (ø)

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 69b8a59...23bb79c. Read the comment docs.

@enobufs yes, I can create branch on pion/turn, do it at next pr.

Oh yea fantastic change @songjiayang you are doing amazing work with pion/turn really excited to see this.
I was talking to @cameron-elliott today in person and he threw out the idea of really ripping out the guts of pion/turn of removing the needs for all the locking and shooting for high performance.
It would be really interesting to see if we could beat the performance of coturn if we really pushed it with optimizations. Also explore interesting things like DPDK.
I don't really have the bandwidth to push this project, but I would love to see something like that happen :) as long as all the tests pass/we are tracking performance I think Go gives us the chance to make something really amazing!


rework dataset scripts

Describe your changes

Use s3://openproblems-data instead of s3://openproblems-nextflow for data storage
Results are not stored at s3://openproblems-data/resources/<task_id>/results instead of s3://openproblems-nextflow/output/v2/<task_id>.
Correctly prefix output files with $id/ for datasets
Remove older resource scripts in favour of newer NF Tower scripts

Checklist before requesting a review

[x] I have performed a self-review of my code

Check the correct box. Does this PR contain:

[ ] Breaking changes
[ ] New functionality
[ ] Major changes
[x] Minor changes
[ ] Bug fixes

[ ] Proposed changes are described in the CHANGELOG.md

[ ] CI Tests succeed and look good!

@KaiWaldrant Thanks for resolving the compute issue yesterday!


Init script is broken in 6.10.2.  Agent information, status, etc are unavailable (Can't open /lib/lsb/init-functions)

Output of the info page (if this is a bug)
/etc/init.d/datadog-agent: 15: .: Can't open /lib/lsb/init-functions

Describe what happened:
All init script commands, including status command are broken in 6.10.2, but it was working in 6.10.1
There is no lsb folder in /lib:
$ sudo docker exec -it $DD_CONTAINER_ID ls /lib/
init  systemd  terminfo  udev  x86_64-linux-gnu

Describe what you expected:
Normal expected output
Steps to reproduce the issue:
on the host machine:
DD_CONTAINER_ID=$(sudo docker ps -q --latest --filter volume=/opt/dd-agent/conf.d --format "{{.ID}}")
sudo docker exec -it $DD_CONTAINER_ID /etc/init.d/datadog-agent status

Additional environment details (Operating System, Cloud provider, etc):
EC2 in Amazon
CONTAINER ID        IMAGE                            COMMAND             CREATED             STATUS
1764d676351f        datadog/agent:6.10.2             "/init"             7 minutes ago       Up 7 minutes (healthy)

Hello @dvishniakov,
As described in https://docs.datadoghq.com/agent/guide/agent-commands/?tab=agentv6 the containerized agent command for the status page is docker exec -it <container_name> agent status.
As the dockerized agent uses it's own supervisor (s6), the upstart/systemd based /etc/init.d script is not supported in this image. Please note that restarting the agent within a container is not supported, you should restart the whole container.
If you have more questions about operating the agent, please don't hesitate to reach our support team, at https://www.datadoghq.com/support/

@xvello , great, that works. I want to note that the command I've supplied before worked even in 6.10.1.
The only change noted in 6.10.2 is "Fix a race condition in Autodiscovery leading to some checks not
being unscheduled on container exit", so it was confusing why the existing command stopped working. Is it possible to add a line to the release notes about this?
Thank you


Publishing script requires a v in the semantic version

Orb version: 12.0.4

What happened:
I'm in the process of upgrading to v12 from v10. The production publish job fails because our git tag omits the v and just uses plain digits like 1.0.0.

Expected behavior:
It should publish without the v, unless I'm missing something.
Additional Information:
Looking through the Orb docs, their section on versioning does not mention a v being required. Am I looking in the right place or is there some other doc that explains the need for the v?

Just saw this note further down in their docs:

I appears a v would not work, so I think this script needs to be updated to remove the expectation of a v in the tag.

Oddly, I seem to have found contradictory information:

I just realized that I can customize that via the tag_pattern parameter!
Thanks for thinking of that!


Issues with Data Transfer from Withings to Garmin: Potential Restrictions in Code or API Categories?

I have imported blood pressure data into Withings via an interface, which I can normally view within Withings. However, these data are not recognized as data records during the transfer to Garmin and are therefore not transferred. In contrast, manually or original created data records for blood pressure measurement are recognized in Withings. Is it possible that there are restrictions in the code concerning the datasets to be read out? Are there categories or something similar in the Withings API? Thank you

Is your account set to the required region?
https://github.com/jaroslawhartman/withings-sync/issues/106#issuecomment-1454395955

Yes, the region is set to the USA. I can also upload other blood pressure data by "withings-sync" to Garmin without any problems. The synchronization process works, but not all data from Withings are properly selected/chosen. The blood pressure data that was integrated into Withings via interface are not recognized or selected by "withings-Sync".

category | integer1 for real measures, 2 for user objectives.
https://developer.withings.com/api-reference/#tag/measure/operation/measure-getmeas

Categorie programatically set to 1.

"category": 1,

https://github.com/jaroslawhartman/withings-sync/blob/master/withings_sync/withings2.py#L246
Could be implemented with a feature flag.


Basic auth not working for OnShape website

Description
Opening nativefied cad.onshape.com application with added username and password doesn't work - user is greeted with website login screen with blank username and password fields.
Steps to reproduce issue
Build cad.onshape.com with nativefier version 7.5.1 with the following command:
nativefier --basic-auth-username XXXXXXXXX --basic-auth-password XXXXXXXX cad.onshape.com --disable-context-menu -n OnShape cad.onshape.com
Details

Version of Nativefier v7.5.1
Version of node.js v6.11.5
OS: Fedora 25

@AABatteries thanks for the feedback. You're confusing http basic auth with cookie-based web authentication, which is this site (and most of websites) uses. Here's an example of a site using HTTP basic auth: https://www.httpwatch.com/httpgallery/authentication/
In your case, no need for --basic-auth-{username,password} flags; if OnShape responds with a cookie following login, it will be cached by Nativefier/Electron, and you'll be logged in when you re-run the nativefied app. I'm using Gmail and Feedly this way, it's working fine in 7.5.1.

@ronjouch thanks for the reply. However I am unable to get the login to persist through closing and opening the app again. I am brought to the login screen again with blank fields, does that mean that Electron is not storing the cookie? How can I debug/troubleshoot?

"I am unable to get the login to persist through closing and opening the app again. I am brought to the login screen again with blank fields, does that mean that Electron is not storing the cookie? How can I debug/troubleshoot?"

@AABatteries first,

Does Chrome remember the login?
2.Aare you able to get known-to-remember-login (e.g. gmail) websites work as expected in Nativefier?

Unfortunately, no. Every time I go to cad.onshape.com I am greeted with the login screen, but the username and password fields are filled in due to Chrome's autofill feature. Maybe there is a chance to at least automate filling in the fields with predefined characters in nativefier?
Didn't test yet, will report back, but I presume it will work just like you described

@AABatteries then it's OnShape's job to implement that (or maybe they intentionally didn't for some reason, maybe regulatory). As for autofill, Nativefier doesn't have that feature, sorry.


Add TitleHorizontalAlignment property on the MetroWindow.

Our designer requested the title to be shown on the left of the Window. It may be useful for other projects as well.

This is similar to #2007. Change the TitleTemplate of your window.

I agree that it is pretty close to #2007 almost the same even. It's your call, but it seems overkill to me to template the title if I only want it to be aligned left.

You only want it to be left aligned. The next user might want to have bold text, another one italic. IMHO there are already way too many dependency properties on MetroWindow, and as shown in #2007 the title is really simple to style.

Fair enough :) You can cancel the pull request then.

@spasas don't get me wrong, your requirement is totally comprehensible. It's just that it would open a can of worms :wink:


New Idea

Hello, friend, I like your work very much, can you add a reference snap line for the node to it, maybe a guide line that appears when snapping with PS transformation, thank you!

Hi,
Would you be able to expand on/show a design for your suggestion as I'm not quite sure what you mean, thanks!

Maybe like this!

I'll take a look, however I think it might be quite challenging with LiteGraph

I know this project, no wonder I have a familiar feeling when I look at comfyui, I tried to beautify the UI, but my skills are limited and I can't do more operations o,O

Thanks to @choey for implementing a similar feature
https://github.com/pythongosssss/ComfyUI-Custom-Scripts/pull/228


Unable to show classes in nested namespace

namespace A
{
    namespace B
    {
        public class C { }
    }
}

Thanks for reporting this bug. And thank you very much for providing a minimal code example to reproduce.
To fix this bug I have to do quite some refactoring of the code to be more versatile with nesting. But the fix will be in the next release :)


Jishaku for diskord

Changed import discord into import diskord etc
Formatted README following markdownlint
Removed notice from original version
Changes were tested

Few changes need to be done

Thanks. :trollface:


SerializeOptions.ComputeChecksums not working?

I've hit the same issue as reported in this Stackoverflow question:
Essentially, forwarding a packet between interfaces requires the checksum to be recalculated, however setting SerializeOptions.ComputeChecksums=true does not work as expected and the resulting packets are malformed.
My code is very similar to that listed in the post above, except I'm using IPv6 and forwarding ICMPv6:
	eth := n.eth
	eth.SrcMAC = iface.HardwareAddr
	ipv6 := n.ip6
	ipv6.SrcIP = linklocal
	buf := gopacket.NewSerializeBuffer()
	opts := gopacket.SerializeOptions{ComputeChecksums: true}

	gopacket.SerializeLayers(buf, opts, &eth, &ipv6, &n.icmp)

	handle.WritePacketData(buf.Bytes())

Hmm, I expect we're incorrectly computing a checksum or just missing a checksum somewhere along the way.  I'll try to dig into this this week.

Greetings. I'm curious to hear the results of further investigation into this bug... and I expect this bug is directly related to how gopacket implements the ipv6 checksum... we see here the preparatory step of creating the pseudo header for ipv4 and ipv6 here:
https://github.com/google/gopacket/blob/master/layers/tcpip.go#L24-L42
The checksum is computed here:
https://github.com/google/gopacket/blob/master/layers/tcpip.go#L44-L64
None of the code comments mention rfc2460... but maybe it's implemented correctly because someone was paying attention to that rfc when they wrote this code?
Here's a quote from rfc2460 that might be of interest when auditing these code bits:
The IPv6 version of ICMP [ICMPv6] includes the above pseudo-header in
   its checksum computation; this is a change from the IPv4 version of
   ICMP, which does not include a pseudo-header in its checksum.  The
   reason for the change is to protect ICMP from misdelivery or
   corruption of those fields of the IPv6 header on which it depends,
   which, unlike IPv4, are not covered by an internet-layer checksum.
   The Next Header field in the pseudo-header for ICMP contains the
   value 58, which identifies the IPv6 version of ICMP.

We can see that the ipv6 icmp uses the same machinery for computing checksums as the other protocols...
https://github.com/google/gopacket/blob/master/layers/icmp6.go#L100
         Address used in the pseudo-header is that of the final
         destination.  At the originating node, that address will be in
         the last element of the Routing header; at the recipient(s),
         that address will be in the Destination Address field of the
         IPv6 header.

Can you provide the complete example code and some IPv6 packet that, when decoded, modified and reserialized, produces malformed packets?

@randstr complete example code can be found here. That is an NDP proxy in Go (based on ndppd) - it proxies neighbor solicitations and advertisements between 2 interfaces.

Thank you @porjo, that helps. I will look into it but meanwhile can you please elaborate on how you confirmed that the packets are malformed and furthermore that the problem is a bad checksum calculation?

@randstr I captured the resulting packets using Wireshark - it flags them as being malformed. With ComputeChecksums=true the resulting packets cannot even be decoded as ICMPv6 by Wireshark. With that options switched off, the packets look OK in Wireshark however it flags them as having an incorrect checksum. I've uploaded the PCAP files here:
http://demo.pace7.com/checksumFalse.cap
http://demo.pace7.com/checksumTrue.cap

@porjo Great, thanks. It seems to be a really interesting issue. :)
I will spin up some virtual machines to see if I can replicate the problem and figure it out.

@porjo There are only 8 bytes on the wire for checksumTrue.pcap. Did you notice that?

Did you notice that?

Yes....The 2 packet captures were performed under identical conditions except one has ComputeChecksums switch on, and the other doesn't

@porjo Would it be possible to provide the capture for the ingress interface too?

@porjo BTW I think you'll want to add error checking to gopacket.SerializeLayers()...

BTW I think you'll want to add error checking to gopacket.SerializeLayers()

Thanks, I've made a few adjustments now including this. Ingress interface capture is here:
http://demo.pace7.com/eth0.cap

I could be wrong but that capture makes me think you are not taking into account the ICMPv6 payload (target address and options for NS).

@randstr this is my first attempt doing this kind of thing, so it's very possible I've done something wrong in my code. AFAIK I am copying the original icmp layer unmodified into the write packet here. If you can spot a problem with my code, I'd be glad to know about it. I take it you've been unable to reproduce the issue yourself? If so, what code have you used?

I haven't gotten around to it yet. Another idea is using the ingress capture you provided to try to come up with a failing test case (probably about as much work as setting up a proper testbed environment and likely to be more fruitful).

@porjo I usually prefer to work with packets instead of layers for decode-change-serialize but how about trying (line 190):
	parser := gopacket.NewDecodingLayerParser(layers.LayerTypeEthernet, &eth, &ip6, &icmp, &icmp_payload)

@randstr Thanks, that helped alot. I've made further changes to my code now which has stopped the malformed packets and also achieved working ComputeChecksums.
I'm fairly confident now the problem I had is not a bug with Gopacket - just incorrect implementation on my part! I will close this issue now and reopen again later if necessary.

@porjo Glad I could help. Just one last note, consider whether that code will work with IPv6 extension headers or not.


support touch screen (mobile devices)

please support a version for touch screen devices too (for godot 4), thanks for your contribution.

Thanks for the surgestion but this is currently not planned.
Adding touch support would make this project so much more complicated because of the needed UI controls.


Adds converter to paradox

This PR adds the docs-gen project a la https://github.com/akka/akka-samples/pull/19.
This PR also reviews some README syntax issues.

Please @eed3si9n have a look ;-)

Any tips for testing this locally? Is there a guide somewhere?


Cannot set up Node Selector During installing Longhorn with Helm

Describe the bug (🐛 if you encounter this issue)
The pod of longhorn-driver-deployer deployment cannot start up due to a error in pod when setup node selector:
level=fatal msg="Error deploying driver: failed to start CSI driver: failed to deploy deployment csi-attacher: Deployment.apps "csi-attacher" is invalid: [spec.template.spec.nodeSelector: Invalid value: "map[tier": name part must consist of alphanumeric characters, '-', '' or '.', and must start and end with an alphanumeric character (e.g. 'MyName',  or 'my.name',  or '123-abc', regex used for validation is '([A-Za-z0-9][-A-Za-z0-9.])?[A-Za-z0-9]'), spec.template.spec.nodeSelector: Invalid value: "web]": a valid label must be an empty string or consist of alphanumeric characters, '-', '' or '.', and must start and end with an alphanumeric character (e.g. 'MyValue',  or 'my_value',  or '12345', regex used for validation is '(([A-Za-z0-9][-A-Za-z0-9.])?[A-Za-z0-9])?')]" func=app.DeployDriverCmd.func1 file="driver.go:141"
To Reproduce

setup k3s cluster with new installation ,the k3s version is v1.26.11+k3s2
setup a private registry in this cluster for airgap install longhorn
install longhorn with helm by below command,it will setup a nodeselector:

helm install longhorn longhorn/longhorn --version 1.5.3  --kube-context onpremise-lab  --namespace longhorn-system --create-namespace --set privateRegistry.registryUrl="privateRegistry:5000" --set defaultSettings.defaultDataPath="/mnt/data/k3s/longhorn" --set defaultSettings.systemManagedComponentsNodeSelector.tier="web" --set longhornManager.nodeSelector.tier="web" --set longhornUI.nodeSelector.tier="web" --set longhornDriver.nodeSelector.tier="web" --set csi.kubeletRootDir="/var/lib/rancher/k3s/agent/kubelet"

helm install succesfully ,but the csi-attacher cannot deployed ,The pod of longhorn-driver-deployer got the above error.

Expected behavior
longhorn-driver-deployer can deploy successfully with given nodeSelector
Support bundle for troubleshooting

Environment

Longhorn version: 1.5.3 or 1.5.1
Installation method (e.g. Rancher Catalog App/Helm/Kubectl): Helm
Kubernetes distro (e.g. RKE/K3s/EKS/OpenShift) and version:v1.26.11+k3s2

Number of management node in the cluster:2
Number of worker node in the cluster:0

Node config

OS type and version: Ubuntu 22.04
Kernel version:
CPU per node:
Memory per node:
Disk type(e.g. SSD/NVMe/HDD):
Network bandwidth between the nodes:

Underlying Infrastructure (e.g. on AWS/GCE, EKS/GKE, VMWare/KVM, Baremetal): Baremetal
Number of Longhorn volumes in the cluster: 1
Impacted Longhorn resources:

Volume names:

Additional context
the log in The pod of longhorn-driver-deployer
W1220 05:21:06.111012       1 client_config.go:618] Neither --kubeconfig nor --master was specified.  Using the inClusterConfig.  This might not work.
time="2023-12-20T05:21:06Z" level=info msg="Deploying CSI driver" func=app.deployDriver file="driver.go:181"
time="2023-12-20T05:21:06Z" level=info msg="User specified root dir: /var/lib/rancher/k3s/agent/kubelet" func=app.deployCSIDriver file="driver.go:276"
time="2023-12-20T05:21:06Z" level=info msg="Upgrading Longhorn related components for CSI v1.1.0" func=app.upgradeLonghornRelatedComponents file="upgrader.go:21"
time="2023-12-20T05:21:06Z" level=info msg="Detected CSI Driver driver.longhorn.io CSI Git commit 88c792f7df38383634c2c8401f96d999385458c1 version v1.5.3 Kubernetes version v1.26.11+k3s2 has already been deployed" func=csi.deploy file="deployment_util.go:187"
time="2023-12-20T05:21:06Z" level=info msg="Creating deployment csi-attacher" func=csi.deploy file="deployment_util.go:196"
time="2023-12-20T05:21:06Z" level=fatal msg="Error deploying driver: failed to start CSI driver: failed to deploy deployment csi-attacher: Deployment.apps "csi-attacher" is invalid: [spec.template.spec.nodeSelector: Invalid value: "map[tier": name part must consist of alphanumeric characters, '-', '' or '.', and must start and end with an alphanumeric character (e.g. 'MyName',  or 'my.name',  or '123-abc', regex used for validation is '([A-Za-z0-9][-A-Za-z0-9.])?[A-Za-z0-9]'), spec.template.spec.nodeSelector: Invalid value: "web]": a valid label must be an empty string or consist of alphanumeric characters, '-', '' or '.', and must start and end with an alphanumeric character (e.g. 'MyValue',  or 'my_value',  or '12345', regex used for validation is '(([A-Za-z0-9][-A-Za-z0-9.])?[A-Za-z0-9])?')]" func=app.DeployDriverCmd.func1 file="driver.go:141"

Looks like the correct command should be:
helm install longhorn longhorn/longhorn --version 1.5.3 --kube-context onpremise-lab --namespace longhorn-system --create-namespace --set privateRegistry.registryUrl="privateRegistry:5000" --set defaultSettings.defaultDataPath="/mnt/data/k3s/longhorn" --set defaultSettings.systemManagedComponentsNodeSelector="tier:web" --set longhornManager.nodeSelector.tier="web" --set longhornUI.nodeSelector.tier="web" --set longhornDriver.nodeSelector.tier="web" --set csi.kubeletRootDir="/var/lib/rancher/k3s/agent/kubelet"

It work fine. Great! Thanks you!

@PhanLe1010
I have same issue,
I'm using Pulumi and successfully deploy longhorn with helm,
But when I want to install longhorn on the specific node with tier=log label, it's not works and it installed on all nodes and I got errors for longhorn-driver-deployer
Source code:
https://github.com/omidraha/pulumi_example/blob/main/longhorn/longhorn.py#L157
Info
kubectl describe node ip-10-10-1-130
Name:               ip-10-10-1-130
Roles:              control-plane,etcd,master
Labels:             beta.kubernetes.io/arch=amd64
                    beta.kubernetes.io/instance-type=k3s
                    beta.kubernetes.io/os=linux
                    kubernetes.io/arch=amd64
                    kubernetes.io/hostname=ip-10-10-1-130
                    kubernetes.io/os=linux
                    node-role.kubernetes.io/control-plane=true
                    node-role.kubernetes.io/etcd=true
                    node-role.kubernetes.io/master=true
                    node.kubernetes.io/instance-type=k3s
                    tier=log

Info
kubectl logs -n longhorn-system longhorn-driver-deployer-7d69dfcd5b-l2zgx
Defaulted container "longhorn-driver-deployer" out of: longhorn-driver-deployer, wait-longhorn-manager (init)
W0108 21:08:48.457279       1 client_config.go:618] Neither --kubeconfig nor --master was specified.  Using the inClusterConfig.  This might not work.
time="2024-01-08T21:08:48Z" level=info msg="Deploying CSI driver"
time="2024-01-08T21:08:48Z" level=error msg="failed to get arg root-dir. Need to specify \"--kubelet-root-dir\" in your Longhorn deployment yaml.: failed to get cmdline of proc kubelet: failed to deploy proc cmdline detection pod discover-proc-kubelet-cmdline: Pod \"discover-proc-kubelet-cmdline\" is invalid: [spec.nodeSelector: Invalid value: \"map[tier\": name part must consist of alphanumeric characters, '-', '_' or '.', and must start and end with an alphanumeric character (e.g. 'MyName',  or 'my.name',  or '123-abc', regex used for validation is '([A-Za-z0-9][-A-Za-z0-9_.]*)?[A-Za-z0-9]'), spec.nodeSelector: Invalid value: \"log]\": a valid label must be an empty string or consist of alphanumeric characters, '-', '_' or '.', and must start and end with an alphanumeric character (e.g. 'MyValue',  or 'my_value',  or '12345', regex used for validation is '(([A-Za-z0-9][-A-Za-z0-9_.]*)?[A-Za-z0-9])?')]"
time="2024-01-08T21:08:48Z" level=fatal msg="Error deploying driver: failed to start CSI driver: failed to get arg root-dir. Need to specify \"--kubelet-root-dir\" in your Longhorn deployment yaml.: failed to get cmdline of proc kubelet: failed to deploy proc cmdline detection pod discover-proc-kubelet-cmdline: Pod \"discover-proc-kubelet-cmdline\" is invalid: [spec.nodeSelector: Invalid value: \"map[tier\": name part must consist of alphanumeric characters, '-', '_' or '.', and must start and end with an alphanumeric character (e.g. 'MyName',  or 'my.name',  or '123-abc', regex used for validation is '([A-Za-z0-9][-A-Za-z0-9_.]*)?[A-Za-z0-9]'), spec.nodeSelector: Invalid value: \"log]\": a valid label must be an empty string or consist of alphanumeric characters, '-', '_' or '.', and must start and end with an alphanumeric character (e.g. 'MyValue',  or 'my_value',  or '12345', regex used for validation is '(([A-Za-z0-9][-A-Za-z0-9_.]*)?[A-Za-z0-9])?')]"

Info
kubectl get events --sort-by=.metadata.creationTimestamp -A -w

longhorn-system   0s          Normal    Created                          pod/longhorn-driver-deployer-7d69dfcd5b-l2zgx                    Created container longhorn-driver-deployer
longhorn-system   0s          Normal    Started                          pod/longhorn-driver-deployer-7d69dfcd5b-l2zgx                    Started container longhorn-driver-deployer
longhorn-system   0s          Warning   UnknownNodeConditionTrue         node/ip-10-10-1-130                                              Unknown condition true of kubernetes node ip-10-10-1-130: condition type is EtcdIsVoter, reason is MemberNotLearner, message is Node is a voting member of the etcd cluster
longhorn-system   0s          Warning   UnknownNodeConditionTrue         node/ip-10-10-1-130                                              Unknown condition true of kubernetes node ip-10-10-1-130: condition type is EtcdIsVoter, reason is MemberNotLearner, message is Node is a voting member of the etcd cluster
longhorn-system   0s          Warning   UnknownNodeConditionTrue         node/ip-10-10-1-130                                              Unknown condition true of kubernetes node ip-10-10-1-130: condition type is EtcdIsVoter, reason is MemberNotLearner, message is Node is a voting member of the etcd cluster
longhorn-system   0s          Warning   UnknownNodeConditionTrue         node/ip-10-10-1-130                                              Unknown condition true of kubernetes node ip-10-10-1-130: condition type is EtcdIsVoter, reason is MemberNotLearner, message is Node is a voting member of the etcd cluster
longhorn-system   0s          Warning   UnknownNodeConditionTrue         node/ip-10-10-1-130                                              Unknown condition true of kubernetes node ip-10-10-1-130: condition type is EtcdIsVoter, reason is MemberNotLearner, message is Node is a voting member of the etcd cluster
longhorn-system   0s          Warning   UnknownNodeConditionTrue         node/ip-10-10-1-130                                              Unknown condition true of kubernetes node ip-10-10-1-130: condition type is EtcdIsVoter, reason is MemberNotLearner, message is Node is a voting member of the etcd cluster

The events are known issue you pointed to above
kubectl get events --sort-by=.metadata.creationTimestamp -A -w

Voter, reason is MemberNotLearner, message is Node is a voting member of the etcd cluster
longhorn-system   0s          Warning   UnknownNodeConditionTrue         node/ip-10-10-1-130                                     Unknown condition true of kubernetes node ip-10-10-1-130: condition type is EtcdIsVoter, reason is MemberNotLearner, message is Node is a voting member of the etcd cluster
longhorn-system   0s          Warning   UnknownNodeConditionTrue         node/ip-10-10-1-130                                     Unknown condition true of kubernetes node ip-10-10-1-130: condition type is EtcdIsVoter, reason is MemberNotLearner, message is Node is a voting member of the etcd cluster
longhorn-system   0s          Warning   UnknownNodeConditionTrue         node/ip-10-10-1-130                                     Unknown condition true of kubernetes node ip-10-10-1-130: condition type is EtcdIsVoter, reason is MemberNotLearner, message is Node is a voting member of the etcd cluster
longhorn-system   0s          Warning   UnknownNodeConditionTrue         node/ip-10-10-1-130                                     Unknown condition true of kubernetes node ip-10-10-1-130: condition type is EtcdIsVoter, reason is MemberNotLearner, message is Node is a voting member of the etcd cluster
longhorn-system   0s          Warning   UnknownNodeConditionTrue         node/ip-10-10-1-130                                     Unknown condition true of kubernetes node ip-10-10-1-130: condition type is EtcdIsVoter, reason is MemberNotLearner, message is Node is a voting member of the etcd cluster

Btw, I would recommend deploying latest stable version Longhorn 1.5.3 here https://github.com/omidraha/pulumi_example/blob/88b810d7dc5965de5726d0682df6772a78128018/longhorn/longhorn.py#L161 as we have fix multiple issues

I upgraded longhorn from 1.5.1 to 1.5.3, and now panel don't show any nodes or volumes. similar to this issue:
https://github.com/longhorn/longhorn/issues/2118


Why we need "ampm" property if moment (and other) already has this setting in locale config?

So if we have 24 hour format set in moment locale configuration then we still need to specify ampm={false} on every picker.

Well, libs configuration is not as simple as ampm boolean flag
moment:

configure (change specific locale or just switch to another locale):

moment.updateLocale('en', {
  longDateFormat: {
    LT: 'HH:mm',   // 24
    LT: 'h:mm A',  // 12
  },
});

usage: dt.format('LT')

luxon:

manual
settings default: Settings.defaultLocale = 'fr';
usage: dt.toLocaleString(DateTime.TIME_SIMPLE)

date-fns

set locale: window.__localeId__ = 'fr'  (ref)
usage: dt.format('p') (ref)

Locale does not contain information about am pm.
But you are right we can lift up the am pm settings globally. Passing props to Provider.
That should be done 👍

Finally got to the point that it will be a bad way. Closing this


Support older versions of Kotlin

Hi, my project is running on Kotlin 1.4 and I wish I could make use of this project. Do you think it's possible to be backwards compatible with older versions of Kotlin?
I could work on a PR if the idea is accepted.

Hi, have you tried to use library as is? What errors do you have?

I am not sure about kotlin version, but I used to think that jvmTarget = "1.8" is responsible for backward compatibility.

This is the error I get FYI:
Class 'ru.nsk.kstatemachine.Event' was compiled with an incompatible version of Kotlin. The binary version of its metadata is 1.6.0, expected version is 1.4.2.

I was actually able to fix the error and use the library by switching to the 1.6 compiler/stdlib, and using apiVersion = 1.4 & languageVersion = 1.4 to maintain compatibility with my project.

Should we close this or are you interested in perhaps compiling against older versions of Kotlin?

If there is a way to use language features from actual release (1.7) in a library and generate binaries that are compatible for 3 releases back (to 1.4) I think it should be done on library side.
I have to play with those args that you mentioned.

Please, let me know if you know correct configuration to archive this.

I'm struggling to understand compatibility in Kotlin world. I thought the only things that matter are the JVM target and the kotlin stdlib and other JARs, but the error I got above threw me off.
I've found this article by @zsmb13 very helpful in understanding the binary compatibility aspect.
But I still can't understand why would an older kotlin compiler be bothered with class files that were compiled using a new kotlin compiler, given they all understand & compile to the same JVM bytecode version.
I'm trying to actively read on the subject and will share more once I get a better understanding.

Link for original docs, for theme
https://kotlinlang.org/docs/compatibility-modes.html#binary-compatibility-warnings

Done in https://github.com/nsk90/kstatemachine/releases/tag/v0.11.0 , please check that everything works fine.

@nsk90 I traveled for two weeks and just got back, during that time I also asked some relevant questions on r/kotlin and got some clarity on the situation. Please check the thread out.
I checked the tag and it all looks good. You may choose to continue on 1.4, but I should also say that being on 1.6/1.7 can totally work too. The only thing it changes is which minimum kotlin compiler version others would need to use, but it doesn't affect their freedom to use the Kotlin API & Language version they need.


Add CI based conformance tests for kube-aws

Testing contributed PRs is currently a manual and time consuming process. We should setup a CI system which is able to launch a kube-aws cluster built from PR, then run the upstream conformance tests against the launched cluster.
related: https://github.com/coreos/coreos-kubernetes/issues/218
/cc @colhom

@aaronlevy this is a GREAT idea. I will get on this

We have something for this internally. Still needs work, but is functional. Clsoing


Single click

Is your feature request related to a problem? Please describe.
A clear and concise description of what the problem is. Ex. I'm always frustrated when [...]
Describe the solution you'd like
An option to chose to Open files and folders with double or single click like in the original windows file explorer
Describe alternatives you've considered
A clear and concise description of any alternative solutions or features you've considered.
Additional context
Add any other context or screenshots about the feature request here. Ex: What device type/UI layout and app version?

We need a little more information from you in order to investigate this issue, please reopen this issue once you have filled out the issue template.


cardano-testnet: read JSON from the CLI more easily

Description
Introduce a new function to read the CLI's JSON output. This function is useful right now, because there are existing callers; but for what it's worth, this is a spinoff of https://github.com/IntersectMBO/cardano-node/pull/5634.
Checklist

[X] Commit sequence broadly makes sense and commits have useful messages
[ ] CI passes.
[X] Self-reviewed the diff

It's not clear from where this JSON is retrieved. Most of CLI commands print human-readable text to stdout, and json is dumped only using --out-file. This may lead to some surprises when calling CLI commands. Can you clarify this in this comment here?

I think this function should also be renamed to reflect that. I would also suggest sticking to execCli* naming convention (I needed to think for a moment what this new function does, and why it is different than execCli*).

What do you think about execCliStdoutToJson name for example?

@carbolymer> That's a good name :+1: Changed to use it :+1:
Also I extended the documentation.

@carbolymer> I added the function to Cli.hs, but Run.hs could also be a good destination.
I chose Cli.hs as the destination, based on the fact that this function does something a bit specific, whereas Run.hs contains more generic functions. Let me know if you want me to change.


always show create a branch button

fixes: #58730

 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.:x: oneslash sign nowYou have signed the CLA already but the status is still pending? Let us recheck it.

I can try to go further, by passing the search query to the “create a branch” command.

Thanks! :beers:


Does labelhook option make tcolorbox' label is zlabel option useless?

The documentation, section 7, states:

However, the labelhook option (see Section 8) leverages the kernel’s label hook to also set a \zlabel when a standard \label is called, so that we can simply use \labels in our document and refer to them with either referencing system.

Does it mean the tcolorbox' label is zlabel option becomes useless?

Hi @dbitouze

Does it mean the tcolorbox' label is zlabel option becomes useless?

No it doesn't. First of all, on can always prefer to continue using \zlabel (you've probably seen it, but it is discussed in the "\label or \zlabel?" section of the manual). Second, the tcolorbox label type option won't work for zref unless label is zlabel is enabled. For two reasons, first label type with label is label presumes cleveref is loaded, and calls \label with an optional argument, so that if you only load zref-clever and use that option, you'll get an error. Second, \zcsetup{reftype=...} is only called with label is zlabel. In sum, you need label is zlabel to use label type with zref-clever.
It would actually be good if this second restriction could be relaxed, but I think tcolorbox's maintainer has already been generous enough with zref-clever specifics of late (see https://github.com/T-F-S/tcolorbox/issues/206 and https://github.com/T-F-S/tcolorbox/issues/230), I would not want to abuse. And there's also a technical problem in trying to generalize this, and it is the aforementioned fact that tcolorbox unconditionally calls \label with an optional argument if label is label, which requires cleveref because that's the only place which defines \label this way. So it would be somewhat tricky, and I'm not sure if worth the hassle.

If I know you, you are probably aware of this already, but for reference, in case anyone else drops by, there's some news in this area: https://github.com/T-F-S/tcolorbox/issues/295
The answer to the issue's title question is still "no". tcolorbox's label is zlabel used to be critical for zref-clever (to be able to set a type), and won't be anymore. With the coming release of tcolorbox, things should "just work". label is zlabel  is still useful though for those who prefer to explicitly use \zlabel, or don't want to use the labelhook option, or want to work with plain zref, etc. But, of course, less so.


Add instructions to install guide on how to get the devtools installed

https://developer.algorand.org/docs/run-a-node/setup/install/


grouping on fields

influxdb supports grouping on tags but not fields, is there any plan to support grouping on fields?
I am asking this to decide how to write data to influxdb, this way by supporting grouping on fields I can choose to write values as fields which may cause high tag cardinality problems in case the value is written as a tag.

No, this is not on the roadmap right now. If the cardinality is that high, such it would be a problem to store the value as a tag, a GROUP BY that same cardinality wouldn't make much sense, right?

I don't think we're going to do this since that is supposed to be a central feature of tags. I don't believe it would be feasible in terms of performance to also do this with fields.


v16 fails when packing a directory

(using NPM)
v0.15.3:
% npx attw --pack dist
No problems found 🌟

0.16.0:
% npx attw --pack dist
error while checking file:
Command failed: npm pack dist/tinybase-5.0.0-beta.27.tgz

The problem seems to stem from this change, where ${filename} causes the error. Omitting it makes the error go away, restoring the previous behavior. From the npm-pack docs it seems that the named argument should be the name of a package rather than a filename, but in either case I don't think this is needed at all for npm.

the letter v is missing in the filename
$ attw --pack
...
ENOENT: no such file or directory, open 'express-zod-api-20.1.0.tgz'
$ ls
express-zod-api-v20.1.0.tgz

Workaround for yarn attw --pack:
npm pack
yarn attw *.tgz
rm *.tgz


Support colons in the parser's format_usage() output.

When parser.format_usage() output happens to contain any colons, the synopsis currently starts after the last of these colons. This splits just once to fix this.

Thank you!


Some improvement of benchmarks

Some work in the benchmarks directory. The most important stuff is some make check to test the brokenness of specific benches.

:shipit:

+1


Responsive site

I would like to make site more responsive and improve ui
I am Vibha Gupta and I would like to fix the issue.
I am working under GSSoC'24. Please assign me this issue.

Vibha17:responsive
made the pr


+vterm/here launches in a popup instead of the full window

What did you expect to happen?
=vterm to launch in the current window.
What actually happened?
=vterm launches in a popup.
 Did you mean +vterm/toggle or +vterm/here? I'm not aware of any Doom module that defines =vterm.

Oh, geez; yeah, it's a custom function I wrote. Sorry for the noise.

Seems like it's due to this: https://github.com/akermu/emacs-libvterm/commit/a9ec7533388870fb3a457f5f592cd4ae08412062

@seanfarley @hlissner is it really invalid?
I experience the same issue since update - both +vterm/here and +vterm/toggle are opening the vterm in a popup. Previously +vterm/here were opening term in current window, thus, right now I can't even move it to another window using SPC w H/JK/L.

It seems the root cause is the emacs-vterm package itself. So far - reverting the bump up of the package fixes the issue:
git checkout 5b242c73bbc2236bf1176b561b1d9d53cb2a2440 -- modules/term/vterm/packages.el

Yeah, you're right @AdamMarkowski; I've changed the title to reflect that. As usual, I just assume it's bad lisp code I wrote 😅

In that case, this is a duplicate of #2608. Will track this there.


Pass artifactory secrets to workflow.

I forgot github secrets are not visible to the workflow environment unless explicitly set.
Checklist

[x] The PR conforms to DataHub's Contributing Guideline (particularly Commit Message Format)
[ ] Links to related issues (if applicable)
[ ] Tests for the changes have been added/updated (if applicable)
[ ] Docs related to the changes have been added/updated (if applicable)

https://github.com/linkedin/datahub-gma/issues/77


driver for SI2168 USB Stick "TechnoTrend TT-TVStick CT2-4400" not working

DVB tools show
dvb-fe-tool && dvb-fe-tool -g Device DiBcom 7000PC (/dev/dvb/adapter0/frontend0) capabilities:      CAN_FEC_1_2      CAN_FEC_2_3      CAN_FEC_3_4      CAN_FEC_5_6      CAN_FEC_7_8      CAN_FEC_AUTO      CAN_GUARD_INTERVAL_AUTO      CAN_HIERARCHY_AUTO      CAN_INVERSION_AUTO      CAN_QAM_16      CAN_QAM_64      CAN_QAM_AUTO      CAN_QPSK      CAN_RECOVER      CAN_TRANSMISSION_MODE_AUTO DVB API Version 5.11, Current v5 delivery system: DVBT Supported delivery system:     [DVBT] FREQUENCY = 626000000 MODULATION = QAM/64 BANDWIDTH_HZ = 8000000 INVERSION = AUTO CODE_RATE_HP = 2/3 CODE_RATE_LP = 1/2 GUARD_INTERVAL = 1/4 TRANSMISSION_MODE = 8K HIERARCHY = NONE DELIVERY_SYSTEM = DVBT
but they should show
Device Silicon Labs Si2168 (/dev/dvb/adapter0/frontend0) capabilities:      CAN_2G_MODULATION      CAN_FEC_1_2      CAN_FEC_2_3      CAN_FEC_3_4      CAN_FEC_5_6      CAN_FEC_7_8      CAN_FEC_AUTO      CAN_GUARD_INTERVAL_AUTO      CAN_HIERARCHY_AUTO      CAN_INVERSION_AUTO      CAN_MULTISTREAM      CAN_MUTE_TS      CAN_QAM_16      CAN_QAM_32      CAN_QAM_64      CAN_QAM_128      CAN_QAM_256      CAN_QAM_AUTO      CAN_QPSK      CAN_TRANSMISSION_MODE_AUTO DVB API Version 5.11, Current v5 delivery system: DVBT2 Supported delivery systems:      DVBT     [DVBT2]      DVBC/ANNEX_A
further Informations:
dmesg |egrep "firmware|dvb|frontend|usb"  [    0.000000] psci: PSCIv1.0 detected in firmware. [    1.511408] usbcore: registered new interface driver usbfs [    1.511520] usbcore: registered new interface driver hub [    1.511653] usbcore: registered new device driver usb [    2.095923] phy<EMAIL_ADDRESS>Looking up phy-supply from device tree [    2.096041] vcc_host1_5v: could not add device link<EMAIL_ADDRESS>err -2 [    2.096573] phy<EMAIL_ADDRESS>Looking up phy-supply from device tree [    2.096679] vcc_host1_5v: could not add device link<EMAIL_ADDRESS>err -2 [    2.097156] phy<EMAIL_ADDRESS>Looking up vbus-supply from device tree [    2.097179] phy<EMAIL_ADDRESS>Looking up vbus-supply property in node /syscon@ff450000/usb2-phy@100/otg-port failed [    2.097204] phy<EMAIL_ADDRESS>Failed to get VBUS supply regulator [    2.098353] rockchip-u3phy ff470000.usb3-phy: Looking up vbus-supply from device tree [    2.098378] rockchip-u3phy ff470000.usb3-phy: Looking up vbus-supply property in node /usb3-phy@ff470000 failed [    2.098403] rockchip-u3phy ff470000.usb3-phy: Failed to get VBUS supply regulator [    2.098879] phy phy-ff470000.usb3-phy.2: Looking up phy-supply from device tree [    2.098899] phy phy-ff470000.usb3-phy.2: Looking up phy-supply property in node /usb3-phy@ff470000/utmi@ff470000 failed [    2.099311] phy phy-ff470000.usb3-phy.3: Looking up phy-supply from device tree [    2.099331] phy phy-ff470000.usb3-phy.3: Looking up phy-supply property in node /usb3-phy@ff470000/pipe@ff478000 failed [    2.101082] rockchip-u3phy ff470000.usb3-phy: Rockchip u3phy initialized successfully [    2.316009] usbcore: registered new interface driver udl [    2.508740] usbcore: registered new interface driver cdc_ether [    2.517547] usbcore: registered new interface driver rndis_host [    2.528368] phy phy-ff470000.usb3-phy.2: u3phy u2 power on [    2.536997] phy phy-ff470000.usb3-phy.3: u3phy u3 power on [    2.546588] dwc2 ff580000.usb: Looking up vusb_d-supply from device tree [    2.546612] dwc2 ff580000.usb: Looking up vusb_d-supply property in node /usb@ff580000 failed [    2.546633] ff580000.usb supply vusb_d not found, using dummy regulator [    2.555234] dwc2 ff580000.usb: Looking up vusb_a-supply from device tree [    2.555255] dwc2 ff580000.usb: Looking up vusb_a-supply property in node /usb@ff580000 failed [    2.555272] ff580000.usb supply vusb_a not found, using dummy regulator [    2.576177] dwc2 ff580000.usb: DWC OTG Controller [    2.584234] dwc2 ff580000.usb: new USB bus registered, assigned bus number 1 [    2.592445] dwc2 ff580000.usb: irq 44, io mem 0xff580000 [    2.600599] usb usb1: New USB device found, idVendor=1d6b, idProduct=0002 [    2.608616] usb usb1: New USB device strings: Mfr=3, Product=2, SerialNumber=1 [    2.616602] usb usb1: Product: DWC OTG Controller [    2.624288] usb usb1: Manufacturer: Linux 4.4.167-1169-rockchip-ayufan-g3cde5c624c9c dwc2_hsotg [    2.632500] usb usb1: SerialNumber: ff580000.usb [    2.683496] ehci-platform ff5c0000.usb: EHCI Host Controller [    2.691492] ehci-platform ff5c0000.usb: new USB bus registered, assigned bus number 2 [    2.699559] ehci-platform ff5c0000.usb: irq 45, io mem 0xff5c0000 [    2.718260] ehci-platform ff5c0000.usb: USB 2.0 started, EHCI 1.00 [    2.726243] usb usb2: New USB device found, idVendor=1d6b, idProduct=0002 [    2.733996] usb usb2: New USB device strings: Mfr=3, Product=2, SerialNumber=1 [    2.741762] usb usb2: Product: EHCI Host Controller [    2.749259] usb usb2: Manufacturer: Linux 4.4.167-1169-rockchip-ayufan-g3cde5c624c9c ehci_hcd [    2.757300] usb usb2: SerialNumber: ff5c0000.usb [    2.797676] ohci-platform ff5d0000.usb: Generic Platform OHCI controller [    2.806073] ohci-platform ff5d0000.usb: new USB bus registered, assigned bus number 3 [    2.814488] ohci-platform ff5d0000.usb: irq 46, io mem 0xff5d0000 [    2.882583] usb usb3: New USB device found, idVendor=1d6b, idProduct=0001 [    2.890856] usb usb3: New USB device strings: Mfr=3, Product=2, SerialNumber=1 [    2.899175] usb usb3: Product: Generic Platform OHCI controller [    2.907376] usb usb3: Manufacturer: Linux 4.4.167-1169-rockchip-ayufan-g3cde5c624c9c ohci_hcd [    2.916029] usb usb3: SerialNumber: ff5d0000.usb [    2.978112] usb usb4: New USB device found, idVendor=1d6b, idProduct=0002 [    2.986785] usb usb4: New USB device strings: Mfr=3, Product=2, SerialNumber=1 [    2.995463] usb usb4: Product: xHCI Host Controller [    3.003994] usb usb4: Manufacturer: Linux 4.4.167-1169-rockchip-ayufan-g3cde5c624c9c xhci-hcd [    3.013041] usb usb4: SerialNumber: xhci-hcd.8.auto [    3.022352] usb 1-1: new high-speed USB device number 2 using dwc2 [    3.023690] usb usb5: We don't know the algorithms for LPM for this host, disabling LPM. [    3.023873] usb usb5: New USB device found, idVendor=1d6b, idProduct=0003 [    3.023883] usb usb5: New USB device strings: Mfr=3, Product=2, SerialNumber=1 [    3.023892] usb usb5: Product: xHCI Host Controller [    3.023901] usb usb5: Manufacturer: Linux 4.4.167-1169-rockchip-ayufan-g3cde5c624c9c xhci-hcd [    3.023908] usb usb5: SerialNumber: xhci-hcd.8.auto [    3.026985] usbcore: registered new interface driver iforce [    3.027101] usbcore: registered new interface driver xpad [    3.027663] usbcore: registered new interface driver usbtouchscreen [    3.072859] usbcore: registered new interface driver uvcvideo [    3.079743] usbcore: registered new interface driver bfusb [    3.079842] usbcore: registered new interface driver btusb [    3.159787] of_get_named_gpiod_flags: parsed 'gpios' property of node '/switches/usb-switch[0]' - status (0) [    3.169130] usbcore: registered new interface driver usbhid [    3.169133] usbhid: USB HID core driver [    3.173699] usbcore: registered new interface driver snd-usb-audio [    3.334382] usb 5-1: new SuperSpeed USB device number 2 using xhci-hcd [    3.351485] usb 5-1: New USB device found, idVendor=152d, idProduct=1561 [    3.351497] usb 5-1: New USB device strings: Mfr=1, Product=2, SerialNumber=3 [    3.351505] usb 5-1: Product: SABRENT [    3.351513] usb 5-1: Manufacturer: SABRENT [    3.351522] usb 5-1: SerialNumber: DB9876543214E [    4.581839] usbcore: registered new interface driver usb-storage [    4.595416] usbcore: registered new interface driver uas [    4.610997] usb 1-1: New USB device found, idVendor=0b48, idProduct=3014 [    4.614658] usb 1-1: New USB device strings: Mfr=1, Product=2, SerialNumber=3 [    4.618328] usb 1-1: Product: TechnoTrend USB-Stick [    4.621777] usb 1-1: Manufacturer: CityCom GmbH [    4.625247] usb 1-1: SerialNumber: 20131128 [    9.718299] usb 1-1: dvb_usb_v2: found a 'TechnoTrend TVStick CT2-4400' in warm state [    9.729006] usb 1-1: dvb_usb_v2: will pass the complete MPEG2 transport stream to the software demuxer [    9.749426] usb 1-1: dvb_usb_v2: MAC address: bc:ea:2b:44:0d:b2 [    9.796889] usb 1-1: DVB: registering adapter 0 frontend 0 (Silicon Labs Si2168)... [    9.810256] rc rc0: TechnoTrend TVStick CT2-4400 as /devices/platform/ff580000.usb/usb1/1-1/rc/rc0 [    9.817079] input: TechnoTrend TVStick CT2-4400 as /devices/platform/ff580000.usb/usb1/1-1/rc/rc0/input2 [    9.826062] rc rc0: lirc_dev: driver dvb_usb_dvbsky registered at minor = 0, scancode receiver, no transmitter [    9.831715] usb 1-1: dvb_usb_v2: schedule remote query interval to 300 msecs [    9.837133] usb 1-1: dvb_usb_v2: 'TechnoTrend TVStick CT2-4400' successfully initialized and connected [    9.842968] usbcore: registered new interface driver dvb_usb_dvbsky [   19.825398] si2168 5-0064: downloading firmware from file 'dvb-demod-si2168-b40-01.fw' [   21.527271] si2168 5-0064: firmware version: 4.0.25 [   21.590486] si2157 6-0060: firmware version: 3.0.5 root@rockNAS64:~# tree /dev/dvb /dev/dvb -- adapter0
|-- demux0
|-- dvr0
|-- frontend0
-- net0

Still there in RC15. Will there follow any solution? Thanks anyway for the releases.

Is there a way for better error support or why is this getting ignored?


Code from the Algorithms in book "Algorithms for Decision Making"?

Hey and thank you for making your stuff public!
There are various algorithms in the book that are hard to copy/paste from PDF.
Is there a chance they can be made available in this repo?
E.g. my attempt to copy/paste some of chap 7:
struct MDP
    γ # discount factor
    𝒮 # state space
    𝒜 # action space
    T # transition function
    R # reward function
    TR # sample transition and reward
end
#
functionlookahead(𝒫::MDP,U,s,a)
    𝒮,T,R,γ=𝒫.𝒮,𝒫.T,𝒫.R,𝒫.γ
    return R(s,a) + γ*sum(T(s,a,s′)*U(s′) for s′ in 𝒮)
end
#
functionlookahead(𝒫::MDP,U::Vector,s,a)
    𝒮,T,R,γ=𝒫.𝒮,𝒫.T,𝒫.R,𝒫.γ
    return R(s,a) + γ*sum(T(s,a,s′)*U[i] for (i,s′) in enumerate(𝒮))
end
# 7.3 Iterate k_max times w/o MAX
function iterative_policy_evaluation(𝒫::MDP,π,k_max)
    𝒮,T,R,γ=𝒫.𝒮,𝒫.T,𝒫.R,𝒫.γ
    U=[0.0 for s in 𝒮]
    for k in 1:k_max
        U = [lookahead(𝒫,U,s,π(s)) for s in 𝒮]
    end
    return U
end
# 7.4
function policy_evaluation(𝒫::MDP,π)
    𝒮,T,R,γ=𝒫.𝒮,𝒫.T,𝒫.R,𝒫.γ
    R′=[R(s,π(s)) for s in 𝒮]
    T′=[T(s,π(s),s′) for s in 𝒮, s′ in 𝒮]
    return (I-γ*T′) \ R′
end

# 7.5
struct ValueFunctionPolicy
    𝒫 # problem
    U # utility function
end
function greedy(𝒫::MDP,U,s)
    u,a = findmax(a->lookahead(𝒫,U,s,a),𝒫.𝒜)
    return(a=a,u=u)
end
(π::ValueFunctionPolicy)(s) = greedy(π.𝒫,π.U,s).a

# 7.6
struct PolicyIteration
    π# initial policy
    k_max# maximum number of iterations
end
functionsolve(M::PolicyIteration,𝒫::MDP)
    π,𝒮=M.π,𝒫.𝒮
    for k=1:M.k_max
        U=policy_evaluation(𝒫,π)
        π′=ValueFunctionPolicy(𝒫,U)
        if all(π(s)==π′(s) for s in 𝒮)
            break
        end
        π=π′
    end
    return π
end

#Algorithm 7.7. The backup proce-dure applied to an MDP
#Algorithm 7.8.  Value iteration
#Algorithm  7.9. Asynchronous value  iteration
#Algorithm 7.10.  solv discrete MDP using a linear program formulation
#Algorithm 7.11. LinearQuadraticProblem
#Example 7.4. An example solvinga finite horizon MDP

The algorithms will eventually end up in a different repository. This repository is for the problem definitions.

Which repository did the algorithms end up in?

Hello Алик, your prompting got us to create a new repo with all of the exported code. We hope you find it useful.


Creating tests for the bot

Description:
The tests in the Github app is useful for the developers to test the features of the app locally without repeatedly creating events on Github to check if code is working or not.
Potential solution:
The tests can be implemented using jest or nock. Probot defines the usage of tests in their documentation which can be found out here

duplicate of https://github.com/badging/badging-bot/issues/1


nvm uninstall does not work

Operating system and version:
MacOS High Sierra v10.13

nvm debug output:

nvm --version: v0.33.6
$TERM_PROGRAM: iTerm.app
$SHELL: /bin/zsh
$HOME: /Users/nibo
$NVM_DIR: '$HOME/.nvm'
$PREFIX: ''
$NPM_CONFIG_PREFIX: ''
$NVM_NODEJS_ORG_MIRROR: ''
$NVM_IOJS_ORG_MIRROR: ''
shell version: 'zsh 5.3 (x86_64-apple-darwin17.0)'
uname -a: 'Darwin 17.0.0 Darwin Kernel Version 17.0.0: Thu Aug 24 21:48:19 PDT 2017; root:xnu-4570.1.46~2/RELEASE_X86_64 x86_64'
OS version: Mac 10.13 17A405
curl: /usr/bin/curl, curl 7.54.0 (x86_64-apple-darwin17.0) libcurl/7.54.0 LibreSSL/2.0.20 zlib/1.2.11 nghttp2/1.24.0
wget: /usr/local/bin/wget, GNU Wget 1.19.1 built on darwin16.6.0.
git: /usr/local/bin/git, git version 2.14.2
grep: grep: aliased to grep  --color=auto --exclude-dir={.bzr,CVS,.git,.hg,.svn} (grep --color=auto --exclude-dir={.bzr,CVS,.git,.hg,.svn}), grep (BSD grep) 2.5.1-FreeBSD
awk: /usr/bin/awk, awk version 20070501
sed: illegal option -- -
usage: sed script [-Ealn] [-i extension] [file ...]
       sed [-Ealn] [-i extension] [-e script] ... [-f script_file] ... [file ...]
sed: /usr/bin/sed,
cut: illegal option -- -
usage: cut -b list [-n] [file ...]
       cut -c list [file ...]
       cut -f list [-s] [-d delim] [file ...]
cut: /usr/bin/cut,
basename: illegal option -- -
usage: basename string [suffix]
       basename [-a] [-s suffix] string [...]
basename: /usr/bin/basename,
rm: illegal option -- -
usage: rm [-f | -i] [-dPRrvW] file ...
       unlink file
rm: /bin/rm,
mkdir: illegal option -- -
usage: mkdir [-pv] [-m mode] directory ...
mkdir: /bin/mkdir,
xargs: illegal option -- -
usage: xargs [-0opt] [-E eofstr] [-I replstr [-R replacements]] [-J replstr]
             [-L number] [-n number [-x]] [-P maxprocs] [-s size]
             [utility [argument ...]]
xargs: /usr/bin/xargs,
nvm current: v6.11.3
which node: $NVM_DIR/versions/node/v6.11.3/bin/node
which iojs: iojs not found
which npm: $NVM_DIR/versions/node/v6.11.3/bin/npm
npm config get prefix: $NVM_DIR/versions/node/v6.11.3
npm root -g: $NVM_DIR/versions/node/v6.11.3/lib/node_modules

nvm ls output:

       v0.12.15
         v4.5.0
         v6.9.1
->      v6.11.3
         v7.7.1
         v8.5.0
default -> 6.11.3 (-> v6.11.3)
defualt -> v6 (-> v6.11.3)
node -> stable (-> v8.5.0) (default)
stable -> 8.5 (-> v8.5.0) (default)
iojs -> N/A (default)
lts/* -> lts/boron (-> N/A)
lts/argon -> v4.8.4 (-> N/A)
lts/boron -> v6.11.4 (-> N/A)

How did you install nvm? (e.g. install script in readme, homebrew):
install script in reame: curl -o- https://raw.githubusercontent.com/creationix/nvm/v0.33.6/install.sh | bash

What steps did you perform?
nvm uninstall v8.5

What happened?
nothing, output nothing

What did you expect to happen?
uninstall v8.5

Is there anything in any of your profile files (.bashrc, .bash_profile, .zshrc, etc) that modifies the PATH?

If you are having installation issues, or getting "N/A", what does curl -I --compressed -v https://nodejs.org/dist/ print out?

@nepaul does it not working with other versions? Does it now working if you switched to use bash shell?

@PeterDaveHello  It once  worked. Maybe since MacOS High Sierra?

@nepaul what's the output from set -x; nvm uninstall v8.5?

@nepaul I don't think so as I tested it with High Sierra and I got no problem.

@ljharb
set -x; nvm uninstall v8.5 output:
nvm_check_file_permisions .....like below:
+nvm_check_file_permissions:9> nvm_check_file_permissions /Users/nibo/.nvm/versions/node/v8.5.0/lib/node_modules/json-server/node_modules/_http-signature@1.2.0@http-signature/node_modules/sshpk/node_modules/bcrypt-pbkdf
+nvm_check_file_permissions:1> local ZSH_HAS_NONOMATCH_UNSET
+nvm_check_file_permissions:2> ZSH_HAS_NONOMATCH_UNSET=1
+nvm_check_file_permissions:3> nvm_has setopt
+nvm_has:1> type setopt
+nvm_check_file_permissions:4> ZSH_HAS_NONOMATCH_UNSET=+nvm_check_file_permissions:4> set +e
+nvm_check_file_permissions:4> nvm_grep nonomatch
+nvm_check_file_permissions:4> setopt
+nvm_grep:1> GREP_OPTIONS='' grep nonomatch
+nvm_check_file_permissions:4> nvm_echo 0
+nvm_echo:1> printf '%s\n' 0
+nvm_check_file_permissions:4> ZSH_HAS_NONOMATCH_UNSET=0
+nvm_check_file_permissions:5> setopt nonomatch
....
...
...

i met the same problem... did you get useful way to solve it? @nepaul

same problem

@scoyzhao not yet.

@nepaul can you post the whole output here:
https://pastebin.com/

I used this and it worked, I am running MacOS High Sierra 10.13.5 *source: https://www.codementor.io/mercurial/how-to-install-node-js-on-macos-sierra-mphz41ekk
touch ~/.bash_profile
curl -o- https://raw.githubusercontent.com/creationix/nvm/v0.32.1/install.sh | bash

same problem
nvm: 0.34.0 ,mac OS 10.13, zsh 5.3
rm -rf ~/.nvm/versions/node/vx.xx.x/lib/node_modules
then nvm uninstall will success

@NineDayForever that suggests you used sudo npm install -g at some point. sudo is never needed with nvm, and doing so will definitely prevent your ability to uninstall.


D455 camera calibration and captures feature points

Before opening a new issue, we wanted to provide you with some useful suggestions (Click "Preview" above for a better view):

Consider checking out SDK examples.
Have you looked in our documentations?
Is you question a frequently asked one?
Try searching our GitHub Issues (open and closed) for a similar issue.

All users are welcomed to report bugs, ask questions, suggest or request enhancements and generally feel free to open new issue, even if they haven't followed any of the suggestions above :)

Required Info

Camera Model
D455

Firmware Version
(Open RealSense Viewer --> Click info)

Operating System & Version
Linux (Ubuntu 20.04)

Kernel Version (Linux Only)
(e.g. 4.14.13)

Platform
PC

SDK Version
{ legacy / 2.. }

Language
python

Segment
Robot

Issue Description

When I was shooting with the D455 camera, I noticed a lot of black depth noise on the image. Is there any way to calibrate the camera for noise reduction? I found the code to capture the feature points, but there's a lot of depth noise on the image. This severely affected the use of the algorithm. So I needed to calibrate the camera. See if the results can be a little more accurate.Is there any way I can learn how to use the D455 camera more?

There is a lot of black depth noise on the image.

Hi @junmoxiao11  Does your depth image improve if you reset the camera to its factory-new default calibration in the RealSense Viewer using the instructions at https://github.com/IntelRealSense/librealsense/issues/10182#issuecomment-1019854487 please?

I did everything you said, but there's still some black noise dots on the image.
These black dots will affect my ability to capture the point at which the depth value of the object is changing. That would make a big difference in my observations. Do you have any other methods to reduce noise? Or dose the D455 camera inevitable produce depth noise in the image when shooting?

If you expand open the Post Processing section of the Viewer's side-panel and enable the Hole Filling filter (which is turned off by default) then it should fill in the holes.

I am not sure I know what you mean. And what do yo mean fill in the hole? Dose that mean filling in the black depth noise?
Do you have any other way to calibrate?

Expand open the Stereo Module section of the Viewer side-panel by clicking on the arrow beside it.

Look down the list of options until you find one called Post Processing.  Click on the arrow beside it to show all the types of post-processing filter that are available.

Find the filter called Hole Filling and click on the red icon beside it (which means Off) to turn it blue (On).  The small black holes should then be automatically filled in.

You could try resetting the camera in the Viewer to its factory-new default calibration to see whether your depth image improves.  Instructions for doing so can be found at https://github.com/IntelRealSense/librealsense/issues/10182#issuecomment-1019854487

After I tried it the way you said, all the black noise on the image was gone! Thank you! But want  I turned the realsense-viewer back on, the Settings were gone again and I had to readjust them. Is there a way to save my Settings for the camera? So that everytime I open the realsense-viewer, I don't have to keep adjusting it.
And I have one more question. Is the camera's accurary affected by light sources and thermal radiation? Because I found that the depth value of the same point would always vary in an interval rathen than a fixed nummber.

Some settings, including post-processing filters, are not preserved when the Viewer is closed and reset to their default status when the Viewer is re-opened.  There is not a way to permanently set these options in the Viewer unfortunately.
RealSense 400 Series cameras can perform excellently in sunlight, except when directly facing the sun.  When the camera faces the sun its infrared sensors can become saturated with light, negatively affecting the depth and infrared images.  If auto-exposure is enabled then the camera should auto-correct when the camera is no longer directly facing the sun.
Using a RealSense camera equipped with a light-blocking filter such as the D455f can result in an improved depth image.
https://www.intelrealsense.com/depth-camera-d455f/

So in your third step : Find the filter called Hole Filling and click on the red icon beside it (which means Off) to turn it blue (On). The small black holes should then be automatically filled in. The setting in this step cannot be saved, right?

No, the setting cannot be saved.  An alternative method that you could try for reducing holes is to set the Laser Power option under 'Stereo Module > Controls' to its maximum value of '360'.  The Laser Power value remains at its previous setting when the Viewer is opened and closed, so once set to 360 then it should still be 360 when the Viewer is next launched.

I set the Laser power option to 360 and there are still a lot of black spots on the image.
Can I write a piece of python code to control the realsense-viewer to automatically turn on the Hole Filling Filter when it is turned on?
And I found that when I took a piture with the realsense-viewer , the depth value of the same point kept changing, within about a centimeter. Is this normal?

And I found that if I pointed the camera at a light source , like an electric lamp, the part of the lamp that was captured would appear black. Is the camera not aligned with the light source when shooting?

If the light source that the camera is pointed at is very strong then the camera may be unable to read depth information from the area where the light is concentrated, causing that area to appear as black (no depth) on the depth image.
RealSense camera models equipped with a light-blocking filter, such as D455f, will be better able to handle light.  The filter can also be purchased separately as the CLAREX NIR-75N product and attached over the camera lenses on the outside of a non-filtered camera model such as D455.

If you want to analyze the data then you would likely have to record a bag file, which is like a video recording of camera data.  When a script reads a bag file then it can use the data stored in the bag as though it is accessing a live camera.

As you said, I will try to use the code to capture the dispalcement change of the moving object in the video.
And I saw a video on YouTube.https://youtu.be/b-1jF9m2NSQ
Do you know how this is done in the video? It might help me with my research.

From the video description and the date of the video, it sounds as though it is using the Unreal Engine VR Template and the RealSense Unreal Engine 5 plugin.
VR template
https://docs.unrealengine.com/5.0/en-US/vr-template-in-unreal-engine/
RealSense UE5 plugin
https://github.com/IntelRealSense/librealsense/issues/12262

Is this picture taken by my D455 camera normal?
And I have one more question. Why do I record a video after adjusting the realsense-viewer's controls and post-processing is still a lot of black noise in the video? Is this because post-processing can't be saved to the video either?

Yes, that is a normal and good quality depth image.
The black edge around your body is normal when scanning the human body with RealSense cameras.
In regard to the black area that is apparently behind your body which looks like a chair, if the chair has black colored sections then these will not be rendered on the depth image.  This is because it is a general physics principle (not specific to RealSense) that dark grey or black absorbs light and so makes it more difficult for depth cameras to read depth information from such surfaces. The darker the color shade, the more light that is absorbed and so the less depth detail that the camera can obtain.

  Instead, the bag file and its raw camera data should be loaded in and then post-processing filters applied to the bag file's data in real-time.

So how to post-process the raw camera data in this bag file. To remove the effect of  black noise.

A script that uses bag file data is almost the same as a script that uses a live camera except that it contains a rs.config.enable_device_from_file instruction to tell the script to use the bag as its data source.  This principle is demonstrated in the SDK's Python example read_bag_example.py.
So you would use a Python post-processing script and add the enable_device_from_file line to it to post-process bag data.

First import library
import pyrealsense2 as rs
Import Numpy for easy array manipulation
import numpy as np
Import OpenCV for easy image rendering
import cv2
Import argparse for command-line options
import argparse
Import os.path for file path manipulation
import os.path
Create object for parsing command-line options
parser = argparse.ArgumentParser(description="Read recorded bag file and display depth stream in jet colormap.
Remember to change the stream fps and format to match the recorded.")
Add argument which takes path to a bag file as an input
parser.add_argument("-i", "--input", type=str, default="20240301_101433.bag", help="Path to the bag file, default is '20240301_101433.bag'")
Parse the command line arguments to an object
args = parser.parse_args()
try:
# Create pipeline
pipeline = rs.pipeline()
# Create a config object
config = rs.config()

# Tell config that we will use a recorded device from file to be used by the pipeline through playback.
rs.config.enable_device_from_file(config, args.input)

# Configure the pipeline to stream the depth stream
# Change this parameters according to the recorded bag file resolution
config.enable_stream(rs.stream.depth, rs.format.z16, 30)

# Start streaming from file
pipeline.start(config)

# Create opencv window to render image in
cv2.namedWindow("Depth Stream", cv2.WINDOW_AUTOSIZE)

# Create colorizer object
colorizer = rs.colorizer()

# Streaming loop
while True:
    # Get frameset of depth
    frames = pipeline.wait_for_frames()

    # Get depth frame
    depth_frame = frames.get_depth_frame()

    # Colorize depth frame to jet colormap
    depth_color_frame = colorizer.colorize(depth_frame)

    # Convert depth_frame to numpy array to render image in opencv
    depth_color_image = np.asanyarray(depth_color_frame.get_data())

    # Render image in opencv window
    cv2.imshow("Depth Stream", depth_color_image)
    key = cv2.waitKey(1)
    # if pressed escape exit program
    if key == 27:
        cv2.destroyAllWindows()
        break

finally:
pass
This is the code I changed based on the example you gave me, but I got the following error when I ran the ubuntu20.04 terminal. Do you know why that is?
"Traceback (most recent call last):
File "bagduqu.py", line 35, in
pipeline.start(config)
RuntimeError: Failed to resolve request. Request to enable_device_from_file("20240301_101433.bag") was invalid, Reason: Failed to create ros reader: Error opening file: 20240301_101433.bag"

Is the bag file placed in the same folder as your Python script?
Is the bag file able to be played back if you drag and drop it into the center panel of the RealSense Viewer?  If it does not play back then it could indicate that the bag file is incomplete or corrupted.

The package file plays normally in the realsense-viewer. The package file dose not appear to be in the same folder as the python script. I'll try again with your advice.

https://github.com/IntelRealSense/librealsense/blob/master/wrappers/python/examples/read_bag_example.py#L42C5-L42C38
I ran the code here, but it only seemed to open my bag file and play the video inside. Is there any way to capture the point in this video where the displacement changes?

Can you confirm what you mean when you say 'displacement' please?

I mean I want to find the object in the video that has changed position. In short, I want to find the moving object and record its depth information.

There is not a code example available for doing this kind of position tracking with RealSense in Python, unfortunately.  I researched the subject again carefully to be certain but could not find anything helpful.
If you know the color of the object in advance then it is possible to track an object by a particular color.  You can find non-RealSense example projects that do this by googling for the term python track object position by color.  The code in these projects may be adaptable for a pyrealsense2 script.

Do you have examples of such specific color tracking objects? I didn't find what I was looking for on Google.

My apologies for the delay in replying further.  I have only seen one RealSense-specific color tracking tutorial.but it was removed from the internet.  However, there is a copy of it archived on the Wayback Machine internet archiving website at the link below.
https://web.archive.org/web/20201120175839/https://by-the-w3i.github.io/2019/10/06/ColorBlockTracking/

I have an idea now. Do you have a way to split the video in the bag file into frame by frame images?  I wanted to capture the point  of position change by reading the depth information inside each frame and the change in coordinates between them.

You can save the bag file as one bag file per frame using the save_single_frameset instruction, as described at https://github.com/IntelRealSense/librealsense/issues/12761
If you have already recorded the bag then you can extract each frame as an individual image file using the RealSense SDK's rs-convert bag extraction tool or an alternative tool created by a RealSense user called rs_bag2image
rs-convert
https://github.com/IntelRealSense/librealsense/tree/master/tools/convert
bag2image
https://github.com/UnaNancyOwen/rs_bag2image

Is there any specific example code that can help me convert package files into many single frame files? I want to write in python.

There is not a direct equivalent to these extraction tools for Python, unfortunately.  You might be able to create one though by modifying a script that saves depth and color frames to PNG, like the script at https://github.com/IntelRealSense/librealsense/issues/3658
If you needed to convert a bag file then you could possibly modify the script to use a bag file as the data source instead of a live camera using the enable_device_from_file instruction like in https://github.com/IntelRealSense/librealsense/issues/9585- and the script should then read the bag file frame by frame and save the frames to PNG image.

PNG file do not seem to contain depth information. I want to be able to read the depth information of these segmented single frame files.

Most of the depth information is lost when saving to a PNG file.  If you instead export to a .raw file then the depth information is preserved.  This subject is discussed in regard to Python at https://github.com/IntelRealSense/librealsense/issues/10553
You can obtain a .raw file from the RealSense Viewer if you use the Snapshot button on the row of icons on top of the depth stream panel.

Or do you know of any examples of corner tracking? Now I wonder if I can use color tracking or corner tracking to capture the position of objects. And the captured point position change information is output as a file.

Are there instances of color tracking or corner point tracking?

There are a couple of Python / OpenCV tutorials for tracking by color at the links below.
https://www.instructables.com/Object-tracking-by-color-with-Python-and-openCV/
https://davidhampgonsalves.com/opencv/python-color-tracking/

Did you know that realsense D455 camera video captured in the realsense viewer that can be used for color tracking or corner point tracking? And can a point with color tracking read its depth information and coordinate information?

Thank you so much for your assistance. I am new to computer programming and machine vision, and I am a complete novice. So I may ask a lot of silly questions.

Then I'll probably start with the recorded bag file instead of capturing objects in real time with realsense-viewer. But I might still need a lot of help with color tracking or feature tracking in the video. Because I don't  know anything about that code. I am slowly starting to learn. Do you have any examples or tutorials that can help me get started. Thanks a lot.

Don't worry about asking questions.  Everybody was new once!
If your project is able to make use of ROS then there is another RealSense color tracking project at the link below, in addition to the one I mentioned earlier at https://github.com/IntelRealSense/librealsense/issues/12689#issuecomment-1994137171
https://github.com/ctu-mrs/object_detect

Hi @junmoxiao11  Do you require further assistance with this case, please?  Thanks!

Yeah, I've been learning the corner tracking algorithm. And I'm trying to figure out a way to use corner tracking in the video from realsense camera. Do you have any examples of this?

https://github.com/IntelRealSense/librealsense/issues/7364#issuecomment-727635090
A research paper at the link below refers to corner tracking with a D435i camera.
https://www.mdpi.com/2504-446X/7/1/34?type=check_update&version=3 discusses a method for extracting corners.

Hi @junmoxiao11  Were the links in the comment above helpful to you, please?  Thanks!

The links you gave me didn't help me much. I need some examples of using realsense cameras to capture the motion of feature points. It's best to use python.
For example, I recorded a video with the D455 camera and saved it in the bag file. How do I capture a moving object in this video and get information about the position of a point on the object? Including its depth information and coordinate information , which I need to turn into data and save to a file. That's what I want to do right now.

Do you know how to install python pyrealsense2 in windows11?

https://github.com/IntelRealSense/librealsense/issues/10315#issuecomment-1068208234 may be a helpful reference.

Why can I only capture feature points of RGB images with corner tracking algorithm? It cannot capture the feature points in the depth image and read the depth value of these points. In depth images, doesn't the color information reflect the depth information? Can't I just programmatically capture the feature point, read its color information and convert it to depth information?

I researched your question carefully but all of the RealSense corner tracking solutions that I found used the RGB image for depth and not the depth data.
Python examples of RGB-based corner detection that I found are https://github.com/IntelRealSense/librealsense/issues/10484#issuecomment-1142458201 and https://github.com/IntelRealSense/librealsense/issues/12676
If you performed color to depth alignment instead of depth to color then the color image would resize to fit the depth coordinates.

Do yoou mean that RGB images taken by realsense cameras also contain depth information?

No, what it means is that when aligning depth and color images, the coordinates of the depth image are aligned with the coordinates of the color image to create a single combined depth and color image where both depth and color have the same coordinates.  So in an aligned image, you can be confident that if you know a color coordinate then you know the corresponding depth coordinate because they will be the same.

I read your explanation carefully. Can I understand that by capturing a point in a color image, I get its coordinates. Then the obtained coordinate points are used to read the depth value of the point in the depth image at the same time.

Yes, correct.  If the images have been aligned together then a point in the color image will correspond to the same point on the depth image.

Can I do this in code for a recorded bag file?

Yes, if you use the enable_device_from_file() instruction to use a bag file as the data source instead of a live camera then the script will behave the same as if the data was coming from a camera.  The RealSense SDK provides an example Python script called read_bag_example.py at the link below that demonstrates use of this instruction.
https://github.com/IntelRealSense/librealsense/blob/master/wrappers/python/examples/read_bag_example.py#L42

Hi @junmoxiao11  Do you require further assistance with this case, please?  Thanks!

Yes, please do not close this issue. I may have a few more questions for you in the future.

Okay, I will keep the issue open and label it Enhancement as a reminder not to close it.

https://github.com/IntelRealSense/librealsense/blob/master/wrappers/python/examples/read_bag_example.py#L42
Hello, in the sample script you provided, the code can only read the deep stream of the bag file. Are there any other examples that can read a RGB stream?

I have modified the code according to your suggestion, but such error still occurs. The script seems to read only the depth stream but not the color stream. But when I open the bag file with the realsense-viewer, there  was a color image. Do you have a way to read the color stream in the bag file in python?

A RealSense user who was modifying read_bag_example.py to read the color stream and also had problems found that a solution was to comment out the stream config lines.  Their solution is at https://github.com/IntelRealSense/librealsense/issues/9208#issuecomment-860268711

I found that by changing the bgr8 code to rgb8, I was able to run soomthly. I can now output the coordinates of the captured color feature points. But now I need to output the depth information for these corresponding coordinates as well. Do you know of any relevant examples? Preferably run in python.

It sounds as though the instruction rs2_project_color_pixel_to_depth_pixel would meet your requirements.  It converts a single specific RGB color pixel into a depth pixel to return the real-world depth of that pixel.  https://github.com/IntelRealSense/librealsense/issues/5603#issuecomment-574019008 has a Python example of this instruction's use.

I read the depth frame of the video through depth_frame = frames.get_depth_frame(), then defined a function "write_points_to_csv(file_path, frame_number, tracked_objects, depth_frame):" and used "depth = depth_frame.get_distance(point[0], point[1])
writer.writerow([obj.id, point[0], point[1], depth])" to record the depth information as well.
But now I have a problem, there are a lot of black noise in the video, resulting in recorded depth information often appears 0.

This is the effect I shot. The white paper in the depth image has a lot of black noise. I don't know if this is normal. Do you have any good ways to deal with the noise?

If your ceiling lights are of the fluorescent type then that could create noise in the depth image, as they flicker at a rate that is difficult to see with the human eye.
You could try increasing the FPS to 60 to test whether or not the issue is disruption from the lights' operating frequency.

Hi @junmoxiao11  Do you have an update about this case that you can provide, please?  Thanks!

Is this picture I took normal?
Now I can track the movement of this black stick by tracking the feature points. I output the poisition change information of the tracked points into a file as shown in the figure below:
I now want to calibrate the depth camera. That is, the coordinates of the feature points in the image in the file become the world coordinates. So I can figure out its actual motion. Do you know about depth camera calibrate?

This is my output of the change in position of the feature points. I forgot to add it in the last comment, sorry.

Hi @junmoxiao11  The camera may be having difficulty with reading the black stick simply because it is colored black, for the reason mentioned earlier in this discussion at https://github.com/IntelRealSense/librealsense/issues/12689#issuecomment-1972720201
As I suggested in that comment, you could try enabling the Hole-Filling post-processing filter to fill the empty black hole in.

Now, I have a more pressing problem: How to calibrate depth cameras? I have been able to capture the featurre  point movement information of the black stick in the image and output it, as shown in this figure:

Do you know how to turn motion information in pictures into actual displacement? Also the calibration of the camera?

The RealSense SDK has a depth calibration tool called On-Chip built into its firmware.  It can be accessed from the 'More' option of the RealSense Viewer.  It can also be accessed and controlled with Python code.  The SDK has an official Python example of this called depth_auto_calibration_example.py
https://github.com/IntelRealSense/librealsense/blob/master/wrappers/python/examples/depth_auto_calibration_example.py
Full details of the on-chip calibration tool and other calibration tools can be found here:
https://dev.intelrealsense.com/docs/self-calibration-for-depth-cameras
Regarding displacement, do you mean tracking the motion of the black stick?  If you do then https://github.com/IntelRealSense/librealsense/issues/4175 might be a helpful reference.

Hi @junmoxiao11  Do you have an update about this case that you can provide, please?  Thanks!

https://github.com/user-attachments/assets/8b136ca0-6dc0-4898-b858-65169228014a
This is a video I recorded with a wall in the background. Was the video shot well? Why do I feel like the video keeps shaking? That is, the depth at the same point is always changing and there's some noise. Is this all normal?

It does appear as though you have quite a lot of fluctuation in depth values in the same area.  Plain walls can be difficult for the camera to read because they lack texture detail.
If you are using the RealSense Viewer then increasing the Laser Power setting to its maximum value of '360' may help.  This is because it will make the invisible dot-pattern projection cast onto the wall by the camera more visible to the camera and so increase its ability to extract depth information from the surface.
You could also go to the Post-Processing section of the Viewer's options side-panel and expand open the settings for the Temporal filter.  Changing the Temporal filter's 'Filter Smooth Alpha' option from its default value of '0.4' to the lower '0.1' can significantly reduce depth value fluctuation.

Thanks, after modifying the Settings according to you tips, the video picture has been improved.

Thanks, after modifying the Settings according to you tips, the video picture has been improved.

https://github.com/user-attachments/assets/63a4c436-8145-40cb-91e8-021e8bcbf096
As you can see in this video. I can capture the red dot in the video and output its coordinates and depth.  Now I want to transform this coordinate information from the image coordinate system to the world coordinate system. That is to calculate the true motion of the red dot.

The instruction rs2_deproject_pixel_to_point would be best in this situation for converting a 2D image pixel to a 3D world point.  There is an example of a Python script for doing so at https://github.com/IntelRealSense/librealsense/issues/9749
The script was for the L515 camera model, so you will need to change this line:
config.enable_stream(rs.stream.depth, 1024, 768, rs.format.z16, 30)
to this:
config.enable_stream(rs.stream.depth, 1280, 720, rs.format.z16, 30)

Hi @junmoxiao11  Do you require further assistance with this case, please?  Thanks!

Please look carefully at the red lines and red circles in my two pictures. I set the resolution for both depth image and RGB image to 848*480. Why do two images of the same point have different coordinates?

In the '2D' mode of the RealSense Viewer, the depth and RGB images are not aligned.  Their views will therefore not exactly match each other as the depth sensors and the RGB sensors are in different physical locations on the front of the camera (meaning the RGB image is horizontally offset from the depth image).
On the D455 camera model you can obtain an RGB image that is precisely aligned to the depth image.  Instead of enabling the RGB stream, you can select the Infrared stream in the Stereo Module section and set its format to RGB8 instead of the default Y8 format.  This is 'RGB from left infrared sensor' mode.
It is also worth bearing in mind that by default the Viewer has a Decimation filter enabled in the Post-Processing section of the options side-panel that 'downsamples' the selected resolution by half, so 848x480 is downsampled to 424x240 resolution.  You can disable this filter to show the depth image in the full 848x480 resolution by left-clicking on the blue icon beside 'Decimation Filter' to turn the icon from blue to black, indicating that it is disabled.

Is there any way to align the image obtained by enabling RGB streams with the depth image? Instead of  select the infrared stream in the Stereo Moudule section and set its format to RGB8.

How does the image look if you try the SDK's Python example program align_depth2color.py to align the depth and RGB streams?
https://github.com/IntelRealSense/librealsense/blob/master/wrappers/python/examples/align-depth2color.py

Are there any books or websites that can help me further understand OpenCV and realsense camera?

The two links below are the main official RealSense OpenCV resources.
https://dev.intelrealsense.com/docs/opencv-wrapper
https://github.com/IntelRealSense/librealsense/blob/master/doc/stepbystep/getting_started_with_openCV.md
There are not OpenCV programming books for RealSense available, unfortunately.

Hi @junmoxiao11  Do you require further assistance with this case, please?  Thanks!

The conversion of 2D pixel coordinates to 3D world coordinates is described as deprojection.
Deprojection takes a 2D pixel location on a stream's images, as well as a depth, specified in meters, and maps it to a 3D point location within the stream's associated 3D coordinate space. It is provided by the RealSense SDK function rs2_deproject_pixel_to_point()

I would like to know the principle of the function rs2_deproject_pixel_to_point() and whether there is a corresponding formula or specification. Let me understand how it computes and transforms

Documentation for the rs2_deproject_pixel_to_point() function can be found here:
https://intelrealsense.github.io/librealsense/doxygen/rsutil_8h.html#a76529e2c7ee07143b043ecb6d82639f0
The source code in the RealSense SDK that performs the computation for the function is here:
https://github.com/IntelRealSense/librealsense/blob/5e73f7bb906a3cbec8ae43e888f182cc56c18692/include/librealsense2/rsutil.h#L46
Here are some examples of its use in pyrealsense2 scripts.
https://snyk.io/advisor/python/pyrealsense2/functions/pyrealsense2.rs2_deproject_pixel_to_point

Hi @junmoxiao11  Do you require further assistance with this case, please?  Thanks!

Hi @junmoxiao11 Do you require further assistance with this case, please? Thanks!

Yes, I still have a lot of questions to ask. Please do not close this case.

Okay, it's no problem at all to keep the case open.  Thanks very much for letting me know.

Can I crop a video shot with realsense camera?

The easiest way to reduce the height and width of a viewpoint is to use a lower resolution.
If you would prefer not to reduce the resolution and are going to be using OpenCV then you could try cropping the image with OpenCV code.
https://learnopencv.com/cropping-an-image-using-opencv/

It seems you misunderstood what I said about cropping.
I mean crop the length of the video. So that the video starts where I want it to start. Can the Realsense Viewer do this?

The video length here refers to the length of time.

Is there any software that can do this? Can process the video shot by the Realsense camera.

That kind of start-end cropping is usually only found in rosbag file editing tools for ROS, like the one at the link below.
https://github.com/alesof/rosbag2_editor

Hi @junmoxiao11  Do you require furher assistance with this case, please?  Thanks!

Case closed due to no further comments received.


Add setter and getter for extra_hw_frames

Added this because I need to use it :)

Thanks for the PR ❤
Let me know whether you need a tag 👍


Vite compatibility?

Is Tamagui compatible with Vite? As you know, Vite enables unbundled development (much faster than Webpack) and uses esbuild to transpile types (20-30x faster than tsc), and uses Rollup for production builds.

I’d like to use Tamagui with vite-plugin-ssr instead of NextJS (which is tied to Webpack…).
I see that you use Webpack and Babel currently.

Also, how do you bundle Tamagui for native? I’ve looked at the docs, but it doesn’t say anything about Expo / Metro procedure or compatibility.

Seems like Vite supports Babel:
https://github.com/vitejs/vite/discussions/1742
Through babel-plugin-macros.

The babel plugin doesn't do fancy CSS extraction. But tamagui is nicely sorted into packages, so actually the webpack loader mostly shares code nicely with babel plugin for example. It should be well set up to try and adapt to Vite if they do have a plugin system for extracting CSS.

Seems like Vite already extracts CSS without a plugin:

Vite automatically extracts the CSS used by modules in an async chunk and generates a separate file for it.
https://vitejs.dev/guide/features.html#css-code-splitting

With respect to SSR, maybe this can help:
https://github.com/vitejs/vite/issues/1883
Vite.js & Rollup plugin for generating critical (above-the-fold) CSS:
https://github.com/nystudio107/rollup-plugin-critical
What do you think?

If someone starts PR happy to help, probably wont prioritize for a while.

@redbar0n Are you working on it or planning to do? If not I'm consindering trying to implement it. But it might take a while until I find the time to do it.

@jsfroth no, I don’t have the capacity at the moment. It’d be awesome if you would start a branch and invite people to join in the work on it.

FWIW, I’m also keeping an eye on Bun as an alternative to Vite:
https://betterprogramming.pub/is-bun-the-next-big-thing-after-webpack-d683441f77b9
There’s quite a bit of development in the field these days. NextJS (Vercel) having hired the Webpack maintainer, presumably to improve performance, as well.


Create da.po

First danish translation for Vim

Codecov Report

Merging #3073 into master will increase coverage by <.01%.
The diff coverage is n/a.

@@            Coverage Diff             @@
##           master    #3073      +/-   ##
==========================================
+ Coverage   76.03%   76.03%   +<.01%
==========================================
  Files          92       92
  Lines      135741   135740       -1
==========================================
+ Hits       103214   103215       +1
+ Misses      32527    32525       -2

Impacted Files
Coverage Δ

src/gui_beval.c
62.39% <0%> (-0.43%)
:arrow_down:

src/if_xcmdsrv.c
84.17% <0%> (-0.36%)
:arrow_down:

src/channel.c
83.09% <0%> (-0.08%)
:arrow_down:

src/window.c
82.17% <0%> (-0.04%)
:arrow_down:

src/if_py_both.h
76.59% <0%> (-0.01%)
:arrow_down:

src/gui_gtk_x11.c
48.13% <0%> (+0.04%)
:arrow_up:

src/undo.c
83.18% <0%> (+0.06%)
:arrow_up:

src/os_unix.c
57.6% <0%> (+0.13%)
:arrow_up:

src/gui.c
49.71% <0%> (+0.15%)
: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 04958cb...033c13a. Read the comment docs.


[Bug]问下修改什么环境能够默认关闭midjourney图像代理，我默认开启会报如下错误： {"error":true,"msg":"empty access code"}

Describe the bug
问下修改什么环境能够默认关闭midjourney图像代理，我默认开启会报如下错误：
{"error":true,"msg":"empty access code"}

To Reproduce
Steps to reproduce the behavior:

Go to '...'
Click on '....'
Scroll down to '....'
See error

Expected behavior
A clear and concise description of what you expected to happen.
Screenshots
If applicable, add screenshots to help explain your problem.
Deployment

[ ] Docker
[ ] Vercel
[ ] Server

Desktop (please complete the following information):

OS: [e.g. iOS]
Browser [e.g. chrome, safari]
Version [e.g. 22]

Smartphone (please complete the following information):

Device: [e.g. iPhone6]
OS: [e.g. iOS8.1]
Browser [e.g. stock browser, safari]
Version [e.g. 22]

Additional Logs
Add any logs about the problem here.

当你身处可以直接访问 cdn.discordapp.com的环境

请更新至V3.0.x


README - Invitation Link Expired & Icon broken

There are several Issues in the Readme.

[ ] Invitation-Link to Discord-Server is expired

[ ] Icon with Link to the Server is broken

Fixed!


Merge pull request #6281 from thalbern/user/bethalha/fix_nuget_doc

fixed missing word in nuget advantages and some style guide violations

/azp run

Assuming this merge auto-runs the docs pipeline, we'll have to keep an eye on it and see if it goes into the unexpected folder like last time

Yep, it went into leases/2.1.0 instead of releases/2.1.0
https://github.com/microsoft/MixedRealityToolkit-Unity/tree/gh-pages/version/leases/2.1.0


Track Watcher Events in Slider Component

From the community see this the user has requested for TouchDown and TouchUp events for the component.
About the PR
This PR adds the two new events StartTracking and StopTracking in the Slider component.
StartTracking

Description: Event raised when the user has started a touch gesture (TouchDown Event) on Slider.
StopTracking

Description: Event raised when the user has stoped a touch gesture (TouchUp Event) on Slider.

Can one of the admins verify this patch?

The names "TouchUp" and TouchDown looks more descriptive than "StartTracking" and Stop tracking, so maybe you should consider renaming them.


unify:0.7.0

I am submitting

[ ] a new package
[x] an update for a package

Changes:

added option to add units at runtime (finally!)
added new per mode (inline units, e.g. m/s)
smaller fixes

Thanks!


fix(runtime-core): fix missed updates when passing text vnode to

fix #8298
The issue occurs when cloned initially had patchFlag === PatchFlags.TEXT, so
1 << 1 | -2 = -2
1 << 2 | -2 = -2
1 << 3 | -2 = -2
etc...

But with PatchFlags.TEXT = 1
1 | -2 = -1

And patchFlag becomes -1 and then patchFlag is basically PatchFlags.HOISTED, so it loses render patches
https://github.com/vuejs/core/blob/a374d7e6ed973cde7fae36ee82618cf46a8ba68a/packages/shared/src/patchFlags.ts#L104-L107

Would it be possible to add a test?

@auvred is it possible to add a test please?

Sorry for delay, I added test