ZHA can't find my device (TRADFRI driver for wireless control (30 watt) (ICPSHC24-30EU-IL-1)) but zigbee2mqtt paired it instantaneously

Home Assistant release with the issue:
0.103.6
Last working Home Assistant release (if known):
None
Operating environment (Hass.io/Docker/Windows/etc.):
Docker on Synology, running as root. Latest docker package, latest Synology DSM 6.2
Integration:
https://www.home-assistant.io/integrations/zha/
Description of problem:
Every IKEA bulb or spotled I throwed at ZHA was correctly paired.
But it just ignore the TRADFRI driver for wireless control (30 watt) (ICPSHC24-30EU-IL-1).
Additional information:
I am now running a zigate stick on my Raspberry since I had some problem with Synology and modemd (I think the OS tries to initialize the stick as a modem so it can't be used from the Synology image), so I am now forwarding it via ser2net and using it on a socket on home assistant, but even when I had HASS installed as venv directly on my Raspberry pi 3b+ it was never paired.
No errors, it's just ignored.
It was paired INSTANTANEOUSLY when I tried with a cheap CC2531 stick running on a docker with zigbee2mqtt, with a worst antenna and even more far from the transformer, and with no repater on the way (I thought it was a signal problem, but it's not).
When I was using the custom component from https://github.com/doudz/homeassistant-zigate (same author of zygpy for zigate) it was not an issue, it just paired at first try like every other bulb.

Sorry for the delay.
Full log here: https://pastebin.com/jscRdRxC
On HASS frontend I can see:
"Device 0x130f (00:0b:57:ff:fe:9f:c1:19) joined the network
[0x130f] Requesting 'Node Descriptor'
[0x130f:zdo] ZDO request 0x0013: [0x130f, 00:0b:57:ff:fe:9f:c1:19, 142]
[0x130f] Requesting Node Descriptor failed:
[0x130f] Discovering endpoints
Failed ZDO request during device initialization: "
Now I managed to connect the zigate stick to my Synology NAS, so we can exclude the problem with the wifi connected zigate.

It fails to communicate with the device using ZDO to retrieve device information. It is not  ZHA's or Zigpy's problem, as zigpy_zigate library is providing the radio interface.
Either the device is incompatible with Zigate or there's some obscure problem with zigpy_zigate's protocol implementation.
If you can pair and use it with Zigate's native application, then escalate further with zigpy_zigate. If not, then the problem could be the stick implementation 🤷♂ escalate with zigate?

I think that the answer is

there's some obscure problem with zigpy_zigate's protocol implementation
since with original library (custom component zigate) I had it working.
I will try to escalate to zigpy-zigate, thanks.

BTW, if you have it working with custom zigate component, check if you can convert and export device info into zigbee.db. in other words, pair it with zigate and leave it paired. Export zigate device info into zigbee.db info and merge with your existing zigbee.db.
Sébastien had an utility for it, I just can't find it now.

found it https://github.com/doudz/zigate/blob/dev/zigate2zigpy.py
May require some minor tweaks.

BTW, if you have it working with custom zigate component, check if you can convert and export device info into zigbee.db. in other words, pair it with zigate and leave it paired. Export zigate device info into zigbee.db info and merge with your existing zigbee.db.
Sébastien had an utility for it, I just can't find it now.

Too late, I was the one to ask and he made the utility for my use case since I had a lot of devices, but I deleted everything from a lot of time since it never worked. At the time ZHA component and zigate-zygpi were quite bugged so I preferred to delete everything and start again from zero.

It managed to find it today, I updated to Home Assistant 0.106.2 this morning and I tried again.
IKEA of Sweden TRADFRI transformer 30W
TRADFRI transformer 30W
da IKEA of Sweden
IEEE: 00:0b:57:ff:fe:9f:c1:19
Nwk: 0x130f
Device Type: Router
LQI: 159
RSSI: Sconosciuto
Ultima visualizzazione: 2020-03-02T17:46:06
Sorgente di alimentazione: Mains


e2e: Unknown option: '--configuration'

Versions
Angular CLI: 6.0.0
Node: 10.0.0
OS: darwin x64
Angular: 6.0.0
... animations, cli, common, compiler, compiler-cli, core, forms
... language-service, platform-browser, platform-browser-dynamic
... router

Package                           Version
-----------------------------------------------------------
@angular-devkit/architect         0.6.0
@angular-devkit/build-angular     0.6.0
@angular-devkit/build-optimizer   0.6.0
@angular-devkit/core              0.6.0
@angular-devkit/schematics        0.6.0
@ngtools/webpack                  6.0.0
@schematics/angular               0.6.0
@schematics/update                0.6.0
rxjs                              6.1.0
typescript                        2.7.2
webpack                           4.6.0

Repro steps

Create new cli project
Add configuration section as follow to "<PROJECT_NAME>-e2e": {:"configurations": {
    "ci": {
        "serve": "false"
    }
}

run ng e2e --configuration=ci

Observed behavior
Unknown option: '--configuration'

Desired behavior
e2e should support configuration
Mention any other details that might be useful
Unfortunatelly it is not only about --configuration but it doesn't respect also serve ng e2e --serve=false will still serve the app

It looks like the build file options object is missing serve and configuration

Heya, the serve option is actually replaced with devServerTarget. If you set it to '' it will not be served. https://github.com/angular/devkit/pull/876 should fix the serve option being erroneously accepted.
https://github.com/angular/angular-cli/pull/10763 should fix --configuration not working with ng e2e.

I also updated https://github.com/angular/angular-cli/releases/tag/v6.0.0 to show this breaking change.

Is there a way to have the configurations for the e2e swap the environment variables?
I tried adding something like
                        "test": {
                            "fileReplacements": [{
                                "src": "src/environments/environment.ts",
                                "replaceWith": "src/environments/environment.test.ts"
                            }, {
                                "src": "src/environments/config.scss",
                                "replaceWith": "src/environments/config.test.scss"
                            }]
                        }

but it outputs
Schema validation failed with the following errors:
  Data path "" should NOT have additional properties(fileReplacements).

So instead I try and replace the devServerTarget with my test config from my server like
                        "test": {
                            "devServerTarget": "mxc:serve:test"
                        }

But it doesn't like that either and outputs:
Unknown option: '--configuration'

Anyway, I'd like to be able to run my e2e tests against other environments before deploying to them. Is the only way to get around this is to create an e2e project for each environment?

@dethstrobe --configuration is already working on v6.0.1 (and<EMAIL_ADDRESS>

Thanks @rokerkony that is it. I just needed that small version bump. Thanks

@filipesilva https://github.com/angular/angular-cli/wiki/e2e should be updated about these changes.


start work on -y

Fixes #531
[WIP]
@scorphus:  I have never programmed in Python before, is this where I add the option, or is it somewhere else?
TODO

[ ] add flag
[ ] make flag set settings.require_confirmation: False
[ ] make flag execute the rest of the command
[ ] add tests

To have it implemented the way we discussed earlier – at shell alias/function level – it would involve a rewriting the shell alias – i.e. Fish.app_alias() – in order to make it conditionally set THEFUCK_REQUIRE_CONFIRMATION to 0 prior to calling thefuck ....

Aha, it's there, I interpreted your comment differently!

Great!
ps.: I'm pondering how this could be done in the Bash alias, for instance.

Okay, so @scorphus, I found how to add a fish argument, but where should this be documented, tested?

Coverage remained the same at 92.304% when pulling ff5372e288c370efd17d8f968daa847e933f23fe on Haroenv:feat/option-y-override-verification into 51415a5cb1ca6955fb99908e7d0e7bf012a66312 on nvbn:master.

Coverage remained the same at 92.304% when pulling ff5372e288c370efd17d8f968daa847e933f23fe on Haroenv:feat/option-y-override-verification into 51415a5cb1ca6955fb99908e7d0e7bf012a66312 on nvbn:master.

For powershell, something like switch could be used (but I don't know how it finds out what the name of the flag is

In bash it'll need to be replaced by a function

[…] I found how to add a fish argument, but where should this be documented, tested? […]

There are some funcitonal tests  that could include tests for the new -y functionality.

For powershell, something like switch could be used (but I don't know how it finds out what the name of the flag is

Looks like it'll work. Maybe @MattKotsenas could chime in and shed some some light on the matter?

In bash (probably the other shells as well, seeing they're aliases instead of functions too) it'll need to be replaced by a function

Yeah, that's the critical change, I think. Not sure how much it impacts on the way TheFuck is set up by users and tools alike.
Perhaps there should be a --function argument that always creates a function. Then we can leave --alias functionality untouched. What do you think?

I just realised that this would unset the confirmation for everything after once -y, will need else and setting it back to the default. (or setting it to the default at the end of the command maybe?)

Here's another example of a tool that uses TheFuck.
Thinking it again, on most cases there won't be any problems creating a function instead of an alias. Let me recall how users used to set them.

[…] setting it back to the default […]

That might be unnecessary. It should be an in-command-variable, something like:
# middle of Fish alias
if dash_y
  env THEFUCK_REQUIRE_CONFIRMATION=0 TF_ALIAS=fuck PYTHONIOENCODING=utf-8 thefuck <cmd>
else
  env TF_ALIAS=fuck PYTHONIOENCODING=utf-8 thefuck <cmd>
end
# …

Since aliases changed in 1.34 and are defined with eval "$(thefuck --alias)" I think we might be okay changing it to a function.
/cc @nvbn any concerns?

Oh-My-Fish TheFuck plugin, for example, will need to be updated to support this feature, although it would continue to work nonetheless.

Coverage decreased (-3.8%) to 88.522% when pulling a97416272c65f4fa7aa5a8b4e81e7d77756c1de3 on Haroenv:feat/option-y-override-verification into 51415a5cb1ca6955fb99908e7d0e7bf012a66312 on nvbn:master.

Coverage decreased (-3.3%) to 88.998% when pulling c02357c58f3386dc272f19b55efcfedd57e25756 on Haroenv:feat/option-y-override-verification into 51415a5cb1ca6955fb99908e7d0e7bf012a66312 on nvbn:master.

@Haroenv: the condition can be written like this:
contains -- "-y" $argv; and set -lx THEFUCK_REQUIRE_CONFIRMATION 1

l: sets the variable locally – it is bound to the funciton scope only
x: exports the variable to sibling processes – thefuck will be able to read it

Coverage decreased (-3.3%) to 88.998% when pulling 190db9407cb55a3a40c3a892ba7893cc94d10e37 on Haroenv:feat/option-y-override-verification into 51415a5cb1ca6955fb99908e7d0e7bf012a66312 on nvbn:master.

Maybe it can be a bit simpler, just a different alias like:
alias fuckit='THEFUCK_REQUIRE_CONFIRMATION=0 fuck'

?

That seems like a great idea, should need to check if that saves the variable or if it uses it just once though. Using fuckit as a new alias makes sense


loadingBuilder support

Can't track image loading status because loadingBuilder doesn't return ImageChunkEvent

Working on this...


[POC] Add possibility to switch configuration

Following https://github.com/jolicode/elastically/issues/22 I poc a simple way to switch configuration, by default we always take configuration from yaml file but we can also define a custom configuration class.
    JoliCode\Elastically\Client:
        arguments:
            $config:
                configuration_class: '@App\Search\DudeConfiguration'

+  configuration_class: '@App\Search\DudeConfiguration'

App\Search\DudeConfiguration can be define as a service so you can inject any others service needed. Suppose that I need to fecth configuration from a database
class DudeConfiguration extends AbstractConfiguration
{
    public function __construct(array $options = [], EntityManagerInterface $manager)
    {
        $config = [
            'elastically_mappings_directory' => $manager->getRepository(Config::class)->findOneBy(['configName'=> 'path']),
            'elastically_bulk_size' => $manager->getRepository(Config::class)->findOneBy(['configName'=>'bulkSize'])
            ];

        parent::__construct($config);
    }
}

At the moment we not handle the mapping definition but
I think we can add a option elastically_mapping that return the whole mapping and in IndexBuilder::createIndex we get it the mapping from the option resolver.
Something like :
- $mappingFilePath = $this->configuration->getOption('elastically_mappings_directory').DIRECTORY_SEPARATOR.$indexName.'_mapping.yaml';
- $mapping = Yaml::parseFile($mappingFilePath);
+ $mapping = $this->configuration->getOption('elastically_mappings')

Some comments about naming things :)
Also could you fix the tests?
Thanks a lot

Thanks for the feedback, I updated the code with your comments,
and I also replace the logic to resolve the configuration to get them from mapping reader that still be from the yaml by default
Exemple :
- $indexToClass = $this->getConfig(Client::CONFIG_INDEX_CLASS_MAPPING);
+ $indexToClass = $this->getMappingReader()->getOption(self::CONFIG_INDEX_CLASS_MAPPING);

I'm still open if there is something wrong or anything to improve and OFC I'll fix test :+1:

Hi @damienalexandre,
Sorry for the delay, I'll close this one as I went too far


Not compatible with require

var graphql = require('graphql-parser')

doesn't return the graphql object, need to do
var graphql = require('graphql-parser').default

I think there's some option in babel to compile the modules with commonjs compatibility.

This project is no longer maintained.
Newer versions of babel would fix this.


IE 9 & 10: Full screen button does diddly squat

Just checked caniuse.com, Full Screen API is incompatible on IE 9 & 10 so fullscreen button should not even be there. http://caniuse.com/#feat=fullscreen


Rolls and Pokeslot

Hello, I got the bot working, however I set both rolling and pokeslot to "False" on de JSON, and it still did rolls and pokeslot, I tried again on a diferent server and it did it once again.
I am using the lastest release 2.0v1.

the release is pretty far behind on thing i think that release was from my 1st conversion
from discord.py >> to discum so it pretty far behind

Which one should I use?


[Banana Cake Pop] Disable schema caching of BCP Middleware

Check https://hotchocolategraphql.slack.com/archives/CD9TNKT8T/p1608502041362000

i cannot disable and cannot get to thread, could you please post here

i cannot disable and cannot get to thread, could you please post here

i feel miserable

i feel miserable

Currently if BCP is used as middleware, it uses caching by default. You must simply press the schema refresh button every time you change your schema in the server.

Currently if BCP is used as middleware, it uses caching by default. You must simply press the schema refresh button every time you change your schema in the server.


Fix windows warnings

Discovered in https://ci.ros2.org/job/ci_windows/19826/ via https://github.com/ros-tooling/topic_tools/pull/68

I'll run full ci.ros2.org on this to actually look for greens across the board, then can backport and make sure Humble/Iron also all greens, then will cut releases with the new branches

Pulls: ros-tooling/topic_tools#71
Gist: https://gist.githubusercontent.com/emersonknapp/64914eb5816cc95ae84edff9be760aac/raw/e985fc1b6d3ddc0aa3a43345a47c76e4d523498b/ros2.repos
BUILD args:  --packages-above-and-dependencies topic_tools
TEST args:  --packages-above topic_tools
ROS Distro: rolling
Job: ci_launcher
ci_launcher ran: https://ci.ros2.org/job/ci_launcher/12337

Linux
Linux-aarch64
Windows

Rebuild above

Linux
Linux-aarch64
Windows

Windows

@mergifyio backport humble iron


Not working on Firefox 133

I been looking for this kinda of option and found this addon but doesnt work in 133 it seems.
I open a new tab but using the back button at the end of history doesnt closes it

Do you have Tampermonkey installed?

I'm seeing the same issue. Going back does not close the tab and I am not using Tampermonkey.


Show assigned user in case list

When viewing the list of cases, if there is also a user assigned to the case, we should show it next to the partner name.

@justinvdm Ready for review
@rowanseymour Pinging you here too.

Left a minor comments, looks good.

@justinvdm I've gone through your comments. Ready for another review.

:+1:


Fix search connection by alias

Signed-off-by: Ian Costanzo<EMAIL_ADDRESS>

Codecov Report

Merging #893 (65b9f2a) into master (5687d28) will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##           master     #893   +/-   ##
=======================================
  Coverage   98.90%   98.90%
=======================================
  Files         298      298
  Lines       16746    16746
=======================================
  Hits        16562    16562
  Misses        184      184

Codecov Report

Merging #893 (65b9f2a) into master (5687d28) will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##           master     #893   +/-   ##
=======================================
  Coverage   98.90%   98.90%
=======================================
  Files         298      298
  Lines       16746    16746
=======================================
  Hits        16562    16562
  Misses        184      184


Refactor cli

fixes #895.

I don't feel it easy to extend it based on the feedback in the docs, I should re-refactor this.

In addition, it would be good to print the help for the command used when an invalid argument is passed in: It can be done, but not to a that good extent. The parser isn't sure whether the flag belongs to parser or subparser, so it outputs all in those cases.

We also will need to update the docs with the new syntax - https://mythril-classic.readthedocs.io/en/master/security-analysis.html Do we want to do that in this PR or another one?

Next one


Add parameter Protocol to CLI operation network watcher test-connectivity

Is your feature request related to a problem? Please describe.
Network Watcher operation connectivity troubleshoot added a new input parameter Protocol, which can value Tcp and Icmp. Also if Protocol value is Icmp, user doesn't need to input both source and destination port.
Describe the solution you'd like
Add parameter Protocol into operation network watcher test-connectivity
Currently:
az network watcher test-connectivity --resource-group juz-er-networkwatcher-team-rg --source-resource juzVm0 --dest-address <IP_ADDRESS> --dest-port 80
Expected something like
az network watcher test-connectivity --resource-group juz-er-networkwatcher-team-rg --source-resource juzVm0 --dest-address <IP_ADDRESS> --dest-port 80
az network watcher test-connectivity --resource-group juz-er-networkwatcher-team-rg --source-resource juzVm0 --dest-address <IP_ADDRESS> --dest-port 80 -–protocol Tcp
az network watcher test-connectivity --resource-group juz-er-networkwatcher-team-rg --source-resource juzVm0 --dest-address <IP_ADDRESS> -–protocol Icmp
Describe alternatives you've considered
None
Additional context
Portal change shall be released soon, which can be a reference.

The test-connectivity command already has a protocol parameter. Are you talking about network watcher troubleshooting start?

@tjprescott My fault, I failed on finding the correct website. Closed now. Sorry for the trouble, Travis.


CSE error: exit code 99 - GPG error KEYEXPIRED

Is this a request for help?:
No
Is this an ISSUE or FEATURE REQUEST? (choose one):
ISSUE
What version of acs-engine?:
Version: v0.22.1
GitCommit: 0908e5151
GitTreeState: clean

Orchestrator and version (e.g. Kubernetes, DC/OS, Swarm)
Kubernetes 1.11.2
What happened:
Deployment failed with exit code 99
What you expected to happen:
Deployment to succeed
How to reproduce it (as minimally and precisely as possible):
Deploy any cluster with a master node based on aks currently, I think.
Anything else we need to know:
from /var/log/azure/cluster-provision.log:
Hit:11 http://download.opensuse.org/repositories/home:/clearcontainers:/clear-containers-3/xUbuntu_16.04  Release
Err:8 https://nvidia.github.io/libnvidia-container/ubuntu16.04/amd64  InRelease
  The following signatures were invalid: KEYEXPIRED<PHONE_NUMBER>  KEYEXPIRED<PHONE_NUMBER>  KEYEXPIRED<PHONE_NUMBER>  KEYEXPIRED<PHONE_NUMBER>
Err:9 https://nvidia.github.io/nvidia-container-runtime/ubuntu16.04/amd64  InRelease
  The following signatures were invalid: KEYEXPIRED<PHONE_NUMBER>  KEYEXPIRED<PHONE_NUMBER>  KEYEXPIRED<PHONE_NUMBER>  KEYEXPIRED<PHONE_NUMBER>
Err:10 https://nvidia.github.io/nvidia-docker/ubuntu16.04/amd64  InRelease
  The following signatures were invalid: KEYEXPIRED<PHONE_NUMBER>  KEYEXPIRED<PHONE_NUMBER>  KEYEXPIRED<PHONE_NUMBER>  KEYEXPIRED<PHONE_NUMBER>
Fetched 2,265 B in 1s (1,779 B/s)
Reading package lists...
W: An error occurred during the signature verification. The repository is not updated and the previous index files will be used. GPG error: https://nvidia.github.io/libnvidia-container/ubuntu16.04/amd64  InRelease: The following signatures were invalid: KEYEXPIRED<PHONE_NUMBER>  KEYEXPIRED<PHONE_NUMBER>  KEYEXPIRED<PHONE_NUMBER>  KEYEXPIRED<PHONE_NUMBER>
W: An error occurred during the signature verification. The repository is not updated and the previous index files will be used. GPG error: https://nvidia.github.io/nvidia-container-runtime/ubuntu16.04/amd64  InRelease: The following signatures were invalid: KEYEXPIRED<PHONE_NUMBER>  KEYEXPIRED<PHONE_NUMBER>  KEYEXPIRED<PHONE_NUMBER>  KEYEXPIRED<PHONE_NUMBER>
W: An error occurred during the signature verification. The repository is not updated and the previous index files will be used. GPG error: https://nvidia.github.io/nvidia-docker/ubuntu16.04/amd64  InRelease: The following signatures were invalid: KEYEXPIRED<PHONE_NUMBER>  KEYEXPIRED<PHONE_NUMBER>  KEYEXPIRED<PHONE_NUMBER>  KEYEXPIRED<PHONE_NUMBER>
W: Failed to fetch https://nvidia.github.io/libnvidia-container/ubuntu16.04/amd64/InRelease  The following signatures were invalid: KEYEXPIRED<PHONE_NUMBER>  KEYEXPIRED<PHONE_NUMBER>  KEYEXPIRED<PHONE_NUMBER>  KEYEXPIRED<PHONE_NUMBER>
W: Failed to fetch https://nvidia.github.io/nvidia-container-runtime/ubuntu16.04/amd64/InRelease  The following signatures were invalid: KEYEXPIRED<PHONE_NUMBER>  KEYEXPIRED<PHONE_NUMBER>  KEYEXPIRED<PHONE_NUMBER>  KEYEXPIRED<PHONE_NUMBER>
W: Failed to fetch https://nvidia.github.io/nvidia-docker/ubuntu16.04/amd64/InRelease  The following signatures were invalid: KEYEXPIRED<PHONE_NUMBER>  KEYEXPIRED<PHONE_NUMBER>  KEYEXPIRED<PHONE_NUMBER>  KEYEXPIRED<PHONE_NUMBER>
W: Some index files failed to download. They have been ignored, or old ones used instead.
+ '[' 10 -eq 10 ']'
+ return 1
+ exit 99

KEYEXPIRED<PHONE_NUMBER> corresponds to a Unix timestamp of 2018-09-28T20:32Z.

@davidmatson see https://github.com/Azure/acs-engine/issues/3933 for more details and a workaround. Can you please share your apimodel (with secrets redacted)?

closing to keep the discussion thread centralized in #3933


Possible poetry / pre-commit conflict

In a fresh pre-commit environment:
'''
Preparing metadata (pyproject.toml): started
Preparing metadata (pyproject.toml): finished with status 'error'
stderr:
error: subprocess-exited-with-error
× Preparing metadata (pyproject.toml) did not run successfully.
│ exit code: 1
╰─> [14 lines of output]
Traceback (most recent call last):
File "/home/stucka/.cache/pre-commit/repofaldrvvx/py_env-python3/lib/python3.9/site-packages/pip/_vendor/pyproject_hooks/_in_process/_in_process.py", line 353, in
main()
File "/home/stucka/.cache/pre-commit/repofaldrvvx/py_env-python3/lib/python3.9/site-packages/pip/_vendor/pyproject_hooks/_in_process/_in_process.py", line 335, in main
json_out['return_val'] = hook(**hook_input['kwargs'])
File "/home/stucka/.cache/pre-commit/repofaldrvvx/py_env-python3/lib/python3.9/site-packages/pip/_vendor/pyproject_hooks/_in_process/in_process.py", line 149, in prepare_metadata_for_build_wheel
return hook(metadata_directory, config_settings)
File "/tmp/pip-build-env-2evc40q8/overlay/lib/python3.9/site-packages/poetry/core/masonry/api.py", line 41, in prepare_metadata_for_build_wheel
poetry = Factory().create_poetry(Path(".").resolve(), with_groups=False)
File "/tmp/pip-build-env-2evc40q8/overlay/lib/python3.9/site-packages/poetry/core/factory.py", line 58, in create_poetry
raise RuntimeError("The Poetry configuration is invalid:\n" + message)
RuntimeError: The Poetry configuration is invalid:
- [extras.pipfile_deprecated_finder.2] 'pip-shims<=0.3.4' does not match '^[a-zA-Z-.0-9]+$'
      [end of output]

'''

Fixed with https://github.com/biglocalnews/warn-scraper/releases/tag/1.2.36


_VPNV6 gateways always created, even when V6 disabled for OpenVPN Clients

The system always creates _VPNV6 gateways, even for OpenVPN clients with IPv6 explicitly disabled. These gateways also cannot be deleted and will be recreated every time the client connects.

Here is what the ifconfig and routing looks like for the running OpenVPN client. Note that the VPN Client is not acting as the default gateway.
ovpnc3: flags=8051<UP,POINTOPOINT,RUNNING,MULTICAST> metric 0 mtu 1500
        options=80000<LINKSTATE>
        inet6 fe80::250:56ff:fe83:11cb%ovpnc3 prefixlen 64 scopeid 0xb
        inet <IP_ADDRESS> --> <IP_ADDRESS>  netmask 0xffffff00
        nd6 options=21<PERFORMNUD,AUTO_LINKLOCAL>
        groups: tun openvpn
        Opened by PID 46040

root@anshe:~ # netstat -rn | grep ovpn
<IP_ADDRESS>/24        <IP_ADDRESS>           UGS      ovpnc3
<IP_ADDRESS>           link#11            UH       ovpnc3
<IP_ADDRESS>/24       <IP_ADDRESS>          UGS      ovpns1
<IP_ADDRESS>          link#9             UH       ovpns1
fe80::250:56ff:fe83:11cb%ovpns1   link#9                        UHS         lo0
fe80::250:56ff:fe83:11cb%ovpnc3   link#11                       UHS         lo0

The odd numbering is due to a separate issue with tun(4) interfaces not being cleaned up when clients are deleted, unrelated to this issue.

As requested on IRC... question is, how to infer the device node name of a tun/tap after renaming in ifconfig. This also exposed another bug related to gateways and groups - an interface is not removed from groups either.
Since we aren't working with cloned interfaces, these will have a link-local address. Of course, this link local address will be the same as the first non-loopback interface on the system. However, each interface must have a unique scopeid. The scopeid will populate even if an ovpnc has IPv6 disabled (IPv6 is disabled in the OpenVPN process rather than the interface - this is a requirement for mixed-scheme environments.)
So for example:
        inet6 fe80::250:56ff:fe83:11cb%vmx0 prefixlen 64 scopeid 0x1
        inet6 fe80::250:56ff:fe83:3407%vmx1 prefixlen 64 scopeid 0x2
        inet6 fe80::250:56ff:fe83:7839%vmx2 prefixlen 64 scopeid 0x3
        inet6 fe80::250:56ff:fe83:bfee%vmx3 prefixlen 64 scopeid 0x4
        inet6 fe80::1%lo0 prefixlen 64 scopeid 0x5
        inet6 fe80::250:56ff:fe83:11cb%ovpns1 prefixlen 64 scopeid 0x9
        inet6 fe80::250:56ff:fe83:11cb%tun2 prefixlen 64 scopeid 0xa
        inet6 fe80::250:56ff:fe83:11cb%ovpnc3 prefixlen 64 scopeid 0xb

tun2: flags=8051<UP,POINTOPOINT,RUNNING,MULTICAST> metric 0 mtu 1500
        options=80000<LINKSTATE>
        inet6 fe80::250:56ff:fe83:11cb%tun2 prefixlen 64 scopeid 0xa
        nd6 options=21<PERFORMNUD,AUTO_LINKLOCAL>
        groups: tun NordVPN

Now, I will manually rename tun2 to demo0:
demo0: flags=8051<UP,POINTOPOINT,RUNNING,MULTICAST> metric 0 mtu 1500
        options=80000<LINKSTATE>
        inet6 fe80::250:56ff:fe83:11cb%demo0 prefixlen 64 scopeid 0xa
        nd6 options=21<PERFORMNUD,AUTO_LINKLOCAL>
        groups: tun NordVPN

However, the scopeid will only exist if the interface is actually brought up. However, if an ovpnc is failing to connect for any reason, the link-local and scopeid will not populate. So creating an 'invisible' group like __tunnelN on a per-interface basis may make more sense here.

@rootwyrm thanks! it seems that "ifconfig tunX create" creates tunX already, so the only race that could happen is that someone uses e.g. tun2 but GUI wants to create an OpenVPN ID 2 because that is the next one to create after ID 0. In that case the GUI code will "steal" the existing tun2, thinking it is up for grabs.
On the bright side, the destroy on delete works for tun and tap.

ac1c2ec will do the trick

@fichtner this needs reopened as a major regression found in 19.7.4 that has been made MUCH worse.
This is even worse than before. Now it creates both V4 and V6 gateways, and selects the V6 gateway as active, refuses to make the V4 gateway active when a gateway is present. Attempt to delete the V6 gateway, and it gets brought back as active. Attempt to disable it, it just gets brought back as active. How did this get missed?? This makes non-IPv6 VPN clients basically broken!

So did some further digging and analysis and this is part regression, part "upstream is smoking crack." As of 2.4, OpenVPN defaults to IPv6 and insists on it being available. (Which as you might guess, blows up everyone's Docker stuff, just as an opener. It's exceptionally braindead on their part.)
Now, it is also not supposed to do this if you have the following lines in your config:
pull-filter ignore "ifconfig-ipv6 "
pull-filter ignore "route-ipv6 "

So, the Disable IPv6 tickbox in theory needs to apply those two lines to the configuration in addition to what it already does. Also, you must specify as "TCP4" or "UDP4". However, you will probably be completely unsurprised to hear that having all of that still results in OpenVPN creating an IPv6 gateway no matter what.
And if you have any sort of IPv6, it cheerfully sets up a default route conflict at priority 255, sending your traffic down a non-existent VPN tunnel. So just disable IPv6, right? No. If you disable IPv6, then OpenVPN 2.4.x will refuse to work period.
What this ALSO means is because OpenVPN is now broken in such a way that it no longer respects user settings in the least, any client reconnect instantly causes nasty route conflicts and a complete disruption of all connections. Including IPv4. Even when it's not supposed to pull or insert the routes. <insert 'great job' GIF here>
So basically, OpenVPN now insists on creating IPv6 AND an IPv6 gateway no matter what, at all costs, especially if that means deliberately breaking or disrupting your entire network with a completely bogus default route to nowhere despite setting it to not pull or set default routes. And treats any desire to NOT have IPv6 on your OpenVPN configuration as a, quote the developers, "a pilot error." No small irony that this is exclusive to client; servers configured at tcp4 or udp4 do not inflict this utter stupidity on the user.
The only way I see working around the delusional-at-best attitude of OpenVPN here is to somehow instruct OPNsense to explicitly ignore and not create the IPv6 gateway for an OVPN client that does not explicitly request one.

I am getting this issue on 20.7 and wondered if there was a solution or workaround?
I have currently disable the IPv6 gateways and am not sure if that is sufficient.
Thanks

I am getting this with 21.1.7_1 as well. For now, I disabled IPv6 gateways as deleting them simply makes them active again. Any fix/workaround possible to remove those IPv6 gateways?

See here for our contribution guidelines https://github.com/opnsense/core/blob/master/CONTRIBUTING.md

When configuring the OpenVPN Server just choose "UDP4" from dropdown on proto.

When configuring the OpenVPN Server just choose "UDP4" from dropdown on proto.

Doesn't change anything for me, always had OV defined with UDP4, but IPv6 always appears and becomes enabled.

Seems like this is still an issue. Is disabling the v6 gateways the only fix ? I know pfSense has an option in the client configuration to control this behaviour.

Is this really an issue for the last 5 years?

I don't see a functional issue resulting from this behaviour? pfSense also made it this way in the first place ;)


Implement GPU skinning

Checklist

CI Checked:

[x] cargo fmt has been ran
[x] cargo clippy reports no issues
[x] cargo test succeeds
[x] cargo rend3-doc has no warnings
[x] cargo deny check issues have been fixed or added to deny.toml

Manually Checked:

[x] relevant examples/test cases run
[x] changes added to changelog

[x] Add credit to yourself for each change: Added new functionality @githubname.

Related Issues
#27
Description
This brings the remaining pieces to make the skinning system work. Previous PRs: #326, #325
This PR adds the following features:

Adds pre-skinning (data upload) and skinning (compute pass) nodes to the default rendergraph.
Fixes copy_buffer_to_buffer not working with same src/dst buffers by using a compute shader instead (see buffer_copier.rs).
Adds a new skinning example.
Adds autodetection of skinned meshes in rend3-gltf. A skeleton is now created for those meshes instead.

Apparently I filled out the comments but never hit go yesterday, sorry!

Apparently I filled out the comments but never hit go yesterday, sorry!

No worries! Will get around to finishing the remaining comments on monday :)

Thanks! :smile: :tada:


Remove SupportsConditionalUpdate feature flag

Now that Conditional Updates / Creates have been released we can remove these feature flags. These capabilities should default to on.
Remove:

SupportsConditionalUpdate
SupportsConditionalCreate

@Ivanidzo4ka can we close this?


Please move static analysis dependencies in compileOnly scope

Currently these dependencies are in compile scope:

org.jetbrains:annotations
javax.annotation:javax.annotation-api

Please move them into compileOnly. I suppose Testcontainers users don't need these libraries in classpath.

Alternatively, we could have our own annotations since JSR-305 allows having them.
Here is an example from Project Reactor:
https://github.com/reactor/reactor-core/tree/master/reactor-core/src/main/java/reactor/util/annotation

@bsideup Yes, it's possible. But I'd prefer having a limited number of NonNullApi annotations in the project's classpath. For example, Spring Framework has its own NonNullApi annotations.
BTW using compileOnly scope won't break anything.

The whole idea of @TypeQualifierNickname is to be able to have project-specific annotations, so that there is no need to depend on a common dependency with the annotations. This is why there are such annotations in Spring and Project Reactor.
Also, they are not supposed to be used by the end user, but only to provide info about the existing code of the project, so the amount of the annotations on project's classpath should not be a concern.

I have nothing against the idea. But as I've seen all these project-specific annotations don't work if javax.annotation.* annotations are not presented in the classpath.

And... I think that annotations' scope and NonNullApi annotations are different things. I'd like to repeat: everything will continue to work with compileOnly scope.

I'd like to pick up this issue.
I made some observations already:

I think that javax.annotation:javax.annotation-api could be removed. I didn't see any usages
org.jetbrains:annotations - moving compileOnly from core to subprojects/dependencies should fix it (since other modules also use these annotations)


[BUG] Varker dockershuts itself down randomly

Describe the bug
On unraid running the docker, I noticed the docker sometimes randomly shut down. Upon looking in the log the following error repeats itself every 30 seconds.
ERROR : tautulli : TypeError has occurred : __new__() got an unexpected keyword argument 'video_scan_type' while creating TautulliStream structure
Also, another "bug" I have noticed is the "Ombi Requests Pending" monitor in the Grafana desktop does not receive any data. I tried playing around with removing some variable to try and solve the issue however the query is always empty.
 Ombi Requests Pending in the Grafana interface should show data.
Environment (please complete the following information):

OS: unraid
Version 6.7.2
-Tautulli version v2.1.35-beta
Ombi version 3.0.4680

This is not a bug. There were changes to Tautulli and Varken develop has the enhancements needed.


Multiple Reports for same day starts at 08:00

When I add multiple reports per day all of them starts at 08:00.
It would be nice to be able to specify start time for the different reports.

There is a couple of solutions to this problem.

We append them to the day, so first entry on a given day would start from 8 AM but the second entry continues after the first one and so forth.
This would utilise the already available parameter 'durationInHours'

Or

We could as you mentioned let the user specify a time range. So two new parameters would be added ex 'starTime & endTime' on each customer entry.
This would be a more flexible solution. And also be implemented for other days wherr only 1 entry was specified. So one could specify when I start work for any given day.
Some maybe start their day at 9 AM  to 6 PM on Mondays but on Tuesday they work 8 AM to 12 AM...
Another benefit of this would mean that we could remove the parameter 'fullDayHours' and calculate the hours striven for each day.

Added a config parameter that will let you specify when the entry should start. This should solve the issue at hand, but the question still stands whether we'd like to specify a time range.


Support pydantic models

At least support defaults and fields list

turns out it's pretty straight forward to support this:
you can use the following class:
class ObjectFactory(Factory):
    def __init__(self, schemas: List[Any]], *args, **kwargs):
        kwargs["schemas"] = {
            schema: Schema(parser=lambda data: schema(**data),) for schema in schemas
        }
        super().__init__(*args, **kwargs)

    def dump(self, data: TypedObject) -> Dict[str, Any]:
        return data.dict()

Probably it's a good idea of intermediate step. But i'd like to be able to configure behavior of serializing using Schema instances.

@Tishka17 perhaps also support construct() based instantiation then?
especially for my use case, event based message passing using pydantic models, the source is trusted and i would like to bypass validation: https://pydantic-docs.helpmanual.io/usage/models/#creating-models-without-validation

New major version supports pydantic


events: Remove email field from update subscription events.

This PR removes email field from update subscription
events, as email field is of no use in this case.

Merged, thanks @sahil839!  @gnprice @neiljp FYI.


mp4 with multi audio support?

Have you read the Tutorials?
YES
Have you read the FAQ and checked for duplicate open issues?
YES
What version of Shaka Player are you using?
v4.3.1
Please ask your question
Does shaka player support multi-audio with .mp4 content
I tried to play an mp4 video content with multi-audio but the shaka player doesn't detect the languages.
is there any way to detect the audio languages since the shaka player plays the .mp4 content on the src= attribute which is handled by the browser could be the issue?
URL: https://mirror.eu.oneandone.net/projects/media.ccc.de/congress/2019/h264-hd/36c3-10496-deu-eng-spa-Das_Mauern_muss_weg_hd.mp4

is it possble to add an Audio Track? for an mp4 file?

Playing a single mp4 delegates to the browser, which doesn't give us any way of switching audio tracks AFAICT.  If you play that mp4 URL directly in Chrome, the native controls don't offer to change languages or audio tracks, and Chrome has not implemented the .audioTracks property on the video element.
Sorry, but there's nothing we can do for this at the player level.  You can file bugs on Chrome at https://crbug.com/ to ask them to implement these features.

Yes @joeyparrish
Thanks for the information
I also did some research and what I found is
https://developer.mozilla.org/en-US/docs/Web/API/HTMLMediaElement/audioTracks#browser_compatibility
Audio tracks are supported in the Shaka Player MSE playback engine for HLS and DASH. Safari also supports audio tracks for native playback of HLS and MP4. Other browsers do not support audio tracks for native playback including MP4, so it is impossible to work with MP4 audio tracks in Chrome or Firefox for example.

CHROME

There are some experimental flags in chrome
#enable-experimental-web-platform-features preferences (needs to be set to Enabled). To change preferences in Chrome, visit chrome://flags. `I tested this we are able to see the languages but the behavior is not good

FIREFOX

From version 33: this feature is behind the media.track.enabled preferences (needs to be set to true). To change preferences in Firefox, visit about config. `doesn't work perfectly

Some helpful docs
https://jeremyrichardson.dev/blog/multiple_audio_tracks_in_chrome
https://bugzilla.mozilla.org/show_bug.cgi?id=1119299
Thanks :)


Update the copyright statements to match CNCF recs

This updates the copyright statements to match the CNCF
recommendation, as per
https://github.com/cncf/foundation/blob/master/copyright-notices.md
We also add SPDX headers, and add enforcement.
Signed-off-by: Stephen Kitt<EMAIL_ADDRESS>

Humm, I was allowed to merged this (and the UX to do so was natural) before the bot added the ready-to-test label. I approved it, got a green button, merged it, and then the bot added the label.


New feature that fixes X and Y

The new feature fixes the issues discussed in the meeting on XX/XX/XXXX, i.e. issues X and Y. It does this by...

The new feature fixes the issues discussed in the meeting on XX/XX/XXXX, i.e. issues X and Y. It does this by...

cool


syntax error

const introspection = graphqlSync(schema, introspectionQuery).data as IntrospectionQuery;
is this line valid json code, seems that couldn't run

This is typescript code to help your compiler recognise the type. It doesn't apply to javascript


Build executable files in CI

@gege251 Could you elaborate on what the goal is here? we're building the project on CI already, would this be an automatic release feature?


AttributeError: 'NoneType' object has no attribute 'GEOSversion'

Please note
Steps to reproduce the problem.
$sudo ./main
then
When I use pyinstaller to package and publish the program, I run it and report an error:
File "shapely/geos.py", line 200, in
File "shapely/geos.py", line 188, in _geos_version
AttributeError: 'NoneType' object has no attribute 'GEOSversion'
Operating system
system:Ubuntu 18.04.5 LTS 64bit
NVIDIA NANO

@wanghuqiang123 please search the issue tracker for other issues related to pyinstaller. Something like this has come up before.

Looks like https://github.com/Toblerity/Shapely/issues/831 is the same error. Resolution there was:

I'm going to close this. The entire category of errors involving dynamic loading of GEOS is going away in 2.0 and we won't be doing anything about any of them in the meanwhile.


[DPE-4416] Fetch charm libs to the latest LIBPATCH (update dp-libs to v36 to fix secrets issue)

Issue:
It is impossible to upgrade charm from the current 14/stable to 14/candidate due to the issue https://warthogs.atlassian.net/browse/DPE-4416
Solution:
Fix dp-library in revision 36 https://github.com/canonical/data-platform-libs/pull/170
Update all libraries to the latest fixes/LIBPATCH.
Original issue is no longer reproducible and the new charm passed the internal testing.

I have reverted rolling-ops update due to requirements to tune unit-tests there: https://github.com/canonical/postgresql-operator/actions/runs/9251766314/job/25447979712 (not a scope to fix secrets on upgrade).


Nxstyle

Please review. Should address Issue #120, and adds column position checks for right of code comments.

Since you do not appear to have confidence in my ability to review code, I will has @xiaoxiang781216 to please review and merge.

I'm quite sure you have, but I lack self confidence. And I'm sure I hid a bug somewhere, as often.
Nevertheless I will do some test with your proposed script setup, but I thought you have something similar out of the box to test nxstyle. That's one of the reasons I requested you(!) to review before I file the PR.

And again false positives with another test set...
Only warnings, but I need to fix them. It's late today, I will continue tomorrow.
Please postpone merging.

@patacongo @xiaoxiang781216 What do you think?
Is \sched\semaphore\sem_holder.c:445 an error or is this acceptable?
The backslash after the comment is bothering my current version:
#if 0 /* Need to revisit this, but these assumptions seem to be untrue -- \        * OR there is a bug??? */

I answer myself: The backslash is just part of the comment, so it must be ignored.

@johannes-nivus - If you run ito more of these it would be of great value, if you would share the section of code that fails and where you think the issues in in nxstyle. By having that context we can add more value here.

@patacongo @xiaoxiang781216 What do you think?
Is \sched\semaphore\sem_holder.c:445 an error or is this acceptable?
The backslash after the comment is bothering my current version:
#if 0 /* Need to revisit this, but these assumptions seem to be untrue -- \
 * OR there is a bug??? */

The backslash should be removed from sem_holder.c.  It is incorrect.

Then I should allow only single-line right of code comments in case of any other than #define preprocessor lines?
I've already seen at least one multiline right of code comment next to #endif also.

The are okay everywhere except for #if type commands.
The line continuation '' should not be used anywhere in a C file except for in multiple line definitions.
It is incorrect to continue a C comments use \ at the end of one line of the multi-line comment.
it is not the right hand comment that is the issue, it is the use of \

You are familiar with the coding standard document, correct?   https://cwiki.apache.org/confluence/display/NUTTX/Coding+Standard
That is really the specification for nxstyle.  Make sure that anything you do is consistent with and required by that document.

You are familiar with the coding standard document, correct? https://cwiki.apache.org/confluence/display/NUTTX/Coding+Standard
That is really the specification for nxstyle. Make sure that anything you do is consistent with and required by that document.

Yes I am (and I always look up the cases I'm modifying/implementing), but I haven't found an paragraph were it's explicitly stated when multiline comments right of code are allowed.
Perhaps I missed it...

haven't found an paragraph were it's explicitly stated when multiline comments right of code are allowed.

If they are not prohibited, then they are allowed.  There is much about C programming that is not discussed in the coding standard.
This is the same argument for accepting   #504 : If the kind of indentation that YAMT wanted to do is not explictly prohibited, then it is permitted.
If we find controversial things taht should be prohibited, then we must update the coding style to add the prohibition.

I'm confident with the changes so far.
Running on all c files of sched/ gives the following additional lines:
sched\task\task_vfork.c:340:38: warning: Wrong column position of comment right of code
sched\semaphore\sem_holder.c:445:6: error: No multiline comment right of code allowed here
sched\irq\irq_procfs.c:98:29: warning: Wrong column position of comment right of code
The other output is identical to current master.
include\nuttx\can\can.h passes
Please review and merge if acceptable.

Hmmm... there is discussion in the CS document.  I stand corrected:
"Comments to the Right of Statements. Comments to the right of statements in C source files are discouraged. If such comments are used, they should be (1) very short so that they do not exceed the line width (typically 78 characters), (2) fit on one line, and (3) be aligned so that the comment begins in the same comment on each line. "
It does explicitly prohibit multiple line comments to the right!  That, unfortunately is not realizable.  You simultaneously limit line width, allow comments to the right, and force right hand comments to be a single line.  That doesn't make sense.
Within C code, I have no problem with this prohibitioin.  But in #defines and data definitions, it is essential to provide sufficient information for item on a line-by-line basis.
In general, we must avoid problems by change the coding standard to match the code or tools.  That just opens a Pandora's box.  But we can make well considered and agreed to changes in the coding standard if necessary.

sched\task\task_vfork.c:340:38: warning: Wrong column position of comment right of code
sched\semaphore\sem_holder.c:445:6: error: No multiline comment right of code allowed here
sched\irq\irq_procfs.c:98:29: warning: Wrong column position of comment right of code

PR #507 and #505 should resolve all of these.

One changed behavior I am seeing is for example with this code snippet:
         case RECORD_EXT_SEGADDR: /* Extended segment address record */
           /* The address specified by the data field is multiplied by 16
            * (shifted 4 bits left) and added to the subsequent data record
            * addresses. This allows addressing of up to a megabyte of

nxstyle in the past would have claimed that I need a blank line before the (second) comment.  Now it complains that the second "right hand" comment is not aligned properly.  Both are correct complaints, but the old one was  more interpretable.  Both are fixed in the same way... by adding the blank like before the comment.
         case RECORD_EXT_SEGADDR: /* Extended segment address record */
+
           /* The address specified by the data field is multiplied by 16
            * (shifted 4 bits left) and added to the subsequent data record
            * addresses. This allows addressing of up to a megabyte of

I don't think that there is a problem here, just a change in behavior.
BTW:  I think you did a great job!  Feel free to add additional functionality to nxstyle.

@patacongo Thanks alot.
Concerning the changed behavior please see #522
@xiaoxiang781216
I had a look at #459 that looks really awful. Relax the checks for position of comments? Or keep it as it is?

@patacongo Thanks alot.
Concerning the changed behavior please see #522
@xiaoxiang781216
I had a look at #459 that looks really awful. Relax the checks for position of comments? Or keep it as it is?

The final authorities is @patacongo, both selection is fine for me. Actually I don't really care so much detailed coding style.

I don't have technical concerns.  I believe that the two possible causes of the prblem are indistinguishable.  They important thing is that the issur was found.
If you like you could  change the rpeorted error to indicate that either the right hand comment was not aligned  correctly OR that a blank line is needed.

If you like you could change the rpeorted error to indicate that either the right hand comment was not aligned correctly OR that a blank line is needed.

I've already done that. As mentioned please see #522

@johannes-nivus I have been trying to contact me via private email.  Can you check the email is being blocked?  Or provide me another contact email?


[BugFix] dispatch with empty batch-size

Description
Closes #313

Codecov Report
Patch coverage: 100.00% and no project coverage change.

Comparison is base (e92f263) 87.66% compared to head (59c6322) 87.67%.

:mega: This organization is not using Codecov’s GitHub App Integration. We recommend you install it so Codecov can continue to function properly for your repositories. Learn more
Additional details and impacted files
@@           Coverage Diff           @@
##             main     #315   +/-   ##
=======================================
  Coverage   87.66%   87.67%
=======================================
  Files          30       30
  Lines       10943    10949    +6
=======================================
+ Hits         9593     9599    +6
  Misses       1350     1350

Flag
Coverage Δ

linux-cpu
85.89% <100.00%> (+<0.01%)
:arrow_up:

linux-gpu
87.63% <100.00%> (+<0.01%)
:arrow_up:

linux-macos-cpu
85.91% <100.00%> (+<0.01%)
:arrow_up:

linux-stable-cpu
85.89% <100.00%> (+<0.01%)
:arrow_up:

linux-stable-gpu
87.63% <100.00%> (+<0.01%)
:arrow_up:

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

Impacted Files
Coverage Δ

tensordict/nn/common.py
81.45% <100.00%> (ø)

test/test_nn.py
99.14% <100.00%> (+<0.01%)
:arrow_up:

Help us with your feedback. Take ten seconds to tell us how you rate us. Have a feature suggestion? Share it here.

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Do you have feedback about the report comment? Let us know in this issue.


The first object In Kubernetes "deployment"

The first Kubernetes object is the cluster, right? The deployment takes place on our cluster, so shouldnt the first step be defining our kubernetes cluster object? Rather than our deployment object? This deployment yaml seems to only provide an example of multiple deployments within a single machine? How would you create your cluster with multiple computers, each computer with their own gpu's, and then create your deployment yaml with deployments across all the computers? Does specifying the number of replicas automatically deploy across our machines, or do we not have to specify which nodes/computers to use? Would each computer have to be its own node/pod? Can there be a single node/pod containing all the computers and their gpu's?
https://kubernetes.io/docs/concepts/overview/working-with-objects/

Quoting this comment:

please try asking on the support channels instead of github
https://github.com/kubernetes/kubernetes/blob/master/SUPPORT.md

/kind support

The point is to get the questions answered by the publishers. Please address the unclear "documentation" that's published on the webpage.
I shouldn't have to go to the community struggle room for answers to these questions, they should be documented.
The support channels are Slack, Stack, Forum...and Their Documentation?
Those aren't support channels? Please correct me if I'm wrong? The kubernetes support channel would be here if we have an issue?
It says "open an issue if you have a problem"

The point is to get the questions answered by the publishers. Please address the unclear "documentation" that's published on the webpage.
I shouldn't have to go to the community struggle room for answers to these questions, they should be documented.
The support channels are Slack, Stack, Forum...and Their Documentation?
Those aren't support channels? Please correct me if I'm wrong? The kubernetes support channel would be here if we have an issue?
It says "open an issue if you have a problem"

Hi @warmbasket, the issue that can be raised in website repo are related to any issue in documentation , enhancement with new features for the website ,else are raised at support channels like kubernetes discuss or serverfault.

The first Kubernetes object is the cluster, right? The deployment takes place on our cluster, so shouldnt the first step be defining our kubernetes cluster object?

No cluster is not an k8s object, It is a group of nodes that run containerized apps in an efficient, automated, distributed, and scalable manner.
And kubernetes objects can define as the blueprint of the desired state of application. Objects gives instruction to kubernetes how it should setup and manage applications.

How would you create your cluster with multiple computers, each computer with their own gpu's, and then create your deployment yaml with deployments across all the computers?

Well here is the link to setup a kubernetes cluster -> https://kubernetes.io/docs/setup/

For creating a local environment for learning or testing purpose you can use -> minikube
For creating a production like k8s cluster -> kubeadm
Or you can setup manually your k8s cluster on bare metal by downloading k8s components from kubernetes/kubernetes repository.

Does specifying the number of replicas automatically deploy across our machines

Yes if you mention number of replicas of application in Deployment spec file , it will deploy desired number of replicas.

or do we not have to specify which nodes/computers to use?

You can mention which node to use for the replicas deployment, or By default kubernetes scheduler will assign pods to nodes.

The point is to get the questions answered by the publishers. Please address the unclear "documentation" that's published on the webpage.

If you're saying that the Deployment concept needs an update, we're tracking that request already. No need to file a duplicate request.
However, if you're suggesting that https://kubernetes.io/docs/concepts/overview/working-with-objects/ is hard to understand, you should file an actionable issue: one where a contributor can understand how to work on a fix.

I shouldn't have to go to the community struggle room for answers to these questions, they should be documented.

That depends on the questions, but it's true that we aim for the documentation to make sense to readers.
/priority awaiting-more-evidence
/triage needs-information
If this is not a request for advice, we'd like to know more about what isn't right about the page, in a way that lets someone come along and work out how to make improvements.

/language en

GitHub is, however, not the place to ask for advice on how to learn Kubernetes - which is what I'm seeing here
/kind support
/remove-triage needs-information
We're open to making the documentation better, but: we've already got over 500 issues tracked about doing that. Volunteers are working through those issues and proposing improvements; other volunteers help to plan them or to check them. The help we need most is improvements based on the work we've already planned.

No cluster is not an k8s object, It is a group of nodes that run containerized apps in an efficient, automated, distributed, and scalable manner.

The Kubernetes Cluster is not a Kubernetes object? Don't you create your cluster with Kubernetes? Doesn't the basic cluster structure dictate what your deployment options are for setting up and managing applications?

You do not create your cluster with a cluster. Only if you are using something like cluster API to do your cluster provisioning. Otherwise a cluster is something that you have, which you then use to create deployments, pods, replicas, etc.
Sorry, I don't quite understand the last sentence there. I think in general the answer is no, the underlying cluster structure does not dictate anything (for the most part) with how you define your deployment. The deployment defines what you want to have, then Kubernetes does its best to provide it without necessarily knowing anything about the underlying infrastructure.

Well here is the link to setup a kubernetes cluster -> https://kubernetes.io/docs/setup/

Your link leads to other links that simply don't answer the question. Where does it describe how to add multiple machines as nodes to your cluster? The answer is here: https://kubernetes.io/docs/reference/setup-tools/kubeadm/kubeadm-join/ Why is it so buried? This is a basic functionality.

This varies, and for users of kubernetes they usually don't need to care. You could set up your own cluster with kubeadm as you linked to. You could do it abstracted behind cluster API. You could do it with a few mouse clicks with EKS, AKS, GKE, etc. How you get your cluster is a different concern than how you use that cluster, therefore it isn't included in this part since it would just muddle the information about usage. There are a lot of diverse ways to get a cluster instance.

Yes if you mention number of replicas of application in Deployment spec file it will deploy desired number of replicas.

Within a single machine or across all machines in the cluster?

That entirely depends on how many replicas you want, what resources are available in your cluster, taints and tolerations being used, and what scheduler is configured to decide where to place pods. Unfortunately this is an advanced topic that would have to many "it depends" statements to include in a getting started doc like this, but if you are curious you could search for each of those terms to find out more about those advanced concepts.

You can mention which node to use for the replicas deployment, Kubernetes scheduler will assign pod to nodes according to the mention instruction.

Can you assign a single pod to multiple nodes? I thought pods were within a single node? Do you mean kubernetes will assign replica pods to nodes?

Correct, a pod is an actual instance of one or more containers. An individual pod will get scheduled to only one node.

If I want one pod per worker/machine/computer/node that would mean I want one replica per worker/machine/computer/node? In the deployment yaml will the replicas/pods split across machines or only within a single node?

Sort of an advanced concept again, but what your describing would probably be better met by using a DaemonSet or static pods. So again, something that you would have to look up as it would be outside the scope of something describing basic usage.

Node and Pod are 2 different entities, pods are schedule on Nodes.
'Maybe you can read kubernetes basic concepts more to better have a better grasp."

 The point is your documentation is unclear and that's why these questions remain. Maybe you could read...my post? To have a better grasp?

Lmao, this is an open source project, so your documentation can be updated to be more clear if there is an actionable issue to address with it. But a general "I don't understand this" issue doesn't really do much good.
Once you get a little further along in understanding Kubernetes basics, if there is something specific here that is missing or could be improved, please provide that detail. Or even better, please submit a PR to update the section with whatever information you find missing a lacking. Contributions are always welcome.

Hi, @stmcginnis, thank you for your prompt reply.

You do not create your cluster with a cluster. Only if you are using something like cluster API to do your cluster provisioning. Otherwise a cluster is something that you have, which you then use to create deployments, pods, replicas, etc.

I asked if we create our cluster with kubernetes? Which I believe we do, in order to deploy with kubernetes? I did not ask if we create our cluster with a cluster. We create our cluster using Kubernetes to add our computers/machines as nodes, correct? Cluster API seems for handling multiple clusters? I am talking about creating one.

Sorry, I don't quite understand the last sentence there. I think in general the answer is no, the underlying cluster structure does not dictate anything (for the most part) with how you define your deployment. The deployment defines what you want to have, then Kubernetes does its best to provide it without necessarily knowing anything about the underlying infrastructure.

Okay, so the deployment defines the deployment of our pods right? It defines their deployment across the cluster? I'd imagine you'd need to specify the various nodes for deployment? If you only have one node then you wouldn't have to, because the replicas would just be inside a single computer/machine/node? This would be where I think the underlying cluster structure would affect how you define your deployment? How would it know to deploy to the other machines if you did not list them, how would it know to deploy which pods on which machines?

This varies, and for users of kubernetes they usually don't need to care. You could set up your own cluster with kubeadm as you linked to. You could do it abstracted behind cluster API. You could do it with a few mouse clicks with EKS, AKS, GKE, etc. How you get your cluster is a different concern than how you use that cluster, therefore it isn't included in this part since it would just muddle the information about usage. There are a lot of diverse ways to get a cluster instance.

It still needs to be a Kubernetes cluster instance, correct?
This varies is true, not everyone needs to build their Kubernetes cluster, many just use them, but you'd think building one would be a key piece of information for those that do have to build them? Or at least a standard of learning for everyone just using them? That way you can at least ensure people get to the usage phase? Does EKS, AKS, GKE, etc. allow you to add your own personal machines with just a few clicks? Not their virtual machines?
Kubeadm, behind cluster API, or EKS, AKS, GKE, etc. seems like the first step, and deployment on your cluster seems like the second. So again, I wonder why this is so buried and not immediately outlined in the documentation.

That entirely depends on how many replicas you want, what resources are available in your cluster, taints and tolerations being used, and what scheduler is configured to decide where to place pods. Unfortunately this is an advanced topic that would have to many "it depends" statements to include in a getting started doc like this, but if you are curious you could search for each of those terms to find out more about those advanced concepts.

You can mention which node to use for the replicas deployment, Kubernetes scheduler will assign pod to nodes according to the mention instruction.
Can you assign a single pod to multiple nodes? I thought pods were within a single node? Do you mean kubernetes will assign replica pods to nodes?
Correct, a pod is an actual instance of one or more containers. An individual pod will get scheduled to only one node.
If I want one pod per worker/machine/computer/node that would mean I want one replica per worker/machine/computer/node? In the deployment yaml will the replicas/pods split across machines or only within a single node?
Sort of an advanced concept again, but what your describing would probably be better met by using a DaemonSet or static pods. So again, something that you would have to look up as it would be outside the scope of something describing basic usage.

So, it sounds like it depends on the cluster structure because you'd have to indicate which node you're deploying your pods/replicas to? If you want one replica/pod per machine/node, as was mentioned, above, you can apparently mention which node to use for replicas deployment. My question is how?
Excuse me if I'm incorrect but specifying the pods you want to run on your particular nodes in your cluster does not seem like an advanced topic, it seems like a basic functionality. It should not be hard to include this in the documentation. The current documentation does not include this.

This is an open source project, so your documentation can be updated to be more clear if there is an actionable issue to address with it. But a general "I don't understand this" issue doesn't really do much good.

Please understand @stmcginnis, this is not my documentation, or your documentation but rather the documentation. So the documentation can be updated to be clear and not omit information. It is most certainly not my documentation as I wouldn't have been willing to publish this incomplete mess, nor was I part of the team translating the Code to Documentation. (If I was I obviously wouldn't have any questions)

Once you get a little further along in understanding Kubernetes basics, if there is something specific here that is missing or could be improved, please provide that detail. Or even better, please submit a PR to update the section with whatever information you find missing a lacking. Contributions are always welcome.

I have arrived at the precipice of Kubernetes capabilities, Kubernetes can only deploy a pod across a single node.
And please correct me if I'm wrong, but I think at this point we'd agree I have an understanding of kubernetes basics. The specific thing that is missing from the deployment documentation is how to specify your various nodes for your pods deployment.
Also, if you are constantly telling people to re-read lacking documentation they have already read as a way to "understand the basics" you must realize that what they're reading is not a good way to "understand the basics", and the documentation is faulty.
Thank you,

/close not-planned
Although improvements are welcome, this issue is not actionable.
We've not seriously considered suspending the project until you're happy with the documentation @warmbasket; I'm confident that the suspension you're proposing wouldn't be in the best interests of the wider community.


[translation] ID localization

New Indonesian translation by junpri.com

Thanks! I've got a new release planned shortly so this will be included with it.


[irods/irods#6251] do not explicitly add fmt to includes (4-3-stable)

In service of irods/irods#6251

#'d


Db/voa

@damonbogich I believe a "config.json" file needs to be added to the new "verification_of_assets" folder.

@angbonilla my bad and good catch!  I just pushed the config.json file


UnicodeEncodeError: 'ascii' codec can't encode character

I get an UnicodeEncodeError when using pdfminer (the version https://github.com/pdfminer/pdfminer.six/commit/d79612c455a5de0526d5bc32449fa9dc3b7c249a from git)
pdfminer_sample3.py
Download https://www.dropbox.com/s/khjfr63o82fa5yn/numbers-test-document.pdf?dl=0 and execute the following script:
#!/usr/bin/env python

from pdfminer.pdfinterp import PDFResourceManager, PDFPageInterpreter
from pdfminer.converter import TextConverter
from pdfminer.layout import LAParams
from pdfminer.pdfpage import PDFPage
from cStringIO import StringIO

def convert_pdf_to_txt(path):
    rsrcmgr = PDFResourceManager()
    retstr = StringIO()
    codec = 'utf-8'
    laparams = LAParams()
    device = TextConverter(rsrcmgr, retstr, codec=codec, laparams=laparams)
    fp = file(path, 'rb')
    interpreter = PDFPageInterpreter(rsrcmgr, device)
    password = ""
    maxpages = 0
    caching = True
    pagenos=set()

    for page in PDFPage.get_pages(fp, pagenos, maxpages=maxpages,   password=password,caching=caching, check_extractable=True):
        interpreter.process_page(page)

    text = retstr.getvalue()

    fp.close()
    device.close()
    retstr.close()
    return text

print(convert_pdf_to_txt("numbers-test-document.pdf"))

Error message
Traceback (most recent call last):
  File "pdfminer_sample3.py", line 32, in <module>
    print(convert_pdf_to_txt("samples/numbers-test-document.pdf"))
  File "pdfminer_sample3.py", line 14, in convert_pdf_to_txt
    device = TextConverter(rsrcmgr, retstr, codec=codec, laparams=laparams)
  File "/usr/local/lib/python2.7/dist-packages/pdfminer/converter.py", line 186, in __init__
    PDFConverter.__init__(self, rsrcmgr, outfp, codec=codec, pageno=pageno, laparams=laparams)
  File "/usr/local/lib/python2.7/dist-packages/pdfminer/converter.py", line 173, in __init__
    self.outfp.write(u"é")
UnicodeEncodeError: 'ascii' codec can't encode character u'\xe9' in position 0: ordinal not in range(128)

Changing from cStringIO import StringIO to from StringIO import StringIO solved that problem.

Replacing fp = file(path, 'rb') with fp=open(path,'rb') worked for me!


Install failing: Command failed: /usr/local/bin/git checkout 5f0b3799f50944bc4d1eb58acdef61c38883d6cf

npm install is failing due to a git dependency. It's weird because I see the commit here: https://github.com/LearnBoost/websocket.io/commit/5f0b3799f50944bc4d1eb58acdef61c38883d6cf
$ npm install markserv -g
npm ERR! code 128
npm ERR! Command failed: /usr/local/bin/git checkout 5f0b3799f50944bc4d1eb58acdef61c38883d6cf
npm ERR! fatal: reference is not a tree: 5f0b3799f50944bc4d1eb58acdef61c38883d6cf
npm ERR!

npm ERR!      /Users/dan/.npm/_logs/2017-07-24T16_18_09_255Z-debug.log

Anyone else getting the same issue?

More info:
I tried to git clone git@github.com:LearnBoost/websocket.io.git and then git fetch origin 5f0b3799f50944bc4d1eb58acdef61c38883d6cf, but got the error:
error: Server does not allow request for unadvertised object 5f0b3799f50944bc4d1eb58acdef61c38883d6cf

Workaround:
I instead downloaded a zip (https://github.com/LearnBoost/websocket.io/archive/5f0b3799f50944bc4d1eb58acdef61c38883d6cf.zip), did npm install, npm link, cloned markserv locally and did npm link websocket.io, npm install, npm link and I have the markserv binary globally.
Lots of work, but worth it for this useful tool.
@F1LT3R please consider ditching websocket.io for ws or something.

i managed to fix this issue by downgrading to node 7 and npm 4

@dwieeb I'm trying to follow your workaround but I get the same error. This is what I do and I'm no expert with node.
In C:\Users\asarafian\Building MarkServ I've downloaded

https://github.com/LearnBoost/websocket.io/archive/5f0b3799f50944bc4d1eb58acdef61c38883d6cf.zip
https://github.com/F1LT3R/markserv/archive/master.zip

Then extracted respectively to their own directory with the module name and made sure the root of the contents are within each folder.

C:\Users\asarafian\Building MarkServ\websocket.io
C:\Users\asarafian\Building MarkServ\markserv

From inside C:\Users\asarafian\Building MarkServ\websocket.io I executed:

npm install
npm link

From inside C:\Users\asarafian\Building MarkServ\markserv I executed:

npm link websocket.io
npm install which fails with the same error

908 silly resolveWithNewModule<EMAIL_ADDRESS>checking installable status
909 silly fetchPackageMetaData error for websocket.io@git://github.com/LearnBoost/websocket.io.git#5f0b3799f50944bc4d1eb58acdef61c38883d6cf Command failed: C:\Program Files\Git\cmd\git.EXE checkout 5f0b3799f50944bc4d1eb58acdef61c38883d6cf
909 silly fetchPackageMetaData fatal: reference is not a tree: 5f0b3799f50944bc4d1eb58acdef61c38883d6cf
910 verbose stack Error: Command failed: C:\Program Files\Git\cmd\git.EXE checkout 5f0b3799f50944bc4d1eb58acdef61c38883d6cf
910 verbose stack fatal: reference is not a tree: 5f0b3799f50944bc4d1eb58acdef61c38883d6cf
910 verbose stack
910 verbose stack     at ChildProcess.exithandler (child_process.js:270:12)
910 verbose stack     at emitTwo (events.js:125:13)
910 verbose stack     at ChildProcess.emit (events.js:213:7)
910 verbose stack     at maybeClose (internal/child_process.js:927:16)
910 verbose stack     at Process.ChildProcess._handle.onexit (internal/child_process.js:211:5)

From the top of the log file the node and npm versions are:
0 info it worked if it ends with ok
1 verbose cli [ 'C:\\Program Files\\nodejs\\node.exe',
1 verbose cli   'C:\\Program Files\\nodejs\\node_modules\\npm\\bin\\npm-cli.js',
1 verbose cli   'install' ]
2 info using<EMAIL_ADDRESS>3 info using<EMAIL_ADDRESS>
Unfortunately I can't downgrade to previous versions.

+1 install failure. Is this abandoned?

FWIW I use grip now https://github.com/joeyespo/grip

@dwieeb problem with anything that depends on github API is throttling. I used MarkdownPS to easily generate markdown pages from PowerShell and then serve them for multiple people. GitHub API based solutions quickly run into the throttling issue.

Will try and get to this asap.

This repo works with @tuvistavie's fork.
npm install https://github.com/tuvistavie/markserv.git -g

This should be fixed now. Apologies for the wait.

Changes are in Master
Published to NPM

Could you npm install -g markserv and let me know if it's behaving correctly for you too?

try
 npm install npm -g
then do
npm install -g markserv


ANK Draft impl

Includes an implementation of Ank based on Kategory's Free monads.
@Guardiola31337 I'm not sure where a good place to put a sample project with some docs is.
Could you wire the code in this branch to the plugin etc.?
I'm my test project I was using this to invoke Ank:
task ank(type: JavaExec) {
    classpath sourceSets.main.runtimeClasspath
    main = "ank.MainKt"
    args "/home/raulraja/Documents/workspace/anktest/src/main/docs",
            "/home/raulraja/Documents/workspace/anktest/build/site",
            "-classpath", "${sourceSets.main.runtimeClasspath.join(":")}"
}

Here is a sample file it can be used for testing assuming is placed in src/main/docs in the sample project:
doc1.md

Welcome to doc one
Text before x
import kategory.*
val x : Try<Int> = Try { 0 }

Text before y
val y : Try<Int> = Try { 1 }

Text before z
val z : Try<Int> = Try { 2 }

Code included in #7


Lack of Softmax in this code?

Hey Geoff,
I know this is 5 year old research code, but I'm a bit confused about something. In the accompanying paper, it seems like the output of temperature scaling is meant to go through a softmax before being used.

However, in this implementation as far as I can tell there's no use of Softmax as part of the temperature scaling operation. I'd expect to see it maybe at the forward step or potentially when the output thereof is put into the cross entropy loss here, but it seems like instead the cross entropy is being given the scaled logits without any softmax applied.
I might just be missing something obvious here of course, but I want to make sure my understanding of how temperature scaling is supposed to work is correct.
Thanks in advance for helping me clarify anything I'm missing here

Actually, as I was reimplementing it I came across this line in the PyTorch docs for CrossEntropyLoss:

The input is expected to contain raw, unnormalized scores for each class.

I'm guessing this is my answer - this behavior is equivalent to using from_logits=True in categorical_crossentropy in TensorFlow. Is that where the softmax is effectively occurring?

Yes, you are correct. The wrapper class does not apply softmax to the output.

hi I am wondering the same thing. just to double check, I am wondering where you ended up adding the softmax in the code?


IJulia / IPython / Jupyter combination not working

Hallo
[using Linux/Ubuntu14.04 + Firefox 37 + Julia 0.3.7 + IJulia 0.2.1]
My Problem:
I recently have upgraded from Python2.7 to Python3.4 and thereby (unknowingly) from IPython to Jupyter.
Since than not a single one of my IJulia notebooks is working anymore. (without throwing any error on console - and till now I haven't found any errorlog files for either julia nor pyhon)
Whats more:

The whole Jupyter seems to be in a kind of "dead" or passive mode. I can select files from the tree-view and create new files,  which both open but don't run.

The "Run All" just skips through the complete notebook in no time and does nothing.

It's also impossible to switch to different kernels from the Jupyter menu.
This throws an error to the Firefox Error Console:
TypeError: this.notebook.session.kernel is null
Source: http://localhost:8998/static/notebook/js/kernelselector.js?v=20150402145919
Line: 222
(At least this is an error. It's the only one I get anywhere)

What I tried:

I agreed to convert old notebooks to the (seemingly mandantory) new format.
I have trusted the notebooks.
I have checked the config files and have a Julia kernel.
In Jupyter in the top right there is the Julia logo. Beneath is a grey dot with "Julia" beside it. Top left is the Jupyter logo. (I interpret this view as "You are using Jupyter with an Julia kernel")
Same behaviour in Chromium

Does anyone encounter a similiar problem or has any ideas to solve this??

Maybe similar to #286?   Try Pkg.build("IJulia")?

Yes, I tried that. Also had a look both with
ipython notebook --profile julia --debug
and
ijulia.jl edit "verbose=true"

No error messages.
Kernel started, when I opened a new or old file.
Kernel didn't throw any "restarting" messages.
Kernel shuts down, when I choose "Close and Halt" in Jupyter / opened notebookfile.

Just a warning from IPython:

UserWarning: Setting kernel_cmd is deprecated, use kernel_spec to start different kernels.

And one from IJulia:

[W 00:32:48.870 NotebookApp] 404 GET /kernelspecs/julia%200.3/logo-64x64.png (<IP_ADDRESS>) 39.24ms referer=http://localhost:8998/notebooks/Untitled3.ipynb

[SOLVED]
I fixed it! (https://github.com/ipython/ipython/issues/7943 helped a lot...)
Short version:

manually ALLOW cookies for localhost via preferences (I had to do that, although localhost wasn't listet in firefox' cookie policies at all)
ALLOW 3rd party cookies
clear cache
clear HTTP-auth
drop session cookies
drop domain cookies

And after that it works.
From the now running Jupyter I saw that the grey dot besides the kernel name obviously meant "doesn't work". Because "working" is indicated by a grey circle.
Maybe that should be changed to a red vs. green dot...

Great! Thanks for the followup, I'm sure there will be others who find this solution useful.


Constants and Metadata values containing semicolon lose data after first semicolon

Due to https://github.com/dotnet/roslyn/issues/51692

Fixed in https://github.com/devlooped/ThisAssembly/pull/320


QmazRLjjzLYDnxVMEMEmKd5w8KxYMyaQ3wMakLcz5iKyNc says "Object data (59051 bytes)" but is actually a 61347 byte picture

http://localhost:5001/ipfs/QmU3o9bvfenhTKhxUakbYrLDnZU7HezAVxPM6Ehjw9Xjqy/#/objects/\ipfs\QmazRLjjzLYDn

@benrayfield that is because you are using the Object API to get the statistics of a single node but the file is multiple nodes :)


Support Google Container Registry

[Am a Googler ;-)] Google Container Registry (GCR) provides Google Cloud Platform (GCP)  users with a convenient private Docker registry. The GCP command-line aka gcloud provides convenience wrappers for docker push|pull so it's trivial to extend metaparticle to support GCR with a slightly revised 'push' function.
Here for JavaScript but other languages are same-same...
Add e.g. gcr-builder.js:
(function () {
    var shell = require('shelljs');

    module.exports.build = (img) => {
        shell.exec(`docker build -t ${img} .`);
    };

    module.exports.publish = (img) => {
        shell.exec(`gcloud docker -- push ${img}`);
    };
})();

Augment index.js:
    selectBuilder = (buildSpec) => {
        switch(buildSpec) {
            case 'docker':
                return require('./docker-builder');
            case 'gcr':
                return require('./gcr-builder');
            default:
                throw `Unknown builder: ${buildSpec}`;
        }
    }

Then, reflect the new config in mp.containerize:
const projectID = [PROJECT-ID]
const GCR = `gcr.io/${projectID}`
...
mp.containerize(
	{
		builder: "gcr",
		ports: [8080],
		repository: GCR,
		publish: true,
		public: true,
	},
	() => {
		server.listen(port, (err) => {
			if (err) {
				return console.log("server startup error: ", err);
			}
			console.log(`server up on ${port}`);
		});
	}
);

Then npm start:
npm start

><EMAIL_ADDRESS>start /.../metaparticle/package/tutorials/javascript
> node ./index.js

Sending build context to Docker daemon  670.2kB
Step 1/4 : FROM node:6-alpine
 ---> 29428556c0cb
Step 2/4 : COPY ./ /metaparticle-example/
 ---> bfa18eb16959
Step 3/4 : RUN npm --prefix /metaparticle-example/ install
 ---> Running in 8343230e3a75
npm WARN<EMAIL_ADDRESS>No repository field.
 ---> a122411d31fd
Removing intermediate container 8343230e3a75
Step 4/4 : CMD npm --prefix /metaparticle-example/ start
 ---> Running in 37356ae1e80d
 ---> e27343f47400
Removing intermediate container 37356ae1e80d
Successfully built e27343f47400
Successfully tagged gcr.io/[PROJECT-ID]/metaparticle-example:latest
The push refers to a repository [gcr.io/[PROJECT-ID]/metaparticle-example]
0163fc9a0d9d: Preparing
d8b55f59c7cc: Preparing
06a3955bac48: Preparing
8aebbd0f4dee: Preparing
52a5560f4ca0: Preparing
8aebbd0f4dee: Layer already exists
06a3955bac48: Layer already exists
52a5560f4ca0: Layer already exists
0163fc9a0d9d: Pushed
d8b55f59c7cc: Pushed
latest: digest: sha256:2a17daae09a4e3b7fc76b7f861fb734aca28f4c423792f65a3a05ed6c79bf25e size: 1368
3bcddd5dce12db8e7079996794112169a437bdb5095c0874dc56971387098040

><EMAIL_ADDRESS>start /metaparticle-example
> node ./index.js

server up on 8080

and:

Would be happy to see a PR for this :)

(would be interested to see how Google Container Builder could fit in here too)

@brendanburns just off the top of my head,
The user could set up the metaparticle binary to run in GCB via CI with the cloud-builders/docker image, but this sounds like a strange workflow.
We could also use gcloud locally to send the build context to GCB via a build request.
This seems more in line with how metaparticle currently works, but the local CLI for container builder is seeing active development.


Add links to roadmap

Description
I want to add links to the roadmap so that anyone can directly click on the respective topic and go to that folder, instead of browsing through the whole repository.
Domain
Frontend Dev HTML/CSS/JS
Type of Contribution
Others
Code of Conduct

[X] I follow Contributing Guidelines & Code of conduct of this project.

/assign

/assign


Class 'Redis' not found

Laravel Version: 6.0.3
PHP Version: 7.3.9
Database Driver & Version:

php-redis 5.0.2-2
redis 5.0.5-1

Description:
I've starting to upgrade from 5.8 to Laravel 6.0. As recommended by the docs I've moved to phpredis.
I already removed the Redis alias, but it keeps using the wrong driver (at least I think so):

Steps To Reproduce:

Upgrade to 6.0
Removed predis
Update all configs, including 'client' => env('REDIS_CLIENT', 'phpredis'),

If more info is needed, please let me know.

Sorry for the noise, after removing the package and using pecl install redis it works fine.

Hmm, that suggested fix by the error handler is incorrect. It should suggest to install the extension, always, from Laravel 6 onwards.

//cc @freekmurze

How to solve this?
Always fire when Change Redis Facade to RedisManager in app.php

@asterism612 Verify the redis extension is installed correctly and listed using phpinfo() (or any other CLI way).

@francoism90 I am facing same issue. Just installed php-redis and pecl install redis, but no success. Are you using Docker? Can you share your Dockerfile?
In my case, just noticed error is thrown randomly.

@robsontenorio Sorry, I'm not using Docker. Are you sure the extension has been enabled?
$ cat /etc/php/conf.d/redis.ini
extension=redis

Just installed php-redis and pecl install redis

Btw, this reads confusing because it's meant to be the same thing. You probably meant sudo apt-get install php-redis and when you also do pecl… you could end up with the same PHP extension twice on your system.
Usually sudo apt-get install php-redis also enabled it. If not, sudo phpenmod redis will do. It's implicitly does something similar to https://github.com/laravel/framework/issues/29955#issuecomment-549785611
Tread carefully as to not mix stuff here on your server!

By default        'client' => env('REDIS_CLIENT', 'phpredis'), is not working but when i change this   'client' => env('REDIS_CLIENT', 'predis'),.Why this Problem Occurred If It elaborate then it will be helpful

This problem was related to a third party package. I am sorry.

By default In Laravel 6 'client' => env('REDIS_CLIENT', 'phpredis'), is not working but when i change this 'client' => env('REDIS_CLIENT', 'predis'),.Why this Problem Occurred If It elaborate then it will be helpful

Change "phpredis" to "predis" it work pefectly!

predis

This just saved me over 3 hours of work. Thank you @incepitkhoabui

'redis' => [
'cluster' => false,
'client' => env('REDIS_CLIENT', 'predis'),
'default' => [
'host' => env('REDIS_HOST', '<IP_ADDRESS>'),
'port' => env('REDIS_PORT', 6379),
'database' => env('REDIS_DATABASE', 0),
'password' => env('REDIS_PASSWORD', ''),
],
],

In which file?

'redis' => [
'cluster' => false,
'client' => env('REDIS_CLIENT', 'predis'),
'default' => [
'host' => env('REDIS_HOST', '<IP_ADDRESS>'),
'port' => env('REDIS_PORT', 6379),
'database' => env('REDIS_DATABASE', 0),
'password' => env('REDIS_PASSWORD', ''),
],
],

In which file?

It's in: /config/database.php
You can simply add
REDIS_CLIENT=predis to your .env file

By default In Laravel 6 'client' => env('REDIS_CLIENT', 'phpredis'), is not working but when i change this 'client' => env('REDIS_CLIENT', 'predis'),.Why this Problem Occurred If It elaborate then it will be helpful

Change "phpredis" to "predis" it work pefectly!

Thats a workaround and only good for dev-enviroment. You should use the pecl package instead of predis
install by  sudo apt-get install php-redis
modify php.ini of your fpm-version.
restart php service
rename Redis to RedisManager in app.php aliases
check that predis is removed in vendor an composer.json
modify env file or set correct client in database.php
clear conf cache , composer dump-autoload

For those who want to use php-redis instead of predis and they're still getting the Not Found error: try to remove predis package:
composer remove vendor/predis
php artisan config:clear

Thanks, this helped me after the installation with pecl.

Sorry for the noise, it seems the php-redis extension wasn't (correctly) enabled.

Yes, I installed PHP-redis with pecl install redis command in terminal and it fixed. Thanks 🎉


How much more memory and computation does Universal Transformer require than vanilla Transformer for translation?

If i'm not misunderstanding, Universal Transformer uses bigger but shared encoder and decoder blocks,
So if with same number of parameters for the whole model , each Universal Transformer block will need much more memory and computation than vanilla Transformer with same number of layers(or recurrent steps for UT).
Can you share the batch size  for Universal Transformer and vanilla Transformer during training with same gpu, and speed of inference?
@MostafaDehghani

@wenyong-h
In our experiments, the total number of trainable parameters for UT is same/similar to the corresponding transformer baseline. Yes, this leads to a network with a wider layer as we want to have the similar capacity/ expressiveness, in particular for the MT task where we need enough memorization.  A wider model means more computations (i.e. slightly slower training), but size-wise they are more or less the same.  We used the same batch size for training Transformer and the Universal Transformer (we used universal_transformer_base as hparams_set.
Right now, the Transformer is faster than UT at inference, specially because of a caching mechanism used for the transformer which make it faster than UT. Using caching is in the TODOs for improving the universal transformer's speed at inference. In theory, UT with adaptive halting has the potential of being faster than the Transformer at the inference.

Thanks for your clear explanation, it is really helpful!

universal_transformer_base inherits hparams_set from transformer_big, (see universal_transformer_base), I do not understand why "All base results have the same number of parameters" in the paper. Could you tell me if I have missed any important information? Thanks very much!


Remove parallel remapping in ci

Purpose

To-do

Content

[ ] I have read and checked the items on the review checklist.

Should we remove the script, too? Or are people still planning on using it?

Should we remove the script, too? Or are people still planning on using it?

Oh, right, I forgot there is a separate script. @akshaysridhar Could I remove it as well?

We talked offline and I'm going to remove the script as well.


[ work in progress ] Update UAA release to v27 (bosh) and 3.12.0 (source)

Reflects some of the work outlined here in Favro.

Still waiting on the updates coming in from 18F/cg-uaa#40 around alert messaging for EW environment. cc @rememberlenny

No longer a [ work in progress ] but I'm blocked on whether I should wait for 18F/cg-uaa#40 or just deploy twice?

Almost completely forgot the spec. on it.

Weird. Not sure what happened here, but I'm curious to hear what could have happened here? Is this related to previously relying the EW bosh-blobstore? I had to upload these here.
2017-03-10 20:19:34   11163253 928a8aca-a8f0-4036-aa0c-804c463fc895
2017-03-10 20:20:01   75550921 a1a61854-e783-4265-928c-d66d8baf5eb6
2017-03-10 20:20:36   77696717 a59fd9c0-1b4f-408d-b73f-19262dfa85a3
2017-03-10 20:21:04    9304967 b24b05a0-e6e8-4ce4-9391-e0345158bf00
2017-03-10 20:22:38       1909 fc5d2a42-126c-477c-7280-17a385771ec7
2017-03-10 20:23:31    3681863 5d0b04c6-3afd-479a-7be2-06ed566c3197
2017-03-10 20:26:18   15627638 41307768-6032-4651-6111-885c976a3e78
2017-03-10 20:30:07       1086 1de332b9-6a6f-416f-6d13-73e33763e6f2
2017-03-10 20:32:07      25385 a9c19428-ce71-45b4-5337-a617fb8843ca
2017-03-10 20:32:07  146889533 fc6cb7db-8b4f-4e48-5af5-63d969906279


GitHub emojis broken

Github Emoji Links are broken.  They are trying to be loaded from https://assets-cdn.github.com which appears to not serve emojis any longer.  I did notice however that https://github.githubassets.com works with the same paths.  I'm surprised that the cdn url would have changed...

Temp fixed by setting asset_root: https://github.githubassets.com/images/icons at the top level on my config.yaml

:+1:

Thanks for reporting! It should be a one line fix and some specs.
Will publish a change when I've got it.
Thanks for posting up the workaround with asset_root.

Should be fixed in v3.9.2.
Thanks again!

Thank YOU!


Add day to daily date/time in daily forecast

Codecov Report

Merging #35 (2e37904) into main (8ee0fa2) will not change coverage.
The diff coverage is 100.00%.

@@            Coverage Diff            @@
##              main       #35   +/-   ##
=========================================
  Coverage   100.00%   100.00%
=========================================
  Files            8         8
  Lines          471       475    +4
=========================================
+ Hits           471       475    +4

Impacted Files
Coverage Δ

weather_command/_builder.py
100.00% <100.00%> (ø)

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update 8ee0fa2...2e37904. Read the comment docs.


App and related component/service simplification and mock cleanup

Parent #12426
Some of our components and services can be simplified to require less custom code and scaffolding, as well as cleaning up mocking in these areas.
Acceptance Criteria

[ ] App is in control of rendering at root, not react-router
[ ] AppInsights customization is based off officially provided classes and patterns so as not to stray if/when we can drop customizations
[ ] Objects used for creating mock objects moved to fixture-named files/folders
[ ] Start usage of global automocks for common libraries/local modules

Pausing to await conversation around moving away from our traditional SPA framework

From Joseph: Moving forward without SPA conversation because it will have benefits regardless.

@jpandersen87 Can you give an update on this in the comments when you are back?


RMAppReceipt.m: 'openssl/pkcs7.h' file not found

i have tried alot on this bug,
the complete openssl folder is placed in my xcode project but its not detecting.
i tried several waye like drag and drop the file with checkmark copy bundle resources, add files to the project .. but i didnt find any solution to it.
please help me with this issue.

1、Target - > Build Settings ->Search Paths -> Header Search Paths: add
"RMStore/Optional/openssl-1.0.1e/include"
2、Target - > Build Settings ->Search Paths -> Library Search Paths: add
"RMStore/Optional/openssl-1.0.1e/lib"
The second solution can solve your problem

1 - Target - > Build Settings ->Search Paths -> Header Search Paths: add
"$(PROJECT_DIR)/RMStore/Optional/openssl-1.0.1e/include"
2 - Target - > Build Settings ->Search Paths -> Library Search Paths: add
"$(PROJECT_DIR)/RMStore/Optional/openssl-1.0.1e/lib"
I solved the same issue with the above solution.