Docker 1.11 on Ubuntu 16.04 mounts root volume instead of intended directory.

Description
When binding and mounting a volume into a container via the remote API the system always mounts the root volume as the first directory (the copy directory) rather than the actual intended directory (which exists on the host system.)  Resulting in a full system image if one is not careful.
Docker Info
$ docker info
Containers: 0
 Running: 0
 Paused: 0
 Stopped: 0
Images: 3
Server Version: 1.11.0-dev
Storage Driver: aufs
 Root Dir: /var/lib/docker/aufs
 Backing Filesystem: extfs
 Dirs: 4
 Dirperm1 Supported: true
Logging Driver: json-file
Cgroup Driver: cgroupfs
Plugins:
 Volume: local
 Network: bridge null host
Kernel Version: 4.4.0-17-generic
Operating System: Ubuntu 16.04
OSType: linux
Architecture: x86_64
CPUs: 4
Total Memory: 15.639 GiB
Name: laptop
ID: KWJJ:LMXL:2KAU:5TWL:SJQA:SNTY:FJTM:XEQJ:WU7K:5YVD:33T4:2GR2
Docker Root Dir: /var/lib/docker
Debug Mode (client): false
Debug Mode (server): false
Username: envygeeks
Registry: https://index.docker.io/v1/
WARNING: No swap limit support
Experimental: true
Insecure registries:
 <IP_ADDRESS>/8

Other Info
$ hulk debug docker

`journalctl -u docker`: (These logs are only from the last reboot.)
Apr 06 23:16:09 laptop systemd[1]: Started Docker Application Container Engine.
Apr 06 23:19:28 laptop docker[787]: time="2016-04-06T23:19:28.373368334-05:00" level=error msg="Couldn't run auplink before unmount /var/lib/docker/tmp/docker-aufs-union145373528: exec: \"auplink\": executable file not found in $PATH"
Apr 06 23:19:28 laptop docker[787]: time="2016-04-06T23:19:28.406992016-05:00" level=error msg="Couldn't run auplink before unmount /var/lib/docker/aufs/mnt/c1a0293c70f03b222ab6999127021188b38119b64b010d8e24dac81223ff4a8f-init: exec: \"auplink\": executable file not found in $PATH"
Apr 06 23:19:28 laptop docker[787]: time="2016-04-06T23:19:28.432701917-05:00" level=error msg="Couldn't run auplink before unmount /var/lib/docker/aufs/mnt/c1a0293c70f03b222ab6999127021188b38119b64b010d8e24dac81223ff4a8f: exec: \"auplink\": executable file not found in $PATH"
Apr 06 23:19:28 laptop docker[787]: time="2016-04-06T23:19:28.477600698-05:00" level=info msg="No non-localhost DNS nameservers are left in resolv.conf. Using default external servers : [nameserver <IP_ADDRESS> nameserver <IP_ADDRESS>]"
Apr 06 23:19:28 laptop docker[787]: time="2016-04-06T23:19:28.477689828-05:00" level=info msg="IPv6 enabled; Adding default IPv6 external servers : [nameserver 2001:4860:4860::8888 nameserver 2001:4860:4860::8844]"
Apr 06 23:22:19 laptop docker[787]: time="2016-04-06T23:22:19.586754765-05:00" level=error msg="Handler for DELETE /v1.16/images/d62aa73adae9 returned error: conflict: unable to delete d62aa73adae9 (cannot be forced) - image is being used by running container 96e7632b720e"
Apr 06 23:22:19 laptop docker[787]: time="2016-04-06T23:22:19.591695280-05:00" level=info msg="Container 96e7632b720e447f657fa698ce2a6026cac15146767d10214a408a4f2563a568 failed to exit within 0 seconds of signal 15 - using the force"
Apr 06 23:22:19 laptop docker[787]: time="2016-04-06T23:22:19.821999685-05:00" level=error msg="Couldn't run auplink before unmount /var/lib/docker/aufs/mnt/c1a0293c70f03b222ab6999127021188b38119b64b010d8e24dac81223ff4a8f: exec: \"auplink\": executable file not found in $PATH"
Apr 06 23:23:06 laptop docker[787]: time="2016-04-06T23:23:06.847996958-05:00" level=error msg="Couldn't run auplink before unmount /var/lib/docker/aufs/mnt/0079715a175f7e722aba99a158fd62aeb2d5b7dc20147a52b31e903b25c52702-init: exec: \"auplink\": executable file not found in $PATH"
Apr 06 23:23:06 laptop docker[787]: time="2016-04-06T23:23:06.902822210-05:00" level=error msg="Couldn't run auplink before unmount /var/lib/docker/aufs/mnt/0079715a175f7e722aba99a158fd62aeb2d5b7dc20147a52b31e903b25c52702: exec: \"auplink\": executable file not found in $PATH"
Apr 06 23:23:06 laptop docker[787]: time="2016-04-06T23:23:06.954597074-05:00" level=info msg="No non-localhost DNS nameservers are left in resolv.conf. Using default external servers : [nameserver <IP_ADDRESS> nameserver <IP_ADDRESS>]"
Apr 06 23:23:06 laptop docker[787]: time="2016-04-06T23:23:06.954688485-05:00" level=info msg="IPv6 enabled; Adding default IPv6 external servers : [nameserver 2001:4860:4860::8888 nameserver 2001:4860:4860::8844]"
Apr 06 23:24:26 laptop docker[787]: time="2016-04-06T23:24:26.453701629-05:00" level=error msg="Handler for DELETE /v1.16/images/d62aa73adae9 returned error: conflict: unable to delete d62aa73adae9 (cannot be forced) - image is being used by running container 526b2ea83015"
Apr 06 23:24:26 laptop docker[787]: time="2016-04-06T23:24:26.457262945-05:00" level=info msg="Container 526b2ea83015352f718aaa59080a4b500ee8e3f76791992f4903cd6a63898e2b failed to exit within 0 seconds of signal 15 - using the force"
Apr 06 23:24:26 laptop docker[787]: time="2016-04-06T23:24:26.681974806-05:00" level=error msg="Couldn't run auplink before unmount /var/lib/docker/aufs/mnt/0079715a175f7e722aba99a158fd62aeb2d5b7dc20147a52b31e903b25c52702: exec: \"auplink\": executable file not found in $PATH"
Apr 06 23:37:02 laptop docker[787]: time="2016-04-06T23:37:02.485623856-05:00" level=error msg="Couldn't run auplink before unmount /var/lib/docker/aufs/mnt/1aa1f889eb6b5d283ef9612613aa60b35d72de6abd9648b53d5be9388a44570a-init: exec: \"auplink\": executable file not found in $PATH"
Apr 06 23:37:02 laptop docker[787]: time="2016-04-06T23:37:02.541128797-05:00" level=error msg="Couldn't run auplink before unmount /var/lib/docker/aufs/mnt/1aa1f889eb6b5d283ef9612613aa60b35d72de6abd9648b53d5be9388a44570a: exec: \"auplink\": executable file not found in $PATH"
Apr 06 23:37:02 laptop docker[787]: time="2016-04-06T23:37:02.595425654-05:00" level=info msg="No non-localhost DNS nameservers are left in resolv.conf. Using default external servers : [nameserver <IP_ADDRESS> nameserver <IP_ADDRESS>]"
Apr 06 23:37:02 laptop docker[787]: time="2016-04-06T23:37:02.595456550-05:00" level=info msg="IPv6 enabled; Adding default IPv6 external servers : [nameserver 2001:4860:4860::8888 nameserver 2001:4860:4860::8844]"
Apr 06 23:37:12 laptop docker[787]: time="2016-04-06T23:37:12.778995044-05:00" level=error msg="Handler for DELETE /v1.16/images/d62aa73adae9 returned error: conflict: unable to delete d62aa73adae9 (cannot be forced) - image is being used by running container d0f5edb1e445"
Apr 06 23:37:12 laptop docker[787]: time="2016-04-06T23:37:12.782357862-05:00" level=info msg="Container d0f5edb1e4458c025f796ff302afb43fe9e124ae4f4f1c074d5e441e009bbe4c failed to exit within 0 seconds of signal 15 - using the force"
Apr 06 23:37:12 laptop docker[787]: time="2016-04-06T23:37:12.994010219-05:00" level=error msg="Couldn't run auplink before unmount /var/lib/docker/aufs/mnt/1aa1f889eb6b5d283ef9612613aa60b35d72de6abd9648b53d5be9388a44570a: exec: \"auplink\": executable file not found in $PATH"

It seems there might be a package called `auplink` missing?  Would you like me
to install it? I am happy to do your job for you, captain systems. [Y/n] y

`auplink` is provided by `aufs-tools` in Ubuntu/Debian.
Installing `aufs-tools`
Done.

Command to re-run:
docker-template \
  build alpine

Here are the logs, this time we got an interesting result:
Apr 06 23:44:40 laptop docker[787]: time="2016-04-06T23:44:40.497594301-05:00" level=info msg="No non-localhost DNS nameservers are left in resolv.conf. Using default external servers : [nameserver <IP_ADDRESS> nameserver <IP_ADDRESS>]"
Apr 06 23:44:40 laptop docker[787]: time="2016-04-06T23:44:40.498374728-05:00" level=info msg="IPv6 enabled; Adding default IPv6 external servers : [nameserver 2001:4860:4860::8888 nameserver 2001:4860:4860::8844]"
Apr 06 23:45:14 laptop docker[787]: time="2016-04-06T23:45:14.664036962-05:00" level=error msg="Handler for DELETE /v1.16/images/d62aa73adae9 returned error: conflict: unable to delete d62aa73adae9 (cannot be forced) - image is being used by running container cdf340351ad5"
Apr 06 23:45:14 laptop docker[787]: time="2016-04-06T23:45:14.668300614-05:00" level=info msg="Container cdf340351ad58b6cff94a829516b2210eb06414b4d9c2834abf1452df30cf76e failed to exit within 0 seconds of signal 15 - using the force"
Apr 06 23:45:15 laptop docker[787]: time="2016-04-06T23:45:15.024394456-05:00" level=error msg="Couldn't run auplink before unmount /var/lib/docker/aufs/mnt/f4b132fafbb06ca85f40b8a9a279f405c0b067c6532f6d3cf398be9863a20bd3: signal: segmentation fault (core dumped)"

Here is some other information:
[
    {
        "Id": "32e18398faedcf751c069460080e6a0fe611faf81ab142242bfc02d934386a02",
        "Created": "2016-04-07T04:53:00.031610464Z",
        "Path": "/usr/local/bin/mkimg",
        "Args": [],
        "State": {
            "Status": "running",
            "Running": true,
            "Paused": false,
            "Restarting": false,
            "OOMKilled": false,
            "Dead": false,
            "Pid": 5996,
            "ExitCode": 0,
            "Error": "",
            "StartedAt": "2016-04-07T04:53:00.312063305Z",
            "FinishedAt": "0001-01-01T00:00:00Z"
        },
        "Image": "sha256:d62aa73adae96e7db40287b57ef8223c86529d897addbd20fb1d4e5de0faf2cc",
        "ResolvConfPath": "/var/lib/docker/containers/32e18398faedcf751c069460080e6a0fe611faf81ab142242bfc02d934386a02/resolv.conf",
        "HostnamePath": "/var/lib/docker/containers/32e18398faedcf751c069460080e6a0fe611faf81ab142242bfc02d934386a02/hostname",
        "HostsPath": "/var/lib/docker/containers/32e18398faedcf751c069460080e6a0fe611faf81ab142242bfc02d934386a02/hosts",
        "LogPath": "/var/lib/docker/containers/32e18398faedcf751c069460080e6a0fe611faf81ab142242bfc02d934386a02/32e18398faedcf751c069460080e6a0fe611faf81ab142242bfc02d934386a02-json.log",
        "Name": "/grave_turing",
        "RestartCount": 0,
        "Driver": "aufs",
        "MountLabel": "",
        "ProcessLabel": "",
        "AppArmorProfile": "",
        "ExecIDs": null,
        "HostConfig": {
            "Binds": null,
            "ContainerIDFile": "",
            "LogConfig": {
                "Type": "json-file",
                "Config": {}
            },
            "NetworkMode": "default",
            "PortBindings": null,
            "RestartPolicy": {
                "Name": "",
                "MaximumRetryCount": 0
            },
            "AutoRemove": false,
            "VolumeDriver": "",
            "VolumesFrom": null,
            "CapAdd": null,
            "CapDrop": null,
            "Dns": null,
            "DnsOptions": null,
            "DnsSearch": null,
            "ExtraHosts": null,
            "GroupAdd": null,
            "IpcMode": "",
            "Cgroup": "",
            "Links": null,
            "OomScoreAdj": 0,
            "PidMode": "",
            "Privileged": false,
            "PublishAllPorts": false,
            "ReadonlyRootfs": false,
            "SecurityOpt": null,
            "StorageOpt": null,
            "UTSMode": "",
            "UsernsMode": "",
            "ShmSize": 67108864,
            "ConsoleSize": [
                0,
                0
            ],
            "Isolation": "",
            "CpuShares": 0,
            "Memory": 0,
            "CgroupParent": "",
            "BlkioWeight": 0,
            "BlkioWeightDevice": null,
            "BlkioDeviceReadBps": null,
            "BlkioDeviceWriteBps": null,
            "BlkioDeviceReadIOps": null,
            "BlkioDeviceWriteIOps": null,
            "CpuPeriod": 0,
            "CpuQuota": 0,
            "CpusetCpus": "",
            "CpusetMems": "",
            "Devices": null,
            "DiskQuota": 0,
            "KernelMemory": 0,
            "MemoryReservation": 0,
            "MemorySwap": 0,
            "MemorySwappiness": -1,
            "OomKillDisable": false,
            "PidsLimit": 0,
            "Ulimits": null,
            "CpuCount": 0,
            "CpuPercent": 0,
            "MaximumIOps": 0,
            "MaximumIOBps": 0
        },
        "GraphDriver": {
            "Name": "aufs",
            "Data": null
        },
        "Mounts": [
            {
                "Name": "633ecc0e0f047559fac6f9cada326530ddf03fb02138cb0389dd31ee3d2a5305",
                "Source": "/var/lib/docker/volumes/633ecc0e0f047559fac6f9cada326530ddf03fb02138cb0389dd31ee3d2a5305/_data",
                "Destination": "/tmp/envygeeks-alpine-3.3-copy-20160406-5956-16oll3o",
                "Driver": "local",
                "Mode": "",
                "RW": true,
                "Propagation": ""
            },
            {
                "Name": "6d7c47aa2f85220f10b36227d65a967dd3053d1fc38aaf2f5557312c543adb36",
                "Source": "/var/lib/docker/volumes/6d7c47aa2f85220f10b36227d65a967dd3053d1fc38aaf2f5557312c543adb36/_data",
                "Destination": "/tmp/envygeeks-alpine-3.3-20160406-5956-14z4946/envygeeks-alpine-3.3-archive-20160406-5956-1lw7mx9.tar.gz",
                "Driver": "local",
                "Mode": "",
                "RW": true,
                "Propagation": ""
            }
        ],
        "Config": {
            "Hostname": "32e18398faed",
            "Domainname": "",
            "User": "",
            "AttachStdin": false,
            "AttachStdout": false,
            "AttachStderr": false,
            "Tty": true,
            "OpenStdin": false,
            "StdinOnce": false,
            "Env": [
                "REPO=alpine",
                "TAR_GZ=/tmp/envygeeks-alpine-3.3-20160406-5956-14z4946/envygeeks-alpine-3.3-archive-20160406-5956-1lw7mx9.tar.gz",
                "GROUP=normal",
                "COPY_DIR=/tmp/envygeeks-alpine-3.3-copy-20160406-5956-16oll3o",
                "BUILD_TYPE=scratch",
                "TAG=3.3",
                "APK_TOOL_APK=apk-tools-static-2.6.5-r1.apk",
                "APK_TOOL_SHA=03162d70e6d42eea77624a8da76d69e665ca19aa834361c3652414f111884636",
                "APK_KEYS_SHA=bd1f365f1dbda97e02fceb86fe4ff7e220f31ecc9debfd2a0c43764b45d31d0e",
                "APK_KEYS_APK=alpine-keys-1.1-r0.apk",
                "PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin"
            ],
            "Cmd": null,
            "Image": "d62aa73adae9",
            "Volumes": {
                "/tmp/envygeeks-alpine-3.3-20160406-5956-14z4946/envygeeks-alpine-3.3-archive-20160406-5956-1lw7mx9.tar.gz": {},
                "/tmp/envygeeks-alpine-3.3-copy-20160406-5956-16oll3o": {}
            },
            "WorkingDir": "",
            "Entrypoint": [
                "/usr/local/bin/mkimg"
            ],
            "OnBuild": null,
            "Labels": {}
        },
        "NetworkSettings": {
            "Bridge": "",
            "SandboxID": "4e1792e36997ef3470a35d42c5098ad2ec097de52911afb632236ba25df99285",
            "HairpinMode": false,
            "LinkLocalIPv6Address": "",
            "LinkLocalIPv6PrefixLen": 0,
            "Ports": {},
            "SandboxKey": "/var/run/docker/netns/4e1792e36997",
            "SecondaryIPAddresses": null,
            "SecondaryIPv6Addresses": null,
            "EndpointID": "98eb05a82ed7cdf2bb1f299547dbd7323e4f2bab3002fc4f2f41c83c78e7e458",
            "Gateway": "<IP_ADDRESS>",
            "GlobalIPv6Address": "",
            "GlobalIPv6PrefixLen": 0,
            "IPAddress": "<IP_ADDRESS>",
            "IPPrefixLen": 16,
            "IPv6Gateway": "",
            "MacAddress": "02:42:ac:11:00:02",
            "Networks": {
                "bridge": {
                    "IPAMConfig": null,
                    "Links": null,
                    "Aliases": null,
                    "NetworkID": "9c2814a02a7971f22236b8719126950cf8fc4ab5b138bd450f026915aa78807d",
                    "EndpointID": "98eb05a82ed7cdf2bb1f299547dbd7323e4f2bab3002fc4f2f41c83c78e7e458",
                    "Gateway": "<IP_ADDRESS>",
                    "IPAddress": "<IP_ADDRESS>",
                    "IPPrefixLen": 16,
                    "IPv6Gateway": "",
                    "GlobalIPv6Address": "",
                    "GlobalIPv6PrefixLen": 0,
                    "MacAddress": "02:42:ac:11:00:02"
                }
            }
        }
    }
]

apt-cache policy docker-engine
docker-engine:
  Installed: 1.11.0~dev~git20160406.072940.0.bb9b173-0~xenial
  Candidate: 1.11.0~dev~git20160406.072940.0.bb9b173-0~xenial
  Version table:
 *** 1.11.0~dev~git20160406.072940.0.bb9b173-0~xenial 500
        500 https://apt.dockerproject.org/repo ubuntu-xenial/experimental amd64 Packages
        100 /var/lib/dpkg/status
     1.11.0~dev~git20160405.073835.0.8d31b0f-0~xenial 500
        500 https://apt.dockerproject.org/repo ubuntu-xenial/experimental amd64 Packages
     1.11.0~dev~git20160404.202850.0.d20933c-0~xenial 500
        500 https://apt.dockerproject.org/repo ubuntu-xenial/experimental amd64 Packages
     1.11.0~dev~git20160401.181505.0.8eb8a1d-0~xenial 500
        500 https://apt.dockerproject.org/repo ubuntu-xenial/experimental amd64 Packages
     1.11.0~dev~git20160331.233925.0.4a7bd7e-0~xenial 500
        500 https://apt.dockerproject.org/repo ubuntu-xenial/experimental amd64 Packages

There is nothing I can do for you, report it.

Other information
This is the hash we send to Docker API (Ruby) which ships it as JSON
to Docker Remote:
{
  "Env"     => env.to_a,
  "Tty"     => @repo.metadata["tty"],
  "Image"   => @rootfs.img.id,
  "Name"    => name,

  # "HostConfig" => {
  #   "Binds" => [
  #     "#{@copy}:#{@copy}", "#{@tar_gz}:#{@tar_gz}"
  #   ]
  # },

  "Volumes" => {
    @copy.to_s   => {},
    @tar_gz.to_s => {}
  }
}

Here is a list of files in the mounts:
/tmp/<mount>/root:
total 20K

drwxr-xr-x 2 jordon jordon 4.0K Apr  7 00:00 ./
drwxr-xr-x 4 jordon jordon 4.0K Apr  7 00:00 ../
-rw-r--r-- 1 jordon jordon  355 Jan 27 01:43 .bash_aliases
-rw-r--r-- 1 jordon jordon  253 Jan 27 01:44 .bash_environment
-rw-r--r-- 1 jordon jordon 2.4K Jan 27 03:04 .bashrc

---

/tmp/<mount>/usr:
total 12K
drwxr-xr-x 3 jordon jordon 4.0K Apr  7 00:00 ./
drwxr-xr-x 4 jordon jordon 4.0K Apr  7 00:00 ../
drwxr-xr-x 4 jordon jordon 4.0K Apr  7 00:00 local/

---

/tmp/<mount>/usr/local:
total 16K
drwxr-xr-x 4 jordon jordon 4.0K Apr  7 00:00 ./
drwxr-xr-x 3 jordon jordon 4.0K Apr  7 00:00 ../
drwxr-xr-x 2 jordon jordon 4.0K Apr  7 00:00 bin/

/tmp/<mount>/usr/local/bin:
total 28K
drwxr-xr-x 2 jordon jordon 4.0K Apr  7 00:00 ./
drwxr-xr-x 4 jordon jordon 4.0K Apr  7 00:00 ../
-rwxr-xr-x 1 jordon jordon 1.2K Jan 26 08:27 chpst*
-rwxr-xr-x 1 jordon jordon 1.2K Jan 26 08:28 startup*

Would you be able to provide a simple way to reproduce with just docker (e.g. docker run -v somevolume........)?

@thaJeztah we were unable to reproduce it with regular Docker, and at this point we only file it here to organize it.  Right now we are shimming out Docker-API (Ruby) to see what exactly it's sending to Docker Remote and will either update this ticket or close it and re-file.

Yeah, this was my own error.  I feel silly now that after doing all that debugging it turns out we made a huge mistake in handling some environment variables.  I am absolutely sorry for wasting your time.

@envygeeks no problem! Happy to hear you found a solution, and of course that there's no bug here. Thanks!


Show homozygous reference samples in the --show-samples and --show-families queries

Hi folks,
What do you think about adding a flag or changing the behavior of --show-samples and --show-families to show the homozygous reference samples in addition to the variant_samples and all of that. It comes up when looking at positions where the reference is a minor allele, its hard to query and find the samples and families that are homozygous reference vs. having a no call at the position, using those two summary functions. I couldn't think of a way to get at that information easily.

This sounds very reasonable to me. @brentp - what do you think? @roryk - would you be up for making the change and adding a couple of tests?

Sure, I can totally implement it, I just wanted to bounce it off of you folks before I changed anything.

sounds good to me, especially since you're doing it. :)

I'm currenlty making some major changes to the loader and in various places in the code, so it might be good to avoid wait if you dont have an urgent need for this.


📝 Documentation

Description
For the sidebar, we want to have the following structure:
ACCOUNTS
- ERC4337
- ERC4337Factory
...
AUTH
- Ownable
- OwnableRoles
TOKENS
- ERC20
...

Currently, it has the ERC721A docs. We will slowly replace the markdowns one by one to morph it.
Feel free to make a PR to this branch. Don't be shy. This is docs, so no risk of bugs.
Once we have around 30% of the stuff, we can consider merging into main.
Since it is too daunting to fill in all the markdowns at breakneck speed, we can simply create the planned markdowns first, and put a "Under Construction" placeholder.
Contributing
Since there may be multiple people working on the docs simultaneously, leave a comment on what you want to work on. This will prevent us from doing overlapping work.
Preview
Any pushes to this branch will be auto-deployed to:
https://vectorized.github.io/solady/
Motivation
Think of docs as a feature.
It elevates the quality of the repo all around.
It imbues an aura of prestige.
Documentation can include the nuances that are too bulky to be squeezed into the Natspec.
Making docs is one of the best way to get lots of green dots on your Github.
Remember to make multiple PRs (e.g. one PR for one markdown) if you wanna farm docs.
Checklist
Ensure you completed all of the steps below before submitting your pull request:

[x] Ran forge fmt?
[x] Ran forge snapshot?
[x] Ran forge test?

Pull requests with an incomplete checklist will be thrown out.

Hi, I'd like to work on ERC20, ERC721 and WETH.

Wow, this is sick!

Screw it, let's merge.


Export as GIF

Is it possible to render to any other file format than mp4? In my case gif

I once wrote a small post render module that converted the mp4 to a gif.
I see where it ended up

@JamesBotterill
Yeah that's possible.
But I was wondering if there was any support for skipping the mp4 part and render directly to other formats

Does it work to just change the postrender[0].preset?

no you would need to convert the output to to gif as AE doesn't directly render to a gif format, you can use the nexrender-action-encode module (https://github.com/inlife/nexrender/tree/master/packages/nexrender-action-encode) to do this with preset set as gif

Didn't get it to work, I export as mp4 and use ffmpeg afterwards


fzf-tmux -u call from vim sets both panes to the same height

Category

[ ] fzf binary
[x] fzf-tmux script
[ ] Key bindings
[ ] Completion
[ ] Vim
[ ] Neovim
[ ] Etc.

OS

[x] Linux
[x] Mac OS X
[ ] Windows
[ ] Windows Subsystem for Linux
[ ] Etc.

Shell

[x] bash
[ ] zsh
[ ] fish

Hello,
I found this problem using fzf.vim, but I was able to reduce it to fzf-tmux I think.
When I open fzf in a tmux pane at the top of the screen, the height of the bottom pane (containing vim) gets sets to the same height.
As you can see in this screenshot, the top pane has a height of 7 (correct), but the bottom pane has a height of 7 too, instead of the expected 30.

The command I used for this was call system("LINES=37 COLUMNS=131 fzf-tmux -u7"), also visible in the screenshot.
The problem only occurs with -u, lrd all work as expected.
I was trying to debug fzf-tmux myself, but all debug output looked correct to me. And when I execute the command in bash, everything works as expected:

For testing, I removed all vim plugins and deleted my custom vimrc.
This problem occurs with vim 7.4 and 8 (I have not tested neovim yet), on Linux (Debian 8 / 9, Mac OS X), with fzf-tmux at sha 37d4015d5611576e5d93af524b6420956d8c7c9a (from 2017-11-21).
Other program versions used:
bash 4.4.12
tmux 2.3
Do you have any idea what could cause this? I'm stumped.

I can reproduce the problem, but I don't know how to fix it.
If you have the latest version of Vim, fzf can use a terminal buffer, and fzf-tmux is not needed.
" fzf opens in a terminal buffer inside Vim
call fzf#run(fzf#wrap({'up': 10}))

Thank you. It's good to know it's not some weird setup thing on my machines, and also not a simple fix I overlooked.


Allow input to be any iterable

Closes #7
Quoting from the issue:

Currently
https://github.com/ekzhu/SetSimilaritySearch/blob/master/SetSimilaritySearch/search.py#L27
https://github.com/ekzhu/SetSimilaritySearch/blob/master/SetSimilaritySearch/all_pairs.py#L28
state:
if not isinstance(sets, list) or len(sets) == 0:
        raise ValueError("Input parameter sets must be a non-empty list.")

I propose to change this to:
if not isinstance(sets, Iterable) or len(sets) == 0:
        raise ValueError("Input parameter sets must be a non-empty iterable.")

Which then allows inputs as tuple as well, as well as ordered key-sets. Was helpful in my use case, rather than having to create a copy of the data in list form.

Thanks for the PR. There is a problem though, consider a generator
from collections.abc import Iterable

def test():
    for i in range(len(100)):
        yield i

isinstance(test(), Iterable)
# True

len(test())
# Error

How about simple add all the supported iterable types into the type check?

I don't think it's possible to even support Iterators with the current code because it merely keeps a reference to the input set list and requires them to be indexable. So if your original data is in an iterator a copy is needed anyway.
Arguably it's kind of dirty to require the user of the library to provide the data as a list (and take care to not modify it while the index is in use, which is not documented anywhere!) but it does save the memory overhead of creating an internal copy.

Yes. That's why checking if input is iterator is not enough to prevent the error I mentioned.
This library is intended to provided a in-memory solution for similarity search. So I think it's fair to ask users to load all data into memory as a list, tuple, or ordered dict and keep them there. True it should be documented.


Add Seconds to Clock

Description of the new feature / enhancement
Add the ability to toggle seconds showing on the system clock
Scenario when this would be used?
There are many tasks that I complete that require tracking specific/exact time and also situations where I must measure a period of time passing.  Without the seconds delimiter, it makes my job much more difficult.
Supporting information
https://techcommunity.microsoft.com/t5/report-an-issue/windows-11-cannot-show-seconds-on-taskbar-clock/m-p/2825214

/dup https://github.com/microsoft/PowerToys/issues/1081


Improve Compose - Drafts (1): Draft Modal

Overview
As a user, I want to continue existing drafts

Modal:

Acceptance Criteria

[ ] There is a new "Continue Drafts" button that appears above the Compose
[ ] When I click the "Continue Drafts" button, a modal appears (#56) to view drafts.
[ ] When I click back in the top left, the modal closes.

merged in another branch


Fix typo on warning str: "on the meta device device" -> "on the meta device"

Fixes #2996
What does this PR do?
This fixes a typo on a warning string (link to the line).
Typo: "Some parameters are on the meta device device" -> "Some parameters are on the meta device"
Before submitting

[X] This PR fixes a typo or improves the docs (you can dismiss the other checks if that's the case).

Relevant people:

Big modeling: @SunMarc

The docs for this PR live here. All of your documentation changes will be reflected on that endpoint. The docs are available until 30 days after the last update.


CentOS CA bundle location for working behind a proxy section

Hi,
At Work behind a proxy section, step 1, for CentOS CA bundle location is /usr/lib64/az/lib/python3.6/site-packages/certifi/cacert.pem not /opt/az/lib/python3.6/site-packages/certifi/cacert.pem

Document Details
⚠ Do not edit this section. It is required for docs.microsoft.com ➟ GitHub issue linking.

ID: 2e51daa3-30c5-f449-36a1-9f33c70ca2fc
Version Independent ID: a21e188b-4ff4-0aca-531b-d4b179665be1
Content: Use Azure CLI effectively
Content Source: docs-ref-conceptual/use-cli-effectively.md
Service: azure-cli
GitHub Login: @dbradish-microsoft
Microsoft Alias: dbradish

@MartinAbadie Thanks for the feedback. We're investigating this and will get back to you shortly.

@MartinAbadie Thanks for bringing this to our attention. /opt/az/lib/python3.6/site-packages/certifi/cacert.pem is actually the location for Ubuntu/Debian. I've updated the doc to reflect the location for other Linux distros as well.
I have submitted a PR to fix the issue that's in review.


[Bug]: Wrong theme of Testimonials in Dark-Mode

Is there an existing issue for this?

[X] I have searched the existing issues

Describe the bug
Even after switching the mode to dark mode, there is no change of color theme in the Testimonials
Expected behavior
When the mode changes, the theme of the testimonials should also change.
Add ScreenShots

On which device are you experiencing this bug?
Android, Chrome, Windows
Record

[X] I have read the Contributing Guidelines
[X] I'm a GSSOC'24 contributor
[X] I'm a VSOC'24 contributor
[X] I have starred the repository

@VijaySamant4368 under which programme do u want to contribute?? otherwise I can't assign u.

@apu52 it is under GSSoC 2024

I am sorry for not mentioning it in my original comment.

I am sorry for not mentioning it in my original comment.

no probs .I have assigned u . u can start working.

@apu52 @itsekta please add the level tag.


A way of telling if telemetry data was received

In a nutshell:
I need a way of telling if the telemetry data I sent was successfully received.
Ideally having the API provide me this information, or alternatively a fair way of knowing if the telemetry server is up.
Details:
I have been using the C# API and am now additionally embedding the JS (angular) API.
The application’s backend is written in C# and the frontend in JS (management web console).
In some cases, the backend cannot reach the web whereas the frontend can.
By default, I want to send telemetry from the backend.
When not possible, I want to send from the frontend.
Also, I’d rather not send duplicates (from either the frontend and the backend, or from several frontends).
Ideally I’d have a way of telling if the attempts to send telemetry data were successful.
But it seems both the APIs are async and there’s no way to tell if the data was sent successfully after sending it.
Could you recommend a way to tell whether the telemetry data was in fact sent?
Another option is to check Internet connectivity, though this is less than ideal, or to check if the telemetry server is reachable.
Since the telemetry server’s url provides a restful API, I can’t ping it or send an HTTP GET request to it.
How would you suggest to check the telemetry server’s availability if the API doesn’t support this need?
Do you use any such mechanism?

Application Insights SDK has couple telemetry channels out of the box - InMemory channel and Server Telemetry Channel. Read here: http://apmtips.com/blog/2015/09/03/more-telemetry-channels/
Both of them are async and here is what @abaranch wrote about the way to detect whether item was sent or not. TL;DR;- it's very hard to do:

We do not have an easy way to do this.
Each telemetry item is added to a transmission package, this transmission package can be either sent successfully as one whole thing or failed to be sent.
But if we failed to send transmission out we store it on disk and retry later. So we will report an error only if storage is full and transmission is dropped.

All failed transitions between senders, buffers and storage we report as warnings that we post as ETW events. There are no subscribers to warnings by default.
To subscribe to that you can use perfview.
Please read this: http://apmtips.com/blog/2015/11/07/application-insights-self-diagnostic/
Verbose level also includes all transitions including what telemetry types were added to a single transmission.

So @Yonisha end up implementing synchronous custom implementation of telemetry channel. This interface ITelemetryChannel
W.r.t. checking an endpoint for availability - Easiest you can do is to check that you have internet connectivity. Application Insights endpoint availability is quite good. If you want to check endpoint availiability - there is a new endpoint /v2/validate. You can POST simple event and get success/failure response in return.
Here is how you get JSON to send:
TraceTelemetry telemetry = new TraceTelemetry("ping");
telemetry.Context.InstrumentationKey = "Foo";
telemetry.Timestamp = DateTime.Now;

var content = JsonSerializer.Serialize(new List<ITelemetry>() { telemetry }, true);

Here is how you serialize and send POST:
https://github.com/Microsoft/ApplicationInsights-dotnet/blob/4dd948ef9c4ca26ecfd6e76adf3e5af0f59d7bcf/src/Core/Managed/Shared/Channel/Transmission.cs

Thank you, Sergey.
Regarding checking an endpoint for availability:
Can I rely on the 'validate' endpoint? Will it exist 'forever'?
Also, there isn't any significance to the telemetry's content ("ping"), right?
Implementing this, I set the web request's ContentType to "application/x-json-stream" and added a Content-Encoding with the value of JsonSerializer.CompressionType.

sorry for long delay - having a cold now. We plan to have this validate endpoint for some time. You can also send telemetry to the separate instrumentation key with the same result =).
BTW, here is an example on how to use this endpoint: http://apmtips.com/blog/2016/02/11/validate-event-json/

I am running in a smiliar problem. We are right before releasing the first version of our software that uses Application Insights to collect usage stats - it's a classic Win32 / .NET hybrid Desktop App (which is quite some trouble in itself, but that is another story). We are using the Application Insights Core API for this.
We wrote a Console application that sends the usage statistics, however, we noticed that only a fraction of it was delivered. We learned that Sampling was kicking in a way that we did not anticipated, and set the sampling rate to 0. All this took quite a bit of experimentation and a lot of metrics were sent. (We are only using Metric Telemetry at this time.)
At this time we have to keep the Console app running for the InMemory telemtry channel runner send the "huge" amount of cached metrics that accumulated in the experiments and haven't been send. This is quite frustrating since we don't know how much has been sent and how much is there left in the queue, so we are just sitting there and waiting, refreshing the Portal from time to time to see whether the latest metrics have been sent.
So we would love to either a) clear the internal cache and discard the metrics or b) have a tiny bit of an idea of whether there are still metrics in the queue that have to be sent. Besides, I was once told that the telemetry is cached offline somewhere and will be sent the next time the App runs. Where exactly is it stored in the file system?

@daniel-kun InMemory channel does not have local cache on disk. It buffers telemetry for 30 seconds and than sends it out. It also does not have retry logic. It has sync Flush method if you want to force data to be sent immediately. Read this: http://apmtips.com/blog/2015/09/03/more-telemetry-channels/


Improve k8s client heartbeat capability

Switched the heartbeat to be done on /healthz instead of doing a get
on kube-system namespace which has higher overhead than /heatlhz.
If Cilium has interactions with k8s, Cilium does not need to
perform heatbeats to the kube-apiserver. Unless those interactions
result in an error for which we should perform a heartbeat to
kube-apiserver to check if the connection is still alive. In case the
response from kube-apiserver is an error Cilium should then close all
connections with the kube-apiserver.
Read per commit for more details

test-me-please

Coverage increased (+0.04%) to 45.632% when pulling fb70b31a91c0b059aa97ac771a1951a11ae14ef5 on pr/fix-cilium-heartbeat into 8937d74bfab44398c6a4e19589cc63479b3a602b on master.

test-me-please

test-me-please

hit https://github.com/cilium/cilium/issues/10118


[New game]: Blackjack game

🎮 Game Request
It is a simple blackjack card game created using HTML CSS and javascript
Point down the features
Game of cards
Select program in which you are contributing
GSSoC23
Code of Conduct

[X] I follow CONTRIBUTING GUIDELINE of this project.

@shishiro26 I am working on this project.

Hey @sumitkr2000  ! It is really interesting but we want to hear more…..
Can you elaborate the features 🤔!
We are looking forward have your valuable contribution in GameZone 🎮

Thia is a game based on cards. Its called blackjack. @kunjgit

Hello,
I hope you're doing well. I am interested in contributing to this project as part of GSSoC. It aligns with my skills and interests, and I believe I can make a meaningful contribution to the project Could you please assign this task to me?
Looking forward to hearing from you.
Thank you,
Lavesh Vishwakarma

Hello @sumitkr2000, Time's Uppp!⏰
Sorry for closing your issue!
But it's more than a week since we haven't received anything from your side 😢 .
Come up with new ideas, create a new issue and make sure you finish it within a week! 🔥
All the best! 🚀
Happy Hacking! 💗

Hey @sumitkr2000 ! Thank you so much for your raising the issue💗
It’s all yours, you can come anytime again and make some contributions! 🚀
Alone, we can do little, but together we can do so much! 😇


IPv6 Port Number causes failure to start on 2nd Minecraft Bedrock instance

Bug Report
System Information

Operating System: CentOS Linux release 8.3.2011
AMP version: AMP Instance Manager v<IP_ADDRESS> built 15/12/2020 17:10
Which AMP release stream MainLine

I confirm:

[x] that I have searched for an existing bug report for this issue.
[x] that I am using the latest available version of AMP.
[x] that my operating system is up-to-date.

Symptoms

I already have one running copy of Minecraft Bedrock, I am attempting to start a 2nd Minecraft Bedrock server in a different game mode.
The first server instance uses port: 25566
The second server instance uses port: 25576
I have the first server running without any problems. I expected to be able to start the second server and for it to be running.
When I attempt to start the 2nd server AMP reports the server is getting a core dump and after 5 crashes stops trying to launch it.
I expected the server to start.
I have diagnosed the issue and its an issue with ports. The server.properties file has the IPv4 port set correctly to the ports listed above but the port for IPv6 gets set to 19133
Ports for the First instance set in server.properties
server-port=25566
server-portv6=19133

Ports for the second instance set in server.properties
server-port=25576
server-portv6=19133

Because the second instance is set to the same port Minecraft starts and core dumps when it tries to bind to this port as its already in use.
a Strace of the Minecraft server is below.
socket(AF_INET, SOCK_DGRAM, IPPROTO_UDP) = 7
bind(7, {sa_family=AF_INET, sin_port=htons(25576), sin_addr=inet_addr("<IP_ADDRESS>")}, 16) = 0
setsockopt(7, SOL_SOCKET, SO_RCVBUF, [262144], 4) = 0
setsockopt(7, SOL_SOCKET, SO_LINGER, {l_onoff=0, l_linger=0}, 8) = 0
setsockopt(7, SOL_SOCKET, SO_SNDBUF, [16384], 4) = 0
setsockopt(7, SOL_SOCKET, SO_BROADCAST, [1], 4) = 0
getsockname(7, {sa_family=AF_INET, sin_port=htons(25576), sin_addr=inet_addr("<IP_ADDRESS>")}, [128->16]) = 0
setsockopt(7, SOL_IP, IP_HDRINCL, [0], 4) = -1 ENOPROTOOPT (Protocol not available)
getsockname(7, {sa_family=AF_INET, sin_port=htons(25576), sin_addr=inet_addr("<IP_ADDRESS>")}, [128->16]) = 0
sendto(7, "\0\0\0\0", 4, 0, {sa_family=AF_INET, sin_port=htons(25576), sin_addr=inet_addr("<IP_ADDRESS>")}, 16) = 4
socket(AF_INET6, SOCK_DGRAM, IPPROTO_UDP) = 8
bind(8, {sa_family=AF_INET6, sin6_port=htons(19133), sin6_flowinfo=htonl(0), inet_pton(AF_INET6, "::", &sin6_addr), sin6_scope_id=0}, 28) = -1 EADDRINUSE (Address already in use)
close(8)                                = 0
close(7)                                = 0
write(1, "[INFO] IPv4 supported, port: 0\n", 31[INFO] IPv4 supported, port: 0
) = 31
write(1, "[INFO] IPv6 supported, port: 0\n", 31[INFO] IPv6 supported, port: 0
) = 31
close(6)                                = 0
close(5)                                = 0
--- SIGSEGV {si_signo=SIGSEGV, si_code=SI_KERNEL, si_addr=NULL} ---
rt_sigaction(SIGSEGV, NULL, {sa_handler=0x55ad8e0b5950, sa_mask=[ILL TRAP ABRT BUS FPE SEGV], sa_flags=SA_RESTORER|SA_ONSTACK|SA_SIGINFO, sa_restorer=0x7fcc70076b20}, 8) = 0

Once the instance is running (which I believe regenerates the server.properties file on start ?) if I edit the server.properties file and change the entry on the second server for the IPv6 port to a different free port and then click start on the instance status page the server starts correctly.
I have so far verified that:

The change of the ipv6 port in the second instance's server.properties file as described above allows the server to start.
You can't have the IPv4 and IPv6 ports set to the same port value

I am not using IPv6 at all although the network interface does have a local IPv6 auto-configured IP.
There is no setting for the IPv6 Port I have found in the edit ports section of the AMP management interface. This means each time the instance comes up server.properties needs manually updating for the IPv6 Port.
Reproduction

Create a minecraft bedrock server instance and set its port.
Start the first instance and ensure its running.
Create a second minecraft server instance and set it to a different port.
Start the second instance and it fails to start because of the same IPv6 Port being assigned.

Next update addresses this, v6 port setting is set to +1 above the other.

Next update addresses this, v6 port setting is set to +1 above the other.


fix error when docker DAEMON is running with user namespace enabled.

Hi, i love to use weaveworks. This is pull request is almost same as https://github.com/weaveworks/scope/pull/2161
I begin to use Docker for Mac, and set daemon using user namespace map:

Then scope launch will report error:
mkdir: can't create directory '/var/run/scope/': Permission denied

The reason is very obvious because when it internally runs
docker run --rm --entrypoint=/bin/sh \
        -v /var/run:/var/run \
        "$SCOPE_IMAGE" -c "mkdir -p /var/run/scope/plugins"

It actually is using remapped root:root(10000:10000), instead of normal 0:0.
So by same way, it inserted --userns=host option to the above run command, then it works fine.
Hope you can merge it.
Finally, i suggest that everyone should pay more attention about user namespace enabled daemon, and use it. This really rocks, it maps non root user to root in container, maybe this will be the default daemon mode in future.

Thanks for this. Please add a shellcheck exception # shellcheck disable=SC2086 since the variable is not quoted.

OK, added


cannot use req.Header.Pid (type uint32) as type int in argument to sysutils.GetExecPathFromPID" on freebsd/amd64

Another type mismatch. Convering req.Pid to int gets kbfsfuse to compile the rest of the way.

Thanks!  Put up #1001 to fix.  I confirmed this makes kbfsfuse compile with GOOS=freebsd (on linux).
@songgao points out that there will still be runtime issues on freebsd.  The specific one we know about, related to this issue, is that if you try to move a file between top-level folders (say between your private and public folders), you will see an error.  There may be other things lurking too.  If we have time we'll try to look at it soon, but if you notice anything else please let us know! Thanks for your help.

And with a little bit of effort to get the fuse kernel module loaded, I'm up and running!


chore(create-adaptation-pr.sh): more escaping in strings

Let's just try it. At least we'll get another data point.
bors merge


In the example 'Add Jquery Accordian' , we are loading the typings locally. It should loading globally in the typings folder (instead of @types/jquery)as its a non-module library

In the example 'Add Jquery Accordian' , we are loading the typings locally. It should loading globally in the typings folder (instead of @types/jquery) as its a non-module library. The current code is not working.
Also, jquery should be registered as a non-module script by below using code where path could be local to the solution.
"jquery": {
  "path": "https://code.jquery.com/jquery-2.1.1.min.js",
  "globalName": "jQuery"
},

where do you put that code?

In the example 'Add Jquery Accordian' , we are loading the typings locally. It should loading globally in the typings folder (instead of ) as its a non-module library.
I'm not quite sure what you mean by this. In the example, we add the typings by installing @types/jquery. You can load @types packages using one of a couple methods:

Add an import (e.g. import * as $ from 'jquery'). The typings should be automatically resolved.
Alternately, add a triple slash reference (e.g. /// <reference types='jquery' />).
Lastly, if you want the jQuery typings to be available even when a module has not imported jQuery, you could add the typings to the list of ambient types by updating tsconfig.json with the following field:{
    "compilerOptions": {
        "types": [
            "jquery"
        ]
    }
}

Hi nickpape-msft,
Sorry for the confusion. I followed the steps in the example to create  Jquery-Accordian demo. However, I encountered errors while building the project. Error snapshots are attached.
Compilation errors in index.d.ts.docx
I observed that the issue was due to missing typings.json files for jquery as well as jqueryui. I added the files and it started building correctly. Somehow, the commands
"npm install --save @types/jquery
npm install --save @types/jqueryui"
were not adding the typings correctly.
Also, I observed that on marking a class default, I was not able to import them. I had to remove the default keyword before class name for it to get imported correctly. Not sure what was the cause for this.
Thanks,
Gaurav Mithas

We closed this issue as it had not activity within last 180 days. This is a generic process we have decided to perform for issues, which have not been explicitly marked still to be "work in progress" based on tags. We are performing this cleaning to make sure that old issues that have already been solved (but not closed) or are no longer relevant are cleaned out and make the issues more manageable. If this issue still valid, we would ask you to open a new issue and follow the guidance in the issue template related on the recommended location. We do apologize any inconveniences this might cause. Please do remember that issues in the issue lists are also messages for others in the community, so you can also check if you can assist on any of them. “Sharing is caring!”


Added code parsing capability

I have added code parsing capability, including colors and widgets with multiple children.
usage:
String code = "..."; //might take this from the user
ModelWidget widget;
try {
    widget = toModel(code);
} catch(e) {
    //the code was invalid and the function crashed
}
if(model != null) {
    //the code was good, we can use the model
}

uncomment the test in widget structure screen to see it in action.

@deven98 Did you test it out yet?

Would you please take a look at the issues page i was waiting for a long time

@yanir-edri I'm trying to do a few comprehensive tests and seeing how it will scale as we add more and more widgets and properties. Give me till tomorrow to do it.

When parsing code, the key will be called "child" and not children. I could check it inside an if and remove the "child" parameter.
The text model is different, because although the font size/color are params inside the text model, when parsing code they are "inside" params["style"], and because it's not one of the named params - it doesn't even get parsed. This could be either fixed by creating a model for TextStyle, or manually setting these params for text model. In my opinion, creating a model for TextStyle will be the better solution in the long-term.
I'll try to document what I can, but if you have a specific question about a function or a part of it, It'd be great too.

I also have a question about the models: Why is children a Map<int, ModelWidget> and not a List<ModelWidget> instead?
I have not seen one use case of the keys, and if we would like in the future to allow adding a widget in the middle and not only to the end of it, using a growable list will allow you to do it with a single function, while using a map will require you to use the map function to increase all the keys by 1 and only then put the new item.

As far as I remember, the map had to do with removing a middle element out of multiple children. If you use a list instead, it gives an error which requires a lot of fixes. You can try changing it if you want to and see if there's a better solution.
Regarding the TextStyle model, we'll need a different kind of model as it's not a widget anymore but theoretically, we can use ModelWidget because toCode and toWidget would still produce a TextStyle class instance.
How about I'll revert my dev branch pushes and push your code to dev branch instead of master and once we're confident with the code saving capability, we'll merge it with master?

Sounds good to me :)
Meanwhile, I'll try to use a list for the children, and maybe think of a solution for the models(maybe create an abstract class Model and then extend it WIdgetModel and OtherModel for styles and themes)

Great, I'll revert my commits from dev today and let you know.

I've reverted the commits from dev, if you could just push the commits there we can work on that.

I'm currently on a trip, I'll be able to commit in two days ( this message was sent from my phone)


[docs] Fix CodeSandbox & StackBlitz generation

Preview: https://deploy-preview-32726--material-ui.netlify.app/material-ui/react-button/#basic-button
Issues

~[BUG] StackBlitz does not work on the production. Also, the demo.tsx does not show on the editor. Proof: https://mui.com/material-ui/react-button/~ This bug is gone in v5.8.0 because we have moved the private classnames to mui-utils

The templates generated is not compatible with Joy UI // index.js
 import * as React from 'react';
 import ReactDOM from 'react-dom/client';
 import { StyledEngineProvider } from '@mui/material/styles';
 import Demo from './demo';

 ReactDOM.createRoot(document.querySelector("#root")).render(
   <StyledEngineProvider injectFirst> // Joy needs CssVarsProvider instead
     <Demo />
   </StyledEngineProvider>
 );

The code is not extensible. (We need to be able to configure the template based on the product)

Refactoring
Here is how it worked before:

There is only 1 function, the getDemoConfig() which call other functions and so on. If we want to adjust the dependencies, we have to pass the props from the top down to the bottom. This is quite hard to adapt and write tests.
Here is the refactored version:

The sandbox modules split into CodeSandbox and StackBlitz to provide flexibility and composition of other APIs. Both of them contain the method createReactApp that use the CreateReactApp module to generate templates between products.
In the future, if we want to generate NextJS template, this will be very easy.

The dependencies module handles the extraction from the file and assign version based on the config.

Fix

✅ StackBlitz bug is fixed.
✅ Joy UI is working on both CodeSandbox & StackBlitz.
✅ MUI Base is working on both CodeSandbox & StackBlitz

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

Overall looks good, I've left few comments. Let's also address Olivier's feedback.

All fixed!


[WINCE] Fix detection of WINDRES

I tried to build with arm-mingw32ce cross compiler and I got this error:
arm-mingw32ce-gcc -shared  .libs/IMG.o .libs/IMG_bmp.o .libs/IMG_gif.o .libs/IMG_jpg.o .libs/IMG_lbm.o .libs/IMG_pcx.o .libs/IMG_png.o .libs/IMG_pnm.o .libs/IMG_tga.o .libs/IMG_tif.o .libs/IMG_xcf.o .libs/IMG_xpm.o .libs/IMG_xv.o .libs/IMG_webp.o   /opt/cegcc/arm-mingw32ce/lib/libSDLmain.a /opt/cegcc/arm-mingw32ce/lib/libSDL.dll.a -lmmtimer -lcoredll -lcommctrl  -Wl,version.o   -o .libs/SDL_image.dll -Wl,--enable-auto-image-base -Xlinker --out-implib -Xlinker .libs/libSDL_image.dll.a
version.o: file not recognized: file format not recognized
collect2: error: ld returned 1 exit status

This happened because version.o has been compiled with the WINDRES provided by CYGWIN instead of using arm-mingw32ce-windres.
I would like to suggest to import the same code used by SDL-1.2 for detecting WINDRES.
By applying this fix, the problem has been solved.
Tested with:

x86_64-pc-cygwin
x86_64-w64-mingw32
i686-w64-mingw32
arm-mingw32ce

Perhaps, if you think that it is a good fix, it would be worth to import it also in the main branch.

Did this a little differently in git: If it works for your setup too, I will do the same for the other SDL satellite projects. If not, drop a note here.


Not able to run docker build on a M1 Mac

Hi there and thanks for this starter project.
I've been going through the readme and hit a snag at trying to build the docker image.
It seems it's related to installing pip dependencies.
Here is the error log
➜  cost-effective-aws-deployment-of-comfyui git:(main) ✗ docker build --platform linux/amd64 .
[+] Building 55.3s (13/15)                                          docker:desktop-linux
 => [internal] load build definition from dockerfile                                0.0s
 => => transferring dockerfile: 2.13kB                                              0.0s
 => [internal] load metadata for docker.io/nvidia/cuda:12.3.1-runtime-ubuntu22.04   1.0s
 => [internal] load .dockerignore                                                   0.0s
 => => transferring context: 2B                                                     0.0s
 => [internal] load build context                                                   0.0s
 => => transferring context: 93B                                                    0.0s
 => [ 1/11] FROM docker.io/nvidia/cuda:12.3.1-runtime-ubuntu22.04@sha256:acb1709dc  0.0s
 => CACHED [ 2/11] RUN apt-get update && apt-get install -y     git     make build  0.0s
 => CACHED [ 3/11] RUN useradd -m -u 1000 user                                      0.0s
 => CACHED [ 4/11] RUN curl https://pyenv.run | bash                                0.0s
 => CACHED [ 5/11] RUN pyenv install 3.10.12 &&     pyenv global 3.10.12 &&     py  0.0s
 => CACHED [ 6/11] WORKDIR /home/user/opt/ComfyUI                                   0.0s
 => CACHED [ 7/11] RUN git clone --depth 1 https://github.com/comfyanonymous/Comfy  0.0s
 => CACHED [ 8/11] RUN python -m venv /home/user/opt/ComfyUI/.venv                  0.0s
 => ERROR [ 9/11] RUN . /home/user/opt/ComfyUI/.venv/bin/activate && pip install   54.2s
------
 > [ 9/11] RUN . /home/user/opt/ComfyUI/.venv/bin/activate && pip install xformers!=0.0.18 --no-cache-dir -r requirements.txt --extra-index-url https://download.pytorch.org/whl/cu121:
1.204 Looking in indexes: https://pypi.org/simple, https://download.pytorch.org/whl/cu121
2.100 Collecting xformers!=0.0.18
2.118   Downloading https://download.pytorch.org/whl/cu121/xformers-0.0.25-cp310-cp310-manylinux2014_x86_64.whl (222.5 MB)
4.239      ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 222.5/222.5 MB 102.7 MB/s eta 0:00:00
5.666 Collecting torch
5.679   Downloading https://download.pytorch.org/whl/cu121/torch-2.2.1%2Bcu121-cp310-cp310-linux_x86_64.whl (757.3 MB)
13.14      ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 757.3/757.3 MB 129.0 MB/s eta 0:00:00
16.02 Collecting torchsde
16.20   Downloading torchsde-0.2.6-py3-none-any.whl (61 kB)
16.23      ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 61.2/61.2 kB 1.8 MB/s eta 0:00:00
16.98 Collecting torchvision
17.00   Downloading https://download.pytorch.org/whl/cu121/torchvision-0.17.1%2Bcu121-cp310-cp310-linux_x86_64.whl (7.0 MB)
17.09      ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 7.0/7.0 MB 74.6 MB/s eta 0:00:00
17.63 Collecting einops
17.66   Downloading einops-0.7.0-py3-none-any.whl (44 kB)
17.67      ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 44.6/44.6 kB 88.0 MB/s eta 0:00:00
18.32 Collecting transformers>=4.25.1
18.35   Downloading transformers-4.38.2-py3-none-any.whl (8.5 MB)
18.58      ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 8.5/8.5 MB 38.1 MB/s eta 0:00:00
19.37 Collecting safetensors>=0.3.0
19.40   Downloading safetensors-0.4.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (1.3 MB)
19.44      ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 1.3/1.3 MB 34.0 MB/s eta 0:00:00
20.54 Collecting aiohttp
20.56   Downloading aiohttp-3.9.3-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (1.2 MB)
20.60      ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 1.2/1.2 MB 33.2 MB/s eta 0:00:00
21.20 Collecting pyyaml
21.23   Downloading PyYAML-6.0.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (705 kB)
21.25      ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 705.5/705.5 kB 41.6 MB/s eta 0:00:00
22.18 Collecting Pillow
22.20   Downloading https://download.pytorch.org/whl/pillow-10.2.0-cp310-cp310-manylinux_2_28_x86_64.whl (4.5 MB)
22.26      ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 4.5/4.5 MB 70.5 MB/s eta 0:00:00
22.99 Collecting scipy
23.05   Downloading scipy-1.12.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (38.4 MB)
24.22      ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 38.4/38.4 MB 33.7 MB/s eta 0:00:00
24.93 Collecting tqdm
24.95   Downloading tqdm-4.66.2-py3-none-any.whl (78 kB)
24.95      ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 78.3/78.3 kB 85.9 MB/s eta 0:00:00
25.64 Collecting psutil
25.67   Downloading psutil-5.9.8-cp36-abi3-manylinux_2_12_x86_64.manylinux2010_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl (288 kB)
25.67      ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 288.2/288.2 kB 121.6 MB/s eta 0:00:00
26.24 Collecting kornia>=0.7.1
26.27   Downloading kornia-0.7.2-py2.py3-none-any.whl (825 kB)
26.30      ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 825.4/825.4 kB 42.7 MB/s eta 0:00:00
27.25 Collecting numpy
27.27   Downloading numpy-1.26.4-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (18.2 MB)
27.80      ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 18.2/18.2 MB 35.3 MB/s eta 0:00:00
28.48 Collecting filelock
28.50   Downloading filelock-3.13.1-py3-none-any.whl (11 kB)
28.94 Collecting nvidia-cuda-runtime-cu12==12.1.105
28.96   Downloading https://download.pytorch.org/whl/cu121/nvidia_cuda_runtime_cu12-12.1.105-py3-none-manylinux1_x86_64.whl (823 kB)
28.98      ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 823.6/823.6 kB 43.0 MB/s eta 0:00:00
29.51 Collecting nvidia-cuda-cupti-cu12==12.1.105
29.53   Downloading https://download.pytorch.org/whl/cu121/nvidia_cuda_cupti_cu12-12.1.105-py3-none-manylinux1_x86_64.whl (14.1 MB)
29.70      ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 14.1/14.1 MB 115.1 MB/s eta 0:00:00
30.18 Collecting nvidia-curand-cu12==<IP_ADDRESS>
30.20   Downloading https://download.pytorch.org/whl/cu121/nvidia_curand_cu12-<IP_ADDRESS>-py3-none-manylinux1_x86_64.whl (56.5 MB)
31.07      ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 56.5/56.5 MB 57.2 MB/s eta 0:00:00
31.67 Collecting nvidia-cusolver-cu12==<IP_ADDRESS>
32.05   Downloading https://download.pytorch.org/whl/cu121/nvidia_cusolver_cu12-<IP_ADDRESS>-py3-none-manylinux1_x86_64.whl (124.2 MB)
33.70      ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 124.2/124.2 MB 80.1 MB/s eta 0:00:00
34.60 Collecting nvidia-nccl-cu12==2.19.3
34.61   Downloading https://download.pytorch.org/whl/cu121/nvidia_nccl_cu12-2.19.3-py3-none-manylinux1_x86_64.whl (166.0 MB)
36.09      ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 166.0/166.0 MB 119.9 MB/s eta 0:00:00
37.12 Collecting triton==2.2.0
37.14   Downloading https://download.pytorch.org/whl/triton-2.2.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (167.9 MB)
53.17      ━━━━━━━━━━━━━━━━━━━━━━━━              109.3/167.9 MB 163.9 MB/s eta 0:00:01
53.18 ERROR: Exception:
53.18 Traceback (most recent call last):
53.18   File "/home/user/opt/ComfyUI/.venv/lib/python3.10/site-packages/pip/_vendor/urllib3/response.py", line 438, in _error_catcher
53.18     yield
53.18   File "/home/user/opt/ComfyUI/.venv/lib/python3.10/site-packages/pip/_vendor/urllib3/response.py", line 561, in read
53.18     data = self._fp_read(amt) if not fp_closed else b""
53.18   File "/home/user/opt/ComfyUI/.venv/lib/python3.10/site-packages/pip/_vendor/urllib3/response.py", line 527, in _fp_read
53.18     return self._fp.read(amt) if amt is not None else self._fp.read()
53.18   File "/home/user/.pyenv/versions/3.10.12/lib/python3.10/http/client.py", line 466, in read
53.18     s = self.fp.read(amt)
53.18   File "/home/user/.pyenv/versions/3.10.12/lib/python3.10/socket.py", line 705, in readinto
53.18     return self._sock.recv_into(b)
53.18   File "/home/user/.pyenv/versions/3.10.12/lib/python3.10/ssl.py", line 1274, in recv_into
53.18     return self.read(nbytes, buffer)
53.18   File "/home/user/.pyenv/versions/3.10.12/lib/python3.10/ssl.py", line 1130, in read
53.18     return self._sslobj.read(len, buffer)
53.18 TimeoutError: The read operation timed out
53.18
53.18 During handling of the above exception, another exception occurred:
53.18
53.18 Traceback (most recent call last):
53.18   File "/home/user/opt/ComfyUI/.venv/lib/python3.10/site-packages/pip/_internal/cli/base_command.py", line 160, in exc_logging_wrapper
53.18     status = run_func(*args)
53.18   File "/home/user/opt/ComfyUI/.venv/lib/python3.10/site-packages/pip/_internal/cli/req_command.py", line 247, in wrapper
53.18     return func(self, options, args)
53.18   File "/home/user/opt/ComfyUI/.venv/lib/python3.10/site-packages/pip/_internal/commands/install.py", line 419, in run
53.18     requirement_set = resolver.resolve(
53.18   File "/home/user/opt/ComfyUI/.venv/lib/python3.10/site-packages/pip/_internal/resolution/resolvelib/resolver.py", line 92, in resolve
53.18     result = self._result = resolver.resolve(
53.18   File "/home/user/opt/ComfyUI/.venv/lib/python3.10/site-packages/pip/_vendor/resolvelib/resolvers.py", line 481, in resolve
53.18     state = resolution.resolve(requirements, max_rounds=max_rounds)
53.18   File "/home/user/opt/ComfyUI/.venv/lib/python3.10/site-packages/pip/_vendor/resolvelib/resolvers.py", line 373, in resolve
53.18     failure_causes = self._attempt_to_pin_criterion(name)
53.18   File "/home/user/opt/ComfyUI/.venv/lib/python3.10/site-packages/pip/_vendor/resolvelib/resolvers.py", line 213, in _attempt_to_pin_criterion
53.18     criteria = self._get_updated_criteria(candidate)
53.18   File "/home/user/opt/ComfyUI/.venv/lib/python3.10/site-packages/pip/_vendor/resolvelib/resolvers.py", line 204, in _get_updated_criteria
53.18     self._add_to_criteria(criteria, requirement, parent=candidate)
53.18   File "/home/user/opt/ComfyUI/.venv/lib/python3.10/site-packages/pip/_vendor/resolvelib/resolvers.py", line 172, in _add_to_criteria
53.18     if not criterion.candidates:
53.18   File "/home/user/opt/ComfyUI/.venv/lib/python3.10/site-packages/pip/_vendor/resolvelib/structs.py", line 151, in __bool__
53.18     return bool(self._sequence)
53.18   File "/home/user/opt/ComfyUI/.venv/lib/python3.10/site-packages/pip/_internal/resolution/resolvelib/found_candidates.py", line 155, in __bool__
53.18     return any(self)
53.18   File "/home/user/opt/ComfyUI/.venv/lib/python3.10/site-packages/pip/_internal/resolution/resolvelib/found_candidates.py", line 143, in <genexpr>
53.18     return (c for c in iterator if id(c) not in self._incompatible_ids)
53.18   File "/home/user/opt/ComfyUI/.venv/lib/python3.10/site-packages/pip/_internal/resolution/resolvelib/found_candidates.py", line 47, in _iter_built
53.18     candidate = func()
53.18   File "/home/user/opt/ComfyUI/.venv/lib/python3.10/site-packages/pip/_internal/resolution/resolvelib/factory.py", line 206, in _make_candidate_from_link
53.18     self._link_candidate_cache[link] = LinkCandidate(
53.18   File "/home/user/opt/ComfyUI/.venv/lib/python3.10/site-packages/pip/_internal/resolution/resolvelib/candidates.py", line 297, in __init__
53.18     super().__init__(
53.18   File "/home/user/opt/ComfyUI/.venv/lib/python3.10/site-packages/pip/_internal/resolution/resolvelib/candidates.py", line 162, in __init__
53.18     self.dist = self._prepare()
53.18   File "/home/user/opt/ComfyUI/.venv/lib/python3.10/site-packages/pip/_internal/resolution/resolvelib/candidates.py", line 231, in _prepare
53.18     dist = self._prepare_distribution()
53.18   File "/home/user/opt/ComfyUI/.venv/lib/python3.10/site-packages/pip/_internal/resolution/resolvelib/candidates.py", line 308, in _prepare_distribution
53.18     return preparer.prepare_linked_requirement(self._ireq, parallel_builds=True)
53.18   File "/home/user/opt/ComfyUI/.venv/lib/python3.10/site-packages/pip/_internal/operations/prepare.py", line 491, in prepare_linked_requirement
53.18     return self._prepare_linked_requirement(req, parallel_builds)
53.18   File "/home/user/opt/ComfyUI/.venv/lib/python3.10/site-packages/pip/_internal/operations/prepare.py", line 536, in _prepare_linked_requirement
53.18     local_file = unpack_url(
53.18   File "/home/user/opt/ComfyUI/.venv/lib/python3.10/site-packages/pip/_internal/operations/prepare.py", line 166, in unpack_url
53.18     file = get_http_url(
53.18   File "/home/user/opt/ComfyUI/.venv/lib/python3.10/site-packages/pip/_internal/operations/prepare.py", line 107, in get_http_url
53.18     from_path, content_type = download(link, temp_dir.path)
53.18   File "/home/user/opt/ComfyUI/.venv/lib/python3.10/site-packages/pip/_internal/network/download.py", line 147, in __call__
53.18     for chunk in chunks:
53.18   File "/home/user/opt/ComfyUI/.venv/lib/python3.10/site-packages/pip/_internal/cli/progress_bars.py", line 53, in _rich_progress_bar
53.18     for chunk in iterable:
53.18   File "/home/user/opt/ComfyUI/.venv/lib/python3.10/site-packages/pip/_internal/network/utils.py", line 63, in response_chunks
53.18     for chunk in response.raw.stream(
53.18   File "/home/user/opt/ComfyUI/.venv/lib/python3.10/site-packages/pip/_vendor/urllib3/response.py", line 622, in stream
53.18     data = self.read(amt=amt, decode_content=decode_content)
53.18   File "/home/user/opt/ComfyUI/.venv/lib/python3.10/site-packages/pip/_vendor/urllib3/response.py", line 560, in read
53.18     with self._error_catcher():
53.18   File "/home/user/.pyenv/versions/3.10.12/lib/python3.10/contextlib.py", line 153, in __exit__
53.18     self.gen.throw(typ, value, traceback)
53.18   File "/home/user/opt/ComfyUI/.venv/lib/python3.10/site-packages/pip/_vendor/urllib3/response.py", line 443, in _error_catcher
53.18     raise ReadTimeoutError(self._pool, None, "Read timed out.")
53.18 pip._vendor.urllib3.exceptions.ReadTimeoutError: HTTPSConnectionPool(host='download.pytorch.org', port=443): Read timed out.
53.92
53.92 [notice] A new release of pip is available: 23.0.1 -> 24.0
53.92 [notice] To update, run: pip install --upgrade pip
------
dockerfile:41
--------------------
  39 |     RUN python -m venv $TEMP_VENV_PATH
  40 |
  41 | >>> RUN . $TEMP_VENV_PATH/bin/activate && pip install xformers!=0.0.18 --no-cache-dir -r requirements.txt --extra-index-url https://download.pytorch.org/whl/cu121
  42 |
  43 |     # Clone ComfyUI-Manager and install its requirements
--------------------
ERROR: failed to solve: process "/bin/sh -c . $TEMP_VENV_PATH/bin/activate && pip install xformers!=0.0.18 --no-cache-dir -r requirements.txt --extra-index-url https://download.pytorch.org/whl/cu121" did not complete successfully: exit code: 2

Any idea what might be causing this issue?

Hi @reimertz,
it seems to be a network / time-out related issue on your end. Not related to M1 as such.
You could try to set export PIP_DEFAULT_TIMEOUT=300 and retry the build process.


How to remove bug tracker?

I had connected my organization's VSTS account just to toy with the feature a little bit. After some deliberation, it wound up not being a feature we wanted to use at this time. How do I remove it?

The comments feature of our documentation is intended to enable customers to suggest changes to the docs or ask clarifying questions about the docs.
App Center support is provided directly from within the App Center portal. Any time you need help, just click the blue chat button in the lower-right corner of any page and our dedicated support team will respond. For additional information, see the App Center Help Center.

jwargo,
This was a suggested change as a matter of fact. My wording definitely leans towards a help request and I apologize for that. Having how to remove it in the docs would be very useful. :) Information is provided for how to add it, but now how to remove it.

@DougMurphyABA Thanks for the clarification, I'll have the PM take a look at making a doc update.

@amchew Can you please take a look?

@DougMurphyABA Hi, thanks for reaching out! To disconnect the bug tracker from your app, please see step 6 in the documentation.
I think what you may be asking is how to completely remove the bug tracker from your account, yes? :)
If so, currently, we don't have the functionality for users to manually remove their connected bug tracker, and we can do this on our end for you. At the bottom right-hand side of your logged in App Center page, please click on the blue Intercom button, and mention that you'd like to manually remove your connected bug tracker.
I've taken your comment as a +1 as a feature request though.
Thank you!
Amanda

@amchew Thank you for your response! I was looking to completely remove it for now, so I will get help using the intercom button.

Cool :)
In the Intercom conversation, you can copy and paste the link to this issue, and mention in the chat to channel this conversation to Amanda Chew (that's me), and I'll work on this.


setSource() doesn't seem to change source...

Wondering why setSource() isn't changing the audioIn source?
Example trying it based on the References... while in the console it tells me it changed sources, both in audio-reactivity and in upper corner w/ mic, still says internal microphone.
Just tested in Firefox (less of an issue, since they allow you to select/change mic), in Chrome – the option to change devices is always grayed out.. so it would be great to use this to manually select the source.
Still need to dig into source code... but curious if ths example above works for others?
Or is it possible the method to select A/V sources ( demo + code ) has changed implemented?

I know this was a while ago, but I'm having the same issue and it's been preventing me from working on a couple of apps. setSource() just doesn't really work :/
Wondering if anyone has a fix or knows of a workaround?

I know this was a while ago, but I'm having the same issue and it's been preventing me from working on a couple of apps. setSource() just doesn't really work :/
Wondering if anyone has a fix or knows of a workaround?

Same here. I can see the correct list of input devices with getSources() but setSource(0) has no effect, and the input remains the built-in mic, even though I set the default mic in the computer to my Yeti before getting into Chrome. I'm running a MacBook Pro 2018, OS 10.14.6. I'm running p5 in the p5.js Editor/Preview.

Same here. I can see the correct list of input devices with getSources() but setSource(0) has no effect, and the input remains the built-in mic, even though I set the default mic in the computer to my Yeti before getting into Chrome. I'm running a MacBook Pro 2018, OS 10.14.6. I'm running p5 in the p5.js Editor/Preview.

Any update on this? I seem to have encountered the same issue on Ma Big Sur. Installed SoundFlower so I can "listen" to system sounds, but setSource doesn't work

No progress to report, although I haven't tried much since my post. I'll check out SoundFlower. Thanks!

@paulcanning + @GenJamGuy if you're using a newer operating system (10.14+, ie. big sur) you may want to switch to BlackHole for monitoring system sounds (then in Audio + Midi Setup, create a multi-output device with both speakers/headphones + blackhole).
In the meantime since I opened this issue, Chrome finally allows you to manually set the microphone input (using 89.0.4389.82 on 10.13.6) when you click on the Mic Icon -> 'Manage' (since the dropdown is deactived) -> then you can select mic input as wanted! Before this option, had to do crazy settings within AudioMidiSetup for sample rate to get Chrome to select the best/worst sound source... ugh.. anyways - so I can manually select it in the browser. Would still be niiiice if this setSource() would work...

Thanks. I'll give that a shot once I move to big sur (I use an app that hasn't made the jump yet).

I found a way, that worked for me:
var mic;

function setup() {
  mic = new p5.AudioIn();
  console.log(mic.getSources());

  mic.start(function () {
    mic.setSource(2);
  });

Set parameter of setSource() to the wanted input. You can find it with console.log(mic.getSources());


New Projects COVID-19 Impfdauer-Rechner, Discord Corona Bot and COVID-19 Dashboard

Fix #138
and corrected the link to the vaccinations data source
Fix #142
Fix #143

Thanks @Rubber1Duck


Project not working properly

I've just downloaded the code, run an npm install, and then executed ng serve. It compiled and ran the app. In Chrome, I browsed to http://localhost:4200 and it showed the main page. I hit F12, then I clicked on "Open Modal With Template" and it has failed with "ERROR Error: ExpressionChangedAfterItHasBeenCheckedError: Expression has changed after it was checked. Previous value: 'undefined'. Current value: 'modal fade show'. It seems like the view has been created after its parent and its children have been dirty checked. Has it been created in a change detection hook ?"
I'm not sure where to go to fix this?

Hello @tonywr71 . This is a tad bit strange.
Try to wrap the place in the code where this error occurs in a setTimeout.


Detekt-hint integration

Hi!
I am working on a tool for detection of violations on design principles in my master thesis (read more about it https://github.com/Mkohm/detekt-hint), and is looking for an open source project where I can integrate my tool for some feedback and testing. Would you welcome such an integration? It would mean a lot, and I hope it can continue to improve the maintainability of this project.
It only requires creating a configuration file and a new GitHub action. Please let me know if it is of any interest, and I will create a PR with the required changes.

Hi,
I don't think this is the right project for that. Good luck with your thesis!


clean does not remove all files

On windows when running clean from easydl/dist/utils after finishing a download, some files are not deleted. These files are still in use by EasyDL and the following error is given Error: EPERM: operation not permitted, stat <chunk path here>. These files cannot be deleted manually from file explorer either. A similar error is given.
When the program using EasyDL is closed, the files are deleted which leads me to suspect they are not being released after a download is finished by easydl.
This is an issue because it prevents downloading the same file again since the chunk names conflict and the existing file cannot be overwritten/deleted.

Has your error problem "EPERM: operation not permitted, stat " been resolved? If so, can you share the solution?
I have same problem too when downloading di part of chunk file

I've pushed some fixes in v1.1.0 that might address this issue, can you retest and verify please?

Hello v1.1.0 did not solve this issue for me.
I opened a PR addressing this issue here https://github.com/andresusanto/easydl/pull/18 @andresusanto @luxurycode


chore: bump 1.1.2

Prepare new 1.1.2 version in order to sync main with stable branch later.

Closed in favor of https://github.com/ansible/ansible-rulebook/pull/718


With Double Chests only one side gets locked

With double chests only one side of the chest gets locked. See Screenshot..

Oops this looks like a duplicate of #6

Both sides are locked if you place each but if you /lock one side the other isn't captured. I'll close this in favor of the other one.


Add BitFieldVec::pop

So it can be used like a stack, for example.

LGTM but you added by error your Cargo.toml


Use images for nodes

Is there any simple way to use images for nodes? Something like this
    {
        "nodes": [{
            "id": "n0",
            "label": "A node",
            "image": "https://example.org/image.png",
            "x": 0,
            "y": 0,
            "size": 3
        }]
    }

You can load image in your local directory. And then reference it in url .
{
    "nodes": [{
        "id": "n0",
        "label": "A node",
        "type": 'image',
        "url": imageInLocalDirectory,
        "x": 0,
        "y": 0,
        "size": 3
    }]
}

I've tried to modify the load-external-json example by adding "type": "image" and "url": "image.png" to arctic.json but I don't see any request being sent to download the picture. I only see a black dot.

https://github.com/jacomyal/sigma.js/tree/master/plugins/sigma.renderers.customShapes


Missile station allows invalid placement

When you place the missile station it will allow you to place it in such a way that the top or bottom block does not place, leaving a two block missile station.

So you are placing the missile crafting station on a wall. Then one of the blocks will go missing? Could be a failure in the collision check code on placement. Will look into it and get back to you. If you can in the mean time attempt to get a screenshot of the issue. This way I can confirm exactly what you are saying.

Yes, I placed it on the wall - can it go on the floor?
I "used" the item (to place) on the block adjacent to the floor, so the bottom block was missing.
I have screen capturing software, I'll make a video of what I noticed.

Fixed in dev version not sure when a new build will be up
https://github.com/BuiltBrokenModding/ICBM/commit/a94a752687c16f60c957033cde3f54769c44939b
Additional Fix in VoltzEngine to help reduce this error in other multi-block structures
https://github.com/BuiltBrokenModding/VoltzEngine/commit/49da5d8a1ee3ad6138fffd05168a32adf76f31b7

Yay! Sorry I never got the video, I captured it but things happened


add disclaimer for collections that are non-constodial

Disclaimer on About page plus update "rights" field to say "not held by Spec"

[ ] cccidaho
[ ] archivalidaho

rights something like: In Copyright - Educational Use Permitted. Please note these materials are not held by University of Idaho Library Special Collections and Archives. For more information, please contact the institution listed in the Source.
disclaimer something like:
{% include feature/alert.html color="warning" text="Please note: materials in this digital collection are not held by University of Idaho Library Special Collections and Archives. Additional information or higher quality images may not be available. Please consult each item's information to find the holding institution." %}


Why is the Telegram in the "risk" section?

Regarding https://github.com/vshymanskyy/StandWithUkraine/blob/main/docs/CyberSafety.md
What inspired you to add Telegram to the list of Low risk apps?

Do you think the risk is high, or that Tg should be removed from the list?

Telegram is not end-to-end encrypted as content is available to it's servers running proprietary software.
Make sure to read the history of Telegram covered by WIRED to know more about Durov and think long and hard before trusting him.
Instead better recommend Signal or Threema.

so you're advocating for non-e2e-encrypted software like Slack and Teams, but against Telegram, supposedly because it's not e2e-encrypted? seems like double standard to me.
note that Telegram does offer E2E encryption, albeit not by default. it is as secure as whatsapp, which has sham E2E encryption - chats are encrypted, but automatic backups stored on the servers are not - that's why you can access you chat history when you get a new phone. secret chats on Telegram are as secure as signal.
https://www.wikiwand.com/en/Telegram_(software)#History
Pavel Durov left Russia and VK claiming the company had been taken over by the government. he started Telegram in Berlin and was later moved to Dubai. it does not pay taxes in Russia has no ties to Russia.

In 2014, Pavel Durov fled the country after allies of the Kremlin took control of the social networking site most know just as VK. Russia's intelligence agency had asked Durov to turn over the data of anti-Kremlin protesters. Durov refused to do so.

(source)
Telegram is a major source of independent news about Ukraine for Belarussian and Russian opposition (e.g. Nexta).

it is one of the few places Russians can access independent news about the war.

"Russians are really disconnected from the reality of what happening to their country," Andrey said. "So Telegram has become essential for understanding what's going on to the Russian-speaking world."

(source)
Russia has even blocked access to Telegram in the past for failing to provide users' data to the state:
https://www.wikiwand.com/en/Blocking_of_Telegram_in_Russia
https://www.wilsoncenter.org/blog-post/russias-war-telegram-and-what-it-tells-us-about-russian-politics
please remove Telegram from the list of risky software.

In response to the false claims of security in #200 (which was locked minutes before I could respond):

note that Telegram does offer E2E encryption, albeit not by default.

But it does so only for one-to-one chats, not for groups & channels!

it is as secure as whatsapp, which has sham E2E encryption - chats are encrypted, but automatic backups stored on the servers are not - that's why you can access you chat history when you get a new phone.

The difference is that WhatsApp's backups are not stored on WhatsApp's own servers, but in iCloud/Google Drive. So WhatsApp/Meta has no access to them. Moreover, any kind of chat on WhatsApp is encrypted. Therefore, I would definitely consider it more secure.
Also, WhatsApp supports encrypted backups (disabled by default).
See: https://faq.whatsapp.com/490592613091019?locale=en_US

secret chats on Telegram are as secure as signal.

That's a bold claim, as Telegram uses a proprietary, custom-designed encryption protocol, which is never a good idea, while Signal's open protocol is considered the gold standard (and is also used by WhatsApp).

@vshymanskyy

Please stop posting this manipulative bs:

advocating for non-e2e-encrypted software like Slack and Teams, but against Telegram

...we're not advocating for Slack or Teams.

yes, you are. direct quote from the cyber safety page (https://github.com/vshymanskyy/StandWithUkraine/blob/main/docs/CyberSafety.md):

Create an additional channel of communication with important contacts (i.e. Signal/Slack/Teams)

let's please not resort to insult such as "manipulative" or "bs". i have done my research, have you done yours? or are you just jumping on the "CEO is russian therefore product bad" bandwagon? it's not rational. please reconsider.


Allow to place new StatusBarItems between default items of the status bar

I was playing with the priority value of a StatusBarItems added to the status bar by an extension, and noticed that I couldn't choose the exact spot of the StatusBarItem, when its alignment is set to right. Setting a priority of 100 places the item on the left of all default items, while a priority of 99 places the item on the right of all default items (except for the "tweet feedback" button).

Would it be possible to make it so we can place new StatusBarItems between the default items "Go to Line", "Indentation", "Select Encoding", "Select End of Line Sequence" and "Select Language Mode"?

This landed via https://github.com/microsoft/vscode/commit/9276768aec0b6a1e85584c18bda8911df45d2959
The editor related entries still try to be close to each other, the final numbering scheme is visible in https://github.com/microsoft/vscode/blob/9276768aec0b6a1e85584c18bda8911df45d2959/src/vs/workbench/browser/parts/editor/editorStatus.ts#L278 by looking for the number passed into this.statusbarService.addEntry


Change project name to keras-pandas

It's a bit catchier.
AC:

Change PyPI registration
Change repo name
Change internal descriptions

Completed all steps


@atrament/web-ui 2.0

updated @atrament/core and @atrament/web to version 2.0.0, update API calls
new feature: sessions list
new feature: save/load game menu
new features: disabling continue_maximally
reorganized main menu
removed unused scene processors
extra fonts are not included to a singlefile build
bug fix: markup processing order
bug fix: error message display
code cleanup
improved CSS styles
minor bug fixes
updated README


Can Multus support not only pod but also deployment in k8s?

I want to use multus in my deployment .
But it seems like just add network annotation to the metadata of my deployment is not enough.
And I notice that all the example of multus and sriov-device-plugin are based on the pod
Is Multus support deployment?
Or the only way to use multus is to wrap my Apps. to pods?

Hi @mJace you can do it without any issue.
just add the annotation to the pod section and not to the deployment one

@SchSeba  Thank you.
You mentioned about the pod section, did you mean the template?
Since the deployment don't have any pod section (correct me if I'm wrong)
And adding the annotation in template works.
apiVersion: apps/v1
kind: Deployment
metadata:
  name: dm-depl
spec:
  replicas: 1
  selector:
    matchLabels:
      app: dm-pod
  template:
    metadata:
      name: dm-pod
      labels:
        app: dm-pod
      annotations:
        k8s.v1.cni.cncf.io/networks: '[
            { "name" : "sriov-lwm2m-dm",
              "namespace": "default" }
        ]'
...
...

@mJace Exactly the template section is from type PodTemplateSpec


Read default plans and mappings from abacus-provisiong-plugin

Signed-off-by: Vasil Petkov<EMAIL_ADDRESS>

Coverage remained the same at 88.769% when pulling e9ac1e884a6cf411be9104a10804af915fcfd583 on SAP:default-plans into 6149047bdcdc5e253e3c0aafff37bd18d58c5bf9 on cloudfoundry-incubator:master.

Please do not merge, we need to check the shrink-wrap file.

Do we really want to have the original modules & the extension ones side-by side? The original idea of the Abacus plugins is to replace the dummy implementation with a customized one.
This change requires the original modules just because we need the plans and mappings if I understood correctly. Wouldn't it be better to split the mappings and plans in a separate modules and require just these resources instead?

Coverage increased (+0.3%) to 89.109% when pulling d55479d0b2456885782befd958fe0fe5b07aa814 on SAP:default-plans into 6149047bdcdc5e253e3c0aafff37bd18d58c5bf9 on cloudfoundry-incubator:master.

Yes, it makes sense to have a separate module where the plans and mappings are extracted and this module is referenced both from the original dummy provisioning and this extension provisioning. However those changes will spread across both cf-abacus and cf-abacus-broker.
From my point of view the changes in this PR are the second best option instead of having it duplicated in both repositories, like it's right now.

I've added the updated dependencies file.

I still think having the plans/mappings in separate module would be a better solution.
We can merge this PR as an intermediate step, provided that we create an issue to track the work on splitting the resources.

Here is the corresponding issue https://github.com/cloudfoundry-incubator/cf-abacus-broker/issues/78