Rx.NET 3.0 with Xamarin.Android

I'm trying to use the new Rx.NET 3.0 version with Xamarin.Android but I'm getting a compile error after installing the packages. The error message is:
Error   CS1703  Multiple assemblies with equivalent identity have been imported: 'C:\Projects\NS\Kanzi.Mobile\packages\System.Runtime.InteropServices.WindowsRuntime.4.0.1\lib\netstandard1.3\System.Runtime.InteropServices.WindowsRuntime.dll' and 'C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\MonoAndroid\v1.0\Facades\System.Runtime.InteropServices.WindowsRuntime.dll'. Remove one of the duplicate references.  Mobile.Core.Android C:\Projects\NS\Kanzi.Mobile\Mobile.Core.Android\CSC 1   Active

I can see the reference to the System.Runtime.InteropServices.WindowsRuntime assembly from the associated package in my projects reference. Not sure where the other assembly comes from, but I'm assuming this is included automagically by the build system.
Is this supposed to work at all? I'm using the latest stable Xamarin version (<IP_ADDRESS>) and Xamarin.Android version (<IP_ADDRESS>) with Visual Studio 2015 Update 3.

I'm really not sure what's happening here, both of these packages seem to be external to System.Reactive:

'C:\Projects\NS\Kanzi.Mobile\packages\System.Runtime.InteropServices.WindowsRuntime.4.0.1\lib\netstandard1.3\System.Runtime.InteropServices.WindowsRuntime.dll'
'C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\MonoAndroid\v1.0\Facades\System.Runtime.InteropServices.WindowsRuntime.dll'

Can you tell me:

what package you were installing before this error occurred?
what version of NuGet Package Manager you have installed in VS2015?
if you have a project.lock.json file in the project folder, please attach the contents so we can see what might be responsible for this System.Runtime.InteropServices.WindowsRuntime dependency

I was installing System.Reactive 3.0.0. When I install that package I get the following dependencies for free:
System.Collections.4.0.11
System.Collections.Concurrent.4.0.12
System.ComponentModel.4.0.1
System.Diagnostics.Debug.40.11
System.Diagnostics.Tools.4.0.1
System.Globalization.4.0.11
System.Linq.4.1.0
System.Reactive.Interfaces.3.0.0
System.Reflection.4.1.0
System.Resources.ResourceManager.4.0.1
System.Runtime.4.1.0
System.Runtime.Extensions.4.1.0
System.Runtime.InteropServices.WindowsRuntime.4.0.1
System.Threading.4.0.11
System.Threading.Tasks.4.0.11
System.Reactive.Core.3.0.0
System.Reactive.Linq.3.0.0
System.Reactive.PlatformServices.3.0.0
System.Reactive.3.0.0

As you can see that list includes the System.Runtime.InteropServices.WindowsRuntime package which is where things start to fail.
I'm using version <IP_ADDRESS>4 of the NuGet package explorer. Unfortunately I do not have a project.lock.json file since I'm not using the project.json/xproj project system but using regular csproj's.

Here's your problem dependency - hiding inside System.Reactive.Linq.
Unfortunately I'm really rusty on the Xamarin side of things and whether the facade is still correct to be using here. Hopefully someone else has some ideas here.

Well, I tried removing the reference to the assembly from the package, but then a release build fails with a linker error, probably because something in System.Reactive depends on a type that is defined in that assembly which does not exist in the facade assembly. Not sure if I can try it the other way around (removing the Facade assembly from the mix) and see if that works.

That System.Runtime.InteropServices.WindowsRuntime assembly is part of the PCL 259 façade/surface area and Xamarin does support it (there's no real implementation there, it's just a few types).
Do you have a repro project as it should work? I would recommend using project.json for all project types, including Xamarin, as it works better and may solve your issue. My blog shows how: https://oren.codes/2016/02/08/project-json-all-the-things/

I just created a brand new Android Class Library project and installed the System.Reactive 3.0.0 package into it and I get the compile error. You can find the sources here.
We've downgraded to the Rx-Main 2.2.5 package for now. I'll need to have a look at converting this to project.json since I had some issues with that in the past, especially with creating a NuGet package from a project that has project.json.

@jmezach I am ignorant about xamarin. However I have just updated  DynamicData (which is portable and depends on rx) to NetStandard and was looking for a quick way to test it with xamarin.
In short I had the same problem until I downloaded and tested it using  SampleXamFormsWithNetStandard. The correct way to use xamarin with NetStandard is explained here.  However moving to NetStandard may not be what you want right now.
@onovotny FYI I had the following build error: The "CreateAdditionalLibraryResourceCache" task failed unexpectedly.  It turns out this is caused by a long file path which I had to shorten. I mention this in case anyone else gets the same problem

Same problem as you have. Xamarin.iOS, .NET and UWP library projects has no problem but the Xamarin.Android give me the same error when I compile...

We were hoping that previous NuGet problems were solved with latest Xamarin bits and we could move to 3.0.0 - but, no, we are seeing this error in Xamarin Android projects. Not sure who needs to fix what, but have logged report with Xamarin:
https://bugzilla.xamarin.com/show_bug.cgi?id=44165

I believe the problem lies with the System.Runtime.InteropServices.WindowsRuntime nuget package, it doesn't contain an empty definition for Xamarin.Android, but does for Xamarin.iOS.

This line seems interesting but I'm unclear on how the packaging of the corefx bits works to confirm this is where we need to address it 😕

I just bugged it here: https://github.com/dotnet/corefx/issues/12070. Not sure what the right answer is gien that Xamarin does support .NET Standard 1.6 and is thus pulling in the netstandard1.3 package.

Can anyone experiencing this issue please follow the directions here https://github.com/dotnet/corefx/issues/12070#issuecomment-249617241 and use the latest pre-release of the .NET Standard Library to validate the fix?

@onovotny The pre-release did not fix the error for me.

We are experiencing the same problem in our Xamarin Android solution.
We are using Reactive Extensions version 3.0.0 and have just removed the reference to "System.Runtime.InteropServices.WindowsRuntime" from our projects.
Then we got those linker errors.
IMPORTANT: in order to get those errors, you have to uncheck "Use Shared Runtime" in packaging properties. The reason seems to be that if that is checked, Xamarin does not ship the Mono Runtime packages with your apk but installs them separately, so other (debug versions of) apps can also use it. As it is shared, the linker also does not try to reduce its size, so no linking on SDK assemblies is done.
Now when we run the build, we got the linker error:
 30>C:\Program Files (x86)\MSBuild\Xamarin\Android\Xamarin.Android.Common.targets(1580,5): error MSB4018: The "LinkAssemblies" task failed unexpectedly. 30>C:\Program Files (x86)\MSBuild\Xamarin\Android\Xamarin.Android.Common.targets(1580,5): error MSB4018: Java.Interop.Tools.Diagnostics.XamarinAndroidException: error XA2006: Reference to metadata item 'System.Collections.Concurrent.ConcurrentQueue1' (defined in 'System.Reactive.Linq, Version=<IP_ADDRESS>, Culture=neutral, PublicKeyToken=94bc3704cddfc263') from 'System.Reactive.Linq, Version=<IP_ADDRESS>, Culture=neutral, PublicKeyToken=94bc3704cddfc263' could not be resolved. ---> Mono.Cecil.ResolutionException: Failed to resolve System.Collections.Concurrent.ConcurrentQueue1 30>C:\Program Files (x86)\MSBuild\Xamarin\Android\Xamarin.Android.Common.targets(1580,5): error MSB4018:    at Mono.Linker.Steps.MarkStep.MarkType(TypeReference reference) 30>C:\Program Files (x86)\MSBuild\Xamarin\Android\Xamarin.Android.Common.targets(1580,5): error MSB4018:    at MonoDroid.Tuner.MonoDroidMarkStep.MarkType(TypeReference reference) 30>C:\Program Files (x86)\MSBuild\Xamarin\Android\Xamarin.Android.Common.targets(1580,5): error MSB4018:    at Mono.Linker.Steps.MarkStep.MarkField(FieldReference reference) 30>C:\Program Files (x86)\MSBuild\Xamarin\Android\Xamarin.Android.Common.targets(1580,5): error MSB4018:    at Mono.Linker.Steps.MarkStep.InitializeFields(TypeDefinition type) 30>C:\Program Files (x86)\MSBuild\Xamarin\Android\Xamarin.Android.Common.targets(1580,5): error MSB4018:    at Mono.Linker.Steps.MarkStep.InitializeType(TypeDefinition type) 30>C:\Program Files (x86)\MSBuild\Xamarin\Android\Xamarin.Android.Common.targets(1580,5): error MSB4018:    at Mono.Linker.Steps.MarkStep.InitializeAssembly(AssemblyDefinition assembly) 30>C:\Program Files (x86)\MSBuild\Xamarin\Android\Xamarin.Android.Common.targets(1580,5): error MSB4018:    at Mono.Linker.Steps.MarkStep.Initialize() 30>C:\Program Files (x86)\MSBuild\Xamarin\Android\Xamarin.Android.Common.targets(1580,5): error MSB4018:    at Mono.Linker.Steps.MarkStep.Process(LinkContext context) 30>C:\Program Files (x86)\MSBuild\Xamarin\Android\Xamarin.Android.Common.targets(1580,5): error MSB4018:    at Mono.Linker.Pipeline.Process(LinkContext context) 30>C:\Program Files (x86)\MSBuild\Xamarin\Android\Xamarin.Android.Common.targets(1580,5): error MSB4018:    at MonoDroid.Tuner.Linker.Process(LinkerOptions options, LinkContext& context) 30>C:\Program Files (x86)\MSBuild\Xamarin\Android\Xamarin.Android.Common.targets(1580,5): error MSB4018:    at Xamarin.Android.Tasks.LinkAssemblies.Execute() 30>C:\Program Files (x86)\MSBuild\Xamarin\Android\Xamarin.Android.Common.targets(1580,5): error MSB4018:    --- End of inner exception stack trace --- 30>C:\Program Files (x86)\MSBuild\Xamarin\Android\Xamarin.Android.Common.targets(1580,5): error MSB4018:    at Java.Interop.Tools.Diagnostics.Diagnostic.Error(Int32 code, Exception innerException, String message, Object[] args) 30>C:\Program Files (x86)\MSBuild\Xamarin\Android\Xamarin.Android.Common.targets(1580,5): error MSB4018:    at Xamarin.Android.Tasks.LinkAssemblies.Execute() 30>C:\Program Files (x86)\MSBuild\Xamarin\Android\Xamarin.Android.Common.targets(1580,5): error MSB4018:    at Microsoft.Build.BackEnd.TaskExecutionHost.Microsoft.Build.BackEnd.ITaskExecutionHost.Execute() 30>C:\Program Files (x86)\MSBuild\Xamarin\Android\Xamarin.Android.Common.targets(1580,5): error MSB4018:    at Microsoft.Build.BackEnd.TaskBuilder.<ExecuteInstantiatedTask>d__26.MoveNext()
Interestingly, the linker error only occurered with the option "SKD Assemblies only".
If you specify "None", then linking is disabled and no error occurs. That makes totally sense.
What supprised us was, that the option "SDK and user assemblies" did work too!
In order to find out, what dll really caused the problem, we sticked to the "SDK and user assemblies" option and added the names of all our own assemblies AND all referenced assemblies to the "Skip linking assemblies:" textbox.
This was done as we needed to be sure that none of our own assemblies and none of the assemblies that we were referencing from nuget packages.
Now as soon as we removed the "System.Reactive.Linq" name from that "Skip linking assemblies" textbox, the error reoccurred.
So what we think is going on, is that the Xamarin Linker removes the part of System.Reactive.Linq that causes the error.
But what I guess is that the error is more likely to be in Xamarin itself, as its linker should notice, that System.Reactive.Linq is actually referencing the System.Collections.Concurrent.ConcurrentQueue class and should not remove it....
The worst thing of all is that I tried to create a sample solution for you guys to help you reproduce the error, but for some reason, the error does not occur in our test project...

Update: We actually fixed the build now!
The only thing we did, was to migrate from nuget.config to project.json.
That changed two things:

The reference to System.Runtime.Windows.in now worked (so we did not have to remove it manually)
The linker error vanished completely, even if we switched the linker back to "SDK Assemblies only" which originally caused the error.

Who thinks about migrating, read this first: https://oren.codes/2016/02/08/project-json-all-the-things/
...and then in the original documentation.... (https://github.com/NuGet/Home/wiki/Converting-a-csproj-from-package.config-to-project.json)
...at the very bottom of the page, you'll find the link to a powershell script (https://github.com/wgtmpeters/nugetprojectjson) which does most of the migration work for you! (We had 40 projects in our solution and finished in 3 hours)

@gentledepp Good to hear you got it working. Actually removing the reference to 'System.Runtime.InteropServices.WindowsRuntime' was enough to get things working for us, we didn't get those linker errors for some reason, even though we do use Link SDK and Assemblies.

This is somehow working for me as well!

@gentledepp that's excellent news, thanks for helping get to the bottom of it!

As it sounds like there's a couple of workarounds in here, I'm going to close this out :tada:
Feel free to comment again if you see variations on this.

Hey, I'm late to the party here.
Microsoft is phasing out project.json and reintroducing .csproj files. And the issue is back.
Any known workaround for the new form of projects?

wooohow.... again I was proven right to wait for some time before switching to the lates version of VS :-|
So no, unfortunately not ;-)

@aspyct @gentledepp please open a new issue with more information about what you're seeing

@aspyct I had this problem working on Xamarin.Forms project and the solution of gentledepp didn't work forme. It looks like updating the System.Runtime.InteropServices.WindowsRuntime to v4.3.0 fixed the issue in my case.
Although I'm using VS for Mac, it can't hurt you to try it out.

@aspyct just wanted to chime in and say jpozo20's suggestion for upgrading to System.Runtime.InteropServices.WindowsRuntime to v4.3.0 also worked for me. Xamarin Community Studio on Mac

Updating to System.Runtime.InteropServices.WindowsRuntime to v4.3.0 , its worked for me ..

i am using System.Runtime.InteropServices.WindowsRuntime 4.3.0 but it doesnt work after migrating packages.config. any other solution please? i am getting.
Severity	Code	Description	Project	File	Line	Suppression State
Error		The "LinkAssemblies" task failed unexpectedly.
Mono.Linker.MarkException: Error processing method: 'System.Void System.StreamMixins/<>c__DisplayClass0_0::<WriteAsyncRx>b__0(System.IAsyncResult)'
 in assembly: 'Akavache.dll' ---> Mono.Cecil.ResolutionException: Failed to resolve System.Reactive.Subjects.SubjectBase`1
   at Mono.Linker.Steps.MarkStep.HandleUnresolvedType(TypeReference reference)
   at Mono.Linker.Steps.MarkStep.MarkType(TypeReference reference)
   at MonoDroid.Tuner.MonoDroidMarkStep.MarkType(TypeReference reference)
   at Mono.Linker.Steps.MarkStep.MarkMethod(MethodReference reference)
   at Mono.Linker.Steps.MarkStep.MarkInstruction(Instruction instruction)
   at Mono.Linker.Steps.MarkStep.MarkMethodBody(MethodBody body)
   at Mono.Linker.Steps.MarkStep.ProcessMethod(MethodDefinition method)
   at Mono.Linker.Steps.MarkStep.ProcessQueue()
   --- End of inner exception stack trace ---
   at Mono.Linker.Steps.MarkStep.ProcessQueue()
   at Mono.Linker.Steps.MarkStep.ProcessPrimaryQueue()
   at Mono.Linker.Steps.MarkStep.Process()
   at Mono.Linker.Steps.MarkStep.Process(LinkContext context)
   at Mono.Linker.Pipeline.Process(LinkContext context)
   at MonoDroid.Tuner.Linker.Process(LinkerOptions options, ILogger logger, LinkContext& context)
   at Xamarin.Android.Tasks.LinkAssemblies.Execute(DirectoryAssemblyResolver res)
   at Xamarin.Android.Tasks.LinkAssemblies.Execute()
   at Microsoft.Build.BackEnd.TaskExecutionHost.Microsoft.Build.BackEnd.ITaskExecutionHost.Execute()
   at Microsoft.Build.BackEnd.TaskBuilder.<ExecuteInstantiatedTask>d__26.MoveNext()


:bug: fix: surface errors from mutator failures

What this PR does / why we need it:
Address https://github.com/kubernetes-sigs/cluster-api/pull/7966#issuecomment-1450675662 in our fork first - to make it easy to surface errors in https://github.com/mesosphere/konvoy2/pull/1984
Which issue(s) this PR fixes (optional, in fixes #<issue number>(, fixes #<issue_number>, ...) format, will close the issue(s) when PR gets merged):
Fixes #

/lgtm
Static checks (linters) ensure that we do not discard an error when we call a mutator.


Added 'Harold Brenes' to AUTHORS.rst

As per wiki-pr #134

@harold-b This has conflicts, please update your master and rebase to master.

Strange, I synced with upstream before I made the branch... I'll see what I messed up.

@svaarala ... I completely forgot to merge before I fetched ...
Should be good now.

You should be on the first list (for code, documentation, etc), not the second :)

Alrighty I'll fix it :)

Thanks, merged.


Setting for using global eslint seems broken

Installed product versions

Visual Studio: 2017 Professional
This extension: 1.0.238

Description
I installed eslint globally, and marked the global option in the Visual Studio configuration, but the output panel from VisualLinter says "fatal: no local eslint config found". I rebooted my PC but get the same result. Would I have better results if I removed eslint and reinstalled non-globally?
Steps to recreate

use npm to install eslint globally
in Visual Studio, for VisualLinter, mark the global option
open a JavaScript file
note the output panel from VisualLinter says "fatal: no local eslint config found"

Current behavior
It does not seem to honor the global setting.
Expected behavior
Honor the global setting, so that when set the global installation of eslint is used.

Thank you for the feedback @fspafford
If you want to get started with the extension fast then switching to the local variant should help since all options are set to default false.
However with that said I would like to get to the bottom of this problem:
Have you tried unchecking/checking the option again after you first received the "local" error message?
I am planning on adding a verbose logging option that will log to the output window when an options value is changed. This will help determine if the option is actually set or not.
I'll update this issue once a version with verbose logging is available for you to test.

I have tried unchecking/checking the option, and see the same behavior.

@fspafford I've pushed a new version (1.0.240) of VisualLinter to the Marketplace which should be available for download in a minute.
This new update adds a new option Enable verbose logging under
Tools -> Options... -> VisualLinter -> Advanced, please see below:

Once this option is checked, click OK to save the options and re-open the options window using
Tools -> Options... and all the option values of the view you're standing on (either General or Advanced should be logged in the output window.
Remember to clear the output window between opening the options window.
If you check the Use global ESLint installation instead of local and click OK, is the value for property UseGlobalEslint set to true?

Yes.
The output is:
[GetPropertyValue] ShouldOverrideEslint value is False
[GetPropertyValue] EslintOverridePath value is
[GetPropertyValue] ShouldOverrideEslintConfig value is False
[GetPropertyValue] EslintConfigOverridePath value is
[GetPropertyValue] ShouldOverrideEslintIgnore value is False
[GetPropertyValue] EslintIgnoreOverridePath value is
[GetPropertyValue] EnableVerboseLogging value is True
[GetPropertyValue] UseGlobalEslint value is True
[GetPropertyValue] EnableHtmlLanguageSupport value is False
[GetPropertyValue] EnableJavaScriptLanguageSupport value is True
[GetPropertyValue] EnableReactLanguageSupport value is False
[GetPropertyValue] EnableVueLanguageSupport value is False
[GetPropertyValue] UsePersonalConfig value is False
[GetPropertyValue] DisableEslintIgnore value is False

Ok that's strange. But good. Now we'll have to see what value is used when actually linting. I'll have to push an update for you to test. I'll update here once it's available.

Still unable to reproduce on my end,  but I've pushed a new version (1.0.241) to the Marketplace which should be available in just a minute. I've changed the name of the option so you'll need to re-enable it under Advanced options.
Ensure that option UseGlobalEslint is true when you open options (as you did previously), then save a javascript file you wanted to lint in Visual Studio and report back with the output here!

Hi @fspafford
Yep! that's exactly it, and should definitely be clarified, because:
You've told the extension to use a global ESLint installation (eg npm install eslint --global) but using a local ESLint config, is still default unless Use personal ESLint config instead of local is checked (value true) in options.
I'll update the notes section of the readme to include this information for future reference.
Thank you for your contribution Frank!


how to translate text from controller

how to translate text from controller?
scenario: i Have error/warning message in controller then how to translate appropriate.

Please describe the error in more details, provide the steps when it's happening and the logs.
Examples can be found here https://github.com/malyw/angular-translate-yeoman/blob/master/app/scripts/controllers/appCtrl.js#L23 , also it depdends on the dependency versions you use (please describe the Angular and depedencies versions).

thnx..


add categorical

[ ] Code style is correct (follows pylint and black guidelines)
[ ] Includes new or updated tests to cover the new feature
[ ] New features are properly documented (with an example if appropriate)
[ ] Includes a sample plot to visually illustrate the changes (only for plot-related functions)
[ ] Widget states have been properly saved (only for notebooks with widgets) see for details.

Codecov Report

Merging #205 (06426f5) into main (9a86ad5) will decrease coverage by 0.15%.
The diff coverage is 81.00%.

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


Upgrade JupyterLab packages

JypyterLab_app (this native app) is made using the NPM JupyterLab packages, but the packages are outdated. Currently the 0.9.x versions of the packages are used while the most recent versions are 0.15.x. This means that JupyterLab_app is now equivalent to version 0.26.x (7 Aug. 2017) of JupyterLab.
I am well aware that the NPM packages are not (api) stable yet, and this is probably the reason the packages are not upgraded yet. But the current 0.15 versions must be a lot closer the final 1.0 release than 0.9.
I am already working on a PR (that is becoming pretty large) which upgrades to the same package versions as JupyterLab 0.31.2. This PR will contain contain multiple fixes, workarounds and minimal refactorings. I will create a PR and motivate my choices when JypyterLab_app is fully working again.

Hey @Wietsedv,
I'm also working on a branch towards this same goal. If you would like to collaborate, I have some initial changes in place here.
Thanks,
Declan.

That's great! I think my version is further completed. I'll push my version and I will compare/merge our branches tomorrow.

Closed by #137


Support HTTP challenges when using annotation force-ssl-redirect: "true"

Describe the absent feature
When the annotation
ingress.kubernetes.io/force-ssl-redirect: "true"

is set, requests are redirected to https as expected.
However, this presents a problem on one particular url, namely,
/.well-known/acme-challenge/

If using a package like jetstack cert-manager, requests will be made for ACME challenges over HTTP.
Then those requests seem to be redirected by envoy to HTTPS resulting in a failed challenge.
Potential solutions:

/.well-known/acme-challenge to be not redirected by default

or

an option as an annotation to add list of exception paths to https redirection

Anything else you would like to add:
It seems like there was an issue like this before with other ingress controllers but has since been resolved.
See this issue from jetstack cert manager
Also, in this related issue, it seems the solution was to create an additional ingress resource.
Environment:

Contour version: v0.6.0-beta.2, envoy: v1.7.0
Kubernetes version: v1.11.1
Kubernetes installer & version: kubeadm
Cloud provider or hardware configuration: baremetal
OS ubuntu

Also related nginx feature: https://github.com/kubernetes/ingress-nginx/pull/2203

@stephenmoloney can you please verify this with contour 0.6. I think it should work with the following caveats

routes for vhost described in a single ingress object with ingress.kubernetes.io/force-ssl-redirect: "true" on
cert-managers ingress object exists in its own namespace and lacks ingress.kubernetes.io/force-ssl-redirect: "true"

will give you an update soon

Ok, So I finally got to try this today and from what I can tell, requests to /.well-known/acme-challenge/ are still being redirected.
Example log from envoy when the annotation is ingress.kubernetes.io/force-ssl-redirect: "true"
[2018-11-20T15:32:44.266Z] "GET /.well-known/acme-challenge/<redacted_challenge_code> HTTP/1.1" 301 - 0 0 0 - "<redacted_ip>" "Go-http-client/1.1" "332fb142-6a6d-4324-902d-92683be59170" "<redacted_domain>" "-

Example log from envoy when the annotation is
[2018-11-20T16:09:04.034Z] "GET /.well-known/acme-challenge/<redacted_code> HTTP/1.1" 200 - 0 113 0 0 "<redacted_ip>" "Go-http-client/1.1" "dd496c95-9767-4440-bec6-5d4b642a9fdc" "<redacted_domain>" "<redacted_ip>"
[2018-11-20 16:09:08.847][1][info][upstream] source/common/upstream/cluster_manager_impl.cc:442] removing cluster <namespace>/cm-acme-http-solver-6vrcb/8089/da39a3ee5e
[2018-11-20 16:09:10.895][1][info][upstream] source/server/lds_api.cc:73] lds: add/update listener 'ingress_https'
[2018-11-20T16:09:07.522Z] "GET /.well-known/acme-challenge/<redacted_code> HTTP/1.1" 200 - 0 113 1 1 "<redacted_ip>" "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)" "274bd474-96ae-4544-a2ca-79f7868ca607" "<redacted_domain>" ""

The ingress object is of type extensions/v1beta1 and looks something like this:
---
apiVersion: extensions/v1beta1
kind: Ingress
metadata:
  name: RELEASE-NAME-saleor
  labels:
    app: saleor
    chart: saleor-0.1.0
    release: RELEASE-NAME
    heritage: Tiller
  annotations:
    certmanager.k8s.io/acme-challenge-type: http01
    certmanager.k8s.io/acme-http01-edit-in-place: "true"
    certmanager.k8s.io/cluster-issuer: default-issuer
    contour.heptio.com/num-retries: "3"
    contour.heptio.com/request-timeout: 30s
    ingress.kubernetes.io/force-ssl-redirect: "true"
    kubernetes.io/ingress.class: contour
    kubernetes.io/tls-acme: "true"

spec:
  tls:
    - hosts:
        - <redacted_domain>
      secretName: ssl-certificate-private-key
  rules:
    - host:  <redacted_domain>
      http:
        paths:
          - path: /media/
            backend:
              serviceName: RELEASE-NAME-saleor-nginx
              servicePort: http-nginx
          - path: /static/
            backend:
              serviceName: RELEASE-NAME-saleor-nginx
              servicePort: http-nginx
          - path: /
            backend:
              serviceName: RELEASE-NAME-saleor-django
              servicePort: http-django

A cluster issuer is being used by cert-manager.
Versions:
contour: 0.7.0
cert-manager: 0.5.2

Can you try without this annotation?

certmanager.k8s.io/acme-http01-edit-in-place: "true"

On 21 November 2018 at 06:38, Stephen Moloney<EMAIL_ADDRESS>wrote:

Ok, So I finally got to try this today and from what I can tell, requests
to /.well-known/acme-challenge/ are still being redirected.
Example log from envoy when the annotation is ingress.kubernetes.io/force-
ssl-redirect: "true"
[2018-11-20T15:32:44.266Z] "GET /.well-known/acme-challenge/<redacted_challenge_code> HTTP/1.1" 301 - 0 0 0 - "<redacted_ip>" "Go-http-client/1.1" "332fb142-6a6d-4324-902d-92683be59170" "<redacted_domain>" "-
Example log from envoy when the annotation is
[2018-11-20T16:09:04.034Z] "GET /.well-known/acme-challenge/<redacted_code> HTTP/1.1" 200 - 0 113 0 0 "<redacted_ip>" "Go-http-client/1.1" "dd496c95-9767-4440-bec6-5d4b642a9fdc" "<redacted_domain>" "<redacted_ip>"
[2018-11-20 16:09:08.847][1][info][upstream] source/common/upstream/cluster_manager_impl.cc:442] removing cluster /cm-acme-http-solver-6vrcb/8089/da39a3ee5e
[2018-11-20 16:09:10.895][1][info][upstream] source/server/lds_api.cc:73] lds: add/update listener 'ingress_https'
[2018-11-20T16:09:07.522Z] "GET /.well-known/acme-challenge/<redacted_code> HTTP/1.1" 200 - 0 113 1 1 "<redacted_ip>" "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)" "274bd474-96ae-4544-a2ca-79f7868ca607" "<redacted_domain>" ""
The ingress object is of type extensions/v1beta1 and looks something like
this:
---apiVersion: extensions/v1beta1kind: Ingressmetadata:
name: RELEASE-NAME-saleor
labels:
app: saleor
chart: saleor-0.1.0
release: RELEASE-NAME
heritage: Tiller
annotations:
certmanager.k8s.io/acme-challenge-type: http01
certmanager.k8s.io/acme-http01-edit-in-place: "true"
certmanager.k8s.io/cluster-issuer: default-issuer
contour.heptio.com/num-retries: "3"
contour.heptio.com/request-timeout: 30s
ingress.kubernetes.io/force-ssl-redirect: "true"
kubernetes.io/ingress.class: contour
kubernetes.io/tls-acme: "true"
spec:
tls:
- hosts:
- <redacted_domain>
secretName: ssl-certificate-private-key
rules:
- host:  <redacted_domain>
http:
paths:
- path: /media/
backend:
serviceName: RELEASE-NAME-saleor-nginx
servicePort: http-nginx
- path: /static/
backend:
serviceName: RELEASE-NAME-saleor-nginx
servicePort: http-nginx
- path: /
backend:
serviceName: RELEASE-NAME-saleor-django
servicePort: http-django
A cluster issuer is being used by cert-manager.
Versions:
contour: 0.7.0
cert-manager: 0.5.2
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/heptio/contour/issues/623#issuecomment-440403796, or mute
the thread
https://github.com/notifications/unsubscribe-auth/AAAcA2DIaHQ29iZ8KrMtDUvmEpThKpHxks5uxFoYgaJpZM4V7Vrr
.

I think this issue is resolved, occassionally i see unusual behaviour when the cluster has just be started up all in one go and I'm not even sure how to describe it.
But that might not be an issue with contour.
I will close this issue now.


[Help] [iOS example] Failed to launch the app w/ Type Error of output arg

Following #161, I am running the iOS example according to its README.
I opened MyVoice.xcworkspace in Xcode, made some slight modifications to make it compile, and ran it.
I am getting Type Error: Type (tensor(bool)) of output arg (onnx::adamw.updated_flag::5) of node (onnx::AdamWOptimizer::6) does not match expected type (tensor(int64)) and a blank screen.
Full relevant error.
MyVoice/TrainView.swift:25: Fatal error: 'try!' expression unexpectedly raised an error: Error Domain=onnxruntime Code=1 "/Users/runner/work/1/s/orttraining/orttraining/training_api/optimizer.cc:239 void onnxruntime::training::api::Optimizer::Initialize(const std::string &, const std::vector<std::shared_ptr<IExecutionProvider>> &, gsl::span<OrtCustomOpDomain *const>) [ONNXRuntimeError] : 1 : FAIL : Load model from /Users/sichanghe/Library/Developer/CoreSimulator/Devices/CB79BDAB-7D81-43FC-8440-FE4B95955A60/data/Containers/Bundle/Application/02A3121A-4522-497A-8677-0BD7A416F48D/MyVoice.app/optimizer_model.onnx failed:Type Error: Type (tensor(bool)) of output arg (onnx::adamw.updated_flag::5) of node (onnx::AdamWOptimizer::6) does not match expected type (tensor(int64)).
" UserInfo={NSLocalizedDescription=/Users/runner/work/1/s/orttraining/orttraining/training_api/optimizer.cc:239 void onnxruntime::training::api::Optimizer::Initialize(const std::string &, const std::vector<std::shared_ptr<IExecutionProvider>> &, gsl::span<OrtCustomOpDomain *const>) [ONNXRuntimeError] : 1 : FAIL : Load model from /Users/sichanghe/Library/Developer/CoreSimulator/Devices/CB79BDAB-7D81-43FC-8440-FE4B95955A60/data/Containers/Bundle/Application/02A3121A-4522-497A-8677-0BD7A416F48D/MyVoice.app/optimizer_model.onnx failed:Type Error: Type (tensor(bool)) of output arg (onnx::adamw.updated_flag::5) of node (onnx::AdamWOptimizer::6) does not match expected type (tensor(int64)).
}
2023-09-06 13:14:29.936987+0800 MyVoice[95643:1836341] MyVoice/TrainView.swift:25: Fatal error: 'try!' expression unexpectedly raised an error: Error Domain=onnxruntime Code=1 "/Users/runner/work/1/s/orttraining/orttraining/training_api/optimizer.cc:239 void onnxruntime::training::api::Optimizer::Initialize(const std::string &, const std::vector<std::shared_ptr<IExecutionProvider>> &, gsl::span<OrtCustomOpDomain *const>) [ONNXRuntimeError] : 1 : FAIL : Load model from /Users/sichanghe/Library/Developer/CoreSimulator/Devices/CB79BDAB-7D81-43FC-8440-FE4B95955A60/data/Containers/Bundle/Application/02A3121A-4522-497A-8677-0BD7A416F48D/MyVoice.app/optimizer_model.onnx failed:Type Error: Type (tensor(bool)) of output arg (onnx::adamw.updated_flag::5) of node (onnx::AdamWOptimizer::6) does not match expected type (tensor(int64)).
" UserInfo={NSLocalizedDescription=/Users/runner/work/1/s/orttraining/orttraining/training_api/optimizer.cc:239 void onnxruntime::training::api::Optimizer::Initialize(const std::string &, const std::vector<std::shared_ptr<IExecutionProvider>> &, gsl::span<OrtCustomOpDomain *const>) [ONNXRuntimeError] : 1 : FAIL : Load model from /Users/sichanghe/Library/Developer/CoreSimulator/Devices/CB79BDAB-7D81-43FC-8440-FE4B95955A60/data/Containers/Bundle/Application/02A3121A-4522-497A-8677-0BD7A416F48D/MyVoice.app/optimizer_model.onnx failed:Type Error: Type (tensor(bool)) of output arg (onnx::adamw.updated_flag::5) of node (onnx::AdamWOptimizer::6) does not match expected type (tensor(int64)).
}

Screenshot.

@baijumeswani, does this have anything to do with the change in onnxruntime-training-cpu?

ping

Hi. You should use the same version of onnxruntime for both offline tooling and training so that the model created in the offline tooling is in sync with what the onnxruntime version is expecting during training.
This change went in in https://github.com/microsoft/onnxruntime/pull/17085. Try to use a version of ort either both after that or both before that.

@baijumeswani, thanks for your explanation. However, since I installed the nightly version of the offline tooling following your instruction, how should I change the iOS part? I presume that I need to change this pod, but to what:
https://github.com/microsoft/onnxruntime-training-examples/blob/d7c2a836229de200168687c17147ac0714bc65e8/on_device_training/mobile/ios/Podfile#L9

One of two options:

Build the iOS pod from source. You can follow instructions here: https://onnxruntime.ai/docs/build/training.html#build-instructions-for-the-training-phase
Wait for onnxruntime 1.16 to be released. I think the pod will be released in the next week or so.

So, at this stage, it seems that ONNX Runtime training is still highly experimental to me. Maybe I can get this demo working, but not quite for extensive use. Let me wait for 1.16.

ONNX Runtime 1.16 is the first ort release for training on iOS. This is also the reason we have made it available as a python package on macos starting 1.16.

I see. This is literally the start. I shall be more patient.

Can confirm that the app works using ONNX Runtime 1.16 🎉!
Steps.
I installed ONNX Runtime Training on my Mac following the instructions on ONNX Runtime home page (changed slightly to remove a bug):
$ pip3 install cerberus flatbuffers h5py numpy onnx packaging protobuf sympy setuptools
  pip3 install -i https://aiinfra.pkgs.visualstudio.com/PublicPackages/_packaging/ORT/pypi/simple/ onnxruntime-training-cpu

Regenerated the artifact files:
python3 artifacts_gen.py

Changed the Podfile:
- pod 'onnxruntime-training-objc', '1.16.0-dev+20230721002.fa4712c'
+ pod 'onnxruntime-training-objc', '~>1.16.0'

Reinstalled the pod:
pod install --repo-update

I also needed to remove my developer key to make the app build and run on my phone.
It then successfully trained and inferred, but got quit "because of memory" issue after I attempted to train a second voice.

The next step for me is to figure out how to get and set the model parameters so I can use it to do federated learning. Any hints on that, @baijumeswani?
Thanks.

For extracting the model parameters as a contiguous buffer (for federated learning scenarios), have a look at these two functions:

toBufferWithTrainable:error:
fromBufferWithValue:error:

Awesome. Thanks for the help!


CR16C LOAD/STOR with abs20 operand not remapped correctly

Describe the bug
LOAD/STOR instructions on CR16C with an abs20 operand greater than 0xEFFFF are not OR'd with the required constant 0xF00000.
This is due to an error in the CR16C sinc file (line 288) where the boundary is specified as 0xEFFFFF rather than 0xEFFFF (one nibble too wide).
To Reproduce

Disassemble CR16C code which utilises a LOAD/STOR instruction with an abs20 operand greater than 0xEFFFF.
Observe that the required constant 0xF00000 is not OR'd with the operand to generate the correct address.

Screenshots
The LOADB instruction specifies an abs20 operand of 0xFFD8C which should become an address of 0xFFFD8C, however the correct OR mask is not applied due to the incorrect boundary constant.

I've got a fix I'm working on. The sample you posted disassembles correctly. If you would be willing to, could you verify the fix on a binary that demonstrates the problem?
Replace the abs20: subconstructor on line 290 with the following:
`abs20:  tmp     is n5=0xf & dw_w2       [ tmp = 0xff0000 | dw_w2; ]   {
export *[const]:3 tmp;
}
abs20:  tmp     is n5 & dw_w2       [ tmp = (n5 << 16) + dw_w2; ]   {
export *[const]:3 tmp;
}`

Thanks - appears to work perfectly for both high and low abs20 values. I don't have any other CR16C binaries I can test on but everything appears fine re-disassembling the original binary.


update / clarify the claim about the <2kB library size in README.md

The very first paragraph of the README.md claims that the size of the route-recognizer library is under 2k:

route-recognizer is a lightweight JavaScript library (under 2k!) that can be used as the recognizer for a more comprehensive router system (such as router.js).

If I create an empty main.js file that only imports the 'route-recognizer' library, the size of output bundle is 13.3kB (minified), and 3.9kB (minified and gzipped). Am I missing something or is the README.me out of date? It looks like README should be saying "(under 4kB gzipped!)".
Steps to reproduce:

create a new npm / yarn project:
mkdir size-control && cd size-control && yarn init
add route-recognizer, rollup and uglifyjs as dependencies:
yarn add route-recognizer rollup uglifyjs
create a main.js file with a single import of 'route-recognizer':
echo "import RouteRecognizer from './node_modules/route-recognizer/dist/route-recognizer.es.js';" > main.js
run rollup to bundle the module into a single file:
./node_modules/.bin/rollup main.js dist/bundle.js
run uglifyjs to minify the bundle:
./node_modules/.bin/uglifyjs dist/bundle.js -o dist/bundle.min.js
gzip the minified file (OS-dependent):
gzip dist/bundle.min.js --best -c > dist/bundle.min.js.gz
check the size of the bundle: ls -ls dist

-rw-r--r--  1 viktor  staff  26090 Mar 26 15:49 bundle.js
-rw-r--r--  1 viktor  staff  13251 Mar 26 15:52 bundle.min.js
-rw-r--r--  1 viktor  staff   3931 Mar 26 15:55 bundle.min.js.gz

Sorry about that! The README is almost certainly incorrect and out of date.  Would love a PR to remove the actual sizing info from the README if you have the time...
We haven't done much to dig into making it smaller recently, but it sounds like we need to put this lib on a diet...


Vert coord

Codecov Report

Merging #3 into master will increase coverage by 22%.
The diff coverage is 82.85%.

@@           Coverage Diff            @@
##           master       #3    +/-   ##
========================================
+ Coverage   35.13%   57.14%   +22%
========================================
  Files           3        3
  Lines         148      203    +55
  Branches       23       32     +9
========================================
+ Hits           52      116    +64
+ Misses         92       77    -15
- Partials        4       10     +6

Impacted Files
Coverage Δ

xroms/tests/test_xroms.py
100% <100%> (ø)
:arrow_up:

xroms/xroms.py
48.11% <70.73%> (+28.11%)
:arrow_up:

Continue to review full report at Codecov.

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


Remove/Replace Rollup.js

It would be good to have the option to do without Rollup.js and npm entirely. At least in my case i am searching for Rust frontend tools because i want to stay away from npm and its ecosystem. I don't want to go into details about the "why" here, but i am wondering what alternatives we have. I am not very familiar with perseus yet and going through the book Building Your First App i was unpleasantly surprised to see npm i -g rollup which is a show-stopper in my case. I don't want to elevate this as a major problem for the project, because its just my personal taste – but i am wondering if we could have an easy to integrate (rusty) alternative that is as powerful as Rollup.js yet and can serve the same needs. I am very happy with Trunk and Sycamore/seed-rs/yew and was wondering what exactly is different here that make Rollup.js mandatory.

Is there something specific that requires a full-blown bundler? The only js required should be that for loading the wasm.

I used Rollup simply to create a JS bundle to load the Wasm, and I imagine it could indeed be done without it. I'll look into this further.

I too have had enough of JS tools, and as a matter of fact Rollup has been the cause of every single bug report on Perseus thus far!
Given that, I'm fully in support of ditching it in favor of another tool. Given this would be a significant breaking change, I think it would be best to have this done by v0.2.0.

Okay, so I was looking through the codebase trying to figure out why I actually used Rollup in the first place. I then discovered that I'm using it solely to wrap an asynchronous JS function that we don't even need. So in other words not only is this a nice idea for cleanliness, it will also make Perseus builds faster! The only drawback to this is that it requires specifying a new js_init file in the Actix Web integration's options. However, no-one except me uses those at the moment (the CLI does it all for you), so that's not a problem! It is still a breaking change though, so this will be included in v0.2.0.

This is complete, and will be released with v0.2.0!


Uncaught TypeError: Error processing argument at index 0, conversion failure from null

Prerequisites

[ ] Put an X between the brackets on this line if you have done all of the following:

Reproduced the problem in Safe Mode: http://flight-manual.atom.io/hacking-atom/sections/debugging/#using-safe-mode
Followed all applicable steps in the debugging guide: http://flight-manual.atom.io/hacking-atom/sections/debugging/
Checked the FAQs on the message board for common solutions: https://discuss.atom.io/c/faq
Checked that your issue isn't already filed: https://github.com/issues?utf8=✓&q=is%3Aissue+user%3Aatom
Checked that there is not already an Atom package that provides the described functionality: https://atom.io/packages

Description
[Description of the issue]
Steps to Reproduce

[First Step]
[Second Step]
[and so on...]

Expected behavior: [What you expect to happen]
Actual behavior: [What actually happens]
Reproduces how often: [What percentage of the time does it reproduce?]
Versions
You can get this information from copy and pasting the output of atom --version and apm --version from the command line. Also, please include the OS and what version of the OS you're running.
Additional Information
Any additional information, configuration or data that might be necessary to reproduce the issue.

angularjs\styles\angularjs.less
Starting from Atom v1.13.0, the contents of atom-text-editor elements are no longer encapsulated within a shadow DOM boundary. This means you should stop using :host and ::shadow pseudo-selectors, and prepend all your syntax selectors with syntax--. To prevent breakage with existing style sheets, Atom will automatically upgrade the following selectors:
atom-text-editor .entity.name.tag.block.any.html.angular, atom-text-editor::shadow .entity.name.tag.block.any.html.angular, atom-text-editor .entity.other.attribute-name.html.angular, atom-text-editor::shadow .entity.other.attribute-name.html.angular => atom-text-editor .entity.name.tag.block.any.html.angular, atom-text-editor.editor .syntax--entity.syntax--name.syntax--tag.syntax--block.syntax--any.syntax--html.syntax--angular, atom-text-editor .entity.other.attribute-name.html.angular, atom-text-editor.editor .syntax--entity.syntax--other.syntax--attribute-name.syntax--html.syntax--angular
atom-text-editor .punctuation.definition.block.begin.angular, atom-text-editor::shadow .punctuation.definition.block.begin.angular, atom-text-editor .punctuation.definition.block.end.angular, atom-text-editor::shadow .punctuation.definition.block.end.angular => atom-text-editor .punctuation.definition.block.begin.angular, atom-text-editor.editor .syntax--punctuation.syntax--definition.syntax--block.syntax--begin.syntax--angular, atom-text-editor .punctuation.definition.block.end.angular, atom-text-editor.editor .syntax--punctuation.syntax--definition.syntax--block.syntax--end.syntax--angular
Automatic translation of selectors will be removed in a few release cycles to minimize startup time. Please, make sure to upgrade the above selectors as soon as possible.

Thanks for taking the time to contribute!
We noticed that this is a duplicate of https://github.com/atom/deprecation-cop/issues/68. You may want to subscribe there for updates.
Because we treat our issues list as the Atom team's backlog, we close duplicates to focus our work and not have to touch the same chunk of code for the same reason multiple times. This is also why we may mark something as duplicate that isn't an exact duplicate but is closely related.
For information on how to use GitHub's search feature to find out if something is a duplicate before filing, see the How Can I Contribute? section of the Atom CONTRIBUTING guide.

[Enter steps to reproduce below:]

...
...


Too many values to unpack

Traceback (most recent call last):
File "train.py", line 329, in
main()
File "train.py", line 116, in main
epoch=epoch)
File "train.py", line 161, in train
for i, (imgs, caps, caplens) in enumerate(train_loader):
ValueError: too many values to unpack (expected 3)
Using Pytorch 1.2.0

This has already been addressed. Please see #86

Traceback (most recent call last):
File "train.py", line 329, in
main()
File "train.py", line 116, in main
epoch=epoch)
File "train.py", line 161, in train
for i, (imgs, caps, caplens) in enumerate(train_loader):
ValueError: too many values to unpack (expected 3)
Using Pytorch 1.2.0

Hey, I also met this problem. Have you found the solution?


BABE epochs should change based on time-slot, not block number

The BABE Spec
Time is divided into discrete slots. In the spec, with each epoch consisting of exactly epoch_len slots. In the current implementation, epochs consist of at minimum epoch_len slots.
However, the current implementation changes the epoch at the first block >= epoch_len slots after the start slot of the epoch. This is bad for two reasons:

it's not to-spec
block authors can temporarily delay the time for the new epoch to start, which forces the old randomness to be used

It also complicates equivocation slashing, since different blocks on small forks may have the same slot number, but be on different epochs (i.e. sessions). If the same validator has 2 different session keys on 2 chains, he can equivocate without being punished.

Required Changes:
Account for Time-Slot when Authoring/Verifying
(core)
When determining which authority-set/randomness to verify under, we should account for time-slot.
We will change the fn epoch in BABE to follow this procedure:

find the epoch information of the parent block
compare that epoch's end-slot to the current slot number
2a. if less, return that epoch
2b. if greater than or equal to the end, return the successor epoch

Account for chains that did not start with these changes
(core)
unsure. there are a couple different options

hard-fork, which introduces special-cased validation logic for such chains (as part of chain spec or BABE config)
remove support for such chains

Compute Randomness without the VRF Output of the Current Block
(SRML)
After making the above core changes, the epoch can be considered to have changed just before the epoch-changing block, as opposed to during/after. This means that the responsibility of authoring the epoch-changing block moves from the prior set to the new set. Thus the next-epoch randomness, as computed during the epoch change logic, should not include the VRF output from the pre-runtime digest of the block.

Assuming that the epoch start-times haven't actually drifted in such chains, there is an intermediary solution (in this case, the only differing point is that the epoch-change blocks are authored by the prior set/randomness as opposed to the new set/randomness).

The situation is equivalent to using a > condition as opposed to >= for checking blocks, and we absolutely trust the randomness given by the runtime. This is fine as long as we don't attempt to re-compute the randomness off-chain (light clients, verification queues w/ lookahead)
First, introduce a configurable transition (default: 0) for the slot number where we change to a >= condition
Next, introduce a runtime upgrade which performs the correct randomness calculation from that point onwards

@rphmeier will it necessarily? Light clients will need a snapshot anyway, and it makes sense to me that it should include the randomness.


Stop linking config/solr.yml

Coverage remained the same at 89.61% when pulling ac0f36f85931a778bd9990ac995af6bd2c8d1724 on cbeer-patch-1 into ffb4ed48553367bb6b1f53a87bdd5fc1fa6a93a0 on master.

Coverage remained the same at 89.61% when pulling ac0f36f85931a778bd9990ac995af6bd2c8d1724 on cbeer-patch-1 into ffb4ed48553367bb6b1f53a87bdd5fc1fa6a93a0 on master.


wait for ekco and prometheus pods to scale to 0 before running pvmigrate

this avoids possible race conditions when pvmigrate attempts to scale down prometheus itself

What type of PR is this?

What this PR does / why we need it:
If the prometheus object has a desired scale greater than 0 when starting pvmigrate, it will not be able to scale down the statefulset properly (as the operator will reset the scale). Similarly, the ekc-operator will reset the scale of the prometheus object if it is running.
This PR scales down ekc-operator if it is present before scaling down prometheus, and also adds waits to ensure that both have actually removed their pods before continuing.
Which issue(s) this PR fixes:

Fixes #
Special notes for your reviewer:
Does this PR introduce a user-facing change?

Does this PR require documentation?

If ekco and prometheus are not scaled down before pvmigrate runs, you get something that looks like this:
Scaling down StatefulSets and Deployments with matching PVCs
scaling StatefulSet prometheus-k8s from 0 to 0 in monitoring
scaling StatefulSet kotsadm-postgres from 1 to 0 in default

Waiting for pods with mounted PVCs to be cleaned up
Found pod prometheus-k8s-0 in monitoring mounting to-be-migrated PVC prometheus-k8s-db-prometheus-k8s-0, waiting
Found pod kotsadm-postgres-0 in default mounting to-be-migrated PVC kotsadm-postgres-kotsadm-postgres-0, waiting
Found pod kotsadm-postgres-0 in default mounting to-be-migrated PVC kotsadm-postgres-kotsadm-postgres-0, waiting
Found pod kotsadm-postgres-0 in default mounting to-be-migrated PVC kotsadm-postgres-kotsadm-postgres-0, waiting
failed to scale down pods: pod prometheus-k8s-0 in monitoring mounting prometheus-k8s-db-prometheus-k8s-0 was created at 2022-02-07T23:00:51Z, after scale-down started at 2022-02-07T23:00:32Z. It is likely that there is some other operator scaling this back up


Optimize set inclusion test

Most states fall outside of goal spheres. See if something like a Bloom filter can save compute cycles.

There's also the option to increase the memory imprint. Use prefixes to index an array of postfixes.
Another option is to use double indexing: 64 bit index to an array of 32 bit identifiers.

Hash sets should be enough though...

Based on edge benchmarks hash sets offer 6% increase in solving speed. I would value memory more and stick with bisections.

How about anti-sets?


Add reference to clarify what to do when they don't have a retry-after on the response

[Enter feedback here]
Can we add some note saying something like:
When the Retry-after header is not returned you should implement your own retry logic by following the azure guidelines in https://learn.microsoft.com/en-us/azure/architecture/best-practices/retry-service-specific#general-rest-and-retry-guidelines
Maybe on this section:
#url-to-monitor-status
This will help customers to don't blindly retry each second for something that we know it will take some time.
Thank you

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

ID: 7b0985f3-9f69-f25a-715c-c67ab16b2274
Version Independent ID: 84c72697-82f5-aefd-8467-7e1a4dd08290
Content: Status of asynchronous operations - Azure Resource Manager
Content Source: articles/azure-resource-manager/management/async-operations.md
Service: azure-resource-manager
Sub-service: management
GitHub Login: @tfitzmac
Microsoft Alias: tomfitz

@hribeiro-msft We have verified and updated the document as required. The update will go live in less than 24 hours. Thanks.


master --> live

Docs Build status updates of commit 944bcf1:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

docs/console-functions.md
:white_check_mark:Succeeded
View

docs/console-reference.md
:white_check_mark:Succeeded
View

docs/console-structures.md
:white_check_mark:Succeeded
View

docs/creating-a-pseudoconsole-session.md
:white_check_mark:Succeeded
View

docs/using-the-console.md
:white_check_mark:Succeeded
View

For more details, please refer to the build report.
Note: Broken links written as relative paths are included in the above build report. For broken links written as absolute paths or external URLs, see the broken link report.
For any questions, please:Try searching the docs.microsoft.com contributor guidesPost your question in the Docs support channel


[WIP] Pluggable providers

Work in progress for pluggable factor providers.
Motivation and Context
The issue to add additional factor provider comes up frequently. We currently have questions / PRs for adding U2F and e-mail factor providers. Currently this doesn't compose, as the setup / login views become overly complex. This rewrite attempts to improve the situation.
Description
Factor providers can be added as Django apps. Implementers are expected to implement a contract. See the generator / phone number providers as example implementations.
This PR is a very rough draft. There are some areas that need further improvement;

the views becoming even more complex, due to all the callbacks on the contract
inconsistency in how forms are configured / devices are created, perhaps through a unified interface

There's also some features missing currently:

ability to configure backup devices

Some things to resolve:

handle db migrations

Extensibility
Both builtin provider implementations contain a subclass of AppConfig. This subclass will be the entry point for further extension. Users of these providers can provide their custom subclass to overwrite the defaults and provide additional functionality.
How Has This Been Tested?

PR is not incomplete.
Unit tests are broken.

Types of changes

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

Checklist:

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

@MarkusH  @moggers87 I'd be happy to hear your feedback on this early draft.

I've had a very brief look over the diff, nothing popped out at me that looked bad/horrible/whatever.

Some things to resolve:

handle db migrations

What's the issue with migrations?

Hey @Bouke, I guess this PR is obsolete now that we have the plugin architecture in master. Many thanks for this work which inspired me for my patches.


#318 - log sink alerting changes

preliminary 1 of 2-3 PRs
set test results in
moving to draft 332 branch only


Added flags that allow ipv6 databases to be used

I've added the flags that make the plugin support ipv6 city and country databases.
I was unable to get the rspec test suite running (even in pristine mode), probably due to the separate repository setup, but I've verified that this works using a simple test config and the getting started setup. Test databases were retrieved from maxmind using the geoip-database-contrib package in ubuntu trusty (multiverse).

I tried adding simple ipv6 test using this patch and a google ipv6 dns and couldn't make it work:
  describe "ipv6 query" do
    config <<-CONFIG
      filter {
        geoip {
          source => "ip"
        }
      }
    CONFIG

    sample("ip" => "2001:4860:4860::8888") do
      insist { subject }.include?("geoip")
    end
  end

not sure if the ip isn't in the database or something else isn't working..

getting errors galore with this ... debugging

actually it seems to be working @jsvd  you got to load up the ipv6 db for it to work

+1 please please merge this

@SamSaffron interesting, then maybe this PR should include the fetching of the ipv6 dat files since it won't work without them. I'll try to get that working quickly

At least in the stable ubuntu package, the geocitylite db file is included in the logstash package (in the vendor/ folder). SO not part of this plugin, or fetched dynamically.

@whyscream yep, I meant adding that to the list of stuff to package when creating the plugin gem, like in #8
Actually, @whyscream if you don't mind I'll close this follow up this feature on #8 since it already includes the tests for ipv6, it's only necessary to update the links in the json.

@jsvd Whatever makes you happy, as long as we get ipv6 support released ;)

@jsvd #8 does not have a CLA, probably not worth touching unless you can organize that ... FYI this is how I work around the issue now
https://gist.github.com/SamSaffron/953d3b0de2662b8af205

Jenkins standing by to test this. If you aren't a maintainer, you can ignore this comment. Someone with commit access, please review this and clear it for Jenkins to run; then  say 'jenkins, test it'.

Will be fixed via https://github.com/logstash-plugins/logstash-filter-geoip/pull/64


ARROW-8146: [C++] Add per-filesystem facility to sanitize a path

Some filesystem types (e.g. local filesystem on Windows) might allow slightly different semantics for paths on the user side.  This function allows bridging the gap (but it has to be called explicitly).

cc @jorisvandenbossche

Looks good to me! Do we want to expose this in python as a FileSystem.normalize_path method? (or rather a less visible helper function)

Whenever you need it, you can expose it :-) (but probably not as a public method?)

Yes, sure, once merged, I will update https://github.com/apache/arrow/pull/6655

+1, will merge


Safari does not trigger JS for motion UI on first navigating to web page

How can we reproduce this bug?

we have example at www.pro-ppm.com.  using a safari browser on any device (iPad, iPhone or mac).  In section with class ID main, and div animation-wrapper, we use the multi animation that fades in content in three columns across the screen (responsive).
The animation triggers on all browsers except safari.
safari just hangs without doing anything.  it appears that nothing is initially getting the is-animating class.
but if you refresh the page in safari - the animation triggers correctly.

What did you expect to happen?
JS ...
$(document).foundation();
document.querySelector('.animation-wrapper').classList.add('is-animating');
$('.animation-wrapper').addClass('is-animating');
SCSS*
@include motion-ui-transitions;
@include motion-ui-animations;
@include mui-series {
.thing-one { @include mui-queue(3s, 0s, fade); }
.thing-one-sub { @include mui-queue(2s, 0s, fade); }
.thing-two { @include mui-queue(3s, 0s, fade); }
.thing-two-sub { @include mui-queue(2s, 0s, fade); }
.thing-three { @include mui-queue(3s, 0s, fade); }
.thing-three-sub { @include mui-queue(2s, 0s, fade); }
}
Test case:
www.pro-ppm.com/index.html

The user seems to not exist anymore so we won't likely get any answer.

TIL that user @ghost is what all deleted accounts become.
Should we close @ncoden?

We support the following browsers by the browserslist config:
npx browserslist
npx: Installierte 3 in 2.257s
and_chr 64
and_ff 57
and_qq 1.2
and_uc 11.8
android 62
android 4.4.3-4.4.4
android 4.4
android 4.2-4.3
android 4.1
android 4
android 3
android 2.3
baidu 7.12
bb 10
bb 7
chrome 64
chrome 63
edge 16
edge 15
firefox 58
firefox 57
ie 11
ie 10
ie 9
ie_mob 11
ie_mob 10
ios_saf 11.0-11.2
ios_saf 10.3
ios_saf 10.0-10.2
ios_saf 9.3
ios_saf 9.0-9.2
ios_saf 8.1-8.4
ios_saf 8
ios_saf 7.0-7.1
op_mini all
op_mob 37
op_mob 12.1
opera 50
opera 49
safari 11
safari 10.1
samsung 6.2
samsung 5


Run kubeconfig exec commands in the correct directory

What type of PR is this?
/kind bug
What this PR does / why we need it:
Kubeconfigs with exec specifications should invoke them so that referenced relative paths are relative to the config itself: https://kubernetes.io/docs/concepts/configuration/organize-cluster-access-kubeconfig/#file-references . The current implementation in this library does not do so, so this PR fixes it.
I am not sure how to fix the config/kube_config_test.py tests because they patch kubernetes.config.kube_config.ExecProvider rather than the ExecProvider implementation in this PR, and for a similar reason I suspect the current from kubernetes.config.exec_provider import ExecProvider in config/kube_config.py will cause problems. But once this submodule is updated I think this should work fine, so not sure if there's anything I need to do.
Which issue(s) this PR fixes:
I didn't find a filed bug about this.
Does this PR introduce a user-facing change?
NONE

I believe I've signed the CLA

kubernetes/config -> base/config (https://github.com/kubernetes-client/python/blob/master/kubernetes/config), kubernetes/config is a link to base/config, so kubernetes.config.kube_config.ExecProvider is the ExecProvider in this PR.
could you add tests to verify the fix works?

Sorry I am not very clear on the workflow with this repository. When making this PR I cloned python-base/ only, are you saying that I should I clone the python/ repository as a whole and then somehow make the PR by modifying the submodule?
When I looked into adding tests for kube_config.py, it seemed difficult because the existing ExecProvider tests don't actually test anything about the ExecProvider. Would the best thing be to see if I can add a side-effect to the run() invocation and maybe be able to verify the property is set correctly? Are there better ways? Obviously I already added tests for the ExecProvider itself.

this PR is fine, no need to create a new PR. when you try to run the tests locally, you may need to clone the python repo with the base submodule.
since kube_config_test is a unittest, i think it is fine to do what you suggested, i.e. add a side-effect to the run() invocation and verify the property is set correctly

Added a test to kube_config_test.py

/lgtm
/approve


modifiable strata fields

On multipage survey forms after realtime randomization module assigns value user can return to previous page and edit strata fields.  Can these be set as readonly after randomization?

Nevermind.  This was a REDCap Bug.  Carry on.


T1547.001 - Registry Run Keys Startup Folder

edit the description

Description changed as suggested

Added the following rules to the PR:

T1570 - Lateral Tool Transfer: File Modification To A Remote System
T1570 - Lateral Tool Transfer: File Modification From A Remote System
T1053 - Scheduled Task: create/modify/delete using COM Objects
T1547.001 - Registry Run Keys/ Startup Folder


Job backoff array accessed by number of job attempts instead of failures

Laravel Version: 8.74.0
PHP Version: 7.4.26
Database Driver & Version: N/A

Description:
The documentation about job failures states about backoff:

Using the --backoff option, you may specify how many seconds Laravel should wait before retrying a job that has encountered an exception.

And then:

You may easily configure "exponential" backoffs by returning an array of backoff values from the backoff method

However, when accessing this array, the
Illuminate\Queue\Worker class uses $job->attempts() and not the number of failures as the index.
Since the number of attempts also increases when using the release function, some elements of the backoff array may never be used as the "backoff value" when unhandled exceptions are detected by the queue worker.
For example, if the backoff array is defined as: [5, 50, 500], the following could happen:
- Attempt #1: throw new Exception();
... wait 5 seconds
- Attempt #2: $this->release();
... wait 0 seconds
- Attempt #3: throw new Exception();
... wait 500 seconds
- Attempt #4...

The number of failures is counted in the Cache and used for the max exceptions option.
Shouldn't this value also be used as the index when accessing the backoff array?
Steps To Reproduce:

Create a Job class with a backoff array with at least two elements
In the first attempt of the job, call $this->release()
In the second job attempt, throw an Exception
The backoff time until the third job attempt will be the second element of the backoff array, and not the first.

Example Job class (will never use the 10s backoff)
<?php

namespace App\Jobs;

use Exception;
use Illuminate\Bus\Queueable;
use Illuminate\Contracts\Queue\ShouldBeUnique;
use Illuminate\Contracts\Queue\ShouldQueue;
use Illuminate\Foundation\Bus\Dispatchable;
use Illuminate\Queue\InteractsWithQueue;
use Illuminate\Queue\SerializesModels;

class TestJob implements ShouldQueue
{
    use Dispatchable, InteractsWithQueue, Queueable, SerializesModels;

    public $tries = 10;
    public $maxExceptions = 5;

    public function __construct()
    {
        //
    }

    public function backoff()
    {
        return [10, 20, 30];
    }

    public function handle()
    {
        if ($this->attempts() > 1) throw new Exception();
        $this->release();
    }
}

Let's see how the PR goes.


PDF Math Rendering Issues

Hello,
I created a MarkDown document with the following code:
MarkDownCode
I encountered and issue with the PDF rendering.
It seems the PDF is rendered before the Math Equations rendering is finished hence part of the math is missing.
Moreover some of the math is wrongly rendered.
Here is the PDF (See last page for the rendering issue).
I really liked the feature pasting image automatically uploads them to imgur - Amazing!
Thank You.
P. S.
The HTML code and the "Preview" wasn't synced.
I tried the code on MacDown and the PDF was perfectly rendered and the preview was synced.
Since MacDown is open source, why not copy its preview syncing algorithm?
Thank You.

Your best bet for rendering PDF that looks exactly like the preview is to "Print" the preview to a PDF converter. There are lots of free print to PDF programs out there.
Why? Because JavaScript is being run after the rendering. It's a bit like saying my animations are not showing up in PDF. For most documents, MDE's PDF conversion will work fine, but it will fall down on documents with extensive post processing (MathJax for instance). The only way to really render a page for conversion is to Print it (that I know of).
I'll think about an option to add a, "use this printer to write PDF". In the meantime, experiment with the print to PDF programs and see if that gives you better results.

I assume the last bit is about scroll syncing. MDE actually has a more sophisticated algorithm than MacDown.
MacDown's scrollSync is a simplistic percentage of document height plus scroll. Here's the relevant code.
previewContentBounds.origin.y =
        ratio * (previewDocumentView.frame.size.height
                 - previewContentBounds.size.height);

It's pretty much the same algorithm everyone else uses and it doesn't work on anything but short documents.
I viewed your document and indeed MDE was dead on accurate. If It even correctly accounts for image heights.

Hi Mike,
That's strange, on my MDE its location got reset with each move.
I will look into it again and if I reproduce what I saw I will share with you.
Regarding the PDF, well MacDown generated perfect PDF.
Is that any help?
Thank you for being responsive.
You built the best Windows MarkDown editor, I like it.

MacDown prints to convert to PDF.
- (IBAction)exportPdf:(id)sender
{
    NSSavePanel *panel = [NSSavePanel savePanel];
    panel.allowedFileTypes = @[@"pdf"];
    if (self.presumedFileName)
        panel.nameFieldStringValue = self.presumedFileName;

    NSWindow *w = nil;
    NSArray *windowControllers = self.windowControllers;
    if (windowControllers.count > 0)
        w = [windowControllers[0] window];

    [panel beginSheetModalForWindow:w completionHandler:^(NSInteger result) {
        if (result != NSFileHandlingPanelOKButton)
            return;

        NSDictionary *settings = @{
            NSPrintJobDisposition: NSPrintSaveJob,
            NSPrintJobSavingURL: panel.URL,
        };
        [self printDocumentWithSettings:settings showPrintPanel:NO delegate:nil
                       didPrintSelector:NULL contextInfo:NULL];
    }];
}

Maybe there's a PDF printer by default in Macs. I don't know. Don't use Macs and never will.

Well,
I want to minimize my OS X usage as well :-).
I see your point.
Thank You.

Have you tried one of the Print to PDF converters yet?

I tried using the PDF printer in word using your document. Doesn't work with the Math. The math rendering in JavaScript causes issues. I'll look into this further.

Tried print to PDF myself. Seems to work pretty nice.

In general, I don't see a way to handle PDF printing when post processing in JavaScript occurs. The Print to PDF option is a viable workaround. Not ideal but an acceptable alternative. Feel free reopen if you have additional ideas.

When I tried to use "Print" function from MDE I had an issue.
The "Links" had the "Blue" color yet they were not rendered as links.
I don't think "Print" form the HTML View is a viable solution.
We need something else.
Can it be copied from StackEdit?
Its PDF output is really great.

Ah, I see how they did it. I'm using the same PDF toolkit but they figured out how to wait for the font rendering.  Here's the relevant code:
function waitForJavaScript() {
	if(window.MathJax) {
		// Amazon EC2: fix TeX font detection
		MathJax.Hub.Register.StartupHook("HTML-CSS Jax Startup",function () {
			var HTMLCSS = MathJax.OutputJax["HTML-CSS"];
			HTMLCSS.Font.checkWebFont = function (check,font,callback) {
				if (check.time(callback)) {
					return;
				}
				if (check.total === 0) {
					HTMLCSS.Font.testFont(font);
					setTimeout(check,200);
				} else {
					callback(check.STATUS.OK);
				}
			};
		});
		MathJax.Hub.Queue(function () {
			window.status = 'done';
		});
	}
	else {
		setTimeout(function() {
			window.status = 'done';
		}, 2000);
	}
}

Not sure if it will work in MDE but worth a try.

This is great catch!
The lovely world of Open Source :-).
Mike,
Thank you for this lovely program.

OK, I've got math rendering working.  Anyone have any ideas how to configure wkhtmltopdf to handle this? I tried messing with the MathJax settings but they don't seem to effect wkhtmltopdf's rendering.
example.pdf

@mike-ward , It seems not all math was rendered.
For example, see last line on page 4.
Thank You.

It doesn't render in the HTML preview either.

Hi Mike,
I've been messing with wkhtmltopdf and some html files (nothing created with Markdown Edit), and found the same issue with small fonts, solved it applying this CSS rule to the html:
.MathJax_CHTML {
    font-size: 1em !important;
}

MathJax_CHTML is a class added by MathJax.
This is how I'm running wkhtmltopdf (command line in Windows):
start wkhtmltopdf.exe --javascript-delay 5000 test.xhtml .test.pdf

One more clue, about the example.pdf, maybe reason why it is not rendering is just a MathJax typo, check spaces surrounding $:
$v_P = n(v_Q)$   // renders
$v_P = n(v_Q) $  // doesn't render
$ v_P = n(v_Q)$  // doesn't render
$ v_P = n(v_Q) $ // doesn't render

Hope this helps,
Juan

@barriteau Thanks!

I don't normally run Windows — it's weird to offer help on a program I've never used ;-) but I have experience with MathJax and love contributing around markdown/math — let me know if I can help.
It's possible to run a callback after all math is rendered — would that help?
If MathJax's async rendering is a pain, consider KaTeX which has fast synchronous rendering (a JS function gets formula string, returns HTML string).
How does MDE's builtin printing work?
var document = Browser.Document as IHTMLDocument2;
document?.execCommand("Print", true);

doesn't that print from the existing html view with math already rendered?  or does it tell windows to print the html file?
P.S. There are also ways to produce a document that doesn't require JS.
Obviously you wouldn't want to bundle LaTeX, and probably not a NodeJS runtime.
But you already run JS in the preview.  If you ask MathJax for CHTML or SVG output, or switch to KaTeX, you could export the DOM after rendering, and that HTML would have portable and JS-free math (still relying on some css and webfonts).
IIRC KaTeX doesn't need a DOM, could run under any JS engine, if you can access one from C# (ClearScript?)...
P.S. http://markdownedit.com/markdown-edit-math-equations is 404.

Hi @cben ,
It's great to have you suggestions.
Just one remark, KaTeX isn't good enough yet.
It still doesn't support many environments that MathJaX supports.
Moreover MathJaX, due to its synchronous rendering, supports many features which are important if you use math in the document (Defining many things for the rendering, new commands, etc...).
It will be nice to have a choice (KaTeX or MathJaX) but if only one of them, then MathJaX.
Any recommendations assuming MathJaX is included?


API Key usage is confusing

After filling in the API Key in DeepBI software, clicking "Connection Test" directly will cause an error

This issue has been fixed in 1.2.0. When a test is performed, it is automatically saved for re-testing


fix(button): added support for selected state design tokens

BRIDGE-73
General summary

Button was not using the correct variable for border when selected.
I added some style to take into account the selected state design tokens for the button, so it displays with the right border width variable.
Screenshots

Taking the test

Test OK

Non regression testing ok (test all button variants on SB) ✔
Customize button border via CSS variables ✔

--lumx-button-emphasis-selected-state-hover-theme-light-border-color: green;
    --lumx-button-emphasis-selected-state-active-theme-light-border-color: blue;
    --lumx-button-emphasis-selected-state-default-theme-light-border-color: red;
    --lumx-button-emphasis-selected-state-hover-theme-dark-border-color: cyan;
    --lumx-button-emphasis-selected-state-active-theme-dark-border-color: violet;
    --lumx-button-emphasis-selected-state-default-theme-dark-border-color: orange;
    --lumx-button-emphasis-selected-state-default-border-width: 2px;
    --lumx-button-emphasis-selected-state-hover-border-width: 3px;
    --lumx-button-emphasis-selected-state-active-border-width: 4px;

The missing borders on emphasis high and color (other than light/dark) are expected for now. We'll look into improving this later 👍
https://user-images.githubusercontent.com/939567/197991457-a8fa2ee5-0912-4678-9720-d321aafbb054.mov

I'm working on improving the focus state on another PR. I'm going to handle the issue on my PR.

https://github.com/lumapps/design-system/pull/896


Tuple-like EntryPointMsg variants incorrenctly generated

For tuple-like enum variants, the types are incorrectly generated.
Example:
enum ExecuteMsg {
  UpdateOwnership(::cw_ownable::Action),
}

should generate msg-composer:
export interface AnsHostMessage {
...
  updateOwnership: (funds?: Coin[]) => MsgExecuteContractEncodeObject
...
}

export class AnsHostMessageComposer implements AnsHostMessage {
...
updateOwnership = (action: Action, funds?: Coin[]): MsgExecuteContractEncodeObject => {
  return {
    typeUrl: '/cosmwasm.wasm.v1.MsgExecuteContract',
    value: MsgExecuteContract.fromPartial({
      sender: this.sender,
      contract: this.contractAddress,
      msg: toUtf8(
        JSON.stringify({
          update_ownership: action,
        })
      ),
      funds,
    }),
  }
}
...
}

and msg-builder:
static updateOwnership = (action: Action): ExecuteMsg => {
  return {
    update_ownership: action,
  }
}

Technically it should generate the parameter as:
updateOwnership: (action: CamelCasedProperties<Action>, funds?: Coin[])

And the clients:
updateOwnership = async (
action: Action,
  fee: number | StdFee | 'auto' = 'auto',
  memo?: string,
  funds?: Coin[]
)

Schema snippets:
      {
        "description": "Update the contract's ownership. The `action` to be provided can be either to propose transferring ownership to an account, accept a pending ownership transfer, or renounce the ownership permanently.",
        "type": "object",
        "required": [
          "update_ownership"
        ],
        "properties": {
          "update_ownership": {
            "$ref": "#/definitions/Action"
          }
        },
        "additionalProperties": false
      }

...
      "Action": {
        "description": "Actions that can be taken to alter the contract's ownership",
        "oneOf": [
          {
            "description": "Propose to transfer the contract's ownership to another account, optionally with an expiry time.\n\nCan only be called by the contract's current owner.\n\nAny existing pending ownership transfer is overwritten.",
            "type": "object",
            "required": [
              "transfer_ownership"
            ],
            "properties": {
              "transfer_ownership": {
                "type": "object",
                "required": [
                  "new_owner"
                ],
                "properties": {
                  "expiry": {
                    "anyOf": [
                      {
                        "$ref": "#/definitions/Expiration"
                      },
                      {
                        "type": "null"
                      }
                    ]
                  },
                  "new_owner": {
                    "type": "string"
                  }
                },
                "additionalProperties": false
              }
            },
            "additionalProperties": false
          },
          {
            "description": "Accept the pending ownership transfer.\n\nCan only be called by the pending owner.",
            "type": "string",
            "enum": [
              "accept_ownership"
            ]
          },
          {
            "description": "Give up the contract's ownership and the possibility of appointing a new owner.\n\nCan only be invoked by the contract's current owner.\n\nAny existing pending ownership transfer is canceled.",
            "type": "string",
            "enum": [
              "renounce_ownership"
            ]
          }
        ]
      },

This should have been a known issue due to:
-   bank = async (): Promise<BankResponse> => {
+   bank = async (bank_msg: BankMsg): Promise<BankResponse> => {
      return this.client.queryContractSmart(this.contractAddress, {
-       bank: {}
+       bank: bank_msg
      });
    };
    custom = async (): Promise<CustomResponse> => {
      return this.client.queryContractSmart(this.contractAddress, {
        custom: {}
      });
    };
-   staking = async (): Promise<StakingResponse> => {
+   staking = async (staking_msg: StakingMsg): Promise<StakingResponse> => {
      return this.client.queryContractSmart(this.contractAddress, {
-       staking: {}
+       staking: staking_msg
      });
    };
-   distribution = async (): Promise<DistributionResponse> => {
+   distribution = async (distribution_msg: DistributionMsg): Promise<DistributionResponse> => {
      return this.client.queryContractSmart(this.contractAddress, {
-       distribution: {}
+       distribution: distribution_msg
      });
    };
-   wasm = async (): Promise<WasmResponse> => {
+   wasm = async (wasm_msg: WasmMsg): Promise<WasmResponse> => {
      return this.client.queryContractSmart(this.contractAddress, {
-       wasm: {}
+       wasm: wasm_msg
      });
    };
  }


Update the nan lib, for ios.js and node 0.12

To prevent self reference error in mmmagic. Thanks.

Landed in 7ac89fe87a. Thanks!


btrack on GPU

Dear Alan,
first of all, thanks for creating and sharing this fantastic tool. I was wondering if btrack on GPU is now available and is working.
Thanks a lot!
Ciro

Hi Ciro,
Haven't had much time to work on this unfortunately.  Is there a reason why you need the GPU accelerated version?
Related #39

Yes - arriving at a good configuration can be challenging. Are you able to share any extra details, like a log or a short movie (e.g. #125)? - I might be able to give you some quick advice.


Add opensearch compatibility to the site.

The site is mostly used for single look-up.
I think it would be truly beneficial to automatically register caniuse as a search engine which is accessible directly from omnibox in (at least) Chrome and Firefox: http://stackoverflow.com/a/32687089/255363

Duplicate of #648


Mang/batch norm

Add NHWC support

This one has been updated on the feature branch. So currently I will close this PR