"it shouldn't crash" crashes

1) Celluloid::IO::Reactor shouldn't crash
	 Failure/Error: fail "Actor crashes occured (please stub/mock if these are expected): #{crashes}"

	 RuntimeError:
		 Actor crashes occured (please stub/mock if these are expected):
		 ** Crash: "Actor crashed!"(#<Timeout::Error: execution expired>)
			 Backtrace:
				 (crash) /Users/samuel/.rvm/gems/ruby-2.3.0/bundler/gems/celluloid-85f850a41bb5/lib/celluloid/actor.rb:298:in `handle_crash'
				 (crash) /Users/samuel/.rvm/gems/ruby-2.3.0/bundler/gems/celluloid-85f850a41bb5/lib/celluloid/actor.rb:171:in `rescue in run'
				 (crash) /Users/samuel/.rvm/gems/ruby-2.3.0/bundler/gems/celluloid-85f850a41bb5/lib/celluloid/actor.rb:150:in `run'
				 (crash) /Users/samuel/.rvm/gems/ruby-2.3.0/bundler/gems/celluloid-85f850a41bb5/lib/celluloid/actor.rb:131:in `block in start'
				 (crash) /Users/samuel/.rvm/gems/ruby-2.3.0/bundler/gems/celluloid-essentials-f0545ce47ed9/lib/celluloid/internals/thread_handle.rb:14:in `block in initialize'
				 (crash) /Users/samuel/.rvm/gems/ruby-2.3.0/bundler/gems/celluloid-85f850a41bb5/lib/celluloid/actor/system.rb:78:in `block in get_thread'
				 (crash) /Users/samuel/.rvm/gems/ruby-2.3.0/bundler/gems/celluloid-85f850a41bb5/lib/celluloid/group/spawner.rb:50:in `block in instantiate'
			 Exception Backtrace (#<Timeout::Error: execution expired>):
				 (ex) /Users/samuel/Documents/Programming/Internet/celluloid-io/lib/celluloid/io/reactor.rb:58:in `select'
				 (ex) /Users/samuel/Documents/Programming/Internet/celluloid-io/lib/celluloid/io/reactor.rb:58:in `run_once'
				 (ex) /Users/samuel/.rvm/gems/ruby-2.3.0/bundler/gems/celluloid-85f850a41bb5/lib/celluloid/mailbox/evented.rb:50:in `check'
				 (ex) /Users/samuel/.rvm/gems/ruby-2.3.0/bundler/gems/celluloid-85f850a41bb5/lib/celluloid/actor.rb:155:in `block in run'
				 (ex) /Users/samuel/.rvm/gems/ruby-2.3.0/bundler/gems/timers-41145ed260e4/lib/timers/group.rb:66:in `wait'
				 (ex) /Users/samuel/.rvm/gems/ruby-2.3.0/bundler/gems/celluloid-85f850a41bb5/lib/celluloid/actor.rb:152:in `run'
				 (ex) /Users/samuel/.rvm/gems/ruby-2.3.0/bundler/gems/celluloid-85f850a41bb5/lib/celluloid/actor.rb:131:in `block in start'
				 (ex) /Users/samuel/.rvm/gems/ruby-2.3.0/bundler/gems/celluloid-essentials-f0545ce47ed9/lib/celluloid/internals/thread_handle.rb:14:in `block in initialize'
				 (ex) /Users/samuel/.rvm/gems/ruby-2.3.0/bundler/gems/celluloid-85f850a41bb5/lib/celluloid/actor/system.rb:78:in `block in get_thread'
				 (ex) /Users/samuel/.rvm/gems/ruby-2.3.0/bundler/gems/celluloid-85f850a41bb5/lib/celluloid/group/spawner.rb:50:in `block in instantiate'
	 # /Users/samuel/.rvm/gems/ruby-2.3.0/bundler/gems/celluloid-85f850a41bb5/spec/support/configure_rspec.rb:45:in `block (2 levels) in <top (required)>'
	 # /Users/samuel/.rvm/gems/ruby-2.3.0/gems/rspec-core-3.4.1/lib/rspec/core/example.rb:424:in `instance_exec'
	 # /Users/samuel/.rvm/gems/ruby-2.3.0/gems/rspec-core-3.4.1/lib/rspec/core/example.rb:424:in `instance_exec'
	 # /Users/samuel/.rvm/gems/ruby-2.3.0/gems/rspec-core-3.4.1/lib/rspec/core/hooks.rb:389:in `execute_with'
	 # /Users/samuel/.rvm/gems/ruby-2.3.0/gems/rspec-core-3.4.1/lib/rspec/core/hooks.rb:620:in `block (2 levels) in run_around_example_hooks_for'
	 # /Users/samuel/.rvm/gems/ruby-2.3.0/gems/rspec-core-3.4.1/lib/rspec/core/example.rb:319:in `call'
	 # /Users/samuel/.rvm/gems/ruby-2.3.0/gems/rspec-retry-0.4.5/lib/rspec/retry.rb:98:in `block in run'
	 # /Users/samuel/.rvm/gems/ruby-2.3.0/gems/rspec-retry-0.4.5/lib/rspec/retry.rb:88:in `loop'
	 # /Users/samuel/.rvm/gems/ruby-2.3.0/gems/rspec-retry-0.4.5/lib/rspec/retry.rb:88:in `run'
	 # /Users/samuel/.rvm/gems/ruby-2.3.0/gems/rspec-retry-0.4.5/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry'
	 # /Users/samuel/.rvm/gems/ruby-2.3.0/gems/rspec-retry-0.4.5/lib/rspec/retry.rb:22:in `block (2 levels) in setup'
	 # /Users/samuel/.rvm/gems/ruby-2.3.0/gems/rspec-core-3.4.1/lib/rspec/core/example.rb:424:in `instance_exec'
	 # /Users/samuel/.rvm/gems/ruby-2.3.0/gems/rspec-core-3.4.1/lib/rspec/core/example.rb:424:in `instance_exec'
	 # /Users/samuel/.rvm/gems/ruby-2.3.0/gems/rspec-core-3.4.1/lib/rspec/core/hooks.rb:389:in `execute_with'
	 # /Users/samuel/.rvm/gems/ruby-2.3.0/gems/rspec-core-3.4.1/lib/rspec/core/hooks.rb:620:in `block (2 levels) in run_around_example_hooks_for'
	 # /Users/samuel/.rvm/gems/ruby-2.3.0/gems/rspec-core-3.4.1/lib/rspec/core/example.rb:319:in `call'
	 # /Users/samuel/.rvm/gems/ruby-2.3.0/gems/rspec-core-3.4.1/lib/rspec/core/hooks.rb:621:in `run_around_example_hooks_for'
	 # /Users/samuel/.rvm/gems/ruby-2.3.0/gems/rspec-core-3.4.1/lib/rspec/core/hooks.rb:478:in `run'
	 # /Users/samuel/.rvm/gems/ruby-2.3.0/gems/rspec-core-3.4.1/lib/rspec/core/example.rb:434:in `with_around_example_hooks'
	 # /Users/samuel/.rvm/gems/ruby-2.3.0/gems/rspec-core-3.4.1/lib/rspec/core/example.rb:477:in `with_around_and_singleton_context_hooks'
	 # /Users/samuel/.rvm/gems/ruby-2.3.0/gems/rspec-core-3.4.1/lib/rspec/core/example.rb:233:in `run'
	 # /Users/samuel/.rvm/gems/ruby-2.3.0/gems/rspec-core-3.4.1/lib/rspec/core/example_group.rb:581:in `block in run_examples'
	 # /Users/samuel/.rvm/gems/ruby-2.3.0/gems/rspec-core-3.4.1/lib/rspec/core/example_group.rb:577:in `map'
	 # /Users/samuel/.rvm/gems/ruby-2.3.0/gems/rspec-core-3.4.1/lib/rspec/core/example_group.rb:577:in `run_examples'
	 # /Users/samuel/.rvm/gems/ruby-2.3.0/gems/rspec-core-3.4.1/lib/rspec/core/example_group.rb:543:in `run'
	 # /Users/samuel/.rvm/gems/ruby-2.3.0/gems/rspec-core-3.4.1/lib/rspec/core/runner.rb:115:in `block (3 levels) in run_specs'
	 # /Users/samuel/.rvm/gems/ruby-2.3.0/gems/rspec-core-3.4.1/lib/rspec/core/runner.rb:115:in `map'
	 # /Users/samuel/.rvm/gems/ruby-2.3.0/gems/rspec-core-3.4.1/lib/rspec/core/runner.rb:115:in `block (2 levels) in run_specs'
	 # /Users/samuel/.rvm/gems/ruby-2.3.0/gems/rspec-core-3.4.1/lib/rspec/core/configuration.rb:1680:in `with_suite_hooks'
	 # /Users/samuel/.rvm/gems/ruby-2.3.0/gems/rspec-core-3.4.1/lib/rspec/core/runner.rb:114:in `block in run_specs'
	 # /Users/samuel/.rvm/gems/ruby-2.3.0/gems/rspec-core-3.4.1/lib/rspec/core/reporter.rb:77:in `report'
	 # /Users/samuel/.rvm/gems/ruby-2.3.0/gems/rspec-core-3.4.1/lib/rspec/core/runner.rb:113:in `run_specs'
	 # /Users/samuel/.rvm/gems/ruby-2.3.0/gems/rspec-core-3.4.1/lib/rspec/core/runner.rb:89:in `run'
	 # /Users/samuel/.rvm/gems/ruby-2.3.0/gems/rspec-core-3.4.1/lib/rspec/core/runner.rb:73:in `run'
	 # /Users/samuel/.rvm/gems/ruby-2.3.0/gems/rspec-core-3.4.1/lib/rspec/core/runner.rb:41:in `invoke'
	 # /Users/samuel/.rvm/gems/ruby-2.3.0/gems/rspec-core-3.4.1/exe/rspec:4:in `<top (required)>'
	 # /Users/samuel/.rvm/gems/ruby-2.3.0/bin/rspec:23:in `load'
	 # /Users/samuel/.rvm/gems/ruby-2.3.0/bin/rspec:23:in `<main>'
	 # /Users/samuel/.rvm/gems/ruby-2.3.0/bin/ruby_executable_hooks:15:in `eval'
	 # /Users/samuel/.rvm/gems/ruby-2.3.0/bin/ruby_executable_hooks:15:in `<main>'

Any ideas what is going on here?
Of interest, was the following:
Celluloid::IO::Reactor
/Users/samuel/Documents/Programming/Internet/celluloid-io/spec/celluloid/io/reactor_spec.rb:20:in `block (3 levels) in <top (required)>': Object#timeout is deprecated, use Timeout.timeout instead.
  shouldn't crash (FAILED - 1)

this has been fixed, right?

It's sporadic.


Use error from stderr if stdout is empty

I believe this fixes #24.

Indeed it does.

Honestly, I wasn't sure why stdout is involved at all when it seems the stderr always has the error (from my testing). However, I assumed that this isn't always the case, as the person who wrote this block probably got an error from the stdout since thats the way they wrote that. Also, I am not sure how I would write a test for this. Would we somehow create a project with an error for sweep to find?

Would we somehow create a project with an error for sweep to find?

That was my idea, yeah :) You should be able to reproduce it consistently by adding a custom rustc shell script in PATH that always gives an error.
It looks like cargo-sweep only has unit tests currently, not integration tests, so we'd need to set those up - in deadlinks I use assert_cmd which works pretty well without much boilerplate: https://github.com/deadlinks/cargo-deadlinks/blob/73de1dfcc24c6dcb2743505c176ff96aff9ca28d/tests/broken_links.rs#L8-L28
Let me know if that sounds like a hassle and I can add this first test, and hopefully it will be easier to add more in the future :)

Sorry, not sure if I have the time for that in the next few weeks. I'll try to implement that though if this test is still missing when I get some free time.

Could we get a crates.io release with this fix please?


set short names to false in http box

Not sure how this was reverted but setting it back to false.

not needed, already fixed


Support for including all files under version control in the created package

We are in the middle of moving all of our repositories from our internal bitbucket server to our internal hex server, because we want to use semver versioning for the dependencies.
Our problem is that we have lots of repositories, and in some of them there are files stored in special folders. I'm afraid that we will forget about these special directories, then it will cause a problem not in the build of the current repository but in some other projects using this repo as a dependency.
I was thinking of adding --inclulde_all_vcs=true command line option to rebar3 hex build, so in this case all files under version control will be copied into the generated package, but nothing else... Only those files.
I'm aware of the fact, this way some unnecessary files will be included as well, for instance the entire test directory, which can potentially contain huge amount of testing related data. For that we can use an exclude_paths option in rebar.config, like this:
{hex, [
   {exclude_paths, ["test", ...]},
   {repos, [
   ]}
]}.

In the initial version maybe I would like to support only git, svn, and some others.... Of course it would not change the default behaviour of the plugin, because using it without the --include_all_vcs option it would work entirely the same way.
What is your opinion about this?

We can also use the exclude_files option already used in the app.src file.

I'm not sure, I need to think on this a bit. While it seems to solve a problem, it feels a bit niche and can ultimately be haphazard.
Have you thought about using include_paths to solve your problem? You'll have to be diligent, if you will, about keeping exclude_paths up to date, so why not use include_paths coupled with building the package and inspecting the contents before a publish?


UB in Collect:: reserve_get_tail_slice

It appears that Collect::reserve_get_tail_slice might have undefined behavior. The code is reserving uninitialized space, then creating a mutable reference to it. This us UB according to this documentation.

I thought the validity of uninitialized data behind references hasn't been decided yet (UCG#77), but I guess we could probably use &mut [MaybeUninit<T>] here.


Meltano webapp Javascript dependency vulnerabilities

The following vulnerabilities have been detected:
src/webapp/yarn.lock »<EMAIL_ADDRESS>– Template injection in ejs (critical severity)
  ↪ https://github.com/advisories/GHSA-phwq-j96m-2c2q
src/webapp/yarn.lock »<EMAIL_ADDRESS>– Server-Side Request Forgery in Axios (high severity)
  ↪ https://github.com/advisories/GHSA-4w2v-q235-vp99
src/webapp/yarn.lock »<EMAIL_ADDRESS>– Incorrect Comparison in axios (high severity)
  ↪ https://github.com/advisories/GHSA-cph5-m8f7-6c5x
src/webapp/yarn.lock »<EMAIL_ADDRESS>– Improper Verification of Cryptographic Signature in node-forge (high severity)
  ↪ https://github.com/advisories/GHSA-cfm4-qjh2-4765
src/webapp/yarn.lock »<EMAIL_ADDRESS>– Improper Verification of Cryptographic Signature in node-forge (high severity)
  ↪ https://github.com/advisories/GHSA-x4jg-mjrx-434g
src/webapp/yarn.lock »<EMAIL_ADDRESS>– Open Redirect in node-forge (moderate severity)
  ↪ https://github.com/advisories/GHSA-8fr3-hfg3-gpgp
src/webapp/yarn.lock »<EMAIL_ADDRESS>– Improper Verification of Cryptographic Signature in `node-forge` (moderate severity)
  ↪ https://github.com/advisories/GHSA-2r2c-g63r-vccr
src/webapp/yarn.lock »<EMAIL_ADDRESS>– URL parsing in node-forge could lead to undesired behavior. (low severity)
  ↪ https://github.com/advisories/GHSA-gf8q-jrpm-jvxq
src/webapp/yarn.lock »<EMAIL_ADDRESS>– Prototype Pollution in node-forge debug API. (low severity)
  ↪ https://github.com/advisories/GHSA-5rrq-pxf6-6jx5
src/webapp/yarn.lock »<EMAIL_ADDRESS>– Command injection in simple-git (high severity)
  ↪ https://github.com/advisories/GHSA-3f95-r44v-8mrg
src/webapp/yarn.lock »<EMAIL_ADDRESS>– Command injection in simple-git (high severity)
  ↪ https://github.com/advisories/GHSA-28xr-mwxg-3qc8
src/webapp/yarn.lock »<EMAIL_ADDRESS>– OS Command Injection in node-notifier (moderate severity)
  ↪ https://github.com/advisories/GHSA-5fw9-fq32-wv5p
src/webapp/yarn.lock »<EMAIL_ADDRESS>– node-ipc behavior change (low severity)
  ↪ https://github.com/advisories/GHSA-3mpp-xfvh-qh37

Originally posted by @WillDaSilva in https://github.com/meltano/meltano/issues/6484#issuecomment-1196203789

More probably exist. The above are those which were detected in #6484, which added support for Node v16. We should go through the webapp Javascript dependencies, and bring them up to date where feasible. That alone should significantly reduce the number of (known) vulnerabilities. It will likely be a significant amount of work due to the number of dependencies which are multiple major versions out of date, and so have introduced many breaking changes.

Resolved in #6904


analyzer: execute rules in batches.

Move all the iteration logic from Analyzer to Batch. Now Analyzer has a set of Batch objects instead of a set of Rules.
To be able to add custom rules, created an analyzer.Builder object. With it, you can build a custom Analyzer and add custom rules on specific Batches. This Batches can change depending on our necessities in the future.
Validation rules do not exist anymore. Now they are standard rules into a Batch that iterates only once.

Closes: #141
Signed-off-by: Antonio Jesus Navarro Perez<EMAIL_ADDRESS>

Closes: #141

apart of the typo, LGTM


Invalid response when returning IEnumerable that causes an exception

Describe the bug
If a controller action returns any IEnumerable that has not been realized yet, and an exception happens during evaluation of it, a 200 response is returned with invalid JSON.
It is arguable that controller methods should not return an unrealized IEnumerable in the first place, but there's nothing stopping you. In the real world, this is more likely to be seen with database queries where an IQueryable is returned.
To Reproduce
The code below will generate a DivideByZeroException, but a 200 response is returned to the client with just [ in the body (which, of course, is invalid JSON).
[HttpGet("test")]
public IEnumerable<string> Test() {
    var list = new List<string> {"hi"};
    var i = 0;
    return list.Where(s => s.Length == 1 / i);
}

Expected behavior
A 500 response.
Additional context
I tried debugging the .NET Core code, and I don't entirely understand what's going on, but I think it might have started writing the response already. So by the time the exception happens, it can't go back and change it.
My test project is ASP.NET Core 2.2.
This came out of this Stack Overflow question.

but I think it might have started writing the response already. So by the time the exception happens, it can't go back and change it.

Yup, that's what's happening here. If you require a deterministic 200, you could consider materializing the lazily evaluated enumeration by calling ToList().
See prior discussions: https://github.com/aspnet/Mvc/issues/5083

Ok, I understand. I was giving it some thought and I think I've come to the same conclusion: I don't see a good solution.
The only possible change I could see is to not send the headers until the first record in the enumeration is returned (i.e. after the first call to MoveNext()). That would prevent this in almost all cases. For example, if there is a network error preventing access to the database, the exception will happen while enumerating the first record.
It is far less likely that the first record will succeed and a subsequent one won't, although I know that is indeed possible.
However, I understand that not all results will be IEnumerable and making this kind of change could be quite complicated.

Thank you for your feedback.
We're closing this issue as the behavior discussed is by design.


kodi.packages.arteplussept: init at 1.1.1

Add the Arte+7 Kodi plugin.
This PR also includes a tiny fix for the Kodi ORF TVThek plugin (add +matrix to version string for compatibility; add automatic updates). I did not open a separate PR for this, because I thought it is easier like so, but please let me know, if you require a separate PR.
Ping @aanderse for review.
I tested the plugins and they work on my Linux machine.

Motivation for this change
Things done

Built on platform(s)

[x] x86_64-linux
[ ] aarch64-linux
[ ] x86_64-darwin
[ ] aarch64-darwin

[ ] For non-Linux: Is sandbox = true set in nix.conf? (See Nix manual)
[ ] Tested, as applicable:

NixOS test(s) (look inside nixos/tests)
and/or package tests
or, for functions and "core" functionality, tests in lib/tests or pkgs/test
made sure NixOS tests are linked to the relevant packages

[x] Tested compilation of all packages that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD". Note: all changes have to be committed, also see nixpkgs-review usage
[x] Tested basic functionality of all binary files (usually in ./result/bin/)
22.05 Release Notes (or backporting 21.11 Release notes)

[ ] (Package updates) Added a release notes entry if the change is major or breaking
[ ] (Module updates) Added a release notes entry if the change is significant
[ ] (Module addition) Added a release notes entry if adding a new NixOS module
[ ] (Release notes changes) Ran nixos/doc/manual/md-to-db.sh to update generated release notes

[x] Fits CONTRIBUTING.md.

Thank you.
I split the commits, removed the update script wherever possible, and removed the whitespace changes, which had been introduced by the automatic formatter.

Let me know, if there is anything else I can do!

Hi @dschrempf :wave: sorry to come back to this but I was doing some kodi work and noticed this:
https://github.com/known-as-bmf/plugin.video.arteplussept/blob/bb3e82a7b66b4a1494e5c138a0297289d9cb1c00/addon.xml#L7

I tested the plugins and they work on my Linux machine.

Are you sure it isn't incidental to another addon being installed that this one works? I think you need to add dateutil to the list of dependencies.

Hm, I tried the addon exclusively and it worked, but you are right, this dependency is listed. I added it in a separate PR but did not test the addon yet because of time constraints.


How to solve this problem

please show the MindSpore version, platform(seems Windows?) and Device type(GPU\CPU\Ascend). I have tested on MindSpore1.9 and do not reproduce the problem.

MIndSpore version :1.9.0
platform:Linux-x86_64
device type:gpu
It can be run on cpu, but when I try to run it on gpu, it occurs the problem that the picture shows

MIndSpore version :1.9.0 platform:Linux-x86_64 device type:gpu It can be run on cpu, but when I try to run it on gpu, it occurs the problem that the picture shows

I have tried 1.9 on GPU, still can not reproduce the problem.

can you create a new environment to test? use instructions below:
conda create -n mindspore python=3.7
conda activate mindspore
conda install cudatoolkit=11.1 cudnn # or conda install cudatoolkit=10.1 cudnn
pip install mindspore-gpu

can you create a new environment to test? use instructions below:
conda create -n mindspore python=3.7
conda activate mindspore
conda install cudatoolkit=11.1 cudnn # or conda install cudatoolkit=10.1 cudnn
pip install mindspore-gpu

If I use conda to install mindspore, it will produce the problem
And I use pip to install, the above picture shows that I have installed successfully. So I am at my wit's end.

can you create a new environment to test? use instructions below:
conda create -n mindspore python=3.7
conda activate mindspore
conda install cudatoolkit=11.1 cudnn # or conda install cudatoolkit=10.1 cudnn
pip install mindspore-gpu

Traceback (most recent call last):
File "acgan.py", line 14, in
from layers import Dense, Upsample, Embedding, Conv2d, Dropout2d
File "../layers.py", line 7, in
from mindspore.ops.operations.image_ops import ResizeBilinearV2, ResizeLinear1D
ImportError: cannot import name 'ResizeBilinearV2' from 'mindspore.ops.operations.image_ops' (/home/ma-user/anaconda3/envs/MindSpore/lib/python3.7/site-packages/mindspore/ops/operations/image_ops.py)
现在又出现这个问题

can you create a new environment to test? use instructions below:
conda create -n mindspore python=3.7
conda activate mindspore
conda install cudatoolkit=11.1 cudnn # or conda install cudatoolkit=10.1 cudnn
pip install mindspore-gpu

Traceback (most recent call last): File "acgan.py", line 14, in from layers import Dense, Upsample, Embedding, Conv2d, Dropout2d File "../layers.py", line 7, in from mindspore.ops.operations.image_ops import ResizeBilinearV2, ResizeLinear1D ImportError: cannot import name 'ResizeBilinearV2' from 'mindspore.ops.operations.image_ops' (/home/ma-user/anaconda3/envs/MindSpore/lib/python3.7/site-packages/mindspore/ops/operations/image_ops.py) 现在又出现这个问题

是1.9吗，不应该缺这个类才对

can you create a new environment to test? use instructions below:
conda create -n mindspore python=3.7
conda activate mindspore
conda install cudatoolkit=11.1 cudnn # or conda install cudatoolkit=10.1 cudnn
pip install mindspore-gpu

Traceback (most recent call last): File "acgan.py", line 14, in from layers import Dense, Upsample, Embedding, Conv2d, Dropout2d File "../layers.py", line 7, in from mindspore.ops.operations.image_ops import ResizeBilinearV2, ResizeLinear1D ImportError: cannot import name 'ResizeBilinearV2' from 'mindspore.ops.operations.image_ops' (/home/ma-user/anaconda3/envs/MindSpore/lib/python3.7/site-packages/mindspore/ops/operations/image_ops.py) 现在又出现这个问题

你怎么又从GPU换到modelarts？Ascend应该不支持这个算子。


[Question] HikariCP tag metrics

Hi guys, is it possible to add custom tags to HikariCP metrics, such as hikaricp.connections.acquire.avg? I need to add tags to be able to filter better this metrics. The MeterRegistryCustomizer helped me to add some tags, but i need to drill down, adding by thread for example. I noticed that MeterFilter not work with this hikaricp metrics.

Hey @jonathanbenedet, I'm dealing with a similar issue. Have you found any solution since this post? 🙏


Xcode14 "Publishing changes from within view updates is not allowed, this will cause undefined behavior."

New "purple warning" in Xcode 14 "Publishing changes from within view updates is not allowed, this will cause undefined behavior.", seemingly related to https://github.com/subconsciousnetwork/ObservableStore/blob/main/Sources/ObservableStore/ObservableStore.swift#L229
self.state = next.state

We must be tripping over some kind of footgun because we're not doing anything too fancy here.
Leads:

https://developer.apple.com/forums/thread/711899
https://www.donnywals.com/xcode-14-publishing-changes-from-within-view-updates-is-not-allowed-this-will-cause-undefined-behavior/
https://stackoverflow.com/questions/73323869/swiftui-publishing-an-environment-change-from-within-view-update
https://www.hackingwithswift.com/forums/swiftui/xcode-14-publishing-changes-from-within-view-updates-is-not-allowed-this-will-cause-undefined-behavior/16434

From https://www.donnywals.com/xcode-14-publishing-changes-from-within-view-updates-is-not-allowed-this-will-cause-undefined-behavior/

At this point, it seems like this might be a bug in List specifically because changing the list to a VStack or LazyVStack in a ScrollView does not give me the same warning. This tells me that there is nothing fundamentally wrong with the setup above.

I've also seen reports about NavigationView (which is deprecated) triggering this. So it may not have anything to do with us.

Anecdotally confirmed in https://github.com/subconsciousnetwork/subconscious codebase that this seems to be a view-related Apple bug. This seems to trigger when I tap a button in a List in a NavigationView, and not at any other time.

Updating to NavigationStack seems to fix this issue. It's not ObservableStore. It's something to do with the deprecated NavigationView.

Video breakdown of warning. "Publishing changes from within view updates is not allowed, this will cause undefined behaviour" https://www.youtube.com/watch?v=3a7tuhVpoTQ


Bump to version v1.5.0

Cherry-pick bump commit from release branch and add -dev suffix to VERSION file.

LGTM

LGTM

Shouldnt' the title of this PR have -dev in it?

LGTM


VSCode Just Not Opening

VS Code Version:1.55
OS Version:win10 home

Clicking on Code.exe, just doing nothing. Tried Everything (like Re-Installing, Different Ver, Disabaling extension). It just working yesterday. i don't know what happened suddenly!!!
Steps to Reproduce:

Does this issue occur when all extensions are disabled?: Yes/No

Okay, it's seem to be issue with the latest build. I've installed older version. Now it's working.


Bumped Laravel maximum version to 5.7.x

I bumped the version to Laravel 5.7.x after reading through the upgrade guide to verify that your software is compatible with it. Please merge this in and tag it with a new version to allow for our production system to pull the code.

@GrahamCampbell - Just an FYI, because Laravel-DigitalOcean has a dependency on Laravel-Manager, the TravisCI run failed for this release. That's because Laravel-Manager hasn't been tagged to include the composer requirement for an optional Laravel 5.7.* release yet.
Once you merge the PR for Laravel-Manager, this one's TravisCI will pass, too.


HTML

HTML
User Story
As a bootcamp student
I want the prework notes to be structured on a webpage
so that I can find and read information
Acceptance Criteria
GIVEN a Prework Study Guide Website
WHEN I visit the website in my browser
THEN I see four boxes titled HTML, CSS, Git, and JavaScript with associated notes listed

Completed task by adding the HTML code


Adding PushNotification.hasPermission() support in browsers

As discussed in. #2230, this PR adds support for the hasPermission() method in the browser.
Description
The PR adds a basic implementation of hasPermission() that returns { isEnabled: true } if Notification is in the global scope and Notification.permission is equal to 'granted'.
Related Issue
#2230
Motivation and Context
Without this PR, PushNotification.hasPermission() returns true, which is not conformant to the documentation of hasPermission() as it is expected to return an object having an isEnabled key.
How Has This Been Tested?
Manual testing in Google Chrome and Mozilla Firefox.
Types of changes

[ ] Bug fix (non-breaking change which fixes an issue)
[x] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to change)

Checklist:

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

@ntamas thanks for the PR!


Input and Output folder structure for new preprocessor/backend

There are multiple reasons to have a look at the data folders used by ESMValTool:

The new preprocessor/backend will need a place to keep pre-processed files.
The interface file is hindering using ESMValTool as a service (see #3 )
Namelists are now sometimes writing to the same folder, causing problems in case of parallelization.

@axel-lauer and I brainstormed on a plan. We came up with the following proposal:
Folders:
/rawobsdata: Raw observation files in for example csv format.
/obsdata: Processed observation files in NetCDF format.
/modeldata: Model data files in NetCDF format.
/cache: cache of pre-processor/backend.
/output/$NAMELIST_NAME/: output of namelist_name (one folder per namelist)
the output folder of each name list will be created by the workflow manager (main.py) and contain:

plots created by this namelist.
nc files created by this namelist.
log file for the namelist
a file per diagnostic containing all the settings needed to run the diagnostic. This contains all the information currently in:

the "interface file"
the diagnostic config files
the namelist
the environment variables

The output folder of a namelist will also be used as the current-working-directory of a diagnostic, so it can simply write output without worrying too much about paths. The "settings" file will be passes as the first and only command line argument to the tool. The settings file will be in a format that makes sense for the diagnostic. Possibly a yaml file for Python and R diagnostics, and a ncl file for ncl diagnostics.
This should solve a few issues at once, including problems with provenance, not being able to run multiple diagnostics at once, output files in the (possibly read only) esmvaltool installation folder, etc.

New plan:
Have two folder, one for really "temporary files", and one for output.

To create a temporary dir, it is possibly best to use the standard library function tempfile.mkdtemp

At the moment, if the output directory already exists, it is moved to some other name and a new directory is created. This can cause nasty surprises for users, who suddenly find their files moved. Of course this can be remedied by generating a new config(-user).yml file for every run, but that is not very convenient.
A better setup would be the following:
Inside the run_dir defined in config.yml, create a directory with the name of the namelist and current datetime, e.g. for a run starting on 2017-09-25 15:48:03 UTC, create /path/to/run_dir/20170925_154803_namelist_MyVar and put all output that goes to run_dir in there.
For the other paths specified in config.yml:

preproc_dir
work_dir
plot_dir
If they are relative paths, put them inside the directory mentioned above, e.g.
/path/to/run_dir/20170925_154803_namelist_MyVar/preproc_dir
/path/to/run_dir/20170925_154803_namelist_MyVar/work_dir
/path/to/run_dir/20170925_154803_namelist_MyVar/plots_dir
if they are absolute paths, create a namelist + current datetime subfolder inside them too, like so:
/path/to/preproc_dir/20170925_154803_namelist_MyVar
/path/to/work_dir/20170925_154803_namelist_MyVar
/path/to/plot_dir/20170925_154803_namelist_MyVar

This is convenient and minimizes the risk of overwriting files.
Edge case: it seems very unlikely that two namelists are started at the exact same second, but if this happens, we can add _1, _2, etc to the name, or raise an exception, TBD.

/run_dir/DATE_TIME_namelist_userTag should be easy to do - I'll fix this
tomorrow; I'll added a userTag (string) to be defined in config-user
because we may well have different variations of the same namelist in the
future, or the user will alter the namelist (again, in the future).
Cheers,
V
On Mon, Sep 25, 2017 at 3:03 PM, Bouwe Andela<EMAIL_ADDRESS>wrote:

At the moment, if the output directory already exists, it is moved to some
other name and a new directory is created. This can cause nasty surprises
for users, who suddenly find their files moved. Of course this can be
remedied by generating a new config(-user).yml file for every run, but that
is not very convenient.
A better setup would be the following:
Inside the run_dir defined in config.yml, create a directory with the name
of the namelist and current datetime, e.g. for a run starting on 2017-09-25
15:48:03 UTC, create /path/to/run_dir/20170925_154803_namelist_MyVar and
put all output that goes to run_dir in there.
For the other paths specified in config.yml:

preproc_dir
work_dir
plot_dir
If they are relative paths, put them inside the directory mentioned
above, e.g.
/path/to/run_dir/20170925_154803_namelist_MyVar/preproc_dir
/path/to/run_dir/20170925_154803_namelist_MyVar/work_dir
/path/to/run_dir/20170925_154803_namelist_MyVar/plots_dir
if they are absolute paths, create a namelist + current datetime
subfolder inside them too, like so:
/path/to/preproc_dir/20170925_154803_namelist_MyVar
/path/to/work_dir/20170925_154803_namelist_MyVar
/path/to/plot_dir/20170925_154803_namelist_MyVar

This is convenient and minimizes the risk of overwriting files.
Edge case: it seems very unlikely that two namelists are started at the
exact same second, but if this happens, we can add _1, _2, etc to the name,
or raise an exception, TBD.
—
You are receiving this because you were assigned.
Reply to this email directly, view it on GitHub
https://github.com/ESMValGroup/ESMValTool/issues/15#issuecomment-331891119,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AbpCo3qSdZzK9TItdjw5SgMQizRdDpxIks5sl7KsgaJpZM4L6uuK
.

--
Dr. Valeriu Predoi
Computational Scientist for UKESM Core Team
Department of Meteorology, University of Reading
Earley Gate, Office 1U08
READING, RG6 6BB
United Kingdom
Mobile number:<PHONE_NUMBER>2
"If one day you be questioning your ability to come up with professional
results, think of this: Noah's ark was built by farmers whereas the Titanic
was crafted by skilled engineers"

I find the structure of the output directory a bit confusing. An unexperienced user may have problems finding the output.
I think we should have only 2 output paths in config (as originally suggested): one for the output (output_dir), containing the subdirs preproc, work and plots, and one for the temporary files (run_dir or tmp_dir), containing a subdir with the diagnostic id (I don't think we need to have another subdir interface_data here).
The directory structure should look like
<output_dir>/YYYYMMDD_HHMMSS_<namelist>/preproc/
<output_dir>/YYYYMMDD_HHMMSS_<namelist>/work/
<output_dir>/YYYYMMDD_HHMMSS_<namelist>/plots/
<tmp_dir>/YYYYMMDD_HHMMSS_<namelist>/<diag_id>/
There is no risk of overwriting files in work and plots, as every diagnostic in the namelist produces different ones. The advantage would be that the files in preproc could be recycled, for example when 2 variables in the same namelist are processed using the same preproc_id.
One problem I could foreseen is if we are going to allow for parallel execution of the diagnostics from the same namelist. But in that case we would need anyway to sort out in advance the diagnostics using the same preproc_id, to allow for recycling the preprocessed file, and also to manage the dependencies (i.e., diagnostics which needs other diagnostics to be run first).

We also have the issue that we can not use previously preprocessed files with any of this structures...
... but anyway, I also think that the preproc dir should be in the output folder.
One small thing:  I think we should also change the folder to the following structure
<output_dir>//YYYYMMDD_HHMMSS /
My output folder is getting too many folders and also becomes difficult to find which ones correspond to a given namelist.

We also have the issue that we can not use previously preprocessed files with any of this structures...
... but anyway, I also think that the preproc dir should be in the output folder.

Right, only within the same namelist. But I think this is OK for the moment: recycling of preproc files across different namelists shouldn't be a very common case (@axel-lauer ?).

One small thing:  I think we should also change the folder to the following structure
<output_dir>//YYYYMMDD_HHMMSS /

Fine with me.

Hey guys, this has been changed and changed again from my initial
implementation back in August (me, Bouwe, then me again, Mattia...) :P
Can we decide on a viable structure and keep it? I got no preferences apart
from the ones that should not overwrite already produced files, so we keep
track of runs and their output.
Cheers,
V
On Fri, Dec 1, 2017 at 3:34 PM, Mattia Righi<EMAIL_ADDRESS>wrote:

We also have the issue that we can not use previously preprocessed files
with any of this structures...
... but anyway, I also think that the preproc dir should be in the output
folder.
Right, only within the same namelist. But I think this is OK for the
moment: recycling of preproc files across different namelists shouldn't be
a very common case (@axel-lauer https://github.com/axel-lauer ?).
One small thing: I think we should also change the folder to the following
structure
<output_dir>//YYYYMMDD_HHMMSS /
Fine with me.
—
You are receiving this because you were assigned.
Reply to this email directly, view it on GitHub
https://github.com/ESMValGroup/ESMValTool/issues/15#issuecomment-348525445,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AbpCowPucKKkZ4y5FQTczME4lW7ekxG0ks5s8Bx6gaJpZM4L6uuK
.

--
Dr. Valeriu Predoi
Computational Scientist for UKESM Core Team
Department of Meteorology, University of Reading
Earley Gate, Office 1U08
READING, RG6 6BB
United Kingdom
Mobile number:<PHONE_NUMBER>2
"If one day you be questioning your ability to come up with professional
results, think of this: Noah's ark was built by farmers whereas the Titanic
was crafted by skilled engineers"

As discussed in the telecon, we now go for 1 user-specified output path (output_dir), containing the following:
<output_dir>/YYYYMMDD_HHMMSS_<namelist>/preproc/
<output_dir>/YYYYMMDD_HHMMSS_<namelist>/work/
<output_dir>/YYYYMMDD_HHMMSS_<namelist>/plots/
<output_dir>/YYYYMMDD_HHMMSS_<namelist>/<diag_id>/
The path is mandatory.

I see now that my suggestion was not correctly written in my comment, for some reason.
Anyway, I still think that we should split and reverse the namelist and date part from the path:
<output_dir>/<namelist>/YYYYMMDD_HHMMSS/preproc/

This will make a lot easier to search for outputs if you run multiple namelists multiple times
If we don't want to add another nesting level, I think we should at least switch the order.
<output_dir>/<namelist>_YYYYMMDD_HHMMSS/preproc/

Yuup, agreed with this one, Javier!
Cheers,
V
On Tue, Dec 5, 2017 at 3:16 PM, Javier Vegas-Regidor <
<EMAIL_ADDRESS>wrote:

I see now that my suggestion was not correctly written in my comment, for
some reason.
Anyway, I still think that we should split and reverse the namelist and
date part from the path:
<output_dir>//YYYYMMDD_HHMMSS/preproc/
This will make a lot easier to search for outputs if you run multiple
namelists multiple times
If we don't want to add another nesting level, I think we should at least
switch the order.
<output_dir>/_YYYYMMDD_HHMMSS/preproc/
—
You are receiving this because you were assigned.
Reply to this email directly, view it on GitHub
https://github.com/ESMValGroup/ESMValTool/issues/15#issuecomment-349334656,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AbpCo5mhp5eUGWvMtk2qn0S81HPBugYHks5s9V44gaJpZM4L6uuK
.

--
Dr. Valeriu Predoi
Computational Scientist for UKESM Core Team
Department of Meteorology, University of Reading
Earley Gate, Office 1U08
READING, RG6 6BB
United Kingdom
Mobile number:<PHONE_NUMBER>2
"If one day you be questioning your ability to come up with professional
results, think of this: Noah's ark was built by farmers whereas the Titanic
was crafted by skilled engineers"

Sound good. I have a slight preference for the "combined" format, but not by much.
<output_dir>/<namelist>_YYYYMMDD_HHMMSS/

I'd also like to avoid too much nesting.

Oh can we put a 'cowsay' suffix there as well? :))
Cheers,
V
On Tue, Dec 5, 2017 at 4:12 PM, Niels Drost<EMAIL_ADDRESS>wrote:

Sound good. I have a slight preference for the "combined" format, but not
by much.
<output_dir>/_YYYYMMDD_HHMMSS/
—
You are receiving this because you were assigned.
Reply to this email directly, view it on GitHub
https://github.com/ESMValGroup/ESMValTool/issues/15#issuecomment-349353785,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AbpCo3oNSMKNaft21mZs--r2E5Dr4vWkks5s9Wt5gaJpZM4L6uuK
.

--
Dr. Valeriu Predoi
Computational Scientist for UKESM Core Team
Department of Meteorology, University of Reading
Earley Gate, Office 1U08
READING, RG6 6BB
United Kingdom
Mobile number:<PHONE_NUMBER>2
"If one day you be questioning your ability to come up with professional
results, think of this: Noah's ark was built by farmers whereas the Titanic
was crafted by skilled engineers"

Ready to merge (PR167)
The output of the perfmetrics namelist now looks like this:
<output_dir>/tmp
<output_dir>/tmp/ANNUAL_CYCLE_ta
<output_dir>/preproc
<output_dir>/preproc/CMIP5
<output_dir>/preproc/OBS
<output_dir>/work
<output_dir>/work/perfmetrics_main
<output_dir>/plots
<output_dir>/plots/perfmetrics_main
Don't forget to update your config-user.yml file!


cannot be installed via opam pin in opam sandboxes

I have been trying to install HEAD (or other more recent releases not yet available on opam) in an opam switch. Due to way the build and installation is currently defined, the installation and build fails.
To reproduce:
dune init proj repro
cd repro/
git init
opam switch create . 4.14.0
dune build
opam pin add fstar --dev-repo -y

to get an error along these lines:

[ERROR] The compilation of fstar.2023.09.03~dev failed at "make PREFIX=/repro/_opam -j 7".

#=== ERROR while compiling fstar.2023.09.03~dev ===============================#
# context     2.1.5 | linux/x86_64 | ocaml-system.4.14.0 | pinned(git+https://github.com/FStarLang/FStar#6e20d76e09f66dc3eea5c40eac008ea1338ceef1)
# path        ~/repro/_opam/.opam-switch/build/fstar.2023.09.03~dev
# command     ~/.opam/opam-init/hooks/sandbox.sh build make PREFIX=/repro/_opam -j 7
# exit-code   2
# env-file    ~/.opam/log/fstar-232551-a0b055.env
# output-file ~/.opam/log/fstar-232551-a0b055.out
### output ###
#   DUNE BUILD
# Error: _build/log: Read-only file system
# make: *** [Makefile:23: fstar] Error 1

<><> Error report <><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><>
┌─ The following actions failed
│ λ build fstar 2023.09.03~dev
└─
┌─ The following changes have been performed
# <snip>
└─
[NOTE] Pinning command successful, but your installed packages may be out of sync.

The former state can be restored with:
    /usr/bin/opam switch import "/repro/_opam/.opam-switch/backup/state-20231208175407.export"

I have not yet tracked down exactly what is going on during the build/install causing the illegal file access a directory which it shouldn't have access to. But I have been able to come with an rough patch that moves the build and install just into dune, and resolves the problem: https://github.com/shonfeder/FStar/compare/master...pinnable

Hi Shon, thanks for the report! I suppose we may be forgetting to set a variable somewhere and that ends up being some external directory (or maybe I'm paranoid about that ever since I read https://github.com/ocaml/opam/issues/3316). I can take a look.
I suppose a top-level dune project file would be a good thing. Wondering what @tahina-pro thinks.


undefined symbol: H5Pget_fapl_direct Output is truncated.

Dear developers of ShakeNBreak:
How can I solve this problem when pip install -e .? Thanks a lot!
Your response and assistance in this matter would be greatly appreciated. Thank you for your attention to this matter.

Note: I just run conda install -c conda-forge shakenbreak, and it is ok! But pip not.

Hi @zhoufy20,
Yes I noticed this issue recently as well. It's come up because phonopy has changed their installation procedure since v2.26, which now causes issues with editable pip install for some reason. This can be fixed by first installing phonopy (with conda or (I think) pip install), and then doing the editable SnB install.
I'll try figure out if this can be automatically avoided somehow for users who want to pip install -e ., otherwise will update the docs/readme.

How about this? I am trying to reproduce this interesting work.

from pymatgen.core.structure import Structure
from doped.generation import DefectsGenerator

bulk = Structure.from_file("CdTe_Bulk_Primitive_POSCAR")  # CdTe
defect_gen = DefectsGenerator(bulk)

from shakenbreak.input import Distortions
# In order to determine the number of the defect nearest neighbours to distort (based on the change
# in valence electrons mentioned above), SnB uses the oxidation states of atoms in our material:
# If not specified, the code will guess these, otherwise you can specify as such:
# oxidation_states = {"Cd": +2, "Te": -2}  # specify atom oxidation states

# Create an instance of Distortion class with the defects and distortion parameters
# If distortion parameters are not specified, the default values are used
Dist = Distortions(defect_gen)  # initialise with doped DefectsGenerator

For that I'm not sure, I've never seen it. h5py is not a direct dependency of ShakeNBreak, but indirect through hiphive.
I would check your versions of hiphive and h5py (pip show hiphive), then update (pip install -U h5py hiphive), restart your notebook and then see if that fixes it?
Otherwise googling this specific error message.
If you get it solved, can you let us know what fixed it please?

when I run the command of `pip show hiphive`
Name: hiphive
Version: 1.3.1
Summary: High-order force constants for the masses
Home-page: http://hiphive.materialsmodeling.org/
Author:
Author-email:
License:
Location: /home/deroot/miniconda3/envs/snb/lib/python3.10/site-packages
Requires: ase, h5py, numba, numpy, pandas, scikit-learn, scipy, spglib, sympy, trainstation
Required-by: shakenbreak

and run pip install -U h5py hiphive is OK! Thanks a lot!


No icons in 1.6

VSCode Version:
Version 1.6.0
Commit e52fb0bc87e6f5c8f144e172639891d8d8c9aa55
Date 2016-10-10T18:30:01.819Z
Shell 1.3.7
Renderer 52.0.2743.82
Node 6.5.0

OS Version:

Antergos Linux release 16.9 (ISO-Rolling)
NAME="Antergos Linux"
VERSION="16.9-ISO-Rolling"
Linux tardis 4.7.6-1-ARCH
Steps to Reproduce:

Update packages with yaourt -Syyu --aur
Run vscode

Here is the image

@seemsindie you also need to choose the file icon theme? Did you do that?
I agree this is a bit confusing, ping @bpasero

@isidorn Thanks

@seemsindie nema na cemu


fail to install extensions without errors output

Issue Type: Bug
It shows installing all the time. And it doesn‘t show any errors in the "OUTPUT" of the "Extensions" console, I don't know if this issue is caused by the permissions.
VS Code version: Code 1.25.1 (1dfc5e557209371715f655691b1235b6b26a06be, 2018-07-11T15:40:20.190Z)
OS version: Linux x64 4.15.0-29-generic

System Info

Item
Value

CPUs
Intel(R) Core(TM) i7-5500U CPU @ 2.40GHz (4 x 2271)

GPU Status
2d_canvas: enabledflash_3d: enabledflash_stage3d: enabledflash_stage3d_baseline: enabledgpu_compositing: enabledmultiple_raster_threads: enabled_onnative_gpu_memory_buffers: disabled_softwarerasterization: disabled_softwarevideo_decode: unavailable_softwarevideo_encode: enabledvpx_decode: unavailable_softwarewebgl: enabledwebgl2: enabled

Load (avg)
2, 2, 1

Memory (System)
7.71GB (0.13GB free)

Process Argv
/usr/share/code/code --unity-launch

Screen Reader
no

VM
0%

Extensions (3)

Extension
Author (truncated)
Version

anaconda-extension-pack
ms-
1.0.0

python
ms-
2018.7.1

vscode-yaml
red
0.0.14

Pls provide more detailed steps of what you do and what happens. Thanks!

/needsMoreInfo

   Thanks for replying my issue. And I am very sorry to check your email in time.
  I installed the vscode while installing the Anaconda on Ubuntu. Then I wanted to install extensions in vscode and it failed. It showed installing all the time without stopping. I don't know whether enough information is given, because my English is so poor that I can't describe the installation process of vscode.

I found that it always shows as follows：
[2018-08-13 08:25:52.983] [sharedprocess] [info] Installing extension: vscode-markdownlint
[2018-08-13 08:25:52.987] [sharedprocess] [info] Scanned user extensions: 3
[2018-08-13 08:25:54.118] [sharedprocess] [info] Downloaded extension: vscode-markdownlint
[2018-08-13 08:26:26.015] [sharedprocess] [info] Starting to clean up unused language packs.
[2018-08-13 08:30:46.765] [sharedprocess] [info] Scanned user extensions: 3
[2018-08-13 08:35:46.781] [sharedprocess] [info] Scanned user extensions: 3
[2018-08-13 08:40:46.801] [sharedprocess] [info] Scanned user extensions: 3
[2018-08-13 08:45:46.967] [sharedprocess] [info] Scanned user extensions: 3
[2018-08-13 08:50:46.982] [sharedprocess] [info] Scanned user extensions: 3
[2018-08-13 08:55:46.997] [sharedprocess] [info] Scanned user extensions: 3
[2018-08-13 09:00:47.012] [sharedprocess] [info] Scanned user extensions: 3
[2018-08-13 09:05:47.028] [sharedprocess] [info] Scanned user extensions: 3
[2018-08-13 09:10:47.041] [sharedprocess] [info] Scanned user extensions: 3
[2018-08-13 09:15:47.057] [sharedprocess] [info] Scanned user extensions: 3
[2018-08-13 09:20:47.072] [sharedprocess] [info] Scanned user extensions: 3
[2018-08-13 09:25:47.086] [sharedprocess] [info] Scanned user extensions: 3

I reinstalled vscode after removing ~/.vscode. It worked!
I don't know why, maybe it is a wrong installation process of vscode for the first time. But it failed if I reinstall vscode after I uninstall it without removing ~/.vscode.
Whatever to say, I'm happy that it worked! And I like using vscode to do my development.


improve affine bounding box reference helper

Improvements for reference_affine_bounding_boxes_helper:

Pass a datapoints.BoundingBoxes directly rather than a torch.Tensor with explicit metadata
Automatic wrapping of the output into datapoints.BoundingBoxes
Support for expand=True, which is needed for the bounding box correctness tests of F.rotate and F.resize

cc @vfdev-5

After trying to use the new helper for F.crop I realized that having a canvas_size overwrite is indeed needed (same for F.pad). Thus, having expand was only sufficient for the correctness tests of F.rotate and F.resize. I've removed expand from the helper again, but kept the functionality for the correctness test for F.expand.
Thus, point 3. in https://github.com/pytorch/vision/pull/7884#issue-1866835837 now changes to

Add support for F.rotate bounding boxes correctness tests with expand=True

Point 1. and 2. are still valid.


Inherited Roles can be deleted

Version 2.1.3
What kind of request is this (question/bug/enhancement/feature request):
bug
Steps to reproduce (least amount of steps as possible):

Create a role (e.g. Developer)
Create a 2nd role (e.g. Lead Developer)
a. Setup Lead Developer to inherit from Developer
b. Apply Lead Developer to Projects
Delete Developer Role

Result:

System allows Developer to be deleted
Create an empty inherited Role in the Roles UI
Causes many errors to be thrown

Screenshot

** Log Snippet **
2018/11/25 10:22:50 [ERROR] NamespaceController cep [namespace-auth] failed with : couldn't get RoleTemplate rt-gw2lq: roleTemplate.management.cattle.io "rt-gw2lq" not found
2018/11/25 10:22:50 [ERROR] NamespaceController voice-nonprod [namespace-auth] failed with : couldn't get RoleTemplate rt-gw2lq: roleTemplate.management.cattle.io "rt-gw2lq" not found
2018/11/25 10:22:50 [ERROR] NamespaceController publishing-nonprod [namespace-auth] failed with : couldn't get RoleTemplate rt-gw2lq: roleTemplate.management.cattle.io "rt-gw2lq" not found
2018/11/25 10:22:50 [ERROR] NamespaceController voice-prod [namespace-auth] failed with : couldn't get RoleTemplate rt-gw2lq: roleTemplate.management.cattle.io "rt-gw2lq" not found
2018/11/25 10:22:50 [ERROR] NamespaceController cep-prod [namespace-auth] failed with : couldn't get RoleTemplate rt-gw2lq: roleTemplate.management.cattle.io "rt-gw2lq" not found
2018/11/25 10:22:50 [ERROR] NamespaceController publishing-prod [namespace-auth] failed with : couldn't get RoleTemplate rt-gw2lq: roleTemplate.management.cattle.io "rt-gw2lq" not found
2018/11/25 10:22:50 [ERROR] NamespaceController web-product-nonprod [namespace-auth] failed with : couldn't get RoleTemplate rt-gw2lq: roleTemplate.management.cattle.io "rt-gw2lq" not found
2018/11/25 10:22:50 [ERROR] NamespaceController web-product-prod [namespace-auth] failed with : couldn't get RoleTemplate rt-gw2lq: roleTemplate.management.cattle.io "rt-gw2lq" not found
2018/11/25 10:22:50 [ERROR] NamespaceController whiteboard-prod [namespace-auth] failed with : couldn't get RoleTemplate rt-gw2lq: roleTemplate.management.cattle.io "rt-gw2lq" not found
2018/11/25 10:22:50 [ERROR] NamespaceController whiteboard-nonprod [namespace-auth] failed with : couldn't get RoleTemplate rt-gw2lq: roleTemplate.management.cattle.io "rt-gw2lq" not found
2018/11/25 10:22:50 [ERROR] NamespaceController video-nonprod [namespace-auth] failed with : couldn't get RoleTemplate rt-gw2lq: roleTemplate.management.cattle.io "rt-gw2lq" not found
2018/11/25 10:22:50 [ERROR] NamespaceController video-prod [namespace-auth] failed with : couldn't get RoleTemplate rt-gw2lq: roleTemplate.management.cattle.io "rt-gw2lq" not found
2018/11/25 10:22:50 [ERROR] NamespaceController syndication-nonprod [namespace-auth] failed with : couldn't get RoleTemplate rt-gw2lq: roleTemplate.management.cattle.io "rt-gw2lq" not found
2018/11/25 10:22:50 [ERROR] NamespaceController syndication-prod [namespace-auth] failed with : couldn't get RoleTemplate rt-gw2lq: roleTemplate.management.cattle.io "rt-gw2lq" not found
2018/11/25 10:22:50 [ERROR] NamespaceController web-delivery-nonprod [namespace-auth] failed with : couldn't get RoleTemplate rt-gw2lq: roleTemplate.management.cattle.io "rt-gw2lq" not found
2018/11/25 10:22:50 [ERROR] NamespaceController cms3-dev [namespace-auth] failed with : couldn't get RoleTemplate rt-gw2lq: roleTemplate.management.cattle.io "rt-gw2lq" not found
2018/11/25 10:22:50 [ERROR] NamespaceController data-prod [namespace-auth] failed with : couldn't get RoleTemplate rt-gw2lq: roleTemplate.management.cattle.io "rt-gw2lq" not found
2018/11/25 10:22:50 [ERROR] NamespaceController data-nonprod [namespace-auth] failed with : couldn't get RoleTemplate rt-gw2lq: roleTemplate.management.cattle.io "rt-gw2lq" not found
2018/11/25 10:22:50 [ERROR] NamespaceController web-delivery-prod [namespace-auth] failed with : couldn't get RoleTemplate rt-gw2lq: roleTemplate.management.cattle.io "rt-gw2lq" not found
2018/11/25 10:23:16 [ERROR] RoleTemplateController rt-zr542 [cluster-roletemplate-sync] failed with : couldn't get RoleTemplate rt-gw2lq: roleTemplate.management.cattle.io "rt-gw2lq" not found
2018/11/25 10:23:16 [ERROR] ProjectRoleTemplateBindingController p-h9pmf/prtb-z25l4 [cluster-prtb-sync] failed with : couldn't get RoleTemplate rt-gw2lq: roleTemplate.management.cattle.io "rt-gw2lq" not found
2018/11/25 10:23:16 [ERROR] ProjectRoleTemplateBindingController p-crp87/prtb-45b26 [cluster-prtb-sync] failed with : couldn't get RoleTemplate rt-gw2lq: roleTemplate.management.cattle.io "rt-gw2lq" not found
2018/11/25 10:23:16 [ERROR] ProjectRoleTemplateBindingController p-n8jn8/prtb-kc74l [cluster-prtb-sync] failed with : couldn't get RoleTemplate rt-gw2lq: roleTemplate.management.cattle.io "rt-gw2lq" not found
2018/11/25 10:23:16 [ERROR] ProjectRoleTemplateBindingController p-hf6fp/prtb-5qgqp [cluster-prtb-sync] failed with : couldn't get RoleTemplate rt-gw2lq: roleTemplate.management.cattle.io "rt-gw2lq" not found
2018/11/25 10:23:16 [ERROR] ProjectRoleTemplateBindingController p-h9pmf/prtb-clnxx [cluster-prtb-sync] failed with : couldn't get RoleTemplate rt-gw2lq: roleTemplate.management.cattle.io "rt-gw2lq" not found
2018/11/25 10:23:16 [ERROR] ProjectRoleTemplateBindingController p-p28hs/prtb-w78qs [cluster-prtb-sync] failed with : couldn't get RoleTemplate rt-gw2lq: roleTemplate.management.cattle.io "rt-gw2lq" not found
2018/11/25 10:23:16 [ERROR] ProjectRoleTemplateBindingController p-77vpj/prtb-lpp8q [cluster-prtb-sync] failed with : couldn't get RoleTemplate rt-gw2lq: roleTemplate.management.cattle.io "rt-gw2lq" not found
2018/11/25 10:23:16 [ERROR] ProjectRoleTemplateBindingController p-h9pmf/prtb-s9mxq [cluster-prtb-sync] failed with : couldn't get RoleTemplate rt-gw2lq: roleTemplate.management.cattle.io "rt-gw2lq" not found
2018/11/25 10:23:16 [ERROR] ProjectRoleTemplateBindingController p-h9pmf/prtb-vb78b [cluster-prtb-sync] failed with : couldn't get RoleTemplate rt-gw2lq: roleTemplate.management.cattle.io "rt-gw2lq" not found
2018/11/25 10:23:16 [ERROR] ProjectRoleTemplateBindingController p-nxtpg/prtb-sm4nk [cluster-prtb-sync] failed with : couldn't get RoleTemplate rt-gw2lq: roleTemplate.management.cattle.io "rt-gw2lq" not found
2018/11/25 10:23:16 [ERROR] ProjectRoleTemplateBindingController p-h9pmf/prtb-7mqvs [cluster-prtb-sync] failed with : couldn't get RoleTemplate rt-gw2lq: roleTemplate.management.cattle.io "rt-gw2lq" not found
2018/11/25 10:23:16 [ERROR] ProjectRoleTemplateBindingController p-9s8ps/prtb-kc7zh [cluster-prtb-sync] failed with : couldn't get RoleTemplate rt-gw2lq: roleTemplate.management.cattle.io "rt-gw2lq" not found
2018/11/25 10:23:16 [ERROR] ProjectRoleTemplateBindingController p-9s8ps/prtb-rgv8d [cluster-prtb-sync] failed with : couldn't get RoleTemplate rt-gw2lq: roleTemplate.management.cattle.io "rt-gw2lq" not found
2018/11/25 10:23:21 [ERROR] ProjectRoleTemplateBindingController p-h9pmf/prtb-clnxx [cluster-prtb-sync] failed with : couldn't get RoleTemplate rt-gw2lq: roleTemplate.management.cattle.io "rt-gw2lq" not found
2018/11/25 10:23:21 [ERROR] ProjectRoleTemplateBindingController p-9s8ps/prtb-rgv8d [cluster-prtb-sync] failed with : couldn't get RoleTemplate rt-gw2lq: roleTemplate.management.cattle.io "rt-gw2lq" not found
2018/11/25 10:23:21 [ERROR] ProjectRoleTemplateBindingController p-crp87/prtb-45b26 [cluster-prtb-sync] failed with : couldn't get RoleTemplate rt-gw2lq: roleTemplate.management.cattle.io "rt-gw2lq" not found
2018/11/25 10:23:21 [ERROR] ProjectRoleTemplateBindingController p-p28hs/prtb-w78qs [cluster-prtb-sync] failed with : couldn't get RoleTemplate rt-gw2lq: roleTemplate.management.cattle.io "rt-gw2lq" not found
2018/11/25 10:23:21 [ERROR] ProjectRoleTemplateBindingController p-nxtpg/prtb-sm4nk [cluster-prtb-sync] failed with : couldn't get RoleTemplate rt-gw2lq: roleTemplate.management.cattle.io "rt-gw2lq" not found
2018/11/25 10:23:21 [ERROR] ProjectRoleTemplateBindingController p-77vpj/prtb-lpp8q [cluster-prtb-sync] failed with : couldn't get RoleTemplate rt-gw2lq: roleTemplate.management.cattle.io "rt-gw2lq" not found
2018/11/25 10:23:21 [ERROR] ProjectRoleTemplateBindingController p-h9pmf/prtb-s9mxq [cluster-prtb-sync] failed with : couldn't get RoleTemplate rt-gw2lq: roleTemplate.management.cattle.io "rt-gw2lq" not found
2018/11/25 10:23:21 [ERROR] ProjectRoleTemplateBindingController p-hf6fp/prtb-5qgqp [cluster-prtb-sync] failed with : couldn't get RoleTemplate rt-gw2lq: roleTemplate.management.cattle.io "rt-gw2lq" not found
2018/11/25 10:23:21 [ERROR] ProjectRoleTemplateBindingController p-n8jn8/prtb-kc74l [cluster-prtb-sync] failed with : couldn't get RoleTemplate rt-gw2lq: roleTemplate.management.cattle.io "rt-gw2lq" not found
2018/11/25 10:23:21 [ERROR] ProjectRoleTemplateBindingController p-h9pmf/prtb-7mqvs [cluster-prtb-sync] failed with : couldn't get RoleTemplate rt-gw2lq: roleTemplate.management.cattle.io "rt-gw2lq" not found
2018/11/25 10:23:21 [ERROR] ProjectRoleTemplateBindingController p-h9pmf/prtb-vb78b [cluster-prtb-sync] failed with : couldn't get RoleTemplate rt-gw2lq: roleTemplate.management.cattle.io "rt-gw2lq" not found
2018/11/25 10:23:21 [ERROR] ProjectRoleTemplateBindingController p-9s8ps/prtb-kc7zh [cluster-prtb-sync] failed with : couldn't get RoleTemplate rt-gw2lq: roleTemplate.management.cattle.io "rt-gw2lq" not found
2018/11/25 10:23:21 [ERROR] ProjectRoleTemplateBindingController p-h9pmf/prtb-z25l4 [cluster-prtb-sync] failed with : couldn't get RoleTemplate rt-gw2lq: roleTemplate.management.cattle.io "rt-gw2lq" not found
2018/11/25 10:23:42 [ERROR] NamespaceController whiteboard-prod [namespace-auth] failed with : couldn't get RoleTemplate rt-gw2lq: roleTemplate.management.cattle.io "rt-gw2lq" not found
2018/11/25 10:23:42 [ERROR] NamespaceController syndication-prod [namespace-auth] failed with : couldn't get RoleTemplate rt-gw2lq: roleTemplate.management.cattle.io "rt-gw2lq" not found
2018/11/25 10:23:42 [ERROR] NamespaceController video-prod [namespace-auth] failed with : couldn't get RoleTemplate rt-gw2lq: roleTemplate.management.cattle.io "rt-gw2lq" not found
2018/11/25 10:23:42 [ERROR] NamespaceController whiteboard-nonprod [namespace-auth] failed with : couldn't get RoleTemplate rt-gw2lq: roleTemplate.management.cattle.io "rt-gw2lq" not found
2018/11/25 10:23:42 [ERROR] NamespaceController web-product-prod [namespace-auth] failed with : couldn't get RoleTemplate rt-gw2lq: roleTemplate.management.cattle.io "rt-gw2lq" not found
2018/11/25 10:23:42 [ERROR] NamespaceController cep [namespace-auth] failed with : couldn't get RoleTemplate rt-gw2lq: roleTemplate.management.cattle.io "rt-gw2lq" not found
2018/11/25 10:23:42 [ERROR] NamespaceController publishing-nonprod [namespace-auth] failed with : couldn't get RoleTemplate rt-gw2lq: roleTemplate.management.cattle.io "rt-gw2lq" not found
2018/11/25 10:23:42 [ERROR] NamespaceController voice-nonprod [namespace-auth] failed with : couldn't get RoleTemplate rt-gw2lq: roleTemplate.management.cattle.io "rt-gw2lq" not found
2018/11/25 10:23:42 [ERROR] NamespaceController syndication-nonprod [namespace-auth] failed with : couldn't get RoleTemplate rt-gw2lq: roleTemplate.management.cattle.io "rt-gw2lq" not found
2018/11/25 10:23:42 [ERROR] NamespaceController video-nonprod [namespace-auth] failed with : couldn't get RoleTemplate rt-gw2lq: roleTemplate.management.cattle.io "rt-gw2lq" not found
2018/11/25 10:23:42 [ERROR] NamespaceController web-delivery-prod [namespace-auth] failed with : couldn't get RoleTemplate rt-gw2lq: roleTemplate.management.cattle.io "rt-gw2lq" not found
2018/11/25 10:23:42 [ERROR] NamespaceController voice-prod [namespace-auth] failed with : couldn't get RoleTemplate rt-gw2lq: roleTemplate.management.cattle.io "rt-gw2lq" not found
2018/11/25 10:23:42 [ERROR] NamespaceController web-product-nonprod [namespace-auth] failed with : couldn't get RoleTemplate rt-gw2lq: roleTemplate.management.cattle.io "rt-gw2lq" not found
2018/11/25 10:23:42 [ERROR] NamespaceController cep-prod [namespace-auth] failed with : couldn't get RoleTemplate rt-gw2lq: roleTemplate.management.cattle.io "rt-gw2lq" not found
2018/11/25 10:23:42 [ERROR] NamespaceController publishing-prod [namespace-auth] failed with : couldn't get RoleTemplate rt-gw2lq: roleTemplate.management.cattle.io "rt-gw2lq" not found
2018/11/25 10:23:42 [ERROR] NamespaceController web-delivery-nonprod [namespace-auth] failed with : couldn't get RoleTemplate rt-gw2lq: roleTemplate.management.cattle.io "rt-gw2lq" not found
2018/11/25 10:23:47 [ERROR] NamespaceController cms3-dev [namespace-auth] failed with : couldn't get RoleTemplate rt-gw2lq: roleTemplate.management.cattle.io "rt-gw2lq" not found
2018/11/25 10:23:47 [ERROR] NamespaceController data-prod [namespace-auth] failed with : couldn't get RoleTemplate rt-gw2lq: roleTemplate.management.cattle.io "rt-gw2lq" not found
2018/11/25 10:23:47 [ERROR] NamespaceController data-nonprod [namespace-auth] failed with : couldn't get RoleTemplate rt-gw2lq: roleTemplate.management.cattle.io "rt-gw2lq" not found
2018/11/25 10:32:52 [ERROR] NamespaceController web-product-prod [namespace-auth] failed with : couldn't get RoleTemplate rt-gw2lq: roleTemplate.management.cattle.io "rt-gw2lq" not found
2018/11/25 10:32:52 [ERROR] NamespaceController video-prod [namespace-auth] failed with : couldn't get RoleTemplate rt-gw2lq: roleTemplate.management.cattle.io "rt-gw2lq" not found
2018/11/25 10:32:52 [ERROR] NamespaceController voice-nonprod [namespace-auth] failed with : couldn't get RoleTemplate rt-gw2lq: roleTemplate.management.cattle.io "rt-gw2lq" not found
2018/11/25 10:32:52 [ERROR] NamespaceController publishing-nonprod [namespace-auth] failed with : couldn't get RoleTemplate rt-gw2lq: roleTemplate.management.cattle.io "rt-gw2lq" not found
2018/11/25 10:32:52 [ERROR] NamespaceController video-nonprod [namespace-auth] failed with : couldn't get RoleTemplate rt-gw2lq: roleTemplate.management.cattle.io "rt-gw2lq" not found
2018/11/25 10:32:52 [ERROR] NamespaceController web-product-nonprod [namespace-auth] failed with : couldn't get RoleTemplate rt-gw2lq: roleTemplate.management.cattle.io "rt-gw2lq" not found
2018/11/25 10:32:52 [ERROR] NamespaceController publishing-prod [namespace-auth] failed with : couldn't get RoleTemplate rt-gw2lq: roleTemplate.management.cattle.io "rt-gw2lq" not found
2018/11/25 10:32:52 [ERROR] NamespaceController voice-prod [namespace-auth] failed with : couldn't get RoleTemplate rt-gw2lq: roleTemplate.management.cattle.io "rt-gw2lq" not found
2018/11/25 10:32:52 [ERROR] NamespaceController data-nonprod [namespace-auth] failed with : couldn't get RoleTemplate rt-gw2lq: roleTemplate.management.cattle.io "rt-gw2lq" not found
2018/11/25 10:32:52 [ERROR] NamespaceController web-delivery-nonprod [namespace-auth] failed with : couldn't get RoleTemplate rt-gw2lq: roleTemplate.management.cattle.io "rt-gw2lq" not found
2018/11/25 10:32:52 [ERROR] NamespaceController cms3-dev [namespace-auth] failed with : couldn't get RoleTemplate rt-gw2lq: roleTemplate.management.cattle.io "rt-gw2lq" not found
2018/11/25 10:32:52 [ERROR] NamespaceController syndication-nonprod [namespace-auth] failed with : couldn't get RoleTemplate rt-gw2lq: roleTemplate.management.cattle.io "rt-gw2lq" not found
2018/11/25 10:32:52 [ERROR] NamespaceController whiteboard-nonprod [namespace-auth] failed with : couldn't get RoleTemplate rt-gw2lq: roleTemplate.management.cattle.io "rt-gw2lq" not found
2018/11/25 10:32:52 [ERROR] NamespaceController cep [namespace-auth] failed with : couldn't get RoleTemplate rt-gw2lq: roleTemplate.management.cattle.io "rt-gw2lq" not found
2018/11/25 10:32:52 [ERROR] NamespaceController web-delivery-prod [namespace-auth] failed with : couldn't get RoleTemplate rt-gw2lq: roleTemplate.management.cattle.io "rt-gw2lq" not found
2018/11/25 10:32:52 [ERROR] NamespaceController syndication-prod [namespace-auth] failed with : couldn't get RoleTemplate rt-gw2lq: roleTemplate.management.cattle.io "rt-gw2lq" not found
2018/11/25 10:32:52 [ERROR] NamespaceController cep-prod [namespace-auth] failed with : couldn't get RoleTemplate rt-gw2lq: roleTemplate.management.cattle.io "rt-gw2lq" not found
2018/11/25 10:32:52 [ERROR] NamespaceController whiteboard-prod [namespace-auth] failed with : couldn't get RoleTemplate rt-gw2lq: roleTemplate.management.cattle.io "rt-gw2lq" not found
2018/11/25 10:32:52 [ERROR] NamespaceController data-prod [namespace-auth] failed with : couldn't get RoleTemplate rt-gw2lq: roleTemplate.management.cattle.io "rt-gw2lq" not found

@n313893254 this should not have been fixed in just the UI. it should have been fixed in the API as well. Can you open a new issue for fixing this in the api.

cc @loganhz ^

sure


requiring videojs with requirejs

I had a similar issue as stated in videojs/videojs-youtube#373. Vimeo.js cannot find the file video.js, and setting the path for "video.js" in my RequireJS config file does not make sense. The solution of that issue in videojs-youtube helps to solve this problem.

This should be fixed in master now due to our usage of browserify to generate the UMD build.


[docs] Add documents for Aliyun OSS offload

Fixes #8887
Motivation
Add Aliyun OSS offload document.
Modifications
add document

@yufan022 will this apply to 2.7.1?

@yufan022 will this apply to 2.7.1?

No, 2.8.0 or later

@yufan022 could you please check the comments and update the doc if necessary? Thanks

@yufan022 any progress?

@yufan022 could you please check the comments and update the doc if necessary? Thanks

@yufan022 could you please check the comments and update the doc if necessary? Thanks

Sorry for the late, I will finish the work.

@yufan022 Thank you very much for your contribution.
I notice that there are some comments that haven't dealt with. Will you incorporate those comments later or will you allow us to edit directly in this md file? Which method do you prefer?

Both are fine, You can edit it directly.

@Anonymitaet @Jennifer88huang @Huanli-Meng PTAL.
Apologize again for my delay.

@yufan022 thanks for your feedback. Left one minor suggestion.


refactor: changed config file structure to be logically grouped

Coverage remained the same at 100.0% when pulling cce4f067ccf0d9aba8da06e5dd4027e0b9910d94 on refactored-config-file into 8873d3f6edefb5e911436991f51a8227a2f1be7e on master.


Sample app Crash when talk

log see pic
when libc error sampleapp crash.
run sample app in android device.

Hi @techistoner thanks for posting.
Can you post the full logs for this issue and also add the information about sdk version, platform, os that was mentioned in the new issue preview?

I am closing this issue due to inactivity. Please feel free to re-open it if it has been closed in error.


azure-mixedreality-remoterendering needs typing updates for mypy version 1.4.1

ACTION NEEDED: This version of mypy will be merged on 2023-10-16. The build will begin to fail for this library if errors are not fixed.
Library name: azure-mixedreality-remoterendering
Mypy version: 1.4.1
Mypy errors: Link to build (2023-09-03)
How to fix: Run the next-mypy tox command at the library package-level and resolve the typing errors.

../azure-mixedreality-remoterendering>pip install "tox<5"
../azure-mixedreality-remoterendering>tox run -e next-mypy -c ../../../eng/tox/tox.ini --root .

See the Typing Guide for more information.

Closing, this library is passing next-mypy: https://dev.azure.com/azure-sdk/internal/_build/results?buildId=3147343&view=logs&j=e5b925a9-9650-5321-24fd-5d9499fe02b8&t=59f5c573-b3ce-57f7-6a79-55fe2db3a175


Add social media metrics detected from readme

Description
This PR adds simple social media metrics by looking at the content of a repo's readme (if available).
Thanks for any feedback you may have!
Closes #155
What is the nature of your change?

[ ] Content additions or updates (adds or updates content)
[ ] Bug fix (fixes an issue).
[x] Enhancement (adds functionality).
[ ] Breaking change (these changes would cause existing functionality to not work as expected).

Checklist
Please ensure that all boxes are checked before indicating that this pull request is ready for review.

[x] I have read the CONTRIBUTING.md guidelines.
[x] My code follows the style guidelines of this project.
[x] I have performed a self-review of my own contributions.
[x] I have commented my content, particularly in hard-to-understand areas.
[x] I have made corresponding changes to related documentation (outside of book content).
[x] My changes generate no new warnings.
[x] New and existing tests pass locally with my changes.
[x] I have added tests that prove my additions are effective or that my feature works.
[x] I have deleted all non-relevant text in this pull request template.

Thanks @falquaddoomi! Made a change and also increased the backoff for api requests to avoid errors. Merging this in now.


Add option to specify surrounding element for error, default is .form-group

I've got an input form using form-horizontal. The fields line up nicely, however there rows can contain 2 or more inputs, such as First Name, Last Name. I know the suggestion of wrapping them in their own .form-groups then an encompassing .form-group has been suggested, however that really alters the styling.
Adding an option to specify an "input_group" class alleviates the need to nest form-groups and the inherent styling issue it causes. I modified validator.js to have the following DEFAULT options:
  Validator.DEFAULTS = {
    delay: 500,
    html: false,
    disable: true,
    custom: {},
    errors: {
      match: 'Does not match',
      minlength: 'Not long enough'
    },
    input_group: '.form-input-group'
  }

Then modified:
  Validator.prototype.showErrors = function ($el) {
    var input_group = this.options.input_group;
    var method = this.options.html ? 'html' : 'text'
    this.defer($el, function () {
      var $group = $el.closest(input_group)

and
  Validator.prototype.clearErrors = function ($el) {
    var input_group = this.options.input_group;
    var $group = $el.closest(input_group)

I'd like the default to be .form-group so the current default behavior remains, however my initialization code does not get applied so I've made my test the default above:
    $('#use_data').validator({disable: false,
                              input_group: '.form-input-group'});

I may add support for a .validator-form-group class alternative for situations like this, but I won't be adding an option to the plugin for this.

A custom class would definitely be better.


Use Google analytics.js

Migrate to analytics.js and enable userId tracking.

Closing in favor of PR #2297 which includes rebased commits of this PR.


fix regex matching eachz ... with ... to avoid matching it in an asse…

Thanks for contributing!
Please check if the PR fulfills these requirements 👌:

[X] Confirm the PR related to a dedicated issue
[X] Confirm your PR corrects a single bug or implements a single feature
[X] Your code is linted locally prior to submission
[X] Your code is fully tested: 99% to 100% coverage
[X] Everything is correct on Sonar dashboard
[X] Confirm your code is under Apache 2.0 license
[X] Confirm your documentation is under CC-BY-4.0 license
[X] Confirm license and copyright content is created/updated in each file (see CONTRIBUTING.md)
[X] Confirm changelog.adoc is updated
[X] If corrects vulnerabilities, confirm changelog.adoc contains CVE IDs

Also remember: each commit MUST contain a sign off message (see CONTRIBUTING.md) 🙄
Indicate related issue:
issue #116
Explain what is done, scope, limitations etc.
avoid matching the with keyword of eachz in the content of the assembly itself
Does this PR introduce a breaking change? 😁
you can't no longer have " with " in a string directly in the list of an eachz...

@MathiasWinckel thanks!


[spike] Research technical aspects of displaying compliance data with the eRegs UI

In order for us to figure out how best to demo displaying compliance data with the eRegs UI (static site? live site? can we stuff real data into it?), we should research the technical aspects of how eRegs works and how we might get compliance data into it (such as Compliance Masonry YAML + NIST control info XML).
Specific goals:

Get a broad-overview understanding of eRegs architecture/components
Learn how to stand up an eRegs instance
Outline a concept of how we'd get compliance data into eRegs format

Acceptance criteria:

[ ] We've written down a brief summary of what we've learned: an outline of technical considerations for displaying compliance data with the eRegs UI.

We've set up a brief meeting tomorrow with eRegs folks to learn from them - notes/agenda doc here.


Support autocorrect for Style/CaseEquality cop

@fatkodima Since rubocop 0.88 is released, you should update VersionChanged & move changelog under master.

Updated.


K.I.S.S. for Powershell installs

Why is finding the download for powershell so difficult?  I literally had to click through 20 pages to finally get to the download.  Please keep this simple for end users.  I should not have to wade through GitHub to find a download of powershell.

There's a, in my opinion, pretty simple matrix on the front page with direct downloads. Are you by chance being linked here from the Microsoft Docs?
Because I see their documentation does link directly to the releases page.

I just use the Install-PowerShell script on GItHub:
On Windows just do this:
# Download PowerShell 7 installation script
Set-Location C:\Foo
$URI = "https://aka.ms/install-powershell.ps1"
Invoke-RestMethod -Uri $URI |
  Out-File -FilePath C:\Foo\Install-PowerShell.ps1
c:\foo\install-powerShell.ps1 -useMSI -Quiet

@kennetherland Do you have a more specific suggestion?

I think he wants to list the one-click download and installation script on the homepage.
E.g
bash <(curl -s -L https://raw.../install.sh)
...
or
yum install xxx
...


Unable to import the Python Scientific module required by FIAT

Would you please help in getting rid of this error!!
$ python 2ndorder_linear.py
Traceback (most recent call last):
 File "2ndorder_linear.py", line 1, in <module>
 from dolfin import *
 File "/home/sohail/learning/FEM/FEniCS/lib/python2.7/site-packages/dolfin/__init__.py", line 4, in <module>
import dolfin.importhandler
File "/home/sohail/learning/FEM/FEniCS/lib/python2.7/site-packages/dolfin/importhandler/__init__.py", line 39, in <module>
__import__(dep)
 File "/home/sohail/learning/FEM/FEniCS/lib/python2.7/site-packages/ffc/__init__.py", line 18, in <module>
from ffc.compiler import compile_form, compile_element
File "/home/sohail/learning/FEM/FEniCS/lib/python2.7/site-packages/ffc/compiler.py", line 127, in <module>
from ffc.analysis import analyze_forms, analyze_elements
File "/home/sohail/learning/FEM/FEniCS/lib/python2.7/site-packages/ffc/analysis.py", line 42, in <module>
from ffc.quadratureelement import default_quadrature_degree
File "/home/sohail/learning/FEM/FEniCS/lib/python2.7/site-packages/ffc/quadratureelement.py", line 27, in <module>
from FIAT.functional import PointEvaluation
File "/home/sohail/learning/FEM/FEniCS/lib/python2.7/site-packages/FIAT/__init__.py", line 11, in <module>
from FIAT.finite_element import FiniteElement
File "/home/sohail/learning/FEM/FEniCS/lib/python2.7/site-packages/FIAT/finite_element.py", line 19, in <module>
from .polynomial_set import PolynomialSet
File "/home/sohail/learning/FEM/FEniCS/lib/python2.7/site-packages/FIAT/polynomial_set.py", line 29, in <module>
from . import expansions
File "/home/sohail/learning/FEM/FEniCS/lib/python2.7/site-packages/FIAT/expansions.py", line 34, in <module>
""")
Exception: Unable to import the Python Scientific module required by FIAT.
Consider installing the package python-scientific.

Hello @sakhan007, would you please paste here the result of
>>> import Scientific

and, if it fails, conda list?

Here it is: http://pastebin.com/bqKZcC4G
As you can see at the end,  scientificpython is already among the conda packages.

Hey Juanlu001, thanks for looking into it.
I just have another look at my first post and found this:
File /home/sohail/learning/FEM/FEniCS/lib/python2.7/site-packages/dolfin/__init__.py

and this left me wondering, why this location is being used. I had a clone of fenics in /home/sohail/learning/FEM/ and this is forcing python to go there instead of /anaconda/.
Once the fenics clone is moved out, I can run my programs.

Oh, the problem was fixed then? :grin:
Probably there's something in your PATH variable (try
$ echo $PATH

to check). Next time you can try using a conda environment, to isolate everything except what you want.
Closing!

This is my point!!!!
I was using conda environment as you can see in my pasted link, but python went for a clone instead of the environment. Not sure, but it appears python start its search from *.py backwards, instead of from location ofwhich python.
Anyways thanks!!

Sorry, didn't look at the log until now. You mistyped Scientific and wrote Scientfic instead, by the way.
Python starts its search using an environment variable called PYTHONPATH, and if someone manually prepended a path to that variable it will be used first. You can check in Bash (outside Python) typing:
(fenics27)sohail@sohail-Inspiron-620:~$ echo $PYTHONPATH

You are right, fenics.conf was being executed from the clone in .bashrc.
Apologies.

 I am glad I could help :smile:


Fix for origin issue #41

"Readme doesn't reflect actual structure of Pushbullet.get_pushes() return value"

Coverage remained the same at 56.89% when pulling baa039587afeb28d8711a0f8435100b627c266d0 on kovacsbalu:fix-get_pushes_return_value into e09b3139eecd6aeca0c6acf48035ca3ffa96f87d on randomchars:master.


This is not a big with Solder. Go complain to the owner of that Solder repo.

This is not a big with Solder. Go complain to the owner of that Solder repo.
Originally posted by @Pyker in https://github.com/TechnicPack/TechnicSolder/issues/667#issuecomment-517915118
But how

but how? im new

Leave them a message over at their modpack Platform page.


Option to choose indent mode in comments editor

Now that suggestions are a thing in reviews, it would be great if I could use tabs when making review comments the same way I can use them in GitHub's editor - GitHub's editor inserts 2, 4 or 8 spaces instead of a tab when "Spaces" indent mode is chosen:

Example URL:
https://github.com/sindresorhus/refined-github/pull/2896/files

No because while editors might provide some help treating each indentation as a single piece, textareas don't offer that, so using 4 spaces requires you to press left 4 times instead of once, for example.

https://github.com/fregante/indent-textarea/issues/8#issuecomment-520009734


Feature/moo

Currently, the variable moo calculation for dispatchable.csv is not called in pre_procesing_moo.py (line 131). Somehow the scenario is not called.

#TODO post processing:
Capacity exisiting; Capacity added, Capacity Total
Necessary KPIs:

GHG emissions
Total upfront Investment
Total OPEX
Total System Cost
Land Requirement Total
Land Requirement Additional
Total Water Footprint
Total Water Production
Total Brine Production
Total Electricity Production

#TODO Testing of MOO. Do results make sense?

Currently, the variable moo calculation for dispatchable.csv is not called in pre_procesing_moo.py (line 131). Somehow the scenario is not called.

This is because "dispatchable moo variable calculation"  is not the same as ""dispatchable moo indicator calculation""

@JulianBarinton - I have merged #32 into this branch as I want to avoid as much as possible merge conflicts (fortunately there was only one in compute.py with the scenarios names). The idea is that if something is not working on your side then we can quickly come back to before the merge


[yurt tunnel]welcome add unit testcases for yurt-tunnel components.

What would you like to be added:
To add unit test cases for yurt-tunnel is a good way to understand specified components.
welcome to add test case for any small or big functions.
Why is this needed:
improve the reliability of yurt-tunnel.
others
/kind feature

I am studying the yurt tunnel source code. I will write some test cases.

@YRXING Very appreciate for your positivity. If you have any questions, we can discuss here or at the slack.

/assign @YRXING


Icon related view-model changes. Take 2

Progress on https://github.com/NuGet/Engineering/issues/2599.
After trying to apply previous changes to Icon branch, I realized that it would be better to have an actual class that produces view models. That would allow to pass services it uses as constructor arguments, simplifying actual Create (or Setup) calls.
One day, we can have it in DI (and we'd have to shuffle around the Unit tests as a result), but that would be quite a massive change by itself.

My only concern with this is that the view model helpers are perhaps a bit too granular. The number of dependencies on PackagesController will go up by, what, 6 when we DI them?

@joelverhagen - I think that's primarily a consequence of PackagesController (and most of our other controllers).

@joelverhagen cramming all of them into a single class will help mostly in PackagesController, but will cause oversubscription to services by that single class (it would have to depend on the union of all dependencies individual Create methods it would contain), which would make unit testing a bit painful. Right now it's not an issue, but eventually might become. At the very least I want to move the following code: https://github.com/NuGet/NuGetGallery/blob/b775690ecbfa1f8b523f45aa3996fad67c54b0c2/src/NuGetGallery/Controllers/PackagesController.cs#L766-L832
into DisplayPackageViewModelHelper, and that pulls bunch services needed only for that view-model setup.


To return or not to return Dataset/DataArray during validate

Before the major reorg validate returned a DataArray or Dataset but now it doesn't. Was that intentional @jhamman ? Or should we add back in the return? I personally like the idea of not returning it - I think it makes the focus on whether or not it raises the error compared to passing around the object with unnecessary variable assignments - but want to make sure it's intentional before we update codebases elsewhere. @norlandrhagen

Yes, this was intentional. Pandera includes a bunch of options for coercing data into compliance with the schema but I think that should be out of scope here (at least for now). So during the refactor, I opted to forgo the return during validate in hopes of clarifying the intention of the validate method.


Add Kaplan-Meier Estimator for survival curves

Useful for initializing predicted age at death.
Fixes #43 and #41
Should be reviewed after #64 and #71 are merged to cut down on apparent changes.

Would it make sense to add an optional ctor which takes a file/path such that the csv load and read is done for you?

  File "/home/jbloedow/PLAY/LASER/laser-chris-nnmm/src/laser_core/demographics/kmestimator.py", line 44, in predict_year_of_death
    year_of_death = _pyod(ages_years, self.cumulative_deaths, max_year)
  File "/var/opt/idm/venv_laser/lib/python3.10/site-packages/numba/core/dispatcher.py", line 658, in _explain_matching_error
    raise TypeError(msg)
TypeError: No matching definition for argument type(s) array(float64, 1d, C), array(float64, 1d, C), uint32

from
# Ages of individuals in years (example data)
ages_years = np.array([40, 50, 60], dtype=np.float64)  # Ensure ages_years is float64

# Convert max_year to uint32
max_year = np.uint32(100)

# Predict the year of death for individuals
predicted_year_of_death = estimator.predict_year_of_death(ages_years, max_year=max_year)

Can the code be more robust to the datatypes it's given?

Would it make sense to add an optional ctor which takes a file/path such that the csv load and read is done for you?

The current CSV function is so specific to a particular format that I don't want to tie it to the KME ctor.

Predicted Year of Death for 1M individuals took: 0.008349895477294922 seconds
Predicted Age at Death (in days) for 1M individuals took: 0.018344402313232422 seconds

Which seems good.

Would it make sense to add an optional ctor which takes a file/path such that the csv load and read is done for you?

The current CSV function is so specific to a particular format that I don't want to tie it to the KME ctor.

It's a two-column csv where the first column is age in years and second column is cumulative deaths. I even asked GPT for the least surprising csv fileformat for an input file to this class and this was is, with header-line optional. I think it should have built-in support for reading in a file like this. :)

Would it make sense to add an optional ctor which takes a file/path such that the csv load and read is done for you?

The current CSV function is so specific to a particular format that I don't want to tie it to the KME ctor.

It's a two-column csv where the first column is age in years and second column is cumulative deaths. I even asked GPT for the least surprising csv fileformat for an input file to this class and this was is, with header-line optional. I think it should have built-in support for reading in a file like this. :)

Apologies, I was thinking about the population pyramid CSV with header, min-max, and final bucket particulars. Yes, we can have an optional parameter for a CSV filename/path.

Would it make sense to add an optional ctor which takes a file/path such that the csv load and read is done for you?

The current CSV function is so specific to a particular format that I don't want to tie it to the KME ctor.

It's a two-column csv where the first column is age in years and second column is cumulative deaths. I even asked GPT for the least surprising csv fileformat for an input file to this class and this was is, with header-line optional. I think it should have built-in support for reading in a file like this. :)

Apologies, I was thinking about the population pyramid CSV with header, min-max, and final bucket particulars. Yes, we can have an optional parameter for a CSV filename/path.

You're making me want to go back and push for a truly built-in load-from-file in the AliasedDistribution/pyramid code. :) We've already got the load_ function provided as a utility so seems like not too much of a stretch to use that implicitly if the file provided matches. We could modify the fileformat to be a bit more standard if we don't like the hyphen separators for age ranges.

Re. population pyramid file format, how about this regularized schema:
AgeMin,AgeMax,Males,Females
min0,max0,males0,females0
min1,max1,males1,females1
...
minN,maxN,malesN,femalesN

Actual header text, probably not important, I would support a hasheader argument which could be False to indicate a "naked" CSV.
Each bin would be [min,max] - closed interval, i.e., max is a valid year/age for someone in that bin.
Would we enforce maxN==minN?
Do you want to open another issue/ticket for supporting this (since it isn't germane to the Kaplan-Meier Estimator)?

Thanks for accommodating my obsession with input files! :) Just trying one more thing and then will sign off on this.

Good enough for me.


refactor pipeline threads to experiment with parallel write/read pattern

We might not really need threads in pipelines if we first write to all the sockets for each node, sending the commands and wait to read the responses until all the writes have been sent first. This isn't perfect non-blocking i/o in the sense that you wouldn't be reading partial responses in parallel from the sockets, but in our case it may be good enough and in most cases might be even more performant than running a bunch of parallel threads, especially when the pipeline request maps to many many different nodes. Worth doing a prototype and building some performance benchmark comparisons.

Closing because of merged PR


openmm=7.5.1 is no longer available from conda-forge.

I cannot get the Alphafold module to work, as openmm v.7.5.1 is no longer available from conda-forge. Later versions of openmm do not have the version method, causing gget to crash using later versions.

In collab this is also a problem, additionally there's no conda in collab

Hi, thank you for bringing this issue to my attention! I inherited the annoying requirement for this specific openmm version directly from alphafold. I believe they are working on updating their code to the latest openmm version. In the meantime, please install openmm using command conda install -qy conda==4.13.0 && conda install -qy -c conda-forge openmm=7.5.1 . For Colab, see this notebook.


test timed out after xxxx milliseconds

There is probably something wrong with my local config, but I'm getting a lot of errors like this when running the tests:
java.lang.Exception: test timed out after 20000 milliseconds
	at java.net.InetAddress.getLocalHost(InetAddress.java:1456)
	at com.github.zk1931.jzab.TestBase.getHostPort(TestBase.java:98)
	at com.github.zk1931.jzab.TestBase.getUniqueHostPort(TestBase.java:109)
	at com.github.zk1931.jzab.SnapshotTest.testSnapshotCluster(SnapshotTest.java:185)

Any idea of what could be wrong with my local address? This is happening on mac os, but I'll check on linux as well.

@fpj,  I haven't seen this  before, could you open the log file at target/surefire-reports/com.github.zk1931.jzab.$TEST_NAME-out.txt and see if there's any clue?


Cron ignores cron expression schedule

I am creating a cron job lambda function with a non-trivial schedule. When I deploy the function it creates the stack successfully. However it is running every minute instead of following the schedule. When I reviewed the CloudFormation stack's created resources the cron schedule for the event rule was '* * * * ? *' instead of the schedule I defined in code.
I was able to workaround for now by manually editing the the cron expression to '0/30 11-2 * * ? *' in the AWS console which showed the expected times of execution and saved successfully. This looks like a bug in either sst or possibly CDK.
Here is the stack code:
// ./stack/CronStack.ts:
import * as cdk from '@aws-cdk/core'
import * as sst from '@serverless-stack/resources'

export class CronStack extends sst.Stack {
  constructor(scope: sst.App, id: string, props?: sst.StackProps) {
    super(scope, id, props)
    new sst.Cron(this, 'ScheduleSomeFunction', {

// This gets turned into 'cron(* * * * ? *)' in deployed event rule:
      schedule: '0/30 11-2 * * ? *',

      job: new sst.Function(stack, 'SomeFunction', {
        handler: 'src/someFunction.handler',
        timeout: cdk.Duration.seconds(29),
      }),
    })
  }
}

// ./stack/index.ts
import { CronStack } from './CronStack'
import * as sst from '@serverless-stack/resources'

export default function main(app: sst.App): void {
  app.setDefaultFunctionProps({
    runtime: 'nodejs14.x',
  })

  new CronStack(app, 'assistant-stack')
}

Have you tried with AWS CDK V2?

Have you tried with AWS CDK V2?

If you mean if I've tried using CDK directly rather than SST for this project, then no. I created a new project with SST last week then deployed it. My project is a pair of simple cron job lambdas that execute code I was previously running locally.
I partially posted this to inform anyone else who runs across this of the issue and the workaround in case others are using SST for non-trivial cron jobs. My deployment worked and my functions were running with no obvious problems; only the non-obvious problem of running every minute instead of when I needed them to, which would have caused much higher charges against APIs those lambdas call than I'd be expecting.

Hey @meticoeus, the cron expression needs to be wrapped inside cron(), give this a try:
schedule: "cron(0/30 11-2 * * ? *)",

Read more about it here https://docs.serverless-stack.com/cron-jobs#cron-expressions


Added a new tool (plus a random other edit that fixes a tiny thing)

Hello, I added a new tool to this depressing suite of Py tools. Anyways, the new tool I added is a random number generator. The user can enter the first number (minimum of the range) and then enter another number (the maximum of the range), and it will generate a random number in those parameters. Pretty simple. However, there is a little bug that I would appreciate if you could fix (I have no idea how to fix it), where basically you have to enter y or n three times for the program to recognize it when you want to restart the random number process. Anyways, I also edited some text in one of the other programs because it was inconcise.

Thanks, I'll change the number generator since if you do a capital then it will count as invalid for the y/n part. Might also change it so it can accept alternatives (yes, Yes, y, Y) for yes and (no, No, n, N) as no.

Thanks, I'll change the number generator since if you do a capital then it will count as invalid for the y/n part. Might also change it so it can accept alternatives (yes, Yes, y, Y) for yes and (no, No, n, N) as no.

Got it. Good idea.


Add stream merge function

This allows us to merge multiple streams of the same name into one stream. This is useful in many cases where streams from multiple sources need to be combined.
For example, to combine the stdout and stderr streams of a process, we could do this:
let myProcess = yield exec('./my-program');
let output = Stream.merge([myProcess.stdout, myProcess.stderr]);

what about stream.merge() as in myProcess.stderr.merge(myProcess.stdout).forEach()
Also, is there the requirement that they all be of the same type? seems to me that merging Stream<A> and Stream<B> would result in Stream<A|B> with the nice side effect that if all streams share a type then, the resulting merged stream will be of that type.

what about stream.merge() as in myProcess.stderr.merge(myProcess.stdout).forEach()

Totally an option. I preferred the function style, since no stream is preferred over the other, so the result looks more symmetrical to me. It also feels somewhat similar to our all and race functions. That being said, I don't have a very strong opinion on this. If you'd prefer the method, I'm happy to change it.

Also, is there the requirement that they all be of the same type? seems to me that merging Stream and Stream would result in Stream<A|B> with the nice side effect that if all streams share a type then, the resulting merged stream will be of that type.

IIRC this does not work particularly well with the TypeScript type system. I tried doing this when implementing race, since it has similar typing, but was unable to achieve this.

Totally an option. I preferred the function style, since no stream is preferred over the other, so the result looks more symmetrical to me. It also feels somewhat similar to our all and race functions. That being said, I don't have a very strong opinion on this. If you'd prefer the method, I'm happy to change it.

That makes sense. Currently we have a lot of combinators on stream, so it did strike me as a bit odd that this wouldn't also be available via the stream. But then again, the other combinators don't involve another stream. Having both is also an option with the standalone being the primitive. Still, let's hold off on that unless actual usage makes that feel needed.
In addition to on the Stream can we export merge()  as a standalone function? It's not crucial at this point since there is only one, but it is good etiquette for tree-shakable libraries, and personally, I always prefer the option of consuming the function directly without an object intermediary.
As for the typing, it looks like it isn't smart enough to infer the union, but it will successfully type-check as-is if you explicitly annotate it. E.g.
export function concat<T>(arrays: T[][]) {
  return arrays.reduce((all, array) => all.concat(array),[] as T[]);
}

// typeschecks
let numsAndStrings = concat<number | string>([[1,2,3], ['hello', 'world'], [12]]);

Also, are we sure we want to throw away the return values like this? I don't have a use-case on hand where you would want to consume both (you can always still consume both individually), but wanted to at least bring it up.


[Hub Generated] Review request for Microsoft.Consumption to add version stable/2019-10-01

If you are a MSFT employee you can view your work branch via this link.
Contribution checklist:

[ ] I have reviewed the documentation for the workflow.
[ ] Validation tools were run on swagger spec(s) and have all been fixed in this PR.

/azp run automation - sdk

Only changes to example files, found an issue with how some queries were used.

Can one of the admins verify this patch?

@kjeur Is there anything needed before this can be approved and merged?