MTU issue with IPIP and host-networking

The problem: When using Calico on Kubernetes with some host-networking pods, the Linux MTU cache results in unreachability.
This is due to IP masquerading when accessing destinations outside the ClusterCIDR, along with services running in host networking.
Setup Details:
Consider a Kubernetes cluster running Calico. Accordingly, the Calico daemon is running on every node and configures the calico device (tunl0) with an IP within that node's PodCIDR. PodCIDRs are chosen from the ClusterCIDR of <IP_ADDRESS>/16.
Because Calico uses ip-in-ip encapsulation, all of the pods (and the tunl0 interface) have an MTU of 1480.

Host A (<IP_ADDRESS>) is a Kubernetes node. The calico daemon has set up the tunnel and given it a Calico IP of <IP_ADDRESS>

Pod A1 is on host networking, so has a PodIP of <IP_ADDRESS>
Pod A2 has a Calico IP, so has a PodIP of <IP_ADDRESS>

Host B (<IP_ADDRESS>) has a single pod:

Pod B1 uses Calico, an has a PodIP of <IP_ADDRESS>

The problem:

Pod B1 opens a connection to pod A1 (on host networking). A TCP SYN is sent to <IP_ADDRESS>, the HostIP of host A with an MSS of 1460 (the pod's eth0 MTU of 1480 less TCP overhead).
Host B masquerades the source IP, using the outgoing interface <IP_ADDRESS>
Host A sees a SYN from <IP_ADDRESS> with a TCP MSS of 1460. It stores 1480 in its route cache's MTU field for <IP_ADDRESS>. The connection proceeds normally, and is closed.
Pod B1 opens a connection to pod A2. A SYN is sent to <IP_ADDRESS>, and the connection is established over the ipip tunnel.
A2 tries to send a large response, and it is broken in to 1480 byte packets. The DF bit is set, since this is TCP. The packet leaves the pod and goes to the host.
Host A tries to encapsulate the packet, adding 20 bytes of overhead.
The packet, now 1500 bytes, is too large to be sent to its destination IP of <IP_ADDRESS> and is dropped. Linux does not generate an ICMP "Packet too big" message.

In other words, packets over 1460 bytes in size will be silently dropped for all pods between A and B.

I solved this by lowering calico's MTU -
calicoctl config set --raw=felix IpInIpMtu 1450

@squeed I guess that's why default Calico manifest uses 1440 for IPIP MTU.
https://github.com/projectcalico/calico/blob/master/v3.0/getting-started/kubernetes/installation/hosted/kubeadm/1.7/calico.yaml#L230-L232
I'm taking v3.0 calico.yaml spec as an example. Wish there's document somewhere stating why the settings, otherwise might be hitting the issue of yours.

It doesn't matter what the mtu is, because whatever value the pods have will be stored in the hosts' cache, for that host.
As an experiment, I set the pod's MTU to be 1460, while the MTU of the tunl0 was 1480. Because of the masquerading, the route cache used the lower value:
core@master1 ~ $ ip route get <IP_ADDRESS>
<IP_ADDRESS> dev ens3 src <IP_ADDRESS> uid 500
    cache expires 323sec mtu 1460

Both of IPs are on normal 1500 byte interfaces. The mtu cache "should" show 1500.

The problem is more subtle; it is managing PMTU correctly. The problem is that the same IP address (due to the masquerade) has a variable MTU. This compounds with its use as a tunnel endpoint.
I haven't tried disabling PMTU entirely. That might work, but it almost certainly causes more problems :-)

@squeed What kernel version you were using when you were testing this?  I've been trying a bit to reproduce what you were seeing and have not been able to yet.  I attempted to check out the mtu cache values like you showed and was unable to.  After some googling to figure out why I could not get any mtu cache output I looked at the ip-route man page which shows Starting with Linux kernel version 3.6, there is no routing cache for IPv4 anymore. (Hence my question about kernel version.)

@tmjd it was a recent kernel version, since I was running CoreOS stable. I don't have it off-hand. I'll spin up another cluster and try and repro.
So, recent Linux kernels don't have a route-cache, that's true (they just have an efficient prefix-tree). However, they do maintain something called the "exception cache," where they store things like MTU overrides. So we're still hitting that path.

Is there anything special you did to get cache output from ip route get...? I've tried both coreos (1576.4.0) and Ubuntu 16.04 and both produce output like the following when using the commands you were suggesting.
core@k8s-node-02 ~ $ ip route get <IP_ADDRESS>
<IP_ADDRESS> dev eth1 src <IP_ADDRESS> uid 500
    cache

I've also tried using netstat -eCr and get no cache information. (I've also tried the commands using sudo in case it was a permsissions issue.)
What is your testing environment? So far I've tried in GCE using Ubuntu and a local Vagrant setup with Coreos.

ip route <dest> will only show mtu if there is an exception for that individual destination.
My testing environment is the CoreOS tectonic installer running on a few virtualbox machines. Nothing particularly special.

I came across this post when solving a recent AWS+CoreOS+k8s issue. This sounded like a different, Calico-specific issue. But now @squeed mentions CoreOS, then this could be related to my issue, which I documented and resolved over on the most excellent kube-aws project. Although I focus on the VPC-level issues, I also noticed it cause Calico and Flannel to have mismatches configurations also.
https://github.com/kubernetes-incubator/kube-aws/issues/1349

CoreOS 1745.3.1 and 1745.4.0 include a networkd bug that causes problems for clusters with mixed instance types (e.g. T2 and M3/4/5). This is fixed in 1745.5.0 (stable).
All the 'current' AWS instance types support jumbo frames (MTU = 9001). This is set via DHCP, however the networkd in these CoreOS versions fails to do that. This leaves the instances with their default MTU. While T2 instance support MTU=9001 they appear to default to MTU=1500. This leaves you with different nodes in the cluster with different MTUs.
Clients of TCP load balancers will get PMTU errors where they will think the PMTU is 8951 or 1500 when it is actually 1450. You'll tend to get MTU hangs or disconnections if connections heads to T2 worker nodes due to the incorrect MTU.
If you have T2 nodes for your control plane, if you upgrade to this versions (1745.3.1 and 1745.4.0) you'll likely see all your workers go to 'NotReady' and appear to stop reporting state to controllers via the API load balancer. In reality the controller MTU has suddenly gone from 9001 to 1500, and it takes a while for the load balancer and worker nodes to work this out. In my experience the workers should recover in about 10 minutes.

In my cluster I'm trying to figure how to set different MTU for different nodes with calico in CNI config. Is there a way to do that at all?

@whereisaaron @dimm0 this issue isn't not about the MTU of the underlying interface (though that is an interesting problem). This is specifically about the design of calico causing inconsistent MTU caching and unreachability within the overlay network. I do want to make sure this particular issue doesn't become a dumping ground for all kinds of MTU weirdness.

Some other ppl are thinking that's the same issue I'm having (https://github.com/projectcalico/calico/issues/2026), but yeah, I agree

@squeed Could u try to recreate this issue with latest CoreOS-stable.
I tried with the following version but could not reproduce the scenario where hostA sets a mtu of 1460 for hostB in the route "cache"
$ cat /etc/lsb-release
DISTRIB_ID="Container Linux by CoreOS"
DISTRIB_RELEASE=1745.6.0
DISTRIB_CODENAME="Rhyolite"
DISTRIB_DESCRIPTION="Container Linux by CoreOS 1745.6.0 (Rhyolite)"
core@k8s-master ~ $ uname -r
4.14.48-coreos-r1

I've just run into the same issue. It seems that starting Kubernetes Nginx Ingress Controller in network=host mode causes the same problems. In my case lowering tunl0 MTU from 1440 to 1300 did the job and solved the problem.

In case somebody wanna to reproduce the bug. I've deployed my Kubernetes cluster on Scaleway's Fedora 28 with the latest Kubespray. Then I deployed ingress controller using Helm Chart (https://github.com/kubernetes/charts/tree/master/stable/nginx-ingress) and controller.hostNetwork option set to true.

@hekonsek I am also facing this intermittent problem in a 12 node prod cluster. Coredns is working but ingress controller and dashboard cant talk to Kubernetes svc. I didnt face this issue in small cluster of 4nodes.  I will try changing the mtu and see if it works.

@hekonsek : I'm having the same issues with a similar setup: 1+3 node cluster on top of wireguard VPN using calico cni. k8s version is 1.11 installed with kubeadm. All nodes run Debian Stretch.
I've managed to reproduce it by making a packet capture and in wireshark, I "followed" the TCP stream and saw the size of the data. In my case it is 1868.
Any response (reuqest??) with 1868 bytes or more cause gateway timeout on ingress-nginx.
To reproduce it in my case, I saved the wireshark data and used curl
curl -X POST --data @1867-bytes-of-data-work.log https://test-svc.example.com -- this works
curl -X POST --data @1868-bytes-of-data-fail.log https://test-svc.example.com -- this fails
I'm kind of a noob in networking area so my question is how can I determine the proper MTU value in my case, when I tunnel traffic also via wireguard VPN. I've found [1] that talks about similar issues.
A second point that I would like to raise is that this issue should be mentioned in the Calico documentation (faq or installation).
This is how my interfaces look like: I have different MTU values for wireguard, calico and tunnel.
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
3: wg0: <POINTOPOINT,NOARP,UP,LOWER_UP> mtu 1420 qdisc noqueue state UNKNOWN group default qlen 1
4: docker0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc noqueue state DOWN group default
5: cali9cafa0a893e@if3: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default
6: tunl0@NONE: <NOARP,UP,LOWER_UP> mtu 1440 qdisc noqueue state UNKNOWN group default qlen 1
    link/ipip <IP_ADDRESS> brd <IP_ADDRESS>
    inet <IP_ADDRESS>/32 brd <IP_ADDRESS> scope global tunl0
7: caliad17b2e6582@if4: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default
9: califcc50f7010f@if4: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default

[1] https://github.com/StreisandEffect/streisand/issues/1089

We are facing the same issues. Any update about this?

I believe this series of kernel changes will fix this<EMAIL_ADDRESS>

In my case, running ip route flush cache on the machine that drops the packets solved it temporarily. After a day the problem seems to get back.

any update for this issue? i ran into similar problem at vms with running calico-node in pod not ready that looks like
...
 Warning  Unhealthy  20s (x382 over 63m)  kubelet, k-node-master  (combined from similar events): Readiness probe failed: Threshold time for bird readiness check:  30s
calico/node is not ready: BIRD is not ready: BGP not established with 10.246.*.12,10.246.*.132020-12-16 02:15:33.430 [INFO][5396] readiness.go 88: Number of node(s) with BGP peering established = 0
...

@Davidrjx try execute
sudo ufw allow 179/tcp comment "Calico networking (BGP)"

I've just run into the same issue. I think this is a common problem between nat and MTU.
I draw a picture to show that IP MTU is changed to be lower than the interface MTU.

I've just run into the same issue. I think this is a common problem between nat and MTU when the link has big packets between two different MTU.
I draw a picture to show that IP MTU is changed to be lower than the interface MTU.

This command seemly solved it in my scenarios
ip r  add  `Alice` via `GW` MTU lock 1500

I  set  tunl0  and veth mtu  1480 , and  host device  mtu 1500 ,,  some day ,  network link change , send need frag mtu 1330 ICMP error ,   and /proc/sys/net/ipv4/ip_no_pmtu_disc = 0
route cache has been update .....
<IP_ADDRESS> via <IP_ADDRESS> dev bond0.114 src <IP_ADDRESS>
cache expires 597sec mtu 1330
but  tunl0 ipip route not update ....
<IP_ADDRESS> via <IP_ADDRESS> dev tunl0 src <IP_ADDRESS>
cache expires 455sec mtu 1480
then container also send  package with mtu 1480,  big package will drop .......
I change tunl0  attr  pmtudisc  ,, with  ip tunnel change tunl0 mode ipip pmtudisc
then  tunl0 ipip route update
<IP_ADDRESS> via <IP_ADDRESS> dev tunl0 src <IP_ADDRESS>
cache expires 455sec mtu 1310
why not calico not set pmtudisc when setup ipip devices ?


How to detect if Topshelf is running in console mode

Is there a way when running the exe file from the Command Line (i.e. without 'install' command) to check from TopShelf that it is running in Console mode?
Refer to my original SO questions here: http://stackoverflow.com/q/28740658/161094

Replied, a cast check is the easiest solution without code changes.

Ok, but can you tell me what I should cast check please? I couldn't figure out anything that might give me an indication.
Thanks

Look at the SO question, I replied with a code sample.

Ok Chris, I saw it. Many thanks.
Brian
Sent from my Windows Phone

From: Chris<EMAIL_ADDRESS>Sent: 01/05/2015 15:05
To<EMAIL_ADDRESS>Cc<EMAIL_ADDRESS>Subject: Re: [Topshelf] How to detect if Topshelf is running in console mode (#229)
Look at the SO question, I replied with a code sample.

Reply to this email directly or view it on GitHub:
https://github.com/Topshelf/Topshelf/issues/229#issuecomment-98140756


[DO NOT MERGE] Check environment variables in Swift-CI

Checking the configuration of Swift-CI to make sure it's compatible with XCTestScaffold.

@swift-ci please test


Github Enterprise oauth login

We encountered an issue when integrating with Github Enterprise since our organization has a policy to allow access only to logged in users. There is currently no method to supply credentials, example, oauth. It would be great if this scenario could be supported.

Could you provide a more explicit example of your goal?  When you say access to logged users you mean all your repositories are either private or internal?

All our repositories are only published to logged in users. So our definition of "public" is private. Unless we authenticate to Github, there can be no "viewing" the repository.

Then check if my gist might help
https://gist.github.com/v-rosa/aa9c8afd44d66c3a81b9920a1bc90e42
Currently I've changed the SSM parameter store to Secret Manager, but the overall concept it's the same.
In my case was to allow the usage of private terraform modules/repositories in AFT pipelines


Changes in woody biomass in buildings should be reflected in bio-footprint

As witnessed with John in this scenario.

I cannot reproduce this anymore... closing.


SOAPProviderBase cannot handle byte arrays

Describe the bug
http.cxf.SOAPProviderBase fails when attachment input contains bytes
Reporter
Gerrit/Richard van der Stel
Category
Use following Tags to categorize your bug report

Frank Framework

To Reproduce
Steps to reproduce the behavior:

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

Expected behavior
Read any binary data as binary data
Environment:

Application server: WebSphere 9
IAF Version: 7.6-RC1

Additional context
stacktrace.txt

Implement for 7.6 too


Should update cert in agents when cert changes

Environment info

NooBaa Version: 5
Platform: All

Actual behavior

When we update the NooBaa cert, we restart webserver and s3rver
As a result of the webserver restart, the nodes_monitor would also restart which would cause all agents to reconnect to it.
Upon the new connection, we would call _run which will call _update_node_service

During this flow, we check if location or s3 gw on the node was changed, if yes we update the node with the server's cert, if not we don't.
const service_enabled_not_changed = (item.node.enabled && should_enable) || (!item.node.enabled && !should_enable);
        const location_info_not_changed = _.isEqual(item.agent_info.location_info, location_info);
        if (service_enabled_not_changed && location_info_not_changed) {
            return;
        }

Expected behavior

We should also update the node cert if the server cert was updated

Steps to reproduce

Create k8s agents
Update server cert

As of the separation of endpoints from storage agents, this bug is not relevant anymore


[Web Export] LinkError: imported function 'env.__addtf3' signature mismatch

I'm on a Linux (Ubuntu 22.04) system and I have done the following to test out your game!
git clone https://github.com/kiwijuice56/sand-slide.git
cd sand-slide
git submodule update --init
scons
scons platform=web

In Godot 4.3, everything loads and no errors are printed to the output. In the sand-slide/game/bin/fallingsand folder, I have:

fallingsand.gdextension
libgdfallingsand.linux.template_debug.x86_64.so
libgdfallingsand.web.template_debug.wasm32.wasm

Exporting the game to release/web_build/index.html (default settings as you have left it) and then running the game with the "Remote Debug" button on the top-right will give the error in the browser console:
LinkError: imported function 'env.__addtf3' signature mismatch

Am I missing any steps to compile and run on the web?

Thanks for the report, I've been having this issue as well. You followed all of the steps correctly; The only solution I have right now is to use Godot 4.2.2 stable and possibly switch to an older sand-slide commit if the process of downgrading to 4.2.2 doesn't go smoothly. I haven't been able to debug why this occurs, as Emscripten gives very little information on what went wrong during the WASM compilation. I've tried every Godot 4.3 snapshot as well as older versions of Emscripten and they all seem to have the same error.

Ah, that's a shame, but thanks for letting me know! Very cool game btw! (I'm surprised megido did not overload my computer XD)


Error on login attempt with wrong password

Try login with test
Enter wrong password.
You get an error: Reads "can't access property "getResponseMessage", e is undefined".

I suspect this is the same reason as #481, giving an "unauthenticated" error which triggers a log out, which fails because you aren't logged in. However I don't know why you then get that error, we don't call that function anywhere.

I suspect this is the same reason as #481, giving an "unauthenticated" error which triggers a log out, which fails because you aren't logged in. However I don't know why you then get that error, we don't call that function anywhere.

https://github.com/Couchers-org/couchers/blob/34cf62f4cd3d7dc75d0fd0717e78effe0d7b8d5d/app/backend/src/couchers/servicers/auth.py#L344 Errors in this function should be NOT_FOUND or something else

https://github.com/Couchers-org/couchers/blob/34cf62f4cd3d7dc75d0fd0717e78effe0d7b8d5d/app/backend/src/couchers/servicers/auth.py#L344 Errors in this function should be NOT_FOUND or something else

When I try to login with test, I get invalid username/password. Could you add more steps to reproduce?

When I try to login with test, I get invalid username/password. Could you add more steps to reproduce?

Brief googling tells me this is probably a frontend problem
https://www.google.com/search?q=can't+access+property+e+is+undefined&oq=can't+access+property+e+is+undefined&aqs=chrome..69i57j0i22i30l4.8719j1j7&sourceid=chrome&ie=UTF-8

Brief googling tells me this is probably a frontend problem
https://www.google.com/search?q=can't+access+property+e+is+undefined&oq=can't+access+property+e+is+undefined&aqs=chrome..69i57j0i22i30l4.8719j1j7&sourceid=chrome&ie=UTF-8

Yes and no, there's two issues.
The first is the frontend treats the UNAUTHENTICATED error code to mean a user has tried to access something without being logged in. Since the login session uses secure cookies which can't be access in JS, we just have a variable isAuthenticated which is set to true on login and false on log out. However the cookie might expire, or the backend might log us out, so next time we try to make an API call, we get UNAUTHENTICATED, so we know to set isAuthenticated to false. This happens in an API interceptor. .
So that error code is not really relevant for an incorrect password, because it's a kind of failure rather than trying to access something without being logged in, if that makes sense.
The other problem is what the error message says, which is a frontend problem. But I think it's a gRPC library issue or related to how interceptors, because our code doesn't call getResponseMethod anywhere. And changing the above issue should fix this bug anyway.

Yes and no, there's two issues.
The first is the frontend treats the UNAUTHENTICATED error code to mean a user has tried to access something without being logged in. Since the login session uses secure cookies which can't be access in JS, we just have a variable isAuthenticated which is set to true on login and false on log out. However the cookie might expire, or the backend might log us out, so next time we try to make an API call, we get UNAUTHENTICATED, so we know to set isAuthenticated to false. This happens in an API interceptor. .
So that error code is not really relevant for an incorrect password, because it's a kind of failure rather than trying to access something without being logged in, if that makes sense.
The other problem is what the error message says, which is a frontend problem. But I think it's a gRPC library issue or related to how interceptors, because our code doesn't call getResponseMethod anywhere. And changing the above issue should fix this bug anyway.

@ShmuelTreiger: this is on the new react frontend https://develop--frontend.preview.coucher.org/

@ShmuelTreiger: this is on the new react frontend https://develop--frontend.preview.coucher.org/

@aapeliv I see it now, thought something's changed because the message is slightly different

@lucaslcode I understand everything about the unauthenticated vs not found, but I don't understand why that would cause the front end to display this error message. In any event, it should be fixed soon enough if it's actually caused by the same bug.

@ShmuelTreiger I figured it out! It's my fault. On this line, I forgot to await the service call, which is asynchronous.
You can put that in your PR too if  you want, or I can do it later. Just change that line to
await service.user.logout();

Either way, up to you

Maybe put it in then, since it's part of this issue

Is this closed @lucaslcode?

Closed in #534


#7 change the error from redis to dicedb

Changed the error message prefix from "redis" to "diceDB" when trying to fetch a non-existent key.
the PR: #7

it seems like we should do this on the sdk side.

it seems like we should do this on the sdk side.

Yes, this needs to be fixed on the SDK. @Pratham-B-Parlecha feel free to raise a fix for this on the dicedb/dicedb-go repository.


Added Support for the Adafruit TLC5947 24-Channel PWM Driver

Added Support for the Adafruit TLC5947 24-Channel PWM Driver

Thank you :) I'm checking it!

Manually merged! :) thanks a lot!

Please @balzreber can you try using the firmware version from the repository and see if it works for you? :) it should..

@astagi I'm not sure if you want me to rebranch and recreate the pull-request with the git repo, because I used the pipy files. Although as far as I can see, you manually merged all the files into the repo. Not sure if I'm wrong here? Or did you ask me just for testing purposes?
BTW: Thanks again for your help. I would not be able to push my project as far as I have, without nanpy ;-)

@balzreber no PR has been merged and nanpy 0.9.5 released :) I asked you to try the firmware now just for testing purpose.. Now the new firmware is on pypi, if you have the chance to test it let me know if it works :) https://pypi.python.org/packages/source/n/nanpy/nanpy-firmware-0.9.5.tar.gz#md5=97d1c1b0f65c60d8e0d9ed3518446e9c
Glad that Nanpy helped you to reach your goal :)

@astagi just tested 0.9.5. works like a charm ;-)

oh yeah nice to know :) thank you @balzreber !

Oh @balzreber please send me another PR both on nanpy and nanpy-firmware and add yourself to CONTRIBUTORS file! :)


Export command

Add a new command export, which will generate a file with information of selected contacts.
Add ExportCommand and ExportCommandParser class
Add JUnit test for newly added classes
Usage: export [INDEX LIST] ; [FILE PATH]

index list should be a series of numbers separated by "," or space
file path can be either absolute path or relative path
two parts should be separated by semicolon ";"

The command has some bugs now and may consider merge this PR later.
You can try it if interested. Export Command

Coverage increased (+0.8%) to 91.682% when pulling 8210a7c7b05fbb055cf26db2dc6623a2ea8f21d8 on HanYaodong:feature-export-cmd into ff131fd87cc2f7c9aed7ad919d13053d051e5a84 on CS2103AUG2017-F11-B4:master.

Coverage increased (+1.08%) to 91.94% when pulling 426d2e07a1bf49d9e75486184974ee31a88409cf on HanYaodong:feature-export-cmd into ff131fd87cc2f7c9aed7ad919d13053d051e5a84 on CS2103AUG2017-F11-B4:master.

This PR is now stable and ready for merge. You can fetch it from my repo if you want to try it first.
HanYaodong/feature-export-cmd
Further improvement and refinement are still needed.


How to define a saddle objective function ?

Hi there,
I am trying to implement the adam for a saddle function like the one drawn using : https://commons.wikimedia.org/wiki/File:Saddle_point.svg   . I am having trouble translating this 3-d function as an objective for your framework. Could you please help out with this ?

Sure, I couldn't get to the link you posted, though.
On Fri, Mar 10, 2017 at 11:24 PM Kshitij Tiwari<EMAIL_ADDRESS>wrote:

Hi there,
I am trying to implement the adam for a saddle function like the one drawn
using : https://commons.wikimedia.org/wiki/File:Saddle_point.svg
http://url. I am having trouble translating this 3-d function as an
objective for your framework. Could you please help out with this ?
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/CalebEverett/pysgd/issues/1, or mute the thread
https://github.com/notifications/unsubscribe-auth/AIiGQ214i_3mCNNtrJV0IF3xP7rlEIvJks5rkkwggaJpZM4MaITu
.

I think you can copy-paste the link manually then it works. Directly clicking doesnt open it for some reason.

It looks like the Saddle Function is z = x2 - y2 so you could add a new
gradient and cost function module that mirrors the form of
https://github.com/CalebEverett/pysgd/blob/master/pysgd/objectives/stab_tang.py
.
But, without knowing your use case, that function doesn't really have any
minima, so it won't converge.
On Sun, Mar 12, 2017 at 7:40 PM, Kshitij Tiwari<EMAIL_ADDRESS>wrote:

I think you can copy-paste the link manually then it works. Directly
clicking doesnt open it for some reason.
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/CalebEverett/pysgd/issues/1#issuecomment-286002649,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AIiGQ9NtCmeljjG3kT-fWWQOQWCTGGlYks5rlKyCgaJpZM4MaITu
.

Yeah I was trying to add this saddle function to the objective functions folder but I am having trouble understanding what is the format of the grad_fun and cost_fun. I mean the elements of grad_fun for saddle function should be {derivative with respect to x, derivative with respect to y,derivative with respect to z } but in your case you have a ZERO and a theta in the list which confuses me. Also in the cost function, everything is in terms of theta so in saddle function case, theta = [x,y,z] and the objective is still defined in terms of theta ?
What I want to try is to see if Adam or Adagrad get stuck in a loop in this saddle function since there is no minima. Theretically, they should not diverge but this is what I wanted to see that is why I want to add this new objective function.


Use inline styles for progress bar, ref #643

@mtribone For whatever reason, Bootstrap needs inline styes here in order for the progress bar to show.

Turds. Silly Bootstrap. I'll look away and hit the green button.


update Kubernetes docs for operations

Update docs with some notes about Kubernetes operations

Using kubectl to interact with clusters
Sshing into a node and debugging with system tools
Draining and replacing problematic nodes

@izakp this is super useful, thanks for this. commented inline!

Thanks for the detailed feedback @dleve123 - sorry I lost this thread but made your suggested changes and merging.


UAT | Home Screen

Some stages in Capital and some in lowercase.
Expected behaviour:
First letter in Uppercase. Rest in lowercase in Stage column

Development Tasks

[ ] Outcome Master has been updated with standard text format
[ ] First letter in Uppercase. Rest in lowercase in Stage column

Hi @devarajd94 @Taherabharmal,
Descriptions: On the home screen for all users, the values in the 'Stage' and 'Outcome' columns should follow a standard format: the first letter should be uppercase, and the rest of the letters should be lowercase. (Solution dev Environment)
Citizen URL: https://dristi-kerala-dev.pucar.org/digit-ui/citizen/dristi/home/login
Employee URL: https://dristi-kerala-dev.pucar.org/digit-ui/employee/user/language-selection
Testcases:
1)Verify the Judge's home screen for different case statuses such as "All," "Ongoing," "Registered," and "Closed." Ensure that the "Stage" and "Outcome" columns display values in a standard format, with the first letter capitalized and the rest in lowercase.
2)Verify the FSO home screen for different case statuses such as "All". Ensure that the "Stage" columns display values in a standard format, with the first letter capitalized and the rest in lowercase.
3)Verify the Advocate home screen for different case statuses such as "All "and "Closed." Ensure that the "Stage" columns display values in a standard format, with the first letter capitalized and the rest in lowercase.
4)Verify the litigant home screen for different case statuses such as "All "and "Closed." Ensure that the "Stage" columns display values in a standard format, with the first letter capitalized and the rest in lowercase.
Reference link: Judge:https://jam.dev/c/adf73ed2-f5dc-4ad1-b6dd-8a96ddcabb3d
FSO:https://jam.dev/c/105e1e59-f917-40c5-b8dc-fa973fa1e87f
Employees user ids.: https://docs.google.com/spreadsheets/d/16X9l89-YwhojBw6bkiqj3mZhf_loQ7P5BPHsCYCVZbg/edit?gid=1553928310#gid=1553928310

Hi @Ramu-kandimalla ,kindly verify this:

Regarding_Some stages in Capital and some in lowercase.
Env.UAT
url: https://dristi-kerala-uat.pucar.org/digit-ui/employee/home/home-pending-task
reference link: https://jam.dev/c/ca2c37b9-9b37-4658-b9e9-56ab5e27b297

Hi @Taherabharmal  This issue is fixed please check and confirm


Regenerate the Citadel templates

This is to resolve doc issues due to missing Citadel yaml files in the released package.
Specifically:

istio-citadel-plugin-certs.yaml
istio-citadel-standalone.yaml
istio-citadel-with-health-check.yaml

The PR adds back the templates and re-generates them upon running the updateVersion.sh so that it will be included in the next release.
Can replace #6961 in fixing #6922.
Fixes https://github.com/istio/istio.github.io/issues/1836

[APPROVALNOTIFIER] This PR is NOT APPROVED
This pull-request has been approved by: ymesika
To fully approve this pull request, please assign additional approvers.
We suggest the following additional approver: andraxylia
Assign the PR to them by writing /assign @andraxylia in a comment when ready.
The full list of commands accepted by this bot can be found here.
The pull request process is described here

Needs approval from an approver in each of these files:

install/OWNERS

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment


Runs, but won't play music from  /usr/local/bin/

Hi!  I can't get Kaku to play music when installed in /usr/local/bin/ (root owner), "Kaku file is 755 (-rwxr-xr-x) on Ubuntu 16.04
I'm trying to install it for all users (with a .desktop file)
Kaku opens and runs, but the video/music just gives the loading swirly image forever.
Any ideas what I can do?  Permissions to get this working?  It plays music fine if the user downloads and runs it directly.
Thanks!

Can't you put it in /opt ?

It won't play in /opt either.  Kaku opens and lists videos/songs, but they won't play.

In the next release, i'll release AppImage file and i hope this can fix problems you guys have :)

@tylerecouture here's a script for making .desktop file for Kaku: https://github.com/EragonJ/Kaku/issues/446

@SkyzohKey will this make it play videos from /opt or /usr/...  ?

@tylerecouture

Is there certain reason that you need to put that in that folder ?
If you put that to different folders, does Kaku still work like a charm ?

@EragonJ

I want to install in a computer lab of about 35 computers, I don't care at all where it installs to, as long as it's not in /home
The only place it seems to work (music/videos play) is if a user installs it  (i.e. plops it) somewhere in their home directory.  This is not feasible because I have hundreds of users and their home drives are networked.

I just want to be able to install it on each computer, so all users can use it, like any other standard piece of software.  I don't care where it goes.  Do you have a suggestion?

@tylerecouture I put Kaku in /opt/Kaku/ and it runs without any issues (the latest version from the website). Did you give correct permissions? What is in the shell? (ctrl +shift + i) on GNU/Linux.

@mimi89999 Kaku file is 755 (-rwxr-xr-x).  It runs, the program opens and I can search for music and pick songs to play, but no sound comes and no video appears.  I assume this is a permission issue with something somewhere, but no idea what file or where, something to do with the actual streaming.

Could you open the inspector?

Ctrl +Shift+i does nothing for me (Ubuntu 16.04) sorry.

Ctrl +Shift+i does nothing for me (Ubuntu 16.04) sorry.
If I run it from the command Line:
~$ /opt/Kaku-linux64/Kaku it ... works!  Does that mean there's something wrong with my .desktop file?

Here was the basci .desktop file I was testing with.  So if I just type Kaku from the launcher/search it would run the program and search songs etc, but not play them:

[Desktop Entry]
Version=1.0
Name=Kaku
Comment=Next generation music player
Exec=/opt/Kaku-linux64/Kaku
Icon=Kaku.png
Terminal=false
Type=Application
Categories=Utility;Application;

Apologies for all the messages as I try to figure this out.  If I change the desktop file so that Terminal=true Kaku works properly and the music/videos will play, but it also opens up a blank Terminal.  I'm not familiar enough with Linux to understand what's going on here, or why that's necessary.

@tylerecouture can you check whether you can run this binary from your shell ?
path would be - Kaku-linux64/Kaku/resources/app.asar.unpacked/node_modules/youtube-dl/bin/youtube-dl
This is the main thing that we use to help us play tracks.

I think that may be related to the permission issue ? Try to give it 777 and see whether you can play it without root permission ?

@tylerecouture You need to put:
Exec=/./opt/Kaku/Kaku
Also, you might have to wait for one minute before the song starts playing.

Just released 1.8.0 and I think AppImage format should fix all the problems that you guys have, if there is anything new showing up, feel free to open a new issue ! Thanks


urlebird generated videos in feed reader unable to play

Describe the bug
The videos that are generated by feed links from urlebird bridge don't play and show this error msg.
To Reproduce
Steps to reproduce the behavior:

Use this link to subscribe to the rss feed of user (russianlanguagefamily on tiktok) https://rss-bridge.snopyta.org/?action=display&bridge=Urlebird&query=%40russianlanguagefamily&format=Atom
In Feedbro feeds view, all the aggregated videos will not play and will show the aforementioned error.

Expected behavior
Videos play normally.
Desktop (please complete the following information):

OS: Latest Windows 10 Pro.
Browser: Firefox 92.0

Additional context

Didn't try on Chrome or any other browser other than Firefox.
I've like twenty or so other urlebird feed link in my rss feedbro reader and they all throw the same error with unplayable videos.
Thanks immensely for making this bridge.

@dotter-ak

@Marvinoo
Can't reproduce your issue.
FF 92.0, Feedbro 4.10.0 - everything plays without any errors.

Network failure i guess

I have the same problem too


StatusBarBackground and BottomBarBackground issues on Android Nougat

Reported on community: https://www.fusetools.com/community/forums/general/android_nougat_samsung_s8
Tested with Android 7 running on Samsung Galaxy S8. Use the pull-to-reload example for testing.
First issue: there is a double StatusBarBackground; the expected one, and another black one right below it:

Second issue: the BottomBarBackgound is weirdly transparent; if you switch to another application and then reopen the Fuse preview, the other app shines through the BottomBarBackground:

In Galaxy S8 Samsung switched the screen 16: 9 to 18.5: 9. When the app does not officially support this screen aspect, it has two black bars, one at the top and one at the bottom of the screen.
There is a configuration in the device that makes it possible to make an automatic correction: Settings -> Display -> Full Screen Apps
In app code fixe have some alternatives, in link have some explanations:
Https://android-developers.googleblog.com/2017/03/update-your-app-to-take-advantage-of.html?m=1
In Fuse this issue can be fixed with meta-data configuration in androidmanifest.xml, related in previous link.
To resolve I created a UXL file and put code:
<Extensions Backend="CPlusPlus">   <Require Condition="Android" AndroidManifest.ApplicationElement>     <![CDATA[         <meta-data android:name="android.max_aspect" android:value="2.1" />     ]]>   </Require> </Extensions>


juicefs panic in redis engine when inode is corrupted

The #3266 fix #3263, in which case the inode is lost. However, in another case that inode is corrupted (but still exist), juicefs will also panic.
backtrace:
panic: runtime error: slice bounds out of range [:19] with capacity 16

goroutine 1 [running]:
github.com/juicedata/juicefs/pkg/utils.(*Buffer).Get64(...)
        /home/hexi/src/juicefs/pkg/utils/buffer.go:118
github.com/juicedata/juicefs/pkg/meta.(*baseMeta).parseAttr(0x0?, {0xc000ad8060, 0xe, 0x10}, 0xc002cb5ef0)
        /home/hexi/src/juicefs/pkg/meta/base.go:576 +0x7df
github.com/juicedata/juicefs/pkg/meta.(*redisMeta).doLookup(0xc0002af270, {0x3286bc0?, 0xc0035a61c0}, 0xc0002bc0f0?, {0x47294b8, 0x1}, 0xc0020662c0, 0xc002cb5ef0)
        /home/hexi/src/juicefs/pkg/meta/redis.go:666 +0x6e9
github.com/juicedata/juicefs/pkg/meta.(*baseMeta).Lookup(0xc000079400, {0x3286bc0, 0xc0035a61c0}, 0x66ee8, {0x47294b8, 0x1}, 0xc0020662c0, 0xc002cb5ef0)
        /home/hexi/src/juicefs/pkg/meta/base.go:551 +0x446
github.com/juicedata/juicefs/pkg/vfs.(*VFS).Lookup(0xc0006e6000, {0x3287820?, 0xc0035a61c0}, 0x66ee8, {0x47294b8, 0x1})
        /home/hexi/src/juicefs/pkg/vfs/vfs.go:93 +0x265
github.com/juicedata/juicefs/pkg/fuse.(*fileSystem).Lookup(0xc000482c80, 0x235cf59?, 0xc00082c3d8, {0x47294b8, 0x1}, 0xc00082c348?)
        /home/hexi/src/juicefs/pkg/fuse/fuse.go:85 +0xc5
github.com/hanwen/go-fuse/v2/fuse.doLookup(0xc00082c240?, 0xc00082c240)
        /home/hexi/go/pkg/mod/github.com/juicedata/go-fuse/v2@v2.1.1-0.20221212033224-ed3172586347/fuse/opcode.go:342 +0x69
github.com/hanwen/go-fuse/v2/fuse.(*Server).handleRequest(0xc00081e160, 0xc00082c240)
        /home/hexi/go/pkg/mod/github.com/juicedata/go-fuse/v2@v2.1.1-0.20221212033224-ed3172586347/fuse/server.go:492 +0x1f3
github.com/hanwen/go-fuse/v2/fuse.(*Server).loop(0xc00081e160, 0xc8?)
        /home/hexi/go/pkg/mod/github.com/juicedata/go-fuse/v2@v2.1.1-0.20221212033224-ed3172586347/fuse/server.go:465 +0x108
github.com/hanwen/go-fuse/v2/fuse.(*Server).Serve(0xc00081e160)
        /home/hexi/go/pkg/mod/github.com/juicedata/go-fuse/v2@v2.1.1-0.20221212033224-ed3172586347/fuse/server.go:387 +0x35
github.com/juicedata/juicefs/pkg/fuse.Serve(0xc0006e6000, {0x0, 0x0}, 0x0)
        /home/hexi/src/juicefs/pkg/fuse/fuse.go:473 +0x5fe
github.com/juicedata/juicefs/cmd.mount_main(0xc0006e6000, 0x329e8d0?)
        /home/hexi/src/juicefs/cmd/mount_unix.go:182 +0x23e
github.com/juicedata/juicefs/cmd.mount(0xc000a8b1c0)
        /home/hexi/src/juicefs/cmd/mount.go:454 +0x7a8
github.com/urfave/cli/v2.(*Command).Run(0xc00083d7a0, 0xc000a8a740)
        /home/hexi/go/pkg/mod/github.com/urfave/cli/v2@v2.4.0/command.go:163 +0x5c8
github.com/urfave/cli/v2.(*App).RunContext(0xc000602820, {0x3273330?, 0xc0000560a0}, {0xc000a8a200, 0x4, 0x4})
        /home/hexi/go/pkg/mod/github.com/urfave/cli/v2@v2.4.0/app.go:313 +0xb36
github.com/urfave/cli/v2.(*App).Run(...)
        /home/hexi/go/pkg/mod/github.com/urfave/cli/v2@v2.4.0/app.go:224
github.com/juicedata/juicefs/cmd.Main({0xc000a8a080?, 0x4?, 0x4?})
        /home/hexi/src/juicefs/cmd/main.go:86 +0x258d
main.main()
        /home/hexi/src/juicefs/main.go:29 +0x2e

There are other places that may trigger panic, like: https://github.com/juicedata/juicefs/blob/main/pkg/meta/redis.go#L641
We need a general way to handle these conditions.

There are other places that may trigger panic, like: https://github.com/juicedata/juicefs/blob/main/pkg/meta/redis.go#L641 We need a general way to handle these conditions.

I think we should not rely on the general way (recover in huge scope), which fuzzes up error handling. The recover is the last handler, we still should use returned error instead of panic.


Support OpenTelemetry

Feature Description
Add support for sending otel traces from generated SDKs - like ElevenLabs, Zep and others

@nirga do you mean Zep here? Do you have thoughts on how the otel traces would look inside of the generated SDKs? Could pick TypeScript or Python as an example language. Would be helpful context to have here.

Yes! Autocorrect 🤦
Traces should follow standard semantic conventions. At a minimum, I'd expect a span to be opened on every API call. Potentially we can define that mapping of parameters -> attribute names in the schema or something.


DeprecationWarning: Implicit async custom validators (custom validators that take 2 arguments) are deprecated in mongoose >= 4.9.0

Hi,
I have been receiving this message when a validation process happens with mongoose-validator.
Using:
"mongodb": "2.2.25",
"mongoose": "4.9.4",
"mongoose-validator": "1.2.5",
The message always says:
See http://mongoosejs.com/docs/validation.html#async-custom-validators for more info

Thanks. I'll investigate - I don't suppose you happen to have a example of this happening I could use do you?

This happens for any situation with Mongoose  >= 4.9.0.
When you have time, check my PR, please.

PR merged and published to npm. Thanks for your contribution :)

You're welcome!


Pin a directory (exclude folder from upgrades)

This proposal is an extension of  Pin a package (#476) by @denelon.
Description of the new feature / enhancement
Users should be able to "pin" not only packages, but also directories (exclude folders from winget upgrade --all).
This can come in handy in many different scenarios, especially:

Preventing conflicts between multiple package managers (Scoop, Chocolatey, etc).
By pinning C:\choco or %PROGRAMDATA%\scoop winget upgrades will be disabled automagically for software installed through other means.

Preventing accidental upgrades within development environments.
By pinning C:\Dev developers can install their tools safely and not worry about accidental upgrades from winget. Developers can even install multiple versions of same program using winget itself, without conflicts!

Excluding entire game drives.
Games are installed and maintained through self-updating launchers (Steam, Epic, etc.). There are many reasons why users like to keep their game libraries, mods and launchers separate from the rest of their system. Those softwares are often installed on a dedicated game drive, physically separate from the rest of the system. Pinning a game drive, e.g. E:\ will automatically exclude all games and related software from unwanted updates and potential conflicts, including all future installs.

Proposed technical implementation details
The list of pinned packages and directories should be included in settings.json and should support the usage of default environment variables (%PROGRAMDATA%\scoop, %SYSTEMDRIVE%\MyApps, etc.) — making it easy to edit, export and import configuration.
When upgrade or list command is initiatied, Winget can simply check the settings file and either perform or not perform an action on certain packages by matching their name and containing directory against the list in settings.json. This can easily be achieved by an IF/ELSE expression.
Proposed commands

winget pin --directory "C:\MyApps" should exclude all applications installed into C:\MyApps and all of its subfolders from winget upgrade --all command.
winget unpin --directory "C:\MyApps" should unpin that directory, making all the applications installed into C:\MyApps and all of its subfolders upgradable using winget upgrade --all command.
winget list --pinned should list all pinned directories, plus packages that have explicitly been pinned using winget pin <package>. It should not list packages that haven't explicitly been pinned using winget pin <package>.

Remarks

winget [un]pin <package> should have prevalence over winget [un]pin --directory. Meaning that if an application has explicitly been (un)pinned using winget [un]pin <package>, it's pinned state should remain unchanged by pinning or unpinning it's containing directory.
If an application installed in a pinned directory is detected by winget list command, a user should still be able to update that particular application using winget upgrade <package> explicitly.

Example

User installs VSCode in C:\MyApps\VSCode manually (not using Winget).
User installs Firefox in C:\MyApps\Firefox using winget install firefox --location "C:\MyApps\Firefox".
winget upgrade --all upgrades both VSCode and Firefox.
User pins VSCode using winget pin vscode.
User pins C:\MyApps using winget pin --directory "C:\MyApps".
winget list --pinned lists:
C:\MyApps
Microsoft Visual Studio Code
winget upgrade --all upgrades neither VSCode nor Firefox.
User unpins C:\MyApps using winget unpin --directory "C:\MyApps".
winget list --pinned lists:
Microsoft Visual Studio Code
winget upgrade --all upgrades only Firefox.
winget upgrade vscode upgrades VSCode.

I'm not sure how viable this is as we need a way to reason about a directory which isn't necessarily part of the list of things WinGet reasons about. It's possible it could "detect" the registry entries that indicate a known "installed" package is in a particular directory, but it seems orthogonal to "pinning a package".
This seems more like the "exclude" mechanism that would apply to packages installed in directories. Maybe it's a nice to have kind of thing, but not necessarily "critical" path for pinning.

This seems more like the "exclude" mechanism that would apply to packages installed in directories. Maybe it's a nice to have kind of thing, but not necessarily "critical" path for pinning.

This is exactly what I was thinking. Winget knows the location of packages it is listing or upgrading. The list of pinned packages and directories can be included in settings.json. When list or upgrade command is initiatied, Winget can simply check the settings file and either perform or not perform an action on certain packages by matching their package name or containing directory against the list in settings.json.
A simple IF MATCH do nothing ELSE upgrade statement will do the trick.

after reading the whole proposal i have to say i really like this
just one thing, shouldn't it be winget [un]pin --directory  (two dashes before directory)?

after reading the whole proposal i have to say i really like this
just one thing, shouldn't it be winget [un]pin --directory (two dashes before directory)?
You are right, two hyphens make more sense in winget. I updated the OP. Thanks for the feedback.

Any chance this can be implemented in some fashion? I want to run "winget upgrade all" but there are some packages listed that simply must not be upgraded for compatibility purposes

#476 is in progress.


SQL Column Level Lineage Case Sensitivity

Describe the bug
The column level lineage for SQL table/views does not work when a column name contains uppercase characters.  Ingestion was from a Microsoft SQL Server db and had convert_urns_to_lowercase: true enabled to improve table level lineage.  However, still not seeing column level lineage matching when a column contains any uppercase characters.
Example View Code:
CREATE schema.view AS SELECT Source FROM schema.table
Checking in the metadata I see the following in the upstreamLineage aspect for this view:
{"downstreamType":"FIELD","confidenceScore":1.0,"downstreams":["urn:li:schemaField:(urn:li:dataset:(urn:li:dataPlatform:mssql,instance.db.schema.view,PROD),source)"],"upstreamType":"FIELD_SET","upstreams":["urn:li:schemaField:(urn:li:dataset:(urn:li:dataPlatform:mssql,instance.db.schema.table,PROD),source)"]},
However, the schemaMetadata for both the table and view have the field name in uppercase still, which seems to be the source of the lineage not showing.
To Reproduce
Steps to reproduce the behavior:

Create view which contains a column that includes an uppercase name.
Create SQL based ingestion with convert_urns_to_lowercase enabled.
Navigate to graph lineage page for the View and enable show columns

Expected behavior
Would be great if column level lineage can be shown even if a column name contains uppercase characters.
Screenshots
If applicable, add screenshots to help explain your problem.
Desktop (please complete the following information):

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

Additional context
This is based on the v<IP_ADDRESS> docker image for Datahub.

any updates / plans to address this?


Provide an option for showing only those event types which have been added to a release

Congrats on this nice project! In addition to seeing all the JFR event types available from a given Java version, it would also be very useful to be able to see which events have been added in a particular version.
One option for doing this might be to render a "filtered" page per Java version--only showing any new types--in addition to the page with all the event types of that version. Alternatively, a matrix view like the one in the JFR-Events project could be provided (which unfortunately hasn't been updated after Java 18).

This is a great idea and, at first glance, is easily implementable.


Can't pass tuple[T, ...] into Sequence[T] parameter when using strict mode

Initial Checks

[X] I confirm that I'm using Pydantic V2

Description
Pydantic raises validation error when you're trying to pass tuple into a sequence field when using strict=True, even though tuple is a sequence:
Traceback (most recent call last):
  File "test.py", line 12, in <module>
    Model(items=(1, 2, 3))
  File ".venv\Lib\site-packages\pydantic\main.py", line 164, in __init__
    __pydantic_self__.__pydantic_validator__.validate_python(data, self_instance=__pydantic_self__)
pydantic_core._pydantic_core.ValidationError: 1 validation error for Model
items
  Input should be a valid list [type=list_type, input_value=(1, 2, 3), input_type=tuple]
    For further information visit https://errors.pydantic.dev/2.5/v/list_type

This makes it pretty much impossible to use abstract types/collections with strict mode 🤔
Example Code
from collections.abc import Sequence

from pydantic import BaseModel, ConfigDict

class Model(BaseModel):
    model_config = ConfigDict(strict=True)

    items: Sequence[int]

Model(items=(1, 2, 3))

Python, Pydantic & OS Version
pydantic version: 2.5.1
pydantic-core version: 2.14.3
pydantic-core build: profile=release pgo=true
install path: .venv\Lib\site-packages\pydantic
python version: 3.11.5 (tags/v3.11.5:cce6ba9, Aug 24 2023, 14:38:34) [MSC v.1936 64 bit (AMD64)]
platform: Windows-10-10.0.19045-SP0
related packages: mypy-1.7.0 pydantic-settings-2.1.0 typing_extensions-4.8.0

At the same time passing a list into strict model works:
Model(items=[1, 2, 3])

@ThirVondukr,
This is expected behavior according to our Conversion Table in the docs: https://docs.pydantic.dev/latest/concepts/conversion_table/#__tabbed_1_1. See the rows with Sequence as the field type:

I am following up on this in a discussion here: https://github.com/pydantic/pydantic/discussions/8786


No unit tests to run

In the repo read me it says cd ./source/aws-connect-vm-serverless npm run test but there are no tests to run

I have the same problem:
$ npm run test

<EMAIL_ADDRESS>test /Users/elutsenko/Projects/AMZVoiceMail/source/aws-connect-vm-serverless
jest tests/*.test.js

No tests found, exiting with code 1
Run with --passWithNoTests to exit with code 0

Sorry for the delay here. Thank you for pointing this out! It looks like the test directory was not included when this was pushed to GitHub. I have some tests available locally. I will see why the tests werent pushed and add it in the next revision.

We have updated the solution to include the few unit tests we have (we plan to add more unit tests in the future)


Game crashing upon startup

My game is crashing upon startup giving these error messages
Starship.log
I've tried a few things including re-extracting the files, regenerating the otr, and running as administrator just in case but nothing seems to work.  Is there something I'm doing wrong?
Thanks!

Try to follow discord support instructions but its probably that it failed to load the main game otr, try installing vcredist and retry

Hey thanks! Instructions on discord did indeed help. I installed vcredist but hadn't restarted and once I did it worked.
Thanks again!


Update Getting Started with ASP.NET MVC 5 to VS 2017 #4557

Running PR to upgrade Getting Started with ASP.NET MVC 5 to VS 2017 per #4557

@Rick-Anderson this is done, let me know if there any additional changes

For IN  aspnet/mvc/overview/getting-started/introduction/getting-started/_static/image1.png use

!!! Totally didn't even think of all my projects there. Update done

Can you make  aspnet/mvc/overview/getting-started/introduction/getting-started/_static/image1.png look more like the original? Use paint to resize it down 50%.

image under project, and it's a good place to start your application.
image4.png
is too big. Can you use a smaller window? You can shoot it with the snipping tool - I'm going through the changes now. Really nice work.

under
the image below, the port number is 1234. When you run the application, you'll see a different port number.
image5.png is too big

Oops, accidental closure.

updated getting-started images

edit the big images in notepad and resize to 50%
some you can get away with that. For
image4.png (under The controller is open in the IDE.)  it would be nice to reshoot. Make VS much smaller and take the shot.

image4.png resize 50 %

image5.png resize 50%

adding a view.
image7.png -I'd crop that to show just the markup or just the solution explorer. Or resize to 40%

The rest of the images look great. Nice work.

updated all images

@isaac2004  fantastic work. Much appreciated.


feat(bullmq): allow setting custom jobs options when dispatching

Information

Type
Breaking change

Feature
No

Allow setting job options when dispatching a job
import {Service} from "@tsed/di";
import {JobDispatcher} from "@tsed/bullmq";
import {ExampleJob} from "./jobs/ExampleJob";

@Service()
class MyService {
  constructor(private readonly dispatcher: JobDispatcher) {}

  public async doingSomething() {
    await this.dispatcher.dispatch(ExampleJob, {msg: "this message is part of the payload for the job"}, {
      delay: 600_000 // 10 minutes in milliseconds
    });

    console.info("I just dispatched a job!");
  }
}

Todos

[X] Tests
[X] Coverage
[X] Example
[X] Documentation

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

v7.40.0
GitHub release

Your semantic-release bot :package::rocket:


Add path for DenseMatrix multiplication with SparseVector

Currently when multiplying a DenseMatrix with a Vector there is a path to a ILinearAlgebraProvider when the multiplicand and the result are both DenseVector, otherwise we fall back to a base implementation:
https://github.com/mathnet/mathnet-numerics/blob/4b13ff4a5e7014997075df34a84d61f10bdd27b3/src/Numerics/LinearAlgebra/Double/Matrix.cs#L158-L169
When rightSide is a SparseVector then rightSide[j] is a binary search on the sparse indices. We can instead just iterate the sparse indices as the column indices, similar to the DiagonalMatrix path here:
https://github.com/mathnet/mathnet-numerics/blob/4b13ff4a5e7014997075df34a84d61f10bdd27b3/src/Numerics/LinearAlgebra/Double/DenseMatrix.cs#L611
This PR does that in the second commit. The first commit tries to increase test coverage to make sure this path is tested. I wanted to add some tests to check arithmetic results are equal across different storage types (a generalisation of #912), I didn't achieve that but I think the changes add a little extra robustness in that area.
I ran a rudimentary benchmark in a distinctly unscientific environment (third commit, you may not want to take that) just for fun:

BenchmarkDotNet=v0.13.1, OS=Windows 10.0.19044.1766 (21H2)
Intel Xeon CPU E5-2640 v4 2.40GHz, 2 CPU, 8 logical and 8 physical cores
.NET SDK=6.0.302
  [Host]     : .NET 6.0.7 (6.0.722.32202), X64 RyuJIT
  DefaultJob : .NET 6.0.7 (6.0.722.32202), X64 RyuJIT

Method
N
SparseRatio
Mean
Error
StdDev

DenseMatrixSparseVector (before)
100
0.01
216.2 μs
7.15 μs
20.86 μs

DenseMatrixSparseVector (after)
100
0.01
1.0 μs
0.03 μs
0.08 μs

DenseMatrixSparseVector (before)
100
0.1
280.8 μs
5.58 μs
14.50 μs

DenseMatrixSparseVector (after)
100
0.1
4.2 μs
0.13 μs
0.37 μs

DenseMatrixSparseVector (before)
100
0.5
356.9 μs
6.99 μs
11.87 μs

DenseMatrixSparseVector (after)
100
0.5
26.0 μs
0.79 μs
2.30 μs

DenseMatrixSparseVector (before)
1000
0.01
36,249.2 μs
942.81 μs
2,765.10 μs

DenseMatrixSparseVector (after)
1000
0.01
44.6 μs
1.50 μs
4.47 μs

DenseMatrixSparseVector (before)
1000
0.1
60,699.3 μs
1,585.09 μs
4,598.63 μs

DenseMatrixSparseVector (after)
1000
0.1
512.4 μs
15.27 μs
44.79 μs

DenseMatrixSparseVector (before)
1000
0.5
87,900.7 μs
1,782.12 μs
5,170.26 μs

DenseMatrixSparseVector (after)
1000
0.5
3,109.7 μs
104.21 μs
307.28 μs

DenseMatrixSparseVector (before)
10000
0.01
9,142,649.0 μs
176,397.41 μs
181,147.15 μs

DenseMatrixSparseVector (after)
10000
0.01
8,723.8 μs
375.52 μs
1,095.41 μs

DenseMatrixSparseVector (before)
10000
0.1
11,304,746.1 μs
253,185.38 μs
734,536.69 μs

DenseMatrixSparseVector (after)
10000
0.1
109,569.1 μs
3,059.45 μs
8,924.56 μs

DenseMatrixSparseVector (before)
10000
0.5
14,264,705.2 μs
363,221.20 μs
1,042,149.72 μs

DenseMatrixSparseVector (after)
10000
0.5
1,314,051.1 μs
40,127.83 μs
115,777.97 μs

Actually I realise this breaks behaviour around double.NaN :( Closing
[Test]
public void DenseVsSparse()
{
    Matrix<double> m = Matrix<double>.Build.DenseOfArray(new double[,] { { double.NaN, 0 }, { 0, 0 } });

    double[] arr = new double[] { 0, 0 };

    Vector<double> sparseResult = m * Vector<double>.Build.SparseOfArray(arr);
    Vector<double> denseResult = m * Vector<double>.Build.DenseOfArray(arr);

    for (var i = 0; i < denseResult.Count; i++)
    {
        Assert.AreEqual(denseResult[i], sparseResult[i], $"Failed at index {i}");
        /* Message:
                Failed at index 0
                Expected: NaN
                But was:  0.0d
         */
    }
}

SparseMatrix.DoMultiply also exhibits similar NaN behaviour. The following test has 6 (out of 324) failures on master:
diff --git a/src/Numerics.Tests/LinearAlgebraTests/MatrixTests.cs b/src/Numerics.Tests/LinearAlgebraTests/MatrixTests.cs
index d461d9c3..838226b3 100644
--- a/src/Numerics.Tests/LinearAlgebraTests/MatrixTests.cs
+++ b/src/Numerics.Tests/LinearAlgebraTests/MatrixTests.cs
@@ -116,5 +116,52 @@ public void PointwiseDivision_SparseReturnsSameResultAsDenseTest()
             var result = SparseMatrix.OfDiagonalArray(new double[] { 10, 5, 2 });
             Assert.AreEqual(result, x);
         }
+
+        [Test]
+        public void MatrixVectorMultiplicationSameResult(
+            [Values("Dense", "Sparse")] string mtx,
+            [Values("Dense", "Sparse")] string vec,
+            [Values(0, 1, -1, double.Epsilon, double.MaxValue, double.MinValue, double.NaN, double.NegativeInfinity, double.PositiveInfinity)] double m_01,
+            [Values(0, 1, -1, double.Epsilon, double.MaxValue, double.MinValue, double.NaN, double.NegativeInfinity, double.PositiveInfinity)] double v_1
+            )
+        {
+            double m_00 = 1;
+            double m_10 = 0;
+            double m_11 = -2;
+
+            double v_0 = 0;
+
+            var matrixValues = new double[,] { { m_00, m_01 }, { m_10, m_11 } };
+            var vectorValues = new double[] { v_0, v_1 };
+
+            var m = GetMatrix(mtx, matrixValues);
+            var v = GetVector(vec, vectorValues);
+
+            var result = m * v;
+
+            Assert.AreEqual(2, result.Count, "Bad result dimension");
+            Assert.AreEqual((m_00 * v_0) + (m_01 * v_1), result[0], "Bad result index 0");
+            Assert.AreEqual((m_10 * v_0) + (m_11 * v_1), result[1], "Bad result index 1");
+        }
+
+        private static Matrix<double> GetMatrix(string name, double[,] data)
+        {
+            switch (name)
+            {
+                case "Dense": return Matrix<double>.Build.DenseOfArray(data);
+                case "Sparse": return Matrix<double>.Build.SparseOfArray(data);
+                default: throw new NotImplementedException($"{nameof(GetMatrix)}(string, double[,]) for {nameof(name)}=\"{name}\"");
+            }
+        }
+
+        private static Vector<double> GetVector(string name, double[] data)
+        {
+            switch (name)
+            {
+                case "Dense": return Vector<double>.Build.Dense(data);
+                case "Sparse": return Vector<double>.Build.SparseOfArray(data);
+                default: throw new NotImplementedException($"{nameof(GetVector)}(string, double[]) for {nameof(name)}=\"{name}\"");
+            }
+        }
     }
 }

Failures on master:

Test
Error Message

MatrixVectorMultiplicationSameResult("Sparse","Sparse",0.0d,double.PositiveInfinity)
Bad result index 0   Expected: NaN   But was:  0.0d

MatrixVectorMultiplicationSameResult("Sparse","Dense",0.0d,double.NaN)
Bad result index 0   Expected: NaN   But was:  0.0d

MatrixVectorMultiplicationSameResult("Sparse","Dense",0.0d,double.NegativeInfinity)
Bad result index 0   Expected: NaN   But was:  0.0d

MatrixVectorMultiplicationSameResult("Sparse","Dense",0.0d,double.PositiveInfinity)
Bad result index 0   Expected: NaN   But was:  0.0d

MatrixVectorMultiplicationSameResult("Sparse","Sparse",0.0d,double.NaN)
Bad result index 0   Expected: NaN   But was:  0.0d

MatrixVectorMultiplicationSameResult("Sparse","Sparse",0.0d,double.NegativeInfinity)
Bad result index 0   Expected: NaN   But was:  0.0d

Failures on PR in addition to above:

Test
Error Message

MatrixVectorMultiplicationSameResult("Dense","Sparse",double.NaN,0.0d)
Bad result index 0   Expected: NaN   But was:  0.0d

MatrixVectorMultiplicationSameResult("Dense","Sparse",double.NegativeInfinity,0.0d)
Bad result index 0   Expected: NaN   But was:  0.0d

MatrixVectorMultiplicationSameResult("Dense","Sparse",double.PositiveInfinity,0.0d)
Bad result index 0   Expected: NaN   But was:  0.0d

So it is not as cut-and-dried as I thought. I am reopening and will await your decision on what to do, if anything.

CI Build fails

It fails the same 9 tests as the comment above, relating to NaN/Inf behaviour differences between Sparse and Dense multiplication (AFAIR): those which exist already on master (exposed by 8d6317de0a0432c835e18c0eb835f6921595d3d8) and those which this PR introduces more of.
There needs to be a decision as to what to do (if anything) about the behavioural differences before the PR goes anywhere. It is easy enough to use the fast logic in consuming code (that's what I ended up doing).

I don't really see where the master branch fails, can you please share a link?


Incredibly long advertisements interrupt media player

In the middle of a lecture I'm watching, there are minutes-long advertisement interruptions.  Is this an attempt to get revenue for this plugin?  If so, it destroys its usefulness.

There aren't any advertisements in this video if I watch in directly on YouTube.  It's coming from the U. of California  (CalTech) they don't do ads.  It's not related to a YouTube Premium account.

Thanks for the response.
Here's an example video, and here's a snapshot of the advert that played, just now, when I started the media player:

Earlier, it was also interrupted in the middle, after I paused/played it.
This is all on Windows and Obsidian 1.5.12.
I wonder what Timestamp Notes does, as I don't remember ever seeing advertising in its media window.

Thanks!   This option solves the advert problem.
One other option that would be nice to have is one that makes it possible to open video links in the default browser, so that the only time the media viewer it turned on is when I run a specific command.

By default the video is running in a standard website for better compatibility and subtitle support. If you want ad-free experience similar to timestamp note, just right-click on any YouTube link and select iframe option in always open as.

Thanks for the great plugin.
When I open a YouTube video as iframe and try to take a snapshot, the plugin says it is not possible to take snapshots for this type of media.
If I open the same video as webpage, the plugin lets me take snapshots.
I'm running Media Extended 3.2.4.

is there a feature to skip ads just like in youtube?


Aliens occurence update

"This PR modifies the spawnAliens function to dynamically adjust the number of aliens spawned based on the level, ensuring more frequent alien spawns while maintaining controlled gameplay by limiting the total number of aliens per level."
Fixes #206

before:
https://github.com/user-attachments/assets/f5253f70-7ac1-4cf3-b312-3d817e76a733
after:
https://github.com/user-attachments/assets/2f1dd6b3-3a00-4dbb-b031-3a0853de768a
Type of change

Bug fix (non-breaking change which fixes an issue)
Chore (refactoring code, technical debt, workflow improvements)
New feature (non-breaking change which adds functionality)
Breaking change (fix or feature that would cause existing functionality to not work as expected)
This change requires a documentation update

How should this be tested?

[ x] Test A
[ x] Test B

Mandatory Tasks

[ ] Make sure you have self-reviewed the code. A decent size PR without self-review might be rejected.

can u review the pr and assign labels which were given at the starting of issue #206

Could you please assign Level 3 for my hard work, as I've made a lot of changes to the project? Thank you!


EvalSourceMapDevToolPlugin: add ability to filter out certain modules

Do you want to request a feature or report a bug?
feature
What is the current behavior?
Eval Sourcemap type can be specified through devtool option or through instantiating webpack.EvalSourceMapDevToolPlugin, but there is no option to include/exclude specific modules.
What is the expected behavior?
    new webpack.EvalSourceMapDevToolPlugin(({
        filename: sourceMapFlags.sourceMapFilename,
        module: true,
        columns: false,
        include: [/\.(js|ts)$|/],
        exclude: [/my_huge_legacy_module_which_crashes_devtools/]
    })

If this is a feature request, what is motivation or use case for changing the behavior?
Excluding unnecessary/large modules from sourcemapping.
Please mention other relevant information such as the browser version, Node.js version, webpack version and Operating System.
webpack 3.8

I'll create a PR.

Note: docs here say this is possible, but it doesn't work with the code in master:
https://webpack.js.org/plugins/eval-source-map-dev-tool-plugin/


Wrong variable name used in sample

If I'm not mistaken, when the original name of the VM is retrieved it is stored in a variable sourceVM
$sourceVM = Get-AzVM `
   -Name sourceVM `
   -ResourceGroupName myResourceGroup

but later it refers to $vm in the text and sample

To create an image version from the VM, use $vm.Id.ToString() for the -Source.

$region1 = @{Name='South Central US';ReplicaCount=1}
   $region2 = @{Name='East US';ReplicaCount=2}
   $targetRegions = @($region1,$region2)

New-AzGalleryImageVersion `
   -GalleryImageDefinitionName $galleryImage.Name`
   -GalleryImageVersionName '1.0.0' `
   -GalleryName $gallery.Name `
   -ResourceGroupName $resourceGroup.ResourceGroupName `
   -Location $resourceGroup.Location `
   -TargetRegion $targetRegions  `
   -Source $vm.Id.ToString() `
   -PublishingProfileEndOfLifeDate '2020-12-01'

I think it just needs to be updated to $sourceVM

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

ID: aaca4c82-d6f4-7867-d1c4-d1c19ca3c502
Version Independent ID: 1949dddb-5278-5271-4934-d3ace2758bf1
Content: Tutorial - Create custom VM images with Azure PowerShell - Azure Windows Virtual Machines
Content Source: articles/virtual-machines/windows/tutorial-custom-images.md
Service: virtual-machines-windows
Sub-service: imaging
GitHub Login: @cynthn
Microsoft Alias: cynthn

@kphillpotts Thanks for catching that! You are correct, I wasn't consistent about what I was using for the variable name for the source VM. I filed a PR to clean that up. Thanks again!
#assign @cynthn
#please-close


yarac tool with cutom modules

Hi yara creators,
I have compiled yara version 3.11.0 following "Writing your own modules" instructions on how to include non standard modules. Actually, I have installed yara adding known modules such as "manape" and "androguard". Now the problem is that yara tool seems to act fine with the added modules, while yarac tool returns "error: unknown module "manape"" when trying to compile rules.
Am I missing something or yarac tool doesn't work with added modules?
Thank you in advance.
Marco

It's strange that yara works fine with rules that import the "manape" module but yarac does not. I would double check that the version of yarac is the one that was recompiled with the non standard modules.

Ok I’ll check, thank you.


Service to check the firebase server URL and update it if wrong, ever x minutes

Just to make sure that the server URL gets updated properly after a power outage

done.


Update ingest_guids rake to use https for hitting AAPB

Getting this error:
rake aborted!
redirection forbidden: http://americanarchive.org/catalog/cpb-aacip_512-nz80k27d0r.pbcore -> https://americanarchive.org/catalog/cpb-aacip_512-nz80k27d0r.pbcore
Changes need to get released to both FIX IT+ and Peabody transcript editor.

Closed by #81


[FLG-627] Grants and fellowships projets pagination

Overview
Wordpress by default only lets us get 100 posts at once. If G&F gets more Projects (it’s now at 94), they won’t load.
Instead of editing things so that the page fetches more project cards at a time, we’ve opted to paginate and load 21 posts at a time. We’ll follow the same styling that’s done on the GFW Blog (image below). Pagination should improve the loading speed of this page and probably help SEO-wise.
Demo

Notes
To meet the criteria we had to change the way we provide filters/search in this page.

From now on, both search and filter are requesting WP Rest API for new items instead just order/omit items on front.
Countries filter logic was moved to SSR to avoid these computation on frontend side.
WP Rest API was changed and its code is on Pantheon. We should deploy it after that deploy.

Testing

Connect to WordPress locally and make sure you have all changes to get the advanced search feature.
Visit /grants-and-fellowships/projects/

LGTM


zipreader in undistort_h36m.py

In undistort_h36m, after Process using the H36M-Toolbox, I don't get the<EMAIL_ADDRESS>So I can change the "zipreader.imread" to "cv2.imread"?

zip is not a must. you can set DATASETS.DATA_FORMAT = 'jpg' while training.
the undistort step can be omitted (unless u choose DATASETS.DATA_FORMAT = 'undistoredzip'),
images can be undistorted on the fly. https://github.com/yihui-he/epipolar-transformers/blob/master/data/datasets/joints_dataset.py#L277


Revert arrow direction of dropdown component.

In GitLab by @wknet123 on Sep 8, 2017, 16:06

In GitLab by @liyanq528 on Nov 8, 2019, 07:36
fixed by push request #276

In GitLab by @sokril on Nov 8, 2019, 08:09
closed

In GitLab by @sokril on Nov 8, 2019, 08:09
assigned to @liyanq528


#![rustfmt::skip]: non-builtin inner attributes are unstable

I'm a bit new to rust so please bear with me here :) I'm trying to use the protobuf library but can only get it to compile when I add the +nightly flag to cargo:
wssmts@laptop:~/Programs/rust-ipc/rust-protobuf > cargo +nightly build
    Finished dev [unoptimized + debuginfo] target(s) in 0.09s

Everything works fine using the nightly compiler, but I am a bit hesitant using this in a production system with the nightly compiler building using actual unstable features.
So I looked around in the documentation, the github readme and the the issues mentioning nightly and couldn't find anything refering to having to use the nightly compiler to use the protobuf crate.
So I guess the question is, do I have to use the nightly compiler if I need this library?
If not, and I almost assume not, what am I doing wrong?
My setup
My repo
Versions etc
wssmts@laptop:~/Programs/rust-ipc/rust-protobuf > cargo -V
cargo 1.41.0 (626f0f40e 2019-12-03)
wssmts@laptop:~/Programs/rust-ipc/rust-protobuf > rustc -V
rustc 1.41.0 (5e1a79984 2020-01-27)
wssmts@laptop:~/Programs/rust-ipc/rust-protobuf > rustup show
Default host: x86_64-unknown-linux-gnu
rustup home:  /home/ANT.AMAZON.COM/wssmts/.rustup

installed toolchains
--------------------

stable-x86_64-unknown-linux-gnu
nightly-x86_64-unknown-linux-gnu
1.38.0-x86_64-unknown-linux-gnu
1.41.0-x86_64-unknown-linux-gnu (default)

installed targets for active toolchain
--------------------------------------

aarch64-unknown-linux-musl
x86_64-unknown-linux-gnu
x86_64-unknown-linux-musl

active toolchain
----------------

1.41.0-x86_64-unknown-linux-gnu (default)
rustc 1.41.0 (5e1a79984 2020-01-27)

Error output without compiling using nightly
wssmts@laptop:~/Programs/rust-ipc/rust-protobuf > cargo build
   Compiling protobuf v2.18.1
error[E0658]: non-builtin inner attributes are unstable
 --> /home/ANT.AMAZON.COM/wssmts/.cargo/registry/src/github.com-1ecc6299db9ec823/protobuf-2.18.1/src/descriptor.rs:9:1
  |
9 | #![rustfmt::skip]
  | ^^^^^^^^^^^^^^^^^
  |
  = note: for more information, see https://github.com/rust-lang/rust/issues/54726

<SNIP> Basically repeats the same error </SNIP>

Can you please check with the latest rust? Version 1.41.0 you are using is 10 months old.
Alternatively, try using some older version of rust-protobuf.
I don't know what's the official minimum supported rust version of rust-protobuf because I accidentally broke CI testing with older versions.

Just checked, latest stable version works with rust versions starting with 1.44.1.

OK, it's actually even mentioned in changelog.
Closing the issue now, please reopen or create another one if the issue still exists or something other help is needed.


ngrok crashing repeatedly

Environment
Please provide the following information about your environment:

Development OS: Mac
Device OS & Version: iOS 12
Version: ViroReact version 2.11.0 and React Native version 0.55.1
Device(s): iPhone X

Description
I have a simple demo for rendering a 3d object in an AR scene that i've made an issue about here earlier. When I was working at the office on this, I was able to use the testbed app just fine. I'm at home now, with my phone and macbook pro on the same wifi network. I've ensured the ngrok URL i'm entering has no typos. I know this demo works because the code has been unchanged since it was last running it at the office. Now that I'm home I try to run npm run start and enter my ngrok URL into the testbed app on my iphone X and constantly get this Failed to load bundle error and I cannot navigate around this. I tried sideloading it on my iphone with xcode but get a compilation error about a missing config.h file.
Stack trace:
Loading dependency graph, done.
 BUNDLE  [ios, dev] ./index.js ░░░░░░░░░░░░░░░░ 0.0% (0/263)
<--- Last few GCs --->

[76392:0x102801600]    25771 ms: Mark-sweep 888.6 (1012.9) -> 888.5 (962.4) MB, 111.0 / 0.0 ms  (average mu = 0.892, current mu = 0.000) last resort GC in old space requested
[76392:0x102801600]    25877 ms: Mark-sweep 888.5 (962.4) -> 888.5 (948.4) MB, 106.4 / 0.0 ms  (average mu = 0.803, current mu = 0.000) last resort GC in old space requested

<--- JS stacktrace --->

==== JS stack trace =========================================

    0: ExitFrame [pc: 0x2a542dd041bd]
Security context: 0x384d56e1e589 <JSObject>
    1: _send [0x384dab25cab9] [internal/child_process.js:715] [bytecode=0x384dab26b879 offset=606](this=0x384d33e8a1f1 <ChildProcess map = 0x384da906be49>,message=0x384dedfcb9c9 <JSArray[4]>,handle=0x384d9f2822e1 <undefined>,options=0x384dedfcba51 <Object map = 0x384d22391c99>,callback=0x384d9f2822e1 <undefined>)
    2: send [0x384dab25ca79] [internal/child_...

FATAL ERROR: CALL_AND_RETRY_LAST Allocation failed - JavaScript heap out of memory
 1: node::Abort() [/Users/stephentetreault/.nvm/versions/node/v10.4.0/bin/node]
 2: node::OnFatalError(char const*, char const*) [/Users/stephentetreault/.nvm/versions/node/v10.4.0/bin/node]
 3: v8::internal::V8::FatalProcessOutOfMemory(v8::internal::Isolate*, char const*, bool) [/Users/stephentetreault/.nvm/versions/node/v10.4.0/bin/node]
 4: v8::internal::Heap::FatalProcessOutOfMemory(char const*) [/Users/stephentetreault/.nvm/versions/node/v10.4.0/bin/node]
 5: v8::internal::Heap::AllocateRawWithRetry(int, v8::internal::AllocationSpace, v8::internal::AllocationAlignment) [/Users/stephentetreault/.nvm/versions/node/v10.4.0/bin/node]
 6: v8::internal::Factory::NewRawTwoByteString(int, v8::internal::PretenureFlag) [/Users/stephentetreault/.nvm/versions/node/v10.4.0/bin/node]
 7: v8::internal::String::SlowFlatten(v8::internal::Handle<v8::internal::ConsString>, v8::internal::PretenureFlag) [/Users/stephentetreault/.nvm/versions/node/v10.4.0/bin/node]
 8: v8::String::Utf8Length() const [/Users/stephentetreault/.nvm/versions/node/v10.4.0/bin/node]
 9: node::StringBytes::Size(v8::Isolate*, v8::Local<v8::Value>, node::encoding) [/Users/stephentetreault/.nvm/versions/node/v10.4.0/bin/node]
10: int node::StreamBase::WriteString<(node::encoding)1>(v8::FunctionCallbackInfo<v8::Value> const&) [/Users/stephentetreault/.nvm/versions/node/v10.4.0/bin/node]
11: void node::StreamBase::JSMethod<node::LibuvStreamWrap, &(int node::StreamBase::WriteString<(node::encoding)1>(v8::FunctionCallbackInfo<v8::Value> const&))>(v8::FunctionCallbackInfo<v8::Value> const&) [/Users/stephentetreault/.nvm/versions/node/v10.4.0/bin/node]
12: v8::internal::FunctionCallbackArguments::Call(v8::internal::CallHandlerInfo*) [/Users/stephentetreault/.nvm/versions/node/v10.4.0/bin/node]
13: v8::internal::MaybeHandle<v8::internal::Object> v8::internal::(anonymous namespace)::HandleApiCallHelper<false>(v8::internal::Isolate*, v8::internal::Handle<v8::internal::HeapObject>, v8::internal::Handle<v8::internal::HeapObject>, v8::internal::Handle<v8::internal::FunctionTemplateInfo>, v8::internal::Handle<v8::internal::Object>, v8::internal::BuiltinArguments) [/Users/stephentetreault/.nvm/versions/node/v10.4.0/bin/node]
14: v8::internal::Builtin_Impl_HandleApiCall(v8::internal::BuiltinArguments, v8::internal::Isolate*) [/Users/stephentetreault/.nvm/versions/node/v10.4.0/bin/node]
15: 0x2a542dd041bd
16: 0x2a542dd13429
17: 0x2a542dd13429
18: 0x2a542dd0c223
Abort trap: 6

Screenshot of error:

Reproducible Demo
This doesn't appear to happen consistently, since all of today it was fine but now with unchanged code I cannot get the testbed app up and running. This would be my personal repo to refer to.

I also make sure to check ps in the terminal and run kill #### where #### represents the PID of ngrok after the crash.

Hey @tetreault,
This looks like an issue with the React Native packager server running outta heap space. (see this issue: https://github.com/facebook/react-native/issues/12686).
Can you try running the packager server like this:
node --max_old_space_size=8000 $(which npm) start
Thanks,

unfortunately that didnt' change anything @achuvm it just crashed again when i tried :(

Hi @tetreault,
Is your machine out of RAM space?
Does this happen when you create a brand new react-viro project too? Are you loading very large assets?
The error:
FATAL ERROR: CALL_AND_RETRY_LAST Allocation failed - JavaScript heap out of memory points to your computer or the node process being out of memory.
Thanks,

Thanks again for the response @achuvm . I've tried restarting my computer, reinstalling the viro media app, randomly trying out npm --max-workers start and node --max_old_space_size=8000 $(which npm) start.
Really at a loss at why i can't get this running again. I was messing around with Viro a little bit from Friday to today and this specific issue has only been occurring since maybe around 2pm today.

That's way curious, well something else you can check are your node and npm version, here are the versions I have that work:
~$ node -v
v11.1.0
~$ npm -v
6.4.1

I'm on npm 6.4.1 but running node 10.4.0. I'll update node to 11.1 later and give it a shot and will follow up back here tomorrow with other troubleshooting I try. thanks for your time @achuvm !

Hey, this might help:
Your package.json file should look similar to this:
{
  "name": "ViroSample",
  "version": "0.0.1",
  "private": true,
  "scripts": {
    "prestart": "./node_modules/react-viro/bin/run_ngrok.sh",
    "start": "node node_modules/react-native/local-cli/cli.js start",
    "test": "jest"
  },

You should update the start script to use that command we used earlier, so:
"start": "node --max_old_space_size=8000 node_modules/react-native/local-cli/cli.js start",
When we did the node --max_old_space_size=8000 $(which npm) start command, it was a good idea, but I forgot that the npm start script simply executes this other command using a normal node process without the increased heap size.
Once you replace that line, simply run npm start from your command line again.
Thanks,

thx @achuvm i actually tried making a new viro project from the CLI for the hell of it and oddly enough it starts ngrok and runs the 3d text hello world demo just fine...
This means it has to be something going on with the prior project I previously linked to in the above thread. The odd thing is when I was trying out some advice on the 3d model it did indeed load via npm start, just not when I got back home an hour or so later (despite all the troubleshooting we tried above).
I can continue on just updating this fresh project I created from the CLI. Of course I'm concerned I'm going to face the same issue as described above once I start messing with the VRX or OBJ file, even though I've reduced the texture file sizes so they shouldn't be huge anymore.
For tonight though, this is at least a starting point so I can follow up if I run into this issue again tomorrow.

yup as i thought, adding back in the Viro3DObject with the assets for it caused the exact same crash as documented above, so its definitely something with what I'm doing. @dam00n helped in this thread and was able to load this exact model though.

After a lot of trial and error I finally got the app to build onto my phone with xcode but then metro bundler crashes like I documented last night:
<--- JS stacktrace --->
==== JS stack trace =========================================
0: ExitFrame [pc: 0x226d57a841bd]

Security context: 0x2f3fa351e589
1: send [0x2f3f6d20cb79] [internal/child_process.js:715] [bytecode=0x2f3fb099b7a1 offset=606](this=0x2f3f35626259 ,message=0x2f3fe40d4039 <JSArray[4]>,handle=0x2f3fa08822e1 ,options=0x2f3fcff48da9 ,callback=0x2f3fa08822e1 )
2: send [0x2f3f6d20dcf1] [internal/child...
FATAL ERROR: CALL_AND_RETRY_LAST Allocation failed - JavaScript heap out of memory
1: node::Abort() [/Users/stephentetreault/.nvm/versions/node/v10.4.0/bin/node]
2: node::OnFatalError(char const*, char const*) [/Users/stephentetreault/.nvm/versions/node/v10.4.0/bin/node]
3: v8::internal::V8::FatalProcessOutOfMemory(v8::internal::Isolate*, char const*, bool) [/Users/stephentetreault/.nvm/versions/node/v10.4.0/bin/node]
4: v8::internal::Heap::FatalProcessOutOfMemory(char const*) [/Users/stephentetreault/.nvm/versions/node/v10.4.0/bin/node]
5: v8::internal::Heap::AllocateRawWithRetry(int, v8::internal::AllocationSpace, v8::internal::AllocationAlignment) [/Users/stephentetreault/.nvm/versions/node/v10.4.0/bin/node]
6: v8::internal::Factory::NewRawTwoByteString(int, v8::internal::PretenureFlag) [/Users/stephentetreault/.nvm/versions/node/v10.4.0/bin/node]
7: v8::internal::String::SlowFlatten(v8::internal::Handlev8::internal::ConsString, v8::internal::PretenureFlag) [/Users/stephentetreault/.nvm/versions/node/v10.4.0/bin/node]
8: v8::String::Utf8Length() const [/Users/stephentetreault/.nvm/versions/node/v10.4.0/bin/node]
9: node::StringBytes::Size(v8::Isolate*, v8::Localv8::Value, node::encoding) [/Users/stephentetreault/.nvm/versions/node/v10.4.0/bin/node]
10: int node::StreamBase::WriteString<(node::encoding)1>(v8::FunctionCallbackInfov8::Value const&) [/Users/stephentetreault/.nvm/versions/node/v10.4.0/bin/node]
11: void node::StreamBase::JSMethod<node::LibuvStreamWrap, &(int node::StreamBase::WriteString<(node::encoding)1>(v8::FunctionCallbackInfov8::Value const&))>(v8::FunctionCallbackInfov8::Value const&) [/Users/stephentetreault/.nvm/versions/node/v10.4.0/bin/node]
12: v8::internal::FunctionCallbackArguments::Call(v8::internal::CallHandlerInfo*) [/Users/stephentetreault/.nvm/versions/node/v10.4.0/bin/node]
13: v8::internal::MaybeHandlev8::internal::Object v8::internal::(anonymous namespace)::HandleApiCallHelper(v8::internal::Isolate*, v8::internal::Handlev8::internal::HeapObject, v8::internal::Handlev8::internal::HeapObject, v8::internal::Handlev8::internal::FunctionTemplateInfo, v8::internal::Handlev8::internal::Object, v8::internal::BuiltinArguments) [/Users/stephentetreault/.nvm/versions/node/v10.4.0/bin/node]
14: v8::internal::Builtin_Impl_HandleApiCall(v8::internal::BuiltinArguments, v8::internal::Isolate*) [/Users/stephentetreault/.nvm/versions/node/v10.4.0/bin/node]
15: 0x226d57a841bd
16: 0x226d57a93429
17: 0x226d57a93429
18: 0x226d57a8c223
/Users/stephentetreault/git/tetreault/react-native-arkit-demo/Viro3dModelDemo/node_modules/react-native/scripts/packager.sh: line 11: 59297 Abort trap: 6           node "./local-cli/cli.js" start "$@"
Process terminated. Press  to close the window

losing this @achuvm thanks so much for your help, but I definitely found out the issue. On the 3d object I was working with, the original texture PNGs were MASSIVE (like 60+mb). I cloned those files and resized the PNGs to be < 1mb however I screwed up somewhere and left one reference in to the 60mb PNG file. So Viro/RN was trying to load this massive PNG and of course the asset was going to choke things, which kept causing the crash...
Thanks again for your efforts at helping resolve this and sorry for such a stupid mistake!

Glad you figured out the issue!
Let us know if you run into anything else

When we start a localtunnel client after Reboot by mistake - Launching the client again and requesting the same subdomain sometimes results in the user being assigned a random URL. I am using port ---
lt --port 9000 --subdomain mysubdomain. Is there any solution for it and how to set user name and password for it...? please reply Thanks in advance..!


Initial mmCIF support

Read support for the CIF format. This parser does not understand CIF grammar, but looks for keywords in the file and uses these keywords to parse the file.  I've tested it on files obtained from RCSB, COD, and CCDC (actual test not included due to licensing).
Write support coming soon.

I think this PR is ready for final review. It addresses part of #10, but not all of it.


[FEATURE] Allow running cog check on a commit range

Is your feature request related to a problem? Please describe.
As of now, the cog check command can be run either on all commits, or only on commits starting from the latest tag. There is no option to run cog check on a commit range (say, the commits associated with a PR).
Describe the solution you'd like
It would be preferable if we could have an option to run the cog check command on a commit range as well. I did go through the code, and noticed that the necessary utilities to parse a revision range from a string are already available, so this should be a simple addition. I'd be happy to open a PR if required.
Describe alternatives you've considered
For the exact problem I'm trying to solve (checking commits in a PR for compliance to the conventional commit specification), the cocogitto bot is a solution. However, we also have an additional requirement that the PR title must also comply to the conventional commit specification since we do squash merging. To solve for this, I was hoping to run cog verify against the PR title, and cog check against the commit range in a single workflow. I'm open to any other solutions you may have.
Additional context
N/A

Hey @SanchithHegde, this would be a welcome addition. Feel free to open a PR.


Draft: Support path-related rewrite annotations

Summary

Latest ingress controller release does not support regex_rewrite or prefix_rewrite via
ingress annotation. This prevents some users from migrating away from legacy policy definitions/other ingress
controllers to Pomerium for applications that require path rewriting during forwarding.
Adds ingress.pomerium.io/prefix_rewrite as a supported base annotation.
Related issues
Related: pomerium/pomerium#2979
TODO

Add regex_rewrite as well

Checklist

[x] reference any related issues
[ ] updated docs
[x] updated unit tests
[ ] updated UPGRADING.md
[x] add appropriate tag (improvement / bug / etc)
[ ] ready for review

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

Tested this locally on my homelab, and was able to successfully add an ingress with the newly added annotations.
I believe the docs and UPGRADING.md are in the main Pomerium repo, so I may need some guidance on what updates are required there.

Updated supported annotation docs in pomerium/pomerium#3310


Code folding in logger [UX]

We can use react-codemirror or ace editor to enable code folding in the logger so that the logged object doesn't take the whole space just like you get in the console. If you want to see it, you can open it. We can keep that in read only mode. We can also have syntax highlighting this way.
For a lightweight solution we can use JSONView or this

Codemirror or ACE is too big for that. I don't like complete folding. But, something like in the chrome's console looks great.
See:

This is implemented with #111 and released as v1.13.0.


Having issue with "avatars-avataaars-sprites" when using the base64 options giving characters outside of the Latin1 range error

InvalidCharacterError: Failed to execute 'btoa' on 'Window': The string to be encoded contains characters outside of the Latin1 range.
import Avatars from '@dicebear/avatars';
import sprites from '@dicebear/avatars-avataaars-sprites';
let options = {
    base64: true,
  };
let avatars = new Avatars(sprites, options);
let svg = avatars.create('beta');

Should be fixed with version 4.0.5. Can you confirm this?

It's fixed.
Working as smooth as butter.


Problems With The New One

1-Turn In Place ( Client )
2-Roll problem upon completion of player animation (server)
3-Roll Lag ( Client )
4- Jump Animation Not Show to Client ( Client )
5-A problem in Ragdoll Is moving (Client) ( Server )
6- When the player climbs one of the Wall and moves immediately after the climb is over, a foot problem occurs (Client)
(In short it is to hold down W when the player climbs up)
7-If you Crouch in Client you Will See Turn In Place Work Good ( Client ) But When you do it in Server it is not good ( Server )
8-That Problem i show it to you when you jump there is glitch in The Foot ( Server )

now its fix


Minecraft Chat is Offset

Describe your issue
I'm not sure if this issue is specific to me or if it affects everyone, but the Minecraft chat appears to be offset. When I try to click on a location to teleport, the game doesn't copy the coordinates as expected; instead, it copies a different message.
Modpack version
OptimumFuse 1.12.6+fabric.1.21.1
Launcher
Modrinth
Additional context
https://github.com/user-attachments/assets/e7235510-18be-45a8-801d-3acc2642b30d

Can't reproduce this issue (now).


Allow to specify start time when searching logs

This will filter logs from CloudWatch (assuming they were enabled) by log stream and timestamp.
Usage:
arthur.py tail_logs

arthur.py tail_logs -t 2021-07-14T10:29:33

This allows us to quickly review what "just happened" when we get alerted for an incident.

Tested with arthur.py tail_logs -t 2021-07-14T10:29:33 and was able to search for logs given a timestamp


portfolio-media-queries-todo

Fix media queries in portfolio repo so the display fits the width of laptop.

Hey @MrBrandtCox, I would like to help you with fixing media queries and fixing additional code so the website doesn't overflow on the x-axis (horizontal). :)

@MrBrandtCox no need, I will work on it and then at the end, I will send a pull request which u can just merge it.
If you don't know how to do that, don't worry I will help you. :)

@abitsalihu thanks, you're awesome!

Hey, any luck? Also I just submitted a new issue with my deployment. Profile-img isn't showing. You're welcome to take a whack at it if you want.


Edit play_again() to completely verify input

The present play_again() function has the following statement -
    return input().lower().startswith('y')

This leads to erroneous inputs like 'yno' being accepted to continue playing.
Verifying the entire message will ensure that only the message 'yes' will allow the player to continue.

You might want to update the tests as well to reflect this change. Eg: here where the input is given as a y and not a yes as you are expecting

That completely slipped my mind !
I'll make the changes.

:+1:

I need a little help.
I edited the test, and had this line to read
self.input.side_effect = list("ant" "yes" "babon" "n")

But when I ran python3 setup.py test, I got this error -
FAIL: test_two_game (test.HangmanTestCase)
Test two winning game plays.
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/home/enygma/Stuff/Python_stuff/hangman/test.py", line 56, in test_two_game
    self.xprint.assert_any_call('Yes! The secret word is "baboon"! '
  File "/home/enygma/anaconda3/lib/python3.4/unittest/mock.py", line 833, in assert_any_call
    ) from cause
AssertionError: xprint('Yes! The secret word is "baboon"! You have won!') call not found

Any help on what the problem could be ?

That would be ["a", "n", "t", "yes", "b", "a", "b", "o", "n", "no"] or chain(list("ant"), ["yes"], list("babon"), ["no"])

That helped. Thank you !
But can you please explain why ?
The line currently reads -
self.input.side_effect = list("ant" "y" "babon" "n")

And the test ran succesfully. But it didn't when I edited the line.

Coverage remained the same at 98.67% when pulling 013abae18184cb49e1fa426ca43ae7e1723bcec3 on AlexMathew:continue into fe59271fe70ca15ba6cb183b567aa94c425c3c95 on Chennaipy:master.

@AlexMathew list("ant" "y" "babon" "n") will result in ["a", "n", "t", "y", "e", "s", "b", "a", "b", "o", "n", "n", "o"]. But what we want is ["a", "n", "t", "yes", "b", "a", "b", "o", "n", "no"]


Checks for Valid in event handlers

I'm testing teltonika FMB920 and faced with problem that traccar does not detect motion/stop. The problem is that stopped positions device reports as not valid.
We have checks for Valid in some events handlers. I think we should remove them from handlers not related to coordinates:

motion
fuel drop

But about motion I have some doubts... On the one hand, if motion automatically calculated from speed it might be incorrect for invalid position, on the other hand if motion reported from device it is correct even if position is invalid.
@tananaev what do you think?

Makes sense to remove check for fuel handler. For motion we can make it optional, similar to geolocation handler.


Format detail in example JSON should be in quotes

Format version in example JSON should be in quotes

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

ID: d94e127d-2d4e-d8a7-e621-e04dc4b8ef49
Version Independent ID: 891d4e54-90cb-34d3-f515-4f583b8ee56e
Content: Features Documentation - minecraft:weighted_random_feature
Content Source: creator/Reference/Content/FeaturesReference/Examples/Features/minecraftWeighted_random_feature.md
Service: minecraft-bedrock-edition
GitHub Login: @iconicNurdle
Microsoft Alias: mikeam

Ooh! Good catch. It is fixed and will be apparent after the next document push.
THANK YOU!


link to styles-api broken

link to https://www.dash-mantine-components.com/styles-api broken

Fixed.