1.12 docker service issue: service can't reach another service with internal dns name

Output of docker version:
Client:
 Version:      1.12.0-rc2
 API version:  1.24
 Go version:   go1.6.2
 Git commit:   906eacd
 Built:
 OS/Arch:      linux/amd64
 Experimental: true

Server:
 Version:      1.12.0-rc2
 API version:  1.24
 Go version:   go1.6.2
 Git commit:   906eacd
 Built:
 OS/Arch:      linux/amd64
 Experimental: true

Output of docker info:
Containers: 3
 Running: 2
 Paused: 0
 Stopped: 1
Images: 2
Server Version: 1.12.0-rc2
Storage Driver: devicemapper
 Pool Name: docker-253:1-50373608-pool
 Pool Blocksize: 65.54 kB
 Base Device Size: 10.74 GB
 Backing Filesystem: xfs
 Data file: /dev/loop0
 Metadata file: /dev/loop1
 Data Space Used: 296.7 MB
 Data Space Total: 107.4 GB
 Data Space Available: 41.2 GB
 Metadata Space Used: 1.114 MB
 Metadata Space Total: 2.147 GB
 Metadata Space Available: 2.146 GB
 Thin Pool Minimum Free Space: 10.74 GB
 Udev Sync Supported: true
 Deferred Removal Enabled: false
 Deferred Deletion Enabled: false
 Deferred Deleted Device Count: 0
 Data loop file: /var/lib/docker/devicemapper/devicemapper/data
 WARNING: Usage of loopback devices is strongly discouraged for production use. Either use `--storage-opt dm.thinpooldev` or use `--storage-opt dm.no_warn_on_loop_devices=true` to suppress this warning.
 Metadata loop file: /var/lib/docker/devicemapper/devicemapper/metadata
 Library Version: 1.02.107-RHEL7 (2015-12-01)
Logging Driver: json-file
Cgroup Driver: cgroupfs
Plugins:
 Volume: local
 Network: host bridge overlay null
Swarm: active
 NodeID: 0cvppkel734omitklgpta1l9k
 IsManager: Yes
 Managers: 1
 Nodes: 2
 CACertHash: sha256:4acd2bf14e1745e0b8183e8fb8831509b715439d32e1bff992c020e2808ba266
Runtimes: default
Default Runtime: default
Security Options: seccomp
Kernel Version: 3.10.0-327.13.1.el7.x86_64
Operating System: CentOS Linux 7 (Core)
OSType: linux
Architecture: x86_64
CPUs: 2
Total Memory: 3.703 GiB
Name: peti-test-1
ID: CFD3:Y722:6FPU:6J7T:SM6C:D5X4:YLBS:PDAR:XSON:ZWWR:OCEE:ZW3M
Docker Root Dir: /var/lib/docker
Debug Mode (client): false
Debug Mode (server): false
Registry: https://index.docker.io/v1/
WARNING: bridge-nf-call-ip6tables is disabled
Experimental: true
Insecure Registries:
 <IP_ADDRESS>/8

Steps to reproduce the issue:

machine-1: docker swarm init
machine-2: docker swarm join machine-1:2377
machine-1: docker network -d overlay test_network
machine-1: docker service create --name first_service --network test_network instavote/vote
machine-1: docker service create --name second_service --network test_network instavote/vote
machine-1: docker exec -it $(docker ps -q | awk 'NR==1{print $1}') ping first_service
OR machine-1: docker exec -it $(docker ps -q | awk 'NR==1{print $1}') ping second_service

Describe the results you received:
TIMEOUT
Describe the results you expected:
successful ping

I am experiencing a similar issue. From what I can tell the internal DNS name is resolving to the wrong IP address.
Here second_service resolves to <IP_ADDRESS>
docker exec -it 87055a2bf81a ping second_service
PING second_service (<IP_ADDRESS>): 56 data bytes

But inspecting the network lists it as <IP_ADDRESS>
docker network inspect test_network
[
    {
        "Name": "test_network",
        "Id": "75sik5dzqkdsz2jq8v8j2oqk1",
        "Scope": "swarm",
        "Driver": "overlay",
        "EnableIPv6": false,
        "IPAM": {
            "Driver": "default",
            "Options": null,
            "Config": [
                {
                    "Subnet": "<IP_ADDRESS>/24",
                    "Gateway": "<IP_ADDRESS>"
                }
            ]
        },
        "Internal": false,
        "Containers": {
            "3d19ff52bb73c2416429737f0e1ca5148b86ae066a53364cfd30a1e6d2077839": {
                "Name": "second_service.1.9umoi0f7nb6oftjjmgwo6yjsl",
                "EndpointID": "2e8862a4a903ccbb7a970bd1b05909271d1426f7677a42e4d7497165fde60ca6",
                "MacAddress": "02:42:0a:00:01:05",
                "IPv4Address": "<IP_ADDRESS>/24",
                "IPv6Address": ""
            }
        },
        "Options": {
            "com.docker.network.driver.overlay.vxlanid_list": "258"
        },
        "Labels": {}
    }
]

Pinging from first_service using the actual IP works.
docker exec -it 87055a2bf81a ping <IP_ADDRESS>
PING <IP_ADDRESS> (<IP_ADDRESS>): 56 data bytes
64 bytes from <IP_ADDRESS>: seq=0 ttl=64 time=13.759 ms

cc @mavenugo @mrjana

I think the IP address is good, because it is the Virtual IP address of the service. But the problem is that the containers can not reach this IP address.
`docker service inspect test1
....
"Endpoint": {
"Spec": {},
"VirtualIPs": [
{
"NetworkID": "8t19dljl9nmxz2mwk6rxkocss",
"Addr": "<IP_ADDRESS>/24"
}
]
}
...`

So, I followed the same steps and I'm seeing different ip address under network inspect than service inspect. When I ping the service I get the IP from the service inspect, which isn't able to be routed. However, if I curl the ip address from the network output I can reach the service.
docker network create -d overlay test
docker service create --replicas 1 --name nginx --network test nginx:latest
docker service create --replicas 1 --name nginx1 --network test nginx:latest

root@500f22b2cf5a:/# ping nginx
PING nginx (<IP_ADDRESS>): 56 data bytes
92 bytes from 500f22b2cf5a (<IP_ADDRESS>): Destination Host Unreachable

As you can see below <IP_ADDRESS> matches the service inspect
$ docker service inspect nginx
[
    {
        "ID": "8ys321p8zmom9j889bc90sbwh",
        "Version": {
            "Index": 45
        },
        "CreatedAt": "2016-06-24T00:14:21.764392805Z",
        "UpdatedAt": "2016-06-24T00:14:21.767262769Z",
        "Spec": {
            "Name": "nginx",
            "TaskTemplate": {
                "ContainerSpec": {
                    "Image": "nginx:latest"
                },
                "Resources": {
                    "Limits": {},
                    "Reservations": {}
                },
                "RestartPolicy": {
                    "Condition": "any",
                    "MaxAttempts": 0
                },
                "Placement": {}
            },
            "Mode": {
                "Replicated": {
                    "Replicas": 1
                }
            },
            "UpdateConfig": {},
            "Networks": [
                {
                    "Target": "959ryqkmzqluey68zdbrd00rg"
                }
            ],
            "EndpointSpec": {
                "Mode": "vip"
            }
        },
        "Endpoint": {
            "Spec": {},
            "VirtualIPs": [
                {
                    "NetworkID": "959ryqkmzqluey68zdbrd00rg",
                    "Addr": "<IP_ADDRESS>/24"
                }
            ]
        }
    }
]

but it does not match the network inspect
$ docker network inspect test
[
    {
        "Name": "test",
        "Id": "959ryqkmzqluey68zdbrd00rg",
        "Scope": "swarm",
        "Driver": "overlay",
        "EnableIPv6": false,
        "IPAM": {
            "Driver": "default",
            "Options": null,
            "Config": [
                {
                    "Subnet": "<IP_ADDRESS>/24",
                    "Gateway": "<IP_ADDRESS>"
                }
            ]
        },
        "Internal": false,
        "Containers": {
            "147cad002da4983294f282ce74c81b2e3fd19ec8e56e04267cd25c1d2e89e136": {
                "Name": "nginx1.1.427gkawey2g31xr57j0p8dgcd",
                "EndpointID": "a9a82184095d91b569c1ddc72f0eb9ae190c5df437151299a18a10511b06b0c8",
                "MacAddress": "02:42:0a:00:00:05",
                "IPv4Address": "<IP_ADDRESS>/24",
                "IPv6Address": ""
            },
            "500f22b2cf5a1a55c9366140fbba532341ea13f8cfc8f7523c97b49faaaff66c": {
                "Name": "nginx.1.4h7f8glz9d6oskq0mh7e9nmms",
                "EndpointID": "5ea48334c17881f6ff5416e0cd5a99bd0a08a90156aa8e653e917f35112da5a0",
                "MacAddress": "02:42:0a:00:00:03",
                "IPv4Address": "<IP_ADDRESS>/24",
                "IPv6Address": ""
            }
        },
        "Options": {
            "com.docker.network.driver.overlay.vxlanid_list": "257"
        },
        "Labels": {}
    }
]

If I run curl <IP_ADDRESS> inside the other service's container I hit nginx like expected.

Here's what I'm seeing
docker service create --name=hello --network=apps dockercloud/hello-world
# from another service
curl hello #works

# scale to 2
docker service scale hello=2
# from another service
curl hello #works - I get both containers round-robin

# scale to 1
docker service scale hello=1
# from another service
curl hello #could not resolve host

# scale back to 2
docker service scale hello=2
# from another service
curl hello #every other request fails now

I notice that pings fail, but I can curl the service name.

ping @mavenugo @mrjana PTAL

@jhorwit2 @thaJeztah this is expected. The VIP that backs the service is not pingable. Its a L4 LB and hence one can try a L4ping like application or nc or ofcourse curl ;)

@sodre90 Can you try to reproduce this issue using curl or something different than ping? Thanks

@mavenugo For debugging purposes, could we respond to those pings anyway? I don't mean load balance them - just send an ICMP response back.

If we decide to not support ping, we need to update the documentation, first of all to explain it's not supported, but also update the examples in the "networking" docs, because all examples use "ping" to demonstrate how container networking works.

ping @mrjana

@mgoelzer it works with curl, thanks :)

But I have some problem. If the first service is on node1 and the second service is on node2 then it does not works.
Node 1:
[root@peti-test-1 centos]# docker ps CONTAINER ID        IMAGE               COMMAND                  CREATED             STATUS              PORTS               NAMES 28623fe07d5c        nginx:latest        "nginx -g 'daemon off"   25 minutes ago      Up 25 minutes       80/tcp, 443/tcp     third_service.1.caqdk6789e7ic24omeaiu7ff6 fa3d800440db        nginx:latest        "nginx -g 'daemon off"   26 minutes ago      Up 26 minutes       80/tcp, 443/tcp     second_service.1.1g0hcrd3a8lv26ua25g3bys3v 7d37c676f8bd        nginx:latest        "nginx -g 'daemon off"   33 minutes ago      Up 33 minutes       80/tcp, 443/tcp     test1.1.0vq9zbnpcqshtxtpgs24lbqkk
Node 2:
[root@peti-test-2 centos]# docker ps CONTAINER ID        IMAGE               COMMAND                  CREATED             STATUS              PORTS               NAMES 6479648a6e9a        nginx:latest        "nginx -g 'daemon off"   30 minutes ago      Up 30 minutes       80/tcp, 443/tcp     first_service.1.a9pv25uiecjzsfovxjht9ifbp ed00900d7f33        nginx:latest        "nginx -g 'daemon off"   34 minutes ago      Up 34 minutes       80/tcp, 443/tcp     test2.1.4ux4f5mxjthakt7mbhqzy7av3
If I try on Node 1:
`[root@peti-test-1 centos]# docker exec -it test1.1.0vq9zbnpcqshtxtpgs24lbqkk bash
root@7d37c676f8bd:/# curl first_service
curl: (6) Could not resolve host: first_service
root@7d37c676f8bd:/# curl second_service

Welcome to nginx!

Welcome to nginx!
If you see this page, the nginx web server is successfully installed and
working. Further configuration is required.
For online documentation and support please refer to
nginx.org.
Commercial support is available at
nginx.com.
Thank you for using nginx.

`

@sodre90 Is test1 part of the same network as first_service?

@mrjana I have 2 services running in the same default overlay network created by the swarm. The swarm consists of 3 nodes. One service is called serv1 and the other service is called serv2
All serv2 does is attempt to curl serv1, but it fails with the error Could not resolve host: serv1
Any ideas how I can try and debug this? Thanks

@mrjana same curl error in https://github.com/docker/docker/issues/23855#issuecomment-228457673 they're on the same network as well.  It generally works on first deploy until a scale down happens, then it's hit and miss what IP it will try to reach.  Every other may fail, all may fail, all may work.  It's different every time.

@willrstern Thanks for testing. I think your issues should be fixed in the next rc(rc3). Please verify whenever that comes out and provide feedback.

@alon-totango If you are testing in virtual-box or any host which has multiple host nics please make sure you initialized swarm by using a proper IP address as the --listen-addr option. If not please take a look at docker logs for any errors.

I'm experiencing the same issue.  It appears that ip resolution is off by 1.

docker network inspect dev
[...]
"Name": "dev-db-alias.1.02211cdvntbri54ei5r19eba8",
"EndpointID": "c7d100fce0eda69ccb13cd9e3ba10e3b58621def022dae543e32c595a0bf64a7",
"MacAddress": "02:42:0a:00:00:05",
"IPv4Address": "<IP_ADDRESS>/24",
"IPv6Address": ""
[...]

ping dev-db-alias
PING dev-db-alias (<IP_ADDRESS>): 56 data bytes
92 bytes from fe96b5589a01 (<IP_ADDRESS>): Destination Host Unreachable

@ab666 The name of the service resolves to the VIP. To confirm take a look at docker service inspect <service_name> and you should see the VIP listed there. Since it is a VIP it is not pingable. But you can access the VIP over TCP or UDP

@mrjana: You are correct, Thank You!
It seems that I can only access containers in the same network and on the same node.
Should I be able resolving containers from other nodes in the swarm as well?

@ab666 Yes you should be able to access all the containers in all nodes as long as they are in the same network. One reason this may not be working as intended is when --listen-addr is not configured properly or not configured at all and is causing a problem in your env(like you have multiple host nics)

@mrjana I had resolution issues until i figured out I had to specify the listen-addr because the default <IP_ADDRESS> was mapping to the wrong interface. I'm now able to hit any container IP and resolve the service no matter which container the task is deployed.
However, on windows (boot2docker), if I run a container on the docker host separate from the service and try to curl my service http://web it won't resolve, while OSX (boot2docker) works as i hoped. It would seem that the windows version isn't resolving agains the internal DNS server.

@jswann When you said "if I run a container on a docker host separate from the service" did you run a separate service or directly start a container?

@mrjana - Run a new container on one of the hosts that is also running the service. For example, i wanted to run an nginx container that can proxy to a service and I could route to the service name (much like i could container names).

@jswann to connect to a service on a network you need to start another service. Running a container directly on that network is not yet supported in swarm mode.

@mrjana - Yes they are in the same overlay network, if I run docker inspect they have the same NetworkID (8t19dljl9nmxz2mwk6rxkocss)

Hi,
is there any hope to wait for the domain name resolution for simple containers on different swarm workers and different connected networks?

@sodre90 Not sure what your problem is if you did everything correct. Can you provide a simple repro of how you hit this issue so we can see if there is a problem or where the problem is?

@mort1k There may still be hope but no promises :-)

@mrjana =)
how variants expose internal embeded dns to external port on docker host?

what has caused the restriction resolving addresses only for containers on the same subnet?

@mrjana I started all over again, but with --listen-addr and now it's working! :) thank you for your help!

@sodre90 Is this still an open issue ? or is it a candidate to be closed ?

I still face this issue. I can able to access container using service name in the Same host only . Accessing the another host containers is not working . i have even tried the --listen-addr method when launching the Swarm manger and Swarm Worker. please help

I cannot access same network service on another node.
Please help!

@vimagick please check this open issue : https://github.com/docker/docker/issues/26480

having a similar issue. what should --listen-addr be set to?

@jesuscript no need to set listen-addr (it defaults to <IP_ADDRESS>), --advertise-addr is the important one if your node has multiple interfaces / IP addresses

I was coming across a similar issue to @ab666 where the IP was off by 1, and indeed I was finding the VIP on lookup. While this was correct, the VIP was not forwarding a HTTP request on port 80 to the container. Maybe I was doing something wrong here, but my setup had worked before.
I was using docker 1.12.1, upgraded to docker 1.12.2 with no change. System/Service reboot did not change behavior.
I am using namespace remapping and LVM with devicemapper on RHEL 7
Anyway, I needed the resolution for Apache. I worked around my problem by prefixing the lookup name with 'tasks.' which gives the IP of the containers associated with a service rather than the VIP.
I will be revisiting the service configuration at a later date and will update if I come across something.

@thaJeztah, I had a similar issue as described in the OP and setting --listen-addr resolved it, what reason could there be that it wouldn't work without specifying since it defaults to <IP_ADDRESS> by default? This was on docker 1.12.6.

I have similar issue on docker 1.13.1 and compose 1.14.0
Starting fluentd containers in one compose manifest they can't see each other. One fluentd container is restarting and I can notice that it creates new endpoint each time it restarts
        "Containers": {
            "2bc01721533b626021b374def53bac30a204000d461cde753d9a8424315da57c": {
                "Name": "fluentd-router",
                "EndpointID": "be690be7fa16430c13f954e1971891709b67bc81c7a4bdedfe2c444d10c96ca3",
                "MacAddress": "02:42:ac:12:00:04",
                "IPv4Address": "<IP_ADDRESS>/16",
                "IPv6Address": ""

even updating docker to latest version dosen't help.

@widgetpl please open a new issue with details, and steps to reproduce instead of commenting on a closed one; comments on closed issues easily go overlooked, and there's a chance it's a different issue altogether.
I'll lock the conversation on this issue for the reason above


SlimuxSendKeys() bug?

I'm experiencing a problem, could this be a bug or am I doing something wrong? I'm using Vim 8.0.55 in tmux 2.3, Mac OS Sierra. Thank you!
:SlimuxSendKeys 'anything' <CR>
OR
:SlimuxSendKeys "traceback()" <CR>
Error detected while processing function SlimuxSendKeys[4]..<SNR>92_Send:
line   31:
E115: Missing quote: ' send-keys -t " . target . " " . keys)
E116: Invalid arguments for function system

Reading the code :SlimuxSendCode() provides the functionality I was looking for

Can we reopen this? I'm experiencing the same issue, and SlimuxSendCode is unsuitable for my purposes.
I've tested on Homebrew's MacVim (8.1) as well as the system Vim (8.0). Neither work. I'm on High Sierra 10.13.6.

Fixed the issue by going to line 228 of slimux.vim and replacing:
call system(g:slimux_tmux_path . ' send-keys -t " . target . " " . keys)
with:
call system(g:slimux_tmux_path . " send-keys -t " . target . " " . keys)


merge package from arlac77/npm-package-template

package.json

chore(package): update<EMAIL_ADDRESS>from template
chore(package): update<EMAIL_ADDRESS>from template

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

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


fatal error: node_version.h: No such file or directory

So I've been trying to compile another library that indirectly makes use of nan and have been running into a compilation error:
[ 87%] Building CXX object CMakeFiles/iohook.dir/src/iohook.cc.o
In file included from /home/user/code/iohook/src/iohook.h:3,
                 from /home/user/code/iohook/src/iohook.cc:1:
/home/user/code/iohook/node_modules/nan/nan.h:24:10: fatal error: node_version.h: No such file or directory
 #include <node_version.h>
          ^~~~~~~~~~~~~~~~
compilation terminated.

I only run into this issue when compiling against Electron v4.x.x (v3.x.x has no errors) as have others in this issue: https://github.com/wilix-team/iohook/issues/144
Typically similar errors have been fixed by just updating nan in the past, but running on latest build (or indeed this repo's master branch) have resulted in the same problem. Something with it being unable to find node's headers for some reason?
If you any insight into what the problem might be that would be most appreciated!

node_version.h comes from the Node.js headers tarball, it's not provided by nan. node-gyp downloads it automatically for you but since you're not using that, you need to provide it yourself (somehow - you're in self-support waters here.)

Hm, so perhaps electron provides this but isn't doing so in v4.x.x/the node version nan needs isn't the same as that supplied by electron v4.x.x?

It's possible; I don't know electron well enough to comment. I know its source tree bundles node and therefore contains a copy of node_version.h but I don't know how it works if all you have is its executable.

Hrm, sounds like a problem I need to take the electron repo then. I'll leave this open for a little bit in case anyone pops in with a solution here. Thanks!

It looks like you received answers in the electron and iohook issues so I'll go ahead and close this out, cheers.


feat: Add PHP extensions handling.

Hi,
Here's a small feature I just added that would be useful for me.
Basically, it infers PHP extensions from composer.json.
Let me know what you think.

@drupol Thanks for filing, loving the suggestion. But could you add the list of extensions as output to the CI workflow? https://github.com/WyriHaximus/github-action-composer-php-versions-in-range/blob/main/.github/workflows/ci.yml

@drupol Thanks for filing, loving the suggestion. But could you add the list of extensions as output to the CI workflow? https://github.com/WyriHaximus/github-action-composer-php-versions-in-range/blob/main/.github/workflows/ci.yml

I'm afraid I have no idea how to do that :(
Feel free to commit in this PR if you want.

I'm afraid I have no idea how to do that :(

Want me to guide you through that in this PR?

Of course, all the help is welcome.

Just released [v1.7.0](https://github.com/WyriHaximus/github-action-composer-php-versions-in-range/releases/tag/v1.7.0] with this.


Not working on FT.com

Hi,  was working earlier on FT.com but not anymore.

Hi, thanks for reporting. Will take a look at this today.

I have updated the extension to v0.19, try that version and let me know if you still have any issues. From my testing though, this was working in v0.18.1 as well.

Hi
Thanks for that - all working well now.
On Monday, 3 December 2018, 03:55:41 GMT, Rushil Srivastava<EMAIL_ADDRESS>wrote:

I have updated the extension to v0.19, try that version and let me know if you still have any issues. From my testing though, this was working in v0.18.1 as well.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub, or mute the thread.

Great


:package: Feat: Add react package for tevm react hooks

Description
Added react package for interacting with tevm
Testing
Explain the quality checks that have been done on the code changes
Additional Information

[ ] I read the contributing docs (if this is your first contribution)

Your ENS/address:

Current dependencies on/for this PR:

main

PR #781   👈

This stack of pull requests is managed by Graphite.


compass-rails - Error: file to import not found or unreadable

I'm trying to compile a simple file
@import 'compass/reset';

Compass in installed as a gem. The result is:
SassC::SyntaxError - Error: file to import not found or unreadable: compass/reset
       Current dir: /<skipped>/app/assets/stylesheets/application/
        on line 2 of app/assets/stylesheets/application/screen.scss
>> @import 'compass/reset';
   --------^

Thanks for the report.  I'll try to reproduce this.

I've run into this also when using compass via the compass-rails gem.

@gshilin @jsdf   Thanks for the report.
It appears that the compass-rails gem does some monkey patching that is specific to the sass-rails gem.
Since I don't use compass, I don't think I can devote the time to fully investigating this.   If there is something that sassc-raills can do to alleviate this problem, pull requests are definitely welcome.
At first glance, it appears that the compass stylesheet directories are not being added to the asset load paths.  I don't know if this completely solves the issue or not, but I was able to import compass/reset after adding the following to application.rb:
    config.assets.paths.concat(
      Compass::Frameworks::ALL.map { |f| f.stylesheets_directory }
    )

That's definitely helps. But now there is another error:
SassC::SyntaxError - Error: named arguments must precede variable-length argument
        on line 152 of.../compass-core-1.0.3/stylesheets/compass/_support.scss
>> e for-legacy-browser($browser, $range..., $threshold: $threshold, $ranges: $br
   ------------------------------------------^

How can I get command line options to try to reproduce it in sassc?

@gshilin  This one does seem to be a discrepancy between libsass and ruby sass.
here is the relevant mixin:   https://github.com/Compass/compass/blob/stable/core/stylesheets/compass/_support.scss#L146-L158
If you want to verify the issue using only libsass, you could build/use this CLI:  https://github.com/sass/sassc
Anyway - you can report it that here:  https://github.com/sass/libsass/issues

Could be related? https://github.com/sass/libsass/issues/1259

I think that compass requires ruby-sass, and doesn't work with libsass. You can use http://bourbon.io/ to replace some of the mixins compass has.

any update on this ? :-(

What @bolandrm suggests works for now, it properly loads compass stylesheets!

We ended up removing compass and putting https://github.com/Igosuki/compass-mixins into vendor/assets/stylesheets/compass-mixins, then putting this in our application.rb:
config.assets.paths << "vendor/assets/stylesheets/compass-mixins/lib"

That seemed to do the trick. Now we're running into https://github.com/sass/sassc-rails/issues/42 with https://github.com/tsechingho/chosen-rails. Our asset urls are schemaless (on cloudfront). But the end is near. Thanks @bolandrm and everyone! This dropped our stylesheet compile time in Rails 4.0 from 70 seconds to nearly instant.

@gon I get this when I do what @bolandrm suggested.
Error: Undefined operation: "prefix-usage(browser-prefixes(browsers()), css-boxshadow, (full-support: true), (partial-support: true)) gt 0.1".
        on line 324 of<EMAIL_ADDRESS>>>   @if $usage > $threshold {
   ------^```

Has anyone had any luck resolving this?

Also something similar with compass-blueprint:
rake aborted!
SassC::SyntaxError: Error: File to import not found or unreadable: blueprint
       Parent style sheet: /Users/jaiken/projects/usertesting/orders/app/assets/stylesheets/site/_base.scss
        on line 8 of app/assets/stylesheets/site/_base.scss
>> @import "blueprint";
   ^
/Users/jaiken/projects/usertesting/orders/app/assets/stylesheets/site/_base.scss:8
/Users/jaiken/.rvm/gems/ruby-2.3.1/gems/sassc-1.10.0/lib/sassc/engine.rb:46:in `render'
/Users/jaiken/.rvm/gems/ruby-2.3.1/bundler/gems/sassc-rails-a7e1b5f653e8/lib/sassc/rails/template.rb:34:in `block in call'
/Users/jaiken/.rvm/gems/ruby-2.3.1/gems/sprockets-3.6.3/lib/sprockets/utils.rb:167:in `module_include'
/Users/jaiken/.rvm/gems/ruby-2.3.1/bundler/gems/sassc-rails-a7e1b5f653e8/lib/sassc/rails/template.rb:33:in `call'
/Users/jaiken/.rvm/gems/ruby-2.3.1/gems/sprockets-3.6.3/lib/sprockets/sass_processor.rb:30:in `call'
/Users/jaiken/.rvm/gems/ruby-2.3.1/gems/sprockets-3.6.3/lib/sprockets/processor_utils.rb:75:in `call_processor'
/Users/jaiken/.rvm/gems/ruby-2.3.1/gems/sprockets-3.6.3/lib/sprockets/processor_utils.rb:57:in `block in call_processors'
/Users/jaiken/.rvm/gems/ruby-2.3.1/gems/sprockets-3.6.3/lib/sprockets/processor_utils.rb:56:in `reverse_each'
/Users/jaiken/.rvm/gems/ruby-2.3.1/gems/sprockets-3.6.3/lib/sprockets/processor_utils.rb:56:in `call_processors'
/Users/jaiken/.rvm/gems/ruby-2.3.1/gems/sprockets-3.6.3/lib/sprockets/loader.rb:134:in `load_from_unloaded'
/Users/jaiken/.rvm/gems/ruby-2.3.1/gems/sprockets-3.6.3/lib/sprockets/loader.rb:60:in `block in load'
/Users/jaiken/.rvm/gems/ruby-2.3.1/gems/sprockets-3.6.3/lib/sprockets/loader.rb:317:in `fetch_asset_from_dependency_cache'
/Users/jaiken/.rvm/gems/ruby-2.3.1/gems/sprockets-3.6.3/lib/sprockets/loader.rb:44:in `load'
/Users/jaiken/.rvm/gems/ruby-2.3.1/gems/sprockets-3.6.3/lib/sprockets/cached_environment.rb:20:in `block in initialize'
/Users/jaiken/.rvm/gems/ruby-2.3.1/gems/sprockets-3.6.3/lib/sprockets/cached_environment.rb:47:in `load'
/Users/jaiken/.rvm/gems/ruby-2.3.1/gems/sprockets-3.6.3/lib/sprockets/bundle.rb:23:in `block in call'
/Users/jaiken/.rvm/gems/ruby-2.3.1/gems/sprockets-3.6.3/lib/sprockets/utils.rb:196:in `dfs'
/Users/jaiken/.rvm/gems/ruby-2.3.1/gems/sprockets-3.6.3/lib/sprockets/bundle.rb:24:in `call'
/Users/jaiken/.rvm/gems/ruby-2.3.1/gems/sprockets-3.6.3/lib/sprockets/processor_utils.rb:75:in `call_processor'
/Users/jaiken/.rvm/gems/ruby-2.3.1/gems/sprockets-3.6.3/lib/sprockets/processor_utils.rb:57:in `block in call_processors'
/Users/jaiken/.rvm/gems/ruby-2.3.1/gems/sprockets-3.6.3/lib/sprockets/processor_utils.rb:56:in `reverse_each'
/Users/jaiken/.rvm/gems/ruby-2.3.1/gems/sprockets-3.6.3/lib/sprockets/processor_utils.rb:56:in `call_processors'
/Users/jaiken/.rvm/gems/ruby-2.3.1/gems/sprockets-3.6.3/lib/sprockets/loader.rb:134:in `load_from_unloaded'
/Users/jaiken/.rvm/gems/ruby-2.3.1/gems/sprockets-3.6.3/lib/sprockets/loader.rb:60:in `block in load'
/Users/jaiken/.rvm/gems/ruby-2.3.1/gems/sprockets-3.6.3/lib/sprockets/loader.rb:317:in `fetch_asset_from_dependency_cache'
/Users/jaiken/.rvm/gems/ruby-2.3.1/gems/sprockets-3.6.3/lib/sprockets/loader.rb:44:in `load'
/Users/jaiken/.rvm/gems/ruby-2.3.1/gems/sprockets-3.6.3/lib/sprockets/cached_environment.rb:20:in `block in initialize'
/Users/jaiken/.rvm/gems/ruby-2.3.1/gems/sprockets-3.6.3/lib/sprockets/cached_environment.rb:47:in `load'
/Users/jaiken/.rvm/gems/ruby-2.3.1/gems/sprockets-3.6.3/lib/sprockets/base.rb:66:in `find_asset'
/Users/jaiken/.rvm/gems/ruby-2.3.1/gems/sprockets-3.6.3/lib/sprockets/base.rb:73:in `find_all_linked_assets'
/Users/jaiken/.rvm/gems/ruby-2.3.1/gems/sprockets-3.6.3/lib/sprockets/manifest.rb:134:in `block in find'
/Users/jaiken/.rvm/gems/ruby-2.3.1/gems/sprockets-3.6.3/lib/sprockets/manifest.rb:133:in `each'
/Users/jaiken/.rvm/gems/ruby-2.3.1/gems/sprockets-3.6.3/lib/sprockets/manifest.rb:133:in `find'
/Users/jaiken/.rvm/gems/ruby-2.3.1/gems/sprockets-3.6.3/lib/sprockets/manifest.rb:185:in `compile'
/Users/jaiken/.rvm/gems/ruby-2.3.1/gems/sprockets-rails-3.1.1/lib/sprockets/rails/task.rb:68:in `block (3 levels) in define'
/Users/jaiken/.rvm/gems/ruby-2.3.1/gems/sprockets-3.6.3/lib/rake/sprocketstask.rb:147:in `with_logger'
/Users/jaiken/.rvm/gems/ruby-2.3.1/gems/sprockets-rails-3.1.1/lib/sprockets/rails/task.rb:67:in `block (2 levels) in define'
Tasks: TOP => assets:precompile
(See full trace by running task with --trace)

Any update on this?

@bolandrm suggestion works. Thanks.


Updated readme and version docs to refer to v0.0.15 instead of v0.0.14

Issue #, if available:
Description of changes:
Updated readme and version docs to refer to v0.0.15 instead of v0.0.14
By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.

Job PR-814-1 is done.
Docs are uploaded to http://autogluon-staging.s3-website-us-west-2.amazonaws.com/PR-814/1/index.html


Unpublish design tokens, not yet final #688

@kkoryaka  @adam-little @kmbrlygl  @jaredwyee

This page was published without full review. Removing it until it's finalized.


Wrong processing of URL

try to verify that url: http://wrong%20link.tech/JFKblue.gif
if (validUrl.isWebUri(http://wrong%20link.tech/JFKblue.gif)){                 console.log('Looks like an URI');
in logs I see that it looks like an URI, but it's not.

Hi @EJohnF,
Sure this URL is wrong.
I was facing the same issues with valid-url but also validator so I decided to build a module as reliable as possible strictly based on RFC-3986: https://github.com/adrienv1520/node-uri
The main features of this project are:

parse any URI (URNs, URLs, URIs with IDNs support, etc.);
get the safe Punycode ASCII or Unicode serialization of a domain;
check an URI, HTTP/HTTPS/Sitemap URL, IP, domain is valid with clear checking errors;
encode/decode an URI, HTTP/HTTPS/Sitemap URL.

I hope it could help you.


Update file outdated korean docs in dev-1.16-ko.6.

17 out of 24 files to be modified

[x] content/ko/docs/concepts/_index.md
[x] content/ko/docs/concepts/architecture/cloud-controller.md
[x] content/ko/docs/concepts/architecture/nodes.md
[x] content/ko/docs/concepts/overview/components.md
[x] content/ko/docs/concepts/overview/what-is-kubernetes.md
[x] content/ko/docs/concepts/overview/working-with-objects/labels.md
[x] content/ko/docs/concepts/workloads/controllers/daemonset.md
[x] content/ko/docs/concepts/workloads/controllers/deployment.md
[x] content/ko/docs/setup/_index.md
[x] content/ko/docs/setup/learning-environment/minikube.md
[x] content/ko/docs/setup/production-environment/tools/kops.md

#17709 에서 일부 수정됨

[x] content/ko/docs/setup/production-environment/windows/user-guide-windows-nodes.md
[x] content/ko/docs/tasks/access-application-cluster/access-cluster.md

#17709 에서 일부 수정됨

[x] content/ko/docs/tasks/access-application-cluster/web-ui-dashboard.md
[x] content/ko/docs/tasks/run-application/horizontal-pod-autoscale-walkthrough.md
[x] content/ko/docs/tasks/tools/install-minikube.md
[x] content/ko/docs/tutorials/clusters/apparmor.md

Unmodified document and reason.
#17626 에서 수정됨

[ ] content/ko/case-studies/openAI/index.html
[ ] content/ko/case-studies/squarespace/index.html
[ ] content/ko/case-studies/ygrene/index.html

#17709 에서 일부 수정됨

[ ] content/ko/docs/contribute/participating.md
[ ] content/ko/docs/reference/glossary/istio.md

#17544 에서 수정됨

[ ] content/ko/docs/concepts/containers/runtime-class.md

#17570 에서 수정됨

[ ] content/ko/docs/tutorials/stateless-application/guestbook-logs-metrics-with-elk.md

from #17755
/language ko

/assign

@ysyukr 감사합니다!
/lgtm
/approve


Ability to create a JIRA task

Fantastic extension that my team is going to start using. I would love to be able to add a task directly from the ext. with the ability to select Project, Summary, and Description.
I think this would add a good amount of value to the ext. as JIRA is a bit cumbersome on the task creation side.

Hi, Joe! Thank you for the feedback. Most probably I'll implement this functionality only at the beginning of March. If you need this feature before, feel free to contribute by PR.
Related by #55

I cannot add bugs using this extension. I need something that allows me to add bugs without opening JIRA in a new window.

this would be a good addition


Separate JournalDB's commit() and persist()

A tiny refactor to JournalDB. The active part of commit() was only ever called by persist(), so that logic now lives in persist() where it will cause less confusion.
Closes #1762
This leaves one hole open: If you call commit() with the root changeset you'll end up in a bad state. All your data is now lost and calling methods will probably give you exceptions until you call JournalDB.reset(). There are a few things we could do here:

Ignore the problem. Users shouldn't have access to root_changeset_id and in fact trinity never uses it.
Change Journal.commit() such that this is okay. If you're Journal.commit()ing the root changeset then squash changes like before but put them back into the Journal under a new root changeset.
Throw a ValidationError when the user calls JournalDB.commit() with the root changeset.

I'm kind of leaning toward 2 but which would you prefer?
Cute Animal Picture

2. Change Journal.commit() such that this is okay. If you're Journal.commit()ing the root changeset then squash changes like before but put them back into the Journal under a new root changeset.
3. Throw a ValidationError when the user calls JournalDB.commit() with the root changeset.
I'm kind of leaning toward 2 but which would you prefer?

Since we're never actually doing this, it seems easier to test & build # 3. We can add the feature later if we want it. (but seems unlikely)

Added the validation error if you want to give it one last look before merging


helm dependency update/build behavior - Performance concerns

Output of helm version:
version.BuildInfo{Version:"v3.10.1", GitCommit:"9f88ccb6aee40b9a0535fcc7efea6055e1ef72c9", GitTreeState:"clean", GoVersion:"go1.18.7"}
Hello
When I run helm dependency update (or build) for a chart specifying one or more dependencies, I expected the command to only update the relevant helm repositories as defined in my Chart.yaml file. However, the command fetches updates from all the repositories known to helm (i.e. those explicitly added through helm repo add). This leads to performance issues in terms of execution time, bandwidth usage, memory footprint and CPU consumption as this command is quite an expensive one.
Simple steps to reproduce
Say I have the following Chart.yaml :
apiVersion: v2
name: test
description: test dependencies
type: application
version: 0.1.0
appVersion: "0.1.0"
dependencies:
  - name: rbac-manager
    version: 1.13.1
    repository: https://charts.fairwinds.com/stable

If I don't have any repositories previously added, the command runs quite fine with a memory footprint around 45 MB
$ time helm dependency update
Getting updates for unmanaged Helm repositories...
...Successfully got an update from the "https://charts.fairwinds.com/stable" chart repository
Saving 1 charts
Downloading rbac-manager from repo https://charts.fairwinds.com/stable
Deleting outdated charts

real	0m1,152s
user	0m0,619s
sys	0m0,083s

Now, I explicitly add some repos because I need them for other projects. I deliberately chose to add "big" repos like the bitnami or truecharts ones in this example to emphasize on the impact (and because I need them too ^^) :
helm repo add traefik https://helm.traefik.io/traefik
helm repo add bitnami https://charts.bitnami.com/bitnami
helm repo add minio https://charts.min.io/
helm repo add ingress-nginx https://kubernetes.github.io/ingress-nginx
helm repo add fairwinds-stable	https://charts.fairwinds.com/stable
helm repo add truecharts https://charts.truecharts.org

Now the command takes quite a while to complete with a memory footprint around 800 MB (thank you truecharts repo ^^). Here, I would expect the command to only fetch updates from the fairwinds-stable repo but every repo gets processed instead :
$ time helm dependency update
Hang tight while we grab the latest from your chart repositories...
...Successfully got an update from the "ingress-nginx" chart repository
...Successfully got an update from the "minio" chart repository
...Successfully got an update from the "traefik" chart repository
...Successfully got an update from the "fairwinds-stable" chart repository
...Successfully got an update from the "bitnami" chart repository
...Successfully got an update from the "truecharts" chart repository
Update Complete. ⎈Happy Helming!⎈
Saving 1 charts
Downloading rbac-manager from repo https://charts.fairwinds.com/stable
Deleting outdated charts

real	0m29,690s
user	0m13,881s
sys	0m2,573s

Using the --skip-refresh option allows to bypass the repo update phase so execution time is much smaller. But the memory footprint stays the same during the "resolve" phase of the command :
$ time helm dependency update --skip-refresh
Saving 1 charts
Downloading rbac-manager from repo https://charts.fairwinds.com/stable
Deleting outdated charts

real	0m4,977s
user	0m6,243s
sys	0m0,441s

Such behavior seems counter-intuitive (at least to me). The performance penalty can be no big deal locally on your desktop but when helm is used by CD platforms like ArgoCD managing hundreds of applications, it can add a fairly big amount of CPU and memory pressure.
There may be a good reason behind this behavior but I couldn't find any documentation on this. Is there any way to circumvent this ? Or maybe adding a new flag to only update repos defined in Chart.yaml ?
Thanks

What if you set HELM_HOME=$(mktemp -d) so it doesn't use the local repo cache?

Thanks for the suggestion @joejulian . Setting HELM_CONFIG_HOME=$(mktemp -d) indeed "works".
However in an ArgoCD context (which is my primary use-case), this is not applicable as this variable is statically set on the repo-server. Moreover, ArgoCD automatically add the repos as soon as it detects a new one so, this won't do anyway. In the end, I don't want to get rid of the declared repos as I also have private repositories with authentication that need to be preserved.
Optimizing the command in the way I first expected it to work seems coherent to me but, again, I don't know all the ins and outs of helm internals so having at least an understanding of why this behavior was chosen in the first place would be nice.

Not that it tells us much, but here's where skip-refresh was added: https://github.com/helm/helm/issues/2019
Looks like the behavior to download the whole list is from the original support for dependencies.
I can only guess it's to avoid recursion into a nested tree of chart dependencies. Looks like it would be a good change to contribute, but it doesn't look like it's easy enough for the good-first-issue label.

The change belongs in https://github.com/helm/helm/blob/9a5eb70320c1c1b7b6f1c5a6f0f5420cb1c934a0/pkg/downloader/manager.go#L153

I also encountered this problem, especially I only have local dependencies and there is very large repo in my repo list. I don't think it's necessary to download or load index.yaml in this case.
I can see download can be skipped here
https://github.com/helm/helm/blob/f91b515a2554ed757104b701b41314b4e23c1d2d/pkg/downloader/manager.go#L187
But load all index.yaml is executed in any case.
https://github.com/helm/helm/blob/f91b515a2554ed757104b701b41314b4e23c1d2d/pkg/downloader/manager.go#L244
Just wondering is it a feature or we can change the default behavior to only download and load the necessary repo.

@moonnoon As far as I can tell, the only option available is the --skip-refresh one that bypasses cached repositories refresh. This option is not suitable for my use-case as I still do want to refresh the repos referenced in my Chart.yaml and only these. And it also doesn't seem possible to bypass the loading of index anyway.
As @joejulian pointed out, the whole dependency implementation doesn't seem to have changed a lot since its first introduction. There may be room for improvement here but unfortunately, I'm far from being a go guru :sweat_smile:

I seem to only have high memory usage issues when using the Bitnami Helm repository (518 MiB compared to about 20 MiB with a smaller repo):
√ charts/redis$ cat Chart.yaml
name: redis
description: Redis(R) is an open source, advanced key-value store. It is often referred to as a data structure server since keys can contain strings, hashes, lists, sets and sorted sets.
apiVersion: v2
version: 0.0.1
engine: gotpl
dependencies:
- name: redis
  version: 19.6.4
  repository: https://charts.bitnami.com/bitnami
√ charts/redis$ time helm dependency build --skip-refresh
Saving 1 charts
Downloading redis from repo https://charts.bitnami.com/bitnami
Deleting outdated charts
helm dependency build --skip-refresh   2.49s  user 0.13s system 126% cpu 2.071 total
avg shared (code):         0 KB
avg unshared (data/stack): 0 KB
total (sum):               0 KB
max memory:                530800 KB
page faults from disk:     0
other page faults:         33802

The index.yaml file is about 19 MiB so I'm not sure why more than 500 MiB would be needed.
√ ~/Downloads$ curl -L https://charts.bitnami.com/bitnami/index.yaml -o index.yaml
100 19.2M  100 19.2M    0     0  10.5M      0  0:00:01  0:00:01 --:--:-- 12.3M


[BUG] projen generates inconsistent path separator for windows users

Describe the bug
When I run projen on my windows machine it regenerates project.json and pnpm-workspace.yaml with inconsistent path separators

Expected Behavior
projen default command should produce the same files regardless of platform
Current Behavior
See screenshot above
Reproduction Steps
checkout the same repo with @aws/pdk usage on windows machine and run projen default command
Possible Solution
replace \ with / in generating paths
Additional Information/Context
No response
PDK version used
0.22.6
What languages are you seeing this issue on?
Typescript
Environment details (OS name and version, etc.)
win64; node18; pnpm8

Hi - thanks for raising this. I am unsure is this is going to get PDK working on windows and alot of our scripts are built using bash and I suspect there will be other places that will cause issues on windows. Out of curiosity - are you able to build and test on windows with this change hacked in locally?

Yes, that the first thing I've checked. test though couldn't be discovered, due to incorrect default testMatch pattern, but I adjusted it through jest configuration.
I believe most of the commands are run by nx which must be mature enough to support windows, but it's my assumption.
I agree that fix I made only covers my setup, but anyway it's not harmful for unix platforms

Ah yes and python scripts indeed didn't work on windows, like unset VIRTUAL_ENV was not runnable command, but running python on windows it's a separate story

Hi - I have chatted with a few windows users and the recommendation we have is that WSL should be used if developing using the PDK on windows. I will close this in favor of: https://github.com/aws/aws-pdk/issues/664
To unblock you - I recommend you install WSL here as a starting point: https://learn.microsoft.com/en-us/windows/wsl/install


Logs agent - retry more HTTP status codes

What does this PR do?
Followup to this pr: https://github.com/DataDog/datadog-agent/pull/10870
We also want to retry logs on 404.

Motivation

Additional Notes

Possible Drawbacks / Trade-offs

Describe how to test/QA your changes
UT's cover this pretty well so im not sure manual QA is worth the effort:

Spin up a mock server that implements the intake API endpoint and make it return 404.
Send some logs and watch the agent logs
Look for the logs messages: %s: sleeping until %v before retrying"

Reviewer's Checklist

[ ] If known, an appropriate milestone has been selected; otherwise the Triage milestone is set.
[ ] The appropriate team/.. label has been applied, if known.
[ ] Use the major_change label if your change either has a major impact on the code base, is impacting multiple teams or is changing important well-established internals of the Agent. This label will be use during QA to make sure each team pay extra attention to the changed behavior. For any customer facing change use a releasenote.
[ ] A release note has been added or the changelog/no-changelog label has been applied.
[ ] Changed code has automated tests for its functionality.
[ ] Adequate QA/testing plan information is provided if the qa/skip-qa label is not applied.
[ ] If applicable, docs team has been notified or an issue has been opened on the documentation repo.
[ ] If applicable, the need-change/operator and need-change/helm labels have been applied.
[ ] If applicable, the config template has been updated.

This needs a re-review since I changed the core of the PR. CC @djmitche

 :)


Can not install on Ubuntu 12.04 with Mosquite 3.1

||/ Name                         Version                      Description
+++-============================-============================-========================================================================
ii  libmosquitto0                0.15-0ubuntu<IP_ADDRESS>        MQTT version 3.1 client library
ii  libmosquitto0-dev            0.15-0ubuntu<IP_ADDRESS>        MQTT version 3.1 client library, development files
ii  mosquitto-clients            0.15-0ubuntu<IP_ADDRESS>        Mosquitto command line MQTT clients
$ sudo pecl install Mosquitto-alpha
downloading Mosquitto-0.2.1.tgz ...
Starting to download Mosquitto-0.2.1.tgz (15,958 bytes)
......done: 15,958 bytes
4 source files, building
running: phpize
Configuring for:
PHP Api Version:         20121113
Zend Module Api No:      20121212
Zend Extension Api No:   220121212
Please provide the prefix of the libmosquitto installation [autodetect] :
building in /tmp/pear/temp/pear-build-rootEO3vH6/Mosquitto-0.2.1
running: /tmp/pear/temp/Mosquitto/configure --with-mosquitto
checking for grep that handles long lines and -e... /bin/grep
checking for egrep... /bin/grep -E
checking for a sed that does not truncate output... /bin/sed
checking for cc... cc
checking whether the C compiler works... yes
checking for C compiler default output file name... a.out
checking for suffix of executables...
checking whether we are cross compiling... no
checking for suffix of object files... o
checking whether we are using the GNU C compiler... yes
checking whether cc accepts -g... yes
checking for cc option to accept ISO C89... none needed
checking how to run the C preprocessor... cc -E
checking for icc... no
checking for suncc... no
checking whether cc understands -c and -o together... yes
checking for system library directory... lib
checking if compiler supports -R... no
checking if compiler supports -Wl,-rpath,... yes
checking build system type... x86_64-unknown-linux-gnu
checking host system type... x86_64-unknown-linux-gnu
checking target system type... x86_64-unknown-linux-gnu
checking for PHP prefix... /usr
checking for PHP includes... -I/usr/include/php5 -I/usr/include/php5/main -I/usr/include/php5/TSRM -I/usr/include/php5/Zend -I/usr/include/php5/ext -I/usr/include/php5/ext/date/lib
checking for PHP extension directory... /usr/lib/php5/20121212
checking for PHP installed headers prefix... /usr/include/php5
checking if debug is enabled... no
checking if zts is enabled... no
checking for re2c... no
configure: WARNING: You will need re2c 0.13.4 or later if you want to regenerate PHP parsers.
checking for gawk... no
checking for nawk... nawk
checking if nawk is broken... no
checking for mosquitto support... yes, shared
checking for mosquitto files in default path... checking /usr... found in /usr
checking for ANSI C header files... yes
checking for sys/types.h... yes
checking for sys/stat.h... yes
checking for stdlib.h... yes
checking for string.h... yes
checking for memory.h... yes
checking for strings.h... yes
checking for inttypes.h... yes
checking for stdint.h... yes
checking for unistd.h... yes
checking whether strerror_r is declared... yes
checking for strerror_r... yes
checking whether strerror_r returns char *... no
checking how to print strings... printf
checking for a sed that does not truncate output... (cached) /bin/sed
checking for fgrep... /bin/grep -F
checking for ld used by cc... /usr/bin/ld
checking if the linker (/usr/bin/ld) is GNU ld... yes
checking for BSD- or MS-compatible name lister (nm)... /usr/bin/nm -B
checking the name lister (/usr/bin/nm -B) interface... BSD nm
checking whether ln -s works... yes
checking the maximum length of command line arguments... 1572864
checking whether the shell understands some XSI constructs... yes
checking whether the shell understands "+="... yes
checking how to convert x86_64-unknown-linux-gnu file names to x86_64-unknown-linux-gnu format... func_convert_file_noop
checking how to convert x86_64-unknown-linux-gnu file names to toolchain format... func_convert_file_noop
checking for /usr/bin/ld option to reload object files... -r
checking for objdump... objdump
checking how to recognize dependent libraries... pass_all
checking for dlltool... no
checking how to associate runtime and link libraries... printf %s\n
checking for ar... ar
checking for archiver @FILE support... @
checking for strip... strip
checking for ranlib... ranlib
checking for gawk... (cached) nawk
checking command to parse /usr/bin/nm -B output from cc object... ok
checking for sysroot... no
checking for mt... mt
checking if mt is a manifest tool... no
checking for dlfcn.h... yes
checking for objdir... .libs
checking if cc supports -fno-rtti -fno-exceptions... no
checking for cc option to produce PIC... -fPIC -DPIC
checking if cc PIC flag -fPIC -DPIC works... yes
checking if cc static flag -static works... yes
checking if cc supports -c -o file.o... yes
checking if cc supports -c -o file.o... (cached) yes
checking whether the cc linker (/usr/bin/ld -m elf_x86_64) supports shared libraries... yes
checking whether -lc should be explicitly linked in... no
checking dynamic linker characteristics... GNU/Linux ld.so
checking how to hardcode library paths into programs... immediate
checking whether stripping libraries is possible... yes
checking if libtool supports shared libraries... yes
checking whether to build shared libraries... yes
checking whether to build static libraries... no
configure: creating ./config.status
config.status: creating config.h
config.status: executing libtool commands
running: make
/bin/bash /tmp/pear/temp/pear-build-rootEO3vH6/Mosquitto-0.2.1/libtool --mode=compile cc  -I. -I/tmp/pear/temp/Mosquitto -DPHP_ATOM_INC -I/tmp/pear/temp/pear-build-rootEO3vH6/Mosquitto-0.2.1/include -I/tmp/pear/temp/pear-build-rootEO3vH6/Mosquitto-0.2.1/main -I/tmp/pear/temp/Mosquitto -I/usr/include/php5 -I/usr/include/php5/main -I/usr/include/php5/TSRM -I/usr/include/php5/Zend -I/usr/include/php5/ext -I/usr/include/php5/ext/date/lib  -DHAVE_CONFIG_H  -g -O2   -c /tmp/pear/temp/Mosquitto/mosquitto.c -o mosquitto.lo
libtool: compile:  cc -I. -I/tmp/pear/temp/Mosquitto -DPHP_ATOM_INC -I/tmp/pear/temp/pear-build-rootEO3vH6/Mosquitto-0.2.1/include -I/tmp/pear/temp/pear-build-rootEO3vH6/Mosquitto-0.2.1/main -I/tmp/pear/temp/Mosquitto -I/usr/include/php5 -I/usr/include/php5/main -I/usr/include/php5/TSRM -I/usr/include/php5/Zend -I/usr/include/php5/ext -I/usr/include/php5/ext/date/lib -DHAVE_CONFIG_H -g -O2 -c /tmp/pear/temp/Mosquitto/mosquitto.c  -fPIC -DPIC -o .libs/mosquitto.o
/tmp/pear/temp/Mosquitto/mosquitto.c: In function 'zim_Mosquitto_Client___construct':
/tmp/pear/temp/Mosquitto/mosquitto.c:111:2: warning: passing argument 2 of 'mosquitto_new' makes pointer from integer without a cast [enabled by default]
/usr/include/mosquitto.h:196:34: note: expected 'void *' but argument is of type 'zend_bool'
/tmp/pear/temp/Mosquitto/mosquitto.c:111:2: error: too many arguments to function 'mosquitto_new'
/usr/include/mosquitto.h:196:34: note: declared here
/tmp/pear/temp/Mosquitto/mosquitto.c: In function 'zim_Mosquitto_Client_setWill':
/tmp/pear/temp/Mosquitto/mosquitto.c:284:2: warning: passing argument 3 of 'mosquitto_will_set' makes pointer from integer without a cast [enabled by default]
/usr/include/mosquitto.h:268:20: note: expected 'const char *' but argument is of type 'int'
/tmp/pear/temp/Mosquitto/mosquitto.c:284:2: warning: passing argument 4 of 'mosquitto_will_set' makes integer from pointer without a cast [enabled by default]
/usr/include/mosquitto.h:268:20: note: expected 'uint32_t' but argument is of type 'void *'
/tmp/pear/temp/Mosquitto/mosquitto.c:284:2: warning: passing argument 5 of 'mosquitto_will_set' makes pointer from integer without a cast [enabled by default]
/usr/include/mosquitto.h:268:20: note: expected 'const uint8_t ' but argument is of type 'long int'
/tmp/pear/temp/Mosquitto/mosquitto.c:284:2: error: too few arguments to function 'mosquitto_will_set'
/usr/include/mosquitto.h:268:20: note: declared here
/tmp/pear/temp/Mosquitto/mosquitto.c: In function 'zim_Mosquitto_Client_connect':
/tmp/pear/temp/Mosquitto/mosquitto.c:355:3: error: too few arguments to function 'mosquitto_connect'
/usr/include/mosquitto.h:322:20: note: declared here
/tmp/pear/temp/Mosquitto/mosquitto.c: In function 'zim_Mosquitto_Client_onConnect':
/tmp/pear/temp/Mosquitto/mosquitto.c:418:2: warning: passing argument 2 of 'mosquitto_connect_callback_set' from incompatible pointer type [enabled by default]
/usr/include/mosquitto.h:618:21: note: expected 'void ()(void , int)' but argument is of type 'void ()(struct mosquitto *, void , int)'
/tmp/pear/temp/Mosquitto/mosquitto.c: In function 'zim_Mosquitto_Client_onDisconnect':
/tmp/pear/temp/Mosquitto/mosquitto.c:452:2: warning: passing argument 2 of 'mosquitto_disconnect_callback_set' from incompatible pointer type [enabled by default]
/usr/include/mosquitto.h:634:21: note: expected 'void ()(void )' but argument is of type 'void ()(struct mosquitto *, void , int)'
/tmp/pear/temp/Mosquitto/mosquitto.c: In function 'zim_Mosquitto_Client_onSubscribe':
/tmp/pear/temp/Mosquitto/mosquitto.c:520:2: warning: passing argument 2 of 'mosquitto_subscribe_callback_set' from incompatible pointer type [enabled by default]
/usr/include/mosquitto.h:693:21: note: expected 'void ()(void *, uint16_t,  int,  const uint8_t )' but argument is of type 'void ()(struct mosquitto *, void *, int,  int,  const int )'
/tmp/pear/temp/Mosquitto/mosquitto.c: In function 'zim_Mosquitto_Client_onUnsubscribe':
/tmp/pear/temp/Mosquitto/mosquitto.c:554:2: warning: passing argument 2 of 'mosquitto_unsubscribe_callback_set' from incompatible pointer type [enabled by default]
/usr/include/mosquitto.h:710:21: note: expected 'void ()(void , uint16_t)' but argument is of type 'void ()(struct mosquitto *, void , int)'
/tmp/pear/temp/Mosquitto/mosquitto.c: In function 'zim_Mosquitto_Client_onMessage':
/tmp/pear/temp/Mosquitto/mosquitto.c:588:2: warning: passing argument 2 of 'mosquitto_message_callback_set' from incompatible pointer type [enabled by default]
/usr/include/mosquitto.h:673:21: note: expected 'void ()(void *, const struct mosquitto_message )' but argument is of type 'void ()(struct mosquitto *, void *, const struct mosquitto_message *)'
/tmp/pear/temp/Mosquitto/mosquitto.c: In function 'zim_Mosquitto_Client_publish':
/tmp/pear/temp/Mosquitto/mosquitto.c:667:2: warning: passing argument 2 of 'mosquitto_publish' from incompatible pointer type [enabled by default]
/usr/include/mosquitto.h:395:20: note: expected 'uint16_t *' but argument is of type 'int *'
/tmp/pear/temp/Mosquitto/mosquitto.c: In function 'zim_Mosquitto_Client_subscribe':
/tmp/pear/temp/Mosquitto/mosquitto.c:692:2: warning: passing argument 2 of 'mosquitto_subscribe' from incompatible pointer type [enabled by default]
/usr/include/mosquitto.h:417:20: note: expected 'uint16_t *' but argument is of type 'int *'
/tmp/pear/temp/Mosquitto/mosquitto.c: In function 'zim_Mosquitto_Client_unsubscribe':
/tmp/pear/temp/Mosquitto/mosquitto.c:716:2: warning: passing argument 2 of 'mosquitto_unsubscribe' from incompatible pointer type [enabled by default]
/usr/include/mosquitto.h:438:20: note: expected 'uint16_t *' but argument is of type 'int *'
/tmp/pear/temp/Mosquitto/mosquitto.c: In function 'zim_Mosquitto_Client_loop':
/tmp/pear/temp/Mosquitto/mosquitto.c:740:2: error: too many arguments to function 'mosquitto_loop'
/usr/include/mosquitto.h:503:20: note: declared here
/tmp/pear/temp/Mosquitto/mosquitto.c: In function 'mosquitto_client_object_destroy':
/tmp/pear/temp/Mosquitto/mosquitto.c:796:2: error: too many arguments to function 'mosquitto_loop'
/usr/include/mosquitto.h:503:20: note: declared here
/tmp/pear/temp/Mosquitto/mosquitto.c: In function 'php_mosquitto_handle_errno':
/tmp/pear/temp/Mosquitto/mosquitto.c:847:12: warning: assignment makes pointer from integer without a cast [enabled by default]
/tmp/pear/temp/Mosquitto/mosquitto.c: In function 'php_mosquitto_connect_callback':
/tmp/pear/temp/Mosquitto/mosquitto.c:872:10: warning: assignment makes pointer from integer without a cast [enabled by default]
make: *** [mosquitto.lo] Error 1
ERROR: `make' failed

Installed newest version of MQTT, working with all clients.
Used:
sudo apt-add-repository ppa:mosquitto-dev/mosquitto-ppa
(Google MQTTLens, command line and ESP8266 running nodemcu)
Sub and Pub working on all clients.
sudo pecl install Mosquitto-alpha

could not extract the package.xml file from "/build/buildd/php5-5.5.9+dfsg/pear-build-download/Mosquitto-0.2.2.tgz"
Download of "pecl/Mosquitto" succeeded, but it is not a valid package archive
Error: cannot download "pecl/Mosquitto"
Download failed
Install failed

Tried manual;
libmosquitto.so.1 in the /usr/lib dir.
sudo phpize5

Gonfiguring for:
PHP Api Version:                20121113
Zend Module Api No:         20121212
Zend Extension Api No:     22012212

sudo ./configure --with-mosquitto=/usr/lib/
...

checking for mosquitto support... yes, shared
checking for mosquitto files in default path... not found
configure: error: Please reinstall the mosquitto distribution

sudo apt-get install mosquitto

mosquitto is already the newest version.

Ubuntu 14.04.1 LTS  KDE
Any ideas?
Thank you!

The path in the configure command isn't quite right. Try this?
 sudo ./configure --with-mosquitto=/usr

Hmmmm..    no luck with that.
Also tried:
sudo ./configure --with-mosquitto --with-libdir=/usr
sudo ./configure --with-mosquitto=/usr --with-libdir=/usr
And as many other combinations as I could think of.
The error diagnostic states "checking for mosquitto files in default path... not found".
Is it possible that .configure is looking for files other than the libmosquitto.so.1 file?  Or, do I need to untar the gz archive in a specific path?
Thanks for the fast reply!!

Here is an update.
I have a raspberry running MQTT also.  I attempted to install via pecl.  For some reason pecl was able to download the package and begin the build.
However, I got the same error: "checking for mosquitto files in default path... not found"

pi@raspberrypi ~ $ sudo pecl install Mosquitto-alpha
WARNING: channel "pecl.php.net" has updated its protocols, use "pecl channel-update pecl.php.net" to update
downloading Mosquitto-0.2.2.tgz ...
Starting to download Mosquitto-0.2.2.tgz (16,018 bytes)
......done: 16,018 bytes
4 source files, building
running: phpize
Configuring for:
PHP Api Version:         20100412
Zend Module Api No:      20100525
Zend Extension Api No:   220100525
Please provide the prefix of the libmosquitto installation [autodetect] :
building in /tmp/pear/temp/pear-build-rootV3thC9/Mosquitto-0.2.2
running: /tmp/pear/temp/Mosquitto/configure --with-mosquitto
checking for grep that handles long lines and -e... /bin/grep
checking for egrep... /bin/grep -E
checking for a sed that does not truncate output... /bin/sed
checking for cc... cc
checking whether the C compiler works... yes
checking for C compiler default output file name... a.out
checking for suffix of executables...
checking whether we are cross compiling... no
checking for suffix of object files... o
checking whether we are using the GNU C compiler... yes
checking whether cc accepts -g... yes
checking for cc option to accept ISO C89... none needed
checking how to run the C preprocessor... cc -E
checking for icc... no
checking for suncc... no
checking whether cc understands -c and -o together... yes
checking for system library directory... lib
checking if compiler supports -R... no
checking if compiler supports -Wl,-rpath,... yes
checking build system type... armv6l-unknown-linux-gnueabihf
checking host system type... armv6l-unknown-linux-gnueabihf
checking target system type... armv6l-unknown-linux-gnueabihf
checking for PHP prefix... /usr
checking for PHP includes... -I/usr/include/php5 -I/usr/include/php5/main -I/usr/include/php5/TSRM -I/usr/include/php5/Zend -I/usr/include/php5/ext -I/usr/include/php5/ext/date/lib -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64
checking for PHP extension directory... /usr/lib/php5/20100525+lfs
checking for PHP installed headers prefix... /usr/include/php5
checking if debug is enabled... no
checking if zts is enabled... no
checking for re2c... no
configure: WARNING: You will need re2c 0.13.4 or later if you want to regenerate PHP parsers.
checking for gawk... no
checking for nawk... nawk
checking if nawk is broken... no
checking for mosquitto support... yes, shared
checking for mosquitto files in default path... not found
configure: error: Please reinstall the mosquitto distribution
ERROR: `/tmp/pear/temp/Mosquitto/configure --with-mosquitto' failed

I also tried /usr and /usr/lib when prompted at:

Please provide the prefix of the libmosquitto installation [autodetect]

Oh, have you got the libmosquitto-dev package installed?

Oh...
Well that did it!
Thank you!

how to install the Mosquitto-alpha. i'm new this.please help me.


usage of nested definitions (question)

Hi, first of all, thank you for this great library!
I'm having problems with nested definitions, so any help will be really appreciated
responses:
  "200":
    description: This is the response schema
      schema:
        $ref: '#/definitions/UserPodsCountResponseSchema'

Then I have inside my definitions:
UserPodsCountResponseSchema:
    type: array
    items:
      $ref: '#/definitions/UserPodsCountResponseSchema_inner'

And finally
UserPodsCountResponseSchema_inner:
    type: object
    required: true
      - userId
      - count
    properties:
      userId:
        type: string
        format: uuid
        description: User ID
      count:
        type: integer
        description: Total pods to which it belongs

I was trying  this code in my test
const validation = validator.validate(
  res._getData(), // [ { userId: '52bb89c8-0c4b-432d-8960-30c0b1c1e158', count: 1 } ]
  spec.paths['/user/count'].get.responses[HttpStatus.OK].schema, //  '$ref': '#/definitions/UserPodsCountResponseSchema' }
  spec.definitions,
  false,
  true,
);

I'm getting this on a try/catch
Error: fields must be an array of required fields
But I can't figure out how to implement though

Update:
My mistake was adding required: true on UserPodsCountResponseSchema_inner: definition, I solved this simply with
required:
  - userId
  - count

Well done.  Glad the library is useful for you.


[yokurang]: Side-by-side diff view

Implemented something like this

We toggle using t. Any thoughts on the design?
@panglesd @Julow

That is a very good start!
Some early comments on the usability:

It would be nice if the left and right areas were of always the same size: half of the available size
The common lines should be aligned, or even better, not duplicated!
We need to keep the + and - signs: the goal is to have an accessible interface, so we cannot rely on colors!

Hi,
Can I clarify on what you mean by "The common lines should be aligned, or even better, not duplicated!", as I thought a side by side view still show common lines from both files? Thanks

Hi, sorry for the confusion. Yes the common lines should be duplicated at first. Other way of rendering this are for future issues.
However, the common lines should be aligned, for example this diff:
 FIRST
-a
+b
+b
 LAST

Should render to something like:
FIRST       FIRST
a           b
            b
LAST        LAST

In order to do this, it might be needed to make the split_hunk a bit smarter.
Perhaps by this approach: When you encounter a `Mine, collect all the `Mine that follows in a list, then the following `Their in an other list. If one list is smaller than the other, add empty lines to it.
If instead you encounter a `Their first, do the same but collect the `Their first then the `Mine.
The append these lists to mine_acc and their_acc as you are already doing.
You'd need to turn it into a recursive function instead of using a fold_left. You need to write a function that collects consecutive lines of a specified kind (`Mine or `Their). This function must return the remaining of the list to continue the iteration from the right place.

Hello @yokurang !
Could you confirm that @Julow's explanation makes sense to you?
This PR is already pretty advanced!

Hi, yes, the explanation makes sense. Sorry for the delay, I have been quite busy with school work and some interviews. I'm finishing up soon, so I'll have time to finish this PR soon! Sorry for the delay.

Hi @Julow, I believe I modified split_hunk in the way you explained before. Could I ask you to verify is my solution is indeed correct?
Furthermore, @panglesd, I made the following progress:

I added + and - signs
I wanted to ask if you have any pointers for finding the total width of the viewbox so that I can calculate half the width and wrap the lines appropriately so the left and right areas are always of the same size. I just read up on layout_width from https://ocaml.org/p/nottui/0.3/doc/Nottui/Ui/index.html#val-layout_width. I haven't tried it yet, but wanted to ask if I am in the right direction.
With regards to the point that common lines should be aligned, or even better, not duplicated, can I clarify if we are not duplicating common lines, does this mean that common lines should only be displayed on one side of the side-by-side diff view? On that note, I am also assuming that the following screenshot is wrong?

Thank you

I think I'll leave that for a separate PR.. permission to merge sir? 🫡

You can go ahead. I'd prefer a "Squash and merge" to make the history more regular.


how do we know a bundle has been updated?

Do we need any sort of checksum or anything that signals a consumer (wallet app) that the bundle has been updated, and it needs to re-download the bundle and update the local cache?

Not currently present, but you are right, it should be added.  Can be done as part of the generation of the ocabundles.json creation —  added item per identifier.
Doh!

Would it be sufficient to do a md5sum OCABundle.json, and include that in the ocabundles.json that the wallet loads to get a list of identifiers and OCA File locations?  The wallet still needs to get the ocabundles.json, but could see if the mda5sum is the same for each OCA Bundle, and only retrieve the OCA Bundle if the file changes, or it is a new one.  Or just load new ones when they are used…
No need AFAIK to check the mda5sum in the wallet — just used to know if there has been an update or not.
Easy change…let me know what you think.

I agree. I think a checksum of some sort should work

OK - I’ll add it. Should be easy...

@amanji @cvarjao -- I've implemented this by adding a SHA256 field along with the path in the ocabundle.json and ocabundlelist.json files.  Will the current implementation in the BC Wallet (and OCA Explorer) still handle the JSON and just ignore the added JSON item, or do we need to update the consumer code before we add this into the repo?
Current Format Example:
{
   "AcZpBDz3oxmKrpcuPcdKai:2:Digital Business Card:1.0.0": { "path": "OCABundles/schema/bcgov-digital-trust/business-card/OCABundle.json" },
   "K9igebFysBL6jcBwR8bKuN:2:Digital Business Card:1.0.0": { "path": "OCABundles/schema/bcgov-digital-trust/business-card-showcase/OCABundle.json" }
}

New Format Example:
{
   "AcZpBDz3oxmKrpcuPcdKai:2:Digital Business Card:1.0.0": { "path": "OCABundles/schema/bcgov-digital-trust/business-card/OCABundle.json", "sha256": "34804dbb328cd8741d048121963786f4be63c654abdf0757a10f477c8e8924d5" },
   "K9igebFysBL6jcBwR8bKuN:2:Digital Business Card:1.0.0": { "path": "OCABundles/schema/bcgov-digital-trust/business-card-showcase/OCABundle.json", "sha256": "aa4dc9de20639a77ab53c419e9e46f405008be170e68ddf4d22551cc0a6be230" }
}

@swcurran, I think that is good enough.  @wadeking98 anything else you might need for caching/updating OCA bundle files?

@cvarjao — doesn’t answer my question.  Can we just add that item and existing code will work, or will it break the existing code and we’ll need to update the code (to handle both formats) before we can update the file?

I agree with @cvarjao the BC Wallet should be fine

Good stuff — thanks.  Once we approve and merge #102 I’ll update the script to add this feature to the generated files.
#102 allows Bundles to be in any folder with the OCABundles folder, so that we can better organize the bundles — e.g. person can have multiple version (production, test, unverified) below it vs. all being beside each other.

This issue is complete. @wadeking98 @cvarjao -- please let me know when this is in use in BC Wallet. Not that I need to know -- just interested.  Let me know if you have any questions :-).


Add subject.

Fixes https://github.com/cloudevents/sdk-go/issues/103

Implements https://github.com/cloudevents/spec/pull/406


Code Lens disappearing for unittest Tests when Live Share extension is active

Environment data

VS Code version: 1.50.0
Extension version (available under the Extensions sidebar): 2020.9.114305 (6 October 2020)
OS and version: Linux x64 4.15.0-118-generic
Python version (& distribution if applicable, e.g. Anaconda): Python 3.6.9
Type of virtual environment used (N/A | venv | virtualenv | conda | ...): N/A
Relevant/affected Python packages and their versions: unittest (part of Pythhon 3.6.9)
Relevant/affected Python-related VS Code extensions and their versions: N/A
Value of the python.languageServer setting: Jedi

Expected behaviour
When Live Share extension is enabled, the test code lens in pthon test files works and "Run Test | Debug Test" code lense is present above test methods of unittest classes.
Actual behaviour
When Live share extension is enable, code lens is not present above test methods / unittest classes.
Steps to reproduce:
Using the minimal example from sandbox.zip:

Start VS Code with Live Share extension installed but disabled
Open folder sandbox
Open example_test.py.
Now code lens with "Run Test | Debug Test" appears.
Enable Live Share extension
Now the "Run Test | Debug Test" code lens disappears. Running the test via the command palette or the test side bar still works, though.

Logs

Output for Python in the Output panel (View→Output, change the drop-down the upper-right of the Output panel to Python)

User belongs to experiment group 'AlwaysDisplayTestExplorer - experiment'
User belongs to experiment group 'ShowPlayIcon - start'
User belongs to experiment group 'ShowExtensionSurveyPrompt - enabled'
User belongs to experiment group 'DebugAdapterFactory - experiment'
User belongs to experiment group 'PtvsdWheels37 - experiment'
User belongs to experiment group 'UseTerminalToGetActivatedEnvVars - control'
User belongs to experiment group 'LocalZMQKernel - experiment'
User belongs to experiment group 'CollectLSRequestTiming - experiment'
User belongs to experiment group 'CollectNodeLSRequestTiming - experiment'
User belongs to experiment group 'EnableIPyWidgets - experiment'
User belongs to experiment group 'RunByLine - experiment'
User belongs to experiment group 'CustomEditorSupport - control'
User belongs to experiment group 'pythonaa'
> conda --version
> pyenv root
> python3.7 ~/.vscode/extensions/ms-python.python-2020.9.114305/pythonFiles/pyvsc-run-isolated.py -c "import sys;print(sys.executable)"
> python3.6 ~/.vscode/extensions/ms-python.python-2020.9.114305/pythonFiles/pyvsc-run-isolated.py -c "import sys;print(sys.executable)"
> python3 ~/.vscode/extensions/ms-python.python-2020.9.114305/pythonFiles/pyvsc-run-isolated.py -c "import sys;print(sys.executable)"
> python2 ~/.vscode/extensions/ms-python.python-2020.9.114305/pythonFiles/pyvsc-run-isolated.py -c "import sys;print(sys.executable)"
> python ~/.vscode/extensions/ms-python.python-2020.9.114305/pythonFiles/pyvsc-run-isolated.py -c "import sys;print(sys.executable)"
> python ~/.vscode/extensions/ms-python.python-2020.9.114305/pythonFiles/pyvsc-run-isolated.py -c "import sys;print(sys.executable)"
> conda info --json
> python ~/.vscode/extensions/ms-python.python-2020.9.114305/pythonFiles/pyvsc-run-isolated.py -c "import sys;print(sys.executable)"
> python ~/.vscode/extensions/ms-python.python-2020.9.114305/pythonFiles/pyvsc-run-isolated.py -c "import sys;print(sys.executable)"
> /usr/bin/python3 ~/.vscode/extensions/ms-python.python-2020.9.114305/pythonFiles/pyvsc-run-isolated.py -c "import jupyter"
> /usr/bin/python3 ~/.vscode/extensions/ms-python.python-2020.9.114305/pythonFiles/pyvsc-run-isolated.py -c "import jupyter"
> /usr/bin/python3 ~/.vscode/extensions/ms-python.python-2020.9.114305/pythonFiles/pyvsc-run-isolated.py -c "import notebook"
> /usr/bin/python3 ~/.vscode/extensions/ms-python.python-2020.9.114305/pythonFiles/pyvsc-run-isolated.py -c "import notebook"
> /usr/bin/python ~/.vscode/extensions/ms-python.python-2020.9.114305/pythonFiles/pyvsc-run-isolated.py -c "import ipykernel"
> /usr/bin/python ~/.vscode/extensions/ms-python.python-2020.9.114305/pythonFiles/pyvsc-run-isolated.py -c "import ipykernel"
> /usr/bin/python3 ~/.vscode/extensions/ms-python.python-2020.9.114305/pythonFiles/pyvsc-run-isolated.py jupyter kernelspec --version
> /usr/bin/python3 ~/.vscode/extensions/ms-python.python-2020.9.114305/pythonFiles/pyvsc-run-isolated.py jupyter kernelspec --version
Starting Jedi Python language engine.
Python interpreter path: /usr/bin/python3
> /usr/bin/python3 -c "
import unittest
loader = unittest.TestLoader()
suites = loader.discover(".", pattern="*_test.py")
print("start") #Don't remove this line
for suite in suites._tests:
    for cls in suite._tests:
        try:
            for m in cls._tests:
                print(m.id())
        except:
            pass"
cwd: ~/work/sandbox
> /usr/bin/python3 -c "
import unittest
loader = unittest.TestLoader()
suites = loader.discover(".", pattern="*_test.py")
print("start") #Don't remove this line
for suite in suites._tests:
    for cls in suite._tests:
        try:
            for m in cls._tests:
                print(m.id())
        except:
            pass"
cwd: ~/work/sandbox
> /usr/bin/python3 ~/.vscode/extensions/ms-python.python-2020.9.114305/pythonFiles/vscode_datascience_helpers/getJupyterKernelspecVersion.py
> /usr/bin/python3 ~/.vscode/extensions/ms-python.python-2020.9.114305/pythonFiles/vscode_datascience_helpers/getJupyterKernelspecVersion.py
> conda --version
> /usr/bin/python3 ~/.vscode/extensions/ms-python.python-2020.9.114305/pythonFiles/pyvsc-run-isolated.py -c "import sys;print(sys.prefix)"
cwd: ~/work/sandbox
> /usr/bin/python3 ~/.vscode/extensions/ms-python.python-2020.9.114305/pythonFiles/pyvsc-run-isolated.py -c "import sys;print(sys.prefix)"
cwd: ~/work/sandbox
> /usr/bin/python3 ~/.vscode/extensions/ms-python.python-2020.9.114305/pythonFiles/pyvsc-run-isolated.py -c "import sys;print(sys.executable)"
cwd: ~/work/sandbox
> /usr/bin/python3 ~/.vscode/extensions/ms-python.python-2020.9.114305/pythonFiles/pyvsc-run-isolated.py -c "import sys;print(sys.executable)"
cwd: ~/work/sandbox
> /usr/bin/python3 ~/.vscode/extensions/ms-python.python-2020.9.114305/pythonFiles/pyvsc-run-isolated.py -c "from distutils.sysconfig import get_python_lib; print(get_python_lib())"
cwd: ~/work/sandbox
> /usr/bin/python3 ~/.vscode/extensions/ms-python.python-2020.9.114305/pythonFiles/pyvsc-run-isolated.py -c "from distutils.sysconfig import get_python_lib; print(get_python_lib())"
cwd: ~/work/sandbox
> /usr/bin/python3 ~/.vscode/extensions/ms-python.python-2020.9.114305/pythonFiles/pyvsc-run-isolated.py site --user-site
cwd: ~/work/sandbox
> /usr/bin/python3 ~/.vscode/extensions/ms-python.python-2020.9.114305/pythonFiles/pyvsc-run-isolated.py site --user-site
cwd: ~/work/sandbox
> /usr/bin/python3 ~/.vscode/extensions/ms-python.python-2020.9.114305/pythonFiles/pyvsc-run-isolated.py ~/.vscode/extensions/ms-python.python-2020.9.114305/pythonFiles/completion.py
> /usr/bin/python3 ~/.vscode/extensions/ms-python.python-2020.9.114305/pythonFiles/pyvsc-run-isolated.py ~/.vscode/extensions/ms-python.python-2020.9.114305/pythonFiles/completion.py
> /usr/bin/python3 ~/.vscode/extensions/ms-python.python-2020.9.114305/pythonFiles/pyvsc-run-isolated.py pylint --disable=all --enable=F,unreachable,duplicate-key,unnecessary-semicolon,global-variable-not-assigned,unused-variable,unused-wildcard-import,binary-op-exception,bad-format-string,anomalous-backslash-in-string,bad-open-mode,E0001,E0011,E0012,E0100,E0101,E0102,E0103,E0104,E0105,E0107,E0108,E0110,E0111,E0112,E0113,E0114,E0115,E0116,E0117,E0118,E0202,E0203,E0211,E0213,E0236,E0237,E0238,E0239,E0240,E0241,E0301,E0302,E0303,E0401,E0402,E0601,E0602,E0603,E0604,E0611,E0632,E0633,E0701,E0702,E0703,E0704,E0710,E0711,E0712,E1003,E1101,E1102,E1111,E1120,E1121,E1123,E1124,E1125,E1126,E1127,E1128,E1129,E1130,E1131,E1132,E1133,E1134,E1135,E1136,E1137,E1138,E1139,E1200,E1201,E1205,E1206,E1300,E1301,E1302,E1303,E1304,E1305,E1306,E1310,E1700,E1701 --msg-template='{line},{column},{category},{symbol}:{msg}' --reports=n --output-format=text ~/work/sandbox/example_test.py
cwd: ~/work/sandbox
> /usr/bin/python3 ~/.vscode/extensions/ms-python.python-2020.9.114305/pythonFiles/pyvsc-run-isolated.py pylint --disable=all --enable=F,unreachable,duplicate-key,unnecessary-semicolon,global-variable-not-assigned,unused-variable,unused-wildcard-import,binary-op-exception,bad-format-string,anomalous-backslash-in-string,bad-open-mode,E0001,E0011,E0012,E0100,E0101,E0102,E0103,E0104,E0105,E0107,E0108,E0110,E0111,E0112,E0113,E0114,E0115,E0116,E0117,E0118,E0202,E0203,E0211,E0213,E0236,E0237,E0238,E0239,E0240,E0241,E0301,E0302,E0303,E0401,E0402,E0601,E0602,E0603,E0604,E0611,E0632,E0633,E0701,E0702,E0703,E0704,E0710,E0711,E0712,E1003,E1101,E1102,E1111,E1120,E1121,E1123,E1124,E1125,E1126,E1127,E1128,E1129,E1130,E1131,E1132,E1133,E1134,E1135,E1136,E1137,E1138,E1139,E1200,E1201,E1205,E1206,E1300,E1301,E1302,E1303,E1304,E1305,E1306,E1310,E1700,E1701 --msg-template='{line},{column},{category},{symbol}:{msg}' --reports=n --output-format=text ~/work/sandbox/example_test.py
cwd: ~/work/sandbox
##########Linting Output - pylint##########

Your code has been rated at 10.00/10 (previous run: 10.00/10, +0.00)

After step 5 (enabling Live Share) the following is logged:

> /usr/bin/python3 -c "
import unittest
loader = unittest.TestLoader()
suites = loader.discover(".", pattern="*_test.py")
print("start") #Don't remove this line
for suite in suites._tests:
    for cls in suite._tests:
        try:
            for m in cls._tests:
                print(m.id())
        except:
            pass"
cwd: ~/work/sandbox
> /usr/bin/python3 -c "
import unittest
loader = unittest.TestLoader()
suites = loader.discover(".", pattern="*_test.py")
print("start") #Don't remove this line
for suite in suites._tests:
    for cls in suite._tests:
        try:
            for m in cls._tests:
                print(m.id())
        except:
            pass"
cwd: ~/work/sandbox
> /usr/bin/python3 ~/.vscode/extensions/ms-python.python-2020.9.114305/pythonFiles/pyvsc-run-isolated.py pylint --disable=all --enable=F,unreachable,duplicate-key,unnecessary-semicolon,global-variable-not-assigned,unused-variable,unused-wildcard-import,binary-op-exception,bad-format-string,anomalous-backslash-in-string,bad-open-mode,E0001,E0011,E0012,E0100,E0101,E0102,E0103,E0104,E0105,E0107,E0108,E0110,E0111,E0112,E0113,E0114,E0115,E0116,E0117,E0118,E0202,E0203,E0211,E0213,E0236,E0237,E0238,E0239,E0240,E0241,E0301,E0302,E0303,E0401,E0402,E0601,E0602,E0603,E0604,E0611,E0632,E0633,E0701,E0702,E0703,E0704,E0710,E0711,E0712,E1003,E1101,E1102,E1111,E1120,E1121,E1123,E1124,E1125,E1126,E1127,E1128,E1129,E1130,E1131,E1132,E1133,E1134,E1135,E1136,E1137,E1138,E1139,E1200,E1201,E1205,E1206,E1300,E1301,E1302,E1303,E1304,E1305,E1306,E1310,E1700,E1701 --msg-template='{line},{column},{category},{symbol}:{msg}' --reports=n --output-format=text ~/work/sandbox/example_test.py
cwd: ~/work/sandbox
> /usr/bin/python3 ~/.vscode/extensions/ms-python.python-2020.9.114305/pythonFiles/pyvsc-run-isolated.py pylint --disable=all --enable=F,unreachable,duplicate-key,unnecessary-semicolon,global-variable-not-assigned,unused-variable,unused-wildcard-import,binary-op-exception,bad-format-string,anomalous-backslash-in-string,bad-open-mode,E0001,E0011,E0012,E0100,E0101,E0102,E0103,E0104,E0105,E0107,E0108,E0110,E0111,E0112,E0113,E0114,E0115,E0116,E0117,E0118,E0202,E0203,E0211,E0213,E0236,E0237,E0238,E0239,E0240,E0241,E0301,E0302,E0303,E0401,E0402,E0601,E0602,E0603,E0604,E0611,E0632,E0633,E0701,E0702,E0703,E0704,E0710,E0711,E0712,E1003,E1101,E1102,E1111,E1120,E1121,E1123,E1124,E1125,E1126,E1127,E1128,E1129,E1130,E1131,E1132,E1133,E1134,E1135,E1136,E1137,E1138,E1139,E1200,E1201,E1205,E1206,E1300,E1301,E1302,E1303,E1304,E1305,E1306,E1310,E1700,E1701 --msg-template='{line},{column},{category},{symbol}:{msg}' --reports=n --output-format=text ~/work/sandbox/example_test.py
cwd: ~/work/sandbox
##########Linting Output - pylint##########

--------------------------------------------------------------------
Your code has been rated at 10.00/10 (previous run: 10.00/10, +0.00)

Thanks for the bug report! We investigate issues in order based on priority and severity, which includes the impact it has on your ability to use the extension to do productive work, and the number of people affected. If other users come forward and leave a comment demonstrating they are seeing/reproducing the problem then we will raise this issue's priority.
If you think your issue is more of a question or configuration problem rather than a bug, please ask on Stack Overflow with the visual-studio-code and python labels for help.
Thanks for your understanding and patience!

@karthiknadig ,
I'm experiencing this same bug.  Interestingly though, once you start a Live Share session, the "Run Test | Debug Test" code lens appears again.  From what I can tell, it's only when the Live Share extension is enabled, but not currently being used in a session that the code lens disappears.
Steps to reproduce:

Follow steps 1-6 by @choeppler
Now open up a Live Share session with yourself or someone else

You should see "Run Test | Debug Test" appear above tests

Close Live Share session

"Run Test | Debug Test" buttons will disappear until you disable the Live Share extension or start another shared session

I can confirm this! Also happens in the same way @aedwardg and @choeppler described. Code lens ("Run Test | Debug Test") appears when you start a live session.

This is fixed by https://github.com/microsoft/vscode-python/pull/16769. Code lenses are deprecated by that PR, but the actions on the gutter show up and run the tests when you click on them, even when the Live Share extension is active:

Closing this since it was fixed in #16769.


KYC - whitelist (WIP, probably outdated already)

Closes https://github.com/raiden-network/raiden-token/issues/112

Will not implement


Fix cronjob timestamp trimming.

Please provide a description of this PR:
fix #35563

/retest

@bianpengyuan: The following test failed, say /retest to rerun all failed tests or /retest-required to rerun all mandatory failed tests:

Test name
Commit
Details
Required
Rerun command

lint_istio
92d226d49a9f9bd5b4017ad028a6743ce1f25fdd
link
true
/test lint_istio

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.

@bianpengyuan: The following tests failed, say /retest to rerun all failed tests or /retest-required to rerun all mandatory failed tests:

Test name
Commit
Details
Required
Rerun command

lint_istio
92d226d49a9f9bd5b4017ad028a6743ce1f25fdd
link
true
/test lint_istio

gencheck_istio
92d226d49a9f9bd5b4017ad028a6743ce1f25fdd
link
true
/test gencheck_istio

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.

@bianpengyuan: The following test failed, say /retest to rerun all failed tests or /retest-required to rerun all mandatory failed tests:

Test name
Commit
Details
Required
Rerun command

integ-ipv6-k8s-tests_istio
bd4f6a3de251f895d6cb0bb7a1bbd4e997c4b583
link
true
/test integ-ipv6-k8s-tests_istio

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.

@bianpengyuan: The following tests failed, say /retest to rerun all failed tests or /retest-required to rerun all mandatory failed tests:

Test name
Commit
Details
Required
Rerun command

integ-ipv6-k8s-tests_istio
bd4f6a3de251f895d6cb0bb7a1bbd4e997c4b583
link
true
/test integ-ipv6-k8s-tests_istio

integ-distroless-k8s-tests_istio
bd4f6a3de251f895d6cb0bb7a1bbd4e997c4b583
link
true
/test integ-distroless-k8s-tests_istio

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.

/retest

@bianpengyuan: The following tests failed, say /retest to rerun all failed tests or /retest-required to rerun all mandatory failed tests:

Test name
Commit
Details
Required
Rerun command

integ-distroless-k8s-tests_istio
bd4f6a3de251f895d6cb0bb7a1bbd4e997c4b583
link
true
/test integ-distroless-k8s-tests_istio

integ-ipv6-k8s-tests_istio
bd4f6a3de251f895d6cb0bb7a1bbd4e997c4b583
link
true
/test integ-ipv6-k8s-tests_istio

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.

@bianpengyuan: The following tests failed, say /retest to rerun all failed tests or /retest-required to rerun all mandatory failed tests:

Test name
Commit
Details
Required
Rerun command

integ-ipv6-k8s-tests_istio
bd4f6a3de251f895d6cb0bb7a1bbd4e997c4b583
link
true
/test integ-ipv6-k8s-tests_istio

integ-distroless-k8s-tests_istio
bd4f6a3de251f895d6cb0bb7a1bbd4e997c4b583
link
true
/test integ-distroless-k8s-tests_istio

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.

In response to a cherrypick label: #35655 failed to apply on top of branch "release-1.10":
Applying: Fix cronjob timestamp trimming.
Using index info to reconstruct a base tree...
M	pkg/kube/util.go
Falling back to patching base and 3-way merge...
Auto-merging pkg/kube/util.go
CONFLICT (content): Merge conflict in pkg/kube/util.go
error: Failed to merge in the changes.
hint: Use 'git am --show-current-patch=diff' to see the failed patch
Patch failed at 0001 Fix cronjob timestamp trimming.
When you have resolved this problem, run "git am --continue".
If you prefer to skip this patch, run "git am --skip" instead.
To restore the original branch and stop patching, run "git am --abort".

In response to a cherrypick label: new issue created for failed cherrypick: #36146

In response to a cherrypick label: new pull request created: #36147

In response to a cherrypick label: new pull request created: #36148

we need a release note entry for all backports


Localization with IOS is missing

Expected Behaviour
"message": {
"locKey": "local_message_key"
"locData": [ "arg1", "arg2" ],
}
should be processed by IOS to match localization files in Resources/Localizable.strings directory for IOS. Same for summaryText and title fields.
Actual Behaviour
Notification message is displayed as below with no localization:
"locKey": "local_message_key" "locData": [ "arg1", "arg2" ]
Reproduce Scenario (including but not limited to)
Steps to Reproduce
Platform and Version (eg. Android 5.0 or iOS 9.2.1)
IOS
(Android) What device vendor (e.g. Samsung, HTC, Sony...)
Cordova CLI version and cordova platform version
cordova --verson
7.1.0
cordova platform version android
android 6.3.0
ios 4.5.4
Plugin version
cordova plugin version | grep phonegap-plugin-push
2.1.2
Sample Push Data Payload
{
"data": {
"image": "https://www.littlecaesars.com.tr/upload/normal/image5927e12d0ed1a.jpg",
"ledColor": "[0, 241, 118, 29]",
"summaryText": {
"locData": [],
"locKey": "notification.SUMMARY_TEXT"
},
"payload": {
"supplierName": "Little Caesars",
"totalPrice": 16.9,
"custSurname": "Senyurt",
"notificationMessage": "Your new Coviot order Pide de Pizza is being processed.",
"trxStatus": "NEWORDER",
"eventType": "TRANSACTION",
"notificationType": "NEWORDER_APPROVED_BY_PREFERENCES",
"productPict": "https://www.littlecaesars.com.tr/upload/normal/image5927e12d0ed1a.jpg",
"custName": "Adnan",
"deviceId": "120611",
"notificationLocKey": "notification.NEWORDER_APPROVED_BY_PREFERENCES",
"notificationParams": [
"Pide de Pizza"
],
"productName": "Pide de Pizza",
"priceCurrency": "TRY",
"trxCreatedDateTime": "2017-12-12T16:47:37.078Z",
"id": 28206,
"providerName": "Little Caesars"
},
"sound": "default",
"style": "inbox",
"title": "Coviot",
"message": {
"locData": [
"Pide de Pizza"
],
"locKey": "notification.NEWORDER_APPROVED_BY_PREFERENCES"
},
"image-type": "circle",
"content-available": "1",
"notId": 28206
},
"to": "ezryX22N1c4:APA91bHVOqkUOxIb9huPbG-0WbOKhW-2FRi47I-7bR-kcbIclisNEhykGLaejNj41Q45MevDMSmKbfluWWznIB2T3UOJOEo-3GFy7dJtukAflXUFK8jIJbMeo-2j--HREaJdcAwZdwrx"
}
Sample Code that illustrates the problem
Logs taken while reproducing problem

I've managed to make localization running on IOS with the following workaround:
"body_loc_key": "local_message_key"
},
"body_loc_args": [ "arg1", "arg2"]
I did not test for Android yet, but body_loc_key and body_loc_args might be working also for Android.
Similarly, for Title field, use title_loc_key and title_loc_args
https://firebase.google.com/docs/cloud-messaging/http-server-ref

@adnansenyurt are you sending your push to iOS using FCM or APNS? If you are using FCM on iOS you can follow the directions on the link you provided. If you are using APNS on iOS the feature has not been implemented.
For FCM on Android then you should look at the docs: https://github.com/phonegap/phonegap-plugin-push/blob/master/docs/PAYLOAD.md#localization

We're using FCM API, and I'm already following the PAYLOAD document for how to. FCM on Android is working as you've stated, but not FCM on IOS, at least not for the messages received on background case. I did manage to make it working by using body_loc_key and body_loc_args keys instead of locKey and locData keys.

Now that I've a workaround, we can close the issue. Thanks.


Make it able to pass S3 bucket name for cassy module

https://scalar-labs.atlassian.net/browse/DLT-5554
If the S3 bucket name is passed to the cassy arguments for AWS,

An IAM role for EC2 instances to interact with the S3 bucket is created and attached.
The S3 bucket name is added to cassy.properties file.

@tei-k @feeblefakie This is still a draft PR because I'm going to update CassySetup.md later. It would be nice if you could check the code in advance.

@tei-k @feeblefakie I have just made the storage_base_uri required in a04e693 (Will fix the failing test later). But it's hard to make it required only if Cassy's resource_count > 0. Do you think the storage_base_uri can be optional? If the URI is empty, an incomplete IAM policy would be created, but it doesn't take effect.

@feeblefakie @tei-k
As we discussed, I updated the code to use the aws_s3_bucket data resource so that it can check the existence of the S3 bucket.
Then, the test need a bucket to succeed. I created a bucket named scalar-terraform-test and set it in the tfvars.

@ymorimo Oh can you fix the conflict ?
@tei-k Please take a final look !

Looks good ! 👍
Left some comments. Please take a look! 😅


fix: build script #2689

General

✏ Mark the necessary items without changing the structure of the PR template.

[x] Pull request template structure not broken
fix: #2689

Type

ℹ What types of changes does your code introduce?

👉 Put an x in the boxes that apply

[x] Bug fix (non-breaking change which fixes an issue)
[ ] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to not work as expected)
[ ] This change requires a documentation update

Checklist

ℹ Check all checkboxes - this will indicate that you have done everything in accordance with the rules in CONTRIBUTING.

👉 Put an x in the boxes that apply.

[ ] My code follows the style guidelines of this project
[ ] Is the code format correct
[ ] Is the git submission information standard?
[ ] My code follows the style guidelines of this project
[ ] I have performed a self-review of my own code
[ ] I have commented my code, particularly in hard-to-understand areas
[ ] I have made corresponding changes to the documentation
[ ] My changes generate no new warnings
[ ] I have added tests that prove my fix is effective or that my feature works
[ ] New and existing unit tests pass locally with my changes
[ ] Any dependent changes have been merged and published in downstream modules

main分支已不在维护，新的pr可以提交到next分支

main分支已不在维护，新的pr可以提交到next分支


Make graphana graphs optionally public

I, like a lot of people I imagine run this great project at my house(its great!).  Its only available on my network, and none of the data here is private enough i need to log in to graphana to view it.
Its possible to view the graphs without logging in with the following 2 lines in the grafana.env
GF_FEATURE_TOGGLES_PUBLICDASHBOARDS=true
GF_AUTH_ANONYMOUS_ENABLED=true

After that and restarting the stack, you can view any dashboards but not modify them.
I'm not sure the best way to go about having this an option here.  Initially i thought about having it as a setup y/n question, but the setup is clear and concise, so it maybe just belongs in a readme somewhere.  I'm happy to try to work it in wherever if you think its a good idea.

At a minimum, we can add something like this to the end of the grafana.env.sample and users can edit as they wish.
# Uncomment to remove login requirement - makes dashboards public without edit ability
# GF_FEATURE_TOGGLES_PUBLICDASHBOARDS=true
# GF_AUTH_ANONYMOUS_ENABLED=true

@jasonacox I need this as well, as I would like to embed a grafana panel into my own web page.  Is this implemented such that I can just change the .env file and rebuild the docker, or is there work you need to do to allow this?
From the Grafana documentation...
Anonymous authentication
You can make Grafana accessible without any login required by enabling anonymous access in the configuration file.
Example:
[auth.anonymous]
enabled = true

# Organization name that should be used for unauthenticated users
org_name = Main Org.

# Role for unauthenticated users, other valid values are `Editor` and `Admin`
org_role = Viewer

If you change your organization name in the Grafana UI this setting needs to be updated to match the new name.
Thanks
David

Hi @dkerr64 !  You just need to edit the grafana.env file, add these lines and recreate the container with ./compose-dash.sh up -d
# Make dashboards public without edit ability
GF_FEATURE_TOGGLES_PUBLICDASHBOARDS=true
GF_AUTH_ANONYMOUS_ENABLED=true
GF_AUTH_ANONYMOUS_ORG_NAME=Main Org.
GF_AUTH_ANONYMOUS_ORG_ROLE=Viewer

I'll add this as an optional (commented out) section to the grafana.env.sample file that is used during setup.sh so it is easier for anyone else wanting to add this later.

Tested: Example dashboard with read-only type controls shown: