How should we implement WebSocket connection?

 To my knowledge these are:

exec
port-forward
proxy
attach

There's not a lot of documentation on exactly how these are implemented. I've been able to find this document which - under the header "Specialized Requests" describes a websocket based streaming protocol. Apparently the api server prefixes ever frame in the websocket connection with an integer between 0 and 256 which labels the stream that frame is intended for. e.g 0 is meant for stdin, 1 for stdout, and 2 for stderr.
With respect to port-fofrwarding each frame is additionally labelled with a two byte prefix (after the stream prefix) indicating which port the frame is intended for.
This indicates that the approach we might take would be to make a POST request to the port forwarding endpoint (documented here) with a websocket upgrade header. Something like this:
POST /api/v1/namespaces/{namespace}/pods/{name}/portforward?ports=9090
Connection: Upgrade
Upgrade: websocket

This all seemed straightforward enough so I started thinking about the API we could use, and I followed along from the logging implementation to produce something like this in subresource.rs:
pub trait PortForwardObject {}

impl <K> Api<K>
where
    K: Clone + DeserializeOwned + PortForwardObject,
{
    pub async fn port_forward(&self, pod_name: &str, port_bindings: Vec<(u16, u16)>) -> Result<()> {
        ...
    }
}

Where the returned future would be intended to run forever to drive the port forward loop. This is probably not a good API and needs work, but more importantly I haven't found a way to implement it. That's what I want to figure out here.
WebSockets, Reqwest, and SSL. A tale of woe.
If we're going to write some code which examines each frame of the websocket stream and then dispatch that frame to the relevant port on localhost then we need an asynchronous stream of websocket messages.
My first thought was that maybe reqwest supports this usecase, unfortunately it does not, though there is an issue.
There are a few websockets libraries out there. The two that people seem to use are tungstenite and it's  associated tokio bindings, or websocket-rs.
Of these two Tungstenite seems more actively maintatined (indeed, the first line of the websocket repo suggests that Tungstenite might be a better option as it's more actively maintainted). Unfortunately neither library gives us an API which we can easily use.
The problem is that we have some custom SSL parameters to set up. Specifically we need to set the root certificate and client certificate. This causes us two problems:

We don't actually have that config anywhere by the time you want to create a websocket stream. We give those parameters to Api::client and then forget about it
Tungstenite doesn't give us any way to pass that config on to it's various functions for opening a connection and websocket-rs only alloss us to do that  for native_tls

The first problem is not so hard to surmount, we can just add some simple structs for tracking this information. The second problem is harder. In order to overcome this problem we would need to use methods - exposed in both libraries - which run websockets over an existing stream. E.g, in Tungstenite:
pub async fn client_async_tls<R, S>(
    request: R,
    stream: S
) -> Result<(WebSocketStream<S>, Response), Error> where
    R: IntoClientRequest + Unpin,
    S: 'static + AsyncRead + AsyncWrite + Send + Unpin,
    S: Unpin,

In order to do that we need to do DNS resolution, then open a TLS stream to the resolved host. And we need to do this twice, once for native-tls and once for rustls. At this point it feels like we're implementing work that perhaps should be in another library.
What then?
This is mostly just a braindump of things I learned whilst trying to implement this today. I'm leaving it here in case anyone has any idea how to move it forward and as notes to myself when I come back to it later.
Maybe someone has some experience or ideas here that I haven't thought of?

IMO we should just provide a AsyncRead + AsyncWrite pair for the connection, binding that to a local port isn't really specific to K8s.

Yeah that makes sense. Although I guess you would actually want to provide something like HashMap<u16, S> where S: AsyncRead + AsyncWrite right? Because you might bind multiple ports. at once.

That makes sense. It might be slightly more efficient to provide our own struct that builds the impl AsyncRead + AsyncWrite on demand and tie the lifetimes of the streams to that, but it would also complicate the API for the sake of skipping an Arc.

Actually.. Each port in the original request represents a single connection, right? If so, we should probably ensure that we can have more than one open connection to a single port. Maybe return a Vec<S> instead, with the same order as the port list.

Yeah building our own stream impl makes sense.
Not sure I fully understand what you mean by returning a Vec<S>. Do you mean if the user was trying to do something akin to kubectl port-forward 1234:8080 1235:8080 then there would be two local ports bound to the single remote 8080 port and the return hashmap is keyed on the remote port?

Not sure I fully understand what you mean by returning a Vec<S>. Do you mean if the user was trying to do something akin to kubectl port-forward 1234:8080 1235:8080 then there would be two local ports bound to the single remote 8080 port and the return hashmap is keyed on the remote port?

It doesn't map directly to kubectl port-forward. When kubectl forwards a port, there can be multiple connections to the local port, which each require a separate stream (and TCP connection to the actual pod from the apiserver's end).
That said, from what I can tell, kubectl can't actually do this kind of batching, because the API requires you to declare all the desired streams up front when making the initial request.

kubectl might possibly be doing something different because it's actually implemented over SPDY streams. The websocket implementation is - as far as I can tell - something which was added to support the python client. It may be more limited than the SPDY version.

It may be more limited than the SPDY version.
It is claimed https://github.com/kubernetes/enhancements/issues/384 that websockets have full feature parity with SPDY. SPDY is also officially deprecated, although judging from that kubernetes issue it may stick with kubernetes for a while.

There's also an ongoing issue in kubectl to switch to the websockets API here https://github.com/kubernetes/kubernetes/issues/89163

I'm still very new to kube, so I might be missing something, but I think the following is worth a try.

Use async-tungstenite with tokio-runtime feature to connect

supports rustls since 0.9 (last version with tokio 0.2, need #339 for newer version)
client_async function takes Request and returns WebSocketStream

If Kubernetes is message oriented, then we can split the stream into read and write binary message streams. If it's continuous, we'll need to use ws_stream_tungstenite to get a stream of bytes (AsyncRead/AsyncWrite/AsyncBufRead) from WebSocketStream and get that framed based on the specification.
To handle channels, implement demultiplexer to read (split into separate channels using the message prefix), multiplexer to write (prefix the channel id to the message). I had to do something like this for Docker before with just stdin/stdout/stderr (message had 8 bytes prefix: [chan, 0, 0, 0, 4 bytes size]), but I didn't need to handle stdin.

If I'm understanding correctly, kubernetes-client/python-base's stream/ws_client.py keeps a map of channel to its buffer and provides a way to read from them. It also provides a way to write to a channel by sending a message prefixed with an integer. We should be able to do something similar with the above crates and some code.

@alexjg @edio I opened a PR (#360) based on the above and implemented the output half of Pod /attach (see the example). I'd appreciate any feedback :)
It's currently awkward to use:
// Need to specify all the fields :(
let ap = AttachParams {
    container: None,
    stdout: Some(tokio::io::stdout()),
    stdin: Some(tokio::io::empty()),
    stderr: None,
    tty: false,
};
// Pod's stdout is piped to stdout
pods.attach("example", ap).await?;

So I'm considering to change the params to booleans and return a struct that you can read/write as @teozkr suggested:

Just spitballing a bit, but maybe it'd be worth considering turning this on its head and returning an object that impls AsyncRead + AsyncWrite instead? That way it would work as a pretty decent inverse of tokio::io's stdio family, and be less likely to require the application writer to implement AsyncRead / AsyncWrite on their own.

I haven't decided how to implement it yet.
Protocol
I haven't found any official documentation on the protocol, so I'm using the official Python client implementation as a reference. As far as I can tell, it's simple and message oriented, so we don't need to write a codec. Also, a single multiplexed connection is used to send and receive messages. The message is sent in a binary frame and its first byte is used to specify its channel (destination/purpose).
For /attach and /exec, 5 channels are defined: 0 = stdin, 1 = stdout, 2 = stderr, 3 = error, 4 = resize. The purpose of error and resize channels are unclear. error channel seems to receive some YAML message before the connection terminates that contains error details if any. resize is related to the tty flag.
For /portforward, channels are associated with the specified ports. It uses 2 channels per port: duplex data channel (2*i) and read-only error channel (2*i + 1) for ith port.
The first message for a channel is 3 bytes and it describes this association:

channel (u8)
port number (u16 LE)

Subsequent messages have just the channel prefix like the attach/exec one.

Closing because the discussion was about how to implement WebSocket connection in general and not about portforward.
WebSocket connection was first implemented (#360) using async-tungstenite with a separate TLS connector. We've now replaced reqwest with hyper (#394) and use hyper to upgrade to WebSocket connection instead. We no longer have a separate client and WebSocketStream is created from the upgraded connection.


NoSuchMethodError: zipkin2.Endpoint$Builder.port(I)Lzipkin2/Endpoint$Builder

I am using spring-cloud-sleuth-zipkin with spring boot. when I start my service, it occer error:
Error creating bean with name 'tracer' defined in class path resource [com/cisco/oneidentity/common/boot/tracing/sleuth/TracingConfig.class]: Bean instantiation via factory method failed; nested exception is org.springframework.beans.BeanInstantiationException: Failed to instantiate [brave.Tracer]: Factory method 'tracer' threw exception; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'tracing' defined in class path resource [com/cisco/oneidentity/common/boot/tracing/sleuth/TracingConfig.class]: Bean instantiation via factory method failed; nested exception is org.springframework.beans.BeanInstantiationException: Failed to instantiate [brave.Tracing]: Factory method 'tracing' threw exception; nested exception is java.lang.NoSuchMethodError: zipkin2.Endpoint$Builder.port(I)Lzipkin2/Endpoint$Builder.
my dependencies:
<parent> 	<groupId>org.springframework.boot</groupId> 	<artifactId>spring-boot-starter-parent</artifactId> 	<version>2.1.1.RELEASE</version> 	<relativePath /> </parent>
<dependency> 	<groupId>org.springframework.cloud</groupId> 	<artifactId>spring-cloud-starter-sleuth</artifactId> 	<version>2.0.2.RELEASE</version> </dependency>
<dependency> 	<groupId>org.springframework.cloud</groupId> 	<artifactId>spring-cloud-sleuth-zipkin</artifactId> 	<version>2.0.2.RELEASE</version> </dependency>
<dependency> 	<groupId>io.zipkin.brave</groupId> 	<artifactId>brave</artifactId> 	<version>5.5.0</version> </dependency>
<dependency> 	<groupId>io.zipkin.reporter2</groupId> 	<artifactId>zipkin-sender-okhttp3</artifactId> 	<version>2.7.12</version> </dependency>
AND my tracingConfig
`@Bean
public Tracing tracing(){
return Tracing.newBuilder().localServiceName("zipkin_test")
.spanReporter(sender()).build();
}
@Bean
public AsyncReporter sender(){
    Sender sender = OkHttpSender.create("http://localhost:9441");
    return  AsyncReporter.create(sender);
}`

could u help me solve this problem? thanks a lot @adriancole

This issue probably belongs in Sleuths issue tracker, but I know one of the answers you will receive is that Sleuth 2.0 is not compatible with Boot 2.1


to provide hover effect over the divs in "OUR FACILITIES SECTION"  !

Description
i will be providing hover effect over these divs one by one
please assign me this issue under gssoc extd 24, hactober fest, make it atleast level 2 because it hard to complete the css design easily.
@mdazfar2
Screenshots
these are the div where i will provide hover effect

Checklist

[X] I have checked the existing issues
[X] I have read the Contributing Guidelines
[X] I'm a GSSoC'24-Extd contributor
[X] I'm a Hacktoberfest'24 contributor
[X] I am willing to work on this issue (optional)

Hey @2004pra, as we are not decided to add any hover effect to our website, we will let you know if there's any work related to it. You can search for other issues/bugs and raise an issue accordingly. Thank you for raising the issue.

Please don't forget to give our repository a star and let me know once you've done it.


[proxima-core] validate ValueSerializer using #isValid

@LesTR can you take a look at this? There are failing tests around avro and schema registry serialiazers, which I not quite exactly understand. The purpose of this PR is to remove the strange deserialization of empty bytes.

@LesTR can you take a look at this? There are failing tests around avro and schema registry serialiazers, which I not quite exactly understand. The purpose of this PR is to remove the strange deserialization of empty bytes.

That default implementation can't work with avro/confluent because avro fields are required by default. I can make it optional in scheme used in tests but that's not solution. I'll try to find better implementation for avro during this weekend.


comfortable-mexican-sofa+spree

Maybe someone had a successful experience of such integration...
I use a https://github.com/hazg/spree_comfy to integration.
I try to render spree partials in comfy layout via {{ cms:partial:path/to/partial }} (share/products for ex.) but have problems with methods.
Is it possible a closer integration comfy+spree?
I understand that add any decorators is need...
Thank you for your work!
Kate.

Are you getting any errors? Partial tags simply expands to render :partial => '/path Maybe you got path wrong?
Also I wonder if it has anything to do with Spree being an isolated engine.

Thank you, it was my fault. Thank you for a great product !!!

Hi , I have merged Comfy with Spree, everything works pretty fine. I am modifying the layout, may be a bit messy. notice namely the comfy assuming you have a site built, and allow you have multi site, there may be some troubles in Spree controllers.
Also, I hack the Spree Admin login as it's quite useful if we can keep the spree_auth_device gem; but the Spree::LegacyUser have different cancan ability or verification methods as comfy:


PHP SDK 2.0 for windows is now hosting on Github

PHP SDK 2.0 for windows supports php 7.0 and up. While keep backwards compatibility with older versions.
Managed by microsoft.

@JABirchall  We don't add changes directly to stable branches or master. Could you please send this PR to the development branch?

Sorry, didnt know, you CONTRIBUTING.md says to target it to master.

Hm.. yes, we should update CONTRIBUTING.md too.

Thank you


[tf.data] add AutotuneOptions for performance tuning of dataset operations

This PR adds the tf.data.AutotuneOptions class, which is a split of options from tf.data.experimental.OptimizationOptions.

[x] add new proto message for AutotuneOptions and extend the Options message.
[x] add tf.data.AutotuneOptions class.
[x] add autotune attribute to Options.
[x] regenerate golden APIs.
[x] handle backward-comaptibility with options.experimental_optimization attributes.
[x] add/modify options_test w.r.t the new autotune attribute.
[x] switch to autotune_options in:

[x] tensorflow/core/kernels/data/finalize_dataset_op.cc
[x] tensorflow/core/data/dataset_utils.cc
[x] tensorflow/core/data/root_dataset.cc

[x] update RELEASE.md.

TEST LOG
IINFO: Elapsed time: 42.805s, Critical Path: 41.39s
INFO: 354 processes: 130 internal, 224 local.
INFO: Build completed successfully, 354 total actions
//tensorflow/python/data/kernel_tests:options_test                       PASSED in 3.6s

INFO: Build completed successfully, 354 total actions

---------------

INFO: Found 13 test targets...
INFO: Elapsed time: 23.775s, Critical Path: 22.98s
INFO: 44 processes: 31 internal, 13 local.
INFO: Build completed successfully, 44 total actions
//tensorflow/python/data/experimental/kernel_tests/optimization:map_parallelization_test (cached) PASSED in 3.8s
//tensorflow/python/data/experimental/kernel_tests/optimization:autotune_buffer_sizes_test PASSED in 5.0s
//tensorflow/python/data/experimental/kernel_tests/optimization:filter_fusion_test PASSED in 13.6s
//tensorflow/python/data/experimental/kernel_tests/optimization:grappler_test PASSED in 5.6s
//tensorflow/python/data/experimental/kernel_tests/optimization:grappler_test_gpu PASSED in 5.7s
//tensorflow/python/data/experimental/kernel_tests/optimization:hoist_random_uniform_test PASSED in 6.1s
//tensorflow/python/data/experimental/kernel_tests/optimization:map_and_batch_fusion_test PASSED in 5.6s
//tensorflow/python/data/experimental/kernel_tests/optimization:map_and_filter_fusion_test PASSED in 9.0s
//tensorflow/python/data/experimental/kernel_tests/optimization:map_fusion_test PASSED in 9.8s
//tensorflow/python/data/experimental/kernel_tests/optimization:noop_elimination_test PASSED in 6.6s
//tensorflow/python/data/experimental/kernel_tests/optimization:reorder_data_discarding_ops_test PASSED in 5.5s
//tensorflow/python/data/experimental/kernel_tests/optimization:shuffle_and_repeat_fusion_test PASSED in 5.5s
//tensorflow/python/data/experimental/kernel_tests/optimization:optimization_test PASSED in 23.0s
  Stats over 2 runs: max = 23.0s, min = 7.0s, avg = 15.0s, dev = 8.0s

cc: @jsimsa Let me know if I have missed something. Thanks!

Thank you! Would it be possible for this CL to avoid the redundancy between experimental_optimization.autotune* options and autotune.* options? Could we remove the former and add a mechanism that would reroute getting and setting of the deprecated attributes to the new attributes? (similar to my changes to ThreadingOptions)

@jsimsa made the changes. Please let me know how it looks.

@jsimsa can you please take a look.

@kvignesh1420 I have limited bandwidth to help you work on this PR, so let's put this on hold for now ... it is okay if this does not make it into the TF 2.6 release

@jsimsa apologies for the continuous requests. I wanted to finish this before the release so was a bit hasty. Thanks again!

@kvignesh1420  Can you please resolve conflicts? Thanks!

My suggestion would be to close this PR. I plan to work on this myself later this quarter.

@jsimsa okay!


NTR to IDO: 'passage process' & 'passage history record'

https://github.com/infectious-disease-ontology/infectious-disease-ontology/issues/5
Requested because we had imported FLU_0001025. FLU is now deprecated and the definition should be more general. (I had considered OBI, but FLU came from IDO, and IDO is still under active development.)

These have been added to OBI: https://github.com/obi-ontology/obi/pull/1177


Strategy/store wishlist

Storage:

State-based, versioned store for IndexDB, multiple rows atomically per write
Event-based, versioned store for EvidentDB, multiple events across many streams in single db atomically per write

Strategy:

State-based, versioned
Event-based, versioned with optional snapshot + delta

Repository

[ ] State-based, versioned store for IndexDB, multiple rows atomically per write
[ ] Event-based, versioned store for EvidentDB, multiple events across many streams in single db atomically per write
Strategy
[ ] State-based, versioned
[ ] Event-based, versioned with optional snapshot + delta


Remove logging properties.

Remove logging properties.

Pull Request Test Coverage Report for Build 363

1 of 3 (33.33%)  changed or added relevant lines in 2 files are covered.
45 unchanged lines in 22 files lost coverage.
Overall coverage increased (+0.4%) to 44.892%

Changes Missing Coverage
Covered Lines
Changed/Added Lines
%

sofa-ark-parent/core/common/src/main/java/com/alipay/sofa/ark/common/util/EnvironmentUtils.java
0
2
0.0%

Files with Coverage Reduction
New Missed Lines
%

sofa-ark-parent/core-impl/container/src/main/java/com/alipay/sofa/ark/container/service/classloader/PluginClassLoader.java
1
86.11%

sofa-ark-parent/support/ark-support-starter/src/main/java/com/alipay/sofa/ark/support/thread/IsolatedThreadGroup.java
1
0.0%

sofa-ark-parent/core-impl/container/src/main/java/com/alipay/sofa/ark/container/pipeline/HandleArchiveStage.java
1
46.15%

sofa-ark-parent/core-impl/archive/src/main/java/com/alipay/sofa/ark/bootstrap/BaseExecutableArchiveLauncher.java
1
0.0%

sofa-ark-parent/support/ark-support-starter/src/main/java/com/alipay/sofa/ark/support/listener/ArkTestNGAlterSuiteListener.java
1
91.18%

sofa-ark-parent/core-impl/container/src/main/java/com/alipay/sofa/ark/container/service/plugin/PluginDeployServiceImpl.java
1
69.77%

sofa-ark-parent/core-impl/container/src/main/java/com/alipay/sofa/ark/container/pipeline/StandardPipeline.java
1
87.1%

sofa-ark-parent/support/ark-tools/src/main/java/com/alipay/sofa/ark/tools/FileUtils.java
1
0.0%

sofa-ark-parent/core-impl/container/src/main/java/com/alipay/sofa/ark/container/service/plugin/PluginManagerServiceImpl.java
1
81.82%

sofa-ark-parent/support/ark-support-starter/src/main/java/com/alipay/sofa/ark/support/thread/LaunchRunner.java
1
51.35%

Totals

Change from base Build 362:
0.4%

Covered Lines:
1103

Relevant Lines:
2457

💛  - Coveralls


⚠ Bofrost.fr has degraded performance

In 64fffd0, Bofrost.fr (https://www.bofrost.fr) experienced degraded performance:

HTTP code: 200
Response time: 1292 ms

Resolved: Bofrost.fr performance has improved in ed31b14 after 8 minutes.


Add ids to ui elements

for tools like cypress/playwright could be good to add some id's to the modal wallet options
for example to click on VeWorld is currently like:
await page.locator('div.modal-body button.card.LIGHT').first().click();
i.e. relying on it being "first"

This won't work since we're using lit elements. It creates nested shadow roots that are not directly queryable (see screenshot)
Might be better to describe the requirement rather than the implementation, eg. make it easy for devs to interact with UI elements

Playwright can query such elements
im currently using playwright to click on that element, works fine
see: https://playwright.dev/docs/locators#locate-in-shadow-dom

@claytonneal this playwright feature is amazing, it's such a pita to work with selenium and nested shadow dom.
I'll add them for you in the next days

see PR : https://github.com/vechain/vechain-dapp-kit/pull/238


Add more websockets implementations

fastwebsockets
ws-tool
soketto
websocket.rs
wsocket
uwebsockets-rs

Thanks

There's also tokio-websockets

tokio-websockets has been added. Thanks!

ratchet

Added. Thanks!


(PDB-1192) add metrics support

This adds a metrics field to the reports response containing metrics passed
from Puppet in the terminus.

I think we should consider calling the field "report-metrics" instead of metrics to avoid confusion.

Test FAILed.
Refer to this link for build results (access rights to CI server needed):
https://jenkins.puppetlabs.com/job/platform_puppetdb_intn-sys_pr/631/

Test FAILed.
Refer to this link for build results (access rights to CI server needed):
https://jenkins.puppetlabs.com/job/platform_puppetdb_intn-sys_pr/636/

@pljenkinsro retest this please

Test FAILed.
Refer to this link for build results (access rights to CI server needed):
https://jenkins.puppetlabs.com/job/platform_puppetdb_intn-sys_pr/637/

@pljenkinsro retest this please

Test FAILed.
Refer to this link for build results (access rights to CI server needed):
https://jenkins.puppetlabs.com/job/platform_puppetdb_intn-sys_pr/638/

Test FAILed.
Refer to this link for build results (access rights to CI server needed):
https://jenkins.puppetlabs.com/job/platform_puppetdb_intn-sys_pr/644/

@ajroetker addressed your comments except for the optional key part. I think it should be required but possibly null. This will be easy when report validation is switched to schema.

Test FAILed.
Refer to this link for build results (access rights to CI server needed):
https://jenkins.puppetlabs.com/job/platform_puppetdb_intn-sys_pr/645/

Test FAILed.
Refer to this link for build results (access rights to CI server needed):
https://jenkins.puppetlabs.com/job/platform_puppetdb_intn-sys_pr/646/

@pljenkinsro retest this please

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://jenkins.puppetlabs.com/job/platform_puppetdb_intn-sys_pr/647/

@KenBarber addressed your comments. Leaving the label pending PDB-1129.

@kbarber ^^

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://jenkins.puppetlabs.com/job/platform_puppetdb_intn-sys_pr/650/

This is now rebased and accepts null for metrics.

Test FAILed.
Refer to this link for build results (access rights to CI server needed):
https://jenkins.puppetlabs.com/job/platform_puppetdb_intn-sys_pr/732/

@pljenkinsro retest this please

I just added a second commit to this for the logs work.

Test FAILed.
Refer to this link for build results (access rights to CI server needed):
https://jenkins.puppetlabs.com/job/platform_puppetdb_intn-sys_pr/735/

Test FAILed.
Refer to this link for build results (access rights to CI server needed):
https://jenkins.puppetlabs.com/job/platform_puppetdb_intn-sys_pr/738/

Looks like a legit failure


Circular dependencies are not handled

I've fixed this problem with a hack like that:
diff --git a/lib/clone-all.js b/lib/clone-all.js
index 88ff41c..caa3556 100644
--- a/lib/clone-all.js
+++ b/lib/clone-all.js
@@ -3,12 +3,13 @@ var recursive = require('./recursive-transform.js')
 module.exports = cloneAll

 function cloneAll(clone, pkg, src, dst, credentials, xform, ready) {
+  var known = []
   return clone(
       pkg
     , src
     , dst
     , credentials
-    , recursive(clone, src, dst, credentials)
+    , recursive(clone, src, dst, credentials, known)
     , ready
   )
 }
diff --git a/lib/recursive-transform.js b/lib/recursive-transform.js
index d8c29ac..41f1b77 100644
--- a/lib/recursive-transform.js
+++ b/lib/recursive-transform.js
@@ -4,7 +4,7 @@ var Buffer = require('buffer').Buffer

 module.exports = recurse

-function recurse(clone, from, to, credentials) {
+function recurse(clone, from, to, credentials, known) {
   var stream = through(write, end)
     , accum = []

@@ -22,12 +22,18 @@ function recurse(clone, from, to, credentials) {
       , pending = deps.length

     deps.forEach(function(dep) {
+      if(known.indexOf (dep + '@' + data.dependencies[dep]) >= 0) {
+        --pending
+        return
+      }
+
+      known.push(dep + '@' + data.dependencies[dep])
       clone(
           dep + '@' + data.dependencies[dep]
         , from
         , to
         , credentials
-        , recurse(clone, from, to, credentials)
+        , recurse(clone, from, to, credentials, known)
         , ondone
       )
     })

should work be okay now

Thanks!


ci: add check for UCC UI files

Codecov Report

Merging #308 (c8320d0) into main (25cec26) will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##             main     #308   +/-   ##
=======================================
  Coverage   76.80%   76.80%
=======================================
  Files          28       28
  Lines        1953     1953
=======================================
  Hits         1500     1500
  Misses        453      453

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 25cec26...c8320d0. Read the comment docs.

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

v5.6.2
GitHub release

Your semantic-release bot :package::rocket:


Core BTS UI: About Screen

Update the "About" screen to conform to https://www.figma.com/file/vYQD6uZtkPgtmgJ3zfauq0/Zashi-UI-082123-V3?type=design&node-id=149%3A7969&mode=design&t=MuSYkgngwcFg2nNl-1

current version
expected version

You can find this view in Features/ Settings/Views/About.swift
all new texts must be added to the Features/Generated/Resources/Localizable.strings and referenced via SwiftGen's L10n
Zashi logo & text can be downloaded at
zashi_logo.zip

@LukasKorba we should refer to the Figma document for the expected version, since that is the single source of truth for the designs and I don't want screenshots that might get posted in these issues to get stale.

Do we need to Show Settings Icon in About Screen? as it is Navigating from Settings Screen. @nuttycom

Resolved in other tickets, irrelevant now.


Explore Subject:era facet and how to set up a separate page bringing in era and linked info

Setting up a separate page (utilizing a different controller/route e.g. /browseTemporal) as a starting point to bring in Subject:era FAST time periods from the catalog and bringing in FAST labels (and potentially other linked information).  This will allow us to explore what the data looks like before we discuss potential visualization options/connections back to catalog search.

Here is a PR of this feature in a working but unfinished state:https://github.com/LD4P/blacklight-cornell/pull/15
I wasn't sure where to go with it next. I am closing this issue.


Milestone status change tests and logic update

Pull Request Test Coverage Report for Build 68

5 of 5 (100.0%) changed or added relevant lines in 1 file are covered.
No unchanged relevant lines lost coverage.
Overall coverage increased (+0.01%) to 99.539%

Totals

Change from base Build 67:
0.01%

Covered Lines:
216

Relevant Lines:
217

💛  - Coveralls


Standalone windows executables

In the Nuget package: "Azurite is packaged into a single self-contained executable"
(Side note: Opening the .nupkg as an archive reveals it's actually 3 executables: blob.exe, queue.exe, and table.exe)
Is there any reason that those aren't being published outside of the Nuget package? It seems more convenient to me than having to install it to a particular VS solution. (And easier than messing with Node.js. And less memory intensive than using Docker.)

Hi @maf1024 are you saying you would like to have Azurite releases available as self-contained binaries as well?

@arafato Yes.

This should not be hard, as we can use pkg for this, in the same way that we make the nuget package.
We could maybe offer the binaries for download.
@seguler what do you think?

@XiaoningLiu I have tested this with v3 and the pkg tool and node12 and it generates a functional exe. Would you like me to PR? I will also contribute a scoop manifest and a chocolatey update if you can provide info on how you publish to chocolatey (it does'nt appear to be in the azure pipelines yaml)

@JustinGrote Even if not a PR, if you could update a fork with your tested changes, that would probably be appreciated by my team and myself (with our inexperience in node) so we can try to make our own executables.
(We've been simply relying on the ancient nuget Azurite for a long time, but we recently discovered that we apparently can't use it with the newer Azure.Storage.Blobs V12 dotnet core library)

Finally figured out how to compile the exe files myself.
For anyone out there with a similar need, here's the exhaustive steps I took (in WSL ubuntu 20.04):
sudo apt-get install nodejs npm
sudo npm install -g pkg
git clone https://github.com/Azure/Azurite.git ~/Azurite
cd ~/Azurite
npm install
pkg -t node16-win --output blob -c package.json dist/src/blob/main.js
pkg -t node16-win --output queue -c package.json dist/src/queue/main.js

(took me a long time to figure out that I'm not supposed to pass main.ts directly into pkg)

Thanks for the effort you put into this!
We are finding that more people are using the docker containers.
@XiaoningLiu @blueww @vinjiang - Do we want to add this to the documentation, or do we have other plans for Windows exes?

I personally have mostly switch to just using the vscode extension and that's good enough for me.

Even though exe distributions don't seem to be directly part of Azurite releases yet, it looks like at least VS2022 finally includes this (and is now up to date).
For those interested: The executable's location is [VS 2022 dir]\Common7\IDE\Extensions\Microsoft\Azure Storage Emulator\azurite.exe
(Note it runs Blob, Queue, and Table emulation all as one process)


problem with linux-based systems

code is running normally, but requests are not sent. Tried many times, and different pc/phones, only works correctly on windows. What i need to do??

same

Hello, sorry for that. I test my code on Linux by a raspi 4B. I don't have problem with him, but i go watch what is the problem and try to solve him. On linux you use the source code it's right? Can you give me more informations or not?

I don't detect any errors. Can you give me more informations please ?

Hello, I don't understand the question at the moment. But i gonna to try more information about your bug.

I'm used Ubuntu 22.04 LTS and Linux Mint. Yes, I used source code, and installed all needed libraries. Counter of sent packets doesn't increase. (Sorry for bad speaking)

Can you make a git clone for updated this folder? Now maybe it's fixed, i maked some fixe in this week. Try to clone and give me information. Do you have install the pyproject dependencies?


Please provide examples of mutations

Please provide examples of mutations

Yes, please!

+1 for mutation example with EF Core.

A good enough example for mutations you can find at graphql-dotnet tests

Thanks for the pointer. Next up, subscriptions :-)


feat(5659): added tests for sorting Facility Stage column

Introduction
Some tests were missing for Facility Stage column
Resolution
Build tests for sorting facility stage column under e2e-tests\tfm\cypress\e2e\journeys\facility\facilities.spec.js

Codecov Report

Merging #2203 (ff49c90) into main (2390d16) will increase coverage by 1.62%.
Report is 87 commits behind head on main.
The diff coverage is 4.65%.

@@            Coverage Diff             @@
##             main    #2203      +/-   ##
==========================================
+ Coverage   21.01%   22.64%   +1.62%
==========================================
  Files        1030     1020      -10
  Lines       25229    25448     +219
  Branches     4081     4086       +5
==========================================
+ Hits         5303     5762     +459
+ Misses      17370    17172     -198
+ Partials     2556     2514      -42

Flag
Coverage Δ

ui-test
65.12% <ø> (+0.31%)
:arrow_up:

unit-test
3.00% <4.65%> (+2.28%)
:arrow_up:

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

Files
Coverage Δ

dtfs-central-api/src/helpers/isNumber.js
100.00% <100.00%> (ø)

dtfs-central-api/src/helpers/index.js
0.00% <0.00%> (ø)

...c/v1/controllers/cron-jobs/cron-jobs.controller.js
0.00% <0.00%> (ø)

.../durable-functions/durable-functions.controller.js
0.00% <0.00%> (ø)

.../v1/controllers/portal/deal/get-deal.controller.js
0.00% <0.00%> (ø)

.../portal/gef-facility/update-facility.controller.js
0.00% <0.00%> (ø)

...1/controllers/tfm/deal/tfm-get-deals.controller.js
0.00% <0.00%> (ø)

...controllers/tfm/deal/tfm-update-deal.controller.js
0.00% <0.00%> (ø)

...s/portal/gef-deal/add-min-activities.controller.js
0.00% <0.00%> (ø)

...rs/tfm/amendments/tfm-get-amendments.controller.js
0.00% <0.00%> (ø)

... and 3 more

... and 391 files with indirect coverage changes
:mega: We’re building smart automated test selection to slash your CI/CD build times. Learn more


URL-Encode request path

The request path should be URL-Encoded.
This change allows writing code like:
client.create_reaction(<channel id>, <message id>, "⏭")

Now nobody has to keep track of emojis and such.

I'm not sure this should happen at our base request method. It will be redundant in 99% of cases - emoji are the exception where we need to assert that the content is encoded correctly - so I think it might be better to localize this to the relevant REST methods to optimize that path in the simplest way.

I've only added URI.encode to the relevant request paths.


Checkpoint older modules written by Ansible

Checkpoint older modules written by Ansible, replacement of added modules weren't present in newly added cp_mgmt_* modules in Ansible 2.9.
Please check it and if everything looks OK, we can merge these modules as the run_script module is needed for log extraction. Also, the session module handles the discard of the session as well which current cp_mgmt_publish doesn't handle I believe.

@chkp-orso can u review and merge the PR. Thanks

Sure merged
Thanks


[BUG] in trainer.py

I don't think you can set the gradients to zero right before stepping the optimizer.
https://github.com/lucidrains/byol-pytorch/blob/3cb1a5e902c5821bc487c0562609ac412fbde93c/byol_pytorch/trainer.py#L127-L128

@ClemensSchwarke 🤦 thanks!


Aggressive mode with lowered confidence sensitivity

Would be nice to have an option to somehow tune \ adjust the confidence sensitivity.
E.g. when uninstalling IObit Uninstaller, I'd like to assume all items with IObit or IObit*Uninstaller in their names are safe to delete, so here:

I'd have "good" confidence level for the C:\Users*\AppData\Roaming\IObit folder.

BTW at the C:\Users\*\AppData\Roaming\IObit\ there is
C:\Users\*\AppData\Roaming\IObit\IObit Uninstaller folder which wasn't selected for leftovers removal.

C:\Users\*\AppData\Roaming\IObit\IObit Uninstaller Should have been detected, looks like a bug.


LCFS - Price per credit input box should support values with two decimal places (i.e., cents) in the credit proposal form

Describe the Bug
In the New Transfer input page, the price per compliance unit input box currently does not support values with two decimal places (i.e., cents). When users attempt to enter a price that includes cents, they receive an error message that says "Error creating transfer." Users should be able to propose a price per credit down to the cent (2 decimal places), and the input box should allow this without generating an error.
Expected Behaviour

The price per compliance unit input box should accept values with up to two decimal places (e.g., $100.50).
Users should be able to submit a credit transfer proposal without encountering an error when entering a price that includes cents.

Actual Behaviour

If users enter a price with two decimal places in the price per compliance unit input box, they receive an error message: "Error creating transfer."
Users are unable to submit a credit transfer proposal that includes cents in the price per credit.

Implications

Users are unable to accurately propose credit transfer prices down to the cent, limiting the functionality of the system.
The error message prevents users from completing their credit transfers if they attempt to include cents in their price per credit.

Steps To Reproduce
Steps to reproduce the behaviour:

User/Role: Navigate to the New Transfer input page.
Enter a price per credit that includes cents (e.g., $100.50) in the price per compliance unit field.
Attempt to submit the transfer.
Observe the "Error creating transfer" message.

I am able to put in a decimal now, but it doesn't show in the graphic and it doesn't persist if I refresh the page. Please see screenshot:


Integrated elevation lookup

Discussion about building elevation lookup into GPXtruder so it is not necessary to first run files through GPS Visualizer. Probably to be implemented as a separate service that takes xy polyline as input and returns xy+z polyine, using one or more data sources under the hood.

The constant elevation option (4065442b10fffe42a31901b9663f66a942d7df5f) at least allows GPXtruder to do something useful with GPX files that lack elevations.

Should be doable with Google Maps API elevation service.


Upon failure, an error is displayed, and the user is redirected (back) to the register screen. A register error can be that a user name is already taken.

Resolved with initial commit and refactored with
modified the REST endpoints to match the specification on server


Vivecraft crash during game load

Hello, I'm trying to use the mod with Vivecraft (version 1.16.5 v7 update 8b, Forge version 1.16.5 - 36.2.20).
the version of the mod is CustomPlayerModels-1.16 v0.2.0a.
The error occurs while loading the game, and the launcher show me this:
The game crashed whilst initializing game
Error: org.spongepowered.asm.mixin.transformer.throwables.MixinTransformerError: An unexpected critical error was encountered
Exit Code: -1

In more detail, here's a gist that contains the crash report in detail:
https://gist.github.com/Raptoranim/469377f4dc9f05351f929d694478c2e1

ever figure it out? i have the same issue but on a different modpack, i added this mod and all of a sudden, the world would load then crash. When i get rid of the mod, it doesnt crash.


Reflect position of current slide instead of precedent one

Not sure this is the good way to do too.
We need to have a dedicated representation of the current slide.
Currently:

empty bar represent next slides
filled bar represent previous slides
but we can't chose neither the first representation (what was present before), neither the second representation (what you propose) for the current slide. We need something specific.

Replaced by PR https://github.com/Smile-SA/slidev-component-progress/pull/5


[css] Support @container css rule

Visual Studio Code does not recognize the @container at-rule in CSS.
Unknown at rule @container
https://developer.mozilla.org/en-US/docs/Web/CSS/CSS_Container_Queries

Duplicate of https://github.com/microsoft/vscode/issues/170589


Survey's aren't posting

Since yesterday around 11:27am PT none of my surveys have been posting. I can call up the UI to design the Survey, but it never shows up in the channel or chat. Previously we had a ~12 hour delay on 4/12, but this time it is coming up on 24 hours. Is this a known outage, is it just my team? Is there a better place for me to post this?

Our org are also noticing same issue, with Survey, Poll and Checklist

we found that Microsoft is retiring "MS Forms" in chat and meeting and will introduce as "Polls" (with s), is this the reason these apps are affected?
https://www.microsoft.com/en-in/microsoft-365/roadmap?filters=&filters=&searchterms=84567

Will this be fixed or this app is not anymore in development??


Distinguish between Windows API click and Mouse Click

Hello,
Is there a way to distinguish between a click that mas generated from code via Windows API, and a click made by a physical mouse?
Thank you.

Hello, maybe You get a solution tio tour question?


Improve up/down vote flow

Currently, after the user up/down votes, the current page is refreshed. Reloading the entire page is unnecessary just to reflect the vote count.
Maybe using HTMX/AlpineJS to ajaxify this behaviour is better.

Hi @sivaprasadreddy
I am planning to work on this task.
As want to debug the spring-boot app did below steps.
In my local, went to techbuzz
run mvn clean install.
While doing mvn clean install i am getting below error.

Initially i was on java 18 then switched to the java 17 but still see the same error.
My current Java version is "openjdk version "17.0.7" 2023-04-18 LTS"
Could you please help me figure out what is going wrong?
My goal is to run project locally and enable debug so that i can debug and contribute on the tasks.
Please let me know if you need additional information to help me out.

Hi @sivaprasadreddy
Please ignore my above comment it was due to my java_version i was not able to do mvn install.
But now facing another issue .
I am trying to  start application locally to debug. Not sure if "$ ./run.sh start"  will enable me to debug hence trying other way mentioned by you in the document which is
$ ./run.sh start_infra
$ ./mvnw spring-boot:run
but when i do ./mvnw spring-boot:run , it says my DB is not up. seems some problem when i initialize DB with "./run.sh start_infra.
Before i jump to check what is wrong there I would like to know from you the exact steps by which i will be able to debug the java files.
Could you please help me with the exact steps to debug application locally?
many thanks
Aditya C

@adityachaudhari  To debug the application from IDE, you can simply run TestTechBuzzApplication.java under src/test/java from IDE. This will automatically start the required containers in docker.

I have the following docker and docker-compose versions and ./run.sh start is working fine for me.
$ docker -v
Docker version 23.0.1-rd, build 393499b

$ docker compose version
Docker Compose version v2.17.3

@sivaprasadreddy
Wow, with just a TestTechBuzzApplication execution it start's the docker containers its magic for me.
My docker versions was the problem, updated my docker which solved my problem.
Able to debug just by executing TestTechBuzzApplication.
Thanks for quick response.

Implemented by @adityachaudhari


Update RUSTSEC issues

Add ignore for RUSTSEC-2024-0344 until issues with curve25519-dalek are fixed
Bump h2 to dodge RUSTSEC-2024-0332

ed25519-dalek has a dependency on ^4 version of curve25519-dalek, which means we can just bump the version in Cargo.lock, we don't need to add an ignore @rafal-ch

ed25519-dalek has a dependency on ^4 version of curve25519-dalek, and there's already a fix for this on 4.1.3, which means we can just bump the version in Cargo.lock, we don't need to add an ignore @rafal-ch

I tried with 4.1.3 but it exhibits some compilation errors on Linux:
    Checking k256 v0.13.1

error[E0658]: use of unstable library feature 'stdsimd'

  --> /root/.cargo/registry/src/index.crates.io-6f17d22bba15001f/curve25519-dalek-4.1.3/src/backend/vector/ifma/field.rs:26:5

   |

26 |     _mm256_madd52lo_epu64(z.into(), x.into(), y.into()).into()

   |     ^^^^^^^^^^^^^^^^^^^^^

   |

   = note: see issue #48556 <https://github.com/rust-lang/rust/issues/48556> for more information

   = help: add `#![feature(stdsimd)]` to the crate attributes to enable

This is a known issue.
I'll revert the commit for now and we'll tackle this later.

bors r+


chore: Deps upgrade and rusqlite is bundled

bundles rusqlite: it is statically linked. Solves the version mismatch problem. This may be a bad idea.  The official documentation note about this

- [dependencies]
# `bundled` causes us to automatically compile and link in an up to date
# version of SQLite for you. This avoids many common build issues, and
# avoids depending on the version of SQLite on the users system (or your
# system), which may be old or missing. It's the right choice for most
# programs that control their own SQLite databases.
#
# That said, it's not ideal for all scenarios and in particular, generic
# libraries built around `rusqlite` should probably not enable it, which
# is why it is not a default feature -- it could become hard to disable.
rusqlite = { version = "0.30.0", features = ["bundled"] }

benchmark numbers on Windows 11 machine. 1th Gen Intel(R) Core(TM) i7-11370H @ 3.30GHz 3.30 GHz
lookup - cache size 10000
                        time:   [3.0272 µs 3.0754 µs 3.1286 µs]
Found 3 outliers among 100 measurements (3.00%)
  2 (2.00%) high mild
  1 (1.00%) high severe

lookup mt(4) - cache size 10000
                        time:   [22.358 µs 24.601 µs 26.954 µs]
Found 7 outliers among 100 measurements (7.00%)
  4 (4.00%) high mild
  3 (3.00%) high severe

insert - cache size 10000
                        time:   [12.359 µs 12.730 µs 13.152 µs]
Found 11 outliers among 100 measurements (11.00%)
  6 (6.00%) high mild
  5 (5.00%) high severe

insert mt(4) - cache size 10000
                        time:   [70.530 µs 78.182 µs 86.341 µs]
Found 7 outliers among 100 measurements (7.00%)
  4 (4.00%) high mild
  3 (3.00%) high severe

Done.


fix memory leak for yur-tunnel-server

What type of PR is this?

/kind bug

What this PR does / why we need it:
There is a memory leak in the yurt-tunnel-server, consuming too much memory.
The reason is that there is a goroutine memory leak in the dependency apiserver-network-proxy
Which issue(s) this PR fixes:
Fixes # https://github.com/openyurtio/openyurt/issues/1440
Special notes for your reviewer:
@rambohe-ch

@huweihuang please fix verify ci errors. maybe you need execute command go mod tidy before git push.

/lgtm

Fixes #1440

/backport release-v1.3


Add to 7GUIs

Druid seems to have traction, so it would make sense to accept the challenge and add it to 7GUIs.

This is really good goal.
We can absolutely do counter, converter, timer, and circle right now. Flight booker needs drop-down menus (I believe that will be covered by #429), crud needs a selection list (shouldn't be hard?), and I don't really know how to approach cells.

I don't really know how to approach cells.

Unfortunately I'm still new to druid, but you might get some inspiration from other frameworks already mentioned/linked from the 7GUIs web page and/or repository. See e.g. "Data API" in Fyne and some valuable discussion/hints about the background ideas: https://github.com/fyne-io/7guis/issues/3 .
Of course, there is also the "ultimate king of cells implementations" (nicely formatted version) in Red (yeah, just 17 SLOC :open_mouth:), but that's apples & oranges.

Here's a zulip topic on the subject

Does this count? https://github.com/MrGibus/Druid-7guis

@kud1ing yes, it does - the only thing missing is a PR in the 7GUIs repository.

@MrGibus would you mind making the PR?

@MrGibus would you mind making the PR?

Already did, just needs merging.

True: https://github.com/eugenkiss/7guis/pull/45

Oh: https://github.com/eugenkiss/7guis/issues/57

Thanks a lot! Closing.


Indentation by = doesn't work in java

Hello,
I'm a beginner in java and sometimes I forget classes. I put them in when I remember, hence the need to re-indent. I go to the beginning of the file and indent with gg=G, but it just doesn't do it.

As stated in the README, this package is no longer maintained and is deprecated. We recommend that people use the vim-mode-plus package instead. Because of this, we are archiving this repository and closing all issues and pull requests. Thanks very much for your support and contributions!


Problem with enum

Hi,
Using a "-" in the name of an enum causes this error:
{
  "errors": [
    {
      "message": "Config is not valid for TestType\nField \"values\" expected to be \"type\" but got \"array\""
    }
  ]
}

Code:
use \Youshido\GraphQL\Type\Object\AbstractObjectType;
use \Youshido\GraphQL\Type\Scalar\IdType;
use \Youshido\GraphQL\Type\Scalar\StringType;
use \Youshido\GraphQL\Type\Scalar\DateType;
use \Youshido\GraphQL\Type\Scalar\BooleanType;
use \Youshido\GraphQL\Type\ListType\ListType;
use \Youshido\GraphQL\Type\Enum\AbstractEnumType;

class TestType extends AbstractEnumType
{
    public function getValues()
    {
        $result = array();
        $result[]= array(
                'value' => 1,
                'name' => "aaa-",
            );
        $result[]= array(
                'value' => 2,
                'name' => "bbb",
        );
        return $result;
    }

}

Thanks @lhyx , I'm on it, will write back as I have more info.

as it turned out this restriction mimics JS realization and GraphQL protocol. Their name validator is here:
https://github.com/graphql/graphql-js/blob/master/src/utilities/assertValidName.js
I think it's because of nature of ENUM type. We can change regular expression, but want to stay "in tact" with official realization.
If you have a second to discuss it – join gitter or write here.


InferenceContext::UnknownShapeOfRank support unknown rank, check rank>=0

Can one of the admins verify this patch?

Jenkins test this please.

Jenkins test this please.


There are several references to the folder "path_planning_utils" in the code, but I can't seem to find the folder, and I'm not sure if it's just me! But it doesn't seem to affect how the project compiles and runs.

Hi,Huang. There are several references to the folder "path_planning_utils" in the code, but I can't seem to find the folder, and I'm not sure if it's just me! But it doesn't seem to affect how the project compiles and runs.
Here are the code files that I think are problematic
PNGNav/src/png_navigation/src/png_navigation/path_planning_classes/nirrt_star_png_c_2d.py
PNGNav/src/png_navigation/src/png_navigation/datasets/planning_problem_utils_2d.py
PNGNav/src/png_navigation/src/png_navigation/datasets/rectangle_env_2d.py

Hi, thank you for pointing this out! You are right that path_planning_utils/ is not included in this repo. Since I first built training/evaluation scripts for NIRRT*, and then built png_navigation ROS package by moving part of scripts here, there will be some inconsistency on the code. The files you pointed out here are used in NIRRT*, but not used in PNGNav.
To explain each file,

PNGNav/src/png_navigation/src/png_navigation/path_planning_classes/nirrt_star_png_c_2d.py

nirrt_star_png_c_2d.py is the source file for NIRRT* with Point-based Network Guidance with Neural Connect. We did not use this file in png_navigation, because in nirrt_star_c.launch, this is done by these two ROS node files
https://github.com/tedhuang96/PNGNav/blob/d7f8a4d53164dc9e9ae14b743b10ef0a7df19bcb/src/png_navigation/launch/nirrt_star_c.launch#L4-L5
which just needs to import nirrt_star_png_2d.
https://github.com/tedhuang96/PNGNav/blob/d7f8a4d53164dc9e9ae14b743b10ef0a7df19bcb/src/png_navigation/scripts/nirrt_star_node.py#L8

PNGNav/src/png_navigation/src/png_navigation/datasets/planning_problem_utils_2d.py
This is a file used in evaluation of each path planning method in simulation experiments.

PNGNav/src/png_navigation/src/png_navigation/datasets/rectangle_env_2d.py
This is a file used for generating the raw data for random world (2D) simulation experiments.

path_planning_utils will be included in NIRRT*. Also note that the files mentioned here may be renamed since we have been organizing/cleaning the code for open sourcing NIRRT*.
I will check and clean these deprecated files in the next commit. Thank you for pointing them out!

https://github.com/tedhuang96/PNGNav/commit/623e3e5085c6850d1b3f6292a6f1baab1e6045a4
https://github.com/tedhuang96/PNGNav/releases/tag/v1.0.1


Integrate stored color correction and scene ordering in Mosaic Tiler

Requires: https://github.com/azavea/raster-foundry/issues/701, https://github.com/azavea/raster-foundry/issues/700, https://github.com/azavea/raster-foundry/issues/702
Now that we have all the parameters for mosaic tiler persisted we should be using them to render dynamic layer mosaic. The plumbing needs to implement caching and cache invalidation.
Additional question that needs to be considered at this point:
Are there any other mosaic definition rules that are appropriate? For instance when or how to use a classification raster (like Landsat QA Band). When this becomes apparent it should be spun out into the next issue.

@echeipesh Where do we stand here? It looks like we should close this and open another for any next steps.

Closing, as this looks to be complete.


Add Relative linking

Hi there,
I ran into an error when i link to search.html from my markdown codes as it doesn't work properly.
This PR aims to fix that

I haven't been able to reproduce the errors with the pages generated using the sample pelicanconf.py for the demo site.
I was able to generate internal links using the syntax
[search](search.html)
[How to Install]({filename}/Software/article-one.md)

I was able to generate internal links using the syntax

Hi there,
This is weird as i was getting an error from my end. I will recheck and report back

Hi @aleylara,
There was recent changes to https://github.com/pelican-plugins/search which results in
[16:56:48] WARNING  The SEARCH_HTML_SELECTOR setting is deprecated and will be removed in a future version. Use the STORK_INPUT_OPTIONS setting instead.                                                               log.py:91
           WARNING  SEARCH_MODE = output is deprecated and will be removed in a future version. Use the STORK_INPUT_OPTIONS setting instead.

Hi @baseplate-admin,
Noted, thank you.


Prometheus gauge metrics being cached

There are certain cases where Kubecost Prometheus gauge metrics (e.g. container_cpu_allocation) are being cached after a pod is deleted.
It's worth noting that this does not impact the Kubecost commercial product and only applies to the open source metrics.

Testing this PR now: https://github.com/kubecost/cost-model/pull/141

I have tested the PR and there is still one metric cached.
container_uptime_seconds is still in the cache.
Is that the correct behavior?

Fixed by #141 and #142


Fix bower.json

According to the bower.json specification,
main:

Do not include minified files.

ignore:

bower.json will never be ignored.

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

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


IOException: file in use

If you close the game and open the launcher within a short time, you will get this error because the old launcher is still running, trying to upload while the new launcher is trying to download the same file.
http://gyazo.com/c4dda5ef3c50e16f509fad3ff06d39c9

Hmmm... Solution would be to set a marker, like a Launcher.lock file with a time inside. If the time is above 5 minutes then ignore, otherwise do not touch.

Fixed


[Syntax] support nul character as garbage text trivia in libSyntax

In previously, Lexer does not handle nul character in lexTrivia function.
So libSyntax lose information about nul character and can not achieve round trip translation.
With this PR, I update lexTrivia and libSyntax handles nul character as garbage text trivia.
I split my work into 2 commits.
In first commit, I introduce Lexer::NulCharacterKind enum to refactor Lexer code.
There are 3 types of meaning about nul character in Lexer.

Embedded nul character
CodeCompletion marker
String buffer terminator

We need to handle correctly and carefully these cases when see nul character in Lexer.
To clear this task and prevent to forget about this, this enum is useful.
How do you think?
In second commit, I update lexTrivia.
This commit achieve main purpose of this PR.
And add test cases to check round trip of source file with nul, trivia construction, diagnostics about embedded nul character.
A new test case Syntax/tokens_nul.swift covers all consideration of Syntax/lexer_invalid_nul.swift which is added by me in previous PR https://github.com/apple/swift/pull/14954
So I removed this.

@xwu Thanks, I updated.

Ah, I mistook to apply changes to correct commit.
I will fix history again.

Ok, please review it.

I updated in response to review.

I updated.
@rintaro Thanks, I intended to reduce diff at first time. But I agree your review.

updated 🙂

@swift-ci Please smoke test


Subtracting cells from anndata

Dear developers,
I am interested in subtracting cells in the pre-processing step that contains a specific gene expression and do my analysis only on that subset.
I managed to identify these cells by simply using adata[:,adata.var_names.str.match('mygene') ] but I have problem in obtaining those cells because through this method I get them only with that gene which is not my intention.
I also tried the following approches:
adata[adata.obs.where(adata.var_names=="mygene"),:]
but it was not that simple as I thought
Can you please suggest me some ideas as I am new to pandas like data frames such anndata
Thanks

You can always remove cells using something like
adata_subset = adata[adata[:, 'mygene'].X > 2]

which will subset to those cells that have expression of 'mygene' greater than 2.


Extend matrix for config-daemon and webhook images

This change adds the config-daemon and webhook to the workflow matrix,
dynamically creating new jobs for CentOS Stream 9.
Signed-off-by: Fabien Dupont<EMAIL_ADDRESS>

Merging, even though it failed. The logs validate the build stage command line, so the push should work when triggered by schedule.


x/tools/gopls: code action to "Add switch cases for [enum|type]"

gopls version
v0.14.2
go env
Not relevant

What did you do?
Consider the following snippet:
type AnimalType int

const (
	AnimalTypeUnknown AnimalType = iota
	AnimalTypeDog
	AnimalTypeCat
	AnimalTypeHorse
)

func main() {
	var at AnimalType
	switch at {
	case AnimalTypeDog:
		// do stuff
	}
}

(I realise switching on at in that example doesn't make sense, just doing that to illustrate the use-case)
What did you see happen?
N/A
What did you expect to see?
It would be nice if gopls offered completing the missing switch arms as a code action.
I'm thinking this could be offered only when there's a finite set of cases, so it would work for defined types such as the example above, but not on basic types such as string, int, etc.
Is there an appetite to implement something like this? Or is it intentionally not supported?
Editor and settings
No response
Logs
No response

Nice idea! It should also support type switches: such a feature would be helpful to me to as I frequently write functions that switch over ast.Node or types.Type or types.Object.
I suggest the precise criteria should be:

a switch expr {} statement should offer a code action at the "switch" keyword to "Add cases for AnimalType", if the type of expr is a named constant declared in a single const declaration.
a switch v.(type)` statement should offer a code action at the "switch" keyword to "Add cases for ast.Node", if the type of v is an interface. All accessible types that implement the interface and are declared in the same package as the interface type may be offered.
If the switch already has some cases, it should fill in the missing ones.
If all are present (or there is a "default" case), then there should be no code action.
Only constants or types that are accessible to the switch statement (i.e. exported, or in same package) should be offered.

Do you want to take a crack at it yourself?

Agree with all your points! I do I think offering it when there's a default case could potentially be useful as well, but I guess it's probably better to do a first implementation without that and add it later if people think it's useful.
I'm happy to take a stab at this but I'm gonna need some hand-holding. I played around a bit trying to do this but I'm 100% sure it wasn't the right way to do it and also it fell short when the type wasn't declared on the same file that the switch was in.
I suppose this is going to have to be a fixer (and not a singleFileFixer), but I'm not sure how I'm supposed to use the cache snapshot/package to try and find the relevant types/constants.

it fell short when the type wasn't declared on the same file that the switch was in.

Most of the computation will be done in the domain of go/types: you'll need to identify the type of the switch operand (a types.Type, found in types.Info.TypeOf(expr)), check that it is a named type (*types.Named), find its package,  (Named.Obj().Pkg(), a types.Package), observe that there are various accessible named constants of the same type (types.Identical) in the same package (by iterating over Package.Scope.{Named,Lookup}), and subtract the cases that already exist (by again using TypeOf for each case).
Type switches will be similar except that you are iterating over types, not constants, and testing compatibility with the switch operand using types.AssignableTo. You should test whether each *T as assignable to the interface if plain old T is not, as the pointer type may have more methods.
Send a CL when you're ready, even if just to ask for clarification.

Cool! That was very helpful! I think I got something more or less working, will share a CL soon!


Incomplete artifacts in maven centra repo

I was trying to update a project from 3.3.3 to 3.9, but neither 3.8 nor 3.9 are in maven central repo.
Well, they are, but incomplete.  The jar is missing.

Hi,
The structure of Jawr has change since the version 3.3.3
Now Jawr is separated in multiple modules.
You have to change your dependency to use :
<dependency>
    <groupId>net.jawr</groupId>
    <artifactId>jawr-core</artifactId>
    <version>3.9</version>
</dependency>

Please check the migration guide to see the different actions to do for your migration : https://jawr.java.net/migrationGuide.html
Cheers,


DICOM Segmentation image storage IOD support

It would be really helpful if OHIF viewers supported DICOM Segmentation. There are several on-going projects in ITCR and beyond that would probably benefit from this capability. Lots of sample data is publicly available for testing. Several tools, both open source and commercial, support DICOM SEG natively. Would be great to get an idea if/when this capability will be supported by OHIF Viewers.

Hi Andrey,
I don't know if it's planned for the immediate future but it certainly seems worthwhile and we do intend to follow DICOM standards as much as possible. If you'll be at RSNA, you can bring this up at the next OHIF Community Forum.
See here for more details:
http://forum.ohif.org/t/ohif-community-forum-meetings/18

Thanks for the reply Erik! If I don't make it to the in-person meeting, I look forward to a clarification on the plans regarding this topic here on github.

Lots of sample data is publicly available for testing. Several tools, both open source and commercial, support DICOM SEG natively.

To follow up on this, here is the article that discusses all the tools and sample data we made publicly available: https://peerj.com/preprints/1541/

I think we have support for read, write, edit right now. So I will close this


Mise fails to install sops >=3.8.1 via ubi

Describe the bug
When installing sops via ubi instead of the old plugin, the installation fails on linux systems
To Reproduce

Remove a potentially installed sops version with mise rm<EMAIL_ADDRESS>Create a fresh mise install, or remove the sops plugin with mise p rm sops
Try to install sops with MISE_VERBOSE=1 mise install<EMAIL_ADDRESS>Observe the following failure:

DEBUG mise::cli ARGS: /home/simon/.local/bin/mise install<EMAIL_ADDRESS>DEBUG mise::config config: ~/.config/mise/config.toml
DEBUG mise::config config: ~/.tool-versions
DEBUG mise::toolset install_versions<EMAIL_ADDRESS>DEBUG mise::http GET https://api.github.com/repos/getsops/sops/releases/tags/3.8.1
DEBUG reqwest::connect starting new connection: https://api.github.com/
DEBUG mise::http GET https://api.github.com/repos/getsops/sops/releases/tags/3.8.1 404 Not Found
DEBUG mise::backend::ubi Failed to get release for<EMAIL_ADDRESS>trying with 'v' prefix: HTTP status client error (404 Not Found) for url (https://api.github.com/repos/getsops/sops/releases/tags/3.8.1)
DEBUG ubi Parsed --project getsops/sops = getsops / sops
DEBUG ubi exe name = sops
DEBUG ubi install path = /home/simon/.local/share/mise/installs/ubi-getsops-sops/3.8.1/bin/sops
DEBUG reqwest::connect starting new connection: https://api.github.com/
DEBUG ubi::picker filtering out assets that do not have a valid extension
DEBUG ubi::picker skipping asset with invalid extension: sops-3.8.1.aarch64.rpm
DEBUG ubi::picker skipping asset with invalid extension: sops-3.8.1.x86_64.rpm
DEBUG ubi::picker skipping asset with invalid extension: sops-v3.8.1.checksums.pem
DEBUG ubi::picker skipping asset with invalid extension: sops-v3.8.1.checksums.sig
DEBUG ubi::picker skipping asset with invalid extension: sops-v3.8.1.checksums.txt
DEBUG ubi::extension the extension "darwin" is a platform name, ignoring
DEBUG ubi::picker skipping asset with invalid extension: sops-v3.8.1.darwin.amd64
DEBUG ubi::picker skipping asset with invalid extension: sops-v3.8.1.darwin.amd64.spdx.sbom.json
DEBUG ubi::picker skipping asset with invalid extension: sops-v3.8.1.darwin.arm64
DEBUG ubi::picker skipping asset with invalid extension: sops-v3.8.1.darwin.arm64.spdx.sbom.json
DEBUG ubi::picker skipping asset with invalid extension: sops-v3.8.1.darwin.spdx.sbom.json
DEBUG ubi::picker skipping asset with invalid extension: sops-v3.8.1.exe.spdx.sbom.json
DEBUG ubi::picker skipping asset with invalid extension: sops-v3.8.1.intoto.jsonl
DEBUG ubi::picker skipping asset with invalid extension: sops-v3.8.1.linux.amd64
DEBUG ubi::picker skipping asset with invalid extension: sops-v3.8.1.linux.amd64.spdx.sbom.json
DEBUG ubi::picker skipping asset with invalid extension: sops-v3.8.1.linux.arm64
DEBUG ubi::picker skipping asset with invalid extension: sops-v3.8.1.linux.arm64.spdx.sbom.json
DEBUG ubi::picker skipping asset with invalid extension: sops_3.8.1_amd64.deb
DEBUG ubi::picker skipping asset with invalid extension: sops_3.8.1_arm64.deb
DEBUG ubi::picker current OS = linux
DEBUG ubi::picker matching assets against OS using (?i:(?:\b|_)linux(?:\b|_|32|64))
DEBUG ubi::picker matching OS against asset name = sops-v3.8.1.darwin
DEBUG ubi::picker does not match our OS
DEBUG ubi::picker matching OS against asset name = sops-v3.8.1.exe
DEBUG ubi::picker does not match our OS
DEBUG mise::backend::ubi Failed to install with ubi version 'v3.8.1': could not find a release for this OS (linux) from sops-v3.8.1.darwin, sops-v3.8.1.exe, trying with<EMAIL_ADDRESS>DEBUG ubi Parsed --project getsops/sops = getsops / sops
DEBUG ubi exe name = sops
DEBUG ubi install path = /home/simon/.local/share/mise/installs/ubi-getsops-sops/3.8.1/bin/sops
DEBUG reqwest::connect starting new connection: https://api.github.com/
Error:
   0: Failed to install<EMAIL_ADDRESS>   1: Failed to install with ubi<EMAIL_ADDRESS>could not find a release for this OS (linux) from sops-v3.8.1.darwin, sops-v3.8.1.exe

Location:
   src/backend/ubi.rs:113

Version:
   2024.10.13 linux-x64 (ee83488 2024-10-28)

Backtrace omitted. Run with RUST_BACKTRACE=1 environment variable to display it.
Run with RUST_BACKTRACE=full to include source snippets.

Expected behavior
Mise 3.8.1 should be correctly installed on linux systems
mise doctor output
version: 2024.10.13 linux-x64 (ee83488 2024-10-28)
activated: yes
shims_on_path: no

build_info:
  Target: x86_64-unknown-linux-gnu
  Features: DEFAULT, NATIVE_TLS, OPENSSL
  Built: Mon, 28 Oct 2024 03:25:17 +0000
  Rust Version: rustc 1.81.0 (eeb90cda1 2024-09-04)
  Profile: release

shell:
  /usr/bin/zsh
  zsh 5.9 (x86_64-ubuntu-linux-gnu)

dirs:
  data: ~/.local/share/mise
  config: ~/.config/mise
  cache: ~/.cache/mise
  state: ~/.local/state/mise
  shims: ~/.local/share/mise/shims

config_files:
  ~/.tool-versions
  ~/.config/mise/config.toml

backends:
  cargo
  core
  go
  npm
  pipx
  spm
  ubi
  vfox

plugins:
  age                    https://github.com/threkk/asdf-age#396bdf6
  age-plugin-yubikey     https://github.com/joke/asdf-age-plugin-yubikey#704b977
  asciidoctorj           https://github.com/gliwka/asdf-asciidoctorj.git#9a62fd3
  aws-iam-authenticator  https://github.com/zekker6/asdf-aws-iam-authenticator#fd1866a
  awscli                 https://github.com/MetricMike/asdf-awscli.git#c26bbb4
  chezmoi                https://github.com/joke/asdf-chezmoi.git#53f30be
  cosign                 https://gitlab.com/wt0f/asdf-cosign.git#746596f
  dive                   https://github.com/looztra/asdf-dive.git#1321207
  elixir                 https://github.com/mise-plugins/mise-elixir.git#8efb115
  fzf                    https://github.com/kompiro/asdf-fzf.git#f8fcea1
  github-cli             https://github.com/bartlomiejdanek/asdf-github-cli.git#e0605b7
  glab                   https://github.com/particledecay/asdf-glab.git#2c081ae
  gleam                  https://github.com/vic/asdf-gleam.git#82a21e0
  gomplate               https://github.com/sneakybeaky/asdf-gomplate.git#2e5a864
  gopass                 https://github.com/trallnag/asdf-gopass.git#64d70d3
  groovy                 https://github.com/weibemoura/asdf-groovy.git#e33491d
  helm                   https://github.com/Antiarchitect/asdf-helm.git#091d00f
  istioctl               https://github.com/virtualstaticvoid/asdf-istioctl.git#6ec43e8
  k6                     https://github.com/gr1m0h/asdf-k6.git#107aa85
  kafkactl               https://github.com/anweber/asdf-kafkactl.git#eb1367d
  kn                     https://github.com/joke/asdf-kn.git#2cb1615
  krew                   https://github.com/bjw-s/asdf-krew.git#6354415
  kubectl                https://github.com/asdf-community/asdf-kubectl.git#2fb3b57
  kubie                  https://github.com/johnhamelink/asdf-kubie.git#672a58d
  maven                  https://github.com/halcyon/asdf-maven.git#83fb4db
  mimirtool              https://github.com/asdf-community/asdf-mimirtool.git#78712b7
  minikube               https://github.com/alvarobp/asdf-minikube.git#2324ba7
  pre-commit             https://github.com/jonathanmorley/asdf-pre-commit.git#26bfc42
  shfmt                  https://github.com/luizm/asdf-shfmt.git#a42c5ff
  skaffold               https://github.com/nklmilojevic/asdf-skaffold.git#bf2f992
  starship               https://github.com/gr1m0h/asdf-starship.git#9f7504b
  steampipe              https://github.com/carnei-ro/asdf-steampipe.git#261baed
  terraform              https://github.com/asdf-community/asdf-hashicorp.git#22eb1c4
  terraform-docs         https://github.com/looztra/asdf-terraform-docs.git#acfd01c
  terragrunt             https://github.com/ohmer/asdf-terragrunt.git#4a6651a
  tflint                 https://github.com/skyzyx/asdf-tflint.git#37e7eb9
  tfsec                  https://github.com/woneill/asdf-tfsec.git#483e756
  tfupdate               https://github.com/yuokada/asdf-tfupdate.git#3828478
  trivy                  https://github.com/zufardhiyaulhaq/asdf-trivy.git#537a22a
  xh                     https://github.com/NeoHsu/asdf-xh#fb8d3e7
  yq                     https://github.com/sudermanjr/asdf-yq.git#772992f

toolset:
<EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS>    (missing)
<EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS>(missing)
<EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS>
env_vars:
  MISE_SHELL=zsh

settings:
  activate_aggressive = false
  all_compile = false
  always_keep_download = false
  always_keep_install = false
  asdf_compat = false
  cache_prune_age = "30d"
  ci = false
  color = true
  debug = false
  disable_backends = []
  disable_default_registry = false
  disable_hints = []
  disable_tools = []
  experimental = true
  fetch_remote_versions_cache = "1h"
  fetch_remote_versions_timeout = "10s"
  go_default_packages_file = "~/.default-go-packages"
  go_download_mirror = "https://dl.google.com/go"
  go_repo = "https://github.com/golang/go"
  go_set_gopath = false
  go_set_goroot = true
  go_skip_checksum = false
  http_timeout = "30s"
  jobs = 4
  legacy_version_file = true
  legacy_version_file_disable_tools = []
  libgit2 = true
  lockfile = false
  log_level = "info"
  not_found_auto_install = true
  paranoid = false
  pin = false
  plugin_autoupdate_last_check_duration = "7d"
  quiet = false
  raw = false
  trace = false
  use_versions_host = true
  verbose = false
  yes = false

  [cargo]
  binstall = true

  [node]

  [pipx]
  uvx = false

  [python]
  default_packages_file = "~/.default-python-packages"
  pyenv_repo = "https://github.com/pyenv/pyenv.git"
  venv_auto_create = false
  venv_stdlib = false

  [ruby]
  default_packages_file = "~/.default-gems"
  ruby_build_repo = "https://github.com/rbenv/ruby-build.git"
  ruby_install = false
  ruby_install_repo = "https://github.com/postmodern/ruby-install.git"

  [status]
  missing_tools = "if_other_versions_installed"
  show_env = false
  show_tools = false

Additional context
Workaround: Manually installing the sops plugin by adding a [plugins] section with the sops plugin in it and running mise plugin install sops

Ran in to the same problem. Is it possible to force mise to pick the asdf backend for these circumstances?
May be like asdf:sops = "3.9.1"
The registry definition includes both ubi and asdf but prioritizes ubi backend even if the sops plugin is defined in the [plugins] section.
https://github.com/jdx/mise/blame/c790e2a209a07c63913eeb17f2ae9d9be52eee06/registry.toml#L662

mise settings set disable_backends ubi

prioritizes ubi backend even if the sops plugin is defined in the [plugins] section

that is a bug

EDIT: wait, no, I misunderstood, the way you override like this is just by installing the plugin, not putting it into mise.toml

Is there a way to override it in reverse - force mise to use ubi even if its built-in registry points to an asdf plugin?

you should be able to do that with aliases but I've never tried it

I think we're lacking this right now, so you'd need to use ubi explicitly


[docs] Review CSS Styles page for technical accuracy

Review the content at https://lit-element.polymer-project.org/guide/styles for technical accuracy only.
Markdown source: https://github.com/Polymer/lit-element/blob/master/docs/_guide/styles.md

[ ] fix :host vs custom element tag
[ ] fix/remove info on JS expressions in

https://lit-element.polymer-project.org/guide/styles#use-the-custom-element-tag-as-a-selector
The :host CSS pseudo-class has higher specificity than the element’s type selector is incorrect. I think it should be the other way around. See this jsbin

"Use JavaScript expressions in LitElement style blocks"
 is considered an anti-pattern since the browser has to re-parse the entire style tag if the textContent changes. Suggested pattern would be to make this.myStyles a complete style tag instead if you really want to call out styling with JS expression (which IMO could be skipped).

@keanulee What if style is a constant? As in
  const style = `font-family: ${label.font.family};...
  this.checkbox = html`

      ...
...
render() {
  this.setAttribute('role', 'checkbox');
  return html`
    ${HostStyle} ${this.checkbox}
  `;
}

If style never changes, it shouldn't have to rerender. Yes?

Looking at your snippet, there's a limitation on what actually works with JS expressions in style which might make the above code not behave as expected.

When using LitElement with Shady DOM (the shim for when there's no native Shadow DOM), the `;

// element-two
html``;

// `completeStyle` has same text content, only parsed once.
// element-one
html`
${completeStyle}`;

// element-two
html`
${completeStyle}`;

@keanulee Could you clarify in the completeStyle example what's inside that expression? Not sure I understand what's intended

const partialStyle = `
background: white;
border: 1px solid black;
...
`;

const completeStyle = html`

`;

Hot damn and hallelujah! You had me worried there. For the particular problem I'm working on--parsing a 3rd party file format and rendering the native form into a browser--there's no limit of the different styles similar elements can have. In Polymer 2, I could put the values directly into my <template>:
<div id="line" style="border-width: [[borderWidth]]px; border-style: [[borderStyle]];

I learned early on this was not an option with LitElement. In this portion of my app, where styles are abitrary and out of my control, I've been using style attributes as I build instances on-the-fly.

Possible improvement for the docs that I am wondering about:
What is the best practice for handling use of global custom properties in lit-element components, such that they work in IE11?  One approach is to simply define them at the document level, and rely on css property fallbacks inside the component for IE11.  This is what I'd normally expect (aside form IE11), but it requires components to have the respective values as fallback.  An alternative approach would be to define those styles in a css template and import them into the component so that they work IE11 without the component needed to rely on fallback values.


Failed to attach disk 'LocalState\ext4.vhdx' to WSL2: The system cannot find the file specified.

Windows Version
Microsoft Windows [Version 10.0.22621.1555]
WSL Version
<IP_ADDRESS>
Are you using WSL 1 or WSL 2?

[X] WSL 2
[ ] WSL 1

Kernel Version
Linux version <IP_ADDRESS>-microsoft-standard-WSL2 (oe-user@oe-host) (x86_64-msft-linux-gcc (GCC) 9.3.0, GNU ld (GNU Binutils) <IP_ADDRESS>00220) #1 SMP Fri Jan 27 02:56:13 UTC 2023
Distro Version
Kali linux
Other Software
No response
Repro Steps

uninstall the old kali linux
reinstall kali linux from ms store.

Expected Behavior
The Kali linux installed successfully.
Actual Behavior
Could not open/start it when installed finished.
Diagnostic Logs
Failed to attach disk 'C:\Users\Liu.D.H\AppData\Local\Packages\KaliLinux.54290C8133FEE_ey8k8hqnwqnmg\LocalState\ext4.vhdx' to WSL2: The system cannot find the file specified.
Error code: Wsl/Service/CreateInstance/MountVhd/ERROR_FILE_NOT_FOUND
Press any key to continue...

C:\Users\Liu.D.H\AppData\Local\Packages\KaliLinux.54290C8133FEE_ey8k8hqnwqnmg>du -v

DU v1.62 - Directory disk usage reporter
Copyright (C) 2005-2018 Mark Russinovich
Sysinternals - www.sysinternals.com

           0  C:\Users\Liu.D.H\AppData\Local\Packages\KaliLinux.54290C8133FEE_ey8k8hqnwqnmg\AC\INetCache
           0  C:\Users\Liu.D.H\AppData\Local\Packages\KaliLinux.54290C8133FEE_ey8k8hqnwqnmg\AC\INetCookies
           0  C:\Users\Liu.D.H\AppData\Local\Packages\KaliLinux.54290C8133FEE_ey8k8hqnwqnmg\AC\INetHistory
           0  C:\Users\Liu.D.H\AppData\Local\Packages\KaliLinux.54290C8133FEE_ey8k8hqnwqnmg\AC\Temp
           0  C:\Users\Liu.D.H\AppData\Local\Packages\KaliLinux.54290C8133FEE_ey8k8hqnwqnmg\AC
           0  C:\Users\Liu.D.H\AppData\Local\Packages\KaliLinux.54290C8133FEE_ey8k8hqnwqnmg\AppData
           0  C:\Users\Liu.D.H\AppData\Local\Packages\KaliLinux.54290C8133FEE_ey8k8hqnwqnmg\LocalCache\Local\Microsoft
           0  C:\Users\Liu.D.H\AppData\Local\Packages\KaliLinux.54290C8133FEE_ey8k8hqnwqnmg\LocalCache\Local
           0  C:\Users\Liu.D.H\AppData\Local\Packages\KaliLinux.54290C8133FEE_ey8k8hqnwqnmg\LocalCache\Roaming\Microsoft\Windows\Start Menu\Programs
           0  C:\Users\Liu.D.H\AppData\Local\Packages\KaliLinux.54290C8133FEE_ey8k8hqnwqnmg\LocalCache\Roaming\Microsoft\Windows\Start Menu
           0  C:\Users\Liu.D.H\AppData\Local\Packages\KaliLinux.54290C8133FEE_ey8k8hqnwqnmg\LocalCache\Roaming\Microsoft\Windows
           0  C:\Users\Liu.D.H\AppData\Local\Packages\KaliLinux.54290C8133FEE_ey8k8hqnwqnmg\LocalCache\Roaming\Microsoft
           0  C:\Users\Liu.D.H\AppData\Local\Packages\KaliLinux.54290C8133FEE_ey8k8hqnwqnmg\LocalCache\Roaming
           0  C:\Users\Liu.D.H\AppData\Local\Packages\KaliLinux.54290C8133FEE_ey8k8hqnwqnmg\LocalCache
           0  C:\Users\Liu.D.H\AppData\Local\Packages\KaliLinux.54290C8133FEE_ey8k8hqnwqnmg\LocalState
           0  C:\Users\Liu.D.H\AppData\Local\Packages\KaliLinux.54290C8133FEE_ey8k8hqnwqnmg\RoamingState
           8  C:\Users\Liu.D.H\AppData\Local\Packages\KaliLinux.54290C8133FEE_ey8k8hqnwqnmg\Settings
          32  C:\Users\Liu.D.H\AppData\Local\Packages\KaliLinux.54290C8133FEE_ey8k8hqnwqnmg\SystemAppData\Helium
          32  C:\Users\Liu.D.H\AppData\Local\Packages\KaliLinux.54290C8133FEE_ey8k8hqnwqnmg\SystemAppData
           0  C:\Users\Liu.D.H\AppData\Local\Packages\KaliLinux.54290C8133FEE_ey8k8hqnwqnmg\TempState

Totals:
Files:        8
Directories:  21
Size:         40,960 bytes
Size on disk: 135,168 bytes

C:\Users\Liu.D.H\AppData\Local\Packages\KaliLinux.54290C8133FEE_ey8k8hqnwqnmg>

Hello, I'm new to this computer stuff but I had this issue too. Couldn't find anything except a short 2min YT video. Basically you need to re-install and run your Unix installation through Powershell first.
Steps:
run Windows Powershell as Admin
wsl --uninstall kali-linux
wsl --install --distribution kali-linux
Not sure how or why it works but it worked for me. Hope this helps you and whoever encounters this!

>wsl --unregister ubuntu
followed by
>wsl --install
fixes the problem for ubuntu atleast

I can confirm, a simple reinstallation via Microsoft Store does not work, but wsl unregister and then install does.

I can confirm, a simple reinstallation via Microsoft Store does not work, but wsl unregister and then install does.

Agreed. Same issue. This is the way.

>wsl --unregister ubuntu followed by >wsl --install fixes the problem for ubuntu atleast

it worked for me, thanks alot

>wsl --unregister ubuntu followed by >wsl --install fixes the problem for ubuntu atleast

It does also for kali
wsl --unregsiter kali-linux

Can confirm the unregister and install works. Saved my backside today.

I can confirm, a simple reinstallation via Microsoft Store does not work, but wsl unregister and then install does.

This is it 👍

This fixed it. Thank you

i have it loading, its saying installing ubuntu, im worried.

> wsl --unregister ubuntu
followed by reinstall from ms store also worked.

>wsl --unregister ubuntu followed by >wsl --install fixes the problem for ubuntu atleast

worked!

>wsl --unregister ubuntu followed by >wsl --install fixes the problem for ubuntu atleast

worked. thx

I have the same problem how to solve?

I achieved
after running the commands
wsl --unregister ubuntu and wsl --instal
after uninstalling ubuntu from the microsoft store and installing again

in pws:
wsl --unregister kali-linux
wsl  --install kali-linux

It's kind of obvious that loosing all your work would fix it guys.
But what's the solution when we can't/don't want to lose all the data???

It's kind of obvious that loosing all your work would fix it guys. But what's the solution when we can't/don't want to lose all the data???

If your vhdx file is missing, it might be that your data is already gone -- as that file has been deleted which is the storage volume for the Ubuntu operating system. Uninstalling and reinstalling just reinstates that fresh volume.

Facing this problem too

Works (as of 11/09/2023):
wsl --unregister ubuntu
wsl -- install

It's kind of obvious that loosing all your work would fix it guys. But what's the solution when we can't/don't want to lose all the data???

TL;DR: Go to "Turn windows features on and off" -> uncheck windows subsystem for linux -> restart -> do it again and check the windows subsystem for linux box and after restarting again you are good to go.
I had the same issue as OP, I tried moving my ext4.vhdx disk file, in an attempt to free it from whatever process was using it, it denied this action but also told me which process was using this file, it was System in my case, so I tried the steps described on my tldr and it worked, without losing data or any side effects.
I also tried other solutions which didn't work: Signing out of my user, restarting, closing other processes.
Hope this helps.

I've run into the same problem. Tried using Recuva to see if I could restore the file with no luck.
I wonder if this data loss is related to behaviours associated with these directories. From the UWP docs;

Each UWP app gets several folders under  c:\users<user name>\AppData\Local\Packages<app package identifier>\, which appears to be the case for WSL distros as well. At least those distributed via the store.
LocalState is for data local to the current device. OneDrive backs up this data, such that it can be restored on new devices.
There is also RoamingState (in Windows 11 it no longer roams) and TempState.
Such backup behaviour should be readonly for the current device, so I do not know how it could cause this. I just know from the docs that it is a mechanism that touches this area and that something abnormal has occurred.

Possibly related issues;

No cause determined - https://stackoverflow.com/questions/52713201/downloaded-files-in-appdata-local-packages-auto-deleting-in-uwp
Certificate issue with side-loaded app - https://stackoverflow.com/questions/74595055/uwp-storage-file-is-deleted-on-close-even-though-i-did-not-how-can-i-prevent-it
I know on Android if the certificate used to sign an app changes, data-loss occurs. I believe the same applies to UWP/sandboxed apps on Windows. So in my case if the certificate for Ubuntu 22.04 changed with an app update, that may have wiped the data (possibly in a manner that leaves just enough behind that errors are raised rather than a new install being started).

Looking at the last modified date in MS Store, I can see "Ubuntu 22.04.2 LTS" was modified on 2023-09-03, which is between my last usage and discovery of this issue. Currently installed version is 2<IP_ADDRESS>.
Assuming the issue was caused by LocalState being wiped due to certificate changes, preventing reoccurrence means having the WSL files live somewhere else. The easiest way to achieve this would be;

Install as normal.
Open shell (not in installed distro, Windows Powershell is what I used)
Export distro
wsl --export <distro-name> $env:UserProfile\Downloads\distro.tar
Delete distro
wsl --unregister <distro-name>
Import exported distro
wsl --import <distro-name> <install-location> $env:UserProfile\Downloads\distro.tar

Output is slightly different to what OP posted, so here it what I got (to aid future searches).
Failed to attach disk 'C:\Users\jorda\AppData\Local\Packages\CanonicalGroupLimited.Ubuntu22.04LTS_79rhkp1fndgsc\LocalState\ext4.vhdx' to WSL2: The system cannot find the file specified.
Error code: Wsl/Service/CreateInstance/MountVhd/ERROR_FILE_NOT_FOUND

[process exited with code<PHONE_NUMBER> (0xffffffff)]
You can now close this terminal with Ctrl+D, or press Enter to restart.

i had to adapt the unix command so it was 'wsl unregister kali-linux' the ran the 2nd linux command and it worked perfectly thanx!

I've also had a similar problem, and trying @daniel-rodriguez-azumo's solution didn't work for me. In my case, wsl error after updating the user directory
what should I do? how to update the OldPath to CurrentPath on users directory?

Ah NVM, https://github.com/microsoft/WSL/issues/9349#issuecomment-1379447153 solved my problem
I hope in the future this process will be done automatically when updating the user directory.

Thanks this is working 👍
wsl --unregister ubuntu
wsl -- install

>wsl --unregister ubuntu followed by >wsl --install fixes the problem for ubuntu atleast

Yeah, it worked!

This seems to work for me on Garden in WSL2 (when running PX4 autopilot). I still get the error libEGL warning: failed to open /dev/dri/renderD128: Permission denied but the UI does launch and all the other Ogre errors have disappeared.

had this today. Got lucky just reboot of Windows fixed it. (Microsoft Windows NT 10.0.22621.0)

>wsl --unregister ubuntu followed by >wsl --install fixes the problem for ubuntu atleast

This is the one. Thank you!

>wsl --unregister ubuntu ardından >wsl --install en azından ubuntu için sorun düzeltildi
it worked, thanks :)

>wsl --unregister ubuntu followed by >wsl --install fixes the problem for ubuntu atleast

This worked for me. Thank you!

wsl --unregister kali-linux followed by >wsl --install kali-linux worked

>wsl --unregister ubuntu followed by >wsl --install fixes the problem for ubuntu atleast

One should NOTE this operation removes the distro entirely

Executing the command: wsl --unregister adn then wsl --install doenst fix the problem.
What really does is to install another ubuntu which is the latest version too with LTS, and is not the same as the one in the microsoft store.
But if for a reason you prefer to install it like this way then you should be sure to delete the broken version if you dont want to have trash in your pc

>wsl --unregister ubuntu followed by >wsl --install fixes the problem for ubuntu atleast

Thank you so much for this solution I was struggling for hours

>wsl --unregister ubuntu followed by >wsl --install fixes the problem for ubuntu atleast

Thank you so much for this solution I was struggling for hours

Thank you so much

>wsl --unregister ubuntu followed by >wsl --install fixes the problem for ubuntu atleast

Thank you. This solved my problem.

I found another solution on David Bombal YouTube

>wsl --unregister ubuntu followed by >wsl --install fixes the problem for ubuntu atleast

Still works thank you :)

Hey there,
I'm glad to hear that the fix worked for Ubuntu! Thanks for the help.
Cheers!
On Mon, Apr 1, 2024 at 5:13 PM Amir Vasseghi @.***>
wrote:

wsl --unregister ubuntu followed by >wsl --install fixes the problem for
ubuntu atleast

Still works thank you :)
—
Reply to this email directly, view it on GitHub
https://github.com/microsoft/WSL/issues/10032#issuecomment-2030566083,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/A7QYAJHCX2CSZMZNKRITOZDY3HEXVAVCNFSM6AAAAAAXNH5LWGVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDAMZQGU3DMMBYGM
.
You are receiving this because you commented.Message ID:
@.***>

help, i cant unregister it, cos powershell says there is no wsl installed, even tho it says there is...

when starting kali, it still says the same error...

thank a  lot this fixed the issue 👍

>wsl --unregister ubuntu followed by >wsl --install fixes the problem for ubuntu atleast

Works (as of 11/09/2023): wsl --unregister ubuntu wsl -- install

Thanks a lot!
I had the same problem but with Docker Desktop
provisioning docker WSL distros: ensuring main distro is deployed: checking if main distro is up to date: checking main distro bootstrap version: getting main distro bootstrap version: exit code:<PHONE_NUMBER>: running WSL command wsl.exe C:\Windows\System32\wsl.exe -d docker-desktop -u root -e wsl-bootstrap version: Échec de l’attachement du disque « <HOME>\AppData\Local\Docker\wsl\distro\ext4.vhdx » à WSL2. Error code: Wsl/Service/CreateInstance/MountVhd/HCS/ERROR_FILE_NOT_FOUND : exit status 0xffffffff
Solved it with just wsl --unregister docker-desktop and then restarting Docker

Thanks a lot! I had the same problem but with Docker Desktop provisioning docker WSL distros: ensuring main distro is deployed: checking if main distro is up to date: checking main distro bootstrap version: getting main distro bootstrap version: exit code:<PHONE_NUMBER>: running WSL command wsl.exe C:\Windows\System32\wsl.exe -d docker-desktop -u root -e wsl-bootstrap version: Échec de l’attachement du disque « <HOME>\AppData\Local\Docker\wsl\distro\ext4.vhdx » à WSL2. Error code: Wsl/Service/CreateInstance/MountVhd/HCS/ERROR_FILE_NOT_FOUND : exit status 0xffffffff
Solved it with just wsl --unregister docker-desktop and then restarting Docker

same problem here, wsl --unregister docker-desktop and restart Docker Desktop just work! thanks @Fabienjulio ... no data was lost btw

>wsl --unregister ubuntu followed by >wsl --install fixes the problem for ubuntu atleast

Confirm that this works perfectly!

This is usually an issue with your rights, ensure you have sufficient rights to the vhdx file. Which you probably don't have since this file most likely was moved from another computer.
E.g

it is 2024 and this works for me!
wsl --unregister ubuntu wsl -- install

thank you


Add support for PostgreSQL ltree column type

It would be cool if you could provide a UserType for PostgreSQL ltree-Type too.

@noshua It would be even cooler if you provide it.
Looking forward to reviewing your Pull Request. You can use the existing Types as a reference.

Hello. It would be nice to have it.
@vladmihalcea Would you please find some time to check PR?

@Halynsky The current PR is only targeting the 6.0 branch, so it would take me way quite some time to port it to the other modules.
And, since I haven't ever used the ltree column type, I'd have to first learn about it to see if the implementation is correct.
All in all, that's the equivalent of one day of consulting. Does your company want to sponsor this time I need to invest in integrating this issue?

Fixed.


General cleanup

General cleanup for opensource files and .travis.yml

I signed the CLA, what did I do wrong?

Once you've signed (or fixed any issues), please reply here with @googlebot I signed it!) and we'll verify it.

@googlebot I signed it!

@hiranya911 am I good on my end of things? I says that I signed the CLA.


Improve .cspoj file and Directory.Build.props file

Changes

Copyright in Directory.Build.Props is updated. A plugin that is created in the year 2022 should not have a copyright notice starting in the year 2021
JustArchiNET.Madness is now included the same way it is done over in ASFs main repository.
Removed license expression. A plugin maintainer should be able to decide themselves, which licence their project is using.

Removed license expression. A plugin maintainer should be able to decide themselves, which licence their project is using.

He can, and we still want to provide default for him. I'd like you to revert this, other stuff makes sense.

Thanks as usual! :trophy:


more commands

added meme and sex
also changed the embed for avatar

also maybe there should be a timestamp for the avatar embed footer just like the whois command

LGTM!