"Error: no protocol with name: chat" when running the chat protocol example

Version:
0.31.0-rc.6

Platform:
MacOS Big Sur

Subsystem:
Firefox

Type:
High

Severity:
Description:
Hi there,
I'm attempting to implement my own protocol using libp2p, and stumbled across the example chat protocol here: https://github.com/libp2p/js-libp2p/blob/v0.27.3/examples/chat/src/dialer.js and the corresponding listener.
I've tried using the code here but am receiving "Error: no protocol with name: chat" in the console.
Stack trace:
Uncaught (in promise) Error: no protocol with name: chat
    Protocols protocols-table.js:22
    stringToStringTuples codec.js:48
    stringToBytes codec.js:220
    fromString codec.js:231
    Multiaddr index.js:55
    getPeer get-peer.js:18
    _dial index.js:494
    dialProtocol index.js:483
    MessageView MessageView.tsx:40
    MessageView MessageView.tsx:46
    React 5
    unstable_runWithPriority scheduler.development.js:468
    React 3
    workLoop scheduler.development.js:417
    flushWork scheduler.development.js:390
    performWorkUntilDeadline scheduler.development.js:157
    js scheduler.development.js:180
    js scheduler.development.js:645
    Webpack 21

I noticed that the current version of the multiaddr library has a fixed set of protocols it supports, and blows up if you try and construct one using multiaddr("/my/cool/multi/addr/here") - could this be related?
I tried both dial and dialProtocol to no avail:
      const signallingServer = libp2p.transportManager.getAddrs()[0];
      const peerAddr = `${signallingServer}/p2p/${recipient.toB58String()}/chat/1.0.0`
      const { stream, protocol }= await libp2p.dialProtocol(peerAddr, "/chat/1.0.0")

and tried implementing a handler like so: (albeit this isn't necessary to dial, is it?)
  await myLibp2p.handle("/chat/1.0.0", async ({ stream }) => {
    console.log("testing 1 2 3")
  })

I looked for a way to add protocols in both libp2p and multiaddr and couldn't see anything, but I apologise if I've missed something obvious!
Steps to reproduce the error:
Attempt to dial a peer with a /chat/1.0.0 multiaddr

Another code snippet of my creation of a libp2p instance, in case I've done something incorrect there:
const bootstrapMultiAddrs = [
  "/dns4/wrtc-star1.par.dwebops.pub/tcp/443/wss/p2p-webrtc-star/p2p/237239857289375235",
  "/dns4/star-signal.cloud.ipfs.team/wss/p2p-webrtc-star",
  "/ip4/<IP_ADDRESS>/tcp/13579/http/libp2p-webrtc-star/p2p",
]

async function createLibp2pNode() {
  const node = await libp2p.create({
    addresses: {
      listen: [
        "/ip4/<IP_ADDRESS>/tcp/13579/ws/p2p-webrtc-star/",
      ],
    },
    modules: {
      connEncryption: [NOISE],
      streamMuxer: [MPLEX],
      transport: [WebSockets, WebRTCStar],
      peerDiscovery: [Bootstrap],
    },
    config: {
      peerDiscovery: {
        autoDial: true,
        [Bootstrap.tag]: {
          enabled: true,
          list: bootstrapMultiAddrs
        }
      }
    }
  })
  }

Hello @CluEleSsUK
The libp2p protocol is not part of a multiaddr. A multiaddr in libp2p will be the address of a peer to reach to and establish a libp2p connection in a given transport.
You can see a libp2p protocol handling in the same way as a rest endpoint. A node supporting a given protocol (chat in this case), will need to call libp2p.handle where you will code what happens when a connection to another peer as a stream opened with this protocol.
You can see the chat example in the listener: https://github.com/libp2p/js-libp2p/blob/master/examples/chat/src/listener.js#L24
After the listener is running, it will accept libp2p connections to open streams on that protocol. Does this help?

I have already implemented the libp2p.handle listener, as in my last snippet in the OP - I have pasted it here for posterity:
  await myLibp2p.handle("/chat/1.0.0", async ({ stream }) => {
    console.log("testing 1 2 3")
  })

I understand that libp2p is not a part of multiaddr, but my understanding is that multiaddr is a dependency of libp2p and that both libp2p.dialProtocol and libp2p.dial create multiaddrs from any string passed in:
    dialProtocol(peer: PeerId | Multiaddr | string, protocols: string[] | string, options?: {
        signal?: AbortSignal | undefined;
    } | undefined): Promise<{
        stream: import("libp2p-interfaces/src/stream-muxer/types").MuxedStream;
        protocol: string;
    }>;

    dial(peer: PeerId | Multiaddr | string, options?: {
        signal?: AbortSignal | undefined;
    } | undefined): Promise<Connection>;

Calling dialProtocol blows up, but when doing some multiaddr stuff (as can be seen in the stacktrace in the OP)

I understand that libp2p is not a part of multiaddr, but my understanding is that multiaddr is a dependency of libp2p and that both libp2p.dialProtocol and libp2p.dial create multiaddrs from any string passed in:

Yes, but a libp2p protocol is not part of a multiaddr. Per the chat example you can see the dialled multiaddr is the network address of the peer. This will generate a libp2p connection, where we will be opening a stream with the given protocol.
You are doing:
const signallingServer = libp2p.transportManager.getAddrs()[0];
const peerAddr = `${signallingServer}/p2p/${recipient.toB58String()}/chat/1.0.0`
const { stream, protocol }= await libp2p.dialProtocol(peerAddr, "/chat/1.0.0")

instead of:
const signallingServer = libp2p.transportManager.getAddrs()[0];
const peerAddr = `${signallingServer}/p2p/${recipient.toB58String()}`
const { stream, protocol }= await libp2p.dialProtocol(peerAddr, "/chat/1.0.0")

or
const signallingServer = libp2p.transportManager.getAddrs()[0];
const peerAddr = `${signallingServer}/p2p/${recipient.toB58String()}`
const conn = await libp2p.dial(peerAddr)
const { stream, protocol }= await conn.newStream("/chat/1.0.0")

Ahhhhh sorry, I see what you mean now! That makes total sense, sorry for the confusion.


make apply fails with /usr/local/lib not found

I had a gateway which had been roughly through the following history:

initialize (using mainline of six months ago)
hack to connect to myDevices
install mlinux 3.3.24 (also six months ago, manually)
leave it sit
pull it out and notice that it was booting, but wasn't initialized. Apart from the stashed copies of the host keys in /var/config (and the corresponding links in /etc), it looked pristine; no scripts for launching the jumphost connection, no packet forwarder scripts, etc.
Manually get the jumphost connection running
make ping works
make apply fails: failure.log
manually confirm that there's no /usr/local/lib; manually mkdir /usr/local/lib
make apply succeeds.

Here's the error message:
TASK [conduit : Install monit test scripts] ************************************
failed: [ttn-ithaca-00-08-00-4a-3f-8a] (item=check_pktfwdlog) => {"ansible_loop_var": "item", "changed": false, "checksum": "7de8a76ac28e5f0d7e43fb3ca5b21df01f4fb303", "item": "check_pktfwdlog", "msg": "Destination directory /usr/local/lib does not exist"}
failed: [ttn-ithaca-00-08-00-4a-3f-8a] (item=check_system_md5) => {"ansible_loop_var": "item", "changed": false, "checksum": "354fc415b2b6b11cc81c07e6cc155df8c1dd8cd3", "item": "check_system_md5", "msg": "Destination directory /usr/local/lib does not exist"}

Here's what's in /usr/local:
root@ttn-ithaca-00-08-00-4a-3f-8a:~# ls /usr/local/
share
root@ttn-ithaca-00-08-00-4a-3f-8a:~# cat /etc/mlinux-version
mLinux 3.3.24
Built from branch: (detachedfrom630d62a)
Revision: 630d62a4443465a194ec642aba537e7796d9eb3d
root@ttn-ithaca-00-08-00-4a-3f-8a:~#

Precondition: update to mlinux 3.3.24 (in the field). For some reason, the gateway update didn't take (although /var/config existed, the ssh_tunnel components were missing). Manually install and get the ssh tunnel working. Do a make apply; install python-multiprocessing after make apply failed. make apply again.

I had assumed that /usr/local existed in the base image.  But it does not.  It automatically gets created when we install letsencrypt certificates.
I've updated the code handle this situation.


Support for transactions

It looks like is not possible to implement this feature at the moment. Distributed transactions are not supported yet in .NET Core and shared database connections don't work on separate processes.


rubyPackages.kramdown: 2.3.0 -> 2.3.1

Motivation for this change
This fixes CVE-2021-28834.
Result of nixpkgs-review run on x86_64-linux 1

9 packages built:

rubyPackages.jekyll
rubyPackages.kramdown
rubyPackages.kramdown-parser-gfm
rubyPackages_2_7.jekyll
rubyPackages_2_7.kramdown
rubyPackages_2_7.kramdown-parser-gfm
rubyPackages_3_0.jekyll
rubyPackages_3_0.kramdown
rubyPackages_3_0.kramdown-parser-gfm

Things done

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

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

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

Result of nixpkgs-review pr 117990 run on x86_64-linux 1

9 packages built:

rubyPackages.jekyll (rubyPackages_2_6.jekyll)
rubyPackages.kramdown (rubyPackages_2_6.kramdown)
rubyPackages.kramdown-parser-gfm (rubyPackages_2_6.kramdown-parser-gfm)
rubyPackages_2_7.jekyll
rubyPackages_2_7.kramdown
rubyPackages_2_7.kramdown-parser-gfm
rubyPackages_3_0.jekyll
rubyPackages_3_0.kramdown
rubyPackages_3_0.kramdown-parser-gfm

@mweinelt Thank you for merging! Unfortunately, I have never do such thing too...


New version: Datadog.dd-trace-dotnet version 2.43.0

Pull request has been created with WinGet Automation :rocket:
Microsoft Reviewers: Open in CodeFlow

@wingetbot waivers Add Validation-Executable-Error


HOW IS THIS CLIENT SIDE

its changing the enchanting mechanics how is this not server side

where it says it is client side, someone already asked the same question
https://imgur.com/QMCQp4C.png


Sub navigation requires JavaScript

I like the new layout, but I wondered why there isn't a sub navigation on the format page anymore. Also the other pages didn't have a sub navigation. Then I realized that it requires JavaScript, which is disabled in my browser by default and only activated for selected domains.
It would be good to provide a sub navigation that doesn't depend on JavaScript (and scrolls with the page) or at least to show a message, that JavaScript is required.

I'd like to see this too @ziege. Would you please open a PR?


Ember & Ember 2.1 update

no issue
updates Ember and Ember-Data to 2.1, and updates a number of other smaller dependencies to their latest versions.
Also removes a couple of unused dependencies that are included by default with ember-cli
cc @kevinansfield

@kevinansfield travis is failing on a dependency conflict with ember-cli-shims, except with the ember-cli-shims version I upgraded to it should work, soo..... Can you try this on your local? I tried cleaning my cache and re-installing everything and wasn't able to reproduce the travis errors.

I've tried clearing travis' cache for that PR and re-started it. If it's still failing I'll be able to take a look locally in the morning.

Looks like store.push has changed and broken some of the tests 🙁, should be quite a simple fix I think - https://github.com/emberjs/data/issues/3402

One thing that's breaking the acceptance tests is that store:main in the container has now changed to service:store... that doesn't help with the store.push issues however.
It's taking a bit too long to dive into this right now and I need to get back to the current sprint work but what I would suggest is comparing our serialiser functions against the corresponding RESTSerializer functions. The adapters and serialisers are two areas where we really need to get unit tests in place - they've been the biggest pain points with ember data upgrades so far.

@kevinansfield the serializers looked good to me, turns out the unit tests were a simple matter of actually depending upon the serializers.
As for the acceptance tests, I believe looking up service:store was the issue, however I think I found a better way to do it, at least for now. I removed the store.push stuff from the acceptance tests and instead had the users/me endpoint return the user with the role. That I think is more similar to how the actual behavior should work.
Looking into one of the last failures, which I think has something to do with the DS.Errors stuff.

I got the tests to pass, tried running it locally with casper tests and ran into a huge bug with saving. Upon fixing that, I ran into another casper test failure that is due to John's PR fixing email validation.
I'll try and fix it and pr the changes tomorrow.

turns out the unit tests were a simple matter of actually depending upon the serialisers.

Ah, of course! Unit tests don't load the world and so wouldn't be picking up any of our customisations.

I removed the store.push stuff from the acceptance tests and instead had the users/me endpoint return the user with the role. That I think is more similar to how the actual behavior should work.

Good shout, definitely a better way of handling it.

I rebased this on top of https://github.com/TryGhost/Ghost/pull/6052 in order to test an ember.js bugfix PR and the rebase seems to have fixed the errors that we're currently seeing on this PR.
It would be good to get this properly rebased and merged soon after we cut the next release.


Friendly chat bubbles for livechat widget

This Pull Request Contains:

New Chat Bubbles UI.
Rounded Corners for Avatars.

All can be controlled on a switch in Rocketchat Settings

@ItzzRitik it looks like our tests are failing on this PR. Can you fix please?
Also, @bhardwajaditya can you review please?  Thanks...

@ItzzRitik @Shailesh351 what does this look like with buttons?  Do we have a design for how we want it to look?  Can you make a suggestion please.........

@ItzzRitik @chadgoss This is how it looks with buttons.

@ItzzRitik Check the rounded corner for the last message. It's looking different because of system messages

@ItzzRitik Can you fix the conflicting file in this PR please?
@Shailesh351 @bhardwajaditya after he fixes the conflicts, this PR is approved?
Thanks.

@Shailesh351 Your mentioned issue is now fixed.
@ear-dev I have fixed the conflicts in build files.
I think we're good to go with the merge.
Screenshot of the final change

@ItzzRitik Can you fix the conflicting file in this PR please?
@Shailesh351 @bhardwajaditya after he fixes the conflicts, this PR is approved?
Thanks.

@ear-dev the PR looks good to me.

@Shailesh351 @ear-dev
I have updated the PR
and would like to suggest another round of testing before we merge it.
Thanks!

@ItzzRitik I tested this and I'm seeing a situation where the first chat bubble in the room does not correct its corners upon subsequent messages.  But after the first message, all the others correct themselves.  Can you test that as well and see if you're seeing the same thing?  Thanks.

@ear-dev
I've fixed this issue and updated the PR
Please check

@ItzzRitik Now the friendly chat switch is not working at all for me.  Maybe I have a misconfig.......  checking that now......  but can you confirm for me please that this still works for you?  thanks

@ItzzRitik this looks good....  thanks..   Currently we're having an issue with DF that might be related to the new apps-engine in our latest RC version.... so I will wait until that is sorted out before merging.  Thanks!

@ear-dev Thanks for testing!
Sure we should focus on priority task


add filesystem support

watch is not yet supported - see backends/fs/client.go for details
integration should work
exit if watch is enabled when fs is defined as backend

Tested with go 1.4

Hi,
@bacongobbler @kelseyhightower
Any update on this?
I'm going to explain why I found this useful. And I would like to know if there is a possibility to incorporate this on the main branch. If not, please tell me something!
I would like to keep secrets, certificates and everything related to security in etcd and then be able to use them inside a docker container which will be launched kubernetes:

create a kubernetes volume, EmptyDir (from now on /volatile-vol/) one which is volatile by default (will be deleted when pod is destroyed).
dump from a kvstore (etcd, zookeeper, whatever) to the /volatile-vol. For example, dump from /secrets/databases/canary/db_password to /volatile-vol/DB_PASSWORD
use confd to create our configuration files based in /volatile-vol/DB_PASSWORD

Benefits:

filter data from the backend and make available to the container only what matters to it.
separation of concerns, I would like to hide to the container create how is structured our backend, just follow our patterns which define secrets would be available in /volumes/secrets
there are already utilities which load environment variables from an envdir, for example, s6-envdir. We use it in this way: with-contenv. Dumping kvstore keys into directory facilitates patterns like this.

What do you think?

Hmm, couple of thoughts here:

there should be a way for users to configure the max file size.
I know that there's interest in #183, so the maxFileSize and rootPath should be part of the backend's config for consistency, similar to https://github.com/kelseyhightower/confd/blob/master/backends/client.go#L34.
--watch should be disabled entirely.

You'll also want to rebase off master so this PR can take advantage of the new test infra: https://github.com/kelseyhightower/confd/commit/1bc750778236c0bd4de55ab59bec600f754456b8
thanks!

Ok, I'll do it during this week,
Thanks!

Done.

fs is included in the unsupported backends list.
fs integration tests were included in the travis test infra.
I really dislike the idea of mixing global opts with custom backend opts but, right now and without doing an important refactoring, I don't see how could be this done elegantly. So for now, I exposed -fs-rootpath and -fs-maxfilesize. A possible solution for the future could involve using codegansta/cli to create something like confd [global opts] etcd/consul/fs/whatever [backend opts]. If you guys @bacongobbler and @kelseyhightower think this is an interesting behaviour feature I could give it a try.

A possible solution for the future could involve using codegansta/cli to create something like confd [global opts] etcd/consul/fs/whatever [backend opts]. If you guys @bacongobbler and @kelseyhightower think this is an interesting behaviour feature I could give it a try.

I personally prefer to stick with the native flag package for handling option flags. That way we don't have to rewrite the entire CLI just to wrap around an opinionated lib. The standard library is pretty slick. :)
Regardless, I agree that there should be a better way to set up a backend's config options rather than through global flags. I'll keep thinking about how we can roll this out, but so far this implementation is about as clean as it gets without going too crazy.

@glerchundi Rebase please. I'm reviewing all the PRs today.

@kelseyhightower, done. travis is not detecting changes on PR, is it possible to force a new one?

@glerchundi any chance you could rebase against master please?
@kelseyhightower any round of PR reviews coming soon please?
The use case for this backend is :+1:

@scalp42 done :-)


refactor(basic mode): fix pylint errors

This fixes https://github.com/sony/pyAutoPort/issues/11

Bash test PASSED
[Testing open and send]
Server listening on port 18888
ABD handler started
Opened ADB session
# ls /
bin           db            logo          proc          tmp
boot          dev           lost+found    recovery      usr
cache         diag          media         run           var
chrome        etc           mnt           sbin
contents      home          opt1          sqdata
contents_ext  kernel        opt2          sys
data          lib           opt3          system
Stopping ADB

ABD handler stopped
Terminated adb_session
634641 adb -L tcp:5037 fork-server server --reply-fd 4
[Testing double open]
Server listening on port 18888
ABD handler started
Opened ADB session

Is someone else running adb_open now?

Run adb_reopen& instead to kill all other adb_open sessions

CONFIRM if already opened warning is shown
634641 adb -L tcp:5037 fork-server server --reply-fd 4
636897 /bin/adb shell
[Testing reopen]
kill:636897

kill:636894

All process killed
Server listening on port 18888
ABD handler started
Opened ADB session
CONFIRM if adb session is opened
# ls /
bin           db            logo          proc          tmp
boot          dev           lost+found    recovery      usr
cache         diag          media         run           var
chrome        etc           mnt           sbin
contents      home          opt1          sqdata
contents_ext  kernel        opt2          sys
data          lib           opt3          system
[Testing force killing]
634641 adb -L tcp:5037 fork-server server --reply-fd 4
636908 /bin/adb shell
CONFIRM if adb_reopen process exists
[Cleaning up process hopefully]
kill:636908

kill:636903

kill: (636903): No such process
All process killed
Server listening on port 18888
ABD handler started
Opened ADB session
Stopping ADB

ABD handler stopped
Terminated adb_session
634641 adb -L tcp:5037 fork-server server --reply-fd 4


[#PSTWO-11293] Fix for dropdown mouseover causing glitchy behavior issue

@jonathanroehm  following change will fix the issue, but I'm not sure why they were adding margin right to dropdown option on mouse over. could you please review my code.

Closing this PR, Will be creating project specific PR.

@jonathanroehm We didn't find any other alternatives for this issue, I'm reopening this PR.

@jonathanroehm  @hoenth
I pushed two more changes to address this issue, Please review once.
Here is the explanation  for the changes:
Issue 1:
When we open redactor drop down menu and and resize the browser, on drop down item mouse over, all the elements in screen will readjust.  you can see that behaviour here https://jira.networkforgood.org/secure/attachment/67922/redactor_glitch_trim.mov
Cause: on drop down item mouse over, we are increasing body margin right by setting body overflow-x to hidden. this over flow hidden setting not working as  intended in our pages.
Solution: In this commit(2942edd) I removed that margin right setting, with that I'm no logger seeing this issue.
Issue 2:
When we have more than one redactor editors in page, we open menu dropdown and scroll, the opened drop down will jump to other editor, you can see that behaviour here https://jira.networkforgood.org/secure/attachment/68142/2018-07-02_13-46-07.mp4
Cause: On scroll we are trying to readjust element top and element position for all redactor drop downs, on top position calculation few times it's using other toolbar offset.
Solution:  On dropdown open I am adding toolbar id to dropdown to find and set only that dropdown top and position.  this commit 05c6149 you can see that change


six as external

Six as direct source external

Coverage increased (+0.01%) to 96.584% when pulling 6fa2d16ae7f491134cd95565716db672150b6306 on externals into 6632cb266adf4016ac5ed62e3adda13c0f5a58e0 on master.

Coverage increased (+0.01%) to 96.584% when pulling 580c6656e6da6fa5ffbe3149bad8bf5a775a9150 on externals into 6632cb266adf4016ac5ed62e3adda13c0f5a58e0 on master.


Don't depend on libc on windows

This dependency is never used when target == windows, but it's still build

LGTM, thanks!


ONE-vscode-DCO-1.0-Signed-off-by: Dayoung Lee<EMAIL_ADDRESS>

@Samsung/one-vscode_committers PTAL :-D


Nominatim EULA requires User-Agentor Referer headers

Really cool project! I'm planning on using it for a tropical seroprevalence research project I'm involved in. One thing I noticed though is that surf isn't including these headers with its requests, which could get an IP blocked by OSM.
I can push a PR later today to address this, but I'm not sure how you would like to handle passing in the application name to the service. I was thinking about just creating a NominatimConfig struct that is passed in as the first parameter for every request.
Per Nominatim usage policy:

Provide a valid HTTP Referer or User-Agent identifying the application (stock User-Agents as set by http libraries will not do).

Thanks! I didn't catch this at all.
I'd be happy to merge any pull request you create, this looks important. I hope nominatim-rs helps you in any future projects.

Grant

Thanks @russweas for your amazing work, I published it to crates.io at https://crates.io/crates/nominatim.


SEYRAM KWAME BOTCHIE

MODULE 4 ASSIGNMENT SKB.docx

Well done, Seyram. You clearly grasped the material outlined in Module 4 and successfully applied it to these exercises. Thank you for your participation! Please be sure to fill out the post-Module survey before you begin the next Module.


ISSUE: keymaster_lock_state_changed not fired when locked or unlocked via service

Describe the bug
A clear and concise description of what the bug is.
The keymaster_lock_state_changed never fires when calling lock or unlock via a service call.
Environment (please complete the following information):

OS: [e.g. HassOS/Raspbian/CentOS]  HassOS
Type of device: [e.g. RPi3/NUC/Synology] RPi4
Home Assistant version: [e.g. 0.105.5] 2021.4.5
Hassio/Docker/Core? HAOS
Component version: [e.g. 0.1.2] 0.0.31

Logs
Paste your error logs here.
No errors
Screenshots
If applicable, add screenshots to help explain your problem.
Additional context
Add any other context about the problem here.
Please add emails in plain/text format if possible and applicable.

does the zwave_js_notification event fire when you call lock or unlock?
Which zwave are you using? zwave_js ozw zwave

The zwave_js_notification event does not fire for either lock or unlock.
I am using zwave_js.

Sounds like an upstream issue then. (Bug in zwave_js integration, zwave-js-server, or node-zwave-js)


Have a schedule for the proofing/baking/resting in a single function

The plan here is to have a series of generations with set values (proofing); then we do the increase in temperature (baking); and then some number of generations with the final values (resting). This should be handled by a single function, and we can simply use the baking update schedule to manifest the environmental values at each timestep. The switch between logistic and linear can be handled by passing a function as an argument somewhere.
https://github.com/PoisotLab/Omnomnomivores/blob/df59c4ce259b354157d9b012f3bdfc4d263c2e45/01_code.jl#L178

Do you think we need the logistics and linear? Past Tanya kept the relic linear change because sentimentality reasons I guess. Obvi not opposed to having the optionality (thats a word?) for both but we can also just choose to keep it simple and light

Okay so I looked at the source code and I think this will actually be really simple to implement and we can then just build one massive community matrix that we then subdivide into the different phases of baking a binary species landscape

Yup that's what I'm going to do (tomorrow) -- I would like to keep a function to do the backing step, because then someone may play with sines, or other arbitrary temporal dynamics.


Reusing commit messages instead of using a new one

Hi!
First of all, thank you for this amazing NX plugin! :)
I have NX monorepo with two apps and one shared library with module which is used by both of applications. The plugin let me to use --trackDeps option to bump versions of applications if I change something in my shared library. But I found a small issue related to the tags which were created after these changes.
For instance, I've got 2 last tags of my applications in Gitlab:

app1-1.0.0 - JIRA-1 Commit header example
app2-1.0.0 - JIRA-2 Commit header example

And then I change somethings, add commit message "JIRRA-3 Commit header example" in my library and release the changes. The plugin bumps versions of applications and create two tags with correct versions:

app1-1.0.1 - JIRA-1 Commit header example
app2-1.0.1 - JIRA-2 Commit header example

But, unfortunately it reuses the last commit  for every application instead of using a new one.
So, in my case, it should be something like that:

app1-1.0.1 - JIRA-3 Commit header example
app2-1.0.1 - JIRA-3 Commit header example

I was really confused when I found a lot of tags with the same commit message =)

Hi, the trackDeps option is fragile and hard to maintain in its current state cf https://github.com/jscutlery/semver/issues/526, we started to rewrite @jscutlery/semver to correctly handle releasing workspace with apps and shared libraries, but this needs a full rewrite so unfortunately it won't land tomorrow.

Hi, the trackDeps option is fragile and hard to maintain in its current state cf #526, we started to rewrite @jscutlery/semver to correctly handle releasing workspace with apps and shared libraries, but this needs a full rewrite so unfortunately it won't land tomorrow.

Let me know if I can help you to speed up this rewriting. ;)


287 |  Python / FindTheDuplicateNumber.py | Python

FindTheDuplicateNumber -
What will change -
Will make code more efficient.
Currently time complexity of soln. is (n^2), after changes it will of 0(n*log(n))
Type of Issue -

[x] Adding New Code
[x] Improving Code

Programming Language

[x] Python

Self Check

Ask for issue assignment and wait to get assigned to it before making Pull Request.
Add your file in the proper folder
Clean Code and Documentation for better readability
Add Title and Description of the program in the file

:star2: Star it :fork_and_knife:Fork it :handshake: Contribute to it!
Discord server ✉ - https://discord.gg/CXksGdn
Please assign this to  me
Happy Coding,

Consider me  for this

I'll do it, assign me

Could you please assign this issue to me?

Please assign this issue to ne

Hello I'm Interested to work on this. Pls assign this to me

Please assign me to this.


Composer autoloading not working

Relocating issue from archived repo: https://github.com/paketo-buildpacks/php-composer/issues/218

Duplicate of https://github.com/paketo-buildpacks/composer-install/issues/5


DOC: Remove mention to Russell Poldrack as author from the PR template

Remove the mention to Russell Poldrack as an author of the tool from the PR template: Russell is not actually listed as an author in the .zenodo.json file.
Most likely this was transferred as-is from the fmriprep pipeline github config file:
https://github.com/nipreps/fmriprep/commit/2a25395423175faed866c5778484ee859d223eaa
Adapt the template from this new scenario and slightly reword the placeholder tags.
Instruct new contributors to add their names at the end of the list.

A few notes:

Although I am modifying the .github/config.yml file as well, the template that is actually being used, as shown in the screenshot below, is docs/pull_request_template.md, so probably we should keep one of the two to reduce maintenance effort and avoid having mismatching information.
Is adding new contributors at the end of the list desired over other choices?
I have noticed that Sydney appears twice in the list, with two affiliations: https://github.com/PennLINC/qsiprep/blame/e528cad5bf4d4ed6b528747ea3302120859a22f7/.zenodo.json#L9 and https://github.com/PennLINC/qsiprep/blame/e528cad5bf4d4ed6b528747ea3302120859a22f7/.zenodo.json#L55. Should these be merged into a single entry?
I have noticed that different contributors/commits have followed a different order when using the fields. Which is the preferred order?

I would add additional commits to the current PR to address the above issues when answered.

All great catches here @jhlegarreta! Sydney should only be in once and we should probably keep the middle authors (after Phil and before Ted) alphabetized.
I also like your idea to use a PR template in only one place. If you have a preference, I'm happy to follow

@mattcieslak Thanks. Will modify the commit in the current branch then. Making it a draft for now.

Push forced with changes:

Although I am modifying the .github/config.yml file as well, the template that is actually being used, as shown in the screenshot below, is docs/pull_request_template.md, so probably we should keep one of the two to reduce maintenance effort and avoid having mismatching information.

Reworked both files to avoid having duplicate information as much as possible.

Is adding new contributors at the end of the list desired over other choices? Maybe alphabetical sorting would be easier to maintain (having an exception on some names, e.g. first/last authors)?

Adopted alphabetical ordering; kept Matt as first; kept Ted as last.

I have noticed that Sydney appears twice in the list, with two affiliations: https://github.com/PennLINC/qsiprep/blame/e528cad5bf4d4ed6b528747ea3302120859a22f7/.zenodo.json#L9 and https://github.com/PennLINC/qsiprep/blame/e528cad5bf4d4ed6b528747ea3302120859a22f7/.zenodo.json#L55. Should these be merged into a single entry?

Left Sydney's Perelman affiliation following her orcid. Please amend if necessary.

Following an alphabetical sorting would have probably prevented this.

Adopted alphabetical ordering.

I have noticed that different contributors/commits have followed a different order when using the fields. Which is the preferred order?

Adopted name, affiliation, orcid.

The PR welcome bot seems not be working (e.g. PR #621 was my first contribution and no message was posted): is the app installed on the repository? https://github.com/apps/welcome

we should probably keep the middle authors (after Phil and before Ted) alphabetized.

Phil is not there. I assume you mean Philip Cook, but no Phil/Philip is on the list.

This looks great, anything else you'd like to add or can I merge? Thanks!!

This looks great, anything else you'd like to add or can I merge? Thanks!!

You can go ahead and merge Matt. In order to get the new contributor message working the https://github.com/apps/welcome app needs to be installed in the organization/repository. Only administrators of the organization/repository can do that.


Improve customizing OIDC Client Registration endpoint

Related gh-696

Thanks for the PR @Kehrlann. This is now merged.


feat: accept js files to be able to compose json structure

Very nice! Thanks for the contribution @alfredriesen!

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

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


Buildpack locks Node v0.10.45?

Am I reading correctly, that this buildpack locks Heroku's Node runtime to v0.10.45? Can we follow Heroku's precedent and allow overriding with "engines": { "node": "6.2.0" } in package.json?
My Meteor codebase include a few Node worker processes, and it'd be nice if I could use modern Node with ES6. Plus, it'd likely speed up the (currently very slow) deploy process.

Meteor does not support node > v0.10.45.  See https://github.com/meteor/meteor/issues/5124 and https://forums.meteor.com/t/upgrading-node-js-in-meteor/22741 for reference.  Once meteor supports newer nodejs we can upgrade; until then upgrading could encounter edge cases that break things.

As soon as I posted this I realized why it's locked at 0.10.45. My mistake, it's been a long night!
Seeing as that's the case, do you have any pointers for how I might make my worker stack ... work?

Immediate thoughts are they I could deploy a completely separate Heroku app containing just the workers, but this is kind of clumsy. Perhaps I could modify/create a buildpack that transpiles the workers to ES5?
I haven't written a buildpack, so I'm not certain this sort of thing is possible.

Sorry, I don't have much experience with node workers and don't have much advice to give.  I do know that buildpacks can spawn multiple heroku worker threads.  The bin/release file in a buildpack lists the workers involved.  Theoretically, you should be able to have two different node executables (v0.10 for meteor, v6 for your workers) and spawn both processes in the release.  You'd have to work out the interprocess communication for them.
Transpiling's pretty straightforward, as long as the features you're using are just syntactic and not fundamental changes to process behavior.

Gotcha. This is very promising as well: https://devcenter.heroku.com/articles/using-multiple-buildpacks-for-an-app

Doesn't Meteor install its own version of Node though? Or is that not applicable in this situation?

This is basically a judgment call for trying to make deployment as reliable as possible, but keeping the code simple, and minimizing the chance for differences in behavior between prod and dev.
The first judgment call is that we want to build and run with the same version of Node that meteor uses internally.  So for that reason, we don't e.g. run with node v4 or v6, we run with v0.10, same major version that meteor ships with.
Meteor does install its own node binary for development; but after the bundle is built, the "meteor tool" is not involved in running the app anymore, it's run by plain node.  Since we install meteor on the server, we could dig into meteor internals and try to find the cryptic path where it puts its node (e.g. .meteor/packages/meteor-tool/1.3.2_4/mt-os.linux.x86_64/dev_bundle/bin/node), but that path is undocumented behavior.  So this is the second judgment call: we just install the latest v0.10 to run the app with rather than trying to rely on meteor's behavior for where it stores its node binary.  This means we may not be using the same point-version of node (different point releases of meteor ship with different point releases of node), but if semver is doing what it should, it ought to work.
I'd accept a PR that reliably finds the node and npm binary packaged by meteor, but with the caveat that it needs to be be robust to meteor's changes to that undocumented behavior (e.g. the method described in this article no longer works).  But I'm more reluctant to default to a different major node version.
It'd be trivial to fork this buildpack to change the node version for running the slug if you prefer that; just change the version string in https://github.com/AdmitHub/meteor-buildpack-horse/blob/master/bin/compile#L94.  If it seems like something lots of folks want to do, we could add an environment variable to determine major node version.  But my guess is most folks will want to default to "the same version that meteor uses in dev" rather than running a different version in prod.

This is something I might look into some time. For now, I've deployed the Node-based workers as a separate Heroku project.

Looks like meteor recently added support (not yet documented) for invoking its bundled node via meteor node and npm via meteor npm.  I'll be doing some testing to see if we can just rely on those for both the build and executing the built slug.  Need to make sure it works for projects that target an earlier meteor release.

Beta branch of this buildpack now uses meteor-packaged npm and node rather than downloading it separately:
heroku buildpacks:set https://github.com/AdmitHub/meteor-buildpack-horse.git#beta

So if you're using meteor 1.4 beta, you get new npm and new node. Please try it out.

Meteor 1.4 is officially out of beta. http://info.meteor.com/blog/announcing-meteor-1.4

Need to fix #125; then we can merge in beta.

#130 is finally merged; so we now have full support for Meteor 1.4 and use the node/npm that ship with each release.

Does that mean we no longer have to use the #beta?


Problem with AMCL (multi robot) .

ISSUE TEMPLATE ver. 0.4.0

Which TurtleBot3 platform do you use?

[ ] Waffle

Which ROS is working with TurtleBot3?

[ ] ROS 1 Noetic Ninjemys

[ ] ROS 2 Dashing Diademata

[ ] ROS 2 Eloquent Elusor

[ ] ROS 2 Foxy Fitzroy

ROS 1 Noetic Ninjemys

Which OS you installed on SBC?

[ ] Raspbian distributed by ROBOTIS
[ ] Ubuntu MATE (16.04/18.04/20.04)
[ ] Ubuntu preinstalled server (18.04/20.04)
I am working on a simulation . Multi robot

Which OS you installed on Remote PC?

[ ] Ubuntu 16.04 LTS (Xenial Xerus)
[ ] Ubuntu 18.04 LTS (Bionic Beaver)
[ ] Ubuntu 20.04 LTS (Focal Fossa)
[ ] Windows 10
[ ] MAC OS X (Specify version)
[ ] etc (Please specify your OS here)

Specify the software and firmware version(Can be found from Bringup messages)

Software version: [x.x.x]
Firmware version: [x.x.x]

Specify the commands or instructions to reproduce the issue.

HERE

Copy and Paste the error messages on terminal.

[ WARN] [1694953047.933345462, 1156.474000000]: No laser scan received (and thus no pose updates have been published) for 1156.474000 seconds.  Verify that data is being published on the /robot1/scan topic.

Please describe the issue in detail.

I am working multi robot on simulation Using ROS noetic . All seems fine but some reason the Amcl package brings out the error above .
The laser tf tree seems fine . Laser scan publishes data . But for some reasons Amcl cant get the initial pose of the robot due to the error above . Screenshot below :

I solved this problem. I had to tweak the source code . Since the ros::Duration was greater than my laser scan interval the warning messages pops up and my robot scan topics will not receive scan data . So I had to make changes to that method.

I solved this problem. I had to tweak the source code . Since the ros::Duration was greater than my laser scan interval the warning messages pops up and my robot scan topics will not receive scan data . So I had to make changes to that method.

Dear @Daviesss,
Firstly,  could you please provide the solved modified source ?
Lastly,  did you try to implement the multi robots in real environment?

I will close this issue as it has been resolved.


Refactor tip migration

A lack of test coverage of the bin/migrate-tips.py script surfaced during a refactor (#4046). Therefore, here we:

Move heavy lifting from the bin/migrate-tips.py executable into a migrate_all_tips function in the gratipay library for easier testing
Split out tip migration tests into their own test script
Add a few tests for migrate_all_tips

Docs! 💃

Ready for review/merge @rohitpaulk @aandis et al.

Thanks @rohitpaulk! :-)


Update internal Pipe wiring - fixes #615

Replace ambiguous bi-connect ("<>") with mono-connect (":=") for internal Pipe wiring.

It reproduces the original failure reported by SpaceCowboyMax. It will fail if the mono-connections are replaced with the original bulk/bi connections.

@ucbjrl We learned a few years ago that a common case of Pipe (register retiming) depends on the registers being in the same module as the unit being retimed, which is why the companion object instantiates them directly.
The Module named Pipe only exists for backwards compatibility, to support old code that writes Module(new Pipe) instead of Pipe.  Maybe the Module should be moved into the compatibility layer.

Agree, we should document the rationale as well as deprecate the class (if possible) / move it into compatibility. Might be a separate PR though.


feat: store os in db

resolves https://github.com/get10101/meta/issues/444

@bonomat how would that look for iOS? Does it include the version?

@bonomat how would that look for iOS? Does it include the version?

it does not include a version, only the os, i.e. one of these values: https://doc.rust-lang.org/std/env/consts/constant.OS.html

@bonomat how would that look for iOS? Does it include the version?

it does not include a version, only the os, i.e. one of these values: doc.rust-lang.org/std/env/consts/constant.OS.html

With the device_info_plus (which I think we are already using) we can get the os version as well.


How to add more fields in middle table with M2M relationship?

type Group struct {
	ent.Schema
}

// Edges of the Group.
func (Group) Edges() []ent.Edge {
	return []ent.Edge{
		edge.To(`user`, User.Type),
	}
}

type User struct {
	ent.Schema
}

// Edges of the User.
func (User) Edges() []ent.Edge {
	return []ent.Edge{
		edge.From("group", Group.Type).Ref(`user`),
	}
}

it will create group_user schema, how to add more fields to the schema?
eg, group_admin, create_time ...

Hey @clearcodecn and thanks for opening this issue.
Right now, the option for attaching fields/properties to edges is not supported yet by the framework and it's part of our roadmap (see #46).
Closing, but I'll update this issue when it's done.


chore(ci): add an empty run for scap file before perf'ing it.

What type of PR is this?
/kind cleanup
Any specific area of the project related to this PR?
/area CI
Does this PR require a change in the driver versions?
What this PR does / why we need it:
Add a step where the scap file gets loaded (read by sinsp-example) before perfing it, so that we get more stable results.
Also, removed /dev/shm tmpfs workaround introduced in #1975
Which issue(s) this PR fixes:
Fixes #
Special notes for your reviewer:
Does this PR introduce a user-facing change?:

NONE

[APPROVALNOTIFIER] This PR is APPROVED
This pull-request has been approved by: FedeDP
The full list of commands accepted by this bot can be found here.
The pull request process is described here

Needs approval from an approver in each of these files:

OWNERS [FedeDP]

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

/milestone 0.18.0

[APPROVALNOTIFIER] This PR is APPROVED
This pull-request has been approved by: Andreagit97, FedeDP
The full list of commands accepted by this bot can be found here.
The pull request process is described here

Needs approval from an approver in each of these files:

OWNERS [Andreagit97,FedeDP]

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

[APPROVALNOTIFIER] This PR is APPROVED
This pull-request has been approved by: Andreagit97, FedeDP, incertum
The full list of commands accepted by this bot can be found here.
The pull request process is described here

Needs approval from an approver in each of these files:

OWNERS [Andreagit97,FedeDP,incertum]

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


Proxy feature roundup

There're a few usability features that bother me too much to go without in "v1"

a hacky method of supporting noreply/quiet commands; I can see what would be bullet proof but will take time to get there.
allow creating set requests from get responses. this is at least partly in now.
maybe: get meta binary keys to work. Unfortunately this requires some fiddling as the key needs to be unpacked/repacked. The parser operates on const strings (as it must) so we would have to deal with binary keys from a layer higher.
maybe: some extra functions for finding/editing meta tokens/flags

The meta routing tokens means we wouldn't necessarily have to examine binary keys at all, so for people trying to get every ounce of performance they can still avoid the transforms easily.
Everything past these should be stability fixes instead of feature updates until v1 is out.

not going to have a lot of work hours this week... just going to merge this down and try super hard to punt on anymore features and work on bugs/stabilization/testing/unit tests instead.


Your processed MOT20 dataset

When will you release the MOT20 dataset processed by you?

When will you release the MOT20 dataset processed by you?

We have provided the processed mot17 dataset. Please wait patiently for mot20 after processing.


cannot create container because the partition key is invalid

I am using the 3.15.1 version of the SDK; when trying to create a new container without specifying the partition key i get this error
Partition key path /_partitionKey is invalid for MongoDB API
If i define a partition key with this info
partitionKey: {kind: 'Hash', paths: ['/documentType']}
i get this error
Partition key path /documentType is invalid for MongoDB API
I cannot create any container in the database because of this

@jmiguel77 are you using the emulator? can you add more details (Code/related info) on how you are trying to create the container?

@jmiguel77 do you have an update on the above? If not we will close the issue

Closing this as there is no update!


Can't save plots as pdfs

I have never seen this before with matplotlib. I get the same error when I modify things on the dag_slicer side and try to save with plt.savefig().

Fixed in aff015c5105c011c6f8428b26baf2c9ed262e817.
Was a matter of ensuring the colors were not numpy arrays but lists instead. Problem was identified by looking at Matplotlib's pdf backend here.


Push to maven central

Would be nice to have the .aar in maven central instead of downloading it :)

Also it's easy to publish on https://jitpack.io but it expects a build file in the root dir

Finally done :)
Thanks @jitpack


All mask write operations are "tail agnostic"

To simplify complex mask register implementations, proposal is to treat all mask register writes as "tail agnostic" regardless of "ta" setting in vtype.  The belief is that software does not usually need "tail undisturbed" case, and it would simplify renamed implementations and those with micro architecturally optimized mask register implementations.

A 2ndary but significant benefit of restricting mask ops to agnostic is the prominance provided to this idea.
Undisturbed as an option for non-mask ops provides an immediately recognizable benefit. However the cost is not as apparent. And the cost is not just hardware implementation but also software exposures.
Stipulating agnostic for mask writes highlights the distinctions and affords opportunity to better understand tradeoffs.


Implement ownerOnly errors feed

Nevini should send WARN and ERROR log messages to an owner-only feed as a form of notification about a potential issue instead of having to manually check the logs every now and then.

Maybe a channel webhook is the way to go here?

"won't do", for now


glfwSetMouseButtonCallback only triggers on double click when window first appears

I use the following window hints:
glfwDefaultWindowHints();
glfwWindowHint(GLFW_CONTEXT_VERSION_MAJOR, 4)
glfwWindowHint(GLFW_CONTEXT_VERSION_MINOR, 1)
glfwWindowHint(GLFW_OPENGL_FORWARD_COMPAT, GL_TRUE)
glfwWindowHint(GLFW_OPENGL_PROFILE, GLFW_OPENGL_CORE_PROFILE)
glfwWindowHint(GLFW_DEPTH_BITS, 32)
glfwWindowHint(GLFW_SAMPLES, 4)
and use #define GLFW_INCLUDE_GLCOREARB.
When the window first appears only double clicking will trigger the callback. If I click off the screen and back on it again I can click normally.
I am using glfwPollEvents()
I am running 10.13.3 macOS high sierra

Try running the GLFW events test program and see if that has the same problem.


Cleanup of container

Added debug flag
Removed excess output from haproxy etcd
Fixed typo in variable definition
Renamed yaml to kubernetes

one comment, rest is lgtm

Changed this slightly, it wasn't clear previously that the output to dev null for the etcdctl command only dumped stdout, now it only does that.
This allows all errors to display however the normaly out does not display which is just the value of the key that is updated in etcd.

Needed to add the missing pieces for this last commit, in order to set ETCD_TTL


Add to-rdf-urdna2015 subcommand

This adds a CLI subcommand for converting JSON-LD to canonicalized RDF, to address #163.

Perform context expansion of JSON-LD document.
Deserialize JSON-LD document to RDF dataset.
Canonicalize dataset using URDNA2015.
Serialize dataset in N-Quads format.

This exposes the functionality used internally by many linked data signature suites. It can be useful for inspecting the data contents of a verifiable credential or presentation, linked data authorization capability, or other linked data document.
Another use for this sub-command is to construct linked data proof signing payloads for external signing. Note that for such signing payloads, the proof object and linked data document without proof object must be canonicalized separately, according to the linked data proof Create Verify Hash Algorithm. Furthermore, the proof object needs context defined for its terms which are otherwise defined in the document's parent context. Context such as that can be passed to this subcommand using the -c, --expand-context or -C, --more-context-json options. -c takes a URI (e.g. for the w3c-ccg security context, or vc-data-model base context, or a signature suite context) and corresponds to the JSON-LD expandContext option, while -C takes a JSON array of values to insert into the @context property of the payload (creating it if needed).
Usage
$ didkit to-rdf-urdna2015 --help
didkit-to-rdf-urdna2015 0.1.0
Convert JSON-LD to URDNA2015-canonicalized RDF N-Quads

USAGE:
    didkit to-rdf-urdna2015 [OPTIONS]

FLAGS:
    -h, --help       Prints help information
    -V, --version    Prints version information

OPTIONS:
    -b, --base <base>                              Base IRI
    -c, --expand-context <expand-context>          IRI for expandContext option
    -C, --more-context-json <more-context-json>    Additional values for JSON-LD @context property

Example
$ didkit to-rdf-urdna2015 < cli/tests/auth.jsonld
_:c14n0 <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <https://www.w3.org/2018/credentials#VerifiablePresentation> .
_:c14n0 <https://w3id.org/security#proof> _:c14n1 .
_:c14n0 <https://www.w3.org/2018/credentials#holder> <did:key:z6MkvYdEj32i7fTvLqg2uj26AJPGqu4qpX5t7ZSzwGJcSyQ5> .
_:c14n2 <http://purl.org/dc/terms/created> "2021-06-07T14:12:00.349Z"^^<http://www.w3.org/2001/XMLSchema#dateTime> _:c14n1 .
_:c14n2 <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <https://w3id.org/security#Ed25519Signature2018> _:c14n1 .
_:c14n2 <https://w3id.org/security#challenge> "0.726156" _:c14n1 .
_:c14n2 <https://w3id.org/security#jws> "eyJhbGciOiJFZERTQSIsImNyaXQiOlsiYjY0Il0sImI2NCI6ZmFsc2V9..5zelz6ht6Zia4enNwv_rmJqI6xyQo247YQ7YE_Rx2xMhjwohv7AUrnOchAW23buyrMUQDIqWS36bxVyhYUC_Dw" _:c14n1 .
_:c14n2 <https://w3id.org/security#proofPurpose> <https://w3id.org/security#authenticationMethod> _:c14n1 .
_:c14n2 <https://w3id.org/security#verificationMethod> <did:key:z6MkvYdEj32i7fTvLqg2uj26AJPGqu4qpX5t7ZSzwGJcSyQ5#z6MkvYdEj32i7fTvLqg2uj26AJPGqu4qpX5t7ZSzwGJcSyQ5> _:c14n1 .

Canonicalizing proof object only:
$ jq .proof cli/tests/auth.jsonld | didkit to-rdf-urdna2015 -c https://www.w3.org/2018/credentials/v1
_:c14n0 <http://purl.org/dc/terms/created> "2021-06-07T14:12:00.349Z"^^<http://www.w3.org/2001/XMLSchema#dateTime> .
_:c14n0 <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <https://w3id.org/security#Ed25519Signature2018> .
_:c14n0 <https://w3id.org/security#challenge> "0.726156" .
_:c14n0 <https://w3id.org/security#jws> "eyJhbGciOiJFZERTQSIsImNyaXQiOlsiYjY0Il0sImI2NCI6ZmFsc2V9..5zelz6ht6Zia4enNwv_rmJqI6xyQo247YQ7YE_Rx2xMhjwohv7AUrnOchAW23buyrMUQDIqWS36bxVyhYUC_Dw" .
_:c14n0 <https://w3id.org/security#proofPurpose> <https://w3id.org/security#authenticationMethod> .
_:c14n0 <https://w3id.org/security#verificationMethod> <did:key:z6MkvYdEj32i7fTvLqg2uj26AJPGqu4qpX5t7ZSzwGJcSyQ5#z6MkvYdEj32i7fTvLqg2uj26AJPGqu4qpX5t7ZSzwGJcSyQ5> .

@wyc

(1) The functionality seems to be working correctly, but some tests seem to fail

This is because of a bug where didkit attempts to use ssh-agent for signing when it shouldn't. For now, if you run unset SSH_AUTH_SOCK, then cargo test should work normally. A fix is in #183.

(2) Build warning in main.rs

Fixed in c13fe27132b7a9056186b104ed089157a21d93da.

(3) Additionally, it would be great to add cli/tests/auth.jsonld to the repo so that anyone can try it out with an example if they want to.

It's an ephemeral file generated by cli/tests/example.sh (The file name was changed to auth in #166 since it may be a JWT or JSON-LD file, although maybe using different file names would be better). I've added use of to-rdf-urdna2015 to cli/tests/example.sh in 721671b726d63ed4f186634e48d45492bb9532fb - does that work?
Adding example VCs and VPs to the repo could also be done if that would be useful.
In ssi there are such files: https://github.com/spruceid/ssi/tree/main/examples but they are using did:example: issuers so cannot easily be verified with didkit.


feat(Lightbox): pass img class name to viewport

Description
This change allows user to pass in a class name to the img tag. For the web client's particular use case, some images that are attached need to be rotated and this classname allows to rotate the image. I believe this component was ported over from our old web-client-components repo, but don't think all the props were ported over in the first pass
Related Issue

Motivation and Context
see above description
How Has This Been Tested?

Screenshots:
Before (If applicable):

After:

Types of changes

[ ] Bug fix (non-breaking change which fixes an issue)
[x] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to change)
[ ] Documentation update
[ ] Code style update (formatting, local variables)
[ ] Refactoring (no functional changes, no api changes)
[ ] Build related changes
[ ] CI related changes
[ ] Other... Please describe:

Checklist:

[x] My code follows the code style of this project.
[ ] My change requires a change to the documentation.
[ ] I have updated the documentation accordingly.
[ ] I have read the CONTRIBUTING document.
[x] I have added tests to cover my changes.
[x] All new and existing tests passed.

Can you please add a description to this PR explaining the context of these changes?

@futurethang added the description


Version 5.800 crashes on Android 11, OnePlus 7T

Hi,
I have a problem after the new version 5.800 was automatically installed.
After the first start the database was updated and everything looked good, but I wanted to bring back the previous look by setting smaller font sizes.
So what I did was to set the font size for subjects to small I think. Afterwards nothing seemed to have changed and I quit K9 to start it again afterwards. It crashed and it now crashes every time I try to start it. (Even if I force quit from Android)
As soon as I press the icon I see the screen gets grey and disappears again.
Is there anything I can do to avoid the crash? I don't want to loose all the settings if i reinstall it completely...

Reinstalling the app (and losing your data) is probably the fastest way to get it running again. You can record a debug log (see https://github.com/k9mail/k-9/wiki/LoggingErrors). That will give us a chance to find and fix the bug. But you won't be able to use the app before we release an update containing the fix.

Yes the fastest way for sure, but it has some disadvantages.
I followed https://k9mail.app/documentation/debugging.html Step 3 and used adb on linux.
The output after using ./adb logcat -d --pid=xxxxx > k9-log.txt is not much... Please see:

--------- beginning of main
07-25 22:02:39.436 15878 15878 I libc    : SetHeapTaggingLevel: tag level set to 0
07-25 22:02:39.440 15878 15878 E com.fsck.k9: Unknown bits set in runtime_flags: 0x800000
07-25 22:02:39.445 15878 15878 E com.fsck.k9: Not starting debugger since process cannot load the jdwp agent.
07-25 22:02:39.462 15878 15878 D ApplicationLoaders: Returning zygote-cached class loader: /system/framework/android.test.base.jar
07-25 22:02:39.469 15878 15878 I Perf    : Connecting to perf service.
07-25 22:02:39.472 15878 15878 I com.fsck.k9: [GL_OOM] ClampGrowthLimit 536870912
07-25 22:02:39.473 15878 15878 D NetworkSecurityConfig: No Network Security Config specified, using platform default
07-25 22:02:39.473 15878 15878 D NetworkSecurityConfig: No Network Security Config specified, using platform default
07-25 22:02:39.491 15878 15878 E Config:Grabber:OnePlusFontConfig: Index 0 requested, with a size of 0
07-25 22:02:39.509 15878 15878 E sqlite3_android: [IKR-38846] ONEPLUS_NAME_PARTS_MATCH SQLITE_OK
07-25 22:02:39.533 15878 15878 I TetheringManager: registerTetheringEventCallback:com.fsck.k9
07-25 22:02:39.536 15878 15900 E sqlite3_android: [IKR-38846] ONEPLUS_NAME_PARTS_MATCH SQLITE_OK
07-25 22:02:39.538 15878 15900 I chatty  : uid=10250(com.fsck.k9) pool-6-thread-1 identical 1 line
07-25 22:02:39.541 15878 15900 E sqlite3_android: [IKR-38846] ONEPLUS_NAME_PARTS_MATCH SQLITE_OK
07-25 22:02:39.560 15878 15903 E sqlite3_android: [IKR-38846] ONEPLUS_NAME_PARTS_MATCH SQLITE_OK

Try leaving out the --pid=xxxxx.

Oh wow, I just received the email notification of your reply in the android menu and clicked on that. Et voila, K9 opens the mail without crashing. And then I was able to go back and use K9 again!
Couldn't believe it and forced a quit via android, restarted, crashes again.
So I now maybe found a way to use K9 until the bug is fixed ;-)
For the attached output I started K9 and afterwards looked for the time I started it to give you the K9 relevant part of the huge log file.
k9-logpart.txt

Looks like your default account doesn't have a local Outbox folder set up. That shouldn't happen because the folder is created automatically when setting up an account. In this state you won't be able to send messages.
Did this account exist before the update? Were you able to send messages?
Duplicate of #5434

Yes, it was fully functional before.
I now opened K9 again via the menu after receiving the mail, was able to go to options then and checked the server settings for the outbox - everything was fine. I confirmed the settings and also ensured it was marked as standard outbox. Now it seems it works again. Also after force quitting K9 it starts without crashing.
So this issue is really a duplicate of #5434.
And there seems to be a workaround as described ;-)

You can't mark a folder as the Outbox. It's a special local folder that holds messages before they can be delivered to the outgoing mail server. Even though the app doesn't crash on startup anymore you probably won't be able to send messages.
Chances are there's other settings that got corrupted. I highly recommend reinstalling the app and not using it in this half-broken state.

No not a folder. I went to options -> the account I want to use -> general settings -> activate standard (send from this account).
I tried to send a message and it worked, doesn't even seem to be half-broken...
What do you think could happen? Something weird with the mails in the account maybe?
If just send and receive could not work I'd give it a try in this state (seems to work).
A possible future bug-fix might give more details about the consequences.


Feedback and proposed dev tools

Hey, I promised to have a look at the source to see if I can give some pointers to improve the code-base.
This PR is mainly to communicate the suggestions, though there are a few (small) changes as well.
Don't feel obliged to merge this. Here's my feedback:
In my experience, code in __init__.py files should mostly be limited to two functions: initialisation logic required for other submodules or __main__.py in the module (which is rare for libraries), or explicitly exposing public interfaces of the module, making them more easily findable. I would recommend moving a lot of the classes and functions defined in __init__.py files into separate files. This makes them easier to find for developers. If desired, these can then be imported in __init__.py to still have the same level of visibility for people importing them.
I highly recommend looking into the following dev tooling/practices:

a code-formatter, my personal preference is black. This prevents things such as different docstring layouts (I noticed ”””, ’’’ and ’’’\n, for example) or worrying about line lengths.

use pre-commit, a tool which lets you enforce checks before a commit (e.g., code-formatting, linting). Also integrates easily with ci through pre-commit.ci

add type hints, especially for user-facing functions. It is useful documentation (especially if a docstring is not available) and makes it possible for type checkers such as mypy to do static analysis on the code. This can catch wrong usage early. It will also allow your users to use (strict) type checking in their code that uses your library. See also the updated compute_friedmanchisquare.

See if you can use some code de-duplication tool. I personally have the built in tool from PyCharm, which noticed (among other things) the following snippet appear four times in your code. The code surrounding it is also very similar, and likely would better be refactored to re-use common code. There were several more instances of code snippets that are duplicated.
corners = np.array([[0, 0], [1, 0], [0.5, 0.75**0.5]])
triangle = tri.Triangulation(corners[:, 0], corners[:, 1])

refiner = tri.UniformTriRefiner(triangle)
trimesh = refiner.refine_triangulation(subdiv=subdiv)

ps. I am a little confused about exactly the supported formats for compute_friedmanchisquare and the "two options" mentioned since the table is always transposed.

Thanks for all your suggestions. It will take me some time to digest the proposed changes. I will let you know if I have some questions.


Use base ruby image in Dockerfile & fix watcher

It seems that the watcher will not work without the
--force-polling option.

I will point this to dev branch instead.

:+1: ah, yes, thanks, sorry for missing this earlier.


Fix a couple more misquoted values in RDF conversion. [phab:D11]

Created by fromberger at 2015-01-30 17:07:07:

schroederc wrote at 2015-01-30 17:09:30:
As per our offline conversion, we should add some tests before pushing this.

schroederc required changes at 2015-01-30 17:09:30

fromberger wrote at 2015-01-30 18:22:55:
Agreed. Once #200 is in satisfactory condition, I will abandon this commit.

fromberger abandoned revision at 2015-01-30 18:41:00

fromberger wrote at 2015-01-30 18:41:01:
This has been superseded by #200.


Sub-workflow for gene statistics

We want to be able to include some standard basic statistics on the gene/protein annotation set for an assembly in a genome note. This sub workflow should accept an annotation set and calculate some statistics, (exact values still to be determined but will most likely be things like the number of protein coding genes, number of non-coding genes, exons per transcript etc as well as BUSCO scores).
This could be a standalone pipeline or could be added to either the genomenote pipeline or to the ensemblgenedownload pipeline, although it may not always be Ensembl that provides the annotations.

Exon count
Exon length
Intron length
DNA strand bias

After disussing this with the ToL Genome Notes editor they would like to see OMark https://omark.omabrowser.org/ included in the set of tools to evaluate an annotation set

To close this issue:

Add a new optional parameter --annotation_set which takes in a file path for a directory containing ensembl gene annotation. This directory should have files consistent with the ouput directory from running the sanger-tol/ensemblgenedownload pipeline
In the main workflow or sub-workflow, parse and validate the parameter value and pass the files  from the filepath to a new subworkflow - annotation_stats,
Define the sub-workflow annotation_stats and configure it to run only if the --annotation_set parameter is passed.
Create the subwofkflow annotation_stats, it should read in the relevant annotation files and process the data to generate the following statistics:

- TRANSC_MRNA: the number of transcribed mRNAs
- PCG: the number of protein coding genes
- NCG: the number of non-coding genes
- CDS_PER_GENE: the average number of coding transcripts per gene
- EXONS_PER_TRANSC: the average number of exons per transcript
- CDS_LENGTH: the average length of coding sequence
- EXON_SIZE: the average length of a coding exon
- INTRON_SIZE: the average length of coding intron size

Output these statistics to a csv file named as the assemblyID. csv in a directory created in the results directory called annotation_statistics, The CSV file should have the following columns,
Variable,Value
where the variable is the name of the variable from the list above an the value is the statistic you have generated.
Run tests to make sure output file is produced.
Update the documentation.

The work in #135 goes most of the way to solving this issue, but the output from the subworkflow is currently two files with lots of information rather than one file with just the specific data that we are interested in. The next step is to extend the subworkflow to parse the output of the files produced by the AGAT_SPSTATISTICS and AGAT_SQSTATBASIC.
What I would like to see is

Creation of a new local module that contains a process that calls a python script. (Look at parse_metadata.nf for an example of a local module that performs a similar function) The input to this module should be the output from the two AGAT modules.
Addition of a python script to /bin that reads through the input files and parses out the following information:

- TRANSC_MRNA: the number of transcribed mRNAs
- PCG: the number of protein coding genes
- NCG: the number of non-coding genes
- CDS_PER_GENE: the average number of coding transcripts per gene
- EXONS_PER_TRANSC: the average number of exons per transcript
- CDS_LENGTH: the average length of coding sequence
- EXON_SIZE: the average length of a coding exon
- INTRON_SIZE: the average length of coding intron size

If you're not sure what any of these terms mean let me know!

The parsed information should be written out to a csv file named as the assemblyID. csv in a directory created in the results directory called annotation_statistics, The CSV file should have the following columns,
Variable,Value
where the variable is the name of the variable from the list above an the value is the statistic you have generated.


haskellPackages.clash-prelude is broken

Describe the bug
haskellPackages.clash-prelude is broken
Steps To Reproduce
Steps to reproduce the behavior:

Run nix-shell -p haskellPackages.clash-prelude
Package is marked as broken. Allowing broken packages allows it to start compiling but it fails on src/Clash/Annotations/TH.hs source file with the following error:

[ 95 of 106] Compiling Clash.Annotations.TH ( src/Clash/Annotations/TH.hs, dist/build/Clash/Annotations/TH.p_o )

<no location info>: error:

ByteCodeLink.lookupCE
During interactive linking, GHCi couldn't find the following symbol:
  recursionzmschemeszm5zi2zi2zi1zmYW4xOyDGcg3POedRDdiKO_DataziFunctorziFoldableziTH_zdfMakeBaseFunctorNamezuzdcmakeBaseFunctor_closure
This may be due to you not asking GHCi to load extra object files,
archives or DLLs needed by your current session.  Restart GHCi, specifying
the missing library using the -L/path/to/object/dir and -lmissinglibname
flags, or simply by naming the relevant files on the GHCi command line.
Alternatively, this link failure might indicate a bug in GHCi.
If you suspect the latter, please report this as a GHC bug:
  https://www.haskell.org/ghc/reportabug

This is a nix specific issue since I can build this package fine using stack.  I have no clue how to fix this.
Notify maintainers
@maralorn I doubt you are the right person but you touched it last.
Metadata
``
`> nix-shell -p nix-info --run "nix-info -m"

system: "x86_64-linux"
host os: Linux 5.14.7, NixOS, 21.11 (Porcupine)
multi-user?: yes
sandbox: yes
version: nix-env (Nix) 2.4pre20210922_bcd73eb
channels(rowan.goemans): "nixgl"
channels(root): "nixos-21.11pre319271.31ffc50c571"
nixpkgs: /nix/var/nix/profiles/per-user/root/channels/nixos

Yeah, I am not sure how I touched it. But I don‘t assume any responsibility for it. This is an error while executing TH.
The fix is probably simple, but I don‘t know it.


Add start/stop option to dashboard and command line option to disable auto-start

I didn't see PR #948 before, but it's kind of the same feature, so this one is also #876
This feature is because our dev-team wanted to have the @dalibormesaric in #948
We have quite a large set up with loads of services in Tye and watching them all can be stressful for the developer's environment. So, we just want to quit the one service you're working on in Tye and use visual studio for that service.
The other scenario is that we quickly want to start just a few services to test or reproduce something without starting the complete environment. Therefore, I placed the buttons on the overview page instead of the service page, and added a command-line option to skip startup for specific projects (eg we have a Microsoft Fhir server project in there taking quite some time and resources). Now I could also say skip "*" so no project starts automatically and just spint up like the 3 services I need atm from the dashboard
This PR also works for docker containers that are running + I chose to reuse the created method to start the services by adding a reference to the method on the service object. This way we don't have to inject the processrunner anywhere.

Seems like alot of features in a single PR. Can you split these out into separate changes?

Yes sorry about that, I created my new wishes (there are even more on my current main branch) in one branch hoping that I could do them 1 by 1, but decided to pick the features and create a PR for them separately later. This one now only contains the start/stop feature

Looks like great feature,
If merged how long before available to public?
Cheers


Website framework

We could use html or jekyll/nuxt. jekyll and nuxt would make it possible for the bios to be rendered server-side unlike the TFH website.
What do you think @leahcimto?

I would be fine with jekyll and nuxt.

I would vote HTML because that's the nitty gritty cool stuff but obviously nuxt + jekyll + vue makes the website easier and better (as evidenced by my website vs yours). Honestly whatever you think is best


[Select][joy-ui] Support selection of multiple options

closes: https://github.com/mui/material-ui/issues/39102
preview: https://deploy-preview-39454--material-ui.netlify.app/joy-ui/react-select/#multiple-selections

[x] I have followed (at least) the PR section of the contributing guide.

@siriwatknp Can this be merged ?


Enhancement: username password file instead of cookie file

Hi,
Appreciate if you can add the ability to run the script by providing username and password from an input file. Every time we need to run the script we have to log in to the Udemy account update the access token in the cookie file.
If we can run with username and password, this can be automated very easily.
Thanks!

There is already an automatic login feature available. You just need to login in your chrome or firefox browser and run the script normally and it'll automatically log you in


[Draft] Fix - revisit similarity search

NOTE: I still need to update notebook and other code examples. So the PR is in draft mode
changes

chaged in memory search and hnswlib search to accept new method then call for search

why

need to hold documents with new method and call for search multiple times with different query
consistent structure for search classes
create query vector within SimilaritySearch
resolves part of https://github.com/BoxcarsAI/boxcars/issues/60

we have VectorSearch class. do we need to keep Boxcars::VectorStore::SimilaritySearch?

extra clean up would be adding the metadata for hnswlib search.
or use the same structure as in_memory search.
I am not sure which one is better.

@jaigouk - we probably don't need Boxcars::VectorStore::SimilaritySearch now

I'm not going to merge until you give the go ahead @jaigouk

I updated gem version number to 0.2.12

I’ll take a look.


Minor rounding issue on "success" dialog window

Version: v0.5.1
OS: Windows 8.1
On the end of the cleaning, there is the success dialog window which pops up, giving basic cleaning information. There is one small problem with it, which isn't major, as it still works fine, but there's a load of zeros and then a few tiny numbers at the end, most likely due to floating point math. Screenshot provided.
Screenshot
The bottom of the log says the same, saying:
2016-01-02 22:51:56 INFO: 4501 file(s) removed successfully
2016-01-02 22:51:56 INFO: 0 file(s) excluded and not removed
2016-01-02 22:51:56 INFO: 4515.340000000088 MB saved

Realized there is already an open issue, #3


Problem connecting to servers bound to "::" through <IP_ADDRESS>

Your Windows build number:  (Type ver at a Windows Command Prompt)
Microsoft Windows [Version 10.0.19551.1005]
What you're doing and what's happening:
I am trying to start-up a webserver and have it listen on a specific port. Then when I try to reach this website using a service like localtest.me it says it's unreachable, this is specifically happening when I try to run shadow-cljs on WSL2. If I run it on a WSL distro it works fine. After some talking with the author of that package I was able to boil down a reproducible issue to:

In a fresh instance of Ubuntu with WSL2 enabled run nc :: 8080 -l
Try to connect to nc, on Windows with any browser, at the address <IP_ADDRESS>:8080.

What's wrong / what should be happening instead:
When opening up a server and telling it to listen on '::' and port 8080, the server becomes unreachable on the Windows side when trying to access it through a browser on <IP_ADDRESS>:8080. However, the server is reachable through the browser when accessing it through localhost:8080. This workflow used to work on WSL1. I have tested this on a multitude of ports and it never works.
Additionally, this works fine if I use nc <IP_ADDRESS> 8080 -l instead. It is reachable by browser on <IP_ADDRESS> and localhost.

Ran into this same issue trying to run an express server in wsl2. If you're using host names from your hosts file, a quick workaround is to just change them to point to your local IPv6 address instead of the v4 one, so <IP_ADDRESS> mysite.dev becomes ::1 mysite.dev.

Tag needs-investigation in the sense this needs a ruling on whether the current (circa 19640) behavior of the magic localhost tunnel is by-design (by fiat), or should route ipv4 <IP_ADDRESS> to ipv6 ::1 automatically like it does on Linux. I suspect but can't prove there is a IETF RFC that defines the behavior (because there's an IETF RFC for everything) but I didn't look it up.

I just spent some time looking into issues I think are related to this. I have a NodeJS project in WSL2 opening a TCP/4000 server. Inside the WSL Bash I see it correctly binding:
$ netstat -apn | grep 4000
(Not all processes could be identified, non-owned process info
 will not be shown, you would have to be root to see it all.)
tcp6       0      0 :::4000                 :::*                    LISTEN      1771/node

Running netstat -a -p -n in cmd.exe however paints a slightly different picture:
  TCP    [::1]:4000             [::]:0                 LISTENING       9140

Somehow the global binding inside wsl.exe translates to a ::1 binding in wslhost.exe (PID 9140).
Even more curious, when I use Docker Desktop WSL2 to launch an Nginx container with -p 80:80 it looks like this:
  TCP    [::]:80                [::]:0                 LISTENING       23396
  TCP    [::1]:80               [::]:0                 LISTENING       9140

So for some reason wslhost.exe is only providing the loopback bindings, and com.docker.backend.exe is forwarding it to the network.
Why does wslhost constrain the global binding to loopback itself?

We got hit by this on https://github.com/firebase/firebase-tools-ui/issues/332 -- it turns all our Java programs (Firebase Emulators) experiences this issue since Java prefers to open up an IPv6 socket by default, under the assumption that it will serve both IPv4 and IPv6.
java -Djava.net.preferIPv4Stack=true mitigates this problem (and netstat -nl shows tcp instead of tcp6), but that prevents listening to both IPv4 and IPv6 at the same time.
@therealkenc Would it be reasonable for WSL2 to route ipv4 <IP_ADDRESS> to ipv6 ::1 automatically like Linux? There may or may not be an IETF RFC, but a lot of programs like Java is already built under the assumptions and bridging that gap would help compatibility.

Would it be reasonable for WSL2 to route ipv4 <IP_ADDRESS> to ipv6 ::1 automatically like Linux?

Yes. RFC 6052 (...or something)

I had this problem using Apache 2 and ended up having to change my Listen 93 directive to Listen <IP_ADDRESS>:93
then it started working. This is because it uses ipv6 by default and there are known issues as of now.

If the WSL2 subsystem does not forward IPv6 traffic, why have IPv6 enabled? I have this in my bashrc to turn it off until we have a working IPv6 stack. I'd prefer that IPv6 work! Windows should really request an IPv6 subnet and apply that to the vEthernet network so that all hypervisors and WSL2 instances have working IPv6 addresses. It should then forward IPv6 connections. Alas, we're not there yet. Here's a simplified version of my workaround to disable IPv6. The sysctl instances are the key.
if grep -q "microsoft" /proc/version &>/dev/null; then
  # WSL2
  export DISPLAY="$(ip route|awk '/^default/{print $3}'):0.0"
  export PULSE_SERVER="${PULSE_SERVER:-tcp:$(ip route|awk '/^default/{print $3}')}"
  grep -q 1 /proc/sys/net/ipv6/conf/all/disable_ipv6 || sudo sysctl -w net.ipv6.conf.all.disable_ipv6=1
  grep -q 1 /proc/sys/net/ipv6/conf/default/disable_ipv6 || sudo sysctl -w net.ipv6.conf.default.disable_ipv6=1
  pgrep -xo rsyslogd >/dev/null || sudo service rsyslog start
  pgrep -xo sshd >/dev/null || sudo service ssh start
  pgrep -xo dbus-daemon >/dev/null || sudo service dbus start
  pgrep -xo mysqld >/dev/null || sudo service mysql start
  pgrep -xo php7.4-fpm >/dev/null || sudo service php7.4-fpm start
  pgrep -xo apache2 >/dev/null || sudo service apache2 start
fi

If the WSL2 subsystem does not forward IPv6 traffic, why have IPv6 enabled? I have this in my bashrc to turn it off until we have a working IPv6 stack. I'd prefer that IPv6 work! Windows should really request an IPv6 subnet and apply that to the vEthernet network so that all hypervisors and WSL2 instances have working IPv6 addresses. It should then forward IPv6 connections. Alas, we're not there yet. Here's a simplified version of my workaround to disable IPv6. The sysctl instances are the key.
if grep -q "microsoft" /proc/version &>/dev/null; then
  # WSL2
  export DISPLAY="$(ip route|awk '/^default/{print $3}'):0.0"
  export PULSE_SERVER="${PULSE_SERVER:-tcp:$(ip route|awk '/^default/{print $3}')}"
  grep -q 1 /proc/sys/net/ipv6/conf/all/disable_ipv6 || sudo sysctl -w net.ipv6.conf.all.disable_ipv6=1
  grep -q 1 /proc/sys/net/ipv6/conf/default/disable_ipv6 || sudo sysctl -w net.ipv6.conf.default.disable_ipv6=1
  pgrep -xo rsyslogd >/dev/null || sudo service rsyslog start
  pgrep -xo sshd >/dev/null || sudo service ssh start
  pgrep -xo dbus-daemon >/dev/null || sudo service dbus start
  pgrep -xo mysqld >/dev/null || sudo service mysql start
  pgrep -xo php7.4-fpm >/dev/null || sudo service php7.4-fpm start
  pgrep -xo apache2 >/dev/null || sudo service apache2 start
fi

It appears resolving this issue would improve my use case as well.  Public DNS defines a wildcard domain that points to localhost, such as *.local.domain.com.  This allows devs to define any local app they want listening on localhost at those domains, app1.local.domain.com and app2.local.domain.com.
This is convenient as it avoids having to update hosts files all the time, but with this issue, it appears the only way to work around it currently is by actually creating host file entries for items, even if they already resolve to <IP_ADDRESS>.

It appears resolving this issue would improve my use case as well.  Public DNS defines a wildcard domain that points to localhost, such as *.local.domain.com.  This allows devs to define any local app they want listening on localhost at those domains, app1.local.domain.com and app2.local.domain.com.
This is convenient as it avoids having to update hosts files all the time, but with this issue, it appears the only way to work around it currently is by actually creating host file entries for items, even if they already resolve to <IP_ADDRESS>.

Has anyone tested disabling ipv6 as I posted above? Basically:
sudo sysctl -w net.ipv6.conf.all.disable_ipv6=1
sudo sysctl -w net.ipv6.conf.default.disable_ipv6=1

Disabling ipv6 on Ethernet adapters (from windows) worked for me.

Disabling ipv6 on Ethernet adapters (from windows) worked for me.

That means breaking windows IPv6 connectivity, right? I'd prefer to keep it.
Or did you only disable IPv6 on the Hypervisor Ethernet?

Disabling ipv6 on Ethernet adapters (from windows) worked for me.

That means breaking windows IPv6 connectivity, right? I'd prefer to keep it.
Or did you only disable IPv6 on the Hypervisor Ethernet?

I disabled them all as I was not using them, but you can try only the WSL adapter.

I don't know why the default WSL kernel has IPv6 enabled if WSL can't route IPv6.

This isn't really true. It routes IPv6 fine, it just doesn't also bind to IPv4 when you bind only to an IPv6 address. If I start a server using IPv6, like python3 -m http.server --bind ::, then I can access it fine on the Windows side at http://[::1]:8000/, I just can't access it at http://<IP_ADDRESS>:8000/. The same is true the other way around, binding to <IP_ADDRESS> is only accessible via IPv4 on the Windows side.
This behavior isn't really wrong, it's just not the default behavior you see in most OSs. The only weird thing is that on the Linux side, it does operate in dual stack mode, so you'll run into issues if you try to explicitly bind to both IPv4 and IPv6 in your service. You can get around this by disabling dual-stack mode when you bind to IPv6. For a node.js server, that could look something like this:
const http = require("http");
const reqHandler = (req, res) => res.end("Hello World");
http.createServer(reqHandler).listen({ port: 8000, host: "::", ipv6Only: true });
http.createServer(reqHandler).listen({ port: 8000, host: "<IP_ADDRESS>" });

With a setup like that, you will get a response on the Windows side using both http://<IP_ADDRESS>:8000/ and http://[::1]:8000/.
Obviously this isn't ideal, it would be nice if WSL forwarded both IPv4 & IPv6 when bound to an IPv6 address, especially since it works properly from the Linux side. But I wouldn't go as far as to say "WSL can't route IPv6".

Have you gotten IPv6 networking from the WSL2 side? What I meant is that the WSL2 image does not get a routable IPv6 address when it boots up. Neither outbound nor inbound IPv6 works for me. Is there a way of assigning IPv6 space to WSL2? ideally I'd like the windows host side to request an network block and assign IPv6 routes for each WSL instance out of that block, then route to the nodes. This would mean IPv6 from host to WSL2 and back works as well as WSL2 to and from external IPv6 hosts.

I reinstalled my debian and Ubuntu wsl2 distro and now I do have the same problem with Ruby on Rails.
geert@HTC0273:~/works/vfl$ bin/rails server
=> Booting Puma
=> Rails 6.1.3 application starting in development
=> Run `bin/rails server --help` for more startup options
Puma starting in single mode...
* Puma version: 5.2.2 (ruby 3.0.0-p0) ("Fettisdagsbulle")
*  Min threads: 5
*  Max threads: 5
*  Environment: development
*          PID: 24002
* Listening on http://<IP_ADDRESS>:3000
Use Ctrl-C to stop

I am not able to connect through my Chrome browser on the win10 host.
Any idea of a workaround for the time being?

Listening on http://<IP_ADDRESS>:3000

Get the server (by whatever means) to listen on <IP_ADDRESS>:3000. If that doesn't help, try WSL's IPv4 address instead of localhost in the Windows-side browser.

Listening on http://<IP_ADDRESS>:3000
I am not able to connect through my Chrome browser on the win10 host.

Any idea of a workaround for the time being?

Try the sysctl settings I posted above to disabled ipv6 inside the WSL2 instance.

Disabling IPV6 didn't solve the problem for me. I am having the same issue using WSL2 with Ubuntu 20.04 and a web server and PHP dev configuration using ddev. I cannot access the server with the ddev describe URL, only with the IP address.

Mine worked when I installed net-tools in my WSL 2. I Shutdown my PC for a few times already and still the servers I run in WSL are accessible from my Windows through localhost.

Does anyone have full IPv6 connectivity working inside WSL2 ? My Win 10 host has IPv6, but WSL2 sessions do not.

As far as I know, IPv6 is explicitly not supported in WSL 2, see https://docs.microsoft.com/de-de/windows/wsl/compare-versions#ipv6-access

@timriker I tried your sysctl method but it seems not working.
I tried to start a node server without specifying the host, which makes node bind it to :: because it finds ipv6 is enabled.
This server therefore cannot be accessed via host.docker.internal within a docker container started by Docker Desktop. The host.docker.internal works only if the service listens on ipv4.

@timriker
Yes that would be a workaround, but similar to your situation, I am not allowed to change the listen()'s parameter as well. 🙃
I guess I'll have to use Linux Docker engine instead of Docker Desktop until there's a fix from the WSL team... The good news is I don't really need to use Windows docker container.

I've got a similar problem:
WSL 2 running a server listening on [::]:3000
Trying to connect via chrome to http://<IP_ADDRESS> wasn't working.
Then I used the article shared by @stevenobird and tried:
netsh interface portproxy add v4tov4 listenport=3000 listenaddress=<IP_ADDRESS> connectport=3000 connectaddress=<WSL IP>
And http://<IP_ADDRESS>:3000 worked
https://docs.microsoft.com/de-de/windows/wsl/compare-versions#accessing-a-wsl-2-distribution-from-your-local-area-network-lan

I had a problem with Golang HTTP server listening by default IPv6 :::3010 port within WSL2 Ubuntu machine.
I can't reach it as <IP_ADDRESS>:3010 from my Windows 10 and I've solved the issue redirecting IPv4 address to IPv6:
netsh interface portproxy add v4tov6 listenaddress=<IP_ADDRESS> listenport=3010 connectaddress=::1 connectport=3010

Workaround:
socat tcp-l:8080,fork,reuseaddr tcp:<IP_ADDRESS>:9090
Where 8080 is the port you are trying to access via your browser, localhost:8080 and 9090 the service that is listening in your wsl on port 9090

Depending on the IP protocol your app is listening on, use ::1 or <IP_ADDRESS> in your host's file. You can check it by running sudo netstat -plunt | grep $appPort on the wsl machine.
Please provide transparent dual-stack routing to WSL ⭐

This came up recently here too. Build:
Version	10.0.19042 Build 19042

This continues to be an issue, and the only consistent solution I've found so far is this: https://abdus.dev/posts/fixing-wsl2-localhost-access-issue/
It's a little involved and requires you to use a differently named host than "localhost", but it works. Essentially this sets up a task to be triggered when wsl starts which gets the dynamic IP address of the wsl2 instance and then adds it to your windows host file under the name "wsl".
So let's say you have an application you normally access in wsl2 by going to "localhost:8080" in your browser. After setting up this script you would go to "wsl:8080".
You'd need to tweak any services that try to hit the thing running in the wsl2 instance to use this new wsl endpoint instead of localhost.

Tuve un problema con el servidor Golang HTTP escuchando IPv6 :::3010 dentro de la máquina WSL2 Ubuntu.
No puedo alcanzarlo como <IP_ADDRESS>:3010 desde mi Windows 10 y resolví el problema al redirigir la dirección IPv4 a IPv6:
netsh interface portproxy add v4tov6 listenaddress=<IP_ADDRESS> listenport=3010 connectaddress=::1 connectport=3010
El software CurrPorts fue realmente útil para investigar cosas en Windows.
Y ese comando me ayudó a entender la situación de Ubuntu:
sudo netstat -tulpn | grep LISTEN

it worked for me

I believe you can get IPv6 with a public address if you advertise a prefix on the virtual WSL network adapter from within Windows. Then you'd have to instruct your router to route that prefix to your Windows host. While advertising can be set up with netsh, I am not aware that Windows can request a prefix from the upstream router. So manual setup of the routing table is required. Since many people are given dynamic prefixes, this is a bit cumbersome.

Reading the original bug filed I'm going to close this as by design.
ipv6 and ipv4 bindings are separate. (Except maybe for RFC 4291)

The original request tries to listen on :: 8080 which WORKS.
They they try to connect to :: 8080 from windows, which does NOT work, but should.
If they try to connect to localhost:8080 this WORKS, but is unexpected.
This still sounds like a bug to me. If the windows Hyper-V it NATting ipv4 traffic and routing <IP_ADDRESS> to WSL listening services, it should also NAT ipv6 and route ::1 traffic to WSL listening services.
fc00::/7 address space is set aside as unique local addresses. IMHO, WSL should use some of this space through the Hyper-V network adapter just as it uses 172.16/12
https://en.wikipedia.org/wiki/Unique_local_address
Developing and supporting IPv6 capable software under WSL is impossible currently as there is no IPv6 support under WSL. Please fix.

Concerning the original bug as written. Binding on :: 8080 (ipv6 wildcard) on the guest. They describe being unable to connect via <IP_ADDRESS>:8080 (ipv4) on the host using the relay. This is expected. They then describe being able to connect via localhost:8080 in the browser on the host. This relies on implementation specific behavior in the browser that can end up going to 127.0.01 or ::1 depending on what it feels like.

Note: Running Hyper-V Manager as Administrator, and then in Virtual Switch Manager edit the WSL switch and connect it to "External Network" and an ethernet adapter on the host, gets you ipv4 and ipv6 connectivity if that exists on the host network.
My ideal would be to have dual adapters inside WSL2. One that is NAT connected to the host, with RFC1918 addresses for IPv4 and fc00::/7 NATted ipv6 space. Then, if we're on Ethernet, an additional interface that is bridged to the host ethernet and gets it's own, perhaps public, IPv4 and IPv6 addresses from that network.
Doing this on WiFi has the issue that adding an additional MAC won't work in many cases, but it does work well on ethernet.
Two valid methods of getting WSL2 online with IPv6 as well as existing IPv4. No kernel change required, just setting up Hyper-V networks. I don't know that Hyper-V supports NAT on ipv6. I've not gotten that working, but it does support bridging with IPv4 and IPv6.

@timriker IMHO the best would be if the host could request a prefix via DHCPv6-PD and then route this to the WSL2 instance.

@timriker IMHO the best would be if the host could request a prefix via DHCPv6-PD and then route this to the WSL2 instance.

Yes, if the host can get a prefix, then use that. If it cannot, then fall back to NAT on fc00::/7

What worked for me was editing my .wslconfig file and commenting out the following:

localhostforwarding=true
networkingMode=mirrored
hostAddressLoopback=true

Then running the following from PowerShell
wsl --shutdown

Here is my full configuration
# Settings apply across all Linux distros running on WSL 2
[wsl2]

# (CAUSED ISSUE) Turn on default connection to bind WSL 2 localhost to Windows localhost
# localhostforwarding=true

# (CAUSED ISSUE) Switch networking mode to mirrored
#networkingMode=mirrored
#hostAddressLoopback=true

# Disables nested virtualization
nestedVirtualization=false

# Turns on output console showing contents of dmesg when opening a WSL 2 distro for debugging
debugConsole=true

# Enable experimental features
[experimental]
sparseVhd=true

Hi. Can you please collect networking logs by following the instructions below?
https://github.com/microsoft/WSL/blob/master/CONTRIBUTING.md#collect-wsl-logs-for-networking-issues

Hello folks. We don't need logs for this bug. Sorry for the confusion! We are able to reproduce it and know the source of the issue. It's just a question of priorities.


Helm dep build/update doesn't inherit --insecure-skip-tls-verify from helm repo add

Output of helm version:
3.3.4
When using "helm repo add" with the --insecure-skip-tls-verify flag it works as expected. However, when trying to then helm dep build with a Chart.yaml that references that repository, it throws the x509: certificate signed by unknown authority error and doesn't carry over the flag. Helm dep build/update doesn't actually have that flag as a separate option either

Marking as a feature enhancement.

can I add this feature for helm？ @bacongobbler

sure.

/assign

@bacongobbler  Anything should I do for this issue?

@bacongobbler  Anything should I do for this issue?

@bacongobbler ping

This is still needed.
"Helm dep update" is virtually useless for self hosted enviroments due to this bug. Non of the configurations of helm are used in "helm dependencies update".

Not "insecure_skip_tls_verify: true"
Not the configured "- caFile: ????.crt"

And there exists no cli parameters for this either, making self hosted/local repositories inaccessible for helm dep up.
However helm fetch, helm search repo, etc. have these options and have no problems accessing the exact same repo.
This bug has been around for quite a while and is super useful if fixed.

Local dependency testing
enterprises with private clouds and own certificate infrastructure

ping

Changing this to a bug as it is something that is not working as expected.


Add urls to Repo and issues on Github

Links will be rendered in the right column of https://www.npmjs.com/package/osascript which makes it easier to file a bug or leave a star 😘

Thanks! Good stuff!

Your welcome :octocat:


Make composition after normalisation ?

the composition does the deltas so it has to come before normalisation.
the other solution is to do:

composition
[- deltas]
statistics
norm

let's keep composition take care of deltas and stats


turn off unwanted jitsi features

These features exist but we want them to be off by default, so that we can explore their effects as an intervention.

[x] pin other participants

[x] boot other participants

[x] mute other participants

[ ] decide what to do about the volume

[ ] display talk time statistics

add a treatment flag for each feature so we can turn them on or off as treatments

decided to turn off volume