Unable to add a node after removing a failed node using embedded etcd

Environmental Info:
K3s Version: k3s version v1.19.5+k3s1 (b11612e2)

Node(s) CPU architecture, OS, and Version: Linux master-02 5.4.0-56-generic #62-Ubuntu SMP Mon Nov 23 19:20:19 UTC 2020 x86_64 x86_64 x86_64 GNU/Linux

Cluster Configuration:
Originally was 3 master, then one died so was removed now running 2 masters but cannot readd a 3rd master

Describe the bug:
When trying to add the 3rd master I am getting the following error
Dec 21 15:00:45 master-03 k3s[1952]: time="2020-12-21T15:00:45.903306802Z" level=info msg="Adding https://<IP_ADDRESS>:2380 to etcd cluster [master-01-9d17c397=https://<IP_ADDRESS>:2380 master-03-e2ec81cc=https://<IP_ADDRESS>:2380 master-02-8a1215a5=https://<IP_ADDRESS>:2380]"
Dec 21 15:00:45 master-03 k3s[1952]: {"level":"warn","ts":"2020-12-21T15:00:45.905Z","caller":"clientv3/retry_interceptor.go:62","msg":"retrying of unary invoker failed","target":"endpoint://client-247cfa63-67b2-477d-8202-8891774f3d4f/<IP_ADDRESS>:2379","attempt":0,"error":"rpc error: code = Unavailable desc = etcdserver: unhealthy cluster"}
Dec 21 15:00:45 master-03 k3s[1952]: time="2020-12-21T15:00:45.906496636Z" level=fatal msg="starting kubernetes: preparing server: start managed database: joining etcd cluster: etcdserver: unhealthy cluster"

Strangely it looks like the cluster is still trying to communicate with the dead node although it is no longer under nodes
[Dec 21 15:09:45 master-02 k3s[2448291]: {"level":"warn","ts":"2020-12-21T15:09:45.711Z","caller":"rafthttp/probing_status.go:70","msg":"prober detected unhealthy status","round-tripper-name":"ROUND_TRIPPER_SNAPSHOT","remote-peer-id":"787a9a69bcefecea","rtt":"0s","error":"dial tcp <IP_ADDRESS>:2380: connect: connection refused"}
Dec 21 15:09:45 master-02 k3s[2448291]: {"level":"warn","ts":"2020-12-21T15:09:45.712Z","caller":"rafthttp/probing_status.go:70","msg":"prober detected unhealthy status","round-tripper-name":"ROUND_TRIPPER_RAFT_MESSAGE","remote-peer-id":"787a9a69bcefecea","rtt":"0s","error":"dial tcp <IP_ADDRESS>:2380: connect: connection refused"}
Dec 21 15:09:45 master-02 k3s[2448291]: {"level":"warn","ts":"2020-12-21T15:09:45.727Z","caller":"etcdserver/cluster_util.go:315","msg":"failed to reach the peer URL","address":"https://<IP_ADDRESS>:2380/version","remote-member-id":"787a9a69bcefecea","error":"Get \"https://<IP_ADDRESS>:2380/version\": dial tcp <IP_ADDRESS>:2380: connect: connection refused"}
Dec 21 15:09:45 master-02 k3s[2448291]: {"level":"warn","ts":"2020-12-21T15:09:45.727Z","caller":"etcdserver/cluster_util.go:168","msg":"failed to get version","remote-member-id":"787a9a69bcefecea","error":"Get \"https://<IP_ADDRESS>:2380/version\": dial tcp <IP_ADDRESS>:2380: connect: connection refused"}

root@master-02:/home/jrote1# kubectl get node
NAME        STATUS   ROLES         AGE     VERSION
master-01   Ready    etcd,master   22d     v1.19.5+k3s1
master-02   Ready    etcd,master   6d19h   v1.19.5+k3s1

Steps To Reproduce:

Installed K3s
Add 3 master nodes
Master 3 dies so remove from nodes
Attempted to re add master 3

This seems to be related to the issue discussed here: https://github.com/k3s-io/k3s/issues/2533#issuecomment-748387146

The member maintenance function should probably check for unhealthy (unreachable) fully-promoted etcd cluster members, and remove them from the cluster if there is not a corresponding Kubernetes cluster member.

@jrote are you able to collect logs from the two remaining servers in the time period that you removed the failed node from the cluster? Nodes are supposed to be removed from the etcd cluster when you remove them from the kubernetes cluster, so I'm curious to see if there are any logs showing how that failed.
journalctl --no-pager -u k3s &> k3s-$(hostname).logand attach the resulting files?

As a temporary workaround, you should be able to do the following on one of the working nodes:
kubectl run --rm --tty --stdin --image docker.io/bitnami/etcd:latest etcdctl --overrides='{"apiVersion":"v1","kind":"Pod","spec":{"hostNetwork":true,"restartPolicy":"Never","securityContext":{"runAsUser":0,"runAsGroup":0},"containers":[{"command":["/bin/bash"],"image":"docker.io/bitnami/etcd:latest","name":"etcdctl","stdin":true,"stdinOnce":true,"tty":true,"volumeMounts":[{"mountPath":"/var/lib/rancher","name":"var-lib-rancher"}]}],"volumes":[{"name":"var-lib-rancher","hostPath":{"path":"/var/lib/rancher","type":"Directory"}}]}}'

In the resulting shell, run the following command:
/bin/etcdctl --key /var/lib/rancher/k3s/server/tls/etcd/client.key --cert /var/lib/rancher/k3s/server/tls/etcd/client.crt --cacert /var/lib/rancher/k3s/server/tls/etcd/server-ca.crt member remove master-03-e2ec81cc

I have the same issue but in a different environment:

arch: arm64
version: v1.19.4+k3s

I used image from rancher/coreos-etcd on docker hub : https://hub.docker.com/r/rancher/coreos-etcd/tags?page=1&ordering=last_updated
Actually last tag for my arch is : v3.4.13-arm64
I add nodeSelector's rule in order to deploy pod on a working node with the role named:  etcd
kubectl run --rm --tty --stdin --image docker.io/rancher/coreos-etcd:v3.4.13-arm64 etcdctl --overrides='{"apiVersion":"v1","kind":"Pod","spec":{"hostNetwork":true,"restartPolicy":"Never","securityContext":{"runAsUser":0,"runAsGroup":0},"containers":[{"command":["/bin/sh"],"image":"docker.io/rancher/coreos-etcd:v3.4.13-arm64","name":"etcdctl","stdin":true,"stdinOnce":true,"tty":true,"volumeMounts":[{"mountPath":"/var/lib/rancher","name":"var-lib-rancher"}]}],"volumes":[{"name":"var-lib-rancher","hostPath":{"path":"/var/lib/rancher","type":"Directory"}}],"nodeSelector":{"node-role.kubernetes.io/etcd":"true"}}}'

you can list etcd members:
etcdctl --key /var/lib/rancher/k3s/server/tls/etcd/client.key --cert /var/lib/rancher/k3s/server/tls/etcd/client.crt --cacert /var/lib/rancher/k3s/server/tls/etcd/server-ca.crt member list

you can remove member
etcdctl --key /var/lib/rancher/k3s/server/tls/etcd/client.key --cert /var/lib/rancher/k3s/server/tls/etcd/client.crt --cacert /var/lib/rancher/k3s/server/tls/etcd/server-ca.crt member remove<PHONE_NUMBER>ABCDEF

uninstall k3s
k3s-uninstall.sh

and add it again into your cluster.
It's works !!!

I have the log files for the day it broke but they are to big for GitHub, any preferences as to where I upload them to?

@jrote1 can you share from Google Drive or Dropbox perhaps?

https://drive.google.com/file/d/1rvmCYlCbZ_KKTC04ySo5Mt7fBWen2dtj/view?usp=sharing
https://drive.google.com/file/d/1JO7DMF3jiCNaL4JVHrK1E5e6-RlHV6gN/view?usp=sharing

Thanks. You should see an access request from my (personal) gmail account.

Already accepted @brandond

There's a lot of this in your logs, which isn't a good sign:

Dec 21 00:00:13 master-01 k3s[4000764]: {"level":"warn","ts":"2020-12-21T00:00:13.000Z","caller":"etcdserver/raft.go:390","msg":"leader failed to send out heartbeat on time; took too long, leader is overloaded likely from slow disk","to":"b51f0190e848738d","heartbeat-interval":"500ms","expected-duration":"1s","exceeded-duration":"1.672987815s"}
Dec 21 00:00:13 master-01 k3s[4000764]: {"level":"warn","ts":"2020-12-21T00:00:13.000Z","caller":"etcdserver/raft.go:390","msg":"leader failed to send out heartbeat on time; took too long, leader is overloaded likely from slow disk","to":"787a9a69bcefecea","heartbeat-interval":"500ms","expected-duration":"1s","exceeded-duration":"1.673190469s"}

Dec 21 00:00:13 master-01 k3s[4000764]: {"level":"warn","ts":"2020-12-21T00:00:13.117Z","caller":"etcdserver/util.go:163","msg":"apply request took too long","took":"9.972996125s","expected-duration":"100ms","prefix":"read-only range ","request":"key:\"/registry/services/endpoints/kube-system/kube-scheduler\" ","response":"","error":"context canceled"}
Dec 21 00:00:13 master-01 k3s[4000764]: {"level":"info","ts":"2020-12-21T00:00:13.119Z","caller":"traceutil/trace.go:145","msg":"trace[1873224372] range","detail":"{range_begin:/registry/services/endpoints/kube-system/kube-scheduler; range_end:; }","duration":"9.974944152s","start":"2020-12-21T00:00:03.144Z","end":"2020-12-21T00:00:13.119Z","steps":["trace[1873224372] 'agreement among raft nodes before linearized reading'  (duration: 9.972988738s)"]}

I am running etcd on the same disk as longhorn currently, I do have plans to move longhorn onto a seperate disk but I have not bought the disks yet.
Let me double check a bit later to make the time frame of when i removed the node is in the logs

I do see the node removal event from a different controller, but the etcd controller doesn't appear to be handling it:
Dec 21 14:24:27 master-02 k3s[2448291]: I1221 14:24:27.230616 2448291 event.go:291] "Event occurred" object="master-03" kind="Node" apiVersion="v1" type="Normal" reason="RemovingNode" message="Node master-03 event: Removing Node master-03 from Controller"

I can reproduce the problem stably.  https://github.com/xiaods/k8e/issues/36

any suggestions or update?

Waiting on another PR to land and then I'm going to rework etcd cluster membership cleanup.

confirmed, it reoslved.

@jrote1 please double check

Not sure if this should be a new case or not, but I'm able to pretty readily break embedded etcd with the following sequence:
% k3d version
k3d version v4.4.1
k3s version v1.20.5-k3s1 (default)
% cat break-k3d.sh
#!/bin/bash
set -x
k3d cluster create --servers 3 --agents 3 test-k3d
docker stop k3d-test-k3d-server-0
docker stop k3d-test-k3d-agent-1
docker start k3d-test-k3d-agent-1
docker start k3d-test-k3d-server-0
sleep 120
docker logs k3d-test-k3d-server-0
k3d cluster delete test-k3d
%
where we wind up with this message repeated:
time="2021-04-06T21:20:30.180484636Z" level=info msg="Failed to test data store connection: this server is a not a member of the etcd cluster. Found [k3d-test-k3d-server-1-78ae1551=https://<IP_ADDRESS>:2380 k3d-test-k3d-server-0-3e94d5e1=https://<IP_ADDRESS>:2380 k3d-test-k3d-server-2-31d30714=https://<IP_ADDRESS>:2380], expect: k3d-test-k3d-server-0-3e94d5e1=<IP_ADDRESS>"
Does this look like the same problem? Or should I open a new issue here?

@mindkeep That looks like a k3d issue and is not related to what's going on here - the docker container is getting a new address when you stop and start it (k3d-test-k3d-server-0-3e94d5e1=https://<IP_ADDRESS>:2380 vs k3d-test-k3d-server-0-3e94d5e1=<IP_ADDRESS>)

@brandond Ah, that makes sense. I'll bring it up there. Thanks for the quick response.


Nodes unreachable under high memory; kubelet not evicting pods

Hello,
I’m running a Kubernetes cluster with k3s, and I’ve been experiencing intermittent issues with some of the nodes. Occasionally, nodes become unreachable, changing from “Ready” to “NotReady,” causing all workloads on them to be inaccessible. I often need to reboot the node to resolve the issue. The problem is very similar to the one described here.
In the most recent incident, I noticed that the Prometheus pod was consuming unusually high memory, which seemed to trigger the issue (no memory limits are set on the pod). My question is: why isn’t memory pressure kicking in and prompting the kubelet to evict pods? I’m using the kube-hetzner project, mostly with default settings. The node in question has 3 vCPUs and 4 GB RAM. These are the kubelet args taken from /etc/rancher/k3s/config.yaml:
"kubelet-arg":
- "cloud-provider=external"
- "volume-plugin-dir=/var/lib/kubelet/volumeplugins"
- "kube-reserved=cpu=50m,memory=300Mi,ephemeral-storage=1Gi"
- "system-reserved=cpu=250m,memory=300Mi"

It's worth mentioning that I couldn't reproduce the issue. I stress-tested the node but the pods are always killed before they make the node unstable.
Is there a configuration I can adjust to ensure the kubelet has enough headroom to start evicting pods before the node becomes completely unreachable? I’ve observed that, in another managed cluster we use, nodes never go down under similar conditions. Instead, the node is marked with MemoryPressure and the eviction process starts to prevent node instability.
Any insights on how to achieve similar resilience would be greatly appreciated! Thank you.

Does this node have swap enabled? Why aren't you setting memory limits that are at least lower than what's available on your node? Prometheus is pretty intense, I'm not sure I'd try to run it with less than 4gb allocated just to it, let alone running it on a node with only 4gb total.

Hi @brandond. Thanks for the prompt response.
I don't want to give the impression that the problem is with Prometheus itself. To be clear, it does indeed use a lot of memory, somewhere in the range of 2.5Gi to be more precise. With that said, setting a memory limit did not resolve the issue. The pod was never OOM killed for whatever reason. What's more, the same issue occurred on other nodes with 8Gi of memory.

I managed to reproduce the issue by cordoning all nodes except for one, then attempting to schedule as many pods as possible on that remaining node. It was really about the number of pods, not how much resources each one consumes.
I was able to resolve this issue by setting two kubelet args: I set eviction-hard to imagefs.available<15%,memory.available<100Mi,nodefs.available<10%,pid.available<10%,nodefs.inodesFree<5%,imagefs.inodesFree<6% and I also updated kube-reserved to cpu=100m,memory=600Mi,ephemeral-storage=1Gi,pid=1024 effectively doubling the reserved CPU and memory in addition to reserving some PIDs. I'm still using the default value for system-reserved.


Validate input in NoiseTexture::set_seamless_blend_skirt()

Fixes #60373
The range is from the property hint:
https://github.com/godotengine/godot/blob/7f384886ce65fb5deead17a3604a9f0b8917a9ee/modules/noise/noise_texture.cpp#L79

CC @Geometror. I don't know if the range hint was supposed to be a hard limit or just the most reasonable range. If it's not a hard limit it should likely not be enforced from code, but at least negative values should be prevented.

The last time I checked the algorithm gave unexpected results/broke when the blend skirt is set to 0. Might be worth it to modify the algorithm, so that it operates correctly for all values >= 0, but I think for now this solution is acceptable.

Thanks!


Update gitea version in install-from-binary docs

Because 1.5.0 is now current stable version

Codecov Report

Merging #4670 into master will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##           master    #4670   +/-   ##
=======================================
  Coverage   20.63%   20.63%
=======================================
  Files         166      166
  Lines       32261    32261
=======================================
  Hits         6657     6657
  Misses      24626    24626
  Partials      978      978

Continue to review full report at Codecov.

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

LGTM


Disabling the out-of-bounds validator

I'm writing a Garbage Collector in Rust which uses quite a bit of unsafe code. I'm very keen to use Miri to check that I've got the stacked borrows part right, but before I can get to the meat of it, Miri notices (correctly :wink: ) that I'm performing out-of-bounds accesses early on.
I'm already aware of these out-of-bounds accesses: they exist by design. However, it looks like certain warnings can't be suppressed yet [#788], and I already use MSAN + valgrind to catch the unintended existence of this class of bugs so I'm not too bothered about them in Miri. Is there a -Z option to turn this off completely that I've overlooked? If not, is this something I can help to implement, or is it incompatible with Miri's design? Perhaps this won't be an issue when #797 is fixed?
Thanks for the help!
P.s. One could argue that I should instead fix my code, and ordinarily I would agree. Unfortunately, a garbage collector needs to scan and access arbitrary addresses (such as on the application stack and in registers), which tends to upset memory sanitizers.

I can only guess what it is you are doing concretely, but there is little Miri can do when you are accessing non-existent memory. It's not like it can just "pretend" that there is memory there that you can read from. Memory, in Miri, is literally one Vec<u8> (+more) per allocation, and if your access goes outside of that and we didn't check the bounds beforehand, Miri would just ICE.
So, I think this falls under "incompatible with Miri's design". We could, in principle, do things like treat such memory as uninitialized, but that would come with a lot of extra complications in some of the deeper parts of the engine, and honestly I'd rather not complicate that code to implement a feature that I do not think Miri should have.
But it would help to have a small piece of code demonstrating what you are doing and the kind of fault you think Miri should have the ability to ignore. Maybe I am misunderstanding what exactly is happening. But it sure sounds like you are causing UB, so I feel the urge to spend the rest of this post with a lengthy warning not to do that.

P.s. One could argue that I should instead fix my code, and ordinarily I would agree. Unfortunately, a garbage collector needs to scan and access arbitrary addresses (such as on the application stack and in registers), which tends to upset memory sanitizers.

I'm afraid that's not how things work in Rust (or C/C++, for that matter). You do not get to reason in terms of "I know how the stack is organized so this is okay". Before you get there, the compiler already assumes that your code will never, ever perform an out-of-bounds memory access, and if you fail to uphold that promise, the result of compilation is just garbage. It may look like assembly code, and it may even behave like you expect it to, but that is just coincidence. You are not just "upsetting memory sanitizers", you are literally violating a fundamental assumption that the Rust compiler is making about your code, and your compiler does replace your code by unicorns and rainbows. You just happen to be lucky that the unicorns are doing the right thing right now, but there is nothing preventing this from changing with any new compiler release, or indeed with any entirely unrelated changed anywhere else in the code you are compiling.
Since you were talking about the stack, here is an example of some LLVM IR that tries to exploit knowledge about stack layout. The out-of-bounds access causes this program to be ill-formed, so the compilation result is not what one might naively expect. There is no way to protect against such "miscompilations" (in quotes because the compiler has done nothing wrong, so calling it a miscompilation isn't accurate) other than not causing UB.
I also wrote a lengthy blogpost on the subject. The upshot is that if you think your code is running on an x86 or ARM CPU, you are mistaken -- your code first and foremost runs on the Rust Abstract Machine, and only if that execution doesn't cause UB, you get to think of your program as running on something lower-level.

a garbage collector needs to scan and access arbitrary addresses

There is no way to access arbitrary memory in Rust. That is just not an operation the language supports. (And C/C++ do not support it either.) It may seem like you can cheat your way around that limitation by "just" ignoring UB, but that is a false impression. If you need to do something that Rust cannot do, the only options are (a) inline assembly (or really FFI to any other language that can do these things, but assembly is the only one I know of that does), and (b) extending Rust with support for whatever it is you want to do (e.g. this is what people are working on for unwinding across FFI boundaries).
Now, I am aware that sometimes one needs to cause deliberate UB. But generally this should come with some kind of idea for what would need to be done to the language to not make this UB, and for out-of-bounds accesses I don't see that. If the GC you are talking about is for a language you are managing inside Rust, it should be possible without OOB access (though once you start JIT'ing you are leaving the realm of what Miri can emulate). If this is something like the Boehm GC, then from what I know we are deep in the realm of UB and if Miri tells you as much then it works as intended. ;)

Orthogonal question: would reading through /proc/mem be sound as it goes through file system APIs?

lol, the most hilarious things can happen when a program in Miri goes through /proc/self/mem. It has full access to the interpreter internal state that way.^^

Oh right. I'd mean exposing the interpreted memory because that's what would happen at real execution

Thanks for the reply @RalfJung. Some interesting points for me to take into consideration here,  I appreciate the detailed explanation. Perhaps it may be worth me clarifying a use-case I have which Miri identifies as out-of-bounds UB which I'm still unsure of.
I am implementing the GlobalAlloc's alloc method to write a small usize-sized header to each allocated block before returning a pointer to the address immediately afterwards. I maintain the invariant in my application that this header is accessible by taking the pointer returned from alloc minus a usize-sized offset.
Miri identifies this as an out-of-bounds access, however. I assume this is because it treats the pointer returned from alloc as the base of a block. Does this make what I'm doing here undefined behaviour? Is it illegal to return a derived pointer from alloc and access the base of block providing you are sure you have not gone past the beginning? Or is this a case of Miri being overly conservative?

Hm, interesting. There might be some aliasing issues there, but that does not seem to be what you are running into.
Right now Miri actually ignores the #[global_allocator] and always directly creates a "native" allocation that is subject to "all the checks". Probably that is the issue you are having. As already mentioned, if you could provide an example demonstrating your issue, that would help tremendously as I wouldn't have to guess. ;)
If my guess is right, could you open a new issue asking to support that attribute, ideally with a self-contained testcase?

Hi @RalfJung , apologies for the late reply!

Right now Miri actually ignores the #[global_allocator] and always directly creates a "native" allocation that is subject to "all the checks".

Aha, this sounds like what I'm encountering. I've raised an issue here #1207 and will close this discussion.
Thanks for the help!


feat(upload): Add transfer_speed for downloading and uploading files

feature #1784

Thanks for the PR! I think this is a pretty solid start. My 2 main issues here are

I don't see a reason to split up the payload types. I'd much rather implement the feature for both apis.
I'm not a fan of all the mutex / thread stuff tbh. Also, having your setTimeout comment in mind, Rust's sleep method isn't that much better, there's no guarantee that it's exactly one second, just that it's at least one second (and then add the potential mutex waiting time on top).
And a small one, maybe just "speed" instead of "progress_speed"? Or transfer_speed? Idk, something about progress_speed triggers me 😂 Maybe let's wait on other opinions on that topic.

For 2) i think a better approach would again come down to the performance.now() suggestion in the issue (of course meaning an equivalent in rust). You don't really need to know how much data was sent in a whole second, knowing how much data was send in X miliseconds (or how long Y chunks took) should be enough.
Of course you could still collect a few chunks first before reporting or storing the last idk 10 chunks timings in an array and report the average of those values. All of that should work without a mutex or threads.

Yaa, speed for the upload would be something I thought could be done on another PR, but since you pointed it out. I'll implement it here only ..

This is also a valid point. If rust's sleep isn't guaranteed to run after every second .. ( But it ran the code accurately than setInterval, using setInterval wasn't even working from the users prespective )

Yaa, let me try this performance.now() rust approach. Thanks for the detailed description. Previously, I couldn't comprehend it could be done without threads and sleeps..

yes speed or transfer_speed makes more sense

use std::time::Instant;
use std::collections::VecDeque;

fn main() {
    let mut time_list: VecDeque<u128> = VecDeque::with_capacity(10);
    let mut start_time = Instant::now();

    while next_chunk() {  // Assuming next_chunk() is defined elsewhere
        let now = Instant::now();
        let it_took = now.duration_since(start_time).as_millis();
        start_time = now;

        time_list.push_back(it_took);

        if time_list.len() == 10 {
            let avg_time: u128 = time_list.iter().sum::<u128>() / 10;

            // Report the average time
            send(avg_time);  // Assuming send() is defined elsewhere

            // Reset the time list
            time_list.clear();
        }
    }
}

Here is a rough implementation that I have in mind. I'm just suggesting it.

@FabianLars I've rewritten the logic for the transfer_speed payload field.
I've created a new struct that decouples the Transfer Speed calculation from the download and upload function.

Added a granularity for TransferStat which is 500 milliseconds, this will update the transfer speed after every 500 milliseconds

Existing issues

If the while loop that saves the chunk and reports to TransferStat stops running continuously, due to network problems or some other reasons. And two consecutive loop run's gap is more than the granularity, then the transfer_speed might get stuck to a value .. ( I haven't observed it, since my network connection is fine. But something we should consider for the user experience )

Thank you! And sorry for the delay (i was out sick the whole last month)
A few last small things and then we can merge this:

we need a changefile
Please add #[serde(rename_all = "camelCase")]] above struct ProgressPayload {} so that transfer_speed becomes transferSpeed on the js side (only)
Add transferSpeed to the ProgressPayload type in the javascript file
run the formatter so CI is happy :)

The existing issue is not a blocker for me but rather something to track over time. As long as we're happy with the user facing api we can change the implementation later.

@FabianLars Okay I am making these changes.
Can you please clarify what is a changefile ? You have mentioned in the first point ...

Check the .changes folder for examples. Don't sweat over it though, I can add this when I merge the or too :)

@FabianLars I've made the changes. Works fine in my current downloader application made with tauri 💯 .
https://github.com/user-attachments/assets/12bbc978-87bd-45b6-a72b-fce86e965ada

Also, I also tried to do this same thing in the js side, with equivalent code:
`export class TransferStats {
accumulatedChunkLen: number; // Total length of chunks transferred in the current period
accumulatedTime: number; // Total time taken for the transfers in the current period (in ms)
transferSpeed: number; // Calculated transfer speed in bytes per second
startTime: number; // Time when the current period started (in ms)
granularity: number; // Time period (in milliseconds) over which the transfer speed is calculated
constructor(granularity: number) {
this.accumulatedChunkLen = 0;
this.accumulatedTime = 0;
this.transferSpeed = 0;
this.startTime = performance.now();
this.granularity = granularity;
}
// Records the transfer of a data chunk and updates the transfer speed if the granularity period has elapsed.
recordChunkTransfer(chunkLen: number): void {
const now = performance.now();
const timeElapsed = now - this.startTime;
this.accumulatedChunkLen += chunkLen;
this.accumulatedTime += timeElapsed;
// If the accumulated time exceeds the granularity, calculate the transfer speed.
if (this.accumulatedTime >= this.granularity) {
  this.transferSpeed = Math.floor(
    this.accumulatedChunkLen / (this.accumulatedTime / 1000)
  ); // bytes per second
  this.accumulatedChunkLen = 0;
  this.accumulatedTime = 0;
}

// Reset the start time for the next period.
this.startTime = now;

}
// Provides a default instance of TransferStats with a granularity of 500 milliseconds.
static default(): TransferStats {
return new TransferStats(500); // Default granularity is 500ms
}
}
`
And it worked fine as expected, I think it's also important for us to know. This problem of transfer_speed could've been solved from the JS side also ...

@FabianLars I've made the changes. Works fine in my current downloader application made with tauri 💯 .
2024-11-05.01-05-36.mp4
This is nice!


update zookeeper.md

fix yaml url.
Fix https://github.com/kubernetes/website/issues/6433

This change is

Sorry, this was fixed in another PR: https://github.com/kubernetes/website/pull/6435

NO, I think you should reopen my PR, This is another yaml.

you can have a look origin webpage, thanks


[BugFix] Fix image v2 garbled code problem when decoding

Why I'm doing:
The Character set should be specified to UTF8 when decoding.
What I'm doing:
The Character set should be specified to UTF8 when decoding.
Fixes #issue
What type of PR is this:

[x] BugFix
[ ] Feature
[ ] Enhancement
[ ] Refactor
[ ] UT
[ ] Doc
[ ] Tool

Does this PR entail a change in behavior?

[ ] Yes, this PR will result in a change in behavior.
[x] No, this PR will not result in a change in behavior.

If yes, please specify the type of change:

[ ] Interface/UI changes: syntax, type conversion, expression evaluation, display information
[ ] Parameter changes: default values, similar parameters but with different default values
[ ] Policy changes: use new policy to replace old one, functionality automatically enabled
[ ] Feature removed
[ ] Miscellaneous: upgrade & downgrade compatibility, etc.

Checklist:

[ ] I have added test cases for my bug fix or my new feature
[ ] This pr needs user documentation (for new or modified features or behaviors)

[ ] I have added documentation for my new feature or new function

[ ] This is a backport pr

Bugfix cherry-pick branch check:

[x] I have checked the version labels which the pr will be auto-backported to the target branch

[x] 3.3
[ ] 3.2
[ ] 3.1
[ ] 3.0
[ ] 2.5

@mergifyio rebase


Feature Request: Change rainbowcol colors for ts_rainbow

I would like to customize the colors for ts_rainbow because rainbowcol1 makes any brackets disappear when I put my cursor on it.

https://github.com/navarasu/onedark.nvim#customization


Gitlab install fails under [WSL docker-interop-client] windows's docker with host volumes

Your Windows build number:  (Type ver at a Windows Command Prompt)
Microsoft Windows [Version 10.0.17134.48]

Docker and WSL distro versions:
WSL Description:	Ubuntu 18.04 LTS
Docker version 18.05.0-ce-rc1, build 33f00ce -- windows docker version
Docker version 18.04.0-ce, build 3d479c0 -- wsl inter-op docker.io version

wsl.conf

[automount]
enabled = true
options = "metadata"

mount -l

rootfs on / type lxfs (rw,noatime)
sysfs on /sys type sysfs (rw,nosuid,nodev,noexec,noatime)
proc on /proc type proc (rw,nosuid,nodev,noexec,noatime)
none on /dev type tmpfs (rw,noatime,mode=755)
devpts on /dev/pts type devpts (rw,nosuid,noexec,noatime,gid=5,mode=620)
none on /run type tmpfs (rw,nosuid,noexec,noatime,mode=755)
none on /run/lock type tmpfs (rw,nosuid,nodev,noexec,noatime)
none on /run/shm type tmpfs (rw,nosuid,nodev,noatime)
none on /run/user type tmpfs (rw,nosuid,nodev,noexec,noatime,mode=755)
binfmt_misc on /proc/sys/fs/binfmt_misc type binfmt_misc (rw,noatime)
C: on /mnt/c type drvfs (rw,noatime,uid=1000,gid=1000,metadata)

What you're doing and what's happening:
docker pull --platform=linux gitlab/gitlab-ce
mkdir -p config;mkdir -p logs;mkdir -p data;
strace -f -o docker_gitlab_wsl.strace docker run --platform=linux --name gitlab -p 6080:80 -p 6022:22 -p 6443:443 -v c:/gitlab-ce/config:/etc/gitlab -v c:/gitlab-ce/logs:/var/log/gitlab -v c:/gitlab-ce/data:/var/opt/gitlab --rm gitlab/gitlab-ce >docker.log 2>&1

What's wrong / what should be happening instead:  (Expected command should be successful)

[...]
Running handlers:
There was an error running gitlab-ctl reconfigure:

storage_directory[/var/opt/gitlab/.ssh] (gitlab::gitlab-shell line 38) had an error: Mixlib::ShellOut::ShellCommandFailed: ruby_block[directory resource: /var/opt/gitlab/.ssh] (/opt/gitlab/embedded/cookbooks/cache/cookbooks/package/resources/storage_directory.rb line 33) had an error: Mixlib::ShellOut::ShellCommandFailed: Expected process to exit with [0], but received '1'
---- Begin output of chmod 00700 /var/opt/gitlab/.ssh ----
STDOUT:
STDERR: chmod: changing permissions of '/var/opt/gitlab/.ssh': Operation not permitted
---- End output of chmod 00700 /var/opt/gitlab/.ssh ----
Ran chmod 00700 /var/opt/gitlab/.ssh returned 1

Running handlers complete
Chef Client failed.
[...]

Strace of the failing command, in a gist

docker output full log gist

See our contributing instructions for assistance.

Strange thing is I can't match that descriptor 3 being read() below. Last time (unrelated) fd 3 was heard of it was close()d here. Do the strace again with -f -o strace -o docker_gitlab_wsl.strace docker. At minimum there are clone()s in there but no PIDs in your strace output. I don't think that will explain fd 3 but at least it will be complete.
As a general observation, pselect(...) = TIMEOUT seems to be a common final nail in the coffin lately, even if that syscall itself isn't necessary the root cause.
read(3, "HTTP/1.1 201 Created\r\nApi-Versio"..., 4096) = 305
futex(0xc42048e538, FUTEX_WAKE, 1)      = 1
clock_gettime(CLOCK_REALTIME, {tv_sec=1526235095, tv_nsec=215657400}) = 0
clock_gettime(CLOCK_MONOTONIC, {tv_sec=144, tv_nsec=886688000}) = 0
futex(0xc4204b8138, FUTEX_WAKE, 1)      = 1
read(3, 0xc4202ae000, 4096)             = -1 EAGAIN (Resource temporarily unavailable)
read(3, 0xc4202ae000, 4096)             = -1 EAGAIN (Resource temporarily unavailable)
futex(0x256da18, FUTEX_WAIT, 0, NULL)   = 0
futex(0xc4204b8138, FUTEX_WAKE, 1)      = 1
futex(0x256da18, FUTEX_WAIT, 0, NULL)   = 0
futex(0x256da18, FUTEX_WAIT, 0, NULL)   = -1 EAGAIN (Resource temporarily unavailable)
pselect6(0, NULL, NULL, NULL, {tv_sec=0, tv_nsec=3000}, NULL) = 0 (Timeout)
futex(0x256da18, FUTEX_WAIT, 0, NULL)   = -1 EAGAIN (Resource temporarily unavailable)
pselect6(0, NULL, NULL, NULL, {tv_sec=0, tv_nsec=3000}, NULL) = 0 (Timeout)

I've updated the docker_gitlab_wsl.strace on gist to include trace for child processes.

For comparison, after more investigation, I noticed that there are 4 scenarios in total:

Docker windows containers mode (within WSL) with host volumes (fails with above description)
docker run --platform=linux --name gitlab -p 6080:80 -p 6022:22 -p 6443:443 -v c:/gitlab-ce/config:/etc/gitlab -v c:/gitlab-ce/logs:/var/log/gitlab -v c:/gitlab-ce/data:/var/opt/gitlab --rm gitlab/gitlab-ce
Docker windows containers mode (within WSL) with container volumes (fails with above description)
docker run --platform=linux --name gitlab -p 6080:80 -p 6022:22 -p 6443:443 -v gitlab_config:/etc/gitlab -v gitlab_logs:/var/log/gitlab -v gitlab_data:/var/opt/gitlab --rm gitlab/gitlab-ce
Docker linux containers mode (within Hyper-V) with host volumes (fails with above description)
docker run --name gitlab -p 6080:80 -p 6022:22 -p 6443:443 -v c:/gitlab-ce/config:/etc/gitlab -v c:/gitlab-ce/logs:/var/log/gitlab -v c:/gitlab-ce/data:/var/opt/gitlab --rm gitlab/gitlab-ce
Docker linux containers mode (within Hyper-V) with container volumes (passes, the container is successful)
docker run --name gitlab -p 6080:80 -p 6022:22 -p 6443:443 -v gitlab_config:/etc/gitlab -v gitlab_logs:/var/log/gitlab -v gitlab_data:/var/opt/gitlab --rm gitlab/gitlab-ce

The result files of failed cases are similar so I did not attach them.

probably this works in WSL2, closing

This is not working in WSL 2 on Win 10 Enterprise backed by Ubuntu 18.04.

This is not working in WSL 2 on Win 10 Enterprise backed by Ubuntu 18.04.

STDERR: chmod: changing permissions of '/var/opt/gitlab/.ssh': Operation not permitted

Same issue for me on Windows 10 with WSL2 and these distros:

Alpine using Docker installed via package manager
Fedora using WSL integrated Docker

@zckman Can you provide steps/commands to reproduce the issue?

@zckman Can you provide steps/commands to reproduce the issue?

I use yuk7/AlpineWSL. Docker was installed with apk.
λ wsl --version
WSL-Version: <IP_ADDRESS>
Kernelversion: <IP_ADDRESS>
WSLg-Version: 1.0.47
MSRDC-Version: 1.2.3575
Direct3D-Version: 1.606.4
DXCore-Version: 10.0.25131.1002-220531-1700.rs-onecore-base2-hyp
Windows Version: 10.0.19044.2364

λ wsl -l -v
  NAME                   STATE           VERSION
* Alpine                 Running         2

This is my docker-compose.yml:
version: '3'
services:
  gitlab:
    image: gitlab/gitlab-ce:15.6.0-ce.0
    environment:
      GITLAB_OMNIBUS_CONFIG: |
        external_url 'http://localhost:52080'
    volumes:
      - ./data/gitlab/config:/etc/gitlab:Z
      - ./data/gitlab/logs:/var/log/gitlab:Z
      - ./data/gitlab/data:/var/opt/gitlab:Z
    ports:
      - 52080:80
      - 52443:443
      - 52022:22

When I enter the WSL shell and run docker-compose up, I get this and the container exits:
STDERR: chmod: changing permissions of '/var/opt/gitlab/.ssh': Operation not permitted

I get a different error message. Am I doing anything wrong here?
$ docker-compose up
Creating test_gitlab_1 ... error
ERROR: for test_gitlab_1  Cannot create container for service gitlab: invalid port specification: "3121342"
ERROR: for gitlab  Cannot create container for service gitlab: invalid port specification: "3121342"
ERROR: Encountered errors while bringing up the project.

I found that the ports need to be in double quote in that docker-compose.yml file. After doing that, things are working fine. There are some logs but no error so far.

I guess you're about the quotes. But the container exits before that.
Here are the logs:
docker-compose-up.out.txt
cinc-stacktrace.out.txt

I am not sure why it causes error in your setup. But that docker image is working fine in my system. I have not seen any error in the docker output. Though the memory usage just ramping up more than 4 GB. Running GitLab instance in WSL2 may not be a proper solution.

BTW, I do not use Docker Desktop for Windows, only dockerd and docker command in Linux distribution. Just preference :)

Same error occurred when I use -v to bind a windows  path (/mnd/d/balabala) for /var/opt/gitlab. After google, I found this coment. Then I try to use command docker volume create xxx to create a volume and bind it to /var/opt/gitlab. The error disappeared.
PS:

Windows 10.0.19044.2251
WSL2 with Debian
Docker for windows 4.14.1 (91661)


500 Error on /admin/ after installing with docker

Hello,
I installed microweber with docker, accessed the IP and filled in the required detailed for installation. After that it redirected me to /admin/ which returned a 500 error.
I turned on debugging in config/app.php and this is the error:

Vite manifest not found at: /var/www/html/public/build/manifest.json (View: /var/www/html/src/MicroweberPackages/Admin/resources/views/layouts/partials/header.blade.php) (View: /var/www/html/src/MicroweberPackages/Admin/resources/views/layouts/partials/header.blade.php) (View: /var/www/html/src/MicroweberPackages/Admin/resources/views/layouts/partials/header.blade.php)

How can I fix this?
Thank you.

did you try with docker-compose up or with the regular docker image ?

did you try with docker-compose up or with the regular docker image ?

docker compose up -d
After cloning the repo.
I managed to fix it by entering the container (docker exec -it container_name bash) and doing npm install && npm run build


K means mesh

Description
Problem Statement
The uniform mesh converter comes up with a uniform mesh for homogenization through the _computeAverageAxialMesh method. This method generally works well, but it does two possibly undesirable things:

It filters out non-conforming axial meshes with a difference tolerance of 20%. When an assembly has mesh lines that are very far from the "average" axial mesh, that assembly's mesh is dropped from the averaging routine. This can cause important material boundaries in an assembly to be disregarded by the uniform mesh converter, creating significant homogenization/blending of materials that are potentially highly unlike one another (e.g., fuel and plenum).
When two different assemblies have mesh lines that are spread out by a few cm, but still within 20% tolerance of the "average" mesh, the average mesh is applied. This effectively stretches out one block and compresses another in each assembly. If the line being moved is also a significant material boundary (fuel/plenum), this can also cause an undesirable degree of homogenization/blending between unlike materials.

Proposed Solution
This PR generates the uniform mesh used for homogenization through k-means clustering. The goal is to preserve more of the important assembly mesh lines in the uniform mesh while still avoiding unmanageably small axial mesh sizes. In broad brush strokes, the algorithm does the following:

Create a sorted list of all axial mesh lines from all assemblies in the problem. Round these mesh to the nearest 2 decimal places (0.1 mm) and remove duplicates from the list.
Use k-means clustering to determine an axial mesh that most closely fits the list of all mesh in the problem. Start with N coordinates, where N is the length of the reference assembly axial mesh.
For each k-means coordinate, if all of its nearest-neighbor mesh lines are within the mesh tolerance (default = 2 cm), replace all of the original mesh locations with the cluster coordinate. Round and remove duplicates again.
Increment the number of cluster coordinates by 1 and repeat steps 2 & 3 until the error returned by the kmeans() function is below the tolerance (default 1e-5).

The iteration typically stops when the incrementing number of cluster coordinates N converges with the length of the list of all meshes in the problem, which decreases in size as clusters are identified and then reduced down to a single point. At this point, the k-means clustering becomes trivial and the error drops to virtually zero.
Note: There are also some small changes made to the routine for determining the b.p.xsType of the new blocks created by the uniform mesh converter. The need for this was identified while testing with the new k-means uniform mesh algorithm.

Checklist

[x] This PR has only one purpose or idea.
[x] Tests have been added/updated to verify that the new/changed code works.

[x] The code style follows good practices.
[x] The commit message(s) follow good practices.

[x] The release notes (location doc/release/0.X.rst) are up-to-date with any bug fixes or new features.
[x] The documentation is still up-to-date in the doc folder.
[x] The dependencies are still up-to-date in setup.py.

This is neat @mgjarrett! Is there any way to have the meshing parameters be based on usse settings? I know you probably looked at what would be reasonable defaults but I'm not sure how flexible these defaults would be in general. What are your thoughts?

This is neat @mgjarrett! Is there any way to have the meshing parameters be based on usse settings? I know you probably looked at what would be reasonable defaults but I'm not sure how flexible these defaults would be in general. What are your thoughts?

Yeah, I went with a default meshTolerance of 2 cm. I think this will usually lead to a mesh size of at least 4 cm. The function accepts an input argument, so we'd just have to make that a user setting that could be passed through.
I would be very interested in a variable mesh size throughout the core. If we had the capability to have 6-10 cm mesh size within the active core and ~20 cm mesh well above/below the active core, we could probably significantly cut down on the size of the globalFlux input models. That could speed things up. This would probably take a little bit of work to implement, and we don't really have time for it at the moment.

The coverage drop appears to be coverage spray

This is no longer active. We might eventually want to incorporate it into the new UniformMeshGenerator but I'm closing it for now.


refactor: generic hesai unit tests

PR Type

Improvement
Refactoring

Related Links
Description
This PR refactors the Hesai unit tests to a generic form.
This is motivated by another PR I will open shortly, which implements a new unit test for each sensor, which I did not want to implement over and over again for each sensor model.
Previously, for each sensor model, a hesai_ros_decoder_test_XYZ.cpp containing a full implementation of the HesaiRosDecoderTest node and a hesai_ros_decoder_test_main_XYZ.cpp handling the launch of said node were implemented.
Looking at the diff between the implementations for e.g. Pandar40P and Pandar64, the only differences are the ROS parameter values (such as model_name, bag_path, etc.):
$ diff hesai_ros_decoder_test_40p.cpp hesai_ros_decoder_test_64.cpp
1c1
< #include "hesai_ros_decoder_test_40p.hpp"
---
> #include "hesai_ros_decoder_test_64.hpp"
84c84,87
< Status HesaiRosDecoderTest::GetStatus() { return wrapper_status_; }
---
> Status HesaiRosDecoderTest::GetStatus()
> {
>   return wrapper_status_;
> }
103c106
<     this->declare_parameter<std::string>("sensor_model", "Pandar40P");
---
>     this->declare_parameter<std::string>("sensor_model", "Pandar64");
145c148
<       "calibration_file", (calib_dir / "Pandar40P.csv").string(), descriptor);
---
>       "calibration_file", (calib_dir / "Pandar64.csv").string(), descriptor);
166c169
<       "bag_path", (bag_root_dir / "40p" / "1673400149412331409").string(), descriptor);
---
>       "bag_path", (bag_root_dir / "64" / "1673403880599376836").string(), descriptor);
274,275d276
<
<

This makes for a very straight-forward refactoring, where the parameters are passed into HesaiRosDecoderTest as a parameter struct, and the test cases being replaced by a parametrized one.
Further, to accomodate for future test cases, the HesaiRosDecoderTest::ReadBag() function has been modified to take a callback function as a parameter which is called on each decoded pointcloud and which can then perform functions specific to a given unit test.
Review Procedure
Compile and run unit tests
Remarks
Pre-Review Checklist for the PR Author
PR Author should check the checkboxes below when creating the PR.

[x] Assign PR to reviewer

Checklist for the PR Reviewer
Reviewers should check the checkboxes below before approval.

[ ] Commits are properly organized and messages are according to the guideline
[ ] (Optional) Unit tests have been written for new behavior
[ ] PR title describes the changes

Post-Review Checklist for the PR Author
PR Author should check the checkboxes below before merging.

[ ] All open points are addressed and tracked via issues or tickets

CI Checks

Build and test for PR: Required to pass before the merge.

Codecov Report
Attention: 88 lines in your changes are missing coverage. Please review.

Comparison is base (99d3560) 9.93% compared to head (dd98b26) 31.99%.

:exclamation: Your organization needs to install the Codecov GitHub app to enable full functionality.
Additional details and impacted files
@@            Coverage Diff             @@
##            main      #80       +/-   ##
==========================================
+ Coverage   9.93%   31.99%   +22.06%
==========================================
  Files        118        7      -111
  Lines      10147      722     -9425
  Branches    1533      448     -1085
==========================================
- Hits        1008      231      -777
+ Misses      8034       94     -7940
+ Partials    1105      397      -708

Flag
Coverage Δ

differential
31.99% <24.78%> (?)

total
?

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

Files
Coverage Δ

nebula_tests/hesai/hesai_common.hpp
14.81% <0.00%> (-25.19%)
:arrow_down:

nebula_tests/hesai/hesai_ros_decoder_test_main.cpp
34.09% <34.09%> (ø)

nebula_tests/hesai/hesai_ros_decoder_test.cpp
35.02% <25.00%> (ø)

... and 101 files with indirect coverage changes

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


Feature/dependency update

i18n ~> 0.6.11 dependency is too restrictive and results in conflicts with rails 4.2 which requires >= 0.7.0

Sorry for delay in reviewing. I get the following spec failures on this branch - can you check/fix?
Failures:

  1) Tangocard::Brand instance methods fixed price to_money should properly format the unit_price
     Failure/Error: @reward.to_money(:unit_price).format.should == '$5.00'
     I18n::InvalidLocale:
       :en is not a valid locale
     # ./spec/lib/tangocard/reward_spec.rb:57:in `block (5 levels) in <top (required)>'

  2) Tangocard::Brand instance methods variable price to_money should properly format the max_price
     Failure/Error: @reward.to_money(:max_price).format.should == '$5.00'
     I18n::InvalidLocale:
       :en is not a valid locale
     # ./spec/lib/tangocard/reward_spec.rb:115:in `block (5 levels) in <top (required)>'

  3) Tangocard::Brand instance methods variable price to_money should properly format the min_price
     Failure/Error: @reward.to_money(:min_price).format.should == '$5.00'
     I18n::InvalidLocale:
       :en is not a valid locale
     # ./spec/lib/tangocard/reward_spec.rb:110:in `block (5 levels) in <top (required)>'

Finished in 0.11578 seconds
64 examples, 3 failures, 2 pending

Failed examples:

rspec ./spec/lib/tangocard/reward_spec.rb:55 # Tangocard::Brand instance methods fixed price to_money should properly format the unit_price
rspec ./spec/lib/tangocard/reward_spec.rb:113 # Tangocard::Brand instance methods variable price to_money should properly format the max_price
rspec ./spec/lib/tangocard/reward_spec.rb:108 # Tangocard::Brand instance methods variable price to_money should properly format the min_price

doh, accidentally clicked the button to merge this in. Reverted the merge, but this PR is now closed. Can you resolve the failing specs and then resubmit the PR?


What is the correct started task in Zowe V2? ZWESVSTC or ZWESLSTC?

In Zowe doc for V2 section Installing and starting the Zowe started task (ZWESLSTC)
https://docs.zowe.org/stable/user-guide/configure-zowe-server/
Contents looks like still V1, what should be the correct started task used in V2?  ZWESVSTC or ZWESLSTC?  Name ZWESVSTC is used in the doc, but seems there's no ZWESVSTC provided in dataset .SZWESAMP
Step 1: Copy the PROCLIB member ZWESVSTC
Step 2: Configure ZWESVSTC to run under the correct user ID
Step 3: Launch the ZWESVSTC started task

And this part of document is still referring to instance_dir.  I think there's no instance concept now?
Option 1: Starting Zowe from a USS shell
To launch the ZWESVSTC started task, run the zowe-start.sh script from a USS shell. This reads the configuration values from the instance.env file in the Zowe instance directory.

cd <ZOWE_INSTANCE_DIR>/bin
./zowe-start.sh

Hi @rjmaomao , the cited topic https://docs.zowe.org/stable/user-guide/configure-zowe-server/ is out-of-date and it has been removed from Zowe docs now. We're sorry for the confusion.
In V2, the started task name is ZWESLSTC. Check out this topic for more details  https://docs.zowe.org/stable/user-guide/install-stc-members. Let us know if you have further questions.


docs: add some lines of documentation to clear doubts

Upstream: #677

Description
It is a PR just to resolve issue #352
Add a few lines to explain how to define the coordinates
Testing guidelines
Just test it using VS Code
Checklist

[X] I have read the contributing guidelines.
[X] I have added relevant tests.
[X] I have documented all new additions.

The way this PR defines X and Y is very unclear imo.
Also, looking at the original issue, it would seem like the main difference between OPs perception of the x and y coordinate system and the actual tui implementation is only that the origin is in the top left instead of bottom left.

Maybe just a note somewhere prominent that "The origin is in the upper left corner for all widgets"?

I honestly feel like it's pretty common sense that the origin is in the top left corner in tui applications. It also feels weird to specify it in this small case where as I'm sure there's dozens if not hundreds of places we could specify this in this crate.

If I can get a couple upvotes on this message, I'll close this PR I think. We can take another look at it if someone requests it again.

Alright, closing this then, if someone stumbles on this and disagrees / would like to discuss it further, feel free to open a discussion.


getSelectedColumns function has not a boolean parameter to get only ids as mentioned in the guide

Unlike what is reported in the guide, the getSelectedColumns function does not include the boolean parameter
https://github.com/paulhodel/jexcel/blob/c009cf1d9ccd27e30f2e00cc42fd52008e0d134d/src/js/jexcel.core.js#L4502
https://bossanova.uk/jexcel/v4/docs/programmatically-changes

Thanks, it has been fixed.


Improve Dashboard Metrics

Shift to subgraph account owned by OlympusDAO
Shift to subgraph with numerous improvements (https://github.com/OlympusDAO/olympus-protocol-metrics-subgraph/pull/2)
Use liquid backing instead of total backing #1997
Market value graph now shows stable/volatile/POL as categories
Improvements to tooltips and terminology
Disables Multifarm treasury and revenue tabs
Use gOHM price and current index from the subgraph
Enables specifying the subgraph id through a URL parameter (e.g. #/dashboard?subgraphId=Qmmmmmmm)

Use this link to preview the results: https://bafybeibley73s4fswix7domjdouc4dfxmvy2uscmhpjwkppoziay53q22q.on.fleek.co/#/dashboard
The subgraph deployed in production is an old version (until indexing on the new version completes), so the dashboard at the fleek preview won't load correctly until then.

looks good 👍

@appleseed-iii this is ready to merge. Data is up to date. I've checked the Fleek build and it shows the correct data.

waiting on final confirmation per earlier conversation in discord

Confirmed that specifying the subgraphId works. Without any parameters, it loads the production subgraph.


🐛 [XTEVE] database don't update

the home of Xteve as change with the new version of SenexCrenshaw
config folder : /home/xteve/conf
bin folder: /home/xteve/bin
Do you have any other changes to make on your side?
thank you

Hi,
Normally the location should not impact as in Dockerfile the command is  ‘CMD ["-config", "/data", "-port", "34400"]‘, so it's strange it doesn't update

thank you, i'm sorry but it don't work :(
the addon don't start and in log i have:
/bin/sh: /data/bin/xteve: not found

I've pushed a new version that should avoid that, does it allow data persistence? Thanks

ok now it work perfectly
however, you have to remap the channels but it works with an https host and a redirection to a domain name, thank you very much!


Added example how to use API request and response endpoint version

Also added unit test case
Resolves #135

To the observer/wanderer;
In this PR; the API versioning through media type / content type header in question is defined here.
https://github.com/umccr-illumina/libica/blob/c67da3f/swagger/openapi_public.yaml#L3721-L3750
If you are using openapi-generator to generate SDK and, having similar OpenAPI definition; the code snippet in PR show how to switch request/response API version from the client/SDK side.
Though, the server has to respond the body content representation accordingly.
Upstream / related:

https://github.com/OpenAPITools/openapi-generator/issues/3569
https://github.com/OAI/OpenAPI-Specification/issues/2142
https://stackoverflow.com/questions/72954680/handling-two-different-response-media-types-with-openapi-generator-maven-plugin


Integrate illink with the build pipeline

We want to do illink as part of either build/publish to trim the BCL based on what your app -uses.

[ ] Create a nuget package with the illinker tool.
[ ] Consume the illinker as part of our build process.
[ ] Update our MSBuild targets to run the linker on the application after build.

Isn't that already done by: ILLink.Tasks package as described in: linker instructions ?

@javiercn This is done, right? I'll mark it as closed, but if this was meant to be left open because there's still some outstanding work, please reopen or let me know!

Yeah, that is correct. I missed it while going through the issues. Thanks!


Problem while running sudo when logged in as a non-root user

I tried passing a separate user and password while bringing up the container. However I'm getting the following error when running a sudo command
sudo: /usr/bin/sudo must be owned by uid 0 and have the setuid bit set

Fix issue #66


Compute node startup/respawn

There are few tasks that we need to solve before we can restart compute node without any bad consequences.
Namely:

download pg_controldata file
download clog files
download multixact files
download 2pc files
unlock auth #113

Beside auth all other points are duplicate of https://github.com/zenithdb/zenith/issues/40


unixODBCDrivers.msodbcsql17: add missing openssl dependency

Motivation for this change
Partial fix for https://github.com/NixOS/nixpkgs/pull/67594. It turns out that the isql tool provided by the unixODBC package requires openssl to be working with msodbcsql17. If you run ldd on the libmsodbcsql17 .so file from the old version compared to the new version (new and old defined by https://github.com/NixOS/nixpkgs/pull/67594) then you'll see ldd no longer lists openssl, even though openssl is still required for the isql tool to function. I'm not entirely sure about the details but openssl is listed as a dependency by microsoft and isql fails with
[08001][Microsoft][ODBC Driver 17 for SQL Server]SSL Provider: [OpenSSL library could not be loaded, make sure OpenSSL 1.0 or 1.1 is installed]
[08001][Microsoft][ODBC Driver 17 for SQL Server]Client unable to establish connection

if openssl isn't patchelf'd in... so this change is necessary.
note: isql is broken in 19.09 when using msodbcsql17 and this PR requires backport.
Things done

[x] Tested using sandboxing (nix.useSandbox on NixOS, or option sandbox in nix.conf on non-NixOS)
Built on platform(s)

[x] NixOS
[ ] macOS
[ ] other Linux distributions

[ ] Tested via one or more NixOS test(s) if existing and applicable for the change (look inside nixos/tests)
[ ] Tested compilation of all pkgs that depend on this change using nix-shell -p nix-review --run "nix-review wip"
[x] Tested execution of all binary files (usually in ./result/bin/)
[ ] Determined the impact on package closure size (by running nix path-info -S before and after)
[ ] Ensured that relevant documentation is up to date
[ ] Fits CONTRIBUTING.md.

Notify maintainers
cc @spencerjanssen as an FYI

Will get a backport ready tonight.


force-tenant-connection-of-models fails with Laravel Spark

Description
Installed Laravel Spark, added its models to the force-tenant-connection-of-models array and they're still forcing themselves onto the system connection. May not be strictly Spark related, it's just what I'm running into issues with. Talking with luceos on Discord, we've tried:

Debugging Model::getConnection, results in: https://i.imgur.com/2T1ketQ.png
Using print_debug_backtrace, results in nothing.
Moving boot() to register() in Hyn\Tenancy\Providers\Tenants\EventProvider, results in ReflectionException (-1) Class cache does not exist

We were thinking it may be relation related, but where the code is failing, it's accessing the Notification model and querying it directly rather than off a relation.

Actual behavior
Forces itself to the system connection where the table doesn't exist. See error log below.
Expected behavior
Should use the tenant connection to find the correct prefixed table.

Information

hyn/multi-tenant version: 5.1.15
laravel version: 5.6.24
spark version: 6.0.10
database driver and version: MySQL 5.7.22
webserver software and version: nginx/1.13.12
php version: 7.1.16

tenancy.php config
https://gist.github.com/xKairu/734a1258c87d5cd2a2909dd0e735fed1
LIMIT_UUID_LENGTH_32=true
TENANCY_DIRECTORY_AUTO_DELETE=true
TENANCY_DATABASE_AUTO_DELETE=true
TENANCY_DATABASE_AUTO_DELETE_USER=true
TENANCY_DATABASE_DIVISION_MODE=prefix
TENANCY_EARLY_IDENTIFICATION=true
TENANCY_DEFAULT_CONNECTION=system

webserver.php config
https://gist.github.com/xKairu/59da2d10bfcd2e7db12bb8d235067c27

Error log
https://gist.github.com/xKairu/2d2425fa7f8fcecd6a015f572621e58b

Just updated to 5.2 beta and the issue still persists. Other than hardcoding changes to Spark itself, I haven't found any solution either.

Added tenancy to the don’t discover in composer.json, added tenancy’s provider above Spark, enabled early identification, cleared caches etc etc. Still getting the same error.

This should have been fixed, please confirm and re-open in case it still causes troubles.


Duplicate repos when searching

Some repos show duplicates when searching. Is there a way to fix this, or flush the dups?

Can confirm we're seeing this in 0.4.0.

GitHub changed the GET /user/repos endpoint to return all repositories. It previously omitted organization repositories, which is why you see Drone duplicating organization repositories in the list.
We need a fix that takes GitHub Enterprise into account which may not yet include this change, depending on which version is installed.
Note that this only impacts the view layer which fetches the list directly from GitHub. It does not impact the backend (ie we don't store two records of your repository in the database, trigger two builds, etc)

this was fixed in the drone:0.4.2 tag

Thanks for the update. Before I open another issue, I wanted to ask if you know if 0.4.2 addresses another issue we have seen recently, where our org has a fork of another org's private repo, and it doesn't show up in our repo list in drone?

@foresmac drone uses the following api to return an unmodified list of repositories:
https://developer.github.com/v3/repos/#list-your-repositories
this endpoint is defined as the following:

This includes repositories owned by the authenticated user, repositories where the authenticated user is a collaborator, and repositories that the authenticated user has access to through an organization membership.

Please verify the repository is returned by this endpoint (and subsequently not displayed in Drone) before opening an issue in Drone. If it is not returned by the endpoint an issue needs to be opened with GitHub support.


Added network security group to subnet

Deploy failed with
│ Error: updating Network Security Group Association for Subnet "pcc-staging-node-subnet" (Virtual Network "pcc-staging-network" / Resource Group "pcc-staging-rg"): network.SubnetsClient#CreateOrUpdate: Failure sending request: StatusCode=0 -- Original Error: Code="LinkedAuthorizationFailed" Message="The client '686f04b6-afa9-4466-a671-7b4ddd260118' with object id '686f04b6-afa9-4466-a671-7b4ddd260118' has permission to perform action 'Microsoft.Network/virtualNetworks/subnets/write' on scope '/subscriptions/***/resourceGroups/pcc-staging-rg/providers/Microsoft.Network/virtualNetworks/pcc-staging-network/subnets/pcc-staging-node-subnet'; however, it does not have permission to perform action 'Microsoft.Network/routeTables/join/action' on the linked scope(s) '/subscriptions/***/resourceGroups/MC_pcc-staging-rg_pcc-staging-cluster_westeurope/providers/Microsoft.Network/routeTables/aks-agentpool-27180469-routetable' or the linked scope(s) are invalid."

The MC_... resource group is the one created by AKS (we're using the subnet on each of the node pools).

https://github.com/microsoft/planetary-computer-hub/runs/4370436363?check_suite_focus=true passed


Make Template guesser look at parent classes for bundle (The better way)

Solves the same issue as this pull request: https://github.com/sensio/SensioFrameworkExtraBundle/pull/98
but is a better way to do that - inside getBundleForClass() method and without catching exceptions (which must be slower and would be the default behavior for all secured via annotations controllers with the latest JMSSecurityExtraBundle)

Fixes https://github.com/symfony/symfony-standard/issues/285 after applying https://github.com/symfony/symfony-standard/pull/275


How to get Web Service Key for current user

Codeunit 9801 Identity Management has functions to create and get web service keys. Those functions are not exposed for Extensions v2.
What if an app needs to create or get the web service key for the current user? The scenario would be that an app creates a web service and need to access that from outside. The only way is to ask the user to create a web service key with on the User Card and copy paste it. That's not a user friendly process.
Would it be possible to add functions to Codeunit Identity Management like 'CreateWebServicesKeyCurrentUser' and 'GetWebServicesKeyCurrentUser' and expose them for Extensions v2?

Hi Arend-Jan,
Great question - and I'm not going to answer it ;) but I do want to understand it so I hope you can help me.
Could you share some scenario where you would want the web service key and not use an OAuth flow for Extensions v2?

The scenario would be a to have an app create a web service and a key without bothering the user.
Why not use OAuth? Well... just because it's quite new and I didn't have it on my mind as the way to go.
To be clear: are you referring to this? https://msdn.microsoft.com/en-us/library/mt634540(v=nav.90).aspx

Hmmm... reading more closely through that article now. You need to have information from Azure (App ID URI / AAD Tenant ID) that is for sure not accessible when you set up an application that needs to access D365 web services. So I guess we need a walk through for D365 as well. Is that already available?

It all depends on what you want to do :)
The link is correct but you don't need to know the aad tenant id, just auth against the common endpoint as you want the backend (extension backend service) to work for all tenants not just one.
So you need an app in an AAD tenant (ex. extension owner AAD tenant) maked as multitenant (so it can be access by other tenants) and setup to require Financials permissions.
Then you can use that to get access to a customer tenant web service.
We don't support OAuth 2 scopes yet but you can use "normal" OAuth 1 based on resources.
Not really the place for POC but I did do a small one - try it on http://financials.mydemo.dk
Took the code from https://dev.office.com/code-samples-detail/2306 and modified it a bit - it's a pure clientside app so all code is there for your enjoyment :)

Hi Arend-Jan,
Did you get OAuth to work on D365, did you find any instructions on it?
Is the Identity Management codeunit completely off the table? We have built a payment app that we invoke from our D365 extension using URI. Included in the URI is a link to a D365 web service, the username and password (web service access key). The payment app collects the payment and posts the results to D365 through the provided web service.
It would be a lot nicer to be able to do this using the web service access key instead of having to implement the OAuth functionality in our payment app. The user experience is also better when there is no need enter the credentials in our app.


Update chaos-studio-fault-library.md

Added links for service tag name

@prasha-microsoft : Thanks for your contribution! The author(s) have been notified to review your proposed change.

@johnkemnetz
Can you review this PR?
IMPORTANT: When this content is ready to merge, you must add #sign-off in a comment or the approval may get overlooked.
#label:"aq-pr-triaged"
@MicrosoftDocs/public-repo-pr-review-team


Add squiggle notebooks

A bit of a larger merge request.
Allows the creation of Squiggle Notebooks. This requires a number of changes, notably allowing users to specify custom environments, and for @quri/squiggle-lang to support returning environments (This means that the run function from @quri/squiglge-lang has been changed in a breaking way!).
the run function in the @quri/squiggle-lang now has an extra argument, allowing you to add an environment from a past execution. It also returns a different data type, allowing one to look at both the "exports" and the "environment".
There was a number of changes to the components library to also support environments.
But this should get this up to date with the latest developments needed to support notebooks!
Also made 2 fixes that fixes type checking as broken in #47 (adding .gen.tsx files to gitignore and adding "jsx": "react" to tsconfig)

This is exciting to see! It will probably take me a bit more time to go over though. (Maybe a few days?) Let me know if that presents bottlenecks, I could rush more if needed.

No real bottlenecks, so no need to rush. Main concern is how well it will gel with the rescript refactoring work.

Current todo list for this PR:

[ ] Get prettier to run on a pre commit hook + format code
[ ] Explain comment further
[ ] Migrate to emotion for css
[ ] Refactor test cases

My smell test of typescript code is very weak and probably irrelevant, since I've never written a lick of typescript. but it passes my smelltest!
Rescript code is fine too.

https://styled-components.com/


Tests: adjust VFS tests for Windows

Windows requires that we have the destination exist before we create the
file to disambiguate between the file and directory symbolic link case.
Swap the ordering of the fixture creation to accommodate this.
The isExecutable check on Windows is more restrictive, identifying
only binary executables rather than scripts.  As a result, we must
disable one of the checks.

@swift-ci please smoke test

@swift-ci please smoke test


Add a function to build volume images

Add function New-VolumeImage to build volume images, the volume image can be used as a D disk on Openstack instances.
How to use:
Set-IniFileValue -Path (Resolve-Path $ConfigFilePath) -Section "DEFAULT" `
                                                      -Key "image_path" `
                                                      -Value "C:\CloudImage\40G-D-Volume.img"
Set-IniFileValue -Path (Resolve-Path $ConfigFilePath) -Section "DEFAULT" `
                                                      -Key "image_type" `
                                                      -Value "MAAS"
Set-IniFileValue -Path (Resolve-Path $ConfigFilePath) -Section "vm" `
                                                      -Key "disk_size" `
                                                      -Value "42949672960"
New-VolumeImage -ConfigFilePath $ConfigFilePath

:white_check_mark: Build windows-openstack-imaging-tools 1.0.265 completed (commit https://github.com/cloudbase/windows-openstack-imaging-tools/commit/5cde37fa03 by @Kuanlin-Chen)

Excuse me, do you have any plan to promote this feature? If not, it's ok to close this thread.

It was for our VDI (Virtual Desktop) project which runs on OpenStack platform, customers required a particular volume size like 50GB, 200GB, or even 1TB, the volume will be attached to the Nova instances and works as a D drive on Windows OS.
My purpose was to generate volume images fast and automatically, but I can barely remember the reason why I did this through windows-openstack-imaging-tools rather than using OpenStack cli command, perhaps, we just tried to avoid increasing too much load for OpenStack.

Closing this PR, as the functionality seems to not be needed upstream.


Remove redundant check and move second dynamic_cast where it belongs in SceneState::instantiate

ClassDB::is_class_enabled(snames[n.type]) check is reduntant because ClassDB::instantiate(snames[n.type]) already handles exact same checks and even more (so we have less rwlock creations, less if checks and one less function call in cases where is_class_enabled returns true).
Rearranging cast_to (dynamic_cast) let's us calling it only once in best case scenarios (so in most cases without warnings) instead of twice every time.

@akien-mga I see that in 3.x there is ClassDB::instance instead of ClassDB::instantiate. Should I prepare separate PR for 3.x?

Thanks for the advice, I can handle this while cherry-picking myself :+1:

Cherry-picked for 3.5.


0.23 release downloading as 0.22 binary?

Downloaded 0.23 release (binary), however showing up as:
# ./goofys.dms -v
goofys version 0.22.0-67dee3274f7b3744351f6dfae7216c7593b289a2

Yes I must have made a mistake. Thankfully 67dee3274f7b3744351f6dfae7216c7593b289a2 is the commit right before the tag so it should have exactly the same fixes as the real 0.23.0. I will make a 0.23.1 release


fatal error: 'functional' file not found

Version
2.7.0
Short overview
Build failed with error "fatal error: 'functional' file not found
Detailed error description
Unable to build libnut-core, is failing with error "fatal error: 'functional' file not found - running on a Macbook Air with M1 chipset
have xXcode Command Line Tools latest version installed.
Steps to reproduce error
execute npm run build:release in the terminal
Additional content

Please provide any (mandatory) additional data to reproduce the error (Dockerfiles etc.)

Fixed this issue after re-installing the XCode Command Line Tools after removing lt 👍


Add ability to track name of the executable script by not resolving symlinks

Change Cwd::abs_path to File::Spec->rel2abs

Started conversation here:
https://groups.google.com/forum/#!topic/mojolicious/OQEH0Aisouo
Sebastian, would you mind to place label: work in progress
I'm willing to cover this change with some tests and add some words in documentation.
But its 2:47am over here :) So gonna do it a bit later.

Please don't open unfinished pull requests.

Sorry, I thought its a common practice to make work visible earlier by labeling it "work in progress": #737

For the record, i've actually tried this patch and it didn't pass all tests on OS X.

@kraih would you mind to post prove result?

The 6.06 release actually used rel2abs instead of abs_path in some cases, and the bug reports have started coming in. https://github.com/kraih/mojo/issues/779

A few more.
http://www.cpantesters.org/cpan/report/e9ce217a-6c9d-1014-bc1b-836f56a2bf19
http://www.cpantesters.org/cpan/report/cd867c2d-6bf6-1014-9b4e-4eb7ae217b3d
http://www.cpantesters.org/cpan/report/ada72587-6bf7-1014-95c5-84ab24fcbee8
http://www.cpantesters.org/cpan/report/c6dd4dd1-6bf3-1014-9398-3af5bc74cf01

@kraih my first intention was to fix daemon.t in a way:

rel2abs($path), 'right script name');

Which calls "canonpath" inside of it. But just removed it :(
As for the current issues, only daemon.t is failing and imho the issue as itself not critical.
p.s. its a pity that you are reverting it :(

Failing installations for a large number of our users is a very critical issue!

We have decided that this is not worth doing more experiments, and the change has therefore been reverted. https://github.com/kraih/mojo/commit/693a3cf2ba8288cca89a45781dc9b33406251bde

Got it.
Thanks for the try.


Add Donations Page

Add a page with information on why and how to donate.

@JordanMajd I split this out into two issues.
Donations button currently links directly to the Code For America site. Are you thinking of having an intermediate landing page in between to explain why/how to donate, or are we just going to run with the direct link?

The donation button looks great, but I think having an intermediate page might be useful as well.

Agreed. Like we have with FCBC. Nice to be coaxed into something with an explanation rather than click >> GIVE US MONEY

Proposed text for donate page:
donateplease.docx

That looks good. I'll make some tweaks and bring it into a page.

My mistake, looks like it's already in https://github.com/CodeForFoco/codeforfoco.github.io/blob/master/_posts/organization/2017-02-16-donate.md


Adding the example kernels to CI

Might as well build the example kernels up here in the CI!

@Ricardicus - there was a discussion a few days ago and they wanted to keep those Makefile lines in there for visibility. I assume that might still be the case?

Oh ok! I has missed that. What kind of visibility? I think the names of the files are pretty good. This doesn't change what gets built and what not. I can leave the makefile as it is if it was a philosophy behind it..

If we want some kind of explanation of the translation units in there, maybe we should add a Readme under there instead of putting that doc in makefile

If we want some kind of explanation of the translation units in there, my suggestion is that we add a Readme here under instead of putting that doc in the makefile. The comments in the makefile I removed group the files in forward and backward pass, but the files already have _backward and _forward in them.

... and there is no wildcard *.cu being built, only the targets defined in the TARGETS variable (expanded in the all:) decides what gets built and what not..

I'm ok adding these to CI I think, but I wouldn't remove them from Makefile. There are great reasons to want to use these locally during dev. How long does this compile for / how much time does it add to CI

All of them are still in the makefile, they are still built. It can check the time it took.

@Ricardicus - can you build them in CI with make -j?

Oh that would speed it up considerably ... can fiddle with it when i get back.. also; the reason i changed the makefile was because i considered some lines as unnecessary. This change does not change the makefiles functionality . The case for leaving these lines would be to make the makefile a bit more explanatory (with the comments)

I removed the changes to the Makefile and I added a -j4 that makes the build step faster.


Grammatical Error: a instead of an before the h2 tag.

Challenge Headline with the h2 Element has an issue.
Content:
Add an h2 tag that says

This can be simplest issue to be resolved. Just replace an with a.

I'll do this.

Hello World
hello world"CatPhotoApp".

Hello World
hello world"CatPhotoApp".

@zayn1914
Please use the Help chat room for getting challenge related help.
Happy Coding.

See: https://www.quora.com/Is-it-an-honor-or-a-honor-Which-is-grammatically-correct. I'm not sure this should be changed.

@LiamMorgan I agree with @dhcodes on this one, although my decision based on what sounded and felt more natural :sweat_smile:

Thanks @erictleung @dhcodes


Increment version to 2.5.0-SNAPSHOT

Signed-off-by: Ashish Agrawal<EMAIL_ADDRESS>Description
Increment version to 2.5.0-SNAPSHOT
Issues Resolved
N/A
Check List

[X] Commits are signed per the DCO using --signoff

By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.
For more information on following Developer Certificate of Origin and signing off your commits, please check here.

Codecov Report

Merging #571 (7354118) into 2.x (5bf15f4) will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##              2.x     #571   +/-   ##
=======================================
  Coverage   86.40%   86.40%
=======================================
  Files          51       51
  Lines        1479     1479
  Branches      352      352
=======================================
  Hits         1278     1278
  Misses        198      198
  Partials        3        3

Flag
Coverage Δ

dashboards-notifications
86.40% <ø> (ø)

Flags with carried forward coverage won't be shown. Click here to find out more.
Help us with your feedback. Take ten seconds to tell us how you rate us. Have a feature suggestion? Share it here.


Removed min_delay_between_notifications from base_install_template

Since min_delay_between_notifications has been removed I updated the base script

Hey,
Thanks for the suggestion. We have actually removed it quite some time ago on dev, you might want to check it out. The release will be coming out this or next week, we are doing last cleanups and fixes. The config will be cleaned up as well.
You might want to wait a couple of weeks, or check out the development branch now.


Accept access level attributes on imports

This feature will be protected by an experimental flag on the compiler side.

@swift-ci Please test


[DOCUMENTATION] Update the requirements of Autonomous Mode milestone

Description
Update the requirements of Car Autonomous Mode to match the existing functionalities

Update the functional requirments
Update the non functional requirments
Add scenarios
Make sure to Link the requirments page to the corresponding milestone

We done with it


improve canopy temp jacobian

Is your feature request related to a problem? Please describe.
In #675, we switched canopy temperature to be stepped implicitly. There is some behavior that suggests the jacobian approximation used could be improved - specifically these two points described in that PR:

There are two things I dont understand about this change:

there seem to be some times during the simultation where the error is always large, and a smaller dt doesnt help. For example, the 99th percentile error curve dips below the mean error for small dt, which indicates there are outliers that are very large in the top 1% error

update 9/18: it's possible this may happen during times in the simulation where temperature is changing a lot, e.g. shortly after a driver update, as opposed to when the temperature is in equilibrium. See plots in comments for more information

the derivative of SHF with respect to temperature is correct to a few percent, but the derivative of LHF with respect to temeperature is ~30% wrong. This is partly due to d_qsat/d_T errors (but Ive double checked that I entered the formula correct), but seems like it is also due to d_LHF/d_qsat. I think I have followed CLM exactly. Not sure why the error is large.

We should look into this more and see if we can use a better jacobian approximation that alleviates these issues.

Here are plots showing the difference in T at the end of a 100 day simulation between runs with dt=10s and dt=1800s. The plot on the left uses max_iters = 6, and the plot on the right uses max_iters = 10. Both have the same features and look nearly identical, except the mean error is slightly larger in the case with max_iters = 10.


ValueError: encountered unexpected variable nbnds

Using the recipe presented near the bottom of http://xarray.pydata.org/en/stable/io.html for reading in multiple files via opendap, I encounter the error referenced in the subject line.
Here is the call to read_netcdfs:
base = 'http://www.esrl.noaa.gov/psd/thredds/dodsC/Datasets/ncep.reanalysis.dailyavgs/surface_gauss/air.2m.gauss.%4u.nc'
files = [base % d for d in range(1948,2016,1)]
ds_combined = read_netcdfs(files,dim='time',transform_func=None)
I am using option decode_cf=False in xr.open_dataset
Here is the entire content of the error message:
ValueError                                Traceback (most recent call last)
 in ()
2 base = 'http://www.esrl.noaa.gov/psd/thredds/dodsC/Datasets/ncep.reanalysis.dailyavgs/surface_gauss/air.2m.gauss.%4u.nc'
3 files = [base % d for d in range(1948,2016,1)]
----> 4 ds_combined = read_netcdfs(files,dim='time',transform_func=None)
 in read_netcdfs(files, dim, transform_func)
18         paths = files
19     datasets = [process_one_path(p) for p in paths]
---> 20     combined = xr.concat(datasets, dim)
21     return combined
/usr/local/lib/python2.7/dist-packages/xarray/core/combine.pyc in concat(objs, dim, data_vars, coords, compat, positions, indexers, mode, concat_over)
112         raise TypeError('can only concatenate xarray Dataset and DataArray '
113                         'objects, got %s' % type(first_obj))
--> 114     return f(objs, dim, data_vars, coords, compat, positions)
115
116
/usr/local/lib/python2.7/dist-packages/xarray/core/combine.pyc in _dataset_concat(datasets, dim, data_vars, coords, compat, positions)
231         for k, v in iteritems(ds.variables):
232             if k not in result_vars and k not in concat_over:
--> 233                 raise ValueError('encountered unexpected variable %r' % k)
234             elif (k in result_coord_names) != (k in ds.coords):
235                 raise ValueError('%r is a coordinate in some datasets but not '
ValueError: encountered unexpected variable u'nbnds'
Any ideas as to how I can avoid triggering this error?

The problem appears to be that these datasets are inconsistent: some have an nbnds variables, and some don't. Xarray doesn't know what to do in this situation, so it raises an error. You'll need to add some custom processing logic to make the datasets consistent before you merge them.
In principle, we could handle missing variables by adding NaNs, possibly by adding a flag allow_missing_variables to concat. But this doesn't exist yet.

Yes indeed. I'm embarrassed I even posted this! It looks like the nbnds and time_bnds variables were added to the yearly files at some point.  Too bad there is absolutely no consistency in these files at all.

There's already an issue for tracking this feature -- see https://github.com/pydata/xarray/issues/508
xarray should definitely make this easier for users. Blaming the data provider for something that is actually quite common is not really fair :).


Write a blog post about the latest features in the specs

From @rgrp on December 1, 2016 10:8

Data chunking
Simplification of path and url
Compressed resources
...

Copied from original issue: frictionlessdata/frictionlessdata.io#106

Hi @rgrp I move this from the other repo because we are not writing blog posts on frictionlessdata.io (and probably never will).  I imagine this will instead go on the Labs blog, but we should track its progress here.  I do think this is a good idea, especially for current users of the specs and to have a quick summary of recent changes.  I would also include a bit of motivation for each change.
Is it too early to write this, though?  For example, about "compressed resources", there's nothing to write here yet: https://github.com/frictionlessdata/specs/issues/290
@pwalsh @jobarratt WDYT?

Too early

This was a holding item - i imagine this going out in january 😄

Closed in favour of https://github.com/frictionlessdata/project/issues/332


Plan for updating to EasyCLA?

What would you like to be added:
Update the CLA signing tooling to use the new workflow described at https://docs.linuxfoundation.org/lfx/easycla/contributors
Why this is needed:
The existing workflow uses https://identity.linuxfoundation.org/, which indicates it is being migrated to a new platform.
(Links to the older workflow below for reference.)

https://github.com/kubernetes/community/blob/master/CLA.md#the-contributor-license-agreement
https://identity.linuxfoundation.org/projects/cncf

We'll be rolling it out at an org level hopefully soonish 👍
Theres nothing for you to do. :)

Thanks for letting us know @mrbobbytables! I'm going to go ahead and close this since it seems out of our control + is on the way to being updated.
/close


Bumping dotnet csproj files

Hi there. I'm here because standard-version is deprecated.
I have a TypeScript and .NET monorepo. I can see how I can use release-please to manage Node-based projects, but I can't quite figure out how to work with .NET projects. All I'm interested in doing is bumping the Version property in a csproj file. I can see there was an attempt to add support for .NET in #549, but there is also a .NET updater in the code base and there aren't any instructions on how to use that.
Any guidance someone can offer would be greatly appreciated.

OK great I'll give that a go! A dotnet strategy would obviously be ideal though. :) Thanks.

Hey @chingor13 I tried using the extra-files with a simple strategy as you suggested, but the file isn't being touched. I searched the repo and it seems the extraFiles property is only being used in java strategies. Is that correct?

The simple strategy should inherit from the base strategy and should support generic xml updates
To use the generic-xml updaters, make sure you're using the type: xml in the manifest config. Example:
{
  "packages": {
    ".": {
      "component": "foo",
      "extra-files": [
        { "type": "xml", "path": "src/foo.csproj", "xpath": "//path/to/field" }
      ]
    }
  }
}

Sorry I should have closed this. I figured out I had my paths all wrong! I didn't realise that packages[].package.extra-files[].path was relative to the package path.


18.12 Merge 1

Merging up the changes accepted so far for the 18.12 LTS release

Why is it 18.12?

Why is it 18.12? thinking

@r0fls Check the mailing list thread where we discussed organizing a release schedule.


Error reading relationships: Multi-join relationship propagation is not supported yet

In 2.5 we started seeing errors like Multi-join relationship propagation is not supported yet: XyzEntity. This looks like a regression introduced in 9db15c25e5e7, 312a917800a7 and friends. It looks like a very specific place (related to update processing and sencha adapter) got propagated to the top level and now affects entity compiler. This broke a read-only app trying to cross multi-join relationships.
Since I need a quick patch, I am going to remove this check completely. But we may need to readd it back to entity traverser or elsewhere in the right scope. @atomashpolskiy

Wrong place... going to reopen in LinkRest.


vscode terminal difficult to use!

VSCode Version: Code 1.10.2 (8076a19fdcab7e1fc1707952d652f0bb6c6db331, 2017-03-08T14:02:52.799Z)
OS Version: Windows_NT ia32 10.0.15048
Extensions:

Extension
Author
Version

beautify
HookyQR
1.0.0

Steps to Reproduce:
1.open the vscode teminal, and type some cmd
2.you can found terminal current input key like bellow:

Closing the terminal (exit Trash icon) and opening a new one will resolve this issue.
This has happen to many times. In fact, it is reproducible. After installing Python modules using pip, will cause the terminal to behave similarly or cause carriage-return without line break after some unknown line character number.
# execute from PowerShell
python -m pip install ptvsd
# now try using terminal normally

Duplicate https://github.com/Microsoft/vscode/issues/19665

thank u


nomad_1_5: 1.5.6 -> 1.5.7 https://github.com/hashicorp/nomad/releases/tag/v1.5.7

CVE notes from upstream:

acl: Fixed a bug where a namespace ACL policy without label was applied to an unexpected namespace. CVE-2023-3072 [https://github.com/hashicorp/nomad/issues/17908]
search: Fixed a bug where ACL did not filter plugin and variable names in search endpoint. CVE-2023-3300 [https://github.com/hashicorp/nomad/issues/17906]
sentinel (Enterprise): Fixed a bug where ACL tokens could be exfiltrated via Sentinel logs CVE-2023-3299 [https://github.com/hashicorp/nomad/issues/17907]

Description of changes
https://github.com/hashicorp/nomad/releases/tag/v1.5.7
Things done

Built on platform(s)

[x] x86_64-linux
[ ] aarch64-linux
[ ] x86_64-darwin
[ ] aarch64-darwin

[ ] For non-Linux: Is sandbox = true set in nix.conf? (See Nix manual)
[x] Tested, as applicable:

NixOS test(s) (look inside nixos/tests)
and/or package tests
or, for functions and "core" functionality, tests in lib/tests or pkgs/test
made sure NixOS tests are linked to the relevant packages

[ ] Tested compilation of all packages that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD". Note: all changes have to be committed, also see nixpkgs-review usage
[x] Tested basic functionality of all binary files (usually in ./result/bin/)
23.11 Release Notes (or backporting 23.05 Release notes)

[ ] (Package updates) Added a release notes entry if the change is major or breaking
[ ] (Module updates) Added a release notes entry if the change is significant
[ ] (Module addition) Added a release notes entry if adding a new NixOS module

[x] Fits CONTRIBUTING.md.

@maxeaubrey Thank you for the review! Is this commit message better? Apparently vim cut off the URL halfway because it was too long.


X.L.Spacing reload error after update

Problem Description
Hello, i've recently updated my xmonad repositories crontrib, xmonad, extras to the latest commit. After a reload i received this error:
Error detected while loading xmonad configuration file: /home/dvmacias/.xmonad/xmonad.hs

xmonad.hs:222:63: error:
    • Couldn't match expected type ‘Integer’ with actual type ‘Int’
    • In the first argument of ‘spacing’, namely ‘s’
      In the second argument of ‘(.)’, namely ‘(spacing s)’
      In the expression:
        (gaps [(U, s), (R, s), (L, s), (D, s)]) . (spacing s)
    |
222 | gapper s = (gaps [(U, s), (R, s), (L, s), (D, s)]) . (spacing s)
    |                                                               ^

xmonad.hs:235:46: error:
    • Couldn't match expected type ‘Int’ with actual type ‘Integer’
    • In the second argument of ‘grid’, namely ‘myBorderSpace’
      In the second argument of ‘named’, namely
        ‘(grid G.T myBorderSpace)’
      In the first argument of ‘(|||)’, namely
        ‘named "TT" (grid G.T myBorderSpace)’
    |
235 |                     ||| named "TT" (grid G.T myBorderSpace) -- grid ; Top ; spacing
    |                                              ^^^^^^^^^^^^^

Please check the file for errors.

xmonad: xmessage: executeFile: does not exist (No such file or directory)

Configuration File
gapper s = (gaps [(U, s), (R, s), (L, s), (D, s)]) . (spacing s)
grid orientation s = gapper s $ G.SplitGrid orientation 1 1 (1/2) (16/9) (5/100)

myLayoutHook = onWorkspace (myWorkspaces !! 8) (avoidStruts (imLayout) ||| avoidStruts (standardLayouts))
...
         $ onWorkspaces ["DEV1","DEV2"] (avoidStruts (threeLayout) ||| avoidStruts (standardLayouts))
             $ avoidStruts (standardLayouts) ||| fullscreen
  where
    standardLayouts = named "+" (spacing myBorderSpace $ reflectHoriz $ G.Grid (16/10)) -- grid
                    ||| named "TT" (grid G.T myBorderSpace) -- grid ; Top ; spacing
                    ||| named "[]-" (grid G.L myBorderSpace) -- grid ; left ; spacing
                    ||| named "_+_" (grid G.B myBorderSpace) -- grid ; bottom ; spacing
                    ||| named "-[]" (grid G.R myBorderSpace) -- grid ; right ; spacing
    chatLayout = named "IML" $ withIM 0.4 (Role "pop-up") $ reflectHoriz $ withIM 0.3 (Role "pop-up") (trackFloating (grid G.T 0)) -- pop-up is WhatApp and Google Hangouts; whoever opens first
    gimpLayout = named "GimpL" $ withIM 0.2 (Role "gimp-dock") $ reflectHoriz $ withIM 0.3 (Role "gimp-dock") (trackFloating (grid G.T 0)) -- Gimp Layout

This particular config in my xmonad.hs has existed since 2016 and now it's failing.
What may have caused this? Any input on how to resolve it?
Thank you in advance
-dave

@LSLeary
thank you for the reply and useful info.

work every now and then. When that happens it's best to either track down the cause and see what actions need to be taken, or temporarily revert to a checkout from a month or two back (your config will probably start working again at some point).

Yes, i forget that sometimes, my apologies. I'll revert my clone back to see when it starts working again
Should i close this or simply wait?

I can notify you here when the work on X.L.Spacing looks complete; I'd say wait and see whether or not your config is still broken then.

Sounds good!
Thank you

If it's of any use, i had to rollback to https://github.com/xmonad/xmonad-contrib/commit/108431d03db0558978e56ab740a5b90be2d2cb95 for my config to work

@davama X.L.Spacing should be stable now.

Just an update:
Had to make some edits to xmonad-extras.cabal file to build.
https://github.com/xmonad/xmonad-extras/pull/16
X.L.Spacing works as before


OUTDATED: Core Refactor for MQTT - Close After Migrating

NOT READY TO MERGE - TESTING AGAINST CI

I guess we can close this @dave-gray101 ?

I guess we can close this @dave-gray101 ?

While I'm barely looking back at this as I've changed some things, I would like to keep it for the last part of the backend/endpoint refactor. Soon :D


feat: Add integration with Composio tools

Description
Add integration with Composio tools. We add a new class function get_composio_tool in the Letta Tool class.
tool = Tool.get_composio_tool(action=Action.GITHUB_STAR_A_REPOSITORY_FOR_THE_AUTHENTICATED_USER)

This tool can then be used by agents.
This mimics the composio get_tools API: https://docs.composio.dev/framework/langchain#use-specific-actions
Testing
We add a very simple unit test for compilation check for the tool's code gen.
We also introduce a E2E example that confirms the integration is working for GITHUB_STAR_A_REPOSITORY_FOR_THE_AUTHENTICATED_USER.

Merge hold please.


Error in clean install

when I run nvim with no params:
Error detected while processing VimEnter Autocommands for "*":
E5105: Error while calling lua chunk: ~/.vim/plugged/auto-session/lua/auto-session.lua:8: attempt to index field 'fn' (a nil value)

Thanks for reporting @jalberto.
Are you on Vim or Neovim? What version? What OS?.
This reminds me, I'll see if I can add a nice issue reporting template for the repo. 😊

Thank you for your plugin :)
I am in neovim 0.4 in Linux
On Thu, 4 Feb 2021 at 02:18, Ronnie Magatti<EMAIL_ADDRESS>wrote:

Thanks for reporting @jalberto https://github.com/jalberto.
Are you on Vim or Neovim? What version? What OS?.
This reminds me, I'll see if I can add a nice issue reporting template for
the repo. 😊
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/rmagatti/auto-session/issues/1#issuecomment-772951196,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AAAYMV7KSXA3V5NGV37VXULS5HYVJANCNFSM4W6OMH6A
.

Hey @jalberto sorry about the delay -- can you try on the latest neovim nightly? I think this might be neovim version related.

Closing this. We can reopen if need be. As a result of this I've added a Compatibility section in the README. 👍


txt?

it doesn't show the txt file under the discord message???
i dont know what this is happening, but it would be nice to get looked into :)

i have used this once in the past, it gave me a zip file, and in the zip where txt files holding the users (my) info... now when i test this, it will not give me the zip???

Have you tried more than once?
Please contact me on discord and show me a screenshot.
Also, I'd recommend you to build it without Anti VM option and use it on a VM.

Have you tried more than once? Please contact me on discord and show me a screenshot. Also, I'd recommend you to build it without Anti VM option and use it on a VM.

Yes i have rebuilt it more than once... ill try to send you a screen shot as soon as i can


Fix Windows Artifacts

Right now the release workflow fails when building the Windows artifacts. See https://github.com/knope-dev/knope/actions/runs/2465856749

Pretty sure I already fixed this and forgot there was an issue for it 😳