2.2 Roadmap discussion

Discussion for the 2.2 Roadmap announcement: https://github.com/aspnet/Announcements/issues/307

What about EF Core 2.2 Roadmap?

What about EF Core 2.2 Roadmap?

https://github.com/aspnet/Announcements/issues/308

Roadmap looks good, particularly health checks and HTTP 2.0. However, in the kindest possible way, I disagree with the need to build a simple first party Microsoft authorization server. IdentityServer4 fills this gap nicely and the time spent re-implementing a simpler version of it could be better spent elsewhere. I understand the goal is to provide a simple solution but auth is hard and IdentityServer provides an API that is about as simple as it gets. If there are ideas for a simpler abstraction, it could be built on top of IdentityServer so people can use the simple abstraction but have the power if they need it.

What are the current plans around ASP.NET Core WebHooks?

Regarding the dispatcher, will this be possible in the middleware then? 😱
public async Task Invoke(HttpContext context, [FromRoute] SomeModel someModel)

[FromQuery]? 🤔

Simple Auth Server but also remember what happened with Katana simple Auth Server

I want to echo @RehanSaeed’s concerns and would like to ask for some clarifications on what exact use cases this new server is supposed to fill. If this is primarly so web APIs have a way to get their bearer token that is valid within the existing authentication of the app, then that would be fine. But everything on top of that is probably better left to the existing solutions which already offer many options of different complexity and flexibility with products like IdentityServer, OpenIddict, and AspNet.Security.OpenIdConnect.Server.

What about IIS in-process hosting?

Could you elaborate more on the TypeScript part of "API client generation (C# & TypeScript)"?
This would be really something I would look forward to. Currently I'm using NSwag for auto-generating my Angular Client API Services. But there are just so many different combinations possible for client configurations that I think this could be problematic to please everyone.
Just off the top of my head, some thing that should be considered (and if possible should be configurable):

Just a TypeScript client with fetch or an Angular Service with HttpClient?
If it's Angular, which versions do you support (also important for RxJS)?
null/undefined handling
enum handling
JS date or momentjs for date types?
Exception handling, Validation error handling
How to extend the generated code in the client?
Possibility to influence name generation (e.g. dropping the DTO part from xxxDTO for the generated client classes or already at the OpenAPI definition)

If it was possible to vote for features, these improvements/fixes to existing middlware would be on my wishlist:

The Response Cache middleware is basically not usable as it is today. Adding a Redis response cache store and extensibility for user operations of cached responses should solve https://github.com/aspnet/Home/issues/2606.
Support serving of pre-GZIP and pre-BR encoded files
Add a Brotli Compression Provider as well as fixing several issues with the response compression middleware.

I also vote to skip the Authorization Server product. Security is complicated and there has been a big push to move to cloud services for this to remove maintenance, and anyone who wants more control can already use IdentityServerV4 which is well-built, tested, documented, and supported. A simple setup takes 5 minutes and they already have plenty of starter samples. I fail to see how you can make security work as "zero config" any more than they can.
It seems like this will just add more confusion (in naming and usage), while becoming yet another thing to support and maintain for years, taking effort away from other features continuously. Please rethink this.

I'm also curious why IIS in-process hosting isn't on this 2.2 roadmap. This is a major feature and is a major factor in our release strategy and schedules here at Stack Overflow and it was already removed very last minute before the 2.1 release, promising a 2.2 timeframe instead. Please tell me this is just an oversight and not another plan change.

I'll echo other comments. If you're going to invest in Authorization/Policy, specifically making it simpler, I'd personally much rather see a partnership with the likes of OpenIddict and IdentityServer on docs and investments in scaffolding. I can't help but feel that any work, no matter how simple, is just going to end up duplicating terrific third-party efforts and incurring an unnecessary maintenance cost on the aspnet team.

It maybe an unpopular view, but I'd like to see a Microsoft Auth Server, one that's built in the public eye, with our input and support.
The current ones - Id4, OpenIddict - are obviously excellent OSS projects, and I can't help feeling that one with the support of MS behind it could ever be a bad thing...?
There's a limit on just how much support is available from a small group of people, and these are mission critical products afterall.

Repeating what others have said - I'd much rather see authorization work being brought in from something like IdentityServer4 than implemented afresh by yourselves. If there are gaps then surely bridging those through contributions, samples, and refining integration points would be a better way to go. Perhaps also pay some attention to your cloud offering in this space (B2C) which is in an appalling state.
Beyond that while you state the aim is not to replicate the functionality in existing open source offerings and to keep things simple this is somewhat equivalent to the classic rewrite trap: "this solution is over-complex, and a bit messy, lets rewrite it!". It's naive and in n versions time I would put money on you having dealt with the many edge cases that real world solutions require and that something like IdentityServer is already dealing with.
More broadly, with the acquisition of GitHub, there's been a lot of discussion recently around Microsoft's attitude towards open source. It's great that Microsoft are doing so much work in the open but part of being a good open source citizen is leveraging existing open source when it exists.
This is particularly important for platform holders such as yourselves - a platform holder duplicating functionality in existing open source offerings discourages contributions while engaging with those offerings encourages contributions.

I too can't see the point of effort being expended on authorisation, but would like to see the management of ASP.NET Core Identity improved. Damian Edwards was quite clear on live.asp.net that we shouldn't roll-our-own security but - unless I've missed it - ASP.NET Core Identity does not contain any user management tools and so we do have to roll our own.  This I find a bit terrifying as I'm not a security expert and am mortally afraid of leaving a security hole of my own making.

How about moving content Formatters from MVC level to AspNetCore.Http abstractions in 2.2?

Maybe the PM responsible could write up a more detailed description of this Identity Server Lite to make clear exactly what shortcomings in the existing third party open source solutions the ASP.NET team are looking to address. Because as it stands, you're talking about reinventing a wheel but maybe removing some spokes, and that doesn't make much sense. As somebody else has said, fixing up AAD B2C and providing first-class integration with that would be great, and make business sense for MS.
Also, have you even considered how difficult it's going to be to get a new, ground-up Auth server product past @blowdart?

Any plans to have a built-in RESTful API support like the one django has ?
Cuz it's something that all developers tend to write every time !
I built recently something that could be written as a Generic RESTful API controller:
https://github.com/0xRumple/dorm-portal/blob/master/DormPortal.Web/Controllers/StudentsController.cs

@0xRumple The improvements to the ApiController should help make this less verbose in general. But no, you probably won’t see something that just gives you a CRUD API for your entities by default. Such a thing would have to make far too many assumptions about your DAL and authorization.
If you follow certain patterns in your application, there’s nothing wrong with creating your own base types or conventions in 2.2 that will generalize the work for you.

@kieronlanning

The current ones - Id4, OpenIddict - are obviously excellent OSS projects, and I can't help feeling that one with the support of MS behind it could ever be a bad thing...? There's a limit on just how much support is available from a small group of people, and these are mission critical products afterall.

Since you asked about whether it could be a bad thing:
The ASP.NET team is small too, serving millions of developers with limited capacity, so any new project will take away time and effort from other things. It means we all have to wait longer to get any brand new features that would probably deliver more value.
Much worse is that it hurts the 3rd party ecosystem and discourages new products because of Microsoft releasing an "official" package, which many companies get stuck choosing just because it's from Microsoft even if it's technically (and in this case supposed to be) less capable. ASP.NET already integrates Json.NET, Polly, AutoMapper, and many other libraries so it seems like a misstep to rebuild such a complex  security product (which will need 80% of the same base code) when great options already exist, and with so many more interesting things on the roadmap to work on.

@poke
You're right, writing base classes of my apps is a good idea.
Actually I believe those aren't within the framework responsibilities:
CRUD resources (repository responsibility)

Manipulating data (sieve responsibility)
	Paging
	Filtering
	Searching
	Sorting
	Shaping

But there are many things I thought the AspNetCore could've done better (by having a AspNetCore.RestFramework package):

HATEOAS (self discoverable api)
Media Types (setting up custom media types)
Versioning (update mediatype version)
Mainpulated data metadata (pagination into X-Pagination header, filter metadata... etc).
Rate limiting & throttling.

I know there are tons of libraries out there, I found some here: https://github.com/thangchung/awesome-dotnet-core... But, 3rd party libraries aren't really a good option for the enterprise apps !
Same goes to the sieve, if there is an OFFICIAL package for pagination, filtering... etc, developers won't tend to write buggy or non-maintained libraries, I used this sieve in my app I mentioned above: https://github.com/Biarity/Sieve, but this library can go non-maintained any second the author got busy.
I think AspNetCore is mature enough to start thinking about out-of-the-box solutions as in django, this way we can have the luxury of asp performance and the agility of django.

But, 3rd party libraries aren't really a good option for the enterprise apps !

^ This is why we can't have nice things 😞

But, 3rd party libraries aren't really a good option for the enterprise apps !

Yes, that’s exactly the mind set that needs to change here. ASP.NET Core and .NET Core are open source and their ecosystem is embracing the open source community and it should continue to do so. Not only with open source solutions that are part of the .NET Foundation, but any solutions really.

but this library can go non-maintained any second the author got busy

And in the same way, an “official” package can become unmaintained any second the company shifts its interest. This has happened with Microsoft specific things before, including multiple open source packages they published, but is really natural to any company.
If you decide to take a dependency on another ones library, it is your responsibility that you can live with that. Regardless of who is the author of that. The nice thing about open source is that even if the author ends up not responding, you are fully entitled to change it yourself.
I’m strongly against expecting official Microsoft solutions for everything you might be able to come up. Not just because there is never a one-fits-all solution, making this very difficult and at the same time likely to get out of hand, but especially also because this takes away resources from parts of the framework that really need the attention. And at the same time it hurts the open source idea really really bad.
If you are building enterprise applications and still struggle with this NIH syndrome (or “not invented at ”), you should really wake up because it’s 2018 and you should likely embrace open source now.

You're right Microsoft can stop maintaining any package but at least they have a specific LTS: https://www.microsoft.com/net/support/policy
For example, .NET Core 1.1 support ends on June 27 2019... this way I can be sure if I use this version I won't get crippled in the middle.
I once used a 3rd-party pagination tag-helper, and it wasn't pleasant, the author basically told me he won't fix it for .NET Core 1.1, and I should update the project, it was a university system, into 2.0 (and he has all the right to do so because he wrote that package for FREE).
Here is the problem, in the enterprise, this doesn't work... you can't convince the whole team that you should move into 2.0 while the app is up-and-running just because the pagination-tag-helper doesn't work !
So you just use start hacking the source like I did by using a decorator: https://github.com/cloudscribe/cloudscribe.Web.Pagination/issues/37
And yeah, who said I'm not a big fan of the open-source :confused:  ?

@0xRumple isn't the idea of open source to contribute and collaborate?
If that 3rd-party pagination tag-helper didn't exist you'd have to write it yourself and maintain it anyway, "in the enterprise".

Here is the problem, in the enterprise, this doesn't work... you can't convince the whole team that you should move into 2.0 while the app is up-and-running just because the pagination-tag-helper doesn't work!

Rather than trying to "convince the whole team that you should move into 2.0", contribute an update back and help out rather than relying on someone else to do the work or wait for Microsoft to provide an equivelant. If the owner doesn't want to accept your contribution move ahead with a fork for your needs.
I guess your type of thinking (no offense at all intended) is a big part of why there is a discussion around "Microsoft authorization server" vs identityserver. How will open source ever work if developers don't want to participate. Should we wait for Microsoft to provide all the code we need?

I agree with many here that Microsoft should be careful they don't kill off good open source projects in the ecosystem by making their own replacements for everything.
I'm actually the author of the pagination taghelper library mentioned by @0xRumple , his issue was really with a pagedlist component not with the taghelper which in fact does have an older nuget that supports 1.x aspnet core. The paged list was really something that was part of a previous open source pager library that informed the design of my library and was used in the demo pages at one time but the pager taghelper did not depend on the paged list implementation and there are other paged list implementations out there he could have used while still using the pager taghelper. In fact I've since removed the paged list entirely from that library as it isn't even part of the taghelper and never was.
It really is no different for using nuget packages from OSS developers than Microsoft in that if you are stuck on aspnet core 1.1 then you can't get fixes and improvements from aspnet core 2.x unless you update to the new framework.

@joeaudette
I just mentioned that example to illustrate my point on built-in vs. third-party solutions, I'm still thankful for your work on that pagination taghelper... the university uses your pagination package and they're happy :heart:
@alhardy

Should we wait for Microsoft to provide all the code we need?

This is the main problem, we think that when Microsoft brings an official solution, they will fight any other open-source solution or they will write every single line of code by themselves :smile:
Of course not, we can the best of both worlds, an official solution and community-based solution if Microsoft adopts the right solutions and create the missing solutions, so that developers can focus to contribute on those.
The django community got it right, they provide/adopt officially the initial simple solution for a specific problem, e.g. RESTful framework, and the community build on top of that... have a look here at their initial stage of building django-rest-framework: https://www.djangoproject.com/weblog/2016/jun/22/django-rest-framework-funding/
They started the initial project, and the community is improving/building on top of that, this is their repo: https://github.com/encode/django-rest-framework... around 800 contributors !
And the community is driven to build packages that solve problem on top of that package like django-rest-auth or django-rest-framework-jwt.
At least they provide such "official solutions" that most developers need, like django-admin-site or django-debug-toolbar. This also comes from the Python philosophy of "batteries included", at first, I thought it's bad as it strives for least-common-denominator solutions, and I realized later the breeze it brings.
*P.S: Dapper (by StackExchange) and EFCore (by Microsoft) are both ORMs, but they aim to solve the same problem in different approaches. Dapper was initially created in 2011 while EFCore 2014... did EFCore affect the open-source projects badly ? of course not, and it's an official solution though !
People already building on top of that amazing stuff, like this: https://github.com/crhairr/EntityFrameworkCore.MongoDb/

did EFCore affect the open-source projects badly ?

Uuuh, anyone remember NHibernate (which is closest to EF in functionality)? No, probably not, cause it's as good as dead after EF was released 😕

@0xRumple

Of course not, we can the best of both worlds, an official solution and community-based solution if Microsoft adopts the right solutions and create the missing solutions,

In this case, it's neither by recreating an existing solution, but with purposely less functionality.
Entity Framework and Dapper are very different. EF was always designed to be a full-featured ORM, and both came years after the original Linq-To-SQL in 2007.
However, I don't think you're wrong either and it seems we're all talking past each other. The thread is mostly comments about the auth server product while you're talking about REST related libraries, which arguably are small and focused enough to include in a web framework, and I agree something like standardized search/paging/filter parameters would be helpful to have built-in for Web API code.

This discussion is not acknowledging the awkward truth that in some organisations, developers have to account for every single open source package introduced into their solution. In some cases this is an automatic scan which will produce "Risk" reports that frequently a non technical risk manager will need to review. These tools will flag up anything that is not actively maintained and anything with anything that looks like a copyleft license.
You can also imagine that in these organisations contributing back to open source is seen as crazy talk.
Yes, Identity Server 4 is amazing. But to a non technical risk manager it is something that we don't have a warranty for, something supported by a handful of people and even worse - something with the source code available for everyone to see. This person is misguided but the average developer on the ground is not going to win this fight.
An "Identity Server Lite" primarily written by Microsoft staffers as @markrendle aptly puts it could be the difference in being allowed to use .NET Core at all or not, especially if there is an enterprise architect in the organisation insisting that some $$$$$ Enterprise junk is used instead.

@edandersen

But to a non technical risk manager it is something that we don't have a warranty for, something supported by a handful of people and even worse - something with the source code available for everyone to see.

I'm pretty sure the IdentityServer folks would provide some support if you paid them for it - just like you'd pay Microsoft. OSS doesn't equate to free.
What makes you think the ASP.NET Core team at Microsoft isn't "a handful of people"? Spoiler... they are like 20-30 people in total. Only a couple would work on a product like that.
I'm really curious why "the source code available for everyone to see" is a bad thing? And what makes you think this product at Microsoft won't be open source? It's the new default.

Well, if we start to use these non-tech managers arguments, things will start to get crazy. IMHO, people that are non tech, shouldn't dictate what should be used or not. If they want to have a saying, at least they should know what they are talking about, and saying that a well know package like IdentityServer is less quality than a MS one, for me, it's plain wrong. I would run from a company like that!

Personally, I don't see another contender in the OAuth-Server space as a problem, but a good thing.
It may help drive development in this area, or just serve as a quick and dirty solution for people who need nothing more than that - a quick and dirty solution.
If you want or need more from an OAuth server, then there's nothing stopping any one of us from using the existing solutions. Or, if you want a one-click template to do basic OAuth and nothing more, then this seems like a worthy goal, at least to me.
I think this thread has turned into a tit-for-tat on what OSS is, what MS is good at doing and what MS is not good at, rather than focusing on what's on the roadmap for .NET Core 2.2, which is what really matters here.

@khellang
"NHibernate is dead", said who ? I see the project is still alive, and even has a better momentum than Dapper
https://github.com/nhibernate/nhibernate-core/graphs/contributors
https://github.com/StackExchange/Dapper/graphs/contributors
Ah, I didn't mention IdentityServer till now to stick on my point on having RESTful framework within the official aspcore pacakges... here is my thoughts about IdentityServer, it is really solid and great, BUT it is a 2-guys project, have a look at the metrics:
https://github.com/IdentityServer/IdentityServer4/graphs/contributors
About 85% of the work is done by 2 guys and it's okay for a security related project, but in the enterprise many companies think about the maintainability of such projects in the future. Recently a company told me they want me to use React instead of Vus.Js  in their project just because they said "vue.js is pretty much Evan You"... and I think they are right. And this is what I'm trying to say since the beginning of the discussion about having RESTful package within the official packages, any big company won't accept you using on a "potential" non-maintained package on their projects.
Same goes to data manipulation / sieving (paging, shaping, sorting... etc) because almost every project contains those requirements, and yeah as @manigandham said, they are standardized and straightforward.
@manigandham
Exactly that's what I think is right... adapting and supporting the solutions officially, whether financially or contributing via github or at least mentioning them in their docs or courses (I've already seen Hanselman mentioning SwashBuckle in one of his courses at Microsoft Virtual Academy which is really great, and it would be greater to see more adaption to such projects!).
@kieronlanning
You're right, we've gone too far from the main topic... but as I mentioned before, asp core just got very mature (performant and reliable), and I think it's time to start with the out-of-the-box solutions.

I think discounting a project because it has two main contributors is pretty darn silly. IS4 is very well maintained and those two guys spend a lot of time answering questions and helping people. It's also widely regarded as one of the best FOSS solutions for an OAuth2 sever on the market.

"NHibernate is dead", said who ? I see the project is still alive, and even has a better momentum than Dapper

You seem to have some very weird metrics on the health and usage of OSS projects. Is it fair to compare the number of commits on a project from 2003 against one that has been going since 2011? They're also very different beasts (as noted earlier in the thread); Dapper has been "complete" (that doesn't mean unmaintained, abandoned, etc.) for some time, while NHibernate (and its feature set) has been lagging behind.
I know the project is still ticking along, but I can't remember the last time, in my last 7 years consulting in the .NET space, where I've encountered NHibernate in the wild (where it wasn't in the process of being migrated over to Entity Framework). Everyone that's been following this space the last couple of years knows very well that NHibernate has been lagging behind and losing market share to Entity Framework. Just look at the NuGet download numbers alone: Entity Framework has 45.8M vs. NHibernate with 3.4M.
Anyway, the point isn't Entity Framework vs NHibernate. It's that any time Microsoft enters a space in the OSS community, it sucks a lot (most?) of the air out of the room. Often enough for the  smaller, community-driven projects to suffocate over time. I know it all too well; it's impossible to compete with Microsoft in Microsoft's own (.NET) world.

Awesome features :)
Where can I get more information for Health check feature?

Improve self-signed certificate management
When developing web apps that call associated web APIs, there comes a point when it’s useful to test them with in-house users over the local network.
In the spirit of decoupling concerns, my web apps call multiple web APIs. In the first instance I develop these web APIs using https://localhost:. Once a web API is ready (enough), I then publish it to IIS on my local machine. Each site has an appropriate host name that I've set up on my internal DNS server. At this point I use Barry Dorrans' - @blowdart - gist https://gist.github.com/blowdart/1cb907b68ed56bcf8498c16faff4221c to create a server certificate. ProvidingI import the certificates into all the right stores everything works on my machine with no alarms.
This changes when other people on the network access the web apps (the API calls are all within my development box). Dire warnings are received by the user. I tell them to ignore these warnings and, where possible and sufficiently straightforward, import the certificates. Because these self-signed certificates have the same issuer name and common name, each new web app triggers an warning page
I can't help thinking that asking users in one's organisation to go through warning pages is a bad idea.
As a non-specialist in security, there's a couple of things I'd like to see:

the ability to have a local root certificate for all the development certificates that I create and then be told an authorised way of importing that into PCs, Macs, Android, iPad and iPhone devices, so that these alarming pages no longer occur

an easier method of generating certificates for APIs that can be used with IIS and Kestrel that populates all the correct certificate stores correctly

@CrispinH To be honest supporting a root CA would be, well, a concern of spinning up a root CA. If you're at that point then it's time to consider spinning up a root CA yourself and managing it. The self signed support, either though the global tool or my script is just for that, development. Once you start letting people attach to it you're outside of the scope for that feature. If you're in an organization and want people to access services then the organization needs to figure out their certificate strategy, running an internal CA via Windows or OpenSSL and pushing the root out via AD policy or other means.

@blowdart One of the reasons for my bleat was that I'd spent a couple of days trying to spin up a root CA and failed to get it right though lack of competence in this area. I even tried to work out how to modify your gist to accept a local Root CA.
All the documentation I found was far too general - all I wanted was a process for creating certificates (ideally based on a Root CA) solely for protecting APIs and web apps with a server certificate. Perhaps specific-case documentation is all that's needed.

@CrispinH Window Server comes with a Certificate Authority that you can set up, if you want to go the full way.
Certificates in general are not an easy topic and you will have to learn quite a bit to do it right.
For dev purposes, self-signed certificates are totally fine and easy to use. Everything beyond that, including setting up and managing a CA, is no longer for development purposes and definitely out of scope and far too complex for a web application framework.

As @poke said it's hard to get it right. Once you have machines trusting a root CA then any certs issued will be trusted, And devs run untrusted code on their dev boxes, that's what nuget packages are after all. So consider something that steals your root CA. In real life Root CAs tend to be kept offline, they sign a second certificate, which is constrained in what it can do, Server and Client certs usually, and then certificates are issued by that, by contrust lots of dev CAs are constrained, so compromise would mean the ability to issue trusted code signing certs. Without meaning to be horribly insulting a CA is not something a dev should be running, it's best left to those that understand the consequences, and the consequences can be dire. Then there's certificate rotation, revocation, OCSP and more to consider. I have to have a test CA for my certificate auth middleware, and it's in a VM that's turned off. I get very nervous when I turn it on to get more test certs.
If you truly, really, want to go down this root (pun intended) then https://infiniteloop.io/powershell-self-signed-certificate-via-self-signed-root-ca/ might get you started in powershell, but that gives you no CRL or OCSP or revocation support. https://gist.github.com/Soarez/9688998 appears to cover OpenSSL. And if you need CRLs then there's the CA built into windows, setting this up is documented here https://leastprivilege.com/2008/08/14/how-to-build-a-developmenttestdemo-ca/
Note that I haven't used any of the links above (although I trust the author of the last one), and in no way is this any type of official MSFT recommendation. The official recommendation of the ASP.NET security team is let someone who understands infrastructure and risks set up a corporate CA for you. Talk to your IT department

@blowdart No I really don't want to go down that 'root'. It's nice to know why now.
It looks like my humanoid testing will have to be done on the public internet on a test host using Let's Encrypt certificates, but with an authentication wall in place to keep away prying eyes.

Depending on what you need and your budget, some companies like DigiCert offer managed PKI services. That can use a private root or their public one. I don't know the costs.

And if it's only HTTPS remember you get a cert for every azurewebsites.net subdomain.

Weighing in on the new OpenID implementation, instead of yet another implementation to learn, embrace and engage with the community efforts of IdentityServer4 and contribute to create an opinionated IdentityServer "Lite" version that could be included from nuget and setup with minimal efforts.

You are all overreacting.
The ASP.NET team is already thinking like all of you. @DamianEdwards talked about it in the most recent Community Standup.
Here is the most relevant part (but I encourage you to listen to all of it):

"We are actually talking to the IdentityServer folks about that now."
https://youtu.be/Tzh2EXwgEk8?t=25m15s

Really interesting to see how passionate the discussion around the "MSFT authorization server" project is :smile:
Incidentally, Vittorio Bertocci contacted me exactly 2 years ago to chat about this project as they were considering using OpenIddict (the OIDC server I develop and maintain) as a base for this project.
Last year, I was told they preferred going with their own implementation instead of leveraging third-party OSS as it was considered "too strategic" from a business perspective (which is something I could understand).
I'm glad to see they changed their mind and are finally considering using an existing OSS solution like IdentityServer4 instead of creating another thing from scratch: it's a very good signal sent to the .NET community :clap:

This goes a bit off the thread, but @CrispinH, it looks like you're looking a bit of https://stackoverflow.com/questions/51123289/how-to-generate-a-response-to-a-csr-in-net-core-i-e-to-write-a-csr-signing-se. .NET Core 2.0 includes other facilities to create and work with certificates too. See the comments about running a CA too. The library tooling is almost there and depending of your organization, you might be able to use certificates in some controlled fashion in some server without setting a lot of intrastructure. On that token, reading (DER encoded) certificate signing requests (CSRs) out-of-the-box would be a nice addition -- along with a JSON-LD library. And more crypto in general. :)

I’d love to see some middleware like support for LetsEncrypt - working with App Services in Windows, Linux and Docker in Azure.

@kieronlanning I agree, in addition to the DER encoding with regards to CSR signing mentioned earlier (albeit adding support without edge cases doesn't look like that difficult). There's a few libraries for .NET (also listed on Let's Encrypt pages), but also a bit of trouble. For instance, the most actively maintained .NET with regards to Let's Encryptc one looks like being Certes, but it takes a dependecy on BouncyCastle. It would be nice if someone helped it to to be .NET Standard 2.0 only. One reason for me is that it BouncyCastle doesn't work nicely with Orleans TaskScheduler. :)
About the crypto mentioning, though not strictly a ASP.NET Core issue, MS seemingly is pushing heavily on blockchains, but .NET lacks on crypto ability. On the surface a lot of this has to do with ASP.NET core too (like, for instance, the various explorer implementations) and it'd be nice to have more support to libraries like like Inferno and just more abilities baked into the platform. One outstanding issue is at https://github.com/sdrapkin/SecurityDriven.Inferno/issues/10#issuecomment-395778931 (lending some eyes  here if someone has the chops to help).

This from @kieronlanning would be my number one feature request:
"I’d love to see some middleware like support for LetsEncrypt."
Here is the open issue: https://github.com/aspnet/Home/issues/1190. Please do go and upvote it.

It already exists. Https://IdentityServer.io

@leastprivilege
I like and use IdentityServer
But I'm very curious to see the Microsoft implementation and and understand why (microsoft) did not incorporate the identityserver in your core

@danroth27 - can you share the latest?

Microsoft is using IdentityServer.

Are preview releases suitable for development environments?

So how is this working? Microsoft uses IDS4 code directly? Microsoft trims down IDS4 features? What's the model here? What should be our expectations? Is there a possible migration path between them?

Microsoft will use our standard nuget package and use our configuration API to give you some default settings to play nice with the template and ASP.NET Identity. That's all.
You can achieve the exactly same thing today already.

It's probably me, but I'm surprised to read that the gap of Microsoft authorization server is filled by IdentityServer4. As per my understanding the main concern of IdentityServer is authentication, not authorization.
For me IdentityServer is fine as authentication server, but doesn't work as authorization server. I assumed that that was the reason that PolicyServer was created.
@leastprivilege Will IdentityServer be extended with something like PolicyServer?

@Ruard So its confusing (and Dominick will probably cringe or pick on my explanation).
OAuth is authentication, but it has authorization as it's first step, and then issues a grant based on scopes etc. So, in our wrapping, Identity Server will perform the login, validate it, validate the scopes required (which in the initial case will always succeed because we're using the default scope), then pass a token back to the caller, which is then sent to the API which will validate it, and then, optionally, you can go further with authorization rules within the API. OIDC provides OIDC confused it further by being a way to acquire a user's identity information, including authorization that the app is allowed to have it ...
So, basically, Identity Server will give us an identity, authorizing that the app is allowed to have it, and then you can use ASP.NET's authorization pieces to further control access.

@MichelZ there will be a grow up story. We'll configure for simple scenarios, and once you go outside those you can explore the full power of the IdentityServer configuration model.

@blowdart  We already use IdentityServer (and are impressed with the capabilities!), however getting the benefit from Microsoft's "long-term-support" policies is also a big plus for us. So whichever synergies you can provide here are very much welcome.
We love both products, ASP.NET Core and IdentityServer (4) the same way. It's definitely a step into the right direction IMHO.
However, we also recognize that all these protocols are not exactly "straight forward". They arent't rocket science one you understand them, but still, they aren't straight forward either.
I wish someone would invent a REALLY simple protocol, leaving behind ALL legacy implementations and focus on the future.

If you're already using it, then your use won't really change, you have it working :)
We're aiming at File New > Web API with Individual Authentication, and then adding other APIs, and everything is convention based. That's not going to work for existing apps, because the conventions will be new. I wouldn't plan to replace your config with ours :)

I wish someone would invent a REALLY simple protocol, leaving behind ALL legacy implementations and focus on the future.

This is the problem -- apps are getting more complicated not less. To secure them, the security is also complicated. I've always pushed back when I hear people say that IdentityServer is complicated -- it's not. It's your application's security requirements that are complicated. Often people don't have the perspective to recognize that.

Yes, it's working - and it's working well - but still, that additional assurance it (may) give you, when Microsoft officially "endorses" and ultimately "supports" a technology is pure gold.... !
You have been lifted onto a whole new level!

@brockallen Yes, applications probably complicate things a LOT. However, the OIDC protocol undeniably inherited some stuff from OAuth 2.0 that it would better have shook off.  Some of your teammembers (I think it was @leastprivilege) said that if OIDC would be developed from the ground up, it would probably look fairly different from what we have now.
I'm not saying what we have now is "bad", I really appreciate what we have, and it's really functional for our purposes, and I hope everyone involved in the creation of it is proud of the work they did!

@Team;
For preview 3, could you please provide some detail docs on the "Authorization Server" and how it will function using with Web API and client side JS, like Vue?
We need to make a decision and this preview on the Authorization Server is a critical preview and any detail docs will give us info on our decision.
Thanks!

As discussed before
https://identityserver.io

Just noticed also U.S. open data APIs are in JSON-LD:  https://project-open-data.cio.gov/v1.1/schema/ . This seems to be a rapidly growing trend, so a well resourced JSON-LD .NET library used with ASP.NET would be nice. :)

@veikkoeeva So are (at least part of) the NuGet APIs. They're using json-ld.net, no need for another library.

@khellang And there are other libraries too, this particular library could use maintainers (https://github.com/linked-data-dotnet/json-ld.net/issues/26). I realize it's open source and in theory I could step in to contribute, but for the time being at least I'm spread too thin to help with this. Put otherwise, perhaps, I'd like to bring this into attention that a lot of data sets seem to be moving towards semantic formats and it's not clear how to efficiently work with that using .NET.

IMHO, add IdentityServer4  to the core of .NetCore is a bad idea.
Please don't make the .NetCore as a monolithic framework.
.NetCore is there  and  IdentityServer4 is there , people make the architecture base on own's authentication and authorization needs.

@mikeandersun The plan is only to have an easy default configuration that you can add to your project to make it work out of the box.
You can still not use it, and it won't affect you. You can still use IdSrv and fully configure it yourself. You can still choose what components to include in your project. None of this is making ASP.NET Core monolithic.
ASP.NET Core != .NET Core btw.

Will 2.2 be an LTS release?  (Asking if it's already been announced, not asking you to make a new announcement.)

@yzorg no that has not been announced. That determination is often made after release based on quality/stability.

@blowdart , would this template provide identity server with an Web app MVC client instead of an API?

Interesting... This question came up in a meeting yesterday. If we build a full "MVC" project without the use of Web API, can we use the new ASP.Net 2.2 IS4 template that is integrated in 2.2?
Looks the big boss (Barry) just answered the question.

@blowdart allias big boss: why isn't that done in one shot? It seems trivial at first sight to use an mvc client or a web api talking to a asp.net core identity IS4 server.

@Ponant Because we don't have infinite resources. What features would you have liked us to drop in order to put everyone on changing a major part of MVC flow which wouldn't give any new features, just change how an existing one works? An individual authenticated API has been a gap between full framework and ASP.NET Core. The focus of work was on filling that gap. Identity Server already has working templates for MVC with Identity Server as the "core".

@CrispinH @blowdart I agree with you whole heatedly, User Administration, Roles, Tenancy and User-Groups is needed desperately. Look at this - there are 7 Uservoice tickets all complaining about this hundres of developers and companies. Sadly many other tech like Java blueRay portal JSR 182 or 173 such a beautiful job here!
--> So many requests for user/groups/tenant management

--> AGAIN here people complaining ... it goes on, even on twitter and facebook.. this is the reason - why other platforms like WP and PHP are easier!

While @manigandham believes identity server is a great fit, they charge A LOT for the GUI administration tool and its not cheap for many countries and developers, it also goes against the low TCO developer. How many people can really afford this. It has been a HUGE obstacle and step back, a basic vanilla functionality and GUI to manage the Users/roles/Roles-User_groups/Tenants is needed, which can then be enhanced by the developer

@papyr Why don’t you just start an open source project for this? A full GUI for everything does not need to be built into the framework (templates). And just seeing how difficult it already is for the team to keep the templates updates e.g. with changes to Bootstrap, I don’t really want them to waste more effort on that. But on the other side, I totally get that this would be a useful thing to exist, so why don’t you just make this a community effort?

@papyr @poke no need for a new open source project, there are excellent existing projects.
If you want something open source from MS designed to compete with WordPress then look at Orchard:
https://github.com/OrchardCMS/OrchardCore
If you want more of a library approach instead of a framework check out cloudscribe, which has nugets for multi-tenancy and user and role and claim management ui pre-built with an optional identityserver4 integration and optional cms (cloudscribe.Simple/content) as additional nugets.
https://www.cloudscribe.com/docs/introduction
https://github.com/cloudscribe/cloudscribe
https://github.com/cloudscribe/cloudscribe.SimpleContent

If you want something open source from MS designed to compete with WordPress then look at Orchard:
https://github.com/OrchardCMS/OrchardCore

I second this recommendation.
And Orchard Core is designed to be extremely modular. For example, it is possible to extract just its multi-tenancy module and use it in your own projects. It also already has modules to manage users & roles, and I'm sure they would appreciate your contribution to make it even better.
You can watch a lot of demos of its various features on their channel.

@papyr Why don’t you just start an open source project for this?

https://github.com/IdentityManager/IdentityManager2

This UI thing can be tricky, albeit helpful to get basic things quickly. It seem recently I've come across cases building the UI isn't the biggest task, but figuring out how to fullfil the "process needs" such as pre-approving some emails (that do something application specific), calling APIs that call APIs, some of which might mean joins in the database or calls to somewhere else etc. and then adding them to tokens and UI logic.
So having good tutorials such as https://mcguirev10.com/2018/01/28/login-identity-management-best-practices.html or those at https://mcguirev10.com/page2/ feels more important than UI (especially if one can't or doesn't want to use EF). Then maybe search for UI for one's chosen tech (Aurelia/Angular/Razor/React/Vue etc.) and how they implement some data handling.
On naming projects and names, besides @scottbrady91, I've found it very educating to check @LindaLawton, https://github.com/abergs/fido2-net-lib (@abergs, @aseigler), @TomCJones, @mackie1001 (Gitter) etc. to provide additional explanations and code to peek into when stepping even a bit outside of the basic need. I've forgot to add some names and projects. :)

Why cant .net core have normal razor web pages?  When I do complex reports I like doing all from a single razor (c#) page.  Or at least the ability to use just a view at times only with no model or controller.
In other words the basic ability to connect to sql in the view and receive GET and POST request, sanitized of course, I currently use a class called Striptag.cs.

Why cant .net core have normal razor web pages?

You can use Razor pages for this https://docs.microsoft.com/en-us/aspnet/core/razor-pages/?view=aspnetcore-2.1&tabs=visual-studio
Having a backing page model class is optional; you can just have a single page

benaadams thanks for the answer, how would I use GET and POST request directly in a razor page, and make a basic connection to sql server.  The connection for regular queries, not ado entities, or linq, or ORM. I always prefer normal queries.
Like:
var msql = "SELECT * FROM customerss WHERE lastname LIKE @0 ORDER BY lastname OFFSET " + thisoffset + " ROWS FETCH NEXT 5 ROWS ONLY";

I know the connection string is in a json file now, but don't know how to use it in view.  Some things aren't deeply documented.

Well, it has a learning curve. If you want to fetch data before loading the view, you do it in the corresponding action. So, for HomeController.ViewReports action and Views/Home/ViewReports.cshtml page you write:
public class HomeController
{
  public ActionResult ViewReports()
  {
    // fetch data from the SQL using...something...
    return View(data);
  }
}

If you want to fetch data after page load, you typically use AJAX requests to some pure GET/POST endpoint that returns JSON formatted data.

Can still do it on a page without any controller or action; something like
@page
@using System.Data.SqlClient
@using Microsoft.AspNetCore.Http
@using Microsoft.Extensions.Configuration
@inject IConfiguration Configuration

@{
    var lastname = Request.Query["lastname"];
    if (!string.IsNullOrEmpty(lastname))
    {
        var offset = 0;
        var count = 5;
        if (Request.Method == HttpMethods.Post)
        {
            int.TryParse(Request.Form["offset"], out offset);
            int.TryParse(Request.Form["count"], out count);
            count = Math.Min(count, 50);
        }

        var connectionString = Configuration.GetConnectionString("MyConnectionString");
        using (var conn = new SqlConnection(connectionString))
        {
            using (var cmd = new SqlCommand(@"
            SELECT * FROM customers
            WHERE lastname LIKE @lastname
            ORDER BY lastname
                OFFSET (@offset) ROWS
                FETCH NEXT (@count) ROWS ONLY"))
            {
                cmd.Parameters.AddWithValue("@lastname", lastname);
                cmd.Parameters.AddWithValue("@offset", offset);
                cmd.Parameters.AddWithValue("@count", count);

                await conn.OpenAsync();
                using (var reader = await cmd.ExecuteReaderAsync())
                {
                    while (await reader.ReadAsync())
                    {
                        <div>@reader["lastname"]</div>
                    }
                }
            }
        }
    }
    else
    {
        <div>Nothing chosen</div>
    }
}

I have used mvc asp.net and webforms and old razor pages, so I am not new to this.  I have spent 3 hours and still cannot get a simple test razor page to work, I have:
<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8" />
    <title></title>
</head>
<body>
    <form id="petform" method="post" action="pets/razdb3">
        <input type="text" name="psearch" id="psearch" />
        <input type="submit" />
    </form>

</body>
</html>

Just an html page and loads.
Model
using System;
using System.Collections.Generic;
using System.Linq;
using System.Threading.Tasks;
using Microsoft.AspNetCore.Mvc;
using Microsoft.AspNetCore.Mvc.RazorPages;

namespace petnewtry.Pages.pets
{
    public class razdb3Model : PageModel
    {
        public string myvar { get; set; }

        public void OnGet()
        {

        }

        public void OnPost()
        {
            myvar = Request.Form["psearch"];
        }
    }
}

View:
@page
@model petnewtry.Pages.pets.razdb3Model
@{
    Layout = null;
}

<!DOCTYPE html>

<html>
<head>
    <meta name="viewport" content="width=device-width" />
    <title>razdb3</title>
</head>
<body>
<EMAIL_ADDRESS>    <div>hello</div>
</body>
</html>

3 hours and all I get is a blank page.  I tried a return statement, etc
If I just type in http://localhost:51307/pets/razdb3 I get the second divisions "hello", but
the @Model.myvar I get nothing.
I am new to .net core, and would have never imagined it would or could be so hard to simple display a razor page.
In VS community 2017

the @Model.myvar I get nothing.

You set the myvar value on a post request (OnPost) with from the form value psearch; so you'd need to make a POST request with that value to set it?
In the GET request (OnGet) which you get from just navigating to the url from the browser; rather than a form postback isn't not being set to anything.
Try setting it to a default value so it shows up when you don't set it to confirm the model is flowing through:
public string myvar { get; set; } = "Not Set";

Changed to
public string myvar { get; set; } = "Not Set";

And still a blank page. Is @Model.myvar correct?

Polite commentary/thoughts: feels like this discussion on "normal razor pages" is starting to get a bit off topic with respect to the subject of this thread.

😊 😊

Sorry, I realize I should have used the forum.  Thank you @benaadams your code got me on the right track and I found this:
https://www.c-sharpcorner.com/article/razor-page-web-application-with-asp-net-core-using-ado-net/
This is how I normally did stuff anyway, using the "new" key word, like
EmployeeDataAccessLayer objemployee = new EmployeeDataAccessLayer();

It was reassuring to see you could still use custom classes in .net core.
You have to admit, .net core has a steeper learning curve than some prior asp.net frameworks.  Thanks so much.

The release notes talk about an "Authorization Server" feature to be expected as add-on in the upcoming months. Is there more information available about this feature? I'm trying to decide whether we should wait for it. Or build our own solution.

Following the notes from IS4 team and MS security team, it seemed like MS was simply trying to do a quick & dirty packaging of IS4 and call it the day. But looks like someone with more wisdom, decided to hold back and do it the right way, as security can create ripple effects when it is not done right.
I hope a full integration between IS4 and ASP is made to support BOTH Web API and MVC.

In these days and industrial strength authentication/authorization is required as a bare minimum. Open Source (OSS) is fine for most things but there have been serious misgivings in some OSS security products that are not acceptable in any enterprise website. 85% of projects use outdated libraries that are unacceptable security risk. For example, 45% web servers use Apache (https://www.cvedetails.com/vendor/45/Apache.html) which has far more vulnerabilities than IIS (https://www.cvedetails.com/product/3436/Microsoft-IIS.html?vendor_id=26). Products such as Identity Server may be fine but developer tweaks may render them completely insecure. We need a solution built into Net Core that is always safe...

In these days and industrial strength authentication/authorization is required as a bare minimum. Open Source (OSS) is fine for most things but there have been serious misgivings in some OSS security products that are not acceptable in any enterprise website. 85% of projects use outdated libraries that are unacceptable security risk. For example, 45% web servers use Apache (https://www.cvedetails.com/vendor/45/Apache.html) which has far more vulnerabilities than IIS (https://www.cvedetails.com/product/3436/Microsoft-IIS.html?vendor_id=26). Products such as Identity Server may be fine but developer tweaks may render them completely insecure. We need a solution built into Net Core that is always safe...

Your point is absolutely correct. But in some videos, MS staff had said, that they're not going to reinvent the [security] wheels and use a third party [IS4] system. So I'm hoping this will be a win/win situation for all of us.

In these days and industrial strength authentication/authorization is required as a bare minimum. Open Source (OSS) is fine for most things but there have been serious misgivings in some OSS security products that are not acceptable in any enterprise website. 85% of projects use outdated libraries that are unacceptable security risk. For example, 45% web servers use Apache (https://www.cvedetails.com/vendor/45/Apache.html) which has far more vulnerabilities than IIS (https://www.cvedetails.com/product/3436/Microsoft-IIS.html?vendor_id=26). Products such as Identity Server may be fine but developer tweaks may render them completely insecure. We need a solution built into Net Core that is always safe...

Nothing is "always safe", especially not something from Microsoft ;)
It's always in the hands of the user of these things to make it and keep it safe.

IdentityServer will be included in new templates shipping post 2.2. The initial focus will be API access control - but there are plans to expand that in the future.
ASP.NET Core will ship with a simplified config API that covers the template scenarios only - but will be very easy to get started. You can at any point transition to the IS native config system which gives you advanced scenarios.

IdentityServer will be included in new templates shipping post 2.2. The initial focus will be API access control - but there are plans to expand that in the future.
ASP.NET Core will ship with a simplified config API that covers the template scenarios only - but will be very easy to get started. You can at any point transition to the IS native config system which gives you advanced scenarios.

Thanks for the information Dominick;
I thing this "Stepping stone" will help many to get started and then transition to full IS. Good move.

IdentityServer will be included in new templates shipping post 2.2. The initial focus will be API access control - but there are plans to expand that in the future.
ASP.NET Core will ship with a simplified config API that covers the template scenarios only - but will be very easy to get started. You can at any point transition to the IS native config system which gives you advanced scenarios.

Good to know! Thank you.
I guess this API access control will be based on OAuth scopes?
No direct support for more volatile user permissions like described at policyserver.io?

PolicyServer is commercial solution

I guess this API access control will be based on OAuth scopes?
No direct support for more volatile user permissions like described at policyserver.io?

"Only" IdentityServer. ASP.NET Core has a built-in API for user authorization - and if PolicyServer (the product) looks interesting to you, let me know.

should this not be updated to ASP 3.0

Any update on when the Authorization Server enhancements will ship?


Fix ret addrs

Please review  #15  first.
This closes #12.
The previous implementation of CheckPointPass inserted a stackmap call after each call instruction, in order to have the function's return address stored as a stack map record (stackmap calls always have their addresses recorded in a stack map record). This approach didn't work, because at machine instruction level, the original call and the stackmap call are not necessarily adjacent (other instructions may be inserted in between).
The current implementation is inspired by this discussion: http://llvm.1065342.n5.nabble.com/llvm-dev-Figuring-out-return-address-of-a-call-td106617.html
Each function call is replaced by a patchpoint call. A call to llvm.experimental.patchpoint emits a call to the specified callback, which, in this case, is the function whose return address needs to be recorded.

@vext01 I've just realized this prevents all functions from being inlined.

OK, I'll wait for your word on reviewing this then.

What's the status of this on @gabi-250?

@vext01 This should be ready for review, I made a slight change yesterday after a discussion I had with Laurie.

Can you give a short synopsis on the outcome of that conversation, and how it relates to your comment last week about it disabling inlining? Presumably that's not a problem any more, or?

Laurie wanted inlining to happen, at least in the optimized functions. I initially wrapped all calls in patchpoint calls, which inhibits inlining. My initial implementation of CheckPointPass inserted a stackmap call after each call instruction, which sometimes resulted in the wrong 'return address' being stored in the stack map. The current approach inserts a stackmap call after each call instruction in the optimized functions, and replaces calls in the unoptimized functions with patchpoint calls. As far as I can tell, this never causes control to jump to the wrong address, and inlining can happen in the optimized functions.

A few comments, but again, not a particularly deep review. You are now clearly the expert on this work!

@vext01 I think I've addressed your comments. Let me know if there is anything else you'd like changed.

Sorry, a couple more comments.

@vext01 I tried merging the two functions, but this somehow feels even worse than my previous implementation. Let me know what you think.

@vext01 Something like that?

Can't more than one of the bits be set simultaneously?

@vext01 No, the called function can only be one of llvm.experimental.stackmap, llvm.experimental.patchpoint_void, llvm.experimental.patchpoint_i64

Yes, I've led you astray. My apologies. You might as well have a function which returns one of three defined integers in that case, right?
Sorry about this. Misunderstanding on my part.

@vext01 Simply returning one of the constants would work, but it would make this condition
a bit harder to read. I am happy with the current implementation, but let me know if you think it has any serious faults.

I think I'll let you take this decision :)
Apparently I'm having "one of those days" (tm).

@vext01 Okay, then I think this should be good to merge after I squash :)

squash away

@vext01 squashed!


Does kingpin support -vvv

I've searched around but can't find if kingpin supports some kind of count flag to support using -vvv.
So something like:
verbose := kingpin.Flag("verbose", "Enable verbose logging").Short("v").Counter()

would result in
verbose -> 3

No, but that is a good idea. You could emulate it with the current version by using .Action(f).Bool() and increment an integer inside the Action callback.

OK cool, is there an example in the docs of the Action with callback?

No, but the godocs are self explanatory.


Evaluate default attribute procs on #execute

Defaults attributes are evaluated on class definition, even if the default is a proc or a lambda. It would be useful and less surprising if default procs were executed when run! was called rather than when the interaction was required.

This is certainly worth some thought.

Yeah, I agree. We didn't consider this when we made #141. The offending line is in ActiveInteraction::Base. It has been like that for a long while. I think it originally came from 6b165d5b90b4f455a0e6e65fdca26c03bd06496a.


End game button

@mrzapp how to add a end game button in the UI in the endgame map? thanks

Can we recycle the quit button we made in the first prototype somehow?

Create a new UI blueprint. You can copy the existing BP_UI_StartGame (or something like that). You can see in the level blueprint for the StartGame map how I added it to the scene.

The quit button we made in the first prototype was not a UI element, it was a scene actor, so it only make sense if the player can move around


Pybind issue

Thank you very much for your work!
I didn't find any bindings to python in the compile command you provided, am I missing something?

Hi,
The python bindings were available in a previous version,
And we have yet to reimplement them,
To be honest, it wasn't very high our long list of priorities, as we didn't expect them to be much used.
But if you are interested, I can start working on them again (this should be available next week)
Let me know,
Cheers

I'm interested to have python bindings for the current version too and it would help with related work in pyLiDAR-SLAM too. Please let me know what are the next steps, and the time frame.

+1 for the implementing Python bindings

Hi,
Ok then !
So I'll start working on it by the end of the week, it should be ready at the latest early next week.
In the mean-time, to do the binding I used pybind11, the previous version is accessible at: https://github.com/jedeschaud/ct_icp/tree/old_master/src/binding

@pdell-kitware: thank you for prioritizing this issue! Anyway I can help?

Started working on it, see PR #56
I'll notify this issue when I am done

Hi, So a first version of the binding is completed for CT-ICP,
See branch #56, there are some explanations in the Readme.md,
I'll try to integrate update the binding to pyLiDAR-SLAM in the week (I need to update the binding which have different function names, and methods)

First of all thanks a lot for the author's work, I recently tried ct-icp and pyLiDAR and tried to call ct-icp in pyLiDAR.
I spent a lot of time trying pybind but failed, and finally found out that the project's bindings folder was updated two years ago, so many functions were having problems. In the previous comment, pdell-kitware said that the bindings file will be updated, I would like to know where the last updated file is available? How does the final combination with pyLiDAR work?
I would be grateful if you could answer my questions.

First of all thanks a lot for the author's work, I recently tried ct-icp and pyLiDAR and tried to call ct-icp in pyLiDAR.
I spent a lot of time trying pybind but failed, and finally found out that the project's bindings folder was updated two years ago, so many functions were having problems. In the previous comment, pdell-kitware said that the bindings file will be updated, I would like to know where the last updated file is available? How does the final combination with pyLiDAR work?
I would be grateful if you could answer my questions.

same here,
Which is the "latest version" and which is the "first version"?
I couldn't find any branches or tags related to it.


DBZ-285: Use provided or test dependencies for Connect and Kafka dependencies

https://issues.jboss.org/browse/DBZ-285

Ah, can we also get rid of the exclusions in the assembly descriptor then with this change?

Yeah, I think we can get rid of the excluded. I vaguely remember trying to do that originally, but I can’t recall why. Using provided is the correct way to do that.

So thinking more about it, we should set slf4j's scope to provided then, too. After all, it'll also be provided by the Connect runtime. I'll amend a commit for this and the changes I've suggested above to this PR.

I've pushed a few commits to this PR, to change the scopes of remaining Kafka libs/deps to provided and generally move the scopes into the actual connector POMs instead of dependency management which makes it much easier to reason about the scopes. I'll merge the change once CI says it's good. Thanks, @ewencp!

Applied to master and 0.6. Thanks again, @ewencp!

Thanks again @ewencp; I think its much better now than before!


Changing Badges settings crashes Chatterino

what tranred said, fixed in NEWEST nightly build @gapbl4 ! :1st_place_medal:


Fixed map element

Fixed map element

I'm so sorry, I totally missed this pull request. I added an update so I will close this one.


[QUESTION] how can i change the font?

where do I change the font?

@allanpedroso I believe there is no configuration option for that. I think (but not really sure) that the used font is related to Bootstrap or the underlying AdminLTE package. However, I have experimented and you can change the font on your pages that @extends() the layout provided by this package with something like next (for example):
@extends('adminlte::page')

@push('css')
<style type="text/css">
    body {
        font-family: cursive !important;
    }
</style>
@endpush

{{-- Other code related to your page --}}

In this case, it will be better that you create a new base layout with the previous code, and make your pages extends this new layout instead of the page layout provided by the package. This way, you can keep all customization in one place.
@REJack Do you have any other clue about this?

A solution was provided...


feat: Add pdf_processing_mode to enable running pdfs in parallel

This is a quick win for parallel processing of pdfs. Adds a new pdf_processing_mode param to the api. Default is serial, but when the mode is parallel, we'll split pdfs into 1 page files and send each to the hosted api.
With our layout-paser-paper.pdf, I'm seeing a ~3x speedup when running hi_res. This clearly isn't the best we can do, but when the full file is taking ~90 seconds, we have to start somewhere.
Limitations / things to note:

The upstream url is hardcoded to api.unstructured.io. This should really be whatever url is used to access the initial server, which we can get from Request.url. This is a api-tools change to pass the Request object down.
The hosted api is rate limited to 100 requests per 5 minutes. Considering that the 1 pdf above will fan out to 16 additional requests, we need to bump this. Alternatively, we can whitelist our ECS hosts to allow traffic from ourselves to exceed this. Figure this out before this is deployed.
This PR exposes some limitations in partition_via_api:

There's a bug where the element metadata has filetype json
Errors from the upstream api look like this: Received unexpected status code 400 from the API. We should make it easier to propagate the status code, plus any details the api returned.

Testing
Please try something other than layout-paper-parser.pdf to verify the response times. First, try your pdf against our api for hi_res:
curl 'https://api.unstructured.io/general/v0/general' \
--header 'Accept: application/json' \
--form 'files=@"~/test files/layout-parser-paper.pdf"' \
--form 'strategy="hi_res"'

Then, pull this branch and run make run-web-app. Try the same pdf locally, which will hit the hosted api in parallel (page size should be under 100 per the rate limiting).
curl --location 'http://localhost:8000/general/v0/general' \
--header 'Accept: application/json' \
--form 'files=@"~/test files/layout-parser-paper.pdf"' \
--form 'strategy="hi_res"' \
--form 'pdf_processing_mode="parallel"'

Do this with cli timing tool, or via postman, to confirm that you're seeing a speedup.

looks like you need to add PyPDF2 as a test dependency and pip compile

Oh wait, I totally should have a env variable to set the mode. This shouldn't be set at the request level... I'm thinking it's disabled by default - no one needs this added complexity running locally. Does that make sense?


fix errors in 11. Optimization Algorithms

Job d2l-zh/PR-776/1 is complete.
Check the results at http://preview.d2l.ai/d2l-zh/PR-776/


error LNK2019: unresolved external symbol __imp_realloc referenced in function cpArrayPush

So disclaimer I don't really know what I'm doing :)
So I downloaded the .tgz file from your website extracted it then extracted the tar file
I then opened up the msvc folder and vs2015 and then into chipmunk I don't have visual studio installed but i do have the build tools so i retargeted the vcxproj file and then built it using msbuild chipmunk.vcxproj
I then took all the files in the x64 -> debug folder and moved them to a folder called bin in the project i'm making then grabbed the include folder as well then moved the chipmunk.lib file into the right place and made a simple project using CSFML and Chipmunk and tried to run it in vs code and got the following console output:
Starting build...
Build finished with errors(s):
main.c
Microsoft (R) Incremental Linker Version 14.28.29333.0
Copyright (C) Microsoft Corporation.  All rights reserved.

/out:main.exe
/debug
/MACHINE:x64
"/out:C:\Users\Student\Documents\Programming\CSFML+Chipmunk Tutorial/bin/main.exe"
"C:\Users\Student\Documents\Programming\CSFML+Chipmunk Tutorial/externals/lib/csfml-audio.lib"
"C:\Users\Student\Documents\Programming\CSFML+Chipmunk Tutorial/externals/lib/csfml-graphics.lib"
"C:\Users\Student\Documents\Programming\CSFML+Chipmunk Tutorial/externals/lib/csfml-network.lib"
"C:\Users\Student\Documents\Programming\CSFML+Chipmunk Tutorial/externals/lib/csfml-system.lib"
"C:\Users\Student\Documents\Programming\CSFML+Chipmunk Tutorial/externals/lib/csfml-window.lib"
"C:\Users\Student\Documents\Programming\CSFML+Chipmunk Tutorial/externals/lib/chipmunk.lib"
main.obj
   Creating library C:\Users\Student\Documents\Programming\CSFML+Chipmunk Tutorial\bin\main.lib and object C:\Users\Student\Documents\Programming\CSFML+Chipmunk Tutorial\bin\main.exp
LINK : warning LNK4098: defaultlib 'MSVCRTD' conflicts with use of other libs; use /NODEFAULTLIB:library
LINK : warning LNK4286: symbol 'calloc' defined in 'libucrt.lib(calloc.obj)' is imported by 'chipmunk.lib(cpHashSet.obj)'
LINK : warning LNK4286: symbol 'calloc' defined in 'libucrt.lib(calloc.obj)' is imported by 'chipmunk.lib(cpSpaceComponent.obj)'
LINK : warning LNK4286: symbol 'calloc' defined in 'libucrt.lib(calloc.obj)' is imported by 'chipmunk.lib(cpArray.obj)'
LINK : warning LNK4286: symbol 'calloc' defined in 'libucrt.lib(calloc.obj)' is imported by 'chipmunk.lib(cpSpaceHash.obj)'
LINK : warning LNK4286: symbol 'calloc' defined in 'libucrt.lib(calloc.obj)' is imported by 'chipmunk.lib(cpBBTree.obj)'
LINK : warning LNK4217: symbol 'calloc' defined in 'libucrt.lib(calloc.obj)' is imported by 'chipmunk.lib(cpBody.obj)' in function 'cpBodyAlloc'
LINK : warning LNK4286: symbol 'calloc' defined in 'libucrt.lib(calloc.obj)' is imported by 'chipmunk.lib(cpShape.obj)'
LINK : warning LNK4286: symbol 'calloc' defined in 'libucrt.lib(calloc.obj)' is imported by 'chipmunk.lib(cpSpace.obj)'
LINK : warning LNK4286: symbol 'calloc' defined in 'libucrt.lib(calloc.obj)' is imported by 'chipmunk.lib(cpSpaceStep.obj)'
LINK : warning LNK4286: symbol 'free' defined in 'libucrt.lib(free.obj)' is imported by 'chipmunk.lib(cpSpatialIndex.obj)'
LINK : warning LNK4286: symbol 'free' defined in 'libucrt.lib(free.obj)' is imported by 'chipmunk.lib(cpHashSet.obj)'
LINK : warning LNK4217: symbol 'free' defined in 'libucrt.lib(free.obj)' is imported by 'chipmunk.lib(cpSpaceComponent.obj)' in function 'cpBodySleepWithGroup'
LINK : warning LNK4286: symbol 'free' defined in 'libucrt.lib(free.obj)' is imported by 'chipmunk.lib(cpArray.obj)'
LINK : warning LNK4286: symbol 'free' defined in 'libucrt.lib(free.obj)' is imported by 'chipmunk.lib(cpSpaceHash.obj)'
LINK : warning LNK4217: symbol 'free' defined in 'libucrt.lib(free.obj)' is imported by 'chipmunk.lib(cpBBTree.obj)' in function 'cpBBTreeReindexObject'
LINK : warning LNK4217: symbol 'free' defined in 'libucrt.lib(free.obj)' is imported by 'chipmunk.lib(cpBody.obj)' in function 'cpBodyFree'
LINK : warning LNK4286: symbol 'free' defined in 'libucrt.lib(free.obj)' is imported by 'chipmunk.lib(cpShape.obj)'
LINK : warning LNK4286: symbol 'free' defined in 'libucrt.lib(free.obj)' is imported by 'chipmunk.lib(cpSpace.obj)'
LINK : warning LNK4286: symbol 'free' defined in 'libucrt.lib(free.obj)' is imported by 'chipmunk.lib(cpSpaceStep.obj)'
LINK : warning LNK4286: symbol 'abort' defined in 'libucrt.lib(abort.obj)' is imported by 'chipmunk.lib(cpSpatialIndex.obj)'
LINK : warning LNK4286: symbol 'abort' defined in 'libucrt.lib(abort.obj)' is imported by 'chipmunk.lib(cpArbiter.obj)'
LINK : warning LNK4286: symbol 'abort' defined in 'libucrt.lib(abort.obj)' is imported by 'chipmunk.lib(cpHashSet.obj)'
LINK : warning LNK4286: symbol 'abort' defined in 'libucrt.lib(abort.obj)' is imported by 'chipmunk.lib(cpSpaceComponent.obj)'
LINK : warning LNK4286: symbol 'abort' defined in 'libucrt.lib(abort.obj)' is imported by 'chipmunk.lib(cpCollision.obj)'
LINK : warning LNK4286: symbol 'abort' defined in 'libucrt.lib(abort.obj)' is imported by 'chipmunk.lib(cpSpaceHash.obj)'
LINK : warning LNK4217: symbol 'abort' defined in 'libucrt.lib(abort.obj)' is imported by 'chipmunk.lib(cpBBTree.obj)' in function 'cpBBTreeReindex'
LINK : warning LNK4217: symbol 'abort' defined in 'libucrt.lib(abort.obj)' is imported by 'chipmunk.lib(cpBody.obj)' in function 'cpBodySanityCheck'
LINK : warning LNK4286: symbol 'abort' defined in 'libucrt.lib(abort.obj)' is imported by 'chipmunk.lib(cpShape.obj)'
LINK : warning LNK4286: symbol 'abort' defined in 'libucrt.lib(abort.obj)' is imported by 'chipmunk.lib(cpSpace.obj)'
LINK : warning LNK4286: symbol 'abort' defined in 'libucrt.lib(abort.obj)' is imported by 'chipmunk.lib(cpSpaceStep.obj)'
LINK : warning LNK4217: symbol '__acrt_iob_func' defined in 'libucrt.lib(_file.obj)' is imported by 'chipmunk.lib(cpSpace.obj)' in function 'printf'
LINK : warning LNK4217: symbol '__acrt_iob_func' defined in 'libucrt.lib(_file.obj)' is imported by 'chipmunk.lib(chipmunk.obj)' in function 'cpAreaForPoly'
LINK : warning LNK4217: symbol '__stdio_common_vfprintf' defined in 'libucrt.lib(output.obj)' is imported by 'chipmunk.lib(cpSpace.obj)' in function '_vfprintf_l'
LINK : warning LNK4286: symbol '__stdio_common_vfprintf' defined in 'libucrt.lib(output.obj)' is imported by 'chipmunk.lib(chipmunk.obj)'
LINK : warning LNK4217: symbol 'qsort' defined in 'libucrt.lib(qsort.obj)' is imported by 'chipmunk.lib(cpBBTree.obj)' in function 'partitionNodes'
chipmunk.lib(cpArray.obj) : error LNK2019: unresolved external symbol __imp_realloc referenced in function cpArrayPush
chipmunk.lib(cpSpaceHash.obj) : error LNK2019: unresolved external symbol __imp_floor referenced in function cpSpaceHashSegmentQuery
C:\Users\Student\Documents\Programming\CSFML+Chipmunk Tutorial\bin\main.exe : fatal error LNK1120: 2 unresolved externals

The terminal process terminated with exit code: -1.

Terminal will be reused by tasks, press any key to close it.

I'm not 100% sure what's going on here so I'm hoping someone can help me
My tasks.json file looks like this:
{
    "tasks": [
        {
            "type": "cppbuild",
            "label": "C/C++: cl.exe build active file",
            "command": "cl.exe",
            "args": [
                "/Zi",
                "/EHsc",
                "/I${fileDirname}/externals/include",
                "${fileDirname}/externals/lib/csfml-audio.lib",
                "${fileDirname}/externals/lib/csfml-graphics.lib",
                "${fileDirname}/externals/lib/csfml-network.lib",
                "${fileDirname}/externals/lib/csfml-system.lib",
                "${fileDirname}/externals/lib/csfml-window.lib",
                "${fileDirname}/externals/lib/chipmunk.lib",
                "${file}",
                "/link",
                "/MACHINE:x64",
                "/out:${fileDirname}/bin/${fileBasenameNoExtension}.exe"
            ],
            "options": {
                "cwd": "${workspaceFolder}"
            },
            "problemMatcher": [
                "$msCompile"
            ],
            "group": {
                "kind": "build",
                "isDefault": true
            }
        }
    ],
    "version": "2.0.0"
}

this is my code:
#include <SFML/Graphics.h>
#include <chipmunk/chipmunk.h>
#define PI 3.14

cpFloat RadiansToDegrees(cpFloat radians)
{
    cpFloat degrees = radians * 180 / PI;
    return degrees;
}

int main(void)
{
    sfRenderWindow *window;
    sfCircleShape *ball;
    sfVector2f ball_middle = {40, 40};
    sfVector2f sfml_ball_pos = {0, 0};
    ball = sfCircleShape_create();
    sfCircleShape_setFillColor(ball, sfRed);
    sfCircleShape_setRadius(ball, 40.0);
    sfCircleShape_setOrigin(ball, ball_middle);
    sfVideoMode mode = {600, 600, 24};
    sfEvent event;

    window = sfRenderWindow_create(mode, "SFML Chipmunk Test", sfResize | sfClose, NULL);

    cpFloat chipmunk_angle;
    float sfml_angle;
    cpVect gravity = cpv(0, 0.8);
    cpSpace *space = cpSpaceNew();
    cpSpaceSetGravity(space, gravity);
    cpShape *ground = cpSegmentShapeNew(cpSpaceGetStaticBody(space), cpv(200, 400), cpv(600, 390), 0);
    cpShapeSetFriction(ground, 0.7);
    cpSpaceAddShape(space, ground);
    cpFloat radius = 40;
    cpFloat mass = 0.5;
    cpFloat moment = cpMomentForCircle(mass, 0, radius, cpvzero);
    cpBody *ballBody = cpSpaceAddBody(space, cpBodyNew(mass, moment));
    cpBodySetPosition(ballBody, cpv(500, 40));
    cpShape *ballShape = cpSpaceAddShape(space, cpCircleShapeNew(ballBody, radius, cpvzero));
    cpShapeSetFriction(ballShape, 0.7);
    cpFloat timeStep = 1.0 / 60.0;
    cpFloat time = 0;
    cpVect chipmunk_ball_pos;
    cpVect chipmunk_ball_vel;
    while (sfRenderWindow_isOpen(window))
    {
        /*This processes the events*/
        while (sfRenderWindow_pollEvent(window, &event))
        {
            if (event.type == sfEvtClosed)
            {
                puts("Closing render window.");
                sfRenderWindow_close(window);
            }
        }
        chipmunk_ball_pos = cpBodyGetPosition(ballBody);
        chipmunk_ball_vel = cpBodyGetVelocity(ballBody);
        chipmunk_angle = cpBodyGetAngle(ballBody);
        sfml_angle = RadiansToDegrees(chipmunk_angle);
        sfml_ball_pos.x = chipmunk_ball_pos.x;
        sfml_ball_pos.y = chipmunk_ball_pos.y;
        sfCircleShape_setPosition(ball, sfml_ball_pos);

        sfCircleShape_setRotation(ball, sfml_angle);
        sfRenderWindow_drawCircleShape(window, ball, NULL);
        sfRenderWindow_display(window);
        sfRenderWindow_clear(window, sfBlack);
        cpSpaceStep(space, timeStep);
        time += timeStep;
    }
    cpShapeFree(ballShape);
    cpBodyFree(ballBody);
    cpShapeFree(ground);

    sfCircleShape_destroy(ball);
    sfRenderWindow_destroy(window);
    return 0;
}

Update: I downloaded Visual Studio 2019 and copied my project into Visual Studio 2019 with all the chipmunk files I'd previously compiled with msbuild and it runs fine so now I'm even more confused any help would be appreciated

Update: I downloaded Visual Studio 2019 and copied my project into Visual Studio 2019 with all the chipmunk files I'd previously compiled with msbuild and it runs fine so now I'm even more confused any help would be appreciated


Typo

Peek To Defintion -> Peek Definition in Tour the IDE section.

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

ID: 9290996a-853e-bfcc-5e4a-d8746f453620
Version Independent ID: faae284e-2f81-6f6f-c437-0bd8c959dd2b
Content: Overview of Visual Studio 2017 - Visual Studio
Content Source: docs/ide/visual-studio-ide.md
Product: visual-studio-dev15
GitHub Login: @gewarren
Microsoft Alias: gewarren

@heyucongtom Thanks for letting us know. I'm happy to fix this, but just to let you know in case you didn't, there's an Edit button at the top right of each Visual Studio topic that you can use to make small edits, if you'd like to contribute to the docs!

Thanks! I didn’t see it at first :)
On Tue, Sep 11, 2018 at 9:57 AM Genevieve Warren<EMAIL_ADDRESS>wrote:

@heyucongtom https://github.com/heyucongtom Thanks for letting us know.
I'm happy to fix this, but just to let you know in case you didn't, there's
an Edit button at the top right of each Visual Studio topic that you can
use to make small edits, if you'd like to contribute to the docs!
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/MicrosoftDocs/visualstudio-docs/issues/1511#issuecomment-420344622,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AGbH8XengGJ6fCr4nBPD4xs1Vpxg7wfBks5uZ-uAgaJpZM4WjsCy
.


Abbreviation-Expansion detection must detect the following cases

There are a few cases that I noticed while writing tests for the abbreviation-expansion detection, that the system currently does not handle. We could add these to the regression tests once we swap out the spacy model with an advanced BERT-based model.

Case 1 : Abbreviation not in parentheses
text : "We use a Convolutional Neural Network, known as CNN, based architecture in this model, which is an improvement over state-of-the-art"
gold : [(Abbreviation : 'CNN', Expansion : 'Convolutional Neural Network')]

Case 2: Expansion in parenthesis
text = "GANs (Generative Adversarial Networks) outperform most generative models in the novel human face generation task."
gold = [(Abbreviation : GANs, Expansion : Generative Adversarial Networks)]

@nuwandavek Do you have any numbers of how the scispacy model and the neural model work on those two cases you mentioned?


Missing Comments in azure-pipelines.yaml

The YAML sample part of the section titled 'Example' says that "The preceding sample code includes an azure-pipelines.yml file at the root of the repository. This file includes some additional instructions in comments to deploy...".
However, when I look in this file, there are no comments about how to deploy the app.

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

ID: 7a40a853-83d6-844a-4752-8b00909c9ffb
Version Independent ID: e3121964-de38-2a57-2414-c1e29a880477
Content: Azure Web App deployment - Azure Pipelines & TFS
Content Source: docs/pipelines/targets/webapp.md
Product: devops
GitHub Login: @alexhomer1
Microsoft Alias: ahomer

Thank you for your feedback. I will update the topic to take account of your comments. This topic contains the details of how you can deploy a .NET Core Web App. For more details of how to build .NET Core apps, see https://docs.microsoft.com/azure/devops/pipelines/languages/dotnet-core.


node v10 Error [ERR_HTTP_HEADERS_SENT]

On node version 10. I get the following error:
_http_outgoing.js:481
    throw new ERR_HTTP_HEADERS_SENT('set');
    ^

Error [ERR_HTTP_HEADERS_SENT]: Cannot set headers after they are sent to the client
    at ClientRequest.setHeader (_http_outgoing.js:481:11)
    at ProxyServer.<anonymous> (/usr/local/lib/node_modules/aws-es-kibana/index.js:175:14)
    at ProxyServer.emit (/usr/local/lib/node_modules/aws-es-kibana/node_modules/eventemitter3/index.js:184:35)
    at ClientRequest.<anonymous> (/usr/local/lib/node_modules/aws-es-kibana/node_modules/http-proxy/lib/http-proxy/passes/web-incoming.js:132:27)
    at ClientRequest.emit (events.js:187:15)
    at ClientRequest.EventEmitter.emit (domain.js:442:20)
    at tickOnSocket (_http_client.js:639:7)
    at onSocketNT (_http_client.js:655:5)
    at process._tickCallback (internal/process/next_tick.js:174:19)

On node 9.11.1 it works.
> n 9
> node --version
v9.11.1

running into the same issue
➜  ~ aws-es-kibana --version 1.0.7 ➜  ~ node --version v10.0.0

same issue here, on node 10+

The issue appears to be caused by the request body buffer not being fully initialized before the proxy request is sent. Still not sure why it only affects node v10+. I packaged a fix into the following PR: https://github.com/santthosh/aws-es-kibana/pull/48.
Let me know if it works!

Thanks @mlem8, merged. Can you please test with the latest 1.0.8


Add dual stack mode setting to builder

Depends on https://github.com/TakahikoKawasaki/nv-websocket-client/pull/183
Had to copy the enum since we want to maintain independence regarding the WebSocket implementation. (Would be even better to move the WebSocket library outside of this library.)

Probably needs an update of the dependency?


[macOS] Cannot open because the developer cannot be verified

The more we know about your system and use case, the more easily and likely we can help.
Unable to install<EMAIL_ADDRESS>on MacOS
Environment info

OS: 10.15.2
App Version: 1.8.2

If possible, provide a sample gist or screenshot:

Hi @hackjutsu ,
Should we consider adding a note about this inside the README.md?

In some cases (e.g. company laptops) security configuration of macOS don't allow users to bypass gatekeeper (the way hinted in link shared by @hackjutsu ). It would be beneficial if this app could go through notarization process. Seems that it requires some effort but IMO app can benefit from broaden user-base due to better accessibility.
https://developer.apple.com/documentation/security/notarizing_macos_software_before_distribution


No suggestions of options

There are few examples how is looks like

Need more information, your project language, build tool, your maven or gradle config.
Provide simple project is a best way.
Some issues maybe can help you.

#46
#38
#4

The files compiles well but I have problems with plugin functionality. I'm using GoLand and WebStorm. Imports and type suggestion are working well but no option suggestion and they are highlighting red with error (for example) Built-in option 'java_package' not found

The plugin will not provide the well-known protos, and the plugin will scan all depented libraries for the java project.
To make the plugin work with go project, you need to download google's well-known protos to a folder, and mark this folder as import root in Settings > Language & Frameworks > Protobuf.
If you can't find google's built-in protos, download it from here.
See #4 for the details.

Yeah, I know about google built-in props and they included in project. But my error still presented

Could you provide a simple project? I can't reproduce it.


Moved HideKeyboard from TextBox to Form (Bug #285)

The method block has been moved from TextBox.java to Form.java, which increments the versions of YoungAndroid, Form, and TextBox.

@halatmit @marksherman

@afmckinney @farxinu @marksherman
Andrew please review this.  Pne issue is that removing the HideKeyboard method from TextBox break existing projects.   It's better to keep the old method there (and also have it in Form), but arrange the upgrader so that the TextBox method is show as deprecated, in a tooltip or something.

I am testing this now.

@farxinu Sorry for the slow response, we have been busy on other issues.
A change like this has to provide a an upgrader to upgrade existing projects that are using the HideKeyboard function in TextBlock to use the block from Form (Screen1). As currently written any project that using the HideKeyboard block will break and become unusable.

@farxinu Btw. If you leave the version in place in TextBox, then you don't have to do an upgrader. We believe that is a reasonable approach.

So I should re-add HideKeyboard as a TextBox method and also have it as a Form method?

@jisqyv sorry, forgot to tag you.

@farxinu Yes. That will avoid the need for an upgrader.

@jisqyv Should be fixed now.

@farxinu Note: When you add a new error number, you also have to add the message that goes with it. In this case I have done that for you:
 errorMessages.put(ERROR_SCREEN_INVALID_ANIMATION,
     "Bad value for screen open/close animation: %s");

errorMessages.put(ERROR_NO_FOCUSABLE_VIEW_FOUND,

   "No Focusable View Found");

// Canvas errors

(for future reference).
Otherwise: LGTM. Tested and on Gerrit for final unit tests.

What's the actual error message being shown by default as the notofication?
== Hal Abelson
<EMAIL_ADDRESS>Prof. of Comp. Sci. and Eng.
MIT Dept. of Elec. Eng. and Comp. Sci.
MIT Media Lab, Second Class Faculty
On Sun, Oct 18, 2015 at 9:53 PM, Jeffrey Schiller<EMAIL_ADDRESS>wrote:

@farxinu https://github.com/farxinu Note: When you add a new error
number, you also have to add the message that goes with it. In this case I
have done that for you:
errorMessages.put(ERROR_SCREEN_INVALID_ANIMATION,
"Bad value for screen open/close animation: %s");

errorMessages.put(ERROR_NO_FOCUSABLE_VIEW_FOUND,
"No Focusable View Found"); // Canvas errors

(for future reference).
Otherwise: LGTM. Tested and on Gerrit for final unit tests.
—
Reply to this email directly or view it on GitHub
https://github.com/mit-cml/appinventor-sources/pull/541#issuecomment-149076594
.

@halatmit "No Focusable View Found" (Yeah, I know... I just merged this change, but we can add another change to change the message).

MERGED

How about "No keyboard is showing".
Does that adequately describe the error condition?
== Hal Abelson
<EMAIL_ADDRESS>Prof. of Comp. Sci. and Eng.
MIT Dept. of Elec. Eng. and Comp. Sci.
MIT Media Lab, Second Class Faculty
On Sun, Oct 18, 2015 at 10:01 PM, Jeffrey Schiller<EMAIL_ADDRESS>
wrote:

@halatmit https://github.com/halatmit "No Focusable View Found" (Yeah,
I know... I just merged this change, but we can add another change to
change the message).
—
Reply to this email directly or view it on GitHub
https://github.com/mit-cml/appinventor-sources/pull/541#issuecomment-149077830
.

Not really. The keyboard may well be showing...

Hmm.
OK.  Let's leave it as is and someday figure out something better to say.
== Hal Abelson
<EMAIL_ADDRESS>Prof. of Comp. Sci. and Eng.
MIT Dept. of Elec. Eng. and Comp. Sci.
MIT Media Lab, Second Class Faculty
On Sun, Oct 18, 2015 at 10:32 PM, Jeffrey Schiller<EMAIL_ADDRESS>
wrote:

Not really. The keyboard may well be showing...
—
Reply to this email directly or view it on GitHub
https://github.com/mit-cml/appinventor-sources/pull/541#issuecomment-149080131
.

Thank you! Sorry, I didn't realize that.


Add error handling for adapter module

What was a problem
Exception handling was lax and error details could not be obtained from standard errors.
How this PR fixes the problem
Standard errors and syscall errors can now be retrieved.
Check lists (check x in [ ] of list items)

[x] Test passed
[x] Coding style (indentation, etc)

The CI failure seems to be related to the following issue.
https://github.com/denoland/deno/issues/17414

CI fixed in this release on Deno.


Improve device dump in async runs

In async runs, device dump actually serializes the flow because of its mutex.
Especially in TG and TGG this dramatically slows things down.
The serialization of the flow is mainly due to dump file being shared. However we can hold in memory and aggregate at the end.

Blocked by #15015


Use module enable instead of module install

Using module install will install all RPMs for that module but changing to module enable will not install any extra RPMs (oracle#98).

I have signed the OCA agreement.


Add another MLP head in vision transformer

How can I add/extend MLP head in same model for detection? Let's say head is detecting objects A,B,C in a image  and we want to train by adding or extend MLP/classification head to detect objects D, E, F in same image without combining both the classes.
Any help would be appreciated?

@lucidrains  Thanks .
How the data will look like in terms of json file such as  two different json or single json containing  annotation for both the different head classes?


Remove isolated voxels at the edge of the output segmentation

When using sct_deepseg_sc, sometimes the top and/or bottom segmented slice shows incomplete segmentation: only few isolated voxels have the value "1". This could create some issues later on, see for example #2435.
In this PR, we implement a fix, which consists in computing the CSA across all slices, and checking if the extreme slices have a CSA that is 50% smaller than the median of the CSA on the previous slides. If it is, it will zero the slide.
Specific changes to this PR include:

Now checking extreme segmented slices and remove isolated voxels (see description above). Fixes #2435
Refactored deepseg_sc.core by creating a new file deepseg_sc.postprocessing that includes post-processing code. For clarity.

Note: this issue is similar to #1074 when using sct_propseg, for which a fix was also created. In the future, we could merge the two fixes to save lines of code.

ran batch_processing for sanity check (core functions are affected by this PR), all good!:
t2/CSA:          73.98379456979737
mt/MTR(WM):      54.31259385601459
t2s/CSA_GM:      12.530353265289374
t2s/CSA_WM:      65.07686820036822
dmri/FA(CST_r):  0.7940335588596036
dmri/FA(CST_l):  0.7704675850543123


feature(metadata) Add support for author information

Signed-off-by: Jerome Simeon<EMAIL_ADDRESS>Issue #534

Adds API access to template author information if available
Adds author and logo to template generator
Fixes JSDoc for keyword access method

Coverage increased (+0.01%) to 96.236% when pulling 088c775ac7e8926f13cc1c99e3a1e5bf22315ed6 on jeromesimeon:js-feature-author into 0a44171c68531df882e6db8a00500a56923e3f0e on accordproject:master.


ONE PIECE Unlimited World Red [PCSE11111]

App summary

App name: ONE PIECE Unlimited World Red
App serial: PCSE00423
App version: 1.00

Vita3K summary

Version: v0.2.0
Build number: 3584
Commit hash: https://github.com/vita3k/vita3k/commit/25d9b25e
CPU backend: Dynarmic
GPU backend: Vulkan

Test environment summary

Tested by: me
OS: Android 14/one ui 6.0
CPU: Qualcomm Snapdragon 888 5G (SM8350)
GPU: don't know
RAM: 6 GB

Issues: characters don't load in properly text gets slightly cut
Screenshots

Log
Recommended labels: ingame

img for post...


Add task to clean up generated files after assets deploy

Currently after every assets deploy the js/css folders are littered with all the generated files from the bundling/minifying. Adding a task to clear them away after the deploy is done. Add optional argument --nocleanup to bypass this step.

🍔

🍟


Test envutil

What issue type does this pull request address? (keep at least one, remove the others)
/kind enhancement
What is this pull request for? Which issues does it resolve? (use resolves #<issue_number> if possible)
It shows a bug in envutil: AddToPath() doesn't work for some reason (On my windows machine, could be different in travis)
Does this pull request has user-facing changes? (e.g. config changes, new/modified commands, new/modified flags)
no
Does this pull request add new dependencies?
no
What else do we need to know?
nothing

No test currently required, we only wrap vendor calls in this package.


Returning 404 in '/people/17'

The API returns a 404 status error when requests to endpoint https://swapi.dev/api/people/17

That appears to because there isn't any record with the id of 17 (checkout the "pk" field) in the people.json file located here:
https://github.com/phalt/swapi/blob/master/resources/fixtures/people.json
Snippet below shows there is nothing to be returned from the URL: https://swapi.dev/api/people/17
{
"fields": {
"edited": "2014-12-20T21:17:50.338Z",
"name": "Jabba Desilijic Tiure",
"created": "2014-12-10T17:11:31.638Z",
"gender": "hermaphrodite",
"skin_color": "green-tan, brown",
"hair_color": "n/a",
"height": "175",
"eye_color": "orange",
"mass": "1,358",
"homeworld": 24,
"birth_year": "600BBY"
},
"model": "resources.people",
"pk": 16
},
{
"fields": {
"edited": "2014-12-20T21:17:50.341Z",
"name": "Wedge Antilles",
"created": "2014-12-12T11:08:06.469Z",
"gender": "male",
"skin_color": "fair",
"hair_color": "brown",
"height": "170",
"eye_color": "hazel",
"mass": "77",
"homeworld": 22,
"birth_year": "21BBY"
},
"model": "resources.people",
"pk": 18
},

Generally speaking for APIs it is perfectly normal to have 404s for some IDs: clients should not rely that every ID in a sequence has an entity attached to it. Moreover most modern APIs discourage the use of numeric IDs (generating pseudorandom strings instead), which makes iteration impossible.


Does not handle sub-module 'timers/promises'

This commit in Sinon broke bundling. It turns out that mochify does not seem to like the sub-module 'timers/promises' very much:
cat > test.js < EOF
// This is OK!
timersModule = require("timers");

// This fails
timersModule = require("timers/promises");
EOF

npx mochify test.js

Output:
Error: Can't walk dependency graph: ENOENT: no such file or directory, lstat '/Users/carlerik/dev/sinon/timers'
    required by /Users/carlerik/dev/sinon/test.js

This was me using an old Mochify ...


Laravelbook/Ardent breaks Entrust

I just did a composer update and Entrust broke to a white screen.
Apparently LaravelBook/Ardent`s version 2.5.* did something that breaks Entrust. Going back to a 2.4.* fixed the problem. Someone might have a look at this?

I'll take a look. We really need to remove that dependency.


upgrade to v0.25.1

Hi! This is the friendly automated conda-forge-linting service.
I just wanted to let you know that I linted all conda-recipes in your PR (recipe) and found it was in an excellent condition.


Export/Save ROI Metrics

Would like to have an option of exporting or saving the ROI metrics once they have been generated so I don't have to copy and paste each time

]