Strong name signature could not be verified.

Hello,
I am trying to attach playwright 0.180.0  into my existing project on .Net Framework and I am receiving following error when trying to execute some basic test:
Error message:
System.IO.FileLoadException : Could not load file or assembly 'PlaywrightSharp, Version=<IP_ADDRESS>, Culture=neutral, >    >    PublicKeyToken=db12f80f85d8ba23' or one of its dependencies. Strong name signature could not be verified.  The assembly may have been tampered with, or it was delay signed but not fully signed with the correct private key. (Exception from HRESULT: 0x80131045)
Sample code:
        [Fact]
        public async Task Test1()
        {
            IPlaywright playwright = await Playwright.CreateAsync();
            PlaywrightSharp.Chromium.IChromiumBrowser browser = await playwright.Chromium.LaunchAsync();
            var page = await browser.NewPageAsync();
            await page.GoToAsync("http://www.bing.com");
            await page.ScreenshotAsync(path: "");
        }

It will be cool to give it a try. ;)

hey @12masta, which .NET version are you using?

.NET Framework 4.7.2

@12masta could you try 0.191.1?

Sure, I am tried and still the same issue. I am tried  0.191.1 and  0.191.12  :( @kblok
System.IO.FileLoadException : Could not load file or assembly 'PlaywrightSharp, Version=<IP_ADDRESS>, Culture=neutral, PublicKeyToken=db12f80f85d8ba23' or one of its dependencies. Strong name signature could not be verified.  The assembly may have been tampered with, or it was delay signed but not fully signed with the correct private key. (Exception from HRESULT: 0x80131045)

Some thoughts?

This worked for me https://github.com/kblok/PlaywrightSharp-NETFramerwork472-DemoApp what can I change there to reproduce your issue?

Thanks, I will try to share some code.

@kblok fwiw i'm getting the same error with puppeteer-sharp on 4.7.2. landed here in googling for recent occurrences of this search term.
will report back if i find anything useful

@mrtristan I released ptpr# 4 a few days ago. Could you check that? If that works I will apply the same change here.

@kblok yep, ty.
i've got 3 projects. A, B, C.
A -> B -> C
with A being 4.7.2 and the other two being netstandard2.0
The PS ref is in C. I bumped it to 4 in A after making that comment and things seemed to work. Going to bump it in C and let it trickle up, but my guess is that it'll work now.

Same error here.
I have a 4.8 Test project and a 4.8 MVC app that it references. I am on using PlayWrightSharp 0.192

Update: I tried launching with the installed edge browser and specified executablePath: @"C:\Program Files (x86)\Microsoft\Edge\Application\msedge.exe" and everything worked.

@12masta are you still seeing this problem? If so, do you have any bindingRedirects setup in the .config files by any chance?

using sn.exe against the current nuget seems to confirm something is wrong
**********************************************************************
** Visual Studio 2019 Developer Command Prompt v16.11.0-pre.2.0
** Copyright (c) 2021 Microsoft Corporation
**********************************************************************

C:\Program Files (x86)\Microsoft Visual Studio\2019\Preview>sn.exe -v C:\Users\simon\.nuget\packages\microsoft.playwright\1.12.2\lib\netstandard2.0\Microsoft.Playwright.dll

Microsoft (R) .NET Framework Strong Name Utility  Version 4.0.30319.0
Copyright (c) Microsoft Corporation.  All rights reserved.

Failed to verify assembly -- Strong name validation failed.

C:\Program Files (x86)\Microsoft Visual Studio\2019\Preview>

same occurs for the net5 version

so i suspect the problem is the assembly that has been shipped was built using <PublicSign>true</PublicSign> https://github.com/microsoft/playwright-dotnet/blob/main/src/Common/SignAssembly.props#L6

@SimonCropp Indeed, we use PublicSign. sn will return an error, however, the relevant bit is set and the assembly is marked as signed, which you can verify:
> CorFlags.exe .\Microsoft.Playwright.dll
Microsoft (R) .NET Framework CorFlags Conversion Tool.  Version  4.8.3928.0
Copyright (c) Microsoft Corporation.  All rights reserved.

Version   : v4.0.30319
CLR Header: 2.5
PE        : PE32
CorFlags  : 0x9
ILONLY    : 1
32BITREQ  : 0
32BITPREF : 0
Signed    : 1

Technically, for OSS projects, this seems to be the way to go. However, the following is called out as a problem:

You will not be able to install the assembly to the Global Assembly Cache (GAC)
You will not be able to load the assembly in an AppDomain where shadow copying is turned on.
You will not be able to load the assembly in a partially trusted AppDomain

I wonder if any of the above might be the cause of the validation error @12masta was seeing though?

@SimonCropp Indeed, we use PublicSign. sn will return an error, however, the relevant bit is set and the assembly is marked as signed, which you can verify:
> CorFlags.exe .\Microsoft.Playwright.dll
Microsoft (R) .NET Framework CorFlags Conversion Tool.  Version  4.8.3928.0
Copyright (c) Microsoft Corporation.  All rights reserved.

Version   : v4.0.30319
CLR Header: 2.5
PE        : PE32
CorFlags  : 0x9
ILONLY    : 1
32BITREQ  : 0
32BITPREF : 0
Signed    : 1

Technically, for OSS projects, this seems to be the way to go. However, the following is called out as a problem:

You will not be able to install the assembly to the Global Assembly Cache (GAC)
You will not be able to load the assembly in an AppDomain where shadow copying is turned on.
You will not be able to load the assembly in a partially trusted AppDomain

I wonder if any of the above might be the cause of the validation error @12masta was seeing though?

@avodovnik I got this same error. Partial trust might be something to think about. By default no executables or scripts are allowed to run unless there is an exception in AppLocker or the program runs from the C drive. The location of my test console app is within an exception area, I don't know if playwright or its browser is trying to call out to other areas that are blocked. When I used to officially installed edge exe I did not get the error.

@Jojoshua are you saying you're running your app in a partially trusted AppDomain? Can you give me more details about that use case?

@Jojoshua are you saying you're running your app in a partially trusted AppDomain? Can you give me more details about that use case?

@avodovnik I am not sure what defines partial trust app domain but I can say that AppLocker policy may be in effect here where it is trusting my developer sandbox folder but not explicitly other executables/scripts that are spawned in other folders on the machine during program execution.

@Jojoshua so, it's possible that's the browsers - they would be installed, by default, under %AppData%\Local\ms-playwright which might be blocked.
Are you seeing a specific problem/error with loading DLLs, or are you seeing an exception that might be related to browsers?

@Jojoshua so, it's possible that's the browsers - they would be installed, by default, under %AppData%\Local\ms-playwright which might be blocked.
Are you seeing a specific problem/error with loading DLLs, or are you seeing an exception that might be related to browsers?

@avodovnik I saw the same strong name error unless I launch using the the official edge browser. Leads me to think something (maybe AppLocker) doesn't like the playwright browser location or the actual chromium exe. I tested this during version 0.92

@jojoshua I wonder if you can try setting the PLAYWRIGHT_BROWSERS_PATH environmental variable, then running playwright install once again. I would imagine the reason AppLocker is letting Edge through is because IIRC it's the only one where we don't have a custom build (cc: @aslushnikov can you confirm that's true?) and the exe would therefore be trusted. Anyway, since you have a way "around it", let's give this a go, and see?

@Jojoshua I wonder if you can try setting the PLAYWRIGHT_BROWSERS_PATH environmental variable, then running playwright install once again. I would imagine the reason AppLocker is letting Edge through is because IIRC it's the only one where we don't have a custom build (cc: @aslushnikov can you confirm that's true?) and the exe would therefore be trusted. Anyway, since you have a way "around it", let's give this a go, and see?

@avodovnik Do you mean set PLAYWRIGHT_BROWSERS_PATH to a location that is exempt from AppLocker? Also, what exactly do you mean by running 'playwright install' once again...I did not manually invoke any script to install, this all automatically happened when I pulled in the package and tried to execute. Maybe the new version works differently? I would hope that in the .NET ecosystem that a .NET developer using playwright would not need to necessarily know how to configure or work with nodejs directly. For example, can I set PLAYWRIGHT_BROWSERS_PATH as part of my project appSetting?

Hello,
I am trying to attach playwright 0.180.0 into my existing project on .Net Framework and I am receiving following error when trying to execute some basic test:
Error message:
System.IO.FileLoadException : Could not load file or assembly 'PlaywrightSharp, Version=<IP_ADDRESS>, Culture=neutral, > > PublicKeyToken=db12f80f85d8ba23' or one of its dependencies. Strong name signature could not be verified. The assembly may have been tampered with, or it was delay signed but not fully signed with the correct private key. (Exception from HRESULT: 0x80131045)
Sample code:
        [Fact]
        public async Task Test1()
        {
            IPlaywright playwright = await Playwright.CreateAsync();
            PlaywrightSharp.Chromium.IChromiumBrowser browser = await playwright.Chromium.LaunchAsync();
            var page = await browser.NewPageAsync();
            await page.GoToAsync("http://www.bing.com");
            await page.ScreenshotAsync(path: "");
        }

It will be cool to give it a try. ;)

you can disable strong name validation till the time the issue is resolved.
https://stackoverflow.com/questions/21763822/how-to-disable-strong-name-verification-for-all-net-assembly

Disabling strong name validation is definitely not something we'd recommend.
After investigation of this, we've switched over to fully signed assemblies (see #1570). This should fix the assembly loading problems, when using Playwright in fully trusted scenarios.

@avodovnik Do you mean set PLAYWRIGHT_BROWSERS_PATH to a location that is exempt from AppLocker?

Yes, @jojoshua, that's what I mean. The browsers themselves are obviously still executables, and therefore might be subject to checks by AppLocker.

Also, what exactly do you mean by running 'playwright install' once again...I did not manually invoke any script to install, this all automatically happened when I pulled in the package and tried to execute. Maybe the new version works differently? I would hope that in the .NET ecosystem that a .NET developer using playwright would not need to necessarily know how to configure or work with nodejs directly. For example, can I set PLAYWRIGHT_BROWSERS_PATH as part of my project appSetting?

That's a really good suggestion (using appSettings) and we'll look into adding that. As for running playwright install, this is something that has to be done when updating versions, and it should be (for now), done manually. Let us know if the docs aren't clear enough for this and we'll update them.

Closing this issue for now, as the original problem is fixed. Feel free to open new issues, if you encounter them.


Where should I add Weylus?

https://github.com/H-M-H/Weylus

Well that's a good question - I think this may be good motivation to rename the On-screen Keyboards section to "Alternative Input" so it could accommodate the current OSK entry as well as Weylus.


Resolved testing failures in BanditPAM++

Fixed the typo inside the new BanditPAM++ code
Fixed the testing failures: If BanditPAM and FastPAM1 produce different clustering results, we compare their losses. If BanditPAM's losses are smaller than FastPAM1, we ignore the mismatch.

Closed the PR as the issues were solved better in v4.0.3_prelease

@lukeleeai could you delete this branch if the commits are already in v4.0.3_prerelease?


French translation

Hi there,
I've started working on the French translation. Haven't gotten far but I'm about to solicit community help so I thought a PR would be the appropriate way to gather assistance from my fellow Frenchies.
Thanks again for all your work on this project. I'm glad it's finally on ruby-lang.org.
Useful resources:

https://www.thoughtco.com/french-symbols-and-punctuation-marks-4086511

Hi,
That is good news. The more translations the merrier. It is indeed a lot of work. The Dutch translation took me 3 days if I remember correct. I'm afraid my knowledge of French is far too limited to help out ...

Hey @olivierlacan, that is awesome \o/
I started a bunch of review comments, but perhaps you would rather I contribute as commits?

@sunny I'm down for commits too but the comments are really useful as well.

I also did other minor fixes as a pull-request over your branch : https://github.com/olivierlacan/TryRuby/pull/1

Hi guys, please let me know if I can do anything. I figured that since not all lesson content is translated I don't have to merge yet.

@easydatawarehousing All good. Still a WIP. :-)


[ENH] Changing and Adding features to CNN Classifier

Is your feature request related to a problem? Please describe.
As discussed in the daily-stand up on 05-07-12, I wanted to propose some enhancements / changes to CNN Classifier (and hence to Deep Learning based estimators)
Describe the solution you'd like

[ ] Moving the convert_y_to_keras function in BaseDeepClassifier into a utils function
[ ] Enable returning the label_encoder and one hot encoder to the user from convert_y_to_keras (it can be useful for the users in case they want to use it to encode other data / or to decode data later on)
[ ] Add option to have multiple linear layers in output layer / different activation function. Also add the use_bias parameter to output layer. (simply as a customisation option to users, multiple linear layers are useful to create deeper networks depending on dataset / choice of activation function)
[ ] option to choose optimiser (usually its Adam but just for customisation's sake we can give this as option as well). Also should allow specifying lr either within the optimiser or as parameter to the class itself.
[ ] Accept parameter as input in CNNClassifier to specify random seed
[ ] Train/fit the model on GPU depending on users choice (maybe take an input parameter for this as well)
[ ] Option to view / return the loss of fit (either as a graph or simply as a list / array )

Additional context
These are some additional features / changes I wanted to add to the CNNClasifier. Any inputs / additional comments are appreciated

Yes, great additions, great suggestions!

Also should allow specifying lr either within the optimiser or as parameter to the class itself.

I think this one is unnecessary, because you can pass the lr to the optimizer, which is an object you would then pass to the classifier class constructor. We do not need two places to pass it?
Or, do you see a good argument why it would be useful to the user to pass lr separately? Or am I simply misunderstanding the suggestion?

can we keep the defaults the same to maintain reproducibility of results?

Changing defaults would require deprecation, so I would advise against changing defaults.

Another thing I was planning was to have validation_split as a parameter to make it easier for users. It is simply an additional parameter for us in the model.fit method, and should not be difficult. Only issue with this is are we going in accordance to other sktime estimators, do they have functionality to automate validation? In which case we should probably either add it for all (simply use sklearn's train_test_split or not use here as well)

reopening as there are still two checkboxes open, we need to decide what to do with them before we close

@fkiraly about the two open checkboxes:
There is already an issue opened for GPU functionality, which is in progress: https://github.com/alan-turing-institute/sktime/issues/3020
Issue with the first checkbox (related to convert_y_to_keras was related to where should we move it. If we do decide to have a common DL class as discussed here: https://github.com/alan-turing-institute/sktime/issues/3190 we can simply move it there. Otherwise we might need to create a utils file for it.

Ok. Closing then, as two remaining bullet points are tracked in #3020 and #3190.


endpoint not connecting on service created with port

Version - v0.0.3-rc6
Steps:

rio run -p 80/http --name test/svc --scale=3 ibuildthecloud/demo:v1
rio ps
Grab the endpoint once the state of service becomes active
curl -v

results:
curl: (7) Failed to connect to port 80: Connection refused

Version v0.0.3
Verified fixed


Missing transformer part in the code?

Hi, I did a quick look through the code, but could not find the transformer part in the model structure, is this repo the full implementation of your paper?

Hi, thanks for your interest in our work. Because the paper has not been submitted, there might be some modifications. We will make a complete version with transformer part as soon as the results are fixed.

Got it, thanks for your reply and looking forward to your further release!

The transformer code has been added. :)

Thanks for the notification, really appreciate your opensource!


Codehash compare

PR description
A hacked build of #5889 to compare the code storage before and after changes to check for inconsistencies.
Fixed Issue(s)

Test was successful so closing and backporting fixes to main PR


Request for Y-axis annotation example

The chart CandleStickChartWithAnnotate shows an example of how to annotation labels and placing a graphic above a date.  I've been struggling to generate an example that will annotate a graphic beside the yaxis (price). For example, I want to mark a price on the y-axis for my viewers to keep an eye on (ie. their Average Cost of Buying).
What should I change or add to this to a marker beside a price? Is this feature just missing?
		const annotationProps = { 			fontFamily: "Glyphicons Halflings", 			fontSize: 20, 			fill: "#060F8F", 			opacity: 0.8, 			text: "B", 			y: ({ yScale }) => yScale.range()[0], 			onClick: console.log.bind(console), 			tooltip: d => timeFormat("%B")(d.date), 			// onMouseOver: console.log.bind(console), 		};

I think you can use Label
<Label
  x={yAxisLabelX} y={yAxisLabelY}
  rotate={-90}
  fontSize="12" text="YAxis Label here" />

I you want use annotation on yAxis you can pass x to annotationProps
var annotationProps = {
...
  x: ({ xScale }) => xScale.range()[1],
..
};

and change when as example
<Annotate with={LabelAnnotation}
  when={d => +d.high.toFixed(0) === 46}
  usingProps={annotationProps} />

plunker

sounds like you want something like an EdgeIndicator but does not disappear or change based on the pan/zoom actions.
like show the latest price always irrespective of where you have panned, or may be show a price of a limit order which if breached will trigger an order. for such cases, you would have to create a copy of EdgeIndicator and edit it to get your requirement.
I wanted to create an interactive indicator for this, where one can click and drag such an edge indicator and it stays right there on the y irrespective of the pan position. I welcome a PR for such a feature (but on the next branch)

What rrag described is pretty much what I am looking for. One of my use cases is to generate an alarm if a price moves through a certain point. Yes, other applications of it can be to trigger an order. I wasn't thinking that far ahead but what a great idea!
It appears that you already implemented the touch support for the axiszoom in the next branch -- thanks! I can dedicate my time to this feature instead. I'm still pretty new to reactjs so no promises, but I can try :).

Just issued a PR for half the feature you mentioned @rrag . I haven't figured out the drag and drop part yet but I can do that next.

thanks for the PR https://github.com/rrag/react-stockcharts/pull/285


Tweet IDs

Hi Ignacio,
I used your examples to build a Twitter bot: most of the functionality works great but I am having trouble parsing Tweet IDs from search API call.
Search API call returns 18 digit integer as Tweet ID.  When I decode the JSON output, ID is truncated to 14 Digit float and no longer usable for liking / favoriting.
Can you please share suggestions on how you would handle this?  Will be great if you can show code to handle Twitter Search API results properly.
Thanks!

Take a look at this example on searching in Twitter's docs. Instead of using id you just use id_str. That also applies to many other numeric attributes (like user ids). They also have a string representation that you can use.
Hope this helps.

Thank you Ignacio - I am looking into it now.


commit more often to reduce the chance that the background job races …

…our blocking_commit

bors try

bors try

bors try


AutoForm displaying propertyName not propertySchema.label

I'm pretty sure I'm following the "Adding a field" instructions in the Custom Post Fields documentation correctly, otherwise I'd consider this a Stack Overflow customization question. So apologies in advance if I'm missing something straightforward. I'm trying to add a Post field like this:
var someProperty = {
  propertyName: 'somePropertyName',
  propertySchema: {
    type: String,
    optional: true,
    label: 'Some Property Label'
  }
}

addToPostSchema.push(someProperty);

This is what I get in the UI:

Yes, that's a bug. Fixing it soon :)
On Sun, Jan 18, 2015 at 6:31 AM, Jay Tolla<EMAIL_ADDRESS>wrote:

I'm pretty sure I'm following the "Adding a field" instructions in the
Custom Post Fields documentation correctly, otherwise I'd consider this a
Stack Overflow customization question. So apologies in advance if I'm
missing something straightforward. I'm trying to add a field to add a Post
field like this:
var someProperty = {
propertyName: 'somePropertyName',
propertySchema: {
type: String,
optional: true,
label: 'Some Property Label'
}
}
addToPostSchema.push(someProperty);
This is what I get in the UI:
[image: screen shot 2015-01-17 at 4 21 37 pm]
https://cloud.githubusercontent.com/assets/1049166/5790438/3ca00718-9e66-11e4-8ed3-a6907e0cbbe3.png
—
Reply to this email directly or view it on GitHub
https://github.com/TelescopeJS/Telescope/issues/702.

Ahh, ok. Glad I wasn't missing something. Thanks for all the excellent work wrt Telescope and the Meteor community!!

Fixed in devel.


EVP,KDF: add error code on alloc failure

Fixes #5781
Ping @mspncp and @alex
Deserve a backport to 1.1.0.

@FdaSilvaYY, thanks for taking up the work :-). While you're at it: I noticed just recently that int_ctx_new() (and as a consequence EVP_DigestSignInit() fails silently if no key is loaded, see crypto/evp/pmeth_lib.c, #L105 and the callstack below.
    #0  int_ctx_new (pkey=0x0, e=0x0, id=-1) at pmeth_lib.c:138
    #1  0x00007ffff6dd6cdd in EVP_PKEY_CTX_new (pkey=0x0, e=0x0) at pmeth_lib.c:273
    #2  0x00007ffff6dd8c95 in do_sigver_init (ctx=0x5555557a35b0, pctx=0x0, type=0x0, e=0x0, pkey=0x0, ver=0) at m_sigver.c:72
    #3  0x00007ffff6dd8efc in EVP_DigestSignInit (ctx=0x5555557a35b0, pctx=0x0, type=0x0, e=0x0, pkey=0x0) at m_sigver.c:119

And there are probably some more locations of that kind:
msp@msppc:~/src/openssl$ pcregrep -rnM '\([!]pkey[ )].*\n.*return'  crypto ssl
crypto/cms/cms_env.c:62:        if (!pkey)
            return 0;
crypto/pkcs7/pk7_doit.c:98:    if (!pkey)
        return 0;
crypto/evp/pmeth_lib.c:105:        if (!pkey || !pkey->ameth)
            return NULL;
crypto/x509/x_pubkey.c:226:    if (!pkey)
        return NULL;
crypto/x509/x_pubkey.c:266:    if (!pkey)
        return NULL;
crypto/x509/x_pubkey.c:306:    if (!pkey)
        return NULL;
crypto/pkcs12/p12_kiss.c:194:        if (!pkey || *pkey)
            return 1;
crypto/pkcs12/p12_kiss.c:202:        if (!pkey || *pkey)
            return 1;

Would you mind having a look at those, too? (In this PR or another...)

Let's keep this simple. I keep aside some changes for a next PR.
@bernd-edlinger  Fixed and rebased
@mspncp  thanks for the suggestion, I may have spare time during this long week-end.


feat!: optional azuread admin

BREAKING CHANGE: variable azuread_admin_login removed
BREAKING CHANGE: variable azuread_admin_object_id removed

Conditionally creating blocks: https://github.com/hashicorp/terraform/issues/19853#issuecomment-589988711


added initial version of AMSGrad

@kashif Thanks again for this interesting PR. Please let us know when you consider it ready for review.
As a side note, a plot reproducing the experiments in the paper  (comparison with Adam) would be great.

@hvy sure thats what I intend to do...

thanks to @tkerola for the comparison below:
Loss:

@hvy so would be ready for an initial discussion... in keras, and pytorch PR I have added this as an option to Adam optimizer... would it make sense to do the same here? Its a bit more complicated since the if, else will be more messy?

For the record, this PR is synced with #4050 since they are closely related (potentially working with the same API).

Sorry for the delayed response. I  added some smaller comments. Do you mind taking another look?

I couldn't come up with a straight forward implementation and maybe you have considered this, but do you think it is possible to reduce the kernel code duplications?

@hvy yes I didn't want to add if-else in the cuda kernel... but perhaps the newer cuda compilers can use predicated execution to optimize the kernel... its just when i learned cuda it was discouraged to use if-else... have things changed?

I am not aware of any optimizations done by the compiler (will double check) but I did some benchmarks with a naively implemented unified kernel with if-else (takes an additional bool whether or not amsgrad is used)

Kernel implementation
amsgrad
Kernel average running time (ms)

Unified kernels w/ if-else
false
0.10363

Unified kernels w/ if-else
true
0.11507

Separate Kernel w/o if-else
false (existing Adam)
0.096428

Separate Kernel w/o if-else
true
0.10964

(Average over 50000 iters on train_mnist.py)
What do you think? Maybe it is okay to keep it as is. I am also not sure how to deal with the vhat kernel output that's only required when using amsgrad. In the experiments above, I simply always created the vhat ndarray.

@hvy thank you for the benchmarks! 🙇  I also think to keep it as is...

Okay, then let's leave it as it is right now.
Do you mind fixing the flake8 error which seems to be caused by a trailing whitespace and maybe consider https://github.com/chainer/chainer/pull/4032/files#r168401871 ?

jenkins, test this please.

LGTM, @tkerola do you think this PR is ready to get merged?

To reduce the duplicated GPU code, how about using string formatting? 'vhat = {};'.format('max(vhat, v)' if hp.amsgrad else 'v'. Or would that look cryptic?

@tkerola I will try it and see how cryptic it looks...

@tkerola it would look something like:
        kernel = '''
            m += one_minus_beta1 * (grad - m);
            v += one_minus_beta2 * (grad * grad - v);
            vhat = {};
            param -= eta * (lr * m / (sqrt(vhat) + eps) +
                            weight_decay_rate * param);
        '''.format('max(vhat, v)' if hp.amsgrad else 'v')
        cuda.elementwise(
            'T grad, T lr, T one_minus_beta1, T one_minus_beta2, T eps, \
                T eta, T weight_decay_rate',
            'T param, T m, T v, T vhat',
            kernel, 'adam')(grad, self.lr, 1 - hp.beta1,
                    1 - hp.beta2, hp.eps,
                    hp.eta, hp.weight_decay_rate,
                    param.data, self.state['m'], self.state['v'],
                    self.state['vhat'] if hp.amsgrad else self.state['v'])

Note I would need to send some argument for vhat for the case when hp.amsgrad = False since its in the argument for both cases... at the moment I am sending it v which is doing an unnecessary copy of vhat = v in that case... what do you think?

Thanks for the suggestion! To avoid an unnecessary copy, how about writing it perhaps like this?
kernel_params = 'T grad, T lr, T one_minus_beta1, T one_minus_beta2, T eps, \
                 T eta, T weight_decay_rate'
kernel_rets = 'T param, T m, T v'
kernel = '''
    m += one_minus_beta1 * (grad - m);
    v += one_minus_beta2 * (grad * grad - v);
    {}
    param -= eta * (lr * m / (sqrt({}) + eps) +
                    weight_decay_rate * param);
'''.format(*(('vhat = max(vhat, v);', 'vhat') if hp.amsgrad else ('', 'v')))
args = (grad, self.lr, 1 - hp.beta1,
            1 - hp.beta2, hp.eps,
            hp.eta, hp.weight_decay_rate,
            param.data, self.state['m'], self.state['v'])
if hp.amsgrad:
   args += (self.state['vhat'],)
   kernel_rets += ', T vhat'
cuda.elementwise(
    kernel_params,
    kernel_rets,
    kernel, 'adam')(*args)

@kashif Thanks for the quick response as always.
I am starting to think that the original separate kernel implementations were preferable, both in terms of readability and performance. I am unsure whether coupling the code tightly to the vhat is really maintainable in the long run. Sorry for the inconvenience but would you mind reverting it back to your original implementation? Of course, if you have other opinions, please let us know! @tkerola

I think you might be right. Sorry for the inconvenience.

@hvy @tkerola no problem, I will revert it

jenkins, test this please.

It seems like the doctest build is failing in our CI environment due to some indentation error. Could you try to to resolve it (make html from the docs directory)?

@hvy done thanks!

jenkins, test this please.

Thanks for the quick fix. I just restarted the CI build!

jenkins, test this please.

jenkins, test this please.

@kashif thanks for the long-running PR, LGTM!

thank you @hvy it was a great learning experience!


Handle unicode fractions

Using https://unicode-search.net/unicode-namesearch.pl?term=FRACTION  and
import unicodedata
unicodedata.name(character, default="unkown")

it should be possible to suggest the replacement by a real fraction.

Perhaps include "dash" for mistaken minus signs.

Closing this without adding unicode for less than or equal, etc., or any kind of dash used instead of a minus sign. Will reconsider if a user reports this as an issue.


disable Quick Accent while playing videogames

Description of the new feature / enhancement
auto disable Quick Accent while playing videogames
Scenario when this would be used?
disable Quick Accent while playing videogames
Supporting information
disable Quick Accent while playing videogames

/dup #22205 or #20349


Is there any permanent link to download Eclipse Temurin?

Question
Is there any way to get a permanent link to download Eclipse Temurin?
If not, could it be a feature under consideration.
Context
Some dists (such as Oracle, Microsoft, etc) provide permanent links to download jdksCould Temurin provide this feature as well.
For Example, to download jdk8, URL  https://adoptium.net/zh-CN/download/8/JDK_8_windows_x64_latest.msi(I made this up) always get the latest version of jdk8 installer for Windows x64, similiar to other platform/architecture and the checksum.
It would be very nice for automatic tools and sync platfrom if it is available.
Regardings
Java version: Not specified
Your operating system and platform: Not specified

We do already provide the API at api.adoptium.net which allows you to get a redirect to the latest download. For example: https://api.adoptium.net/v3/binary/latest/8/ga/windows/x64/jdk/hotspot/normal/adoptium is (almost) the link you're looking for. I say almost because that's the zip file, not the MSI installer. Is that adequate for your needs?
It is possible to locate the MSI installer but it's a bit more work, for example you can retrieve the JSON from:
https://api.adoptium.net/v3/assets/feature_releases/8/ga?architecture=x64&image_type=jdk&jvm_impl=hotspot&os=windows&page=0&page_size=1&project=jdk&vendor=eclipse and find the binaries/installer/link in there get the underlying URL to the MSI. It's not ideal, but gives you an option for now if you need to automatically download and install the MSI file
I would also suggest raising a feature request at https://github.com/adoptium/api.adoptium.net/issues/new/choose to make the installers more easily accessible in a single API call in the same way as the zip ones, as I hadn't realised we didn't already have that funtionality and it would be a good addition.
References:

API "Swagger" UI for generating and testing api calls
Some API examples for pulling "early access" builds. While that post is about ea builds, in general the GA (release) versions can be obtained by replacing "ea" with "ga" in the API links

Hope that helps!


Update development branch with our own conditional formatter plugin

Our own conditional formatter plugin!
Features:

Hiding document info on your commands!
Hide different part of your documents for different versions! (e.g. Hide answers in student's copy, but show them in TA/Prof/Lecture's version) However, do note that this can only be fully functional in later stages. Right now it is only tested with a pseudo document filename. This reflects that if document version/name is attainable, in the latter stages of development, this plugin will work.

Usage:

Inline usage: Start off the inline text/info you would like to hide with =>hide and end the line with <= (Note: this syntax can be changed if the you guys find it not acceptable!)
Block usage: Start off with ==>hide (note the extra =), AND on a new paragraph type your text/info that you want to hide. Again, on a new paragraph, end off with <==.
Example:// This is for Block usage.
==>hide
This is where you type
the chunk of info/text to
hide, then end off with
<==

Special Use Case:// This is to test a special use case for Block hiding. The conditional hiding for
// different versions of a document. First start off with your version/file name,
// use this exact naming convention for now.
fileName:*Input your doc/version name here*

==>hide:*Input doc/version name here as well*
This is where you type
the chunk of info/text to
hide, then end off with
<==

==>hide:*Input a different name here*
Test test test
<==

P.S.: You can even hide code blocks etc!

In this commit,
the code block will only hide when there is a space immediately after ==>hide.
Is this the intended behaviour?
==>hide
this hide the block
<==

==>hide
this does not
<==

==>hide
this hide the block
<==

==>hide
this does not
<==

This bug has been resolved in latest push! :) Thanks!


Issue generating documentation

I'm having issues generating documentation with the following schema:
{
  "$schema": "http://json-schema.org/draft-04/hyper-schema#",
  "id": "schemata/oauth2",
  "title": "Captivated Customer - OAuth2",
  "description": "Managing app accesss using OAuth2",
  "type": ["object"],
  "definitions": {
    "access_token": {
      "description": "Credentials used to access protected resources",
      "example": "asdf",
      "type": ["string"]
    }
  },
  "links": [
    {
      "title": "Request a User Access Token",
      "description": "Obtain a new access token for a specific user",
      "href": "/oauth/token",
      "method": "POST",
      "rel": "create"
    }
  ]
}

which combines into:
{
  "$schema": "http://json-schema.org/draft-04/hyper-schema",
  "definitions": {
    "oauth2": {
      "$schema": "http://json-schema.org/draft-04/hyper-schema#",
      "title": "Captivated Customer - OAuth2",
      "description": "Managing app accesss using OAuth2",
      "type": [
        "object"
      ],
      "definitions": {
        "access_token": {
          "description": "Credentials used to access protected resources",
          "example": "asdf",
          "type": [
            "string"
          ]
        }
      },
      "links": [
        {
          "title": "Request a User Access Token",
          "description": "Obtain a new access token for a specific user",
          "href": "/oauth/token",
          "method": "POST",
          "rel": "create"
        }
      ]
    }
  },
  "properties": {
    "oauth2": {
      "$ref": "#/definitions/oauth2"
    }
  },
  "type": [
    "object"
  ]
}

When running doc I get the following:
/Users/anthonator/.rbenv/versions/2.2.0/gemsets/captivated-customer-api/gems/json-1.8.2/lib/json/common.rb:285:in `generate': only generation of JSON objects or arrays allowed (JSON::GeneratorError)
	from /Users/anthonator/.rbenv/versions/2.2.0/gemsets/captivated-customer-api/gems/json-1.8.2/lib/json/common.rb:285:in `pretty_generate'
	from /Users/anthonator/.rbenv/versions/2.2.0/gemsets/captivated-customer-api/gems/prmd-0.7.0/lib/prmd/templates/schemata/link.md.erb:71:in `result'
	from /Users/anthonator/.rbenv/versions/2.2.0/gemsets/captivated-customer-api/gems/erubis-2.7.0/lib/erubis/evaluator.rb:65:in `eval'
	from /Users/anthonator/.rbenv/versions/2.2.0/gemsets/captivated-customer-api/gems/erubis-2.7.0/lib/erubis/evaluator.rb:65:in `result'
	from /Users/anthonator/.rbenv/versions/2.2.0/gemsets/captivated-customer-api/gems/prmd-0.7.0/lib/prmd/template.rb:64:in `render'
	from /Users/anthonator/.rbenv/versions/2.2.0/gemsets/captivated-customer-api/gems/prmd-0.7.0/lib/prmd/templates/schemata.md.erb:28:in `block in result'
	from /Users/anthonator/.rbenv/versions/2.2.0/gemsets/captivated-customer-api/gems/prmd-0.7.0/lib/prmd/templates/schemata.md.erb:26:in `each'
	from /Users/anthonator/.rbenv/versions/2.2.0/gemsets/captivated-customer-api/gems/prmd-0.7.0/lib/prmd/templates/schemata.md.erb:26:in `result'
	from /Users/anthonator/.rbenv/versions/2.2.0/gemsets/captivated-customer-api/gems/erubis-2.7.0/lib/erubis/evaluator.rb:65:in `eval'
	from /Users/anthonator/.rbenv/versions/2.2.0/gemsets/captivated-customer-api/gems/erubis-2.7.0/lib/erubis/evaluator.rb:65:in `result'
	from /Users/anthonator/.rbenv/versions/2.2.0/gemsets/captivated-customer-api/gems/prmd-0.7.0/lib/prmd/templates/schema.erb:7:in `block in result'
	from /Users/anthonator/.rbenv/versions/2.2.0/gemsets/captivated-customer-api/gems/prmd-0.7.0/lib/prmd/templates/schema.erb:4:in `each'
	from /Users/anthonator/.rbenv/versions/2.2.0/gemsets/captivated-customer-api/gems/prmd-0.7.0/lib/prmd/templates/schema.erb:4:in `map'
	from /Users/anthonator/.rbenv/versions/2.2.0/gemsets/captivated-customer-api/gems/prmd-0.7.0/lib/prmd/templates/schema.erb:4:in `result'
	from /Users/anthonator/.rbenv/versions/2.2.0/gemsets/captivated-customer-api/gems/erubis-2.7.0/lib/erubis/evaluator.rb:65:in `eval'
	from /Users/anthonator/.rbenv/versions/2.2.0/gemsets/captivated-customer-api/gems/erubis-2.7.0/lib/erubis/evaluator.rb:65:in `result'
	from /Users/anthonator/.rbenv/versions/2.2.0/gemsets/captivated-customer-api/gems/prmd-0.7.0/lib/prmd/core/renderer.rb:49:in `render'
	from /Users/anthonator/.rbenv/versions/2.2.0/gemsets/captivated-customer-api/gems/prmd-0.7.0/lib/prmd/commands/render.rb:34:in `render'
	from /Users/anthonator/.rbenv/versions/2.2.0/gemsets/captivated-customer-api/gems/prmd-0.7.0/lib/prmd/cli/doc.rb:65:in `execute'
	from /Users/anthonator/.rbenv/versions/2.2.0/gemsets/captivated-customer-api/gems/prmd-0.7.0/lib/prmd/cli/base.rb:141:in `run'
	from /Users/anthonator/.rbenv/versions/2.2.0/gemsets/captivated-customer-api/gems/prmd-0.7.0/lib/prmd/cli.rb:93:in `run'
	from /Users/anthonator/.rbenv/versions/2.2.0/gemsets/captivated-customer-api/gems/prmd-0.7.0/bin/prmd:6:in `<top (required)>'
	from /Users/anthonator/.rbenv/versions/2.2.0/gemsets/captivated-customer-api/bin/prmd:23:in `load'
	from /Users/anthonator/.rbenv/versions/2.2.0/gemsets/captivated-customer-api/bin/prmd:23:in `<main>'

I'm obviously doing something wrong but for the life of me I can't figure it out. verify doesn't give me anything useful.

Yeah, that message is NOT helpful. In order to generate what the example response should look like, it expects that there be a property key at the top level which lists the attributes that should appear in the serialization. It looks like not having that tries to generate json from nil and fails. Does that make sense/help? Thanks!

Yussssssssss!
This works:
{
  "$schema": "http://json-schema.org/draft-04/hyper-schema#",
  "id": "schemata/oauth2",
  "title": "Captivated Customer - OAuth2",
  "description": "Managing app accesss using OAuth2",
  "type": ["object"],
  "definitions": {
    "access_token": {
      "description": "Credentials used to access protected resources",
      "example": "asdf",
      "type": ["string"]
    }
  },
  "links": [
    {
      "title": "Request a User Access Token",
      "description": "Obtain a new access token for a specific user",
      "href": "/oauth/token",
      "method": "POST",
      "rel": "create"
    }
  ],
  "properties": {

  }
}

Adding the empty properties fixed it.

Sure thing, if there is a place where we could better document or make that clearer, let me know. If nothing else, maybe we should file an issue such that this situation would fail verify or something?

Well, verify didn't properly validate the schema against my JSON. So I do think it's a failing with verify.  So anything we can do to let people know what's wrong with their JSON would be great.

So, just getting a chance to dig back in to this. It verifies based on the value for $schema. What you have IS valid for hyper-schema, but interagent is a little more picky (in order to facilitate examples). I think if you change to using $schema of http://interagent.github.io/interagent-hyper-schema, it should be more strict and error on things like this (or other things that might prevent prmd from operating). Hope that helps, thanks!


Bugfixes

$employeeNumber was never initiated, added that.
If running the script once and then running it again, the user would exist and it would continue and loop through all names without adding anything. Fixed that by adding $employeeNumber = $employeeNumber+1 before the continue statement.

$employeeNumber fix is already implemented, and Spelling fix would be gramatically incorrect.
If you can remove these two fixes, and take out your custom OU details from the script (Ideally keep the defaults from master) then ill be happy to merge.

Totally didnt forget about this repo. Better late than never i guess 😇


sublime-text plugin support

Addresses #21
Limitation: Only supported for macOS, verified on macOS Mojave version 10.14.5

@lovesegfault Addressed your review comments in 58fdce0

@lovesegfault I just tested it on Ubuntu 16.04 and it works fine.

@ankitshubham97 Awesome, I just tested that it works for me as well :)
Remove the instructions from the README while we don't have PackageControl support and I'll merge it ASAP :)

@lovesegfault Earlier, you commented:

Awesome, in this case I prefer we leave these instructions out until we can just tell the user to use PackageControl :)
Maybe, I can add the instruction for Linux as well. Also, we can let the users know that currently, we do not have PackageControl support; so as of now, they need to follow those manual steps.

@ankitshubham97 Yeah, I mentioned I preferred to not provide instructions until we can tell the user to use PackageControl.
I'll merge this and fix in master, and then worry about PackageControl :)

@lovesegfault Oh! I misread that thinking that you wanted to leave those instructions there in the README(not leaving out). I will soon raise a PR in PackageControl repo and record it in this thread.

@ankitshubham97 Thank you!


Suspicious login attempt in Instagram

This is still working from my localhost machine, but when I try using it on a server (or on any server I tried so far), a 'Suspicious login attempt' window pops for me in my Instagram account each time when I try to run this script (regardless that I click 'It was me' when prompted in Instagram).
This is happening since 1st November 2018, when Instagram seems to have made some major changes to it's security settings.
I tried also proxies (implemented them myself to this library), but haven't found one that works yet.

Yes, because you are probably using the account in a server which is in location A, and you are verifying/unlocking your account in location B. Because of these 2 locations, you are getting that. Use it in the same network/location


Season Packs

Burst doesn’t find any season packs if i go with strm file for an episode. It just finds episode torrents. Isn’t it possible to find season packages with more seeders?
If i manually search name of series s01 I can find but the thing is no season pack result if i do click a specific episode from my library.
thanks.

Some trackers has episode torrents, some have mostly season packs.
Each tracker has own settings what to search when you need episode/movie.
You can look at providers.json file or override any settings.

so what should i do? when I click from library for example:
name s01 e02
strm file
I guess it searches:
name s01 e2
but it should also search:
name s01
and should bring me the both results.
because I know that there is a season pack on the same tracker and it has way more seeders than lonely episode torrent.

so what should i do?

Use trackers that have season queries for episode searches.
Change queries for trackers that you like.

for example:
    "season_extra": "",
    "season_extra2": "",
    "season_keywords": "{title} s{season:2}",
    "season_keywords2": "",
    "season_query": "",

It seems season_query is empty for this instance then change to what?

@kavuraki season... are queries, used to search seasons. You need tv_..., they are used for episode searches.

"tv_keywords": "{title} s{season:2}e{episode:2}",
"tv_keywords2": "{title} {season:2}x01|S{season:2}",
"tv_keywords_fallback": "{title} s{season}"
I understand that from these keywords when I click a library integrated elementum strm file then 3 queries are occured:
first query with "{title} s{season:2}e{episode:2}",
second query with "{title} {season:2}x01|S{season:2}",
third query with "{title} s{season}"
for each providers I had enabled.
Then It gathers all results and shows me.
In this respect, my problem is lack of "tv_keywords_fallback" (third query) results because I am sure that there exist season packs with plenty seeders. I want to play the episode from that pack not from lonely episode torrent.
Sorry that I may be insistent and boring...

@kavuraki tv_keywords and tv_keywords2 are queried always, does not matter if first one has any results or not. tv_keywords_fallback is run only when usual queries get no results.

I edited providers.json
this:
"tv_keywords": "{title} s{season:2}e{episode:2}",
"tv_keywords2": "{title} {season:2}x01|S{season:2}",
"tv_keywords_fallback": "{title} s{season}"
to:
"tv_keywords": "{title} s{season:2}e{episode:2}",
"tv_keywords_fallback": "{title} s{season}",
"tv_keywords2": "{title} {season:2}x01|S{season:2}"
on the sites that I enabled.
Still no season packs are found from the trackers that I know the pack exists %100
just finds the torrents related to that episode which have less sources than packs.
What would be the reason behind this?

Log file can show what is searched and what query is used for search.
Changing in providers.json is a bad practice, this file will be overwritten by plugin update. You should use overrides.json for it.

resolved with changing
"tv_keywords2": "{title} s{season}"
to
"tv_keywords2": "{title} s{season:2}"
where should I put the overrides.json exactly?

http://elementum.surge.sh/burst/override/


Allow adapters to use different order  of clauses when building query

I'm creating an adapter for sqlserver, and I've run into a couple of places where building the query occurs in a different order than postgres/mysql/sqlite.
Examples:

limit and offset order is swapped
postgres, sqlite, etc:
SELECT * FROM entry ORDER BY test LIMIT 1 OFFSET 5
sqlserver:
SELECT * FROM entry ORDER BY test OFFSET 5 ROWS FETCH NEXT 1 ROWS ONLY

the "returning" clause comes before VALUES.
postgres, sqlite, etc:
INSERT INTO entry (col1, col2) VALUES (1, 2) RETURN col1
sqlserver:
INSERT INTO entry (col1, col2) OUTPUT col1 VALUES (1, 2)

In the limit/offset-case I made a hack to support it, but my suggestion is to somehow let the adapter
specify the order a query should be built in (and possibly access the different clauses "out-of-order" if necessary).
My suggested implementation would be to pass the whole 'me.clauses' to the adapter in selectSqlWriteTo/ToUpdateSql/etc.
DefaultAdapter would then process the clauses exactly as it's done today, but it would
allow for example the sqlserver-adapter to build it's queries in a different order.
What's your take on this? Any ideas/suggestions?

Well I think that may be more complex than expected because the Dataset has a reference to the actual adapter instance (e.g Postgres, MySQL vs Default Adapter). If each derived adapter does not  shadow the SQL generation method, then the DefaultAdapters method would be called, which would cause it to call the default implementation of all the methods rather than the derived classes implementation.
It may be better if we could somehow let the adapter specify order but still allow the Dataset to call the adapter instance directly so any methods that are shadowed in the implementation are still called directly.
I think one option may be to allow each adapter to maintain a slice of fragment types that the Dataset then uses to call the methods in the correct order.

//in the adapter
selectFragmentOrdering : []string{"SELECT_DISTINCT", "SELECT", "FROM", /*and the rest of the types*/}

//in the dataset selectSqlWriteTo

for frag := range me.adapter.selectFragmentOrdering {
	switch frag {
	case "SELECT_DISTINCT":
		if err := me.adapter.SelectDistinctSql(buf, me.clauses.SelectDistinct); err != nil {
			return err
		}
	case "SELECT":
		if err := me.adapter.SelectSql(buf, me.clauses.Select); err != nil {
			return err
		}
	case "FROM":
		if err := me.adapter.FromSql(buf, me.clauses.From); err != nil {
			return err
		}
        //implement the rest of the cases you can find them in dataset_select.go#366 selectSqlWriteTo
	}
}

Support for overriding the default clause ordering has been added in v7 you can take a look here but to override that in an adapter it should be a simple as overriding that property with your own order.


abnormal glomus cell physiology

From Melissa
abnormal glomus cell physiology J:241915 - intro top right column
also
abnormal sustentacular cells

glomus cell in CL - CL:0002292 ( http://purl.obolibrary.org/obo/CL_0002292 ) term name "type I cell of carotid body"
sustentacular cell -  http://purl.obolibrary.org/obo/CL_0002256  term name "supporting cell of carotid body"
some references:
PMID:10846047
https://en.wikipedia.org/wiki/Glomus_cell

added terms for morphology and physiology (MP:0020840-MP:0020843)
removed relation between carotid body morphology/physiology parents and chemoreceptor/sensory neuron parents, shifted these to the type I cell child terms instead as the carotid body includes supporting cells as well as the other neuron type


bug: changing mode of experience the second time around delivers the wrong experience.

pick guided experience.
click more 360° scenes.
click replay story.
click click and drag mode.

sometimes the play controls do not reflect that the audio is playing, and despite selecting click and drag mode the 360° scene cannot be dragged.

Got these.


seek kafka improvements, CI fixed

Fixes Issue

[x] Which issue or ticket was(will be) fixed in this PR?
fixes #645, #633

PR Branch
#ADD LINK TO THE PR BRANCH
Motivation and Context
Fixed issues in the CI where creation of multiple partition topics was not working correctly.
Handled edge cases around the seek timestamp mechanism and added more tests to verify the same.
Checklist:

[x] Unit tests added

[x] Integration tests added

[x] Test names are meaningful

[x] Feature manually tested

[ ] Branch build passed

[x] No 'package.*' in the imports

[ ] Relevant Wiki page updated with clear instruction for the end user

[ ] Not applicable. This was only a refactor change, no functional or behaviour changes were introduced

[x] Http test added to http-testing module(if applicable) ?

[x] Not applicable. The changes did not affect HTTP automation flow

[x] Kafka test added to kafka-testing module(if applicable) ?

[ ] Not applicable. The changes did not affect Kafka automation flow

@authorjapps  Could you take a look at this?

@authorjapps  Could you take a look at this?

Yep, will have a look soon. As always, thanks for taking a deeper look at the seek issue.


Refactor Queue to a single set of slots

As a consequence of the Queue refactor from #390  and #392, Queue clearly has too much information about executing and there should be a common job pool instead of just a single set of execution slots that are pulled from the different priority queues.
This will simplify Queue, simplify AutoTest, and make it possible to have a more dynamic number of slots in the future.

Fixed in #424


Use different collections in the ReportImpl class for tracking successful and failed results

Closing as we need to preserve an order on the results, and its simpler with one single collection


Update node-sass to fix security issue

Summary of Changes
Include a summary of changes then remove this line
Tests
What tests did you add or modify and why? If no tests were added or modified, explain why. Remove this line
Documentation
What documentation did you add or modify and why? Add any relevant links then remove this line
CheckList
Make sure you have checked all steps below to ensure a timely review.

[ ] PR title addresses the issue accurately and concisely. Example: "Updates the version of Flask to v1.0.2"

In case you are adding a dependency, check if the license complies with the ASF 3rd Party License Policy.

[ ] PR includes a summary of changes, including screenshots of any UI changes.
[ ] PR adds unit tests, updates existing unit tests, OR documents why no test additions or modifications are needed.
[ ] In case of new functionality, my PR adds documentation that describes how to use it.

All the public python functions and the classes in the PR contain docstrings that explain what it does

[ ] PR passes all tests documented in the developer guide

Codecov Report

Merging #387 into master will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##           master     #387   +/-   ##
=======================================
  Coverage   75.32%   75.32%
=======================================
  Files         168      168
  Lines        4199     4199
  Branches      522      522
=======================================
  Hits         3163     3163
  Misses       1000     1000
  Partials       36       36

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 42177c9...f2b12bf. Read the comment docs.

The vulnerable version of lodash-es is imported by node-sass 4.13.0 and is upgraded in 4.13.1

It seems like the security bot generated PRs will directly upgrade those dependencies in the package-lock.json file. Running npm install will revert those changes as the top-level dependencies will import the vulnerable packages again (I think). This is somewhat problematic...

It seems like the security bot generated PRs will directly upgrade those dependencies in the package-lock.json file. Running npm install will revert those changes as the top-level dependencies will import the vulnerable packages again (I think). This is somewhat problematic...

But that's why we always do it ourselves. I think the notification is useful but that we should expect to manually make the modifications anyway.


Add more complete tests for the LDAP authentication backend

The LDAP backend is our only auth backend that doesn't have complete automated tests in zerver/tests/test_auth_backends.py.

@umairwaheed fixed this recently.  Thanks @umairwaheed!


Money::Bank::GoogleCurrencyFetchError: Money::Bank::GoogleCurrencyFetchError

Event I upgrade version to 3.4  . I still get this bug. And It just happen in today
Is there any way to fix or work around this bug?

It's been a known issue for a week. See https://github.com/RubyMoney/google_currency/issues/65

I am seeing this as well, how are people working around this issue?

I linked to the issue in my last comment. People have already been discussing solutions in there: https://github.com/RubyMoney/google_currency/issues/65


a document bug

from https://www.tensorflow.org/mobile/prepare_models
in the section: How do you get a model you can use on mobile?
the right path is ：
bazel build tensorflow/python/tools:freeze_graph

not
bazel build tensorflow/tools:freeze_graph

@petewarden could you take a quick look into the doc.

It has been 14 days with no activity and this issue has an assignee.Please update the label and/or status accordingly.


Clarify HTML report input wording

Description

As a HTML output user,
I want the search bar to search resource IDs and resource types
So I can quickly filter services ("s3")
(ux wise, the dropdown list on the right can be misleading as you may think that typing "s3" relates to Resource Types, while in fact it's only filtering resource IDs)
Example

I think the issue comes from the placeholder of the input. May be a clearer text would be more understandable to the user ?
Example :

I think we should fix the wording in a first place. I think this is not trivial to do a proper fuzzy filtering

Ok so let's go with @sundowndev proposal

lgtm!


Don't require a receiver for gaze enter/level messages

This addresses issue #14

Hi @dotMorten, I'm your friendly neighborhood Microsoft Pull Request Bot (You can call me MSBOT). Thanks for your contribution!
You've already signed the contribution license agreement. Thanks!
The agreement was validated by Microsoft and real humans are currently evaluating your PR.
TTYL, MSBOT;


[FEATURE] Teams channel moderation preferences

It will be useful to manage channel moderation preferences via PowerShell as discribed here userNewMessageRestriction

Will be added through https://github.com/pnp/powershell/pull/3580


Automatically connect to fluid ports on factories

Original request: https://mods.factorio.com/mod/automatic-underground-pipe-connectors/discussion/6231b15e9f74c058a69b09f3

Implemented in v1.1.0


Failed to change kernel [NoPermissions (FileSystemError): Unable to write file

We have a shared server in which different kernel configurations are centrally managed under /usr/local/share/jupyter/kernels where write access is restricted.  The Jupyter extension is unable to use these kernels due to a file write permissions error in which it appears to be trying to edit the kernel.json files.
Environment data

VS Code version: 1.56.0-insider
Jupyter Extension version (available under the Extensions sidebar): v2021.6.740555125
Python Extension version (available under the Extensions sidebar): v2021.5.734046506-dev
OS (Windows | Mac | Linux distro) and version: OSX Client, Linux SSH Host
Jupyter server running: Local via RemoteSSH

Expected behaviour

Connect to server via RemoteSSH
Select kernel from list presented
Kernel starts and operates normally

Actual behaviour

Connect to server via RemoteSSH
Select kernel from list presented
Kernel fails to start due to file write error.

Logs
Info 2021-04-12 18:07:33: Execute Cells request 1 1
Info 2021-04-12 18:07:33: Execute Cell 1 file:///foobar.ipynb in kernelWithMetadata.ts
Info 2021-04-12 18:07:33: Starting Notebook in kernel.ts id = .pyspark24_python3_s./usr/local/anaconda3.7/bin/python3./usr/bin/python3.(S) PySpark 2.4 w/ Python 3.7
Info 2021-04-12 18:07:33: Cell Index:1, state:1, exec: undefined. User queued cell for execution
Info 2021-04-12 18:07:33: Cell Index:1, state:1, exec: undefined. Update cell state as it was enqueued
Info 2021-04-12 18:07:33: Compute Launch Info uri = /foobar.ipynb, kernelConnection id = .pyspark24_python3_s./usr/local/anaconda3.7/bin/python3./usr/bin/python3.(S) PySpark 2.4 w/ Python 3.7
Info 2021-04-12 18:07:33: Compute Launch Info uri = /foobar.ipynb, changed true, .pyspark24_python3_s./usr/local/anaconda3.7/bin/python3./usr/bin/python3.(S) PySpark 2.4 w/ Python 3.7
Info 2021-04-12 18:07:33: Python Daemon (pid: 67991): write to stderr: [I 18:07:33.519 NotebookApp] Creating new notebook in /notebooks/foobar
[I 18:07:33.519 NotebookApp] Creating new notebook in /notebooks/foobarInfo 2021-04-12 18:07:33: Python Daemon (pid: 67991): write to stderr:

Info 2021-04-12 18:07:33: installMissingDependencies /usr/bin/python3
Info 2021-04-12 18:07:34: Cached data exists getEnvironmentVariables, <No Resource>
Info 2021-04-12 18:07:34: Process Execution: > /usr/bin/python3 ~/.vscode-server-insiders/extensions/ms-toolsai.jupyter-2021.6.740555125/pythonFiles/pyvsc-run-isolated.py -c "import ipykernel"
> /usr/bin/python3 ~/.vscode-server-insiders/extensions/ms-toolsai.jupyter-2021.6.740555125/pythonFiles/pyvsc-run-isolated.py -c "import ipykernel"
Info 2021-04-12 18:07:34: Process Execution: > /usr/bin/python3 ~/.vscode-server-insiders/extensions/ms-toolsai.jupyter-2021.6.740555125/pythonFiles/pyvsc-run-isolated.py -c "import ipykernel"
> /usr/bin/python3 ~/.vscode-server-insiders/extensions/ms-toolsai.jupyter-2021.6.740555125/pythonFiles/pyvsc-run-isolated.py -c "import ipykernel"
Info 2021-04-12 18:07:35: Install Missing Dependencies, Class name = v, completed in 1386ms, has a falsy return value, Return Value: undefined

Error 2021-04-12 18:07:40: Failed to change kernel [NoPermissions (FileSystemError): Unable to write file 'vscode-remote://ssh-remote+REMOTESSHSERVER/usr/local/share/jupyter/kernels/pyspark24_python3_s/kernel.json' (NoPermissions (FileSystemError): Error: EACCES: permission denied, open '/usr/local/share/jupyter/kernels/pyspark24_python3_s/kernel.json')
	at _handleError (/home/USERNAME/.vscode-server-insiders/bin/01466cf692c3e54f0eeb82ef0539a42391f185de/out/vs/server/remoteExtensionHostProcess.js:86:155628)
	at async b.updateKernelEnvironment (/home/USERNAME/.vscode-server-insiders/extensions/ms-toolsai.jupyter-2021.6.740555125/out/client/extension.js:32:751398)
	at async b.ensureKernelIsUsable (/home/USERNAME/.vscode-server-insiders/extensions/ms-toolsai.jupyter-2021.6.740555125/out/client/extension.js:32:749540)] {
  code: 'NoPermissions'
}
Info 2021-04-12 18:07:40: Shutdown session -- complete

Kernel configs stored in /home/USERNAME/.local/share/jupyter/kernels/ open as expected and show file modified timestamps that align with kernel execution, though the actual content of the kernel.json doesn't appear to have changed.
Is there a way to bypass the attempt to write to the kernel.json files?

This is the spot where we try to write the file:
https://github.com/microsoft/vscode-jupyter/blob/f536e129cd6c0d4a1f6fba425651add08d575ffc/src/client/datascience/jupyter/kernels/jupyterKernelService.ts#L235-L238
We could instead do
if (shouldUpdate) {
     this.fs.writeLocalFile(kernelSpecFilePath, JSON.stringify(specModel, undefined, 2)).catch((e) => traceError('Failed to write kernelspec', e));
}

Not sure if there would be any adverse consequences resulting from us failing to write the kernel.json and continuing to use the new kernel. I think the worst thing that might happen is we might fail to find a matching kernel for a given notebook later on, since the kernel.json wouldn't match the notebook metadata.

t sure if there would be any adverse consequences resulting from us failing to writ

When using Jupyter (non-raw) this will cause issues (basically the conda environment will not start properly).
I think we might want to create a separate kernel spec in the /.local/share/jupyter/kernels that points to this kernel spec, and then update that one and start that.
I.e. kernel a kernel spec named xyz with all of the information from the original kernel spec.
Update that with the env information & then start kernel spec xyz.

This should be fixed with #9141

/verified
Well at least that it gets written next to the extension. We need write access to this folder for other stuff to work so I assume it's going to work: