Can't update Craft from Nitro

Description
I am getting an error when trying to update Craft from Nitro:
/app $ ./craft update
Fetching available updates ... Exception 'GuzzleHttp\Exception\ConnectException' with message 'cURL error 6: Could not resolve host: api.craftcms.com (see https://curl.haxx.se/libcurl/c/libcurl-errors.html) for https://api.craftcms.com/v1/updates'
in /app/vendor/guzzlehttp/guzzle/src/Handler/CurlFactory.php:210

How can I fix this error?
Steps to reproduce

Open site container via nitro ssh
Run ./craft update

Additional info

Nitro version: 2.0.8
Docker version: 3.5.2
Windows 10 / WSL2

@umkasanki can you run nitro ssh and run curl --verbose https://api.craftcms.com/v1/updates? If that fails can you try the same curl command on your host machine?

@umkasanki can you run nitro ssh and run curl --verbose https://api.craftcms.com/v1/updates? If that fails can you try the same curl command on your host machine?

mishkin@DESKTOP-ELHJ3EU:/mnt/c/Users/oleg$ nitro ssh
Select a site:
  1. bkbn.nitro
  2. craft.nitro
  3. starter-blog.nitro
  4. test.nitro
Enter your selection: 1
/app $ curl --verbose https://api.craftcms.com/v1/updates
* Could not resolve host: api.craftcms.com
* Closing connection 0
curl: (6) Could not resolve host: api.craftcms.com
/app $ exit
Error: exit status 6
mishkin@DESKTOP-ELHJ3EU:/mnt/c/Users/oleg$ curl --verbose https://api.craftcms.com/v1/updates
*   Trying <IP_ADDRESS>:443...
* TCP_NODELAY set
* Connected to api.craftcms.com (<IP_ADDRESS>) port 443 (#0)
* ALPN, offering h2
* ALPN, offering http/1.1
* successfully set certificate verify locations:
*   CAfile: /etc/ssl/certs/ca-certificates.crt
  CApath: /etc/ssl/certs
* TLSv1.3 (OUT), TLS handshake, Client hello (1):
* TLSv1.3 (IN), TLS handshake, Server hello (2):
* TLSv1.2 (IN), TLS handshake, Certificate (11):
* TLSv1.2 (IN), TLS handshake, Server key exchange (12):
* TLSv1.2 (IN), TLS handshake, Server finished (14):
* TLSv1.2 (OUT), TLS handshake, Client key exchange (16):
* TLSv1.2 (OUT), TLS change cipher, Change cipher spec (1):
* TLSv1.2 (OUT), TLS handshake, Finished (20):
* TLSv1.2 (IN), TLS handshake, Finished (20):
* SSL connection using TLSv1.2 / ECDHE-RSA-AES128-GCM-SHA256
* ALPN, server did not agree to a protocol
* Server certificate:
*  subject: CN=*.craftcms.com
*  start date: May 30 00:00:00 2021 GMT
*  expire date: Jun 28 23:59:59 2022 GMT
*  subjectAltName: host "api.craftcms.com" matched cert's "*.craftcms.com"
*  issuer: C=US; O=Amazon; OU=Server CA 1B; CN=Amazon
*  SSL certificate verify ok.
> GET /v1/updates HTTP/1.1
> Host: api.craftcms.com
> User-Agent: curl/7.68.0
> Accept: */*
>
* Mark bundle as not supporting multiuse
< HTTP/1.1 400 Bad Request
< Access-Control-Allow-Origin: *
< Access-Control-Expose-Headers: x-craft-allow-trials, x-craft-license, x-craft-license-domain, x-craft-license-edition, x-craft-license-status, x-craft-plugin-license-editions, x-craft-plugin-license-statuses, x-craft-plugin-licenses
< Content-Type: application/json; charset=UTF-8
< Date: Mon, 30 Aug 2021 15:48:23 GMT
< Permissions-Policy: interest-cohort=()
< Server: Apache
< X-Content-Type-Options: nosniff
< X-Frame-Options: SAMEORIGIN
< Content-Length: 60
< Connection: keep-alive
<
* Connection #0 to host api.craftcms.com left intact
mishkin@DESKTOP-ELHJ3EU:/mnt/c/Users/oleg$

Do you have a VPN? You are running this in WSL2/bash terminal correct?

No, I have no VPN.
I use nativ Windows/WSL teminal

Is there a proxy setting on Docker Desktop or are you on a work network?

Maybe Windows Defender/Firewall related?

@jasonmccallister @angrybrad  Thanks for fast reply.
Private network.
Defender/Firewall disabled.
My Docker settings:

The problem is still present

Can you try the following, without using Nitro lets check network connectvity in a normal container. Can you try the following?
docker run --rm -it debian bash
apt update && apt install -y curl
curl --verbose https://api.craftcms.com/v1/updates

If that does not have connectivity its an issue with the WSL2 installation. There are a couple of related issues on the WSL2 board: https://github.com/MicrosoftDocs/WSL/issues/422.

@jasonmccallister Done
mishkin@DESKTOP-ELHJ3EU:/mnt/c/Users/oleg$ docker run --rm -it debian bash
Unable to find image 'debian:latest' locally
latest: Pulling from library/debian
4c25b3090c26: Pull complete
Digest: sha256:38988bd08d1a5534ae90bea146e199e2b7a8fca334e9a7afe5297a7c919e96ea
Status: Downloaded newer image for debian:latest
root@22d93868b975:/# apt update && apt install -y curl
Get:1 http://security.debian.org/debian-security bullseye-security InRelease [44.1 kB]
Preparing to unpack .../12-libldap-common_2.4.57+dfsg-3_all.deb ...
Unpacking libldap-common (2.4.57+dfsg-3) ...
Selecting previously unselected package libsasl2-modules:amd64.
Preparing to unpack .../13-libsasl2-modules_2.1.27+dfsg-2.1_amd64.deb ...
Unpacking libsasl2-modules:amd64 (2.1.27+dfsg-2.1) ...
Selecting previously unselected package publicsuffix.
Preparing to unpack .../14-publicsuffix_20210108.1309-1_all.deb ...
Unpacking publicsuffix (20210108.1309-1) ...
Setting up libpsl5:amd64 (0.21.0-1.2) ...
Setting up libbrotli1:amd64 (1.0.9-2+b2) ...
Setting up libsasl2-modules:amd64 (2.1.27+dfsg-2.1) ...
Setting up libnghttp2-14:amd64 (1.43.0-1) ...
Setting up libldap-common (2.4.57+dfsg-3) ...
Setting up libsasl2-modules-db:amd64 (2.1.27+dfsg-2.1) ...
Setting up librtmp1:amd64 (2.4+20151223.gitfa8646d.1-2+b2) ...
Setting up libsasl2-2:amd64 (2.1.27+dfsg-2.1) ...
Setting up libssh2-1:amd64 (1.9.0-2) ...
Setting up openssl (1.1.1k-1+deb11u1) ...
Setting up publicsuffix (20210108.1309-1) ...
Setting up libldap-2.4-2:amd64 (2.4.57+dfsg-3) ...
Setting up ca-certificates (20210119) ...
debconf: unable to initialize frontend: Dialog
debconf: (No usable dialog-like program is installed, so the dialog based frontend cannot be used. at /usr/share/perl5/Debconf/FrontEnd/Dialog.pm line 78.)
debconf: falling back to frontend: Readline
debconf: unable to initialize frontend: Readline
debconf: (Can't locate Term/ReadLine.pm in @INC (you may need to install the Term::ReadLine module) (@INC contains: /etc/perl /usr/local/lib/x86_64-linux-gnu/perl/5.32.1 /usr/local/share/perl/5.32.1 /usr/lib/x86_64-linux-gnu/perl5/5.32 /usr/share/perl5 /usr/lib/x86_64-linux-gnu/perl-base /usr/lib/x86_64-linux-gnu/perl/5.32 /usr/share/perl/5.32 /usr/local/lib/site_perl) at /usr/share/perl5/Debconf/FrontEnd/Readline.pm line 7.)
debconf: falling back to frontend: Teletype
Updating certificates in /etc/ssl/certs...
129 added, 0 removed; done.
Setting up libcurl4:amd64 (7.74.0-1.3+b1) ...
Setting up curl (7.74.0-1.3+b1) ...
Processing triggers for libc-bin (2.31-13) ...
Processing triggers for ca-certificates (20210119) ...
Updating certificates in /etc/ssl/certs...
0 added, 0 removed; done.
Running hooks in /etc/ca-certificates/update.d...
done.
root@22d93868b975:/# curl --verbose https://api.craftcms.com/v1/updates
*   Trying <IP_ADDRESS>:443...
* Connected to api.craftcms.com (<IP_ADDRESS>) port 443 (#0)
* ALPN, offering h2
* ALPN, offering http/1.1
* successfully set certificate verify locations:
*  CAfile: /etc/ssl/certs/ca-certificates.crt
*  CApath: /etc/ssl/certs
* TLSv1.3 (OUT), TLS handshake, Client hello (1):
* TLSv1.3 (IN), TLS handshake, Server hello (2):
* TLSv1.2 (IN), TLS handshake, Certificate (11):
* TLSv1.2 (IN), TLS handshake, Server key exchange (12):
* TLSv1.2 (IN), TLS handshake, Server finished (14):
* TLSv1.2 (OUT), TLS handshake, Client key exchange (16):
* TLSv1.2 (OUT), TLS change cipher, Change cipher spec (1):
* TLSv1.2 (OUT), TLS handshake, Finished (20):
* TLSv1.2 (IN), TLS handshake, Finished (20):
* SSL connection using TLSv1.2 / ECDHE-RSA-AES128-GCM-SHA256
* ALPN, server did not agree to a protocol
* Server certificate:
*  subject: CN=*.craftcms.com
*  start date: May 30 00:00:00 2021 GMT
*  expire date: Jun 28 23:59:59 2022 GMT
*  subjectAltName: host "api.craftcms.com" matched cert's "*.craftcms.com"
*  issuer: C=US; O=Amazon; OU=Server CA 1B; CN=Amazon
*  SSL certificate verify ok.
> GET /v1/updates HTTP/1.1
> Host: api.craftcms.com
> User-Agent: curl/7.74.0
> Accept: */*
>
* Mark bundle as not supporting multiuse
< HTTP/1.1 400 Bad Request
< Access-Control-Allow-Origin: *
< Access-Control-Expose-Headers: x-craft-allow-trials, x-craft-license, x-craft-license-domain, x-craft-license-edition, x-craft-license-status, x-craft-plugin-license-editions, x-craft-plugin-license-statuses, x-craft-plugin-licenses
< Content-Type: application/json; charset=UTF-8
< Date: Wed, 01 Sep 2021 08:18:13 GMT
< Permissions-Policy: interest-cohort=()
< Server: Apache
< X-Content-Type-Options: nosniff
< X-Frame-Options: SAMEORIGIN
< Content-Length: 60
< Connection: keep-alive
<
* Connection #0 to host api.craftcms.com left intact
{"message":"Unable to determine the current Craft version."}root@22d93868b975:/#

I've tried to change host file manually
//login with docker
sudo docker exec -it bkbn.nitro sh

// open host file
vi /etc/hosts

// add your local url
<IP_ADDRESS>  api.crafcms.com

But host file is not writable

Any other ideas how to fix this?
How to add an entry to the host file correctly? Am I doing it wrong?
Thanks

@umkasanki you should never need to modify the /etc/hosts file in the container.
I did some quick research and found quite a new people having similar issues on Docker Desktop for Windows. I'm not sure what the root cause is for the networking issue but some people mentioned that performing an uninstall and reinstall of Docker Desktop did the trick, but I'm not sure that is the best answer.
Can you run the following?
docker run --rm -it --network=nitro-network debian bash
apt update && apt install -y curl
curl --verbose https://api.craftcms.com/v1/updates

This will create the same container inside of the network that Nitro created for the containers. Also can you provide the output of docker network inspect nitro-network?

@jasonmccallister Done
mishkin@DESKTOP-ELHJ3EU:/mnt/c/Users/oleg$ docker run --rm -it --network=nitro-network debian bash
root@52a13dd5f935:/# apt update && apt install -y curl
Get:1 http://security.debian.org/debian-security bullseye-security InRelease [44.1 kB]
Get:2 http://deb.debian.org/debian bullseye InRelease [113 kB]
Get:3 http://deb.debian.org/debian bullseye-updates InRelease [36.8 kB]
Get:4 http://security.debian.org/debian-security bullseye-security/main amd64 Packages [31.1 kB]
Get:5 http://deb.debian.org/debian bullseye/main amd64 Packages [8178 kB]
Fetched 8402 kB in 2s (4301 kB/s)
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
1 package can be upgraded. Run 'apt list --upgradable' to see it.
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
The following additional packages will be installed:
Setting up librtmp1:amd64 (2.4+20151223.gitfa8646d.1-2+b2) ...
Setting up libsasl2-2:amd64 (2.1.27+dfsg-2.1) ...
Setting up libssh2-1:amd64 (1.9.0-2) ...
Setting up openssl (1.1.1k-1+deb11u1) ...
Setting up publicsuffix (20210108.1309-1) ...
Setting up libldap-2.4-2:amd64 (2.4.57+dfsg-3) ...
Setting up ca-certificates (20210119) ...
debconf: unable to initialize frontend: Dialog
debconf: (No usable dialog-like program is installed, so the dialog based frontend cannot be used. at /usr/share/perl5/Debconf/FrontEnd/Dialog.pm line 78.)
debconf: falling back to frontend: Readline
debconf: unable to initialize frontend: Readline
debconf: (Can't locate Term/ReadLine.pm in @INC (you may need to install the Term::ReadLine module) (@INC contains: /etc/perl /usr/local/lib/x86_64-linux-gnu/perl/5.32.1 /usr/local/share/perl/5.32.1 /usr/lib/x86_64-linux-gnu/perl5/5.32 /usr/share/perl5 /usr/lib/x86_64-linux-gnu/perl-base /usr/lib/x86_64-linux-gnu/perl/5.32 /usr/share/perl/5.32 /usr/local/lib/site_perl) at /usr/share/perl5/Debconf/FrontEnd/Readline.pm line 7.)
debconf: falling back to frontend: Teletype
Updating certificates in /etc/ssl/certs...
129 added, 0 removed; done.
Setting up libcurl4:amd64 (7.74.0-1.3+b1) ...
Setting up curl (7.74.0-1.3+b1) ...
Processing triggers for libc-bin (2.31-13) ...
Processing triggers for ca-certificates (20210119) ...
Updating certificates in /etc/ssl/certs...
0 added, 0 removed; done.
Running hooks in /etc/ca-certificates/update.d...
done.
root@52a13dd5f935:/# curl --verbose https://api.craftcms.com/v1/updates
*   Trying <IP_ADDRESS>:443...
* Connected to api.craftcms.com (<IP_ADDRESS>) port 443 (#0)
* ALPN, offering h2
* ALPN, offering http/1.1
* successfully set certificate verify locations:
*  CAfile: /etc/ssl/certs/ca-certificates.crt
*  CApath: /etc/ssl/certs
* TLSv1.3 (OUT), TLS handshake, Client hello (1):
* TLSv1.3 (IN), TLS handshake, Server hello (2):
* TLSv1.2 (IN), TLS handshake, Certificate (11):
* TLSv1.2 (IN), TLS handshake, Server key exchange (12):
* TLSv1.2 (IN), TLS handshake, Server finished (14):
* TLSv1.2 (OUT), TLS handshake, Client key exchange (16):
* TLSv1.2 (OUT), TLS change cipher, Change cipher spec (1):
* TLSv1.2 (OUT), TLS handshake, Finished (20):
* TLSv1.2 (IN), TLS handshake, Finished (20):
* SSL connection using TLSv1.2 / ECDHE-RSA-AES128-GCM-SHA256
* ALPN, server did not agree to a protocol
* Server certificate:
*  subject: CN=*.craftcms.com
*  start date: May 30 00:00:00 2021 GMT
*  expire date: Jun 28 23:59:59 2022 GMT
*  subjectAltName: host "api.craftcms.com" matched cert's "*.craftcms.com"
*  issuer: C=US; O=Amazon; OU=Server CA 1B; CN=Amazon
*  SSL certificate verify ok.
> GET /v1/updates HTTP/1.1
> Host: api.craftcms.com
> User-Agent: curl/7.74.0
> Accept: */*
>
* Mark bundle as not supporting multiuse
< HTTP/1.1 400 Bad Request
< Access-Control-Allow-Origin: *
< Access-Control-Expose-Headers: x-craft-allow-trials, x-craft-license, x-craft-license-domain, x-craft-license-edition, x-craft-license-status, x-craft-plugin-license-editions, x-craft-plugin-license-statuses, x-craft-plugin-licenses
< Content-Type: application/json; charset=UTF-8
< Date: Fri, 10 Sep 2021 14:06:14 GMT
< Permissions-Policy: interest-cohort=()
< Server: Apache
< X-Content-Type-Options: nosniff
< X-Frame-Options: SAMEORIGIN
< Content-Length: 60
< Connection: keep-alive
<
* Connection #0 to host api.craftcms.com left intact
{"message":"Unable to determine the current Craft version."}root@52a13dd5f935:/#

Can you also provide the output of docker network inspect nitro-network?

mishkin@DESKTOP-ELHJ3EU:/mnt/c/Users/oleg$ docker network inspect nitro-network
[
    {
        "Name": "nitro-network",
        "Id": "e3ea776a2cc614bcd55970805d91ef5240dfdb3ac3392b93558cb271b61930c7",
        "Created": "2021-03-14T05:44:30.483338Z",
        "Scope": "local",
        "Driver": "bridge",
        "EnableIPv6": false,
        "IPAM": {
            "Driver": "default",
            "Options": null,
            "Config": [
                {
                    "Subnet": "<IP_ADDRESS>/16",
                    "Gateway": "<IP_ADDRESS>"
                }
            ]
        },
        "Internal": false,
        "Attachable": true,
        "Ingress": false,
        "ConfigFrom": {
            "Network": ""
        },
        "ConfigOnly": false,
        "Containers": {
            "105e9612cedbabe0b3912d621d14dd0423b7d5ebc80fb958d78f2d472ee0a427": {
                "Name": "postgres-11-5433.database.nitro",
                "EndpointID": "83cd81bc9ce8ac9b8438220e3b271ba26eb1235dfdace2356f68b84cd3ec9c09",
                "MacAddress": "02:42:ac:12:00:08",
                "IPv4Address": "<IP_ADDRESS>/16",
                "IPv6Address": ""
            },
            "17f0421fb70185ea327fc109b13145ce4595e4881cbc416b4f3b69b1dc04f91e": {
                "Name": "kvdl.nitro",
                "EndpointID": "641db9f46dd10ce7abc1579a070a8e62a036002d951bc468d75135b516afe1f8",
                "MacAddress": "02:42:ac:12:00:02",
                "IPv4Address": "<IP_ADDRESS>/16",
                "IPv6Address": ""
            },
            "2b9e44f1bfde43de1176419f9719fd0bfd7c90a93498bbeac78d5342b50755f2": {
                "Name": "craft.nitro",
                "EndpointID": "5cc6be47043973163ca5bb005cbeeefe44169d9b24d70993ad3ded08922b405d",
                "MacAddress": "02:42:ac:12:00:0a",
                "IPv4Address": "<IP_ADDRESS>/16",
                "IPv6Address": ""
            },
            "52e254983d5dbf9aaef7a2e54cf67a13b302ff44aa4aa275c49c4107d951b47f": {
                "Name": "starter-blog.nitro",
                "EndpointID": "5d5a2746f7810b8ed537d4eb7049a7979be16712fa041fe87b05add5f7f33f16",
                "MacAddress": "02:42:ac:12:00:06",
                "IPv4Address": "<IP_ADDRESS>/16",
                "IPv6Address": ""
            },
            "5aa92c2e633d54e700b73ea2f950117a0211441dd974f99ce85c8cd502f32578": {
                "Name": "mysql-8.0-3306.database.nitro",
                "EndpointID": "df80f5e81431eeaa1c11a89c584cbf47397cc454d41e50a3b1be1eb2c6bb27b4",
                "MacAddress": "02:42:ac:12:00:0d",
                "IPv4Address": "<IP_ADDRESS>/16",
                "IPv6Address": ""
            },
            "62bb9145e13f81a6e308fff95f4d96992e32cd6298f8e11334293e0da2d459c7": {
                "Name": "postgres-13-5432.database.nitro",
                "EndpointID": "c542d401af0223935bc324955064eabb9c24b8392d8582bec1ad4a2a1e01a186",
                "MacAddress": "02:42:ac:12:00:0c",
                "IPv4Address": "<IP_ADDRESS>/16",
                "IPv6Address": ""
            },
            "8dcd16970c85c94c5ea746a64662446915fe84e5e967ab1a92415f4988a3c28c": {
                "Name": "test.nitro",
                "EndpointID": "702fb6a3b8de2addced18eb6887b3b80f1e557e0d66b02ff248b741dc3995f0c",
                "MacAddress": "02:42:ac:12:00:07",
                "IPv4Address": "<IP_ADDRESS>/16",
                "IPv6Address": ""
            },
            "aabd5ae4be92d4c970b9a2f092fba60afd4453fe37c9147cda9f52bae68ced7b": {
                "Name": "redis.service.nitro",
                "EndpointID": "1db9f7208a41898d6d657ef625f3bf8018160b3fdf0fa3f8b1080395a8ac1ba8",
                "MacAddress": "02:42:ac:12:00:0b",
                "IPv4Address": "<IP_ADDRESS>/16",
                "IPv6Address": ""
            },
            "b73ee6bffcbfe5d2b6ed61c619dc585d2986fedf95560fedd6927bf312431045": {
                "Name": "nitro-proxy",
                "EndpointID": "9c12eaaf0dbc8f00bdb7e41da9204a7bfe988576245af48a5c5cbf1dc8cc1b38",
                "MacAddress": "02:42:ac:12:00:0e",
                "IPv4Address": "<IP_ADDRESS>/16",
                "IPv6Address": ""
            },
            "d263d6a14d0bb98f4a8e80ecbf8cac0533a3002e6bf79e969a753bd05e3bd826": {
                "Name": "postgres-11.12-5434.database.nitro",
                "EndpointID": "75af494b4d48855204ddf50c01d63dc1014b7a63fcc3f0f588c7607e1851c1a6",
                "MacAddress": "02:42:ac:12:00:05",
                "IPv4Address": "<IP_ADDRESS>/16",
                "IPv6Address": ""
            },
            "ec7c7d6ee1ea151e9ef690c6718709dadb2b3a3f59e5258d4ce67641edd6d374": {
                "Name": "mysql-5.7-3307.database.nitro",
                "EndpointID": "45bac289bc7d23480adb88added3d37873ce739275482ac1f31906081575f364",
                "MacAddress": "02:42:ac:12:00:03",
                "IPv4Address": "<IP_ADDRESS>/16",
                "IPv6Address": ""
            },
            "ecf2e1781523f32b6b81b0cee833741fde4068a6d77792d8a1371a2a997d3470": {
                "Name": "bkbn.nitro",
                "EndpointID": "7bcce9ae73605c1be220b28cdf6b114a87ec5d2fd29739f214cbff0bfef7c01a",
                "MacAddress": "02:42:ac:12:00:09",
                "IPv4Address": "<IP_ADDRESS>/16",
                "IPv6Address": ""
            },
            "fb264163c70c86792e3971f24f8ebbdcbbe9746f1b955dd4ccaa774b8adb6a37": {
                "Name": "pgsql.nitro",
                "EndpointID": "9612c28dd1e943f365eeb2cfbb5c91f55c4e076730331b7c659cd492d2864636",
                "MacAddress": "02:42:ac:12:00:04",
                "IPv4Address": "<IP_ADDRESS>/16",
                "IPv6Address": ""
            }
        },
        "Options": {},
        "Labels": {
            "com.craftcms.nitro": "true",
            "com.craftcms.nitro.network": "true"
        }
    }
]
mishkin@DESKTOP-ELHJ3EU:/mnt/c/Users/oleg$

Hi, we are closing this issue as we have decided to retire Nitro, so no additional work will occur on this project. You can read the official blog post here https://craftcms.com/blog/retiring-craft-nitro. We appreciate everyones feedback and involvement and we look forward to refocusing our efforts on Cloud!
If you're looking for a new local development environment, we recommend DDEV and have a knowledge base article to help you with the transition: https://craftcms.com/knowledge-base/migrating-from-craft-nitro-to-ddev.


Copy-rename is performing a move

I am trying out the plugin but the plugin is actually moving my file instead of copying it. I assumed it would leave my file and copy and rename it.

The rename goal will do a rename even if the target file is in a different directory. So yes you can say that it does a move.
If you want to copy a file to a different target name, you can use the copy goal instead.
See the first example on the usage page

Thanks. For that.


To Do list: interactive list

This is the final milestone of the To Do List project (✅). In this project, I added some functionality to the application to make it interactive. The user will also be able to mark task completion by selecting the corresponding checkbox (or undo it by unchecking the checkbox). The updated tasks list will be stored in local storage.
Project Requirements

Add a new JavaScript file and import it as a module:

It will contain methods related to the status updates.

Add event listener to the checkbox.
Update items object's value for completed key upon user actions.
Implement a function for the "Clear all completed" button (use filter() method).
Store the updated array of items in local storage, so the user gets the correct list of values after the page reloads (which means that any changes made to the list should be preserved).

Thanks @CollinsTatang !!

Thanks @huseyinbiyik, I will do changes according your suggestions.


Unable to create a configuration without SSL (HTTP Only Access)

Feature request
Feature description
Ability to create a config for HTTP only setups (without the involvement of SSL or enabling related cipher suites)
How the feature is useful
For internal deployments or for places wherein an SSL is not required (eg: local access), it would be great if there is a way to "turn off" SSL when not required.

Realized that there's an option that does this!


Rhino for Shiny App validation blog post

Hello!
We have just prepared a blog post about Rhino. Could you please take a look and let us know whether you'd like to proceed with publishing it on your site?
Thanks!

Hi @gigikenneth!!  It is fine to publish!!
@pharmaverse/commswg does anyone have bandwidth to do a review please?  I'm a bit at my max for blogging (good problems to have)
Ben

@gigikenneth @IsmaelRdz25 thanks for the introduction about Rhino! I did a quick review and just one minor comment

Thank you @bms63 !
Hi @kaz462 , thank you for the review! I've updated the post with the shinytest2 link.

Hi @bms63 , just following up on this blog post please 🙏🏾

Hi @gigikenneth yes if @kaz462 has okayed it then we can publish.
@rossfarrugia maybe this could be shared at the same time as you share the contributor post?  A double feature!!
I can repost and hopefully others do as well!

@bms63 @kaz462 when will this one merge? i can do comms then on my blog and this one.

It is merged in - should be live in 15 minutes


Major Providers Refactoring

I want to get all the current stakeholders involved in this discussion. @ferd @omarkj @talentdeficit @oubiwann @marianoguerra
In working on supporting subcommands for lfe and using erlydtl as my basis for it I'm thinking it is best supported by pushing more of the command and task handling into the providers app.
This would basically gut rebar_core, moving process_command and do to the providers module. It'll also require making a providers_state behaviour for rebar_state because functions to set state like command_args, command_parsed_args and apply_profiles are needed in process_command.
The main change to providers themselves would be init no longer returning {ok, State} but instead either {ok, providers:t() | list(), State} or {ok, providers:t() | list()}. Depending on if init should be able to update the state and if it should return a created provider or just the proplist that is used to create the provider.

@marianoguerra get_provider should work with providers:get_provider(ct, Providers) just fine. That is what you were asking for, right? https://github.com/tsloughter/providers/blob/master/src/providers.erl#L204
I've also got a patch I'll get out today that replaces profile with profiles in providers.

Can see the profiles change https://github.com/rebar/rebar3/pull/96

@tsloughter you mean I shoud do
{hooks, {[], [providers:get_provider({default, ct}, Providers)]}}

instead of
{hooks, {[], [{default, ct}]}}

on my code or that should be done on rebar's side?

Oh, it isn't resolving them but instead expects the hook list to be of the actual Provider record? That should change if that is the case. I look at that.

@tsloughter yes, I think that's happening, see the links here https://github.com/rebar/rebar3/issues/69#issuecomment-68396545

So... this turned out to be a pain.
To get a provider from the name it needs the list of providers. While this is contained in the State variable we can't access that from providers since it is rebar_state and we can't call to rebar from providers.
So neither do/2 or run_all/2 can resolve the atom to a provider...
Not sure how to handle this yet...

Couldn't rebar_hooks take care of expanding that stuff? I'm guessing ideally you wanted to resolve them whenever the provider is loaded in memory or something?
One option would be to internally expand them when calling providers:hooks/1 (and to change internal calls to use this one). If we fear people may use mixed forms, we'd need an internal flag to note when hooks have been 'normalized' or something.
This is not particularly different from being able to define deps of a provider by its {Namespace, Name} combo, so fixing it in providers directly would probably be good for the library's consistency.

rebar_hooks doesn't use providers.
We can only use get_target_providers if the list of providers is available. If you look at create and do in providers you'll see that that isn't available. It "is" in the sense that it is in State but we can't call rebar_state:providers from providers.

I thought get_target_providers is how we could constrain the list of providers we have to run one we know about. It gets a list of providers passed to it, and it should be possible to have a pass over the list of all providers.
Say after process_deps is being called.
get_target_providers(Target, Providers, Namespace) ->
    TargetProviders = lists:filter(fun(#provider{name=T, namespace=NS})
                                         when T =:= Target, NS =:= Namespace ->
                                           true;
                                      (_) ->
                                           false
                                   end, Providers),
    expand_hooks(process_deps(TargetProviders, Providers), Providers).

I'm not exactly sure what can't work there?

Oh, that will work. It does mean that a provider that has only been created but not going through expand_hooks will fail to run its hooks though. But maybe that is an acceptable restriction for providers to have.

Ok, mostly got this working. But a new question. Resolving the deps of the hook provider?
Example: We have provider A with hook = {[B], []} and provider B has deps = [C]. Does a run of A become: [C, B, A] or just [B, A], I assume the former. If correct then the complications come if A also defines deps = [C]. Does this mean a single run of C? Or 2? Currently if A has B as a hook and a dep it will run B twice, so that would lead me to say C is run twice.
Thoughts?

I'd probably go for [B,A] at first and readvise if there's ever a need for more. If A depends on C and has a pre-hook B, then it should be [C,B,A] and we at least have a way to workaround hooks issues if it ever comes to that by just adding them to A.

I find that weird because it is basically saying that using a provider as a hook is only supported if the provider doesn't rely on any deps.

Yes. I'm assuming the provider in the hook would have similar requirements to the currently running one, otherwise why call for the hook? Do we expect some kind of do_everything provider that calls to ct, compile, lock, and then new just because?
I'm thinking that if you're writing a pre-processor of some kind, you may depend on install_deps and want to have compile run after you.
I'm just trying hard to think of a good use case where someone goes "I have this here plugin that does something and then calls release but didn't bother compiling files or installing deps first" and I kind of come short on it.

Does this issue need to stay open?

I need to update my plugin to the latest version and check if everything works ok, you can close it and I can reopen it or open a new one if you want.


Perlin noise value is the same for every point

Here is snippet of noise value examples from 10x10x10 cuboid:
[16:05:17] [Server thread/INFO] [ens3]: Value for [8, -4, 0] is 1.6301681263765515
[16:05:17] [Server thread/INFO] [ens3]: Value for [8, -3, 0] is 1.6301681263765515
[16:05:17] [Server thread/INFO] [ens3]: Value for [8, -2, 0] is 1.6301681263765515
[16:05:17] [Server thread/INFO] [ens3]: Value for [8, -1, 0] is 1.6301681263765515
[16:05:17] [Server thread/INFO] [ens3]: Value for [8, 0, 0] is 1.6301681263765515
[16:05:17] [Server thread/INFO] [ens3]: Value for [8, 1, 0] is 1.6301681263765515
[16:05:17] [Server thread/INFO] [ens3]: Value for [8, 2, 0] is 1.6301681263765515
[16:05:17] [Server thread/INFO] [ens3]: Value for [8, 3, 0] is 1.6301681263765515
[16:05:17] [Server thread/INFO] [ens3]: Value for [8, 4, 0] is 1.6301681263765515
[16:05:17] [Server thread/INFO] [ens3]: Value for [8, 5, 0] is 1.6301681263765515
[16:05:17] [Server thread/INFO] [ens3]: Value for [8, 6, 0] is 1.6301681263765515
[16:05:17] [Server thread/INFO] [ens3]: Value for [8, 7, 0] is 1.6301681263765515
[16:05:17] [Server thread/INFO] [ens3]: Value for [8, 8, 0] is 1.6301681263765515
[16:05:17] [Server thread/INFO] [ens3]: Value for [8, 9, 0] is 1.6301681263765515
[16:05:17] [Server thread/INFO] [ens3]: Value for [8, -10, 1] is 1.6301681263765515

Code I use for initializing Perlin noise module:
public class ProceduralGenerator {
    private final Module heightGenerator;

    public ProceduralGenerator() {
        var perlinModule = new Perlin();
        perlinModule.setPersistence(0.714);
        perlinModule.setOctaveCount(8);
        heightGenerator = perlinModule;

    }

    public double applyCoordinates(Vector3d position) {
        return heightGenerator.getValue(position.x(), position.y(), position.z());
    }
}

As pointed out by Diggy in SpongePowered Discord (https://discord.com/channels/142425412096491520/142425521391665153/893802421703278622) issue also seems to affect billow and ridged multi.

For easy reference; Billow, RidgedMutli, and Perlin are the only three modules which show this behavior, and are also the only three using Noise.gradientCoherentNoise3D.  See Billow#L275, Perlin#L377, and RidgedMulti#L333.
I used the following snippet to test the behavior of each module:
Module[] modules = {new Billow(), new Checkerboard(), new Cylinders(), new Perlin(), new RidgedMulti(), new RidgedMultiSimplex(), new Simplex(), new Spheres(), new Voronoi() };
for (Module module : modules) {
    System.out.println("Next module: " + module.getClass().getSimpleName());
    int size = 100;
    for (int i = 0; i < size; i++) {
        for (int j = 0; j < size; j++) {
            System.out.println(module.getValue(i, j, i));
        }
    }
}

The result of Noise.gradientCoherentNoise3D seems to always be 0.5, I suspect this is the cause for the constant output values.

I think you need to decrease frequency of the noise.
Perlin#setFrequency(...)

I think you need to decrease frequency of the noise. Perlin#setFrequency(...)

Lowering frequency helped. Values now change. Is there any way to choose a best value for a set? For example I have 6000 points, is there any way to know what frequency would work the best without trying over and over again?

It depends on task, where you apply the noise. You can assume that this is scale of noise, by default it is excessively increased. In any case, you will have to select value, I would say, as in binary search.

This is happening because you're sampling on integer coordinates. It's a property of Perlin noise.
The default frequency value is 1, so it doesn't change the sampling values. If you change it something else it should result in non-integer sampling value inside the algorithm, which will give a random-like output.
Pick a frequency that is the inverse of the size of the largest feature you want in your output. Make sure to set the octave count such that the highest octave frequency matches the size of your smallest feature. Each successive octave doubles the frequency of the previous one.
Hopes this helps.


ref #1210 -- added site icon support

Ticket: #1210

Coverage increased (+0.01%) to 95.317% when pulling d90c9a4d82a92f3559d19ee6db7b2f339afdf750 on 1210_site_icon into 69102514e99ae312b38f6641929745d89b8b8a51 on master.

Current coverage is 95.64%

Merging #1228 into master will not change coverage

@@             master      #1228   diff @@
==========================================
  Files            43         43
  Lines          3167       3167
  Methods         422        422
  Messages          0          0
  Branches          0          0
==========================================
  Hits           3029       3029
  Misses          138        138
  Partials          0          0

Powered by Codecov. Last update 6910251...6910251

Coverage decreased (-0.5%) to 94.806% when pulling 313eed18de1ace247053dd010bcab05ea89cbd69 on 1210_site_icon into 69102514e99ae312b38f6641929745d89b8b8a51 on master.

Current coverage is 95.13% (diff: 100%)

Merging #1228 into master will decrease coverage by 0.50%

@@             master      #1228   diff @@
==========================================
  Files            43         43
  Lines          3167       3145    -22
  Methods         422        421     -1
  Messages          0          0
  Branches          0          0
==========================================
- Hits           3029       2992    -37
- Misses          138        153    +15
  Partials          0          0

Powered by Codecov. Last update 6910251...313eed1

Coverage increased (+0.02%) to 95.325% when pulling c14fe6541bd9d0a0c82c2e4d2674fd817c610dbe on 1210_site_icon into 69102514e99ae312b38f6641929745d89b8b8a51 on master.

Current coverage is 95.66% (diff: 100%)

Merging #1228 into master will increase coverage by 0.01%

@@             master      #1228   diff @@
==========================================
  Files            43         43
  Lines          3167       3181    +14
  Methods         422        424     +2
  Messages          0          0
  Branches          0          0
==========================================
+ Hits           3029       3043    +14
  Misses          138        138
  Partials          0          0

Powered by Codecov. Last update 6910251...c14fe65

Current coverage is 95.66% (diff: 100%)

Merging #1228 into master will increase coverage by 0.01%

@@             master      #1228   diff @@
==========================================
  Files            43         43
  Lines          3167       3181    +14
  Methods         422        424     +2
  Messages          0          0
  Branches          0          0
==========================================
+ Hits           3029       3043    +14
  Misses          138        138
  Partials          0          0

Powered by Codecov. Last update 6910251...c14fe65


Missing wEth funds in Wormhole

Please help. I used warmhole to transfer wEth from Metamask to Solflare wallet but I did not receive them. I can not see the transaction in wormholebridge.com
Ethereum transaction: [https://etherscan.io/tx/0xb9fef33493c1f485a50c29a54a937f19d02728e580095ad3cd53c6e38b418575]
Destination address in Solana: 2wWxCKJpdrG1n3puG6g3D2ugj5n6CgZELcWHzfTHaEMZ
Thanks in advance.

Looks like the token account wasn't created: https://explorer.solana.com/address/At8mR9byWp9cKPVn5HK2DNZi4YJUbhvSHkErPUxLMCbX
Please follow yamijuan's advice here to create the missing account: https://github.com/solana-labs/oyster/issues/196#issuecomment-909535731. Let me know once the account exists.

I have created the account in my wallet:
Wallet address: 2wWxCKJpdrG1n3puG6g3D2ugj5n6CgZELcWHzfTHaEMZ
Account: 8E8EY1ANnS38uakRisVpQTT7mNg9HTzLbwEfLqn4kX9P
Is this what you mean? I sent you an screenshot

No, this is the account that needs to be created: https://explorer.solana.com/address/At8mR9byWp9cKPVn5HK2DNZi4YJUbhvSHkErPUxLMCbX
Please follow the steps in the linked comment

I followed the steps in the linked comment, but the UI do not asked me to create an account, the only message was asking for approval. May be because a Weth account exists in my wallet as I show you? What can I do to create the account you said?
This is a snapshot of the message, and I aproved in Solana and rejected in Metamask as the comment explained

.

What you did actually worked! Here's the final TX: https://explorer.solana.com/tx/u7tKQDfxpjGzJ9aZ4uXyLbegcwunTmgLsmT5D2mStbr2pHf99ZnUmKUrH28QLNLEnnYrGgXuGwQ15AVgRcWFbkX


Expose leader election events to the application

I haven't checked the internals too closely, so this may be a silly request...
If there is some sort of leader election happening inside an olric cluster expose the results to the embedding application.
For my use case I would only connect to the Kubernetes API from the leader because all nodes write the same data anyway and that way I could avoid useless duplicated write traffic.

This feature is planned for the v0.4.0 release. I have implemented DTopic data structure to implement event listeners correctly. It will probably be delivered by the first months of 2021 if everything goes okay.
I have just added a field called ClusterCoordinator to Stats. You can call db.Stats() function periodically to learn who the cluster coordinator is. I know that this is not an optimal way to implement what you want to do, but I think that it's good enough for now. The leader election should be a very rare event.
Annotation: The oldest member of the cluster is the cluster coordinator. It's role is totally different than the leader node in Raft or Paxos based systems such as etcd or any strongly consistent data store.
If the cluster coordinator dies, the second oldest member of the cluster propagates itself as the cluster coordinator.

As I mentioned before, there is no leader election event in Olric. The oldest member of the cluster is the coordinator member and it pushes the routing table to the other members. This is the only responsibility of the coordinator.
We may publish NodeJoin and NodeLeft events to cluster and the clients.  If someone wants to build this feature, please don't hesitate to open an issue to discuss it.


[Request] Support for AdChoices view

According to the Design Guidelines from Facebook it is best practice to have the AdChoices icon present in your native ad. It also has some behavior when clicked.

There is already a native view available in the SDK.
It'd be great to see this wrapped as a React Native component. Has anyone already tried this? Just curious if it had not been wrapped already intentionally.

Ah, probably just skipped during the initial setup. Will check that one out, probably we should be able to provide a native component you can place wherever you want (with some predefined locations, like top right corner)

@jakubsta was working on that feature recently, maybe he will be able to provide more input here.

If I remember correctly, @jakubsta had issues implementing this feature. And so, it's unlikely we will add it unless someone else steps in and implements it.
Jakub, mind putting a bit more context on why we didn't manage to make it?

AdChoices is now required and you have to use the native template for it. It may be not enough to create a custom button with an AdChoice icon on it. How do you handle this?
https://developers.facebook.com/docs/audience-network/guidelines/native-ads?locale=en_US#native

I don't consider myself an iOS developer, but I've made progress on getting the AdChoices banner to show. Hopefully, this can put someone on the right track. I'll continue tinkering around with it.
Some issues that I've noticed with this implementation;

Children of the element or even a background color will be rendered over the AdChoices banner in your component.
The updateFrameFromSuperview method will only render the AdChoices banner correctly if UIRectCornerTopLeft is passed in. My guess is that the width/height of the view isn't known until it is passed to react which messes with it being added to the native view.

Hope this helps someone out! Would love to be able to finally get FB to approve native ads in my app :)
https://github.com/bartholomew91/react-native-fbads/commit/c9da0e6edaa9c59035ba4c8d373525132fdff6f9

I have created a component for the AdChoices for android only camlahoud/react-native-fbads, it uses a reference to the NativeAdView component to retrieve the NativeAd being displayed:
import { withNativeAd, AdChoices, MediaView, NativeAdClickable } from 'react-native-fbads';
...
<AdChoices nativeAdView={this.props.nativeAdView} />

The nativeAdView prop is provided by the withNativeAd wrapper component. I have also implemented a MediaView component which works the same way:
<MediaView style={{flex: 1}} nativeAdView={this.props.nativeAdView} />
And finally a NativeAdClickable which can be used to define specific views to attach the click event to, instead of making the whole view (even the empty parts) clickable:
<NativeAdClickable style={styles.callToActionBtn} nativeAdView={this.props.nativeAdView}>
    <Text style={styles.callToActionText}>{nativeAd.callToActionText}</Text>
</NativeAdClickable>

By default I made the NativeAdView not clickable, but you can restore the previous behaviour (of having the whole component clickable) by passing clickable={true} to the native ad component.
Hope this helps.

@camlahoud I'm new to react native. I'm trying your above package. After installing package and I import react-native-fbads to my project. The error happen "underfined is not an object(evaluating '_react.PropTypes.number')  C:\MobileApp\MyApp\node_modules\react-native-fbads\src\AdChoices.js:9:32"
Can you show me working example code?

@aung-win The code included above works, the issue you're having is linked to the version of react/react-native you're using. Starting react 15.5 React.PropTypes should be replaced by the prop-types package. You can either downgrade the version of react-native you're using, or edit the package to replace any
import { PropTypes} from "react"
with:
import PropTypes from "prop-types"
(Make sure the prop-types package is installed).

My react is 16. The original package (callstack/react-native-fbads) is work correctly in my project. I don't use because it lack AdChoices Icon in native ads. So, I use your package. Can you show me a complete working example of native ads app code .js file?

@aung-win Pushed a new update (version 4.2.5) that should fix the issue for the PropTypes.
The usage is like mentioned, here is a sample component
class AdComponent extends Component {
    render() {
        const nativeAd = this.props.nativeAd;
        return (
            <View style={styles.container}>
                <View style={styles.adchoice}>
                    <AdChoices nativeAdView={this.props.nativeAdView} />
                </View>
                <MediaView style={{flex: 1}} nativeAdView={this.props.nativeAdView} />
                <View style={styles.wrapper}>
                    <View style={{flexDirection: 'row'}}>
                        {nativeAd.icon? (
                            <Image style={styles.icon} source={{ uri: nativeAd.icon }} />
                        ) : null}
                        <View style={{ height: 'auto', width: contentWidth}}>
                            <NativeAdClickable nativeAdView={this.props.nativeAdView}>
                                <Text style={styles.title}>{nativeAd.title}</Text>
                            </NativeAdClickable>
                            {nativeAd.subtitle ? (
                                <Text style={styles.subtitle}>{nativeAd.subtitle}</Text>
                            ) : null}
                            {nativeAd.description ? (
                                <Text style={styles.description}>{nativeAd.description}</Text>
                            ) : null}
                        </View>
                    </View>
                </View>
                <View style={styles.callToActionWrapper}>
                    <NativeAdClickable style={styles.callToActionBtn} nativeAdView={this.props.nativeAdView}>
                        <Text style={styles.callToActionText}>{nativeAd.callToActionText}</Text>
                    </NativeAdClickable>
                </View>
            </View>
        );
    }
}
...
export default withNativeAd(AdComponent);

@camlahoud  version 4.2.5 work correctly. Thank for your help.

@bartholomew91
Hello, I am trying to implement your code to my app.
But it could not got success.

FBNAtiveAd
is it FBNativeAd??

and there's some another errors.

I am glad if you can help me. Thanks
Note:
Xcode 9
react-native 0.47

Hi Guys, I have just released a fully featured version of Facebook Audience Network, also have adchoice support and east to switch from react-native-fbads to react-native-ads-facebook
https://github.com/Suraj-Tiwari/react-native-ads-facebook

Thanks for sharing that with us! We are actually working on a rewrite right
now. Would you be willing to merge it together with our code and help us
maintain it?
On Thu, 16 Aug 2018 at 19:06 Suraj Tiwari<EMAIL_ADDRESS>wrote:

Hi Guys, I have just released a fully featured version of Facebook
Audience Network, also have adchoice support and east to switch from
react-native-fbads to react-native-ads-facebook
https://github.com/Suraj-Tiwari/react-native-ads-facebook
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/callstack/react-native-fbads/issues/27#issuecomment-413616738,
or mute the thread
https://github.com/notifications/unsubscribe-auth/ACWcxgpfohHWRpHEtwI-OwqdXv1FAiysks5uRaapgaJpZM4LhARC
.

@grabbou nice idea, but i tried that earlier, current version of 'react-native-fbads' is using a very old version, and 'react-native-ads-facebook' is using latest version of Audience Network, there was conflict merging, and as i have already created, so rewrite it will be a time waste,
If you still want to merge both I'll help you,
Or you can mark this library outdated and i'll add 'callstack' to 'react-native-ads-facebook' , that will save time, and we can work on it's improvements , and help expo to port it, as expo don't have adchoice yet, and too buggy :P
you can reach me at<EMAIL_ADDRESS>for further discussion


Uninstall Instructions

I was about to do the install and noticed there weren't uninstall instructions.

rm ~/Library/Application\ Support/Sublime\ Text/Packages/Sublime\ Clojure


Update probabilities for stratified_sampling

The function tf.contrib.framework.sampling_ops.stratified_sample doesn't accept probability update. Is it a bug or a normal behaviour ?
Bellow is a sample code that produce the error. The idea is to resample a label sub set from large dataset with large number of label (and unbalanced) and update the target prob after each iteration :
target_num_labels = 10
num_labels = 1000

p = [float(target_num_labels)/float(num_labels)]*num_labels
label_sampler = tf.contrib.distributions.Bernoulli(p=p, dtype=tf.float32)
label_samples = tf.squeeze(label_sampler.sample(1))
target_prob = tf.div(label_samples, tf.reduce_sum(label_samples))

images, labels = ....

init_prob = ... # unbalanced label distribution from the data set
[images], labels = tf.contrib.framework.stratified_sample([images],
     labels, init_prob, target_prob, 256, enqueue_many=True)

A few comments:

tf.contrib.distributions.Bernoulli is not a Tensor. If it has a registered conversion to a Tensor then your code will be fine in that respect, but if not it should throw a graph-build error.
The tensor target_prob represents "Target class proportions in batch". It should be a decimal number representing the target fraction per class. For example, if you have 3 classes, a 1-D Tensor with 3 elements would be acceptable. Its values could change each run of the graph, and it could take values like [.3, .4, .3], [.2, .7, .1], etc (note that these are all valid probability distributions).

Does that answer your question?

Yes  this anwer my question. Finally, I use a non trainable variable to store the target_prob. Then with the tf.assign function I update the variable every run.

Hi all,
Did some of you use the stratified sampling function for a problem where we have a large number of classes. The current implementation is relatively slow in this situation and I'm trying to figure out a way to improve the speed in this situation.

I have been able to use this Op with thousands of classes at roughly the same speed as without this Op, in certain cases. Can you copy an example of your usage?
There are 3 general sources of slowness in this op:

Fixed cost of setting up extra Ops and Queues (small)

Cost of rejecting examples (depends on the source and target distributions)

Queueing delays ie enqueue Ops waiting for resources, queues being full, etc

is controlled the value of the tensors you are passing the Op. The relevant information are the # of classes, source distribution, and target distribution. Can you share these with me to help debug?

Is controlled by the parameters you pass at initialization (queue_capacity and threads_per_queue). Can you share these with me as well?

@joel-shor  Here is what exactly I'm trying to do : I have about 2000 classes that are heavily unbalanced. There can be a factor of 30 between the least and the most populated classes. I need to create a batch with a given number of classes and a given number of data per class e.g 10 classes with 20 samples per class for a batch of 200 samples. In this case after each run, I begin by sampling 10 class labels and update the target probability accordingly. In the following you have a snippets of my codes :
# sample labels and update target prob
# target_labels : number of label to select
# num_labels : total number of labels
p = [float(target_labels)/float(num_labels)]
label_sampler = tf.contrib.distributions.Bernoulli(p=p, dtype=tf.float32)
label_samples = tf.squeeze(label_sampler.sample_n(num_labels))
label_samples = tf.while_loop(lambda l: tf.less(tf.reduce_sum(l), 3),
                                      lambda l: l,
                                      [label_samples])
target_label_prob = tf.div(label_samples, tf.reduce_sum(label_samples))

init_prob = np.random.binomial(1, target_labels/float(num_labels), num_labels)
init_prob = init_prob/np.sum(init_prob)

# HACK : put the target prob in a non trainable variable to make update possible
target_prob = tf.get_variable('target_prob',
                                      trainable=False, shape=[num_labels],
                                      initializer=tf.constant_initializer(init_prob, dtype=tf.float32))
update_target_prob = tf.assign(target_prob, target_label_prob)
update_target_prob = tf.group(update_target_prob,
                                      tf.Print(target_prob, [target_prob, tf.reduce_sum(label_samples)],
                                               message="Update probabilty ", first_n=50))
tf.add_to_collection(tf.GraphKeys.UPDATE_OPS, update_target_prob)

# data_prob is computed from the data set
[imgs], lbls = tf.contrib.training.stratified_sample([images], labels, target_prob, batch_size,
                                                                  init_probs=data_prob, enqueue_many=True,
                                                                  threads_per_queue=num_threads)

If you are not careful, your target distributions can be very far from the original distribution, and you can spend a lot of time rejecting samples. This can take a lot of time even if the overhead of the Op is basically 0. Can you print out some examples of your initial and target distributions so we know it isn't that?


traceability contexts not loaded

Apparently some issues in referencing the traceability contexts

@mprorock I have removed all the "vc stuff" from this for now, is a better open source project to experiment with that https://api.did.actor/


added test for removing invalid lines with DROPMALFORMED

Added a test file and the accompanying tests (which currently fail)

Current coverage is 86.66%

Merging #163 into master will increase coverage by +0.03% as of be3d379

@@            master    #163   diff @@
======================================
  Files           10      10
  Stmts          434     435     +1
  Branches       131     131
  Methods          0       0
======================================
+ Hit            376     377     +1
  Partial          0       0
  Missed          58      58

Review entire Coverage Diff as of be3d379

Powered by Codecov. Updated on successful CI builds.

For me to compile it, I needed to use maven (https://gist.github.com/kmader/f046235024f375e9d81d) not sure why the SBT does not work. My configuration is pretty standard, but even the Readme reports a broken build.

@kmader Thanks for submitting this. I left two minor style comments, otherwise LGTM.


Errors after new install linuxcnc 2.9.2

I get this error when i start mesact . With mesact 2.1.1 i get the same error.

What does apt-cache policy linuxcnc-uspace return

I'm pretty sure I made the test bullet proof and when I push this will get closed. I still want to know what the output of the above command is on your PC.

HI, attached is what i get from apt-cache.envoyé : 4 février 2024 à 13:38de : jethornton @.>à : jethornton/mesact @.>cc : matcador @.>, Author @.>objet : Re: [jethornton/mesact] Errors after new install linuxcnc 2.9.2 (Issue #83) What does apt-cache policy linuxcnc-uspace return—Reply to this email directly, view it on GitHub, or unsubscribe.You are receiving this because you authored the thread.Message ID: @.***>


Fix Streamed encoder for empty stream

Follow up of #3891.
It seems we aren't emiting the opening [ when the stream is empty.

Thank you @peterneyens for the quick fix!

Cherry-picked onto 0.21.


docker: added go mod vendor

I ran into build problems like:
docker build .
[+] Building 1.3s (10/11)
 => [internal] load build definition from Dockerfile             0.0s
 => => transferring dockerfile: 498B                             0.0s
 => [internal] load .dockerignore                                0.0s
 => => transferring context: 2B                                  0.0s
 => [internal] load metadata for gcr.io/distroless/base:nonroot  0.4s
 => [internal] load metadata for docker.io/library/golang:1.16   0.6s
 => [build 1/4] FROM docker.io/library/golang:1.16@sha256:0056b  0.0s
 => [stage-1 1/2] FROM gcr.io/distroless/base:nonroot@sha256:a7  0.0s
 => [internal] load build context                                0.1s
 => => transferring context: 32.10kB                             0.1s
 => CACHED [build 2/4] WORKDIR /go/src/github.com/TierMobility/  0.0s
 => [build 3/4] ADD . /go/src/github.com/TierMobility/boring-re  0.2s
 => ERROR [build 4/4] RUN go install -mod=vendor github.com/Tie  0.3s
------
 > [build 4/4] RUN go install -mod=vendor github.com/TierMobility/boring-registry/cmd/boring-registry/...:
#8 0.292 go: inconsistent vendoring in /go/src/github.com/TierMobility/boring-registry:
#8 0.292<EMAIL_ADDRESS>is explicitly required in go.mod, but not marked as explicit in vendor/modules.txt
#8 0.292<EMAIL_ADDRESS>is explicitly required in go.mod, but not marked as explicit in vendor/modules.txt
#8 0.292<EMAIL_ADDRESS>is explicitly required in go.mod, but not marked as explicit in vendor/modules.txt
#8 0.292<EMAIL_ADDRESS>is explicitly required in go.mod, but not marked as explicit in vendor/modules.txt
#8 0.292<EMAIL_ADDRESS>is explicitly required in go.mod, but not marked as explicit in vendor/modules.txt
#8 0.292<EMAIL_ADDRESS>is explicitly required in go.mod, but not marked as explicit in vendor/modules.txt
#8 0.292<EMAIL_ADDRESS>is explicitly required in go.mod, but not marked as explicit in vendor/modules.txt
#8 0.292<EMAIL_ADDRESS>is explicitly required in go.mod, but not marked as explicit in vendor/modules.txt
#8 0.292<EMAIL_ADDRESS>is explicitly required in go.mod, but not marked as explicit in vendor/modules.txt
#8 0.292<EMAIL_ADDRESS>is explicitly required in go.mod, but not marked as explicit in vendor/modules.txt
#8 0.292<EMAIL_ADDRESS>is explicitly required in go.mod, but not marked as explicit in vendor/modules.txt
#8 0.292<EMAIL_ADDRESS>is explicitly required in go.mod, but not marked as explicit in vendor/modules.txt
#8 0.292<EMAIL_ADDRESS>is explicitly required in go.mod, but not marked as explicit in vendor/modules.txt
#8 0.292<EMAIL_ADDRESS>is explicitly required in go.mod, but not marked as explicit in vendor/modules.txt
#8 0.292<EMAIL_ADDRESS>is explicitly required in go.mod, but not marked as explicit in vendor/modules.txt
#8 0.292<EMAIL_ADDRESS>is explicitly required in go.mod, but not marked as explicit in vendor/modules.txt
#8 0.292<EMAIL_ADDRESS>is explicitly required in go.mod, but not marked as explicit in vendor/modules.txt
#8 0.292<EMAIL_ADDRESS>is explicitly required in go.mod, but not marked as explicit in vendor/modules.txt
#8 0.292<EMAIL_ADDRESS>is explicitly required in go.mod, but not marked as explicit in vendor/modules.txt
#8 0.292<EMAIL_ADDRESS>is explicitly required in go.mod, but not marked as explicit in vendor/modules.txt
#8 0.292
#8 0.292 	To ignore the vendor directory, use -mod=readonly or -mod=mod.
#8 0.292 	To sync the vendor directory, run:
#8 0.292 		go mod vendor
------
executor failed running [/bin/sh -c go install -mod=vendor github.com/TierMobility/boring-registry/cmd/boring-registry/...]: exit code: 1

This should fix it.

Hi @odise, thank you for your contributions :)
I thought a little about this issue and think that we should tackle this more holistically. Therefore, I started vendoring the dependencies within the repostitory in eb6a25ef97dc7ac9c48427e1cddbf8592b90690a. The vendored dependencies should be stored in the repo. Else we could also drop the -mod=vendor flag completely.
Additionally, I created PR #13 which adds support for building a container image for every release. This should help us catch those bugs in the future :)

@oliviermichaelis looking forward to get your changes merged into main.

@odise merged #13 and cut v0.6.0:
https://github.com/TierMobility/boring-registry/pkgs/container/boring-registry  🙁


Inbound and Bidirectional functional cases

This test covers following functional tests :
UDP traffic verified on inbound direction
UDP traffic verified on bidirectional
Notes:
This test passed with real hardware and failing with BMv2. Needs fix with BMv2 on resolving routes.

@aputriax please review/resolve is possible, thanks

@chrispsommers I have a single unresolved concern regarding this PR. Currently, variables in py file (like DPU_VTEP_IP, ENI_VTEP_IP, NETWORK_VTEP_IP) should be in sync with the corresponding values in JSON configuration. This makes test hard to maintain and not clear enough for understanding. I suggested two ways to resolve this. Probably the easiest way is to convert JSON to PY and just import configuration dictionary from it to the test module. In this case the constants mentioned above (and all others) can be used directly in configuration dictionary. This will simplify maintenance, and eliminate possibility of errors during future test updates.
I think this is important since these are the very first tests and we should provide a good example that are clear to understand and easy to maintain.

@chrispsommers I have a single unresolved concern regarding this PR. Currently, variables in py file (like DPU_VTEP_IP, ENI_VTEP_IP, NETWORK_VTEP_IP) should be in sync with the corresponding values in JSON configuration. This makes test hard to maintain and not clear enough for understanding. I suggested two ways to resolve this. Probably the easiest way is to convert JSON to PY and just import configuration dictionary from it to the test module. In this case the constants mentioned above (and all others) can be used directly in configuration dictionary. This will simplify maintenance, and eliminate possibility of errors during future test updates. I think this is important since these are the very first tests and we should provide a good example that are clear to understand and easy to maintain.

@aputriax Thanks for the feedback, always welcome! We'll discuss internally.

@aputriax I had modified file as per your suggestion. Please review.

Thanks,
Desai


Revisit applying alpha sorting of lists

This project has grown considerably in the last year. Perhaps it's worth revisiting the past suggestion that lists and categories be sorted alphabetically.
Reference: https://github.com/sindresorhus/awesome/issues/112

I don't really see how that changes anything. My opinion still stands that it's not worth the overhead and if you're one of the few that actually looks for an existing list (most use this to discover things), you can more easily find it with Cmd+F.
However, I could use some help trying to make the Misc section smaller by inventing some new categories. Although, a category should have at least 2, preferably 3 items.

I can take a look at the Misc. section. It's probably best to close this and open an new Issue for tracking.

What about to sort a Programming languages section?


Integrate CLA checker

Once the CLA checker is working well, we should add it to this repo. @scottgonzalez, your call on that.

Yup, as soon as I work out the kinks, we'll be adding it to all of the repos.

@scottgonzalez Can we say that this is now completed?

Yup.


add schema errors class

This PR creates a cache of caches for SchemaError clearing, reading, and writing, to be used by instances of MessageViewerClusterInfoProcessor(s).
Questions:
This class creates a key:value pair of connectionId:clusterId -- is this the right way to think about this? Or should it be like schemaId and be handled separately.
Any additional details or context that should be provided?
TBD
Pull request checklist
Please check if your PR fulfills the following (if applicable):

Tests:

[ ] Added new
[x] Updated existing
[ ] Deleted existing

[x] Have you validated this change locally against a running instance of the Quarkus dev server?make quarkus-dev

[x] Have you validated this change against a locally running native executable?make mvn-package-native && ./target/ide-sidecar-*-runner

This class creates a key:value pair of connectionId:clusterId -- is this the right way to think about this? Or should it be like schemaId and be handled separately.

Great question! I think it makes sense to use the same approach for schema-related errors because of RBAC; multiple connections might reference the same schemaId but use different credentials/principals to authenticate. This would also allow us to clear the cache when a connection gets updated/deleted (see how the ide-sidecar implements this for the ClusterCache).

huh. tests still passing locally, and
On branch cerchie/add-schema-errors-class
Changes not staged for commit:
  (use "git add <file>..." to update what will be committed)
  (use "git restore <file>..." to discard changes in working directory)
        modified:   src/generated/resources/openapi.json
        modified:   src/generated/resources/openapi.yaml

no changes added to commit (use "git add" and/or "git commit -a")

Thanks a lot for the updates and your persistence, @Cerchie! Your PR looks good to me. 🎉
May I trouble you to take care of the remaining minor suggestions in a follow-up PR shortly?

of course! slated for first thing Monday


Windows standalone builds works only if Visual Studio is installed

$  python -m nuitka --version
0.6.7
Python: 3.8.2 (tags/v3.8.2:7b3ab59, Feb 25 2020, 23:03:10) [MSC v.1916 64 bit (AMD64)]
Executable: C:\Users\vm0\Desktop\yoga\__env__\Scripts\python.exe
OS: Windows
Arch: x86_64

Hello,
I am trying to build a standalone version of YOGA for Windows. You can find my work in progress here: https://github.com/wanadev/yoga/blob/winbuild/winbuild/ .
I am able to build the standalone version without issue using the following command:
python -m nuitka --follow-imports --standalone --windows-dependency-tool=pefile winbuild\yogawin.py

and when I test the generated executable, it works:
$ ./dist/yogawin.exe -h
usage: yoga [-h] {image,model} ...
[...]

When I transfer the result of the build on a fresh Windows machine, I have import error:
$ ./yogawin.exe -v
Traceback (most recent call last):
  File "C:\yogawin.dist\yogawin.py", line 3, in <module>
  File "C:\yogawin.dist\yoga\__init__.py", line 1, in <module yoga>
  File "C:\yogawin.dist\yoga\image\__init__.py", line 4, in <module yoga.image>
  File "C:\yogawin.dist\pyguetzli\__init__.py", line 1, in <module pyguetzli>
  File "C:\yogawin.dist\pyguetzli\guetzli.py", line 6, in <module pyguetzli.guetzli>
ImportError

... BUT if install Visual Studio on the machine, then it work.
Have you ever encountered this issue? What the install of Visual Studio changes on the machine to allow my standalone built app to work?

Most probably something in gueztli.py has a hidden dependency, that Nuitka would need to learn about. Can you make a minimal reproducer with pyguezli only, likely a simple import, then we can look into it.

I am able to reproduce with the following minimal example (i write here the command I used to create it using git bash on windows).
On the build machine:
$ mkdir test-694
$ cd test-694/

$  virtualenv __env__
$  . __env__/Scripts/activate
$ pip install pyguetzli nuitka

$ vim test.py
import pyguetzli
print(dir(pyguetzli))

$ python test.py
['DEFAULT_JPEG_QUALITY', '__all__', '__builtins__', '__cached__', '__compiled__', '__doc__', '__file__', '__loader__', '__name__', '__package__', '__path__', '__spec__', '_guetzli', 'guetzli', 'pil_image', 'process_jpeg_bytes', 'process_pil_image', 'process_rgb_bytes']

$ python -m nuitka --follow-imports --standalone --windows-dependency-tool=pefile  --include-module=cffi test.py
Nuitka:WARNING:Unresolved '__import__' call at 'C:\Users\vm0\Desktop\test-694\__env__\lib\site-packages\cffi\verifier.py:151' may require use of '--include-plugin-directory' or '--include-plugin-files'.

$ ./test.dist/test.exe
['DEFAULT_JPEG_QUALITY', '__all__', '__builtins__', '__cached__', '__compiled__', '__doc__', '__file__', '__loader__', '__name__', '__package__', '__path__', '__spec__', '_guetzli', 'guetzli', 'pil_image', 'process_jpeg_bytes', 'process_pil_image', 'process_rgb_bytes']
(__env__)

→ Ok everything work :)
On the test machine
I now transfer the test.dist folder to a fresh Windows install.
I go to the folder and I run test.exe using cmd.exe (I not installed git bash on it as it is a fresh install):
C:\Users\vm1\Desktop\test.dist>test
Traceback (most recent call last):
  File "C:\Users\vm1\Desktop\test.dist\test.py", line 1, in <module>
  File "C:\Users\vm1\Desktop\test.dist\pyguetzli\__init__.py", line 1, in <module pyguetzli>
  File "C:\Users\vm1\Desktop\test.dist\pyguetzli\guetzli.py", line 6, in <module pyguetzli.guetzli>
ImportError

→ do not work
On the test machine again
Now I download and install Visual Studio for c++ dev on the test machine

And after the installation, it work:
C:\Users\vm1\Desktop\test.dist>test
['DEFAULT_JPEG_QUALITY', '__all__', '__builtins__', '__cached__', '__compiled__', '__doc__', '__file__', '__loader__', '__name__', '__package__', '__path__', '__spec__', '_guetzli', 'guetzli', 'pil_image', 'process_jpeg_bytes', 'process_pil_image', 'process_rgb_bytes']

I can easily test things as its just VM :)

Also, the need to include cffi manually is triggered by a hidden dependency that we would like to see isolated of course too. Never a good thing if you have to do that.

Hello,
I tried all the following options:
$ python -m nuitka --follow-imports --standalone --windows-dependency-tool=depends.exe --include-module=cffi test.py
$ python -m nuitka --follow-imports --standalone --windows-dependency-tool=pefile --include-module=cffi test.py
$ python -m nuitka --follow-imports --standalone --windows-dependency-tool=pefile --experimental=use_pefile_recurse --include-module=cffi test.py
$ python -m nuitka --follow-imports --standalone --windows-dependency-tool=pefile --experimental=use_pefile_recurse --experimental=use_pefile_fullrecurse --include-module=cffi test.py

always with the same result:
C:\Users\vm1\Desktop\test.dist.depends.exe>test
Traceback (most recent call last):
  File "C:\Users\vm1\Desktop\test.dist.depends.exe\test.py", line 1, in <module>
  File "C:\Users\vm1\Desktop\test.dist.depends.exe\pyguetzli\__init__.py", line 1, in <module pyguetzli>
  File "C:\Users\vm1\Desktop\test.dist.depends.exe\pyguetzli\guetzli.py", line 6, in <module pyguetzli.guetzli>
ImportError

also, pefile options (recurse and fullrecurse) does not seems to change the result:
$ du -s test.dist.*
28372	test.dist.depends.exe
27712	test.dist.pefile
27712	test.dist.pefile.recurse
27712	test.dist.pefile.fullrecurse

And the cffi dependency is never discovered automatically. :)

I made some more test, and in fact it works when I install Microsoft Visual C++ Redist (downloadable from Microsoft's website → https://support.microsoft.com/en-us/help/2977003/the-latest-supported-visual-c-downloads).
It is probably a feature that libs from VC Redist are not copied by nuitka... It can be considered as "standard" system libraries I suppose (I am not a Windows dev so...).
I just saw that there is info about that in the nuitka doc but I dont know why I do not find this before (https://nuitka.net/doc/user-manual.html#windows-standalone-program-redistribuation).


Refactor sagemaker-custom-kernel module to use Pydantic

Describe your changes

Refactor sagemaker-custom-kernel module to use Pydantic

Checklist before requesting a review

[x] I updated CHANGELOG.MD with a description of my changes
[x] If the change was to a module, I ran the code validation script (scripts/validate.sh)
[x] If the change was to a module, I have added thorough tests
[x] If the change was to a module, I have added/updated the module's README.md
[x] If a module was added, I added a reference to the module to the repository's README.md
[x] I verified that my code deploys successfully using seedfarmer apply

By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.

AWS CodeBuild CI Report

CodeBuild project: AIOpsModuleTestsInfrastruct-doMLXEYsnmxr
Commit ID: 9b36ee4430153e889931b31581ec72501b915b25
Result: SUCCEEDED
Build Logs (available for 30 days)

Powered by github-codebuild-logs, available on the AWS Serverless Application Repository

AWS CodeBuild CI Report

CodeBuild project: AIOpsModuleTestsInfrastruct-doMLXEYsnmxr
Commit ID: f3e1dd4f1ddb128d044dd09165d5c9499d18c77a
Result: SUCCEEDED
Build Logs (available for 30 days)

Powered by github-codebuild-logs, available on the AWS Serverless Application Repository

AWS CodeBuild CI Report

CodeBuild project: AIOpsModuleTestsInfrastruct-doMLXEYsnmxr
Commit ID: eac73d4077a754748d08a4e54449bb0d74dc1006
Result: SUCCEEDED
Build Logs (available for 30 days)

Powered by github-codebuild-logs, available on the AWS Serverless Application Repository


[usm] Improve GoTLS handling of old connections

What does this PR do?
Improve GoTLS handling of connections started prior to system-probe.
Motivation
GoTLS monitoring obtains socket information (IPs and ports) by issuing lookups to the tuple_by_pid_fd map. This map is populated by the sockfd_lookup_light probe, which is only triggered during socket initialization. This means that we currently miss socket information for connections which had their initialization happening before system-probe startup.
This PR addresses this issue by prepopulating the tuple_by_pid_fd  map with information extracted from procfs.
Additional Notes

Possible Drawbacks / Trade-offs

Describe how to test/QA your changes

/merge


Can't be in the context of nil. [,  ]

Hi @gbisheimer
I'm using this gem for activeadmin 2.1.0. After install, when I restarted server, I got following error:
ArgumentError in Admin::Users#index
Can't be in the context of nil. [, <!DOCTYPE html><html lang="en"></html>
]

Can you please let me know if we can use this gem with latest activeadmin 2.1.0. If yes, how can  I fix this issue?
Thanks

Hi. This gem was developed in the pre 1.0 era of activeadmin and was never
updated.
I don't have plans for updating the gem in the short time, because we no
longer use it in our current projects. So, don't expect to release a fix
soon. Sorry for that.
If you can fix the issue, please submit a PR so I can merge it in the
repository.
Thank you!
Ing. Guillermo Bisheimer
B&S Sistemas de Control y Equipamientos
Av. de los Constituyentes 1172
(E3116CIX) Crespo, Entre Ríos
Tel/Fax: (0343) 407-8990 (Nuevo número)
Cel: (0343) 154679052
WEB: www.bys-control.com.ar
e-mail<EMAIL_ADDRESS>skype: guillermo.bisheimer
El vie., 5 jul. 2019 a las 6:09, ravi4rails<EMAIL_ADDRESS>escribió:

Hi @gbisheimer https://github.com/gbisheimer
I'm using this gem for activeadmin 2.1.0. After install, when I restarted
server, I got following error:
ArgumentError in Admin::Users#index
Can't be in the context of nil. [,
]
Can you please let me know if we can use this gem with latest activeadmin
2.1.0. If yes, how can I fix this issue?
Thanks
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/bys-control/activeadmin_custom_layout/issues/4?email_source=notifications&email_token=AAXPIA33S5GEY3FSLC6DZJLP54FV3A5CNFSM4H6JM7S2YY3PNVWWK3TUL52HS4DFUVEXG43VMWVGG33NNVSW45C7NFSM4G5QLGMQ,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AAXPIAYPSRLFS66R2HPCWCTP54FV3ANCNFSM4H6JM7SQ
.


Add free TAL audio plugins

[x] brew cask audit --download {{cask_file}} is error-free.
[x] brew cask style --fix {{cask_file}} left no offenses.
[ ] The commit message includes the cask’s name and version.

The added casks are:

tal-reverb-2
tal-reverb-3
tal-reverb-4
tal-vocoder
tal-noisemaker

In the future, please submit one PR per cask.
Numbers in the name and token should not be separate from letters.
Casks that have a number need a comment.
I’m 👎 on adding these: unversioned obscure pkgs that share a homepage? Four characteristics that make them harder to maintain and unlikely to ever be updated. Casks like these usually stay a while, give us a ton of headaches, eventually break and we remove them. I’d rather save the trouble.

Keeping open for a while for other maintainers to disagree.

@vitorgalvao

In the future, please submit one PR per cask.

Okie dokie.

Numbers in the name and token should not be separate from letters.
Casks that have a number need a comment.

They are actually different software (not upgraded versions) and those are their names but just lowercase (TAL-Reverb-2, TAL-Reverb-3, TAL-Reverb-4, TAL-Vocoder and TAL-NoiseMaker). I should have pointed that.

I’m 👎 on adding these: unversioned obscure pkgs that share a homepage? Four characteristics that make them harder to maintain and unlikely to ever be updated. Casks like these usually stay a while, give us a ton of headaches, eventually break and we remove them. I’d rather save the trouble.

They do have version. Since there is already a plugin from the same developer inside this repository (tal-chorus-lx) I limited to copy the cask and adapt it to each case.

They are actually different software (not upgraded versions) and those are their names

Yes, I understand, that’s why I mentioned the comment stating they are not versions. What I mean is that instead of tal-reverb-2 it should be tal-reverb2 (same for the others).

They do have version.

By “unversioned”, I mean it in the sense we use it here, as in “the URL is unversioned, as it always points to the latest version”.

The uninstalls for the reverb Casks conflict.


feat: Support glob patterns in excluded paths

Is your feature request related to a problem? Please describe.

Some times there might be a path that needs to be excluded in several places, e.g.:
MyProject/
├── Component_1/
│   ├── .terraform/
│   ├── main.tf
│   ├── bootstrap-theme.css
│   └── bootstrap-theme.min.css
├── Component_2/
│   ├── .terraform/
│   └── main.tf
└── Component_3/
    ├── .terraform/
    └── main.tf/

If I wanted to exclude all occurences of .terraform I'd have to list them explicitly one by one, and I would have to add a new exclusion with every new "component"
Describe the solution you'd like

The --excluded-paths parameter could support glob patterns, in which case the need above would be fulfilled by --excluded-paths '**/.terraform'.

I misunderstood the supported glob formats. This is not an issue.


Update Compats

Checklist

[ ] Appropriate tests were added
[ ] Any code changes were done in a way that does not break public API
[ ] All documentation related to code changes were updated
[ ] The new code follows the
contributor guidelines, in particular the SciML Style Guide and
COLPRAC.
[ ] Any new documentation only uses public API

Additional context
Add any other context about the problem here.

Threshold tests don't pass.


Add Hugo layout to hide release information on outdated k8s.io versions

Resolves https://github.com/kubernetes/website/issues/29428
High level summary of changes:

Create a Hugo layout release-info.html, which will display the page's contents only if the value of deprecated in hugo.toml is set to false.

The new layout is assigned to a Markdown file by specifying the layout parameter in the Markdown front matter.

Made small adjustment to the warning message text, displayed in yellow, for deprecation warnings, to ensure it is suitable  for documentation and releases.

/cc @sftim
/cc @jimangel
Seeking review and feedback as the requestors of this feature.
Additionally, I have incorporated the feedback and addressed the comments from the previous PR #41357

Thanks
/lgtm

I did notice that, once this is live, we're making it harder to navigate to other pages inside (old versions of) https://k8s.io/releases/
Perhaps we can retain just the autogenerated menu of links and the deprecation notice?

I did notice that, once this is live, we're making it harder to navigate to other pages inside (old versions of) https://k8s.io/releases/
Perhaps we can retain just the autogenerated menu of links and the deprecation notice?

@sftim I've raised PR #42835 to address these refinements.


Contact Details: Supporting Information page

The page for Contact Details has no content: https://www.datadictionary.nhs.uk/supporting_information/contact_details.html
I have checked and there was also no content in the December release: https://archive.datadictionary.nhs.uk/DD Release December 2022/supporting_information/contact_details.html
The last time the page displayed was the November release: https://archive.datadictionary.nhs.uk/DD Release November 2022/supporting_information/contact_details.html
@jamesrwelch - is this something for you?

This now has content so the issue can be closed.


Add telemetry-gateway subchart to helm requirements

Fixes: https://github.com/istio/istio/issues/9748

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

Needs approval from an approver in each of these files:

install/OWNERS

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

@douglas-reid: The following test failed, say /retest to rerun them all:

Test name
Commit
Details
Rerun command

prow/istio-pilot-multicluster-e2e.sh
42ef7c50bbf833dfdf5053cd7dd45f7d005b1554
link
/test istio-pilot-multicluster-e2e

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.

@sdake i tested the conditions locally. seemed to work (and matches the mixer enablement condition)


destroyPullToRefresh(ptrContent) will dispose all ptr

This is a (multiple allowed):

[x] bug

[ ] enhancement

Framework7 Version: 1.6.0

Platform and Target: IOS, ANDROID, web

i have tow tabs each have its own ptr…
when i destroy one, both will be destroyed..
i trace the framework7.js code but really wouldn't like to do changes that iam not quite sure anyway;
on lines 6830
if (pullToRefreshContent[0].f7DestroyPullToRefresh) pullToRefreshContent[0].f7DestroyPullToRefresh();
when call f7DestroyPullToRefresh(); it will go to line 6792
eventsTarget.off(app.touchEvents.start, handleTouchStart, passiveListener);
and on eventsTarget object i found that contain both ptrContent selector, so the app turn off the touch events and the whole pullToRefresh on all selectors on app…
https://jsfiddle.net/mohshraim/s2n1p730/9/
this test will show the unexpected behavioure i have,,, its not exact the same case...
that both tabs have destroy but only tab1 destroy will work!! and when its work its destroy the tab2 also...
1-should try to start by tab1 pull then tab 2 will not work,,
2-and another try start with tab2 then tab 1 but tab 1 still work?!!
thanks for help

i did the required changes to solve the bug and test it on many cases..
should i mention the changes here or do a pull request?..
if yes please guide me which branch shall i do my pull request

should i close this issue as i did the fix code,, or should i wait for my pull request approval???
its 5 days since i submit the fix code!!

Dear @nolimits4web
please review my pull request to fix mentioned issue..
thanks

Issue is closed because of outdated/irrelevant/not actual
If this issue is still actual and reproducible for latest version of Framework7, please create new issue and fill the issue template correctly:

Clearly describe the issue including steps to reproduce when it is a bug.
Make sure you fill in the earliest version that you know has the issue.
Provide live link or JSFiddle/Codepen or website with issue


Refactor : use join instead of a flag

Using a 'written_anything' flag makes the code repetitive and unnecessarily verbose. It seems more readable to me to first collect the parts that we need and then write them, separated by commas.
There may be performance implications to this that I am not aware of.
There is similar code in ansi.rs that I would also be willing to refactor if these changes are welcome.

Hi,
Thanks for your contribution 👍 , but I'm not going to merge this PR because of the performance impact.
I know, using a flag feels verbose and low-level. However, you're right in saying that there's a performance cost: the existing implementation uses the std::fmt::Formatter API to write strings without allocating any extra memory. Introducing a Vec to hold the strings in, and using .to_string() to convert the static strings into owned string buffers, both perform allocation.
I wrote a simple example that just debugs a colour:
for _ in 1 .. 1_000_000 {
    format!("{:?}", Black.on(Blue).bold().italic());
}

and then ran hyperfine on it to verify the time difference. It goes from about half a second to one and a half seconds:

Even though it's only in the Debug implementation which isn't used very much, I don't think this is enough of a readability improvement to justify the performance cost.


No documentation exists for Jasmine unit tests of Angular components containing @angular/material

Bug, feature request, or proposal:
documentation non-existant
What is the expected behavior?
Angular devdocs or Quickstart or angular/material2 or all of these should have a description of how to set up Jasmine unit tests for components that use angular/material2
What is the current behavior?
The current Angular Quickstart has a Jasmine test that works. If you put the Hello Angular statement inside md-toolbar, the test fails with statements about md-toolbar is not a component (even though it is registered in app.module and systemjs.config) and the test did not compile, etc.
What are the steps to reproduce?
Put Quickstart's Hello Angular inside md-toolbar
Providing a Plunker (or similar) is the best way to get the team to see your issue.
Plunker template: http://plnkr.co/edit/o077B6uEiiIgkC0S06dd
What is the use-case or motivation for changing an existing behavior?
It should not be necessary to spend hours tracking down angular/material problems.
Which versions of Angular, Material, OS, browsers are affected?
Using the current Angular Quickstart, existing documentation for Angular and angular/material
Is there anything else we should know?

@mLaird have you been able to get any Jasmine tests working?
I'm guessing a "Jasmine guide" could be put under guides.

While those docs aren't write, why don't put a good examples here or links that help solve the problem listed above?

I can add some of the things I've come across which might help out others looking for info. Hopefully they are helpful, or alternatively others can suggest better ways of doing things
Add to the test bed
The most important thing is to include the MaterialModule in the imports of your test bed
import { MaterialModule } from '@angular/material';

TestBed.configureTestingModule({
    imports: [MaterialModule.forRoot()]
});

md-select
When trying to select an item from an md-select, I was able to click the select and then one of the md-option elements, however the md-options did not disappear, so if you have multiple md-selects on a form, you need to be aware of that.
I use the following utility method, whenever I need to select from an md-select in a component test
static pickFromMdSelect(cssSelector: string, itemIdx: string, fixture: ComponentFixture<any>, selectIdx?: string) {
    fixture.debugElement.query(By.css(cssSelector + ' .mat-select-trigger')).nativeElement.click();
    fixture.detectChanges();

    let selector = 'md-option:nth-child(' + itemIdx + ')';
    if (selectIdx) {
         selector = 'div.cdk-overlay-pane:nth-child(' + selectIdx + ') ' + selector;
    }

    fixture.debugElement.query(By.css(selector)).nativeElement.click();
    fixture.detectChanges();
}

md-dialog
For testing that some action opens a dialog,  I added a mock to the list of providers and used jasmine's spy on to assert on it. Its important that the spyOn is before the configuration of the testing module
let dialogMock = {
    open: function(a, b) {}
};

spyOn(dialogMock, 'close');

TestBed.configureTestingModule({
     providers: [{
        provide: MdDialog,
        useValue: dialogMock
    }]
})

expect(dialogMock.open).toHaveBeenCalled();

I also had a case where I wanted to assert that some action happened after the dialog was closed,  so I used the following jasmine spy
spyOn(dialogMock, 'open').and.returnValue({
    afterClosed: function() {
        return Observable.of(true);
    }
});

Tracking via #4056

@jelbourn, the issue you referenced as tracking is about theming and testing. Not only unit test although you've written there that you should write testing docs, etc...
Here is the thing, we work with angular material in quite a few projects which are already in production and the team is growing so we're adding unit test to our workflow (should have done it earlier) and the situation with angular material is a pain.
Any update on the subject or things we could help working on ?

In angular 6 i am getting this error any idea, how to solve this in spec.ts for testing

Could you also please write few example test cases for material table?


fix surface construction for glfw

With this fix I was able to compile and successfully run one of the examples on Arch Linux, I believe the same code should be used on WIN32 too.

I'd rather not merge this as is as I don't want to use any of the GLFW Vulkan wrapping functions.  Let me take a look at the glfw source and see if I can translate this into the native calls.


Adds support for renaming channels for Remote I/O and 3rd party slaves

[x] This contribution adheres to CONTRIBUTING.md.

What does this Pull Request accomplish?
Add possibility to set custom names for Remote I/O and 3rd party slave IOVs.

Updated Global Variables to store property name and GUID for the new feature
Added new Page GUID to the SEECD XML to enable custom channel names for REM I/O and 3rd party IOVs
Added new page for REM I/O and 3rd party IOVs
Extended action VI “OnLoad” to make IOV channels compatible with new CD version. It sets page GUID to IOV channels (to enable user-defined names) and store channel name (=bus IO name) as IOV Name Channel Property
updated init of the RT driver for REM I/O and 3rd party modules to work with custom IO module names

Why should this Pull Request be merged?
Feature fully implemented and tested by O. Kuba (NI) and tested/reviewed by J. Keprt
What testing has been done?

version bump (update of an existing SDF v <4.6) - successfully added new item properties
successful auto-detection (local chassis, EC master + RemIO slaves, NI slaves, 3rd party slave)
successful deployment of the setup from pt. 2) on cRIO-9033, PXI/Pharlap
performing same tests with changed IOV names

[ ] Separate source from compiled code.


Being able to add Multiples EPG sources.

Is your feature request related to a problem? Please describe.
I use IPTVnator with multiple m3u list in different languages but since IPTVnator allow only 1 EPG only few channels have their guides.
Describe the solution you'd like
Being able to choose multiple EPG souces
Describe alternatives you've considered
Using another IPTV player.
It should be relatively EZ to add this feature @4gray and many users like me would use it a lot.
Regards ! :octocat:

@4gray   Do you think you will implement it in the next release ?
Regards :octocat:

@mikhoul I started the implementation, will be part of the next release.

Thanks a lot, it will be very helpful for users like me that use EPG from differents country/servives.  :+1:
Best Regards :octocat:

Thanks :+1:


how to Start Using Bash IDE

Please explain how to start using Bash IDE in VSCode.
Please provide screenshots if it's possible.

There are a few different possibilities: would you like to use Bash IDE on a Windows Platform, with WSL remote? without WSL remote?
Or just on a Linux Platform?

Either way, it is important to understand that the Bash IDE 1.4.0 plugin is a CLIENT. In order to provide the full functionality, you need to install a language SERVER. And then you need to show how your CLIENT can find that SERVER. This will enable things such as outlining, code completion, reference search,...
If you want to actually debug your Bash Code, you need a different plugin (Bash Debug 0.3.7)

There are a few different possibilities: would you like to use Bash IDE on a Windows Platform, with WSL remote? without WSL remote?
Or just on a Linux Platform?

I am going to use bash ide on a windows.
 Or are you interested in using a text editor that is not listed there?

The installation of Bash IDE should be straight forward.
The installation of the bash-language-server has a lot of methods, but only a few lead to results.
Background information:
The bash language server is installed with the 'npm' package manager. This package manager is available in the 'node.js' JavaScript runtime. I found the best way to get access to this, is through the full runtime:

Download 12.16.1 LTS from https://nodejs.org/en/.

Install the 'node.js' environment,
2.1 Make sure that you have all the tools you install also accessible through your PATH:

2.2 I find the installation is best done by selecting the option to Automatically install the necessary tools (this includes MS Build Tools, Python, and Chocolatey):

When the installation is done (I seem to remember it took a while), there shouldn't be any errors; Proceed to install the server:
npm i -g bash-language-server
Ii: install
-g: accessible to all users (I remember things go wrong if you don't do this)

Go to your Bash IDE settings, and provide the full path to the language server:

This is to the best of my recollection, please confirm if I missed anything?

@rodiaua Have you gone through the README.md file and decided which client you want to use? Or are you interested in using a text editor that is not listed there?

The initial question lists VS Code, so that's what I went ahead and explained. The actual installation of the bash-language-server should be common to all clients, I hope?

@rodiaua Have you gone through the README.md file and decided which client you want to use? Or are you interested in using a text editor that is not listed there?
The initial question lists VS Code, so that's what I went ahead and explained.

You are right, apologies for missing this.

The actual installation of the bash-language-server should be common to all clients, I hope?

You are correct, this shouldn't change.

The initial question lists VS Code, so that's what I went ahead and explained. The actual installation of the bash-language-server should be common to all clients, I hope?

The language server is baked into the VS Code client/extension. So no additional installation steps are necessary.

The initial question lists VS Code, so that's what I went ahead and explained. The actual installation of the bash-language-server should be common to all clients, I hope?

The language server is baked into the VS Code client/extension. So no additional installation steps are necessary.

That is good to know. I just tested this by uninstalling bash-language-server from my Native Windows environment (and all of node.js while I was at it). The features are still working indeed! So the question is why the client/extension is still asking for a location of the binary (I am leaving it blank now):

I also uninstalled bash-language-server and node.js from my WSL environment. Same happy conclusion: the features are still there. But also same question, why still ask for the location:

Thanks for reporting this @beltaurus. That is my mistake, I'll remove the config leftover. Let me know if you have other suggestions for making the documentation more clear.