x/tools/cmd/godoc: tests broken on Go 1.8

The x/tools repo is red across all operating systems for Go 1.8. See https://build.golang.org/
Example failure:
https://build.golang.org/log/8bd4463805a63aa18a9981efcb5258969ec6cca1
?   	golang.org/x/tools/cmd/eg	[no test files]
ok  	golang.org/x/tools/cmd/fiximports	2.226s
ok  	golang.org/x/tools/cmd/getgo	0.010s
?   	golang.org/x/tools/cmd/getgo/server	[no test files]
ok  	golang.org/x/tools/cmd/go-contrib-init	0.005s
?   	golang.org/x/tools/cmd/godex	[no test files]
2017/11/24 16:27:41 executing template doc/root.html: template: main:26:6: executing "main" at <$.Share>: can't evaluate field Share in type godoc.Page
2017/11/24 16:27:41 executing template doc/root.html: template: main:26:6: executing "main" at <$.Share>: can't evaluate field Share in type godoc.Page
2017/11/24 16:27:41 executing template doc/root.html: template: main:26:6: executing "main" at <$.Share>: can't evaluate field Share in type godoc.Page
2017/11/24 16:27:42 executing template doc/root.html: template: main:26:6: executing "main" at <$.Share>: can't evaluate field Share in type godoc.Page
2017/11/24 16:27:42 executing template doc/root.html: template: main:26:6: executing "main" at <$.Share>: can't evaluate field Share in type godoc.Page
2017/11/24 16:27:42 executing template doc/root.html: template: main:26:6: executing "main" at <$.Share>: can't evaluate field Share in type godoc.Page
2017/11/24 16:27:42 executing template doc/root.html: template: main:26:6: executing "main" at <$.Share>: can't evaluate field Share in type godoc.Page
2017/11/24 16:27:42 executing template doc/root.html: template: main:26:6: executing "main" at <$.Share>: can't evaluate field Share in type godoc.Page
2017/11/24 16:27:43 executing template doc/root.html: template: main:26:6: executing "main" at <$.Share>: can't evaluate field Share in type godoc.Page
2017/11/24 16:27:43 executing template doc/root.html: template: main:26:6: executing "main" at <$.Share>: can't evaluate field Share in type godoc.Page
2017/11/24 16:27:43 executing template doc/root.html: template: main:26:6: executing "main" at <$.Share>: can't evaluate field Share in type godoc.Page
2017/11/24 16:27:43 executing template doc/root.html: template: main:26:6: executing "main" at <$.Share>: can't evaluate field Share in type godoc.Page
2017/11/24 16:27:44 executing template doc/root.html: template: main:26:6: executing "main" at <$.Share>: can't evaluate field Share in type godoc.Page
2017/11/24 16:27:44 executing template doc/root.html: template: main:26:6: executing "main" at <$.Share>: can't evaluate field Share in type godoc.Page
2017/11/24 16:27:44 executing template doc/root.html: template: main:26:6: executing "main" at <$.Share>: can't evaluate field Share in type godoc.Page
2017/11/24 16:27:44 executing template doc/root.html: template: main:26:6: executing "main" at <$.Share>: can't evaluate field Share in type godoc.Page
2017/11/24 16:27:44 executing template doc/root.html: template: main:26:6: executing "main" at <$.Share>: can't evaluate field Share in type godoc.Page
2017/11/24 16:27:45 executing template doc/root.html: template: main:26:6: executing "main" at <$.Share>: can't evaluate field Share in type godoc.Page
2017/11/24 16:27:45 executing template doc/root.html: template: main:26:6: executing "main" at <$.Share>: can't evaluate field Share in type godoc.Page
2017/11/24 16:27:45 executing template doc/root.html: template: main:26:6: executing "main" at <$.Share>: can't evaluate field Share in type godoc.Page
2017/11/24 16:27:45 executing template doc/root.html: template: main:26:6: executing "main" at <$.Share>: can't evaluate field Share in type godoc.Page
2017/11/24 16:27:46 executing template doc/root.html: template: main:26:6: executing "main" at <$.Share>: can't evaluate field Share in type godoc.Page
2017/11/24 16:27:46 executing template doc/root.html: template: main:26:6: executing "main" at <$.Share>: can't evaluate field Share in type godoc.Page
2017/11/24 16:27:46 executing template doc/root.html: template: main:26:6: executing "main" at <$.Share>: can't evaluate field Share in type godoc.Page
2017/11/24 16:27:46 executing template doc/root.html: template: main:26:6: executing "main" at <$.Share>: can't evaluate field Share in type godoc.Page
2017/11/24 16:27:46 executing template doc/root.html: template: main:26:6: executing "main" at <$.Share>: can't evaluate field Share in type godoc.Page
2017/11/24 16:27:47 executing template doc/root.html: template: main:26:6: executing "main" at <$.Share>: can't evaluate field Share in type godoc.Page
2017/11/24 16:27:47 executing template doc/root.html: template: main:26:6: executing "main" at <$.Share>: can't evaluate field Share in type godoc.Page
2017/11/24 16:27:47 executing template doc/root.html: template: main:26:6: executing "main" at <$.Share>: can't evaluate field Share in type godoc.Page
2017/11/24 16:27:47 executing template doc/root.html: template: main:26:6: executing "main" at <$.Share>: can't evaluate field Share in type godoc.Page
2017/11/24 16:27:47 executing template doc/root.html: template: main:26:6: executing "main" at <$.Share>: can't evaluate field Share in type godoc.Page
2017/11/24 16:27:48 executing template doc/root.html: template: main:26:6: executing "main" at <$.Share>: can't evaluate field Share in type godoc.Page
2017/11/24 16:27:48 executing template doc/root.html: template: main:26:6: executing "main" at <$.Share>: can't evaluate field Share in type godoc.Page
2017/11/24 16:27:48 executing template doc/root.html: template: main:26:6: executing "main" at <$.Share>: can't evaluate field Share in type godoc.Page
2017/11/24 16:27:48 executing template doc/root.html: template: main:26:6: executing "main" at <$.Share>: can't evaluate field Share in type godoc.Page
2017/11/24 16:27:49 executing template doc/root.html: template: main:26:6: executing "main" at <$.Share>: can't evaluate field Share in type godoc.Page
2017/11/24 16:27:49 executing template doc/root.html: template: main:26:6: executing "main" at <$.Share>: can't evaluate field Share in type godoc.Page
2017/11/24 16:27:49 executing template doc/root.html: template: main:26:6: executing "main" at <$.Share>: can't evaluate field Share in type godoc.Page
2017/11/24 16:27:49 executing template doc/root.html: template: main:26:6: executing "main" at <$.Share>: can't evaluate field Share in type godoc.Page
2017/11/24 16:27:49 executing template doc/root.html: template: main:26:6: executing "main" at <$.Share>: can't evaluate field Share in type godoc.Page
2017/11/24 16:27:50 executing template doc/root.html: template: main:26:6: executing "main" at <$.Share>: can't evaluate field Share in type godoc.Page
2017/11/24 16:27:50 executing template doc/root.html: template: main:26:6: executing "main" at <$.Share>: can't evaluate field Share in type godoc.Page
2017/11/24 16:27:50 executing template doc/root.html: template: main:26:6: executing "main" at <$.Share>: can't evaluate field Share in type godoc.Page
2017/11/24 16:27:50 executing template doc/root.html: template: main:26:6: executing "main" at <$.Share>: can't evaluate field Share in type godoc.Page
2017/11/24 16:27:50 executing template doc/root.html: template: main:26:6: executing "main" at <$.Share>: can't evaluate field Share in type godoc.Page
2017/11/24 16:27:51 executing template doc/root.html: template: main:26:6: executing "main" at <$.Share>: can't evaluate field Share in type godoc.Page
2017/11/24 16:27:51 executing template doc/root.html: template: main:26:6: executing "main" at <$.Share>: can't evaluate field Share in type godoc.Page
2017/11/24 16:27:51 executing template doc/root.html: template: main:26:6: executing "main" at <$.Share>: can't evaluate field Share in type godoc.Page
2017/11/24 16:27:51 executing template doc/root.html: template: main:26:6: executing "main" at <$.Share>: can't evaluate field Share in type godoc.Page
2017/11/24 16:27:52 executing template doc/root.html: template: main:26:6: executing "main" at <$.Share>: can't evaluate field Share in type godoc.Page
2017/11/24 16:27:52 executing template doc/root.html: template: main:26:6: executing "main" at <$.Share>: can't evaluate field Share in type godoc.Page
2017/11/24 16:27:52 executing template doc/root.html: template: main:26:6: executing "main" at <$.Share>: can't evaluate field Share in type godoc.Page
2017/11/24 16:27:52 executing template doc/root.html: template: main:26:6: executing "main" at <$.Share>: can't evaluate field Share in type godoc.Page
2017/11/24 16:27:52 executing template doc/root.html: template: main:26:6: executing "main" at <$.Share>: can't evaluate field Share in type godoc.Page
2017/11/24 16:27:53 executing template doc/root.html: template: main:26:6: executing "main" at <$.Share>: can't evaluate field Share in type godoc.Page
2017/11/24 16:27:53 executing template doc/root.html: template: main:26:6: executing "main" at <$.Share>: can't evaluate field Share in type godoc.Page
2017/11/24 16:27:53 executing template doc/root.html: template: main:26:6: executing "main" at <$.Share>: can't evaluate field Share in type godoc.Page
2017/11/24 16:27:53 executing template doc/root.html: template: main:26:6: executing "main" at <$.Share>: can't evaluate field Share in type godoc.Page
2017/11/24 16:27:53 executing template doc/root.html: template: main:26:6: executing "main" at <$.Share>: can't evaluate field Share in type godoc.Page
2017/11/24 16:27:54 executing template doc/root.html: template: main:26:6: executing "main" at <$.Share>: can't evaluate field Share in type godoc.Page
2017/11/24 16:27:54 executing template doc/root.html: template: main:26:6: executing "main" at <$.Share>: can't evaluate field Share in type godoc.Page
2017/11/24 16:27:54 executing template doc/root.html: template: main:26:6: executing "main" at <$.Share>: can't evaluate field Share in type godoc.Page
2017/11/24 16:27:54 executing template doc/root.html: template: main:26:6: executing "main" at <$.Share>: can't evaluate field Share in type godoc.Page
2017/11/24 16:27:55 executing template doc/root.html: template: main:26:6: executing "main" at <$.Share>: can't evaluate field Share in type godoc.Page
2017/11/24 16:27:55 executing template doc/root.html: template: main:26:6: executing "main" at <$.Share>: can't evaluate field Share in type godoc.Page
2017/11/24 16:27:55 executing template doc/root.html: template: main:26:6: executing "main" at <$.Share>: can't evaluate field Share in type godoc.Page
2017/11/24 16:27:55 executing template doc/root.html: template: main:26:6: executing "main" at <$.Share>: can't evaluate field Share in type godoc.Page
2017/11/24 16:27:55 executing template doc/root.html: template: main:26:6: executing "main" at <$.Share>: can't evaluate field Share in type godoc.Page
2017/11/24 16:27:56 executing template doc/root.html: template: main:26:6: executing "main" at <$.Share>: can't evaluate field Share in type godoc.Page
--- FAIL: TestWeb (22.23s)
	godoc_test.go:185: Server failed to respond in 15s
2017/11/24 16:28:06 updateMetadata: open /tmp/godoc-analysis044698526/goroot/doc: no such file or directory
2017/11/24 16:28:06 GOROOT=/tmp/godoc-analysis044698526/goroot/src/: [lib]
2017/11/24 16:28:06 GOPATH[0]=/tmp/godoc-analysis044698526/gopath/src/: [app]
2017/11/24 16:28:06 Loading and type-checking packages...
2017/11/24 16:28:06 updateMetadata: open /tmp/godoc-analysis044698526/goroot/doc: no such file or directory
2017/11/24 16:28:06 Loaded 2 packages.
2017/11/24 16:28:06 Constructing SSA form...
2017/11/24 16:28:06 SSA construction complete
2017/11/24 16:28:06 Computing implements relation...
2017/11/24 16:28:06 Extracting type info...
2017/11/24 16:28:06 Visit instructions...
2017/11/24 16:28:06 Visit instructions complete
2017/11/24 16:28:06 Type analysis complete.
FAIL
FAIL	golang.org/x/tools/cmd/godoc	41.586s
?   	golang.org/x/tools/cmd/goimports	[no test files]
?   	golang.org/x/tools/cmd/gomvpkg	[no test files]
ok  	golang.org/x/tools/cmd/gorename	10.562s
?   	golang.org/x/tools/cmd/gotype	[no test files]
?   	golang.org/x/tools/cmd/goyacc	[no test files]

@andybons, I think this is actually yours. It seems related to the GoogleCN stuff.
All the repeated lines saying 2017/11/24 16:27:41 executing template doc/root.html: template: main:26:6: executing "main" at <$.Share>: can't evaluate field Share in type godoc.Page are just the every-200ms for 15 seconds health checks against the localhost godoc server.
But the localhost godoc server for Go 1.8 is returning a text/template error about a bogus field.
I'm not sure where that is, though.
Can you look into it? This is the last red on build.golang.org and I want to enable past releases on trybots for subrepos.

Will take a look now...

Builders seem to be OK on 1.8 after cherry-picking

https://go-review.googlesource.com/c/go/+/81175
https://go-review.googlesource.com/c/tools/+/81075
https://go-review.googlesource.com/c/go/+/81095

And now it's broken for Go 1.9 and tip, but works at Go 1.8.
Andy, back to you.
For testing multiple Go versions, the go command in my $PATH is:
$ cat ~/bin/go
#!/bin/sh

exec $GOROOT/bin/go "$@"

And then I set GOROOT to one of three environments when I run "go test" places.

Cool. Thanks for the tip. Will look into it.

I don’t see any failures on build.golang.org for tools and I can’t repro locally on tip, at least. Can you point me to an example of the breakage?

Weird. They were all red last night, and you can still see it in the hitsory at:
https://build.golang.org/?repo=golang.org%2Fx%2Ftools
I think the App Engine app (which decides what needs to be built, not from maintner) might be drunk and confused by branches somehow.
I guess we can close this, but some problem remains in build.golang.org deciding what to build on what branches.


NTR: beta-catenin/TCF complex

A suggested new protein complex term. It's a grouping term so not suitable for getting an Intact ID itself:
beta-catenin/TCF complex ; GO:NEW
—[isa]beta-catenin-TCF7L2 complex ; GO:0070369
beta-catenin/TCF complex ; GO:NEW
is_a: protein complex
part_of: nucleus
capable_of: DNA binding
capable_of_part_of: canonical Wnt signaling pathway ; GO:0060070
Related Synonym: beta-catenin/T-cell factor complex
Related Synonym: beta-catenin/lymphoid enhancer binding factor complex [PMID: 8757136]
Narrow Synonym: beta-catenin/LEF complex [PMID: 8757136]
PMID: 8757136
PMID: 8756721
PMID: 9419974
GOC:PARL, GOC:bf
A protein complex that contains beta-catenin and a member of the T-cell factor (TCF)/lymphoid enhancer binding factor (LEF) family of transcription factors.
Could create a more specific 'beta-catenin-LEF1 complex' in Intact, if you were feeling keen @bmeldal, based on PMID: 8757136
On Github for comments before I add it in.
Thanks!

Hi Rebecca,
Yes, I can curate the complex. Interaction evidence is already in IntAct:
e.g. http://www.ebi.ac.uk/intact/interaction/EBI-8786899
The GO complex term may fall victim to future pruning of the ontology as it has no capable_of activity link (unless we allow 'binding' which we haven't included in our discussions so far).
Birgit

Hi Rebecca,
This is a TF so should have the following relationships (at a minimum, I'm now curating the complex and will add more relationships if I find them later):
is_a GO:0090575 RNA polymerase II transcription factor complex
capable_of GO:0001228 transcriptional activator activity, RNA polymerase II transcription regulatory region sequence-specific binding
capable_of_part_of GO:0045944 positive regulation of transcription from RNA polymerase II promoter
It may well still be pruned as so far it has the same relationships as many other RNA Pol II TFs and they would all be grouped together under the new proposal. The intermediate, protein family-centric complex grouping terms might go to PRO so not superfluous creating it now as it may well 'only' get moved rather than totally obsoleted! And that's all down the line anyway...
Can you wait with creating the new term until I have done the annotations, then you can add all the relationships and IntAct xrefs in one go. When you have then created the CC term, please post here, so I can xref it on the complex :)
Thanks,
Birgit

Hi @bmeldal- just let me know when you're done annotating, and then I'll create the GO term with all it's relationships.
Thanks!

Hi Rebecca,
I have finished the curation:
dbxrefs:
IntAct:EBI-11424678 [human]
IntAct:EBI-11425837 [mouse]
PMID:20123964 [human complex evidence]
PMID:11751639 [human MF & BP]
PMID:21075118 [mouse complex evidence]
PMID:16936075 [mouse MF & BP]
Relationships:
is_a GO:0090575 RNA polymerase II transcription factor complex
part_of GO:0005634 nucleus
capable_of
GO:0001228 transcriptional activator activity, RNA polymerase II transcription regulatory region sequence-specific binding
GO:0000977 RNA polymerase II regulatory region sequence-specific DNA binding
capable_of_part_of
GO:0060070 canonical Wnt signaling pathway
GO:0045944 positive regulation of transcription from RNA polymerase II promoter
Ok, I think that's it.
Birgit

New term:
beta-catenin-TCF complex ; GO:1990907
Thanks for everyone's input!

Thanks, xref added to complexes!


{Enhancement} Suggestions

[ ] Add button switch to example, that reflects in Home app. I.e. a physical button on the ESP8266 switches the light on/off and status is reflected in the Home app.

[ ] Add more profiles/examples? Doorbell, Switch, Lightbulb, Fan, Garage Door, Window Blinds?, Motion Sensor (with push notification)

Agree on both suggestions, a physical button is perhaps more intuitive/useful example than a 15 second timer. Feel free to add more service examples and make pull requests.

I would like to keep the initial Demo as simple as possible.
We need to find a way to create parallel examples that can be tried after the initial one.
Considering each of them could need a specific driver etc... how would we do this?
Create more repositories??
An example directory?
What do you say?

I vote for example directory. Just like HAP-NodeJS, it'll be nice to have a set of accessories to start with.

Reordered the structure: now there is nothing at the top level and every example code is in its own sub-directory - this will scale fantastic. The Demo is only one of the 'modules'.
Hope you like it...

Just added button-led as a new example module

Great, just tested it out and it looks great. I was planing on building on your code to make a MQTT/Alexa/Homekit combo for the new cheap switches popping up. But sadly it's beyond my skill to rebuild your code into NOOS so that it can be an Arduino library. But if you or someone is able to do it I'll take it from there and pull it all together with OTA and some other goodies if people are interested.


[Authorize] -  Attribute not redirecting to login

Hi, it's me again ;)
If I add the [Authorize]-Attribute to a class, it does not redirect to login like it did with the .NET 4.5-version.
I think this might be related to the MVC6 Authorize-Attribute missing the
public virtual void OnAuthorization(AuthorizationContext filterContext);
method (see http://stackoverflow.com/a/35863514/3085985 ).
I am not sure if it is appropriate to implement this in your library, if I should implement a filter for this myself, or if this would be good to have in the example. I could try implementing a filter, probably tomorrow, and share my results if it should be in the example.
What do you think?
Thanks & best regards,
Christoph

As far as I understand it, this kind of thing needs to happen outside the middleware. The middleware's purpose is to solely establish a ClaimsPrincipal. What the [Authorize] attributes do with that afterwards is their business.

Sounds reasonable - I'll implement the redirecting filter. Are you interested in the code for your example? Otherwise you can close this issue.

Sure, I could add it to the sample
On Wed, Mar 22, 2017 at 10:50 AM Compufreak345<EMAIL_ADDRESS>wrote:

Sounds reasonable - I'll implement the redirecting filter. Are you
interested in the code for your example? Otherwise you can close this issue.
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/chrisdrobison/aspnetcore-wsfed/issues/2#issuecomment-288464018,
or mute the thread
https://github.com/notifications/unsubscribe-auth/ABu24W3ZL5UAr24z_eFgJhGnl0AJjjjCks5roVFfgaJpZM4Mle0H
.

Great - I'll try to provide the sample during this week.

@Compufreak345 - Hi there, I am facing same scenario in my app and would like to do redirects from the controller action. I am using ADFS for the authentication and would also be interested in the code example that you are working on. Thanks!

During my research for the example, after wondering why the redirect works out of the box on other .NET Core projects with preset "Individual User Accounts"-Authentication. I stumpled accross this post : https://andrewlock.net/exploring-the-cookieauthenticationmiddleware-in-asp-net-core/ that hints me that Microsoft seems to see the redirection as supposed to be part of the middleware.
So, I went over to https://github.com/aspnet/Security , searched for LoginPath - and tried to port this code to your middleware - and am a bit stuck now :>
I'm having quite a hard time understanding what exactly I would have to add. I found out it's the
protected override async Task<AuthenticateResult> HandleAuthenticateAsync() ( https://github.com/aspnet/Security/blob/0152691108717bd74cc5f0406e7b745b31c8ca23/src/Microsoft.AspNetCore.Authentication.Cookies/CookieAuthenticationHandler.cs#L121 )
that needs to be added, but I'm not sure what to do afterwards.
@chrisdrobison Can you have a look into this? Or should I still try to workaround with filters?

This middleware hands off authentication to the cookie middleware, or at
least it should be. Try turning on tracing in the logging to see what comes
back.
On Thu, Mar 23, 2017 at 4:18 AM Compufreak345<EMAIL_ADDRESS>wrote:
During my research for the example, after wondering why the redirect works
out of the box on other .NET Core projects with preset "Individual User
Accounts"-Authentication. I stumpled accross this post :
https://andrewlock.net/exploring-the-cookieauthenticationmiddleware-in-asp-net-core/
that hints me that Microsoft seems to see the redirection as supposed to be
part of the middleware.
So, I went over to https://github.com/aspnet/Security , searched for
LoginPath - and tried to port this code to your middleware - and am a bit
stuck now :>
I'm having quite a hard time understanding what exactly I would have to
add. I found out it's the
protected override async Task HandleAuthenticateAsync()
(
https://github.com/aspnet/Security/blob/0152691108717bd74cc5f0406e7b745b31c8ca23/src/Microsoft.AspNetCore.Authentication.Cookies/CookieAuthenticationHandler.cs#L121
)
that needs to be added, but I'm not sure what to do afterwards.
@chrisdrobison https://github.com/chrisdrobison Can you have a look into
this? Or should I still try to workaround with filters?
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/chrisdrobison/aspnetcore-wsfed/issues/2#issuecomment-288674951,
or mute the thread
https://github.com/notifications/unsubscribe-auth/ABu24VNLd3q7sQaWOC3JtRJtAilOHAdoks5rokcCgaJpZM4Mle0H
.

Thanks for your hints - they helped me to find the correct message to search for ;) Based on http://stackoverflow.com/questions/36967426/asp-net-core-authorize-redirection-not-happening and https://msdn.microsoft.com/en-us/library/microsoft.owin.security.cookies.cookieauthenticationoptions(v=vs.113).aspx I was able to implement redirection, together with returning to the URL redirection started.
I submitted a pull request to make your sample demonstrate this. https://github.com/chrisdrobison/aspnetcore-wsfed/pull/3
Any kind of feedback would be greatly appreciated :)


fix: loadEnv can return a object with undefined values

Corrects the return typing of the loadEnv function because it may return undefined values in the object values.

Do you have an example where it could return undefined?


added notice-period-no-longer-working

JIRA link
https://tools.hmcts.net/jira/browse/RET-1065
Change description
Added notice period no longer working
Does this PR introduce a breaking change? (check one with "x")
[ ] Yes
[ X] No

Page no longer match final prototype


[jvm-packages] How to get what is the issue?

Dear all, execution of
    private Dataset<Row> xgBoost(Dataset<Row> modelData) {
        XGBoostRegressor xgBoost = new XGBoostRegressor()
                .setTrainTestRatio(0.2)
                .setObjective("reg:linear")
                .setNumWorkers(8);

        ParamMap[] paramMap = new ParamGridBuilder()
                .addGrid(xgBoost.maxDepth(), new int[]{3, 4, 5, 6, 7, 8, 9, 10, 11, 12})
                .addGrid(xgBoost.eta(), new double[]{0.01, 0.05, 0.1, 0.15, 0.2, 0.25, 0.3, 0.35, 0.4, 0.45, 0.5})
                .addGrid(xgBoost.subsample(), new double[]{0.5, 0.6, 0.7, 0.8, 0.9, 1})
                .build();

        RegressionEvaluator evaluator = new RegressionEvaluator();

        Pipeline pipeline = new Pipeline();
        pipeline.setStages(new PipelineStage[]{xgBoost});

        CrossValidator crossValidator = new CrossValidator()
                .setEstimator(pipeline)
                .setEvaluator(evaluator)
                .setEstimatorParamMaps(paramMap)
                .setNumFolds(3);

        CrossValidatorModel validatorModel = crossValidator.fit(modelData);

        return validatorModel.bestModel().transform(modelData);
    }

ends with:
2019-03-24 12:05:08.400  INFO 14568 --- [      Thread-28] .d.x.j.RabitTracker$TrackerProcessLogger : 2019-03-24 12:05:08,400 DEBUG Recieve start signal from <IP_ADDRESS>; assign rank 0
2019-03-24 12:05:08.400  INFO 14568 --- [      Thread-28] .d.x.j.RabitTracker$TrackerProcessLogger : 2019-03-24 12:05:08,400 DEBUG Recieve start signal from <IP_ADDRESS>; assign rank 1
2019-03-24 12:05:08.400  INFO 14568 --- [      Thread-28] .d.x.j.RabitTracker$TrackerProcessLogger : 2019-03-24 12:05:08,400 DEBUG Recieve start signal from <IP_ADDRESS>; assign rank 2
2019-03-24 12:05:08.400  INFO 14568 --- [      Thread-28] .d.x.j.RabitTracker$TrackerProcessLogger : 2019-03-24 12:05:08,400 DEBUG Recieve start signal from <IP_ADDRESS>; assign rank 3
2019-03-24 12:05:08.400  INFO 14568 --- [      Thread-28] .d.x.j.RabitTracker$TrackerProcessLogger : 2019-03-24 12:05:08,400 DEBUG Recieve start signal from <IP_ADDRESS>; assign rank 4
2019-03-24 12:05:08.400  INFO 14568 --- [      Thread-28] .d.x.j.RabitTracker$TrackerProcessLogger : 2019-03-24 12:05:08,400 DEBUG Recieve start signal from <IP_ADDRESS>; assign rank 5
2019-03-24 12:05:08.400  INFO 14568 --- [      Thread-28] .d.x.j.RabitTracker$TrackerProcessLogger : 2019-03-24 12:05:08,400 DEBUG Recieve start signal from <IP_ADDRESS>; assign rank 6
2019-03-24 12:05:08.400  INFO 14568 --- [      Thread-28] .d.x.j.RabitTracker$TrackerProcessLogger : 2019-03-24 12:05:08,400 DEBUG Recieve start signal from <IP_ADDRESS>; assign rank 7
2019-03-24 12:05:08.400  INFO 14568 --- [      Thread-28] .d.x.j.RabitTracker$TrackerProcessLogger : 2019-03-24 12:05:08,400 INFO @tracker All of 8 nodes getting started

Process finished with exit code -1073741819 (0xC0000005)

After that, all dies and no single hint on what went wrong. What should I do in order to investigate?

Any ideas, please? it exists with different codes, no chance to get it working. The most common is 3, which, according to Google, C abort function. Where can I find any logs to explore? Temp folder doesn't seem to have any, only .py file, .dll itself and that's it.

This is interacting with Spark?

Yes, it is a Spark extension

you should download executor-side logs to see what is happening there, and you'd give more logs about all dies

well, this is how executor log ends. it creates dataset, sends to there... and this is it. no errors on executor side.

according to google results, 0xC0000005 usually means damaged/used up RAM....I am not sure about your environment configuration.....and it's hard to provide help with this type of errors


npm start fails on windows

Following the development instructions on windows 10, running "npm start" has the following issues:
1.) Use of single quotes in watch command fails. Using escaped double quotes to fix it. See: https://github.com/mikeal/watch/issues/109
2.) After updating to using escaped double quotes, http-server command after the "&" does not get called. Related: https://github.com/npm/npm/issues/4040
Here's what my updated start script looks like:
"start": "watch \"npm run build\" src & http-server -p 5678 -c-1 -o"

sorry it took me so long to take a look at this.  switching from an & to a | ended up being enough to get things working correctly in Git Bash on Windows so i'm going to make the change in #139
i couldn't figure out how a way to execute simultaneous scripts that involve a subroutine in the built in WIndows Command Prompt ¯_(ツ)_/¯

i reverted my original change.  happy to accept a PR that uses concurrently if anyone is interested in putting one together.


QueryBuilder: ORDER BY *

If we perform a select("*"), the ORDER BY clause will look like this: ORDER BY * ASC which causes a query exception.

The temporary fix is modifying * column to id column.

@hiendv Thanks! Released on v5.11.9


Add message for not accelerating Flow import wizard2

Rationale
Issue 49153: Flow: Provide feedback on why workflow importer steps aren't skipped
Changes

Added "error" message to indicate why import wizard isn't accelerated

Not super fond of co-opting the error handling mechanism for this--since it isn't strictly an error, but more of a warning/informational message. But it was the cleanest path to do it.


User is logged in despite not completing 2nd step of registration

When you go to the second onboarding screen and re-run the app it automatically loggs you in instead bringing you back to the onboarding screens.

until we get a redesigned onboarding flow I decided to add some explanatory text to this screen to make it clear to the users that the account has been created and entering information is optional


⚠ Billing API Endpoint has degraded performance

In d7d7fb6, Billing API Endpoint (https://billing.roblox.com) experienced degraded performance:

HTTP code: 200
Response time: 1762 ms

Resolved: Billing API Endpoint performance has improved in 4b0fd35.


Can't publish my Bot after the Update

Describe the bug
I was able to publish my bot using existing Azure resources but after the update 1.2.0, I am not able to do so.
Version
1.2.0
Browser

[x] Electron distribution
[ ] Chrome
[ ] Safari
[ ] Firefox
[ ] Edge

OS

[ ] macOS
[x] Windows
[ ] Ubuntu

To Reproduce
Steps to reproduce the behavior:

Go to Publish
Click on Publish Profile
Select Publish to selected Profile.
It gives an error as described below in the screenshot.

Expected behavior
It should have been published without any issues.
Screenshots

Additional context
This is my publish profile;
{   "accessToken": "",   "hostname": "<my web app's name>",   "luisResource": "<LUIS prediction resource name in Azure>",   "settings": {     "luis": {       "endpointKey": "<LUIS authoring key from Azure>",       "authoringKey": "<LUIS prediction key from Azure>",       "region": "westus"     },     "qna": {       "subscriptionKey": "<sub id>",       "knowledgebaseid": "<kbid>",       "endpointKey": "<qnaendpoint>",       "hostname": "https://myqnaurl.azurewebsites.net/qnamaker",       "qnaRegion": "westus"     },      "MicrosoftAppId": "<app Id>",     "MicrosoftAppPassword": "<app password>"   } }

@arafattehsin we just published 1.2.1 that should fix this. can you try again?

This is sweet! Fixed. Thank you @cwhitten and the team for a quick fix.


[mesh-forwarder] allow limiting max num of frames in direct tx queue

This commit adds a new feature in MeshForwarder to specify a max
limit for the number of frames in tx queue marked for direct
transmission. OPENTHREAD_CONFIG_MAX_FRAMES_IN_DIRECT_TX_QUEUE
specifies the maximum number. If set to zero then this behavior is
disabled, i.e., no check is performed on tx queue length.
This commit also adds a new message action log "Dropping (dir queue
full)" which indicates when a message is being dropped due to the
newly added check.

This is related to SPEC-1041.

In new push, updated the default value for OPENTHREAD_CONFIG_MAX_FRAMES_IN_DIRECT_TX_QUEUE to 100 (per dicussion in the JIRA SPEC-1041.
Also added mechanism that when we decide to drop the message due to reaching the limit, we also apply the "time-in-queue" policy which will drop any message in the queue already waiting for too long and then re-check again.


[Contact] mouse over event handling

when mouse over to window, show the open button
when out of window, hide the open button

solved https://github.com/namhokim/cocoa_app/pull/27


Describe all rc files with .*rc

Will it work if we describe all rc files with .*rc text?
The same with .*ignore
 git check-ignore says .*rc matches .eslintrc
 git check-ignore -v -- .eslintrc
.gitignore:36:.*rc      .eslintrc

We can add the rule after the other rules so rule priority can kick in.


Fixing test, adding parameters to blastn, minor bugfixes

Blastn parameters
To reduce the size of output files from blastn evalue, max_target_seqs and max_hsps were introduced as parameters.
test.conf
To avoid failing the minimal test because of the tax2filter (taxon to filter, at the moment only checking if the taxon is in the data) not being in the used minigut kraken2 db it was changed to "unclassified".
test_full.conf
To make a reasonable test only the 8 GB Standard kraken2 is now used instead of Standard (approx. 60 GB).
fasta parameter for the creation of blastn db
To avoid failure of the pipeline because of an empty fasta parameter (which should be taken from the igenome.conf in this case) it was moved to the workflow/detaxizer.nf.
Samplesheets
The samplesheet.csv for the minimal test was reduced so that a small test can be run by github
The benchmarking samplesheet was expanded with testdata for a mix of human and Covid19 data.
The long reads were excluded for now and will be added later on.
modules/local/parse_kraken2report.nf
The pipeline now fails gracefully if the tax2filter is not in the kraken2 DB and shows an explanatory error message.
prepare_fasta4blastn.nf now supports docker
Docker support was added to make tests possible.
PR checklist

[x] This comment contains a description of changes (with reason).
[x] If you've fixed a bug or added code that should be tested, add tests!
[ ] If you've added a new tool - have you followed the pipeline conventions in the contribution docs
[ ] If necessary, also make a PR on the nf-core/detaxizer branch on the nf-core/test-datasets repository.
[x] Make sure your code lints (nf-core lint).
[x] Ensure the test suite passes (nextflow run . -profile test,docker --outdir <OUTDIR>).
[ ] Usage Documentation in docs/usage.md is updated.
[ ] Output Documentation in docs/output.md is updated.
[ ] CHANGELOG.md is updated.
[ ] README.md is updated (including new tool citations and authors/contributors).

@nf-core-bot fix linting

The repo has not been set up properly. I've changed the access settings, your review is all green now ✅
I'll run the scripts to configure the rest of the settings now.

Thanks!

Could someone with admin right fix the expected (but never executed) test "Run pipeline with test data"? @FriederikeHanssen ?

done


Permissive third party alias list for refreshVersions

I'm writing this issue to let developers know that I created a side project for refreshVersions, hosting additional aliases: refreshversions-aliases.
Combined use is trivial:
import de.fayard.dependencies.bootstrapRefreshVersionsAndDependencies
import org.danilopianini.VersionAliases.justAdditionalAliases
buildscript {
    repositories {
        gradlePluginPortal()
        mavenCentral()
    }
    dependencies {
        classpath("de.fayard:dependencies:+")
        classpath("org.danilopianini:refreshversions-aliases:+")
    }
}
bootstrapRefreshVersionsAndDependencies(justAdditionalAliases)

The policy for alias acceptance will be less stringent than the one refreshVersions, the root reason for the existence of this project is to simplify / lighten the version upgrades, especially when performed via UpGradle.
Hence, one requirement is that every alias groups together (potentially) multiple dependencies, it's meant to be a grouping / synchronization tool rather than a renaming tool.
If the devs of refreshVersions deem it appropriate, I'd ask them to mention in the README.md both UpGradle and refreshversions-aliases as automation related tools for projects using refreshVersions.
Cheers

You should not use version ranges + because it makes builds not really reproducible, and can break future builds.
FYI, de.fayard:dependencies will be deprecated (with a replacement). The API is not stable until we reach 1.0 (where only a 2.0 should break it starting from that point).
About promoting other plugins, this is not something we can do now as the API is unstable, and involving third party dependencies can make future upgrades more complicated.
I'll review that again when 1.0 is there.
Please, be patient, we should get there this year :)
BTW, you can peek at the priority list here to see what's coming next.

No problem @LouisCAD, I opened this issue to let you know. No hurry.
I'm well aware of the issues related to +, but until #177 is worked out I prefer to compromise the build reproducibility over performing further manual routing maintenance.

Nice! Once the next version is available and I can target the upgrade to run some tests, I'll prepare a module for upgradle or update the existing one, and drop the dangerous + in favor of automatic controlled updates.


Bilibili flv format unsupported

DO NOT REMOVE OR SKIP THE ISSUE TEMPLATE

[X] I understand that I will be blocked if I intentionally remove or skip any mandatory* field

Checklist

[X] I'm reporting a new site support request
[X] I've verified that I'm running yt-dlp version 2023.03.04 (update instructions) or later (specify commit)
[X] I've checked that all provided URLs are playable in a browser with the same IP and same login details
[X] I've checked that none of provided URLs violate any copyrights or contain any DRM to the best of my knowledge
[X] I've searched known issues and the bugtracker for similar issues including closed ones. DO NOT post duplicates
[X] I've read the guidelines for opening an issue
[X] I've read about sharing account credentials and am willing to share it if required

Region
China
Example URLs
https://www.bilibili.com/video/BV1Ts411z762/?p=3
Provide a description that is worded well enough to be understood
https://www.bilibili.com/video/BV1Ts411z762/?p=3
视频是flv格式，无法下载
Provide verbose output that clearly demonstrates the problem

[X] Run your yt-dlp command with -vU flag added (yt-dlp -vU <your command line>)
[ ] If using API, add 'verbose': True to YoutubeDL params instead
[X] Copy the WHOLE output (starting with [debug] Command-line config) and insert it below

Complete Verbose Output
C:\Users\DELL>yt-dlp "https://www.bilibili.com/video/BV1Ts411z762/?p=3&vd_source=b2c616c25dc7b37a6c964cca2473ad8c" --cookies-from-browser edge -vU
[debug] Command-line config: ['https://www.bilibili.com/video/BV1Ts411z762/?p=3&vd_source=b2c616c25dc7b37a6c964cca2473ad8c', '--cookies-from-browser', 'edge', '-vU']
[debug] Encodings: locale cp936, fs utf-8, pref cp936, out utf-8, error utf-8, screen utf-8
[debug] yt-dlp version<EMAIL_ADDRESS>[392389b7d] (pip)
[debug] Python 3.11.1 (CPython AMD64 64bit) - Windows-10-10.0.22621-SP0 (OpenSSL 1.1.1q  5 Jul 2022)
[debug] exe versions: ffmpeg 5.1.2-essentials_build-www.gyan.dev (setts)
[debug] Optional libraries: Cryptodome-3.17, brotli-1.0.9, certifi-2022.12.07, mutagen-1.46.0, sqlite3-2.6.0, websockets-10.4
[Cookies] Extracting cookies from edge
[debug] Extracting cookies from: "C:\Users\DELL\AppData\Local\Microsoft\Edge\User Data\Default\Network\Cookies"
[debug] Found local state file at "C:\Users\DELL\AppData\Local\Microsoft\Edge\User Data\Local State"
[Cookies] Extracted 1475 cookies from edge
[debug] cookie version breakdown: {'v10': 1475, 'other': 0, 'unencrypted': 0}
[debug] Proxy map: {'http': 'http://<IP_ADDRESS>:7890', 'https': 'http://<IP_ADDRESS>:7890'}
[debug] Loaded 1786 extractors
[debug] Fetching release info: https://api.github.com/repos/yt-dlp/yt-dlp/releases/latest
Available version<EMAIL_ADDRESS>Current version<EMAIL_ADDRESS>yt-dlp is up to date<EMAIL_ADDRESS>[BiliBili] Extracting URL: https://www.bilibili.com/video/BV1Ts411z762/?p=3&vd_source=b2c616c25dc7b37a6c964cca2473ad8c
[BiliBili] 1Ts411z762: Downloading webpage
[BiliBili] BV1Ts411z762: Extracting videos in anthology
[BiliBili] Format(s) 1080P 高清, 360P 流畅, 720P 高清 are missing; you have to login or become premium member to download them. Use --cookies-from-browser or --cookies for the authentication. See  https://github.com/yt-dlp/yt-dlp/wiki/FAQ#how-do-i-pass-cookies-to-yt-dlp  for how to manually pass cookies
[BiliBili] 4232628: Extracting chapters
ERROR: [BiliBili] BV1Ts411z762_p3: No video formats found!; please report this issue on  https://github.com/yt-dlp/yt-dlp/issues?q= , filling out the appropriate issue template. Confirm you are on the latest version using  yt-dlp -U
Traceback (most recent call last):
  File "D:\Python\Python311\Lib\site-packages\yt_dlp\YoutubeDL.py", line 1518, in wrapper
    return func(self, *args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "D:\Python\Python311\Lib\site-packages\yt_dlp\YoutubeDL.py", line 1615, in __extract_info
    return self.process_ie_result(ie_result, download, extra_info)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "D:\Python\Python311\Lib\site-packages\yt_dlp\YoutubeDL.py", line 1674, in process_ie_result
    ie_result = self.process_video_result(ie_result, download=download)
                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "D:\Python\Python311\Lib\site-packages\yt_dlp\YoutubeDL.py", line 2615, in process_video_result
    self.raise_no_formats(info_dict)
  File "D:\Python\Python311\Lib\site-packages\yt_dlp\YoutubeDL.py", line 1046, in raise_no_formats
    raise ExtractorError(msg, video_id=info['id'], ie=info['extractor'],
yt_dlp.utils.ExtractorError: [BiliBili] BV1Ts411z762_p3: No video formats found!; please report this issue on  https://github.com/yt-dlp/yt-dlp/issues?q= , filling out the appropriate issue template. Confirm you are on the latest version using  yt-dlp -U

This seems to be fixed by the patch here: https://github.com/yt-dlp/yt-dlp/issues/5874#issuecomment-1365452076
And also by PR #6438
Related: #3659, #5655
and it appears to be a duplicate of #5874, closing as such


Background (cron/timed) jobs

We need some way to run asynchronous background jobs, there's a few use cases:

Sending emails in background with retry/backoff (currently it's pretty fast since it hits AWS SES through SMTP in the same region as the VM)
Checking if users have not read their messages (after some time) and we should send them an email about missed messages
Possibly nagging half-signed up people to sign up, etc
Pruning things like expired signup/login tokens from the database

This doesn't need to be super fast/accurate, as long as stuff gets done within some seconds of being scheduled (for async jobs), etc.
Who knows of a good way of doing this? I've some ideas but want to hear what others think too.

@NightTsarina  and @shuttle1987, do you have opinions/wisdom for this?

In the past the way I have gone about these sorts of things is to have a message queue that you can pass off tasks to be processed in the background. When a task is submitted to the queue there is response immediately with a URL or some other unique identifier for tracking the task that was just created. The processing of the task is then done asynchronously in a different process that is possibly on a different machine. Conceptually the simplest thing is to have some form of polling to see if new tasks have been completed. There's other architectures that an be used as well for this where the message queue pushes notifications out in some sort of publish-subscribe system.
Having something to execute tasks, especially emails, in the background is a very good idea.
I've personally enjoyed using ZeroMQ for the messaging in these sorts of situations as it allows you to make the messaging architecture that your project needs. Though better alternatives that I am not aware of might exist now. The message queue system provided by [cloud platform] might be a good option depending on how much vendor lock-in the project is willing to take on and how good [cloud platform]s offering is. I'd avoid AMPQ for sure since that's not a very good protocol. I have used Celery in some previous production projects along with Flower to have monitoring, but there's some very weird bugs (like unbounded memory growth) when using Celery with some brokers that used to be almost impossible to debug. Again I'm possibly a couple of years out of date, those bugs hopefully have been fixed by now.

Sending emails in background with retry/backoff

We could use exim4 for this. It accepts mails to a queue immediately and relays to a smarthost whenever it can reach it.

Pruning things like expired signup/login tokens from the database

Can be done lazily at next access.

We need some way to run asynchronous background jobs, there's a few use cases:
* Sending emails in background with retry/backoff (currently it's pretty fast since it hits AWS SES through SMTP in the same region as the VM)

I think this is a job for a full-fledged MTA, and I would suggest postfix for that (Exim is not really great in my experience).

* Checking if users have not read their messages (after some time) and we should send them an email about missed messages
* Possibly nagging half-signed up people to sign up, etc
* Pruning things like expired signup/login tokens from the database

These are typical jobs to run at night once in a while. I think there are two obvious solutions:

Have a CLI tool that does it, and set up a cron job. Easy and simple. The main drawback is that you have no state about the run, unless you specifically save something in the DB.
Use a queue manager with pre-scheduled tasks, like celery-beat, but I find that cumbersome and another source of things that can go wrong. Since there is no need for a queue manager now, I would not add it just for nightly jobs.

I would go for some micro-services connect by a messaging system.

Regarding mail delivery:
I don't see the benefit of pulling in a full-fledged MTA to deliver mail. It would end up being yet another service we have to maintain, spin up during dev, and get new devs acquainted with. I don't see the benefits when added on top of AWS SES. SES already does retry with backoff on soft bounces.
The reason I've moved it into a background job in the PR is because the request to SES still takes a few moments sometimes. The backoff and retry on the bg job PR is mainly for general purpose jobs.

The reason I've moved it into a background job in the PR is because the request to SES still takes a few moments sometimes.

Sounds like AWS SES is our full-fledged MTA then. Let's unlock the database before we send the e-mail so that the few moments it takes to hand off the email won't bother anyone.

The reason I've moved it into a background job in the PR is because the request to SES still takes a few moments sometimes.

Sounds like AWS SES is our full-fledged MTA then. Let's unlock the database before we send the e-mail so that the few moments it takes to hand off the email won't bother anyone.

It takes a noticeable amount of time (up to a few seconds). (This is also a security issue for account enumeration.)
Why do you object to passing off the connection to SES to a background job? I think it's clearly a thing that needs to be done in the background.

Why do you object to passing off the connection to SES to a background job? I think it's clearly a thing that needs to be done in the background.

Since we run production on Amazon, the AWS SES is always up whenever we are up. So we could treat it as a reliable microservice and don't need to special case when it isn't accessible. And since there's no reason for it to be slow, we shouldn't design it into our app. We better bug report to them when it is slower than it should or get our money back for lack of service.

Since we run production on Amazon, the AWS SES is always up whenever we are up.

Sure, though EC2 and SES are quite different services and have different uptimes. If we can be resilient to this, why not?

And since there's no reason for it to be slow, we shouldn't design MTA slowness into our app.

But it is slow... so we should do something about it.

We better bug report to them when it is slower than it should or get our money back for lack of service.

It's not sold as a particularly fast service.

We better bug report to them when it is slower than it should or get our money back for lack of service.

We are unfortunately a rounding error in their rounding errors. We have no power to change the service.

[EDIT] We could hide the latency from the client by first replying to the client and then sending the email. Other threads in the thread pool will take care of new rpc requests while the email is being sent.

This is essentially what the background job PR does: it passes it off to a queue of jobs to be done asynchronously.

But it is slow... so we should do something about it.

No, we should not add extra technical dept to workaround bugs at one specific cloud provider.
But separating off the email sending to a different process is a good separation, it simplifies the servicers.

Closed in #479


refactor: combine semantic release with gh-cli

Description
In order to use GitHub way to do a semantic release note
we will need to

well define the labels, the cli checks the labels instead of the commit message
prepare .github/release.yml to define how the release should work
add workflow to check label exists
[optional] prepare CODEOWNERS file

How to generate the tag?
we will still use semantic release cli to generate the tag with --dry-run mode. So we can get the latest tag
Resolve #54
Type of change
Please delete options that are not relevant.

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

:tada: This PR is included in version 0.2.0 :tada:
The release is available on GitHub release
Your semantic-release bot :package::rocket:


[Kernel] Update Cutlass int8 kernel configs for SM80

This PR:

Add 6 int8 Cutlass Kernel configurations for different Gemm shape regimes.

M in [0, 16]
M in (16, 32]
M in (32, 64]
M in (64, 128] and N < 8192
M in (64, 128] and N >= 8192
M in (128, inf)

Add dispatching to the correct configuration based on the Gemm problem shape.

The kernel configurations were selected from benchmark sweeps performed on an A100 GPU on a variety of commonly encountered GEMM shapes.
Numbers:
GPU A100.
Command: python3 benchmarks/cutlass_benchmarks/w8a8_benchmarks.py --dtype int8 model_bench --models {mistralai/Mistral-7B-v0.1,meta-llama/Llama-2-7b-hf,meta-llama/Llama-2-13b-hf,meta-llama/Llama-2-70b-hf}
Model : meta-llama/Llama-2-7b-hf

Shapes
cutlass_i8_i8_bf16_scaled_mm - PR (microseconds)
cutlass_i8_i8_bf16_scaled_mm -main (microseconds)
Speedup

MKN=(1x4096x12288)
43
48.7
1.13255814

MKN=(1x4096x4096)
12.3
34.4
2.796747967

MKN=(1x4096x22016)
74.9
80
1.068090788

MKN=(1x11008x4096)
38.3
80
2.088772846

MKN=(16x4096x12288)
43.4
48.9
1.126728111

MKN=(16x4096x4096)
12.3
34.5
2.804878049

MKN=(16x4096x22016)
77.7
81.1
1.043758044

MKN=(16x11008x4096)
38.3
80
2.088772846

MKN=(32x4096x12288)
44.6
49.3
1.105381166

MKN=(32x4096x4096)
14.3
34.6
2.41958042

MKN=(32x4096x22016)
74.3
82
1.103633917

MKN=(32x11008x4096)
39.5
80.2
2.030379747

MKN=(64x4096x12288)
47
50
1.063829787

MKN=(64x4096x4096)
21.4
34.7
1.621495327

MKN=(64x4096x22016)
78.1
83.6
1.070422535

MKN=(64x11008x4096)
46.4
80.6
1.737068966

MKN=(128x4096x12288)
56.2
51.5
0.9163701068

MKN=(128x4096x4096)
21.9
36.9
1.684931507

MKN=(128x4096x22016)
104.6
86.6
0.82791587

MKN=(128x11008x4096)
85.6
85.7
1.001168224

MKN=(256x4096x12288)
72.7
72.8
1.001375516

MKN=(256x4096x4096)
37.7
37.7
1

MKN=(256x4096x22016)
132.9
132.8
0.9992475546

MKN=(256x11008x4096)
86
86.1
1.001162791

MKN=(512x4096x12288)
125.6
125.7
1.000796178

MKN=(512x4096x4096)
64
64.1
1.0015625

MKN=(512x4096x22016)
215.7
215.8
1.000463607

MKN=(512x11008x4096)
149.1
149.1
1

 PR Checklist (Click to Expand)
Thank you for your contribution to vLLM! Before submitting the pull request, please ensure the PR meets the following criteria. This helps vLLM maintain the code quality and improve the efficiency of the review process.
PR Title and Classification
Only specific types of PRs will be reviewed. The PR title is prefixed appropriately to indicate the type of change. Please use one of the following:

[Bugfix] for bug fixes.
[CI/Build] for build or continuous integration improvements.
[Doc] for documentation fixes and improvements.
[Model] for adding a new model or improving an existing model. Model name should appear in the title.
[Frontend] For changes on the vLLM frontend (e.g., OpenAI API server, LLM class, etc.)
[Kernel] for changes affecting CUDA kernels or other compute kernels.
[Core] for changes in the core vLLM logic (e.g., LLMEngine, AsyncLLMEngine, Scheduler, etc.)
[Hardware][Vendor] for hardware-specific changes. Vendor name should appear in the prefix (e.g., [Hardware][AMD]).
[Misc] for PRs that do not fit the above categories. Please use this sparingly.

Note: If the PR spans more than one category, please include all relevant prefixes.
Code Quality
The PR need to meet the following code quality standards:

We adhere to Google Python style guide and Google C++ style guide.
Pass all linter checks. Please use format.sh to format your code.
The code need to be well-documented to ensure future contributors can easily understand the code.
Include sufficient tests to ensure the project to stay correct and robust. This includes both unit tests and integration tests.
Please add documentation to docs/source/ if the PR modifies the user-facing behaviors of vLLM. It helps vLLM user understand and utilize the new features or changes.

Notes for Large Changes
Please keep the changes as concise as possible. For major architectural changes (>500 LOC excluding kernel/data/config/test), we would expect a GitHub issue (RFC) discussing the technical design and justification. Otherwise, we will tag it with rfc-required and might not go through the PR.
What to Expect for the Reviews
The goal of the vLLM team is to be a transparent reviewing machine. We would like to make the review process transparent and efficient and make sure no contributor feel confused or frustrated. However, the vLLM team is small, so we need to prioritize some PRs over others. Here is what you can expect from the review process:

 After the PR is submitted, the PR will be assigned to a reviewer. Every reviewer will pick up the PRs based on their expertise and availability.
 After the PR is assigned, the reviewer will provide status update every 2-3 days. If the PR is not reviewed within 7 days, please feel free to ping the reviewer or the vLLM team.
 After the review, the reviewer will put an  action-required label on the PR if there are changes required. The contributor should address the comments and ping the reviewer to re-review the PR.
 Please respond to all comments within a reasonable time frame. If a comment isn't clear or you disagree with a suggestion, feel free to ask for clarification or discuss the suggestion.

Thank You
 Finally, thank you for taking the time to read these guidelines and for your interest in contributing to vLLM. Your contributions make vLLM a great tool for everyone!

PFA Heatmap generated from the benchmark sweeps on A100.

Pointers on how to read the heatmap:
X-Axis - All the Cutlass OP tried.
Y-Axis - All the GEMM Shapes in (M x N x K) format.
The Darker the cell, the Better the algorithm performed for that GEMM shape. Each row (GEMM-Shape) is normalized to be between 0.0 and 1.0. The best algorithm has a value of 1.0.
Cutlass Op naming convention:
autogen_cutlass2x_scaled_mm_dq_sm80_128x64x128_64x64x64_16x8x32_ThreadBlockSwizzleStrreamK_kGemmSplitKParallel_5 refers to an Op constructed with,

Tile Shape : 128x64x128
Warp Shape : 64x64x64
Instruction Shape : 16x8x32
Thread block swizzle : ThreadBlockSwizzleStreamK
Gemm mode : kGemmSplitKParallel
Main loop stages : 5


stockfish executable issue with windows

Hi,
I am wondering whether someone can help me resolve the stockfish executable variable with windows. I downloaded stockfish engine for windows. The path to the executable file in my folder is: 'C:\Users\ga\stockfish_13_win_x64_bmi2'.  Therefore, the executable path is: ''C:\Users\ga\stockfish_13_win_x64_bmi2\stockfish_13_win_x64_bmi2.exe'. I tried this path to execute the stockfish engine, and it failed. Can you please give me some pointers ?

Happy to try to help! You didn't say what the error was or what you were trying to do specifically, though, so I can only guess for now.
In general, the neural network versions of Stockfish (12 or higher) can get themselves into positions that crash the engine. This doesn't happen in regular chess, but reconchess can create board states that aren't possible traditionally. Try with Stockfish 11 and see if that resolves it.

I'm closing this issue, but if you have further questions feel free to ask them here. (If you do, include some more detail about the errors you see!)

Hi,
Sorry for the late response. I was quite busy this week. I tried with the stockfish 11. I put the executable path into my code as follows:
STOCKFISH_ENV_VAR = 'C:\Users\ga\stockfish-11-win\Windows'
I run my code, and I still get the same error. The error is as follows:
Traceback (most recent call last):
File "c:\users\ga\anaconda3\lib\site-packages\reconchess\scripts\rc_bot_match.py", line 22, in main
winner_color, win_reason, history = play_local_game(white_player_cls(), black_player_cls(), game=game)
File "C:\Users\ga\Dropbox\gtd\trout_bot.py", line 17, in init
raise KeyError('required environment variable called "{}" pointing to the stockfish executable'.format(STOCKFISH_ENV_VAR))
KeyError: 'required environment variable called "C:\Users\ga\stockfish-11-win\Windows" pointing to the stockfish executable'
Game Over!
Winner: ERROR!
Saving replay to RandomBot-TroutBot-ERROR-2021_06_24-21_12_42.json...
If you can give me some hints, I would appreciate it.

Ah, okay, there are a couple more changes to make that will help!
The environment variable needs to point to the engine itself, not just the directory it is in. Something like 'C:\Users\ga\stockfish-11-win\Windows\stockfish_20011801_x64.exe'
Also, it looks like you've mixed up a little of what is going on in that code. The Python code for trout_bot has a variable near the top which is STOCKFISH_ENV_VAR = 'STOCKFISH_EXECUTABLE'. Leave that alone; it just tells Python that the name of the environment variable that says where Stockfish is has the name STOCKFISH_EXECUTABLE. In fact, you don't change the Python code at all for this, you need to create an environment variable outside of Python that points to the engine. On Windows, run the command set STOCKFISH_EXECUTABLE = 'C:\Users\ga\stockfish-11-win\Windows\stockfish_20011801_x64.exe' before running reconchess code that needs that variable, or type 'environment' in the start menu to set this variable in a GUI.

Thank you for your answer. I appreciate it


Misc: Update Dependency Versions

Bumps dependency versions to make sure we're up-to-date on everything.
For more details on the bigger version bumps, see this commit.

👍


LinearGetPosition?

Hey, nice library!
I was wondering if you had any plans to implement LinearGetPosition/LinearGetPositions? I can't seem to get USDT market positions with the normal GetPositions function.
Thanks!

Hi! atm I'm not planning to do so... I busy with other stuff, but eventually I most likely I will need to do it


POC: Async parquet reader via fsspec

Closes https://github.com/kylebarron/arro3/issues/61

I'd be happy to try to review this if you give me some pointers on where I can start.
Are you aware of fsspec.parquet ?

This branch should be refreshed. You should be able to build it and test it with an fsspec file system.

Are you aware of fsspec.parquet ?

I wasn't, but I'm wary of re-implementing Parquet range requests in Python. I'd much rather let the Rust parquet crate manage all of that.

Yes, I will test soon, thank you.

I'd much rather let the Rust parquet crate manage all of that.

Would be happy to speed test! IF you intend to allow using fsspec, you will want to consider this or something like it, since the file object abstraction is pretty much serial and blocking.

IF you intend to allow using fsspec, you will want to consider this or something like it, since the file object abstraction is pretty much serial and blocking.

This isn't solved with fsspec's async API? https://filesystem-spec.readthedocs.io/en/stable/async.html
Ideally, we would transparently allow the user to use either fsspec or an object-store instance or a file, or whatever.

(This branch only supports async-enabled fsspec objects)

This isn't solved with fsspec's async API? https://filesystem-spec.readthedocs.io/en/stable/async.html

Using python async in rust is hard. I don't yet know how you've implemented things here, but the file-like-object API is never async (because python's io.FileIO isn't and other python libraries don't expect async).

Using python async in rust is hard

It was a little confusing to get working, but I tested this branch to be functional 🤷♂

the file-like-object API is never async (because python's io.FileIO isn't and other python libraries don't expect async).

Right, but I wouldn't expect to use an fsspec wrapper for file-like objects. If a user passes in a file-like object, we'd use rust-native APIs to access the data synchronously.

This branch only supports async-enabled fsspec objects

OK, I see you are using cat_range, but of course that will only work well if you fetch all the ranges, or batch of ranges, that you intend to use at once. I am prepared to be proved wrong, but I would be surprised if you can call multiple top-level coroutines with the python GIL and expect them to complete concurrently in "another thread".
(since you are passing only one range at a time, you miss out on the opportunity to join nearby/contiguous ranges and cut down on overhead; you may as well use _cat_file)

OK, I see you are using cat_range, but of course that will only work well if you fetch all the ranges, or batch of ranges, that you intend to use at once.

I was just reading through the implementation and was reminded of this as well, that we should override the get_byte_ranges trait method.

I am prepared to be proved wrong, but I would be surprised if you can call multiple top-level coroutines with the python GIL and expect them to complete concurrently in "another thread".

Seems like a testable hypothesis?

(since you are passing only one range at a time, you miss out on the opportunity to join nearby/contiguous ranges and cut down on overhead)

I thought parquet did this automatically, before reaching the AsyncFileReader, but it may be that that happens only in object-store:
https://github.com/apache/arrow-rs/blob/77dcdc00fc781f9323db77cce7cad94432e1372e/object_store/src/lib.rs#L639-L648
Regardless, I agree that's something to ensure happens here.

Benchmarking async code is really hard, but this quick test at least shows that we're not slower than pyarrow, if not faster:
I ran this code, but restarted the Python kernel before each run, just to try and limit any Python-level caching. All tests were done connected to wired ethernet, but still, there's a bit of noise of course.
The file is 150MB so most of the time is just downloading.
Make sure you compile in release mode if you test it
uv run maturin develop -m arro3-core/Cargo.toml --release
uv run maturin develop -m arro3-compute/Cargo.toml --release
uv run maturin develop -m arro3-io/Cargo.toml --release

Code:
import pyarrow.parquet as pq
import s3fs
from time import time
from arro3.io import read_parquet_async

fs = s3fs.S3FileSystem(anon=True, asynchronous=True)

path = "s3://ookla-open-data/parquet/performance/type=mobile/year=2019/quarter=1/2019-01-01_performance_mobile_tiles.parquet"

# I can't use an async function inside %time
start = time()
info = await fs._info(path)
table = await read_parquet_async(path, fs, info["size"])
end = time()
print(f"time: {end - start:.2f}")
# 8.88
# 6.69
# 10.14
# 10.80
# 11.1

%time pa_table = pq.read_table(path)
# 15.8
# 7.18
# 24.6
# 16.1
# 14.5

This was an interesting POC to narrowly implement a Parquet reader via fsspec, and it's awesome to see that it works.
But the more interesting approach would be to implement the ObjectStore trait, not the AsyncFileReader trait, on the Rust side. Then you could use fsspec for way more than just reading Parquet.
I started to explore that a bit in https://github.com/kylebarron/arro3/pull/225

This was an interesting POC to narrowly implement a Parquet reader via fsspec, and it's awesome to see that it works.

Agreed.
Sounds like we should have a planning discussion :)

I'm open! I'm implementing constructors for ObjectStore first, in #229. And then once that's merged we can focus on the details of wrapping fsspec

On the benchmark, I am doubtful this is a particularly useful measure, I believe it is the pure download time for the whole file:

all columns are selected and all row-groups (actually, there's only one)
the data types are simple and the columns non-nested and non-null (by stats, not the schema), so aside from decompression, there is very little decoding to do.

Total aside:
The tile column is, of course, the biggest. It has entries in geo/WKT like
b'POLYGON((99.99755859375 9.79026446091444,<PHONE_NUMBER>57812 9.79026446091444,<PHONE_NUMBER>57812 9.7848512507506, 99.99755859375 9.7848512507506, 99.99755859375 9.79026446091444))'

Maybe you completely agree, but id there any justification for storing this as text (>17bytes per value) rather than list<x: f64, y: f64>? I note that parquet supports BYTE_STREAM_SPLIT encoding, which will make the floats much more compressible than normal floats or certainly text.

I believe it is the pure download time for the whole file

I wouldn't be surprised if the rust implementation still made multiple fetches and then decoded initial chunks of the Parquet data concurrently before the download had finished. While perhaps the pyarrow implementation waits for the entire file to finish first.
But regardless, it's nice to ensure that this way of calling fsspec from Rust doesn't have any egregious overhead.

Maybe you completely agree, but is there any justification for storing this as text (>17bytes per value) rather than list<x: f64, y: f64>?

The justification is that every geospatial system out there can understand Well-Known Text. But this is why I'm working on GeoArrow, which can represent Polygons natively in this way. And this encoding is supported in GeoParquet 1.1.

But regardless, it's nice to ensure that this way of calling fsspec from Rust doesn't have any egregious overhead.

Agreed. Also you're right, that I have no idea how [py]arrow calls fsspec internally either - but I suspect it is seek/read, which will work poorly in the case of column selection with gaps.

why I'm working on GeoArrow, which can represent Polygons natively in this way. And this encoding is supported in GeoParquet 1.1.

Yes indeed, and I would love to see proof that this is indeed better on space and parse time, especially if not passing to the likes of GEOS (requiring copies of the floats) for some compute. I would say that geoparquet should recommend BYTE_STREAM_SPLIT and v2 pages...

why I'm working on GeoArrow, which can represent Polygons natively in this way. And this encoding is supported in GeoParquet 1.1.

Yes indeed, and I would love to see proof that this is indeed better on space and parse time, especially if not passing to the likes of GEOS (requiring copies of the floats) for some compute. I would say that geoparquet should recommend BYTE_STREAM_SPLIT and v2 pages...

I haven't done rigorous benchmarking myself. You might consider making an issue or discussion on the geoparquet repo about encoding recommendations.


Buttons are appearing and appearing constantly on Firefox

I downloaded this extension as it was said in guide, but when I went to ChatGPT chat, this happened:

Same issue on Chrome

This caused me to stop using it.
Issue happens on Chrome AND Firefox


Request for customizable highlights for not-highlighted hunks

Is your feature request related to a problem? Please describe.
No.
Describe the solution you'd like
I'd like a set of highlight groups to control the highlights of the hunks that are not currently highlighted. For example, I'd like to dim the context lines much more than normal. However, I can't seem to find even where those highlights are applied in the source code 😅
Describe alternatives you've considered
Changing DiffAdd/DiffDelete etc but this is not a great solution.
Additional context
-

It seems its a problem with not documented NeogitDiff{Add,Delete,...} (minus the highlight).
Think this resolves #318 as well. Except that NeogitDiffContext doesn't seem to exist (since it's the default Normal text). But that should be changed easily enough by elaborating on the following conditional:
https://github.com/TimUntersberger/neogit/blob/f9cb5a4ad10288be568129fb71de2d7e559adad2/lua/neogit/status.lua#L182-L186

I'd also like for there to be Neogit*Highlight as well as Neogit (not highlighted) in the commit view buffer, as far as I can tell this is the way it works in Emacs magit (i.e., have the same UI where the hunk under cursor uses the other set of highlights)

I would gladly make a PR, if I could figure out why the current commit view hunk text fg turns blue. (Can't locate that in the code)

@mizlan You missed the second CursorMoved event here, I guess?
https://github.com/TimUntersberger/neogit/blob/f9cb5a4ad10288be568129fb71de2d7e559adad2/lua/neogit/buffers/commit_view/init.lua#L69

Oopsie haha. Didn't catch that even though I scoured the codebase for "hl"/"highlight". I'll try to see what's up.

Yeah it's just
https://github.com/TimUntersberger/neogit/blob/f9cb5a4ad10288be568129fb71de2d7e559adad2/lua/neogit/buffers/commit_view/init.lua#L77
This is how it turned blue
:hi Directory guifg=#cdd6f4

Yeah, changing that to a Neogit* highlight group is an important part of it, then we'd have to have new context/add/delete groups for inactive/active "hunks" as well as probably another hlgroup for the info at the top, which may not be suitable for inactive/active context hlgroup.

Feel free to reopen this if this is still an issue.


Getting java.sql.SQLException: HikariDataSource HikariDataSource (hikariConnectionPool) has been closed exceptions.

I am getting this exception at the time of refreshing the data source. I am creating new datasource after every 1 minute.
java.sql.SQLException: HikariDataSource HikariDataSource (hikariConnectionPool) has been closed. 	at com.zaxxer.hikari.HikariDataSource.getConnection(HikariDataSource.java:96) 	at org.hibernate.engine.jdbc.connections.internal.DatasourceConnectionProviderImpl.getConnection(DatasourceConnectionProviderImpl.java:122) 	at org.hibernate.internal.NonContextualJdbcConnectionAccess.obtainConnection(NonContextualJdbcConnectionAccess.java:38) 	at org.hibernate.resource.jdbc.internal.LogicalConnectionManagedImpl.acquireConnectionIfNeeded(LogicalConnectionManagedImpl.java:113) 	at org.hibernate.resource.jdbc.internal.LogicalConnectionManagedImpl.getPhysicalConnection(LogicalConnectionManagedImpl.java:143) 	at org.springframework.orm.jpa.vendor.HibernateJpaDialect.beginTransaction(HibernateJpaDialect.java:152) 	at org.springframework.orm.jpa.JpaTransactionManager.doBegin(JpaTransactionManager.java:420)
Below are the configurations passed at the time of connection.
keepaliveTime...................0
leakDetectionThreshold..........60000
maxLifetime.....................60000
maximumPoolSize.................200
connectionTimeout...............360000

I am refreshing the Hikari datasource after every 1 minute of interval. I am using the spring data JPA for performing the save operations. But JPA is pointing to older bean of datasource and I am getting above exceptions.

My database credential is getting refreshed after one minute @lfbayer .

You should not create a new datasource just for that. I would assume any existing connections are fine even if the credentials change. By recreating the datasource you are likely creating all sorts of problems for yourself. And if it is true that existing connections are not fine, then to be honest a connection pool isn't going to have any benefit for you.
You should only have to worry about new connections. In that case I highly recommend you subclass your specific datasource implementation and override the getConnection method so that you can use new credentials for each new connection.

Alternatively, you could use the mbean to update the current HikariCP pool's username and password settings on your one minute schedule. Then any new connections after that will use the new credentials. You still don't need to create a new datasource every minute for this.

@lfbayer How to close older connection in this scenario's. I am getting below exception for this.
java.sql.SQLTransientConnectionException: hikariConnectionPool - Connection is not available, request timed out after 60000ms.
	at com.zaxxer.hikari.pool.HikariPool.createTimeoutException(HikariPool.java:696)
	at com.zaxxer.hikari.pool.HikariPool.getConnection(HikariPool.java:181)
	at com.zaxxer.hikari.pool.HikariPool.getConnection(HikariPool.java:146)
	at com.zaxxer.hikari.HikariDataSource.getConnection(HikariDataSource.java:100)

Older connections still in connection pool.

Any existing connection should still be valid. I don't  think the error you get there is related to the username or password changing. Connection is not available doesn't mean that an old connection is in the pool, it means that your other connections have never been returned to the pool and that you have hit max connections so no new connections will be created (or the pool was unable to create a new connection in the background within the given timeout).

@lfbayer Now I am creating the new connection after every one hour and closing older ones. But in case of any wrong password getConnection() method is not throwing any exception. Please can you reply on this issue.
HikariDataSource hds; hds.setUsername("userName"); hds.setPassword("password"); try{ Connection conn =hds.getConnection(); } catch(Exception e) {}


bug: left_pad does not work with tabs

Neovim version (nvim -v)
0.10.1
Neovim distribution
LazyVim
Operating system
MacOS
Terminal emulator / GUI
iTerm2
Describe the bug
When i set the "code" configuration as shown blow, with a left_pad and a right_pad defined it actually makes the right_pad be (left_pad + declared value of right_pad) 6 in this case.
this is from the wiki
return {
  "MeanderingProgrammer/markdown.nvim",
  main = "render-markdown",
  name = "render-markdown",
  dependencies = {
    "nvim-treesitter/nvim-treesitter",
    "nvim-tree/nvim-web-devicons"
  },
  config = function ()
    require("render-markdown").setup(
      {
        code = {
          width = "block",
          left_pad = 2,
          right_pad = 4,
        },
      }
    )
  end
}

if __name__ == "__main__":
	# Usage
	merge_pdfs(sys.argv[1], sys.argv[2], "merged_output.pdf")
\`\`\`
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa

My suspicion is that these are happening in these areas of the code:
area1
area2
Expected behavior
The right padding should only be the value of the right_pad value in the config and not the sum of the left_pad and right_pad (value from the config)
Healthcheck output
render-markdown: require("render-markdown.health").check()

render-markdown.nvim [version] ~
- OK plugin 7.5.1
- OK neovim >= 0.10

render-markdown.nvim [configuration] ~
- OK valid

render-markdown.nvim [nvim-treesitter] ~
- OK installed
- OK markdown: parser installed
- OK markdown: highlight enabled
- OK markdown_inline: parser installed
- OK markdown_inline: highlight enabled
- WARNING latex: parser not installed
  - ADVICE:
    - Disable LaTeX support to avoid this warning by setting { latex = { enabled = false } }

render-markdown.nvim [executables] ~
- OK latex2text: installed

render-markdown.nvim [conflicts] ~
- OK headlines: not installed
- OK obsidian: installed but should not conflict

Plugin configuration
return {
  "MeanderingProgrammer/markdown.nvim",
  main = "render-markdown",
  name = "render-markdown",
  dependencies = {
    "nvim-treesitter/nvim-treesitter",
    "nvim-tree/nvim-web-devicons"
  },
  config = function ()
    require("render-markdown").setup(
      {
        code = {
          width = "block",
          left_pad = 2,
          right_pad = 4,
        },
      }
    )
  end
}

Plugin error log
N/A

Confirmations

[X] I have updated this plugin to the latest version using my plugin manager
[X] I have provided the text contained in all screenshots as raw text in this issue. This means if there is a screenshot below it is the copy pasted contents of the file in the screenshot. I understand that my issue will be closed if I have not.

Additional information
No response

The issue is that the lines in the code block have tabs and the left padding (made up of spaces) is not applied as a result.
Changing the tabs to spaces fixes this. For instance the following code block works correctly with your configuration:
```python
if __name__ == "__main__":
    # Usage
    merge_pdfs(sys.argv[1], sys.argv[2], "merged_output.pdf")
```

I'll see if I can handle tabs.

Fixed here: https://github.com/MeanderingProgrammer/render-markdown.nvim/commit/d80acb3f4ccc88052f65fa0a26e46c106b328bbe
There's no way to shift text to the left by 2 spaces when it's before a tab and your tab size is 4. So now the next multiple of your tab size will be used as the left padding. So your example will be left padded by 4 spaces and the right padding will be whatever value you set, in this case also 4.
This is just how tabs work:

Text a\tb displayed as a   b
But  a\tb displayed as  a  b

The extra space in the second example doesn't shift the b anywhere and the text remains the same width overall. This is the same behavior you were seeing.


Adjust containers when their dimensions change

instead of adjusting on window resize only, detect container resizing.
(Maybe using some kind of polling solution.)

This seems promising: https://www.npmjs.com/package/resize-observer-polyfill

Or this maybe?
https://yarnpkg.com/en/package/resize-observer-lite
(https://github.com/d6u/react-container-query/issues/54#issuecomment-299717003)


SkyConnect locks up sometimes after adding new devices via ZHA

SkyConnect requires a hard reset (unplugging the dongle, and replugging) after adding some devices. This has happened with devices from various manufactureres including Sonoff, Sengled and Innr. This is an intermittent issue, so it doesn't occur everytime a new device is added.
Reloading the ZHA integration fails, and the logs show the following error:
Logger: homeassistant.config_entries
Source: components/zha/core/gateway.py:205
First occurred: 6:00:20 PM (1 occurrences)
Last logged: 6:00:20 PM

Error setting up entry SkyConnect v1.0 for zha
Traceback (most recent call last):
  File "/usr/local/lib/python3.10/asyncio/tasks.py", line 456, in wait_for
    return fut.result()
asyncio.exceptions.CancelledError

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
  File "/usr/src/homeassistant/homeassistant/config_entries.py", line 383, in async_setup
    result = await component.async_setup_entry(hass, self)
  File "/usr/src/homeassistant/homeassistant/components/zha/__init__.py", line 122, in async_setup_entry
    await zha_gateway.async_initialize()
  File "/usr/src/homeassistant/homeassistant/components/zha/core/gateway.py", line 220, in async_initialize
    raise exc
  File "/usr/src/homeassistant/homeassistant/components/zha/core/gateway.py", line 205, in async_initialize
    self.application_controller = await app_controller_cls.new(
  File "/usr/local/lib/python3.10/site-packages/zigpy/application.py", line 191, in new
    await app.startup(auto_form=auto_form)
  File "/usr/local/lib/python3.10/site-packages/zigpy/application.py", line 165, in startup
    await self.connect()
  File "/usr/local/lib/python3.10/site-packages/bellows/zigbee/application.py", line 125, in connect
    self._ezsp = await bellows.ezsp.EZSP.initialize(self.config)
  File "/usr/local/lib/python3.10/site-packages/bellows/ezsp/__init__.py", line 106, in initialize
    await ezsp._startup_reset()
  File "/usr/local/lib/python3.10/site-packages/bellows/ezsp/__init__.py", line 97, in _startup_reset
    await self.reset()
  File "/usr/local/lib/python3.10/site-packages/bellows/ezsp/__init__.py", line 126, in reset
    await self._gw.reset()
  File "/usr/local/lib/python3.10/site-packages/bellows/uart.py", line 260, in reset
    return await asyncio.wait_for(self._reset_future, timeout=RESET_TIMEOUT)
  File "/usr/local/lib/python3.10/asyncio/tasks.py", line 458, in wait_for
    raise exceptions.TimeoutError() from exc
asyncio.exceptions.TimeoutError

Home Assistant is running the latest version of HAos (2023.4.2) on a generic Intel install. The error posted above appears to be the last in a series of warnings and errors posted from earliest to latest here:
Logger: homeassistant.components.sensor
Source: helpers/entity_platform.py:836
Integration: Sensor (documentation, issues)
First occurred: 5:50:59 PM (1 occurrences)
Last logged: 5:50:59 PM

Updating zha sensor took longer than the scheduled update interval 0:00:30

Then:
Logger: homeassistant
Source: components/zha/core/channels/base.py:464
First occurred: 5:51:25 PM (1 occurrences)
Last logged: 5:51:25 PM

Error doing job: Task exception was never retrieved
Traceback (most recent call last):
  File "/usr/src/homeassistant/homeassistant/components/zha/light.py", line 960, in _refresh
    await self.async_get_state()
  File "/usr/src/homeassistant/homeassistant/components/zha/light.py", line 895, in async_get_state
    results = await self._color_channel.get_attributes(
  File "/usr/src/homeassistant/homeassistant/components/zha/core/channels/base.py", line 464, in _get_attributes
    read, _ = await self.cluster.read_attributes(
  File "/usr/local/lib/python3.10/site-packages/zigpy/zcl/__init__.py", line 473, in read_attributes
    result = await self.read_attributes_raw(to_read, manufacturer=manufacturer)
  File "/usr/local/lib/python3.10/site-packages/zigpy/zcl/__init__.py", line 326, in request
    return await self._endpoint.request(
  File "/usr/local/lib/python3.10/site-packages/zigpy/endpoint.py", line 237, in request
    return await self.device.request(
  File "/usr/local/lib/python3.10/site-packages/zigpy/device.py", line 294, in request
    await self._application.request(
  File "/usr/local/lib/python3.10/site-packages/zigpy/application.py", line 734, in request
    await self.send_packet(
  File "/usr/local/lib/python3.10/site-packages/bellows/zigbee/application.py", line 746, in send_packet
    await self._ezsp.setExtendedTimeout(device.ieee, True)
AttributeError: 'NoneType' object has no attribute 'setExtendedTimeout'

Then:
Logger: homeassistant.components.zha.core.channels.base
Source: components/zha/core/channels/base.py:490
Integration: Zigbee Home Automation (documentation, issues)
First occurred: April 10, 2023 at 2:32:50 PM (59 occurrences)
Last logged: 5:51:25 PM

[0x4D62:1:0x0008]: 'async_initialize' stage failed: 'NoneType' object has no attribute 'setExtendedTimeout'
[0x4D62:1:0x0300]: 'async_initialize' stage failed: 'NoneType' object has no attribute 'setExtendedTimeout'
[0x4D62:1:0x0702]: 'async_initialize' stage failed: 'NoneType' object has no attribute 'setExtendedTimeout'
[0x5C6A:1:0x0006]: 'async_initialize' stage failed: 'NoneType' object has no attribute 'sendUnicast'
[0x5C6A:1:0x0300]: 'async_initialize' stage failed: 'NoneType' object has no attribute 'sendUnicast'

Then:
Logger: homeassistant.components.zha.core.gateway
Source: components/zha/core/gateway.py:205
Integration: Zigbee Home Automation (documentation, issues)
First occurred: 6:00:04 PM (3 occurrences)
Last logged: 6:00:20 PM

Couldn't start EZSP = Silicon Labs EmberZNet protocol: Elelabs, HUSBZB-1, Telegesis coordinator (attempt 1 of 3)
Couldn't start EZSP = Silicon Labs EmberZNet protocol: Elelabs, HUSBZB-1, Telegesis coordinator (attempt 2 of 3)
Couldn't start EZSP = Silicon Labs EmberZNet protocol: Elelabs, HUSBZB-1, Telegesis coordinator (attempt 3 of 3)
Traceback (most recent call last):
  File "/usr/local/lib/python3.10/asyncio/tasks.py", line 456, in wait_for
    return fut.result()
asyncio.exceptions.CancelledError

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
  File "/usr/src/homeassistant/homeassistant/components/zha/core/gateway.py", line 205, in async_initialize
    self.application_controller = await app_controller_cls.new(
  File "/usr/local/lib/python3.10/site-packages/zigpy/application.py", line 191, in new
    await app.startup(auto_form=auto_form)
  File "/usr/local/lib/python3.10/site-packages/zigpy/application.py", line 165, in startup
    await self.connect()
  File "/usr/local/lib/python3.10/site-packages/bellows/zigbee/application.py", line 125, in connect
    self._ezsp = await bellows.ezsp.EZSP.initialize(self.config)
  File "/usr/local/lib/python3.10/site-packages/bellows/ezsp/__init__.py", line 106, in initialize
    await ezsp._startup_reset()
  File "/usr/local/lib/python3.10/site-packages/bellows/ezsp/__init__.py", line 97, in _startup_reset
    await self.reset()
  File "/usr/local/lib/python3.10/site-packages/bellows/ezsp/__init__.py", line 126, in reset
    await self._gw.reset()
  File "/usr/local/lib/python3.10/site-packages/bellows/uart.py", line 260, in reset
    return await asyncio.wait_for(self._reset_future, timeout=RESET_TIMEOUT)
  File "/usr/local/lib/python3.10/asyncio/tasks.py", line 458, in wait_for
    raise exceptions.TimeoutError() from exc
asyncio.exceptions.TimeoutError

Followed by the error above, in the original post. How would I go about finding the diagnostics info for the ZHA integration?

Is a VM running in a hypervisor, or bare metal? If in a hypervisor, which one? The more info, the better.
You can find diagnostics information here:

@kylepyke have you been able to resolve your issue? Did you maybe use Multiprotocol when that happened?

Nope! It hasn't happened again since I posted this, and I wasn't using multi-protocol.
It happened several times while I was adding a bunch of Sonoff Zigbee relays, so I think it might be device related? I've since removed those devices since they're not UL/ETL listed.


factories: Add files permission factory

For read and update cases.

Release week exception: rebase and merge directly.


CB-12344 Validation: terms and conditions for marketplace image are a…

…ccepted
On azure, when using a marketplace image, its terms and conditions have to be accepted before it can be used. Since this step cannot yet be automatized becaue of legal concerns, customers have to do them manually by using the az-cli.
Using images in create or upgrade flow, whose terms and conditions are not accepted would definitely result in an error when using the image, thus validation is introduced for these scenarios. For this purposes the ClusterUpgradeValidation flow was added a new step and was changed to be able to call spi code. The new flow step might cause problems when pod update is called during its operation.
See detailed description in the commit message.

retest this, please


Publishing to npm

@LironHazan what's your npm username?  I'm going to give you publish access to publish @typestrong/ts-mockito
Also, I think you'll need to merge #11 before you do.  #11 renames the package from @cspotcode/ to @typestrong/

Nevermind you already told me your username over here: https://github.com/TypeStrong/ts-mockito/issues/3#issuecomment-939403732
I sent you an invite to the typestrong organization on npm.


Fixed #3 - Added SVG caret for select

As suggested by @cjpatoilo in the last attempt to fix, I'm not using appearance: menulist to avoid default browser rendering and didn't commit the .css files generated by Grunt.
This is the solution I find out to style <select> elements and keep the framework without images or external resources.

I'd like to hear @vkeusebio and @fabienwang opinions too :)

Can you provide a demo page somewhere?

@fabienwang here: http://joaootavio.com.br/labs/milligram-select-demo/

I would add:
an hover effect on the select: with a light background like rgba(64,64,64,0.2)
an hover effect on the input , like a lighter border color but it's out of the context
Out of this, it's just fine to me to get the options rendered by the system, because if you want to customize these, it would require custom javascript & more css as well, and it would be heavy

Great Work! Thanks for the PR


nocrypto.0.3.2 fails to install due to mirage-entropy-xen

opam install nocrypto fails with:
#=== ERROR while installing nocrypto.0.3.2 ====================================#
# opam-version 1.2.2
# os           linux
# command      ocaml setup.ml -configure --prefix /home/edwin/.opam/4.02.1 --enable-xen
# path         /home/edwin/.opam/4.02.1/build/nocrypto.0.3.2
# compiler     4.02.1
# exit-code    1
# env-file     /home/edwin/.opam/4.02.1/build/nocrypto.0.3.2/nocrypto-19788-2c871f.env
# stdout-file  /home/edwin/.opam/4.02.1/build/nocrypto.0.3.2/nocrypto-19788-2c871f.out
# stderr-file  /home/edwin/.opam/4.02.1/build/nocrypto.0.3.2/nocrypto-19788-2c871f.err
### stderr ###
# ocamlfind: Package `mirage-entropy-xen' not found
# W: Field 'pkg_mirage_entropy_xen' is not set: Command ''/home/edwin/.opam/4.02.1/bin/ocamlfind' query -format %d mirage-entropy-xen > '/tmp/oasis-417a88.txt'' terminated with error code 2
# E: Cannot find findlib package mirage-entropy-xen
# E: Failure("1 configuration error")

After I install mirage-entropy-xen.0.2.0 it fails with:
# File "xen/nocrypto_entropy_xen.mli", line 2, characters 13-26:
# Error: Unbound type constructor Entropy_xen.t
# Command exited with code 2.

if I remove mirage-xen then compilation succeeds.

Hi Edwin,
nocrypto-0.3.2 is not yet released; and we're in the process of getting coordinated releases out (it requires mirage-entropy-xen >= 0.3.0, also not yet released). I just updated my xmpp-opam repo to reflect this dependency. Sorry for the current state, it will be settled over the next days.

The essential problem here should have been fixed by this.
Please reopen if you run into this issue again.


[Feature]: Decouple the pages list from the topbar so users can hide just one

Is there an existing issue for this?

[X] I have searched the existing issues

Summary
At the moment, users can either show the entire topbar (app title, edit, share, pages list etc.) or none of it
We should decouple the page list ( red box in screenshot) with the titlebar (black box in screenshot), allowing users to navigate across pages if they should chose to do so while the app is embeded.
We should add a URL parameter to enable the user to do this

Why should this be worked on?
This seems like a logical next step, and an improvement in the user experience for the developers who would like to develop apps, as well as the app viewers.
Rather than forcing users to add CTAs or navbars in their apps, it would be much easier to have the existing navbar/page list visible

Not useful so closing