TCC scores 0 on a class with no methods

The TCC scoring method returns a value of 0 for a class that has no methods (excluding static functions and the constructor method) - specifically, this class.
One might expect either a value of 1, or Nan in this case, since it is either that the class is cohesive (value 1) or the value cannot be calculated (value Nan). Saying that a class with no methods is not cohesive doesn't seem to hold.
Similarly, a class with methods but no attributes (see this class) also gets a score of 0.

@yegor256/z please, pay attention to this issue

@yegor256 The original paper doesn't define what the score is for these two cases.

The job #213 assigned to @dfrau32/z, here is why; the budget is 30 minutes, see §4; please, read §8 and §9; if the task is not clear, read this and this; there will be a monetary reward for this job

@dfrau32/z this job was assigned to you 5days ago. It will be taken away from you soon, unless you close it, see §8. Read this and this, please.

The user @dfrau32/z resigned from #213, please stop working. Reason for job resignation: It is older than 10 days, see §8

Resigned on delay, see §8: -30 point(s) just awarded to @dfrau32/z

The job #213 assigned to @jekeam/z, here is why; the budget is 30 minutes, see §4; please, read §8 and §9; if the task is not clear, read this and this; there will be no monetary reward for this job

The job #213 assigned to @romach/z, here is why; the budget is 30 minutes, see §4; please, read §8 and §9; if the task is not clear, read this and this; there will be no monetary reward for this job

@romach/z this job was assigned to you 5days ago. It will be taken away from you soon, unless you close it, see §8. Read this and this, please.

The user @romach/z resigned from #213, please stop working. Reason for job resignation: It is older than 10 days, see §8

Resigned on delay, see §8: -30 point(s) just awarded to @romach/z

@paulodamaso @rok-povsic
So what is the decision? Should we return 1 or NaN?

@GnusinPavel It's not my decision to make, but likely @yegor256 's.

@yegor256 please take a look at this

@0crat wait

@0crat wait  (here)

@GnusinPavel The impediment for #213 was registered successfully by @gnusinpavel/z

The job #213 assigned to @rajanamistry/z, here is why; the budget is 30 minutes, see §4; please, read §8 and §9; if the task is not clear, read this and this; there will be a monetary reward for this job

@rajanamistry/z this job was assigned to you 6days ago. It will be taken away from you soon, unless you close it, see §8. Read this and this, please.

The user @rajanamistry/z resigned from #213, please stop working. Reason for job resignation: It is older than 10 days, see §8

The job #213 assigned to @volodymyrbondarchuk/z, here is why; the budget is 30 minutes, see §4; please, read §8 and §9; if the task is not clear, read this and this; there will be no monetary reward for this job

Resigned on delay, see §8: -30 point(s) just awarded to @rajanamistry/z

@volodymyrbondarchuk/z this job was assigned to you 5days ago. It will be taken away from you soon, unless you close it, see §8. Read this and this, please.

The user @volodymyrbondarchuk/z resigned from #213, please stop working. Reason for job resignation: It is older than 10 days, see §8

Resigned on delay, see §8: -30 point(s) just awarded to @volodymyrbondarchuk/z

The job #213 assigned to @hdouss/z, here is why; the budget is 30 minutes, see §4; please, read §8 and §9; if the task is not clear, read this and this; there will be no monetary reward for this job

@rok-povsic PR #409 reviewed and merged. Please close the issue.

@rok-povsic Could you please close the issue?

@rok-povsic ping..

@HDouss I'll close it, thank you for

Job was finished in 23 hours, bonus for fast delivery is possible (see §36)


Enable remaining Rails 6.1 new framework default settings

Once we upgrade to Rails 6.1 and have been in production for a bit, we should enable the remaining non-backwards-compatible new framework default settings located in new_framework_defaults_6_1.rb and fix any issues that arise.
Once those are working, we can then change the config.load_defaults setting in application.rb to 6.1 and fix any issues that arise as a result of that change.
Some issues that I expect to arise:

Rails 6 uses zeitwerk to load code, and this introduces some issues related to class naming conventions. Our current thought process is to remove any inflections from initializers/inflections.rb and rename any classes that zeitwerk doesn't like. You can check for zeitwerk problems by running bundle exec rake zeitwerk:check.
Rails Admin custom actions will need to be moved from app/rails_admin_actions to lib/rails_admin/config/actions to make zeitwerk happy.

Done in #705


Please archive

This is not developed or maintained. Please make this a public archive

I have updated dependencies and clarified that the project is experimental (both in the readme and in the crate manifest) in #6. I've also configured Dependabot for the project so that dependencies don't get outdated in the future. If you have feature requests, improvement suggestions, bug reports etc., don't hesitate to submit them as new issues.
As a side note, since repository archival is a one-way action, I'd really hesitate to suggest it as a go-to solution for (seemingly) unmaintained code. I guess that's one of the reasons why there are a lot of GitHub repos that are not archived even though they don't have any activity for N years.


Rkebichi patch kfd 1

We were talking to generate an ops_ostream_kfd.h header and to include it to roctarcer_kfd.h.
As I understand the roctarcer_kfd.h is still generated by gen_ostrean_ops.py

I changed the code to have gen_ostream.ops generates kfd_ostream_ops.h which is included in roctarcer_kfd.h. I ran tests and all is passing.


06-authentication-and-authorization twitter login never sets IsAuthenticated

Trying to step through the Twitter Authentication instructions.

Click Login
Redirects to Twitter to log in
Redirects back to application, but Login Display still shows NotAuthorized view.

Have also tried adjusting launchsettings.json, using port 64589 or 64590 (unless I am adjusting launchsettings incorrectly).
Any suggestions gratefully received

Can you confirm that you are running the Server project and not the Client project? The Server project should already have the correct ports setup in its launchSettings.json.

Definitely running the server project (client project is not runnable).
Have tried save-points\07-javascript-interop to eliminate any local shanges, using today's latest version.  Still does not complete the login process. Sorry

@timcromarty Strange! I'm not able to reproduce any issue with the Twitter sign-in locally on my machine. The 07-javascript-interop save point works fine on my machine when I try to sign in.
Are there any errors in the ASP.NET Core logs in the server project? Are there any errors in the browser console?

No errors that I can see.
Further investigation - I have run it on another (cleaner) machine and I can confirm it works correctly.  Must be something installed that is getting in the way.
Logs, debug enabled:

Microsoft.AspNetCore.Hosting.Diagnostics: Information: Request starting HTTP/1.1 GET http://localhost:64589/user/signin
Microsoft.AspNetCore.StaticFiles.StaticFileMiddleware: Debug: The request path /user/signin does not match a supported file type
Microsoft.AspNetCore.Routing.Matching.DfaMatcher: Debug: 2 candidate(s) found for the request path '/user/signin'
Microsoft.AspNetCore.Routing.Matching.DfaMatcher: Debug: Endpoint 'BlazingPizza.Server.UserController.SignIn (BlazingPizza.Server)' with route pattern 'user/signin' is valid for the request path '/user/signin'
Microsoft.AspNetCore.Routing.Matching.DfaMatcher: Debug: Endpoint 'Fallback {*path:nonfile}' with route pattern '{*path:nonfile}' is valid for the request path '/user/signin'
Microsoft.AspNetCore.Routing.EndpointRoutingMiddleware: Debug: Request matched endpoint 'BlazingPizza.Server.UserController.SignIn (BlazingPizza.Server)'
Microsoft.AspNetCore.Authentication.Cookies.CookieAuthenticationHandler: Debug: AuthenticationScheme: Cookies was not authenticated.
Microsoft.AspNetCore.Routing.EndpointMiddleware: Information: Executing endpoint 'BlazingPizza.Server.UserController.SignIn (BlazingPizza.Server)'
Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker: Information: Route matched with {action = "SignIn", controller = "User"}. Executing controller action with signature System.Threading.Tasks.Task SignIn(System.String) on controller BlazingPizza.Server.UserController (BlazingPizza.Server).
Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker: Debug: Execution plan of authorization filters (in the following order): None
Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker: Debug: Execution plan of resource filters (in the following order): Microsoft.AspNetCore.Mvc.ViewFeatures.Filters.SaveTempDataFilter
Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker: Debug: Execution plan of action filters (in the following order): Microsoft.AspNetCore.Mvc.Filters.ControllerActionFilter (Order: -2147483648), Microsoft.AspNetCore.Mvc.ModelBinding.UnsupportedContentTypeFilter (Order: -3000), Microsoft.AspNetCore.Mvc.Infrastructure.ModelStateInvalidFilter (Order: -2000)
Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker: Debug: Execution plan of exception filters (in the following order): None
Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker: Debug: Execution plan of result filters (in the following order): Microsoft.AspNetCore.Mvc.ViewFeatures.Filters.SaveTempDataFilter, Microsoft.AspNetCore.Mvc.Infrastructure.ClientErrorResultFilter (Order: -2000)
Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker: Debug: Executing controller factory for controller BlazingPizza.Server.UserController (BlazingPizza.Server)
Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker: Debug: Executed controller factory for controller BlazingPizza.Server.UserController (BlazingPizza.Server)
Microsoft.AspNetCore.Mvc.ModelBinding.ParameterBinder: Debug: Attempting to bind parameter 'redirectUri' of type 'System.String' ...
Microsoft.AspNetCore.Mvc.ModelBinding.Binders.SimpleTypeModelBinder: Debug: Could not find a value in the request with name '' for binding parameter 'redirectUri' of type 'System.String'.
Microsoft.AspNetCore.Mvc.ModelBinding.Binders.SimpleTypeModelBinder: Debug: Done attempting to bind parameter 'redirectUri' of type 'System.String'.
Microsoft.AspNetCore.Mvc.ModelBinding.ParameterBinder: Debug: Done attempting to bind parameter 'redirectUri' of type 'System.String'.
Microsoft.AspNetCore.Mvc.ModelBinding.ParameterBinder: Debug: Attempting to validate the bound parameter 'redirectUri' of type 'System.String' ...
Microsoft.AspNetCore.Mvc.ModelBinding.ParameterBinder: Debug: Done attempting to validate the bound parameter 'redirectUri' of type 'System.String'.
Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker: Information: Executing action method BlazingPizza.Server.UserController.SignIn (BlazingPizza.Server) - Validation state: Valid
Microsoft.AspNetCore.Authentication.Twitter.TwitterHandler: Debug: ObtainRequestToken
Microsoft.AspNetCore.Authentication.Twitter.TwitterHandler: Information: AuthenticationScheme: Twitter was challenged.
Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker: Information: Executed action method BlazingPizza.Server.UserController.SignIn (BlazingPizza.Server), returned result Microsoft.AspNetCore.Mvc.EmptyResult in 1295.678ms.
Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker: Information: Executed action BlazingPizza.Server.UserController.SignIn (BlazingPizza.Server) in 1466.4387ms
Microsoft.AspNetCore.Routing.EndpointMiddleware: Information: Executed endpoint 'BlazingPizza.Server.UserController.SignIn (BlazingPizza.Server)'
Microsoft.AspNetCore.Hosting.Diagnostics: Information: Request finished in 1611.2476ms 302
Microsoft.AspNetCore.Hosting.Diagnostics: Information: Request starting HTTP/1.1 GET http://localhost:64589/signin-twitter?oauth_token=R052pQAAAAAAP3HDAAABcQmaHsA&oauth_verifier=o7j1D4PpRLCOmWfsQnY3Qo5nGnfnGsTZ
Microsoft.AspNetCore.StaticFiles.StaticFileMiddleware: Debug: The request path /signin-twitter does not match a supported file type
Microsoft.AspNetCore.Routing.Matching.DfaMatcher: Debug: 1 candidate(s) found for the request path '/signin-twitter'
Microsoft.AspNetCore.Routing.Matching.DfaMatcher: Debug: Endpoint 'Fallback {*path:nonfile}' with route pattern '{*path:nonfile}' is valid for the request path '/signin-twitter'
Microsoft.AspNetCore.Routing.EndpointRoutingMiddleware: Debug: Request matched endpoint 'Fallback {*path:nonfile}'
Microsoft.AspNetCore.Authentication.Twitter.TwitterHandler: Debug: ObtainAccessToken
Microsoft.AspNetCore.Authentication.Cookies.CookieAuthenticationHandler: Information: AuthenticationScheme: Cookies signed in.
Microsoft.AspNetCore.Hosting.Diagnostics: Information: Request finished in 471.8245ms 302
Microsoft.AspNetCore.Hosting.Diagnostics: Information: Request starting HTTP/1.1 GET http://localhost:64589/_framework/blazor.webassembly.js
Microsoft.AspNetCore.StaticFiles.StaticFileMiddleware: Information: The file /_framework/blazor.webassembly.js.gz was not modified
Microsoft.AspNetCore.StaticFiles.StaticFileMiddleware: Debug: Handled. Status code: 304 File: /_framework/blazor.webassembly.js.gz
Microsoft.AspNetCore.Hosting.Diagnostics: Information: Request finished in 29.1472ms 304 application/javascript
Microsoft.AspNetCore.Hosting.Diagnostics: Information: Request starting HTTP/1.1 GET http://localhost:64589/_framework/blazor.boot.json
Microsoft.AspNetCore.StaticFiles.StaticFileMiddleware: Information: The file /_framework/blazor.boot.json.gz was not modified
Microsoft.AspNetCore.StaticFiles.StaticFileMiddleware: Debug: Handled. Status code: 304 File: /_framework/blazor.boot.json.gz
Microsoft.AspNetCore.Hosting.Diagnostics: Information: Request finished in 15.5653ms 304 application/json
Microsoft.AspNetCore.Hosting.Diagnostics: Information: Request starting HTTP/1.1 GET http://localhost:64589/_framework/wasm/dotnet.3.2.0-preview2.20159.2.js
Microsoft.AspNetCore.StaticFiles.StaticFileMiddleware: Information: The file /_framework/wasm/dotnet.3.2.0-preview2.20159.2.js.gz was not modified
Microsoft.AspNetCore.StaticFiles.StaticFileMiddleware: Debug: Handled. Status code: 304 File: /_framework/wasm/dotnet.3.2.0-preview2.20159.2.js.gz
Microsoft.AspNetCore.Hosting.Diagnostics: Information: Request finished in 18.5078ms 304 application/javascript
Microsoft.AspNetCore.Hosting.Diagnostics: Information: Request starting HTTP/1.1 GET http://localhost:64589/user
Microsoft.AspNetCore.StaticFiles.StaticFileMiddleware: Debug: The request path /user does not match a supported file type
Microsoft.AspNetCore.Routing.Matching.DfaMatcher: Debug: 2 candidate(s) found for the request path '/user'
Microsoft.AspNetCore.Routing.Matching.DfaMatcher: Debug: Endpoint 'BlazingPizza.Server.UserController.GetUser (BlazingPizza.Server)' with route pattern 'user' is valid for the request path '/user'
Microsoft.AspNetCore.Routing.Matching.DfaMatcher: Debug: Endpoint 'Fallback {*path:nonfile}' with route pattern '{*path:nonfile}' is valid for the request path '/user'
Microsoft.AspNetCore.Routing.EndpointRoutingMiddleware: Debug: Request matched endpoint 'BlazingPizza.Server.UserController.GetUser (BlazingPizza.Server)'
Microsoft.AspNetCore.Authentication.Cookies.CookieAuthenticationHandler: Debug: AuthenticationScheme: Cookies was not authenticated.
Microsoft.AspNetCore.Routing.EndpointMiddleware: Information: Executing endpoint 'BlazingPizza.Server.UserController.GetUser (BlazingPizza.Server)'
Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker: Information: Route matched with {action = "GetUser", controller = "User"}. Executing controller action with signature BlazingPizza.UserInfo GetUser() on controller BlazingPizza.Server.UserController (BlazingPizza.Server).
Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker: Debug: Execution plan of authorization filters (in the following order): None
Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker: Debug: Execution plan of resource filters (in the following order): Microsoft.AspNetCore.Mvc.ViewFeatures.Filters.SaveTempDataFilter
Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker: Debug: Execution plan of action filters (in the following order): Microsoft.AspNetCore.Mvc.Filters.ControllerActionFilter (Order: -2147483648), Microsoft.AspNetCore.Mvc.ModelBinding.UnsupportedContentTypeFilter (Order: -3000), Microsoft.AspNetCore.Mvc.Infrastructure.ModelStateInvalidFilter (Order: -2000)
Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker: Debug: Execution plan of exception filters (in the following order): None
Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker: Debug: Execution plan of result filters (in the following order): Microsoft.AspNetCore.Mvc.ViewFeatures.Filters.SaveTempDataFilter, Microsoft.AspNetCore.Mvc.Infrastructure.ClientErrorResultFilter (Order: -2000)
Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker: Debug: Executing controller factory for controller BlazingPizza.Server.UserController (BlazingPizza.Server)
Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker: Debug: Executed controller factory for controller BlazingPizza.Server.UserController (BlazingPizza.Server)
Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker: Information: Executing action method BlazingPizza.Server.UserController.GetUser (BlazingPizza.Server) - Validation state: Valid
Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker: Information: Executed action method BlazingPizza.Server.UserController.GetUser (BlazingPizza.Server), returned result Microsoft.AspNetCore.Mvc.ObjectResult in 0.1786ms.
Microsoft.AspNetCore.Mvc.Infrastructure.DefaultOutputFormatterSelector: Debug: List of registered output formatters, in the following order: Microsoft.AspNetCore.Mvc.Formatters.HttpNoContentOutputFormatter, Microsoft.AspNetCore.Mvc.Formatters.StringOutputFormatter, Microsoft.AspNetCore.Mvc.Formatters.StreamOutputFormatter, Microsoft.AspNetCore.Mvc.Formatters.NewtonsoftJsonOutputFormatter
Microsoft.AspNetCore.Mvc.Infrastructure.DefaultOutputFormatterSelector: Debug: No information found on request to perform content negotiation.
Microsoft.AspNetCore.Mvc.Infrastructure.DefaultOutputFormatterSelector: Debug: Attempting to select an output formatter without using a content type as no explicit content types were specified for the response.
Microsoft.AspNetCore.Mvc.Infrastructure.DefaultOutputFormatterSelector: Debug: Attempting to select the first formatter in the output formatters list which can write the result.
Microsoft.AspNetCore.Mvc.Infrastructure.DefaultOutputFormatterSelector: Debug: Selected output formatter 'Microsoft.AspNetCore.Mvc.Formatters.NewtonsoftJsonOutputFormatter' and content type 'application/json' to write the response.
Microsoft.AspNetCore.Mvc.Infrastructure.ObjectResultExecutor: Information: Executing ObjectResult, writing value of type 'BlazingPizza.UserInfo'.
Microsoft.AspNetCore.ResponseCompression.ResponseCompressionProvider: Debug: The response will be compressed with 'br'.
Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker: Information: Executed action BlazingPizza.Server.UserController.GetUser (BlazingPizza.Server) in 214.0467ms
Microsoft.AspNetCore.Routing.EndpointMiddleware: Information: Executed endpoint 'BlazingPizza.Server.UserController.GetUser (BlazingPizza.Server)'
Microsoft.AspNetCore.Hosting.Diagnostics: Information: Request finished in 335.7504ms 200 application/json; charset=utf-8
Microsoft.AspNetCore.Hosting.Diagnostics: Information: Request starting HTTP/1.1 GET http://localhost:64589/specials
Microsoft.AspNetCore.StaticFiles.StaticFileMiddleware: Debug: The request path /specials does not match a supported file type
Microsoft.AspNetCore.Routing.Matching.DfaMatcher: Debug: 2 candidate(s) found for the request path '/specials'
Microsoft.AspNetCore.Routing.Matching.DfaMatcher: Debug: Endpoint 'BlazingPizza.Server.SpecialsController.GetSpecials (BlazingPizza.Server)' with route pattern 'specials' is valid for the request path '/specials'
Microsoft.AspNetCore.Routing.Matching.DfaMatcher: Debug: Endpoint 'Fallback {*path:nonfile}' with route pattern '{*path:nonfile}' is valid for the request path '/specials'
Microsoft.AspNetCore.Routing.EndpointRoutingMiddleware: Debug: Request matched endpoint 'BlazingPizza.Server.SpecialsController.GetSpecials (BlazingPizza.Server)'
Microsoft.AspNetCore.Authentication.Cookies.CookieAuthenticationHandler: Debug: AuthenticationScheme: Cookies was not authenticated.
Microsoft.AspNetCore.Routing.EndpointMiddleware: Information: Executing endpoint 'BlazingPizza.Server.SpecialsController.GetSpecials (BlazingPizza.Server)'
Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker: Information: Route matched with {action = "GetSpecials", controller = "Specials"}. Executing controller action with signature System.Threading.Tasks.Task1[Microsoft.AspNetCore.Mvc.ActionResult1[System.Collections.Generic.List1[BlazingPizza.PizzaSpecial]]] GetSpecials() on controller BlazingPizza.Server.SpecialsController (BlazingPizza.Server). Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker: Debug: Execution plan of authorization filters (in the following order): None Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker: Debug: Execution plan of resource filters (in the following order): Microsoft.AspNetCore.Mvc.ViewFeatures.Filters.SaveTempDataFilter Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker: Debug: Execution plan of action filters (in the following order): Microsoft.AspNetCore.Mvc.Filters.ControllerActionFilter (Order: -2147483648), Microsoft.AspNetCore.Mvc.ModelBinding.UnsupportedContentTypeFilter (Order: -3000), Microsoft.AspNetCore.Mvc.Infrastructure.ModelStateInvalidFilter (Order: -2000) Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker: Debug: Execution plan of exception filters (in the following order): None Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker: Debug: Execution plan of result filters (in the following order): Microsoft.AspNetCore.Mvc.ViewFeatures.Filters.SaveTempDataFilter, Microsoft.AspNetCore.Mvc.Infrastructure.ClientErrorResultFilter (Order: -2000) Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker: Debug: Executing controller factory for controller BlazingPizza.Server.SpecialsController (BlazingPizza.Server) Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker: Debug: Executed controller factory for controller BlazingPizza.Server.SpecialsController (BlazingPizza.Server) Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker: Information: Executing action method BlazingPizza.Server.SpecialsController.GetSpecials (BlazingPizza.Server) - Validation state: Valid Microsoft.EntityFrameworkCore.Infrastructure: Information: Entity Framework Core 3.1.2 initialized 'PizzaStoreContext' using provider 'Microsoft.EntityFrameworkCore.Sqlite' with options: None Microsoft.EntityFrameworkCore.Database.Command: Debug: Creating DbCommand for 'ExecuteReader'. Microsoft.EntityFrameworkCore.Database.Command: Debug: Created DbCommand for 'ExecuteReader' (4ms). Microsoft.EntityFrameworkCore.Database.Connection: Debug: Opening connection to database 'main' on server 'pizza.db'. Microsoft.EntityFrameworkCore.Database.Connection: Debug: Opened connection to database 'main' on server 'C:\Users\tim.cromarty\source\repos\dev\BlazorWorkshop2\save-points\07-javascript-interop\BlazingPizza.Server\pizza.db'. Microsoft.EntityFrameworkCore.Database.Command: Debug: Executing DbCommand [Parameters=[], CommandType='Text', CommandTimeout='30'] SELECT "s"."Id", "s"."BasePrice", "s"."Description", "s"."ImageUrl", "s"."Name" FROM "Specials" AS "s" Microsoft.EntityFrameworkCore.Database.Command: Information: Executed DbCommand (8ms) [Parameters=[], CommandType='Text', CommandTimeout='30'] SELECT "s"."Id", "s"."BasePrice", "s"."Description", "s"."ImageUrl", "s"."Name" FROM "Specials" AS "s" Microsoft.EntityFrameworkCore.ChangeTracking: Debug: Context 'PizzaStoreContext' started tracking 'PizzaSpecial' entity. Consider using 'DbContextOptionsBuilder.EnableSensitiveDataLogging' to see key values. Microsoft.EntityFrameworkCore.ChangeTracking: Debug: Context 'PizzaStoreContext' started tracking 'PizzaSpecial' entity. Consider using 'DbContextOptionsBuilder.EnableSensitiveDataLogging' to see key values. Microsoft.EntityFrameworkCore.ChangeTracking: Debug: Context 'PizzaStoreContext' started tracking 'PizzaSpecial' entity. Consider using 'DbContextOptionsBuilder.EnableSensitiveDataLogging' to see key values. Microsoft.EntityFrameworkCore.ChangeTracking: Debug: Context 'PizzaStoreContext' started tracking 'PizzaSpecial' entity. Consider using 'DbContextOptionsBuilder.EnableSensitiveDataLogging' to see key values. Microsoft.EntityFrameworkCore.ChangeTracking: Debug: Context 'PizzaStoreContext' started tracking 'PizzaSpecial' entity. Consider using 'DbContextOptionsBuilder.EnableSensitiveDataLogging' to see key values. Microsoft.EntityFrameworkCore.ChangeTracking: Debug: Context 'PizzaStoreContext' started tracking 'PizzaSpecial' entity. Consider using 'DbContextOptionsBuilder.EnableSensitiveDataLogging' to see key values. Microsoft.EntityFrameworkCore.ChangeTracking: Debug: Context 'PizzaStoreContext' started tracking 'PizzaSpecial' entity. Consider using 'DbContextOptionsBuilder.EnableSensitiveDataLogging' to see key values. Microsoft.EntityFrameworkCore.ChangeTracking: Debug: Context 'PizzaStoreContext' started tracking 'PizzaSpecial' entity. Consider using 'DbContextOptionsBuilder.EnableSensitiveDataLogging' to see key values. Microsoft.EntityFrameworkCore.Database.Command: Debug: A data reader was disposed. Microsoft.EntityFrameworkCore.Database.Connection: Debug: Closing connection to database 'main' on server 'C:\Users\tim.cromarty\source\repos\dev\BlazorWorkshop2\save-points\07-javascript-interop\BlazingPizza.Server\pizza.db'. Microsoft.EntityFrameworkCore.Database.Connection: Debug: Closed connection to database 'main' on server 'pizza.db'. Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker: Information: Executed action method BlazingPizza.Server.SpecialsController.GetSpecials (BlazingPizza.Server), returned result Microsoft.AspNetCore.Mvc.ObjectResult in 197.6544ms. Microsoft.AspNetCore.Mvc.Infrastructure.DefaultOutputFormatterSelector: Debug: List of registered output formatters, in the following order: Microsoft.AspNetCore.Mvc.Formatters.HttpNoContentOutputFormatter, Microsoft.AspNetCore.Mvc.Formatters.StringOutputFormatter, Microsoft.AspNetCore.Mvc.Formatters.StreamOutputFormatter, Microsoft.AspNetCore.Mvc.Formatters.NewtonsoftJsonOutputFormatter Microsoft.AspNetCore.Mvc.Infrastructure.DefaultOutputFormatterSelector: Debug: No information found on request to perform content negotiation. Microsoft.AspNetCore.Mvc.Infrastructure.DefaultOutputFormatterSelector: Debug: Attempting to select an output formatter without using a content type as no explicit content types were specified for the response. Microsoft.AspNetCore.Mvc.Infrastructure.DefaultOutputFormatterSelector: Debug: Attempting to select the first formatter in the output formatters list which can write the result. Microsoft.AspNetCore.Mvc.Infrastructure.DefaultOutputFormatterSelector: Debug: Selected output formatter 'Microsoft.AspNetCore.Mvc.Formatters.NewtonsoftJsonOutputFormatter' and content type 'application/json' to write the response. Microsoft.AspNetCore.Mvc.Infrastructure.ObjectResultExecutor: Information: Executing ObjectResult, writing value of type 'System.Collections.Generic.List1[[BlazingPizza.PizzaSpecial, BlazingPizza.Shared, Version=<IP_ADDRESS>, Culture=neutral, PublicKeyToken=null]]'.
Microsoft.AspNetCore.ResponseCompression.ResponseCompressionProvider: Debug: The response will be compressed with 'br'.
Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker: Information: Executed action BlazingPizza.Server.SpecialsController.GetSpecials (BlazingPizza.Server) in 338.6325ms
Microsoft.AspNetCore.Routing.EndpointMiddleware: Information: Executed endpoint 'BlazingPizza.Server.SpecialsController.GetSpecials (BlazingPizza.Server)'
Microsoft.EntityFrameworkCore.Infrastructure: Debug: 'PizzaStoreContext' disposed.
Microsoft.AspNetCore.Hosting.Diagnostics: Information: Request finished in 473.6535ms 200 application/json; charset=utf-8

Resolved (sort of).  Problem related to something cached in Chrome (such as blazor.webassembly.js or other libs - log shows they are not being loaded.  Solution was to clear "All cookies and site data" from localhost sites in Chrome.  Now works fine.  Thanks anyway

Cool, I'm going to go ahead and close this issue then. Thanks for trying Blazor!


Customization option for assigning colors to chart values

I have a custom color palette that I would like to use to represent different groups in my charts. Here is the palette:

I have values that are dynamically calculated. I would like to assign the first color to the first value, based on some predefined condition. For example, alphabetical order. I have tried achieving this in multiple ways. When it comes to DeckGL graphs, it proved impossible, since the colors are assigned to their corresponding value in some arbitrary way, which is, to my disappointment, not controlled by the order defined in my dataset, created with a custom SQL query. When it comes to a pie chart, you have the option to sort by metric. With some "hacking" of the metric in a way that assigns a number based on the group so that the groups can be sorted in order, I get the desired result:

However, if the metric changes to something meaningful, such as COUNT(*), the colors are still assigned based on the metric, not on my custom order:

Furthermore, even with the first approach, when applying filters, the color order breaks again:

What I would like to be able to is to have a precise rule that defines how are the colors assigned. As a matter of fact, if the colors were assigned based on the defined ORDER BY in the SQL code, I would get my desired result. Are there any workarounds to this problem? Is my approach wrong and is there a better one? If not, are there plans to give more freedom when it comes to assigning colors to the charts?
There is also the option to "hardcode" the color from the Dasbhoard settings. This, unfortunately, will not work in my case, since the groups will change dynamically if, for example, the max value becomes 20.
I see different use cases for this functionality. The two cases I am interested in are:

Monochrome colors for points on a Scatterplot DeckGL visualization based on some metric (for example, older points get a pale color). I actually came up with a workaround to this use case using a rather involved custom JS Interceptor but it still doesn't solve the problem if the user wants a specific color.
Monochrome/Analogic colors in Part of a Whole charts for cases where the range of values has a different order than the metric that is used to order them and the represented values can change dynamically.

Might be related to #18392

Closing this since it's a question rather than a bug, but you can do this in the dashboard properties editor, assigning colors to series values. Hope that helps a little :)

Are you sure that this is possible at all? If you know that it can work for dynamic values, please provide documentation or an example. Otherwise, it seems to me you are just closing the issue to keep the count low. @rusackas

Here is the particular "tutorial" that probably does what you refer to. Notice how the labels are predefined (static).

You're right on several counts:
• I misinterpreted the dynamic nature of the issue.
• That is indeed the article I wrote with the technique I was referring to. Sorry if it's not up to your standards.
• We are indeed trying to keep the issue count at a sustainable level of actionable tasks. We're finding that this is actually improving engagement. I'll happily reopen the issue, as I always do when asked.
However, this is not a bug, but rather a feature request... and a good one at that. Therefore, I'll convert this to a GitHub Discussion, which is where these conversations should land. If you want to contribute to a proposal/implementation of this, that would be appreciated, but it might warrant a SIP depending on the complexity. In my mind, it comes down to one question:
Is the main goal to have the pie chart display as a gradient? If so, it seems like making the Pie chart support a linear/gradient palette (by sort order) is a reasonable addition that shouldn't require a SIP. If, however, the proposal is to use categorical palettes in a more deterministic order, that goes counter to the "color consistency" efforts where these charts may be assigned according to dashboard use. That gets exponentially more complex to solve.


refactor(linter): use proc_macro to for rule registration

This file is getting huge and it is just repetitive boilerplate. It would be nice to use a proc_macro to generate these.
The file should end up with something like
declare_all_lints! {
    no_debugger,
    typescript::no_empty_interface,
    deepscan::uninvoked_array_callback
}

The identifier deepscan::uninvoked_array_callback should be a syn::Path I think.
It is expanded into
mod deepscan {
  pub mod uninvoked_array_callback;
}

For example
https://github.com/Boshen/oxc/blob/4829b85c2d89cfc8241e8542e49f4f9a8f8d36ae/crates/oxc_linter/src/rules.rs#L5-L7
has this directory structure

I can try my luck at this if no one intends to


[PDI-11477] Split field to rows step omit trailing empty values

@mattcasters, @brosander, @mattyb149 Could you review it, please? Thanks!

@hudak Can you review this one? Thanks!


Please use double quotes in the generated CURL command for windows support

The generated curl command used single quotes but that doesn't work for Windows users that have shell. Linux supports both single and double quotes. Changing --header='' to --header="" will enable windows users with curl to use it too :).

@ElleshaHackett seems like a good idea. @ahmadnassri do you have any history/justification on the single quotes?

Related: #106, https://github.com/Kong/httpsnippet/pull/29

I plan to work on this issue, but I've found something that borrows me: https://github.com/Kong/httpsnippet/blob/master/src/helpers/shell.js#L6-L9

/**

Use 'strong quoting' using single quotes so that we only need
to deal with nested single quote characters.
http://wiki.bash-hackers.org/syntax/quoting#strong_quoting
*/

This utility function is used for all shell targets. I'm wondering if

I should rename it for doublequote and update all shell targets 😨
I should create a doublequote function and only use it for curl target 🧐

Any thoughts? @develohpanda  @darrenjennings

Hmm, kind of on the fence about this one. Looks like there has been a conscious decision to use strong quoting (single quotes), instead of weak quoting (double quotes), as per #29.
I would be inclined to make the minimum change > only updating the curl target. But, it seems this is an issue with shell targets instead of curl specifically. I'm guessing strong quoting doesn't work at all on Windows? Strong quoting does feel like the safer option, reading the docs here.
Is there something smarter we can do, for example detecting the OS and deciding the type of quote to apply automatically, and allow that to be overridden with a user provided option? This way shell targets would work on Windows automatically, have no impact to Linux/macOS and current behavior, but allow users to override it.

Deciding the type of quote automatically is a great idea.
This should resolve the issue when using the httpsnippet cli but what about when the lib is used in a web-based environment (I was thinking about apiembeded)
To manage both uses (cli + lib), I would suggest adding an option in convert named platform. We could use the values windows, macos, linux
We would be able to detect the platform in bin/httpsnippet and set the option automatically.
For web-based use, we would let the user set the option if needed.

That sounds like a reasonable approach.
What is your opinion on introducing a quotes parameter with the values single, double, instead of platform? It's a little more explicit, and can automatically be set to the correct value by the CLI bin/httpsnippet.

@pimterry are you able to comment on what to do here?

Ok, so just to summarize the above:

Single quotes in POSIX shells are useful, because they let us ignore all escaping rules except for other single quotes.
But they make it inconvenient for users to edit the snippet to use variables, which is a common use case (e.g. swap an auth token value for $AUTH_TOKEN - it's annoying to have to switch the quotes out to make this work)
Apparently Windows's cmd doesn't support single quotes at all - double quotes do broadly what you'd expect, but single quotes are ignored and passed directly to the application. Unfortunately, the escaping behaviour sounds super weird,

I've done a bunch of tests on a Windows 11 cmd shell vs bash on Linux (collapsed here because there's lots)

No quotes, no spaces: curl -Htest:value example.com

Both: Sends the correct test: value header

Unquoted spaces: curl -Htest: value example.com

Both: Sends a request to 'value' (which fails) and a request to example.com, with no 'test' header anywhere (I guess because an empty value was provided?)

Double-quoted, no spaces: curl -H"test:value" example.com

Both: Sends the correct header

Double-quoted spaces: curl -H"test: value" example.com

Both: Sends the correct header

Single-quoted spaces: curl -H'test: value' example.com

Windows: Sends the request, but with no 'test' header, and no request to value? Very odd
Linux: works correctly

Single-quoted, no spaces: curl -H'test:value' example.com

Windows: Sends the request with a 'test: value' header (i.e. incorrectly puts the single quote at the start of the header name and the end of the header value)
Linux: works correctly

Double-quoted, containing escaped quotes: curl -H"test: header with \"quoted value\"" example.com

Both: Sends the correct header, with the quotes sent literally without the slashes.

Double-quoted, containing real variables: curl -H"test: %PATH%" example.com ($PATH for linux)

Both: Sends a header containing the whole value of the PATH env var

Double-quoted, not a real variable: curl -H"test: value-%SOMETHINGELSE%" example.com

Windows: Sends a header literally containing value-%SOMETHINGELSE%.
Linux: Sends a header containing value- (i.e. $SOMETHINGELSE for unrecognized variables disappears)

Double-quoted, slash-escaped variable: curl -H"test: \%PATH\%" example.com (\$PATH for linux)

Windows: Sends a header literally containing \%PATH\% (i.e. including the slashes, so incorrect)
Linux: Sends the correct test: $PATH header

Double-quoted, ^-escaped variable: curl -H"test: ^%PATH^%" example.com

Windows: Same thing - sends a header literally containing ^%PATH^%. Weird, because this does work correctly with echo ^%PATH^%
Linux: Sends test: ^ + the real contents of the $PATH variable (as expected)

Double-quoted, selection of unescaped special characters: curl -H"test: $!`" example.com

Windows: Sent correctly, all characters preserved
Linux: $ and ` both cause errors that make commands totally unrunnable. ! causes errors for Zsh only on my machine (I think this is a bash feature that's optionally enabled though?)

Double-quoted, escaping various special characters: curl -H"test: \$\!\`" example.com

Windows: All sent with the extra slash, i.e. the resulting header is test: \$\!\`.
Linux: All sent correctly, without the escaping slash

So:

Single quotes are indeed totally unusable on Windows, but fine on Linux.
Double quotes do work fine for both, and we can escape included double quotes with slashes safely everywhere, great.
Escaping various other characters is totally different between platforms.
Some things seem to just be unescapable, i.e. real variable names on Windows. As far as I can tell there's nothing we can do about that. Just ignore it I guess :shrug:.

That means there is no combination of quote + escaping rules that will ever produce snippets that work correctly everywhere.
I think that means a quotes option is problematic - for a big chunk of users (everybody on Windows) single quotes will always be broken, and that probably won't be obvious to them initially, and for double quotes the escaping rules are very different for the two platforms  in complicated ways that will cause weird issues.
A platform option would make this possible OTOH. I think this would be a bit better as shell though, supporting bash & cmd values, because it's totally possible to run bash on Windows (Git on Windows installs a Bash terminal by default, so it's very common), and because that would leave space for supporting shells that have their own unique issues in future.
With that, we could use single quotes in bash (i.e. strong quotes, so no need to escape anything except other single quotes, super easy) and double quotes in cmd. The only leftover case is real %variable% names in snippets, which are always inescapably (!!!) replaced with the real variable value, and AFAICT there's nothing we can do about that. If we ever find a solution it'd be easy to add it though without breaking anything else
A shell option wouldn't help bash users who want double quotes for easier variable usage (https://github.com/Kong/httpsnippet/issues/106). That seems like a separate problem tbh - we could add an additional quotes option for that, to switch quote types and add escaping logic for bash special characters (throwing an error if you ever try to use cmd + single-quotes). But I think that's more like a nice-to-have, I'd ignore it for now.
How does that sound?


[FEATURE REQUEST] docker system prune --all or equivalent command to remove all docker data (containers, volumes, networks, images and cached layers)

Tell us about your request
I would like to see a single command in the docker CLI that stops all containers, removes all images, caché layers, volumes and networks at once, so the environment in completely clean and empty as the first time that docker is installed.
Which service(s) is this request for?
This request is for the docker CLI.
Tell us about the problem you're trying to solve. What are you trying to do, and why is it hard?
The problem that I am trying to solve is to reset the state of docker to the state that it has when it is installed with a simple and handy command in the docker CLI.
I am always frustrated when I want to delete all docker content and I need to type many commands to do so.
Sure, I can have a script that does it too as a one-liner, but then I need to worry about that script.
Are you currently working around the issue?
Yes. In this GitHub Gist there are many options to work around the issue.
Particularly, this is the one-liner command that I use to work around the issue:
docker stop $(docker ps -qa); docker rm $(docker ps -qa); docker rmi -f $(docker images -qa); docker volume rm $(docker volume ls -q); docker network rm $(docker network ls -q)

Honors to @acjohnson for the shell one-liner command.
Additional context
This is a quote from @Maxzor in the GitHub Gist that I posted in the previous section:

Shell scripts are damn ugly. But shell is so powerful 🙃 Why is rm -rf --all not in the docker binary lol...
Readable bash script at https://gist.github.com/Maxzor/6a3ca2c5c1c28af583711abc8e5fda01

I wonder if maybe this is not in the docker binary because of its destructive potential.
Anyway, I agree because I think this should be in the docker binary in order to avoid having to mess up with shell commands to do an action that is purely related to Docker.

I would love to contribute to implement this feature

Also notice that podman has the exact equivalent feature: https://docs.podman.io/en/stable/markdown/podman-system-reset.1.html

If anyone is wondering, I am implementing this feature, even though I must say this is my first time working with Go, so I am learning it as part of this process. This is the reason why I am taking so long.
I have read this tutorial that explain a little how to move around the project.
If anyone would like to give me a little feedback on my idea, or hinting me where to find the relevant parts of the source code, I would be very grateful. Thank you for your pattience!


module 'botocore.vendored.requests' has no attribute 'Session'

Thundra setup is causing a following error on AWS Lambda:
module initialization error
module 'botocore.vendored.requests' has no attribute 'Session'

The recent updates in the botocore could be a reason to that: https://aws.amazon.com/blogs/developer/removing-the-vendored-version-of-requests-from-botocore/.
Might be related to the following line: https://github.com/thundra-io/thundra-lambda-agent-python/blob/master/thundra/integrations/modules/botocore.py#L40, couldn't find any other mentions of botocore.vendored.requests in the source code.

Having a separate dependency in requirements.txt doesn't help too:
requests==2.22.0

Hi @rinatio, Thanks for the issue report. We will fix this as soon as possible and let you know from there once the fixed version has been released

Hi @rinatio, problem is fixed in current version


Add an event stream to communicate with Android's native end

This change adds functionality to allow diverse communications channels between the platforms supported.
The existing relationship between Android's activity lifecycle and the Flutter engine is loose, and activity recreation events (for activity-aware plugins) re-creates the engine and all its bindings (e.g.: the data channel between the native and dart ends). There's been proposals to circumvent this limitation (see image_picker's proposal). This approach prefers to open up a channel between Flutter and the native end as soon as the widget is added to the tree, such that, if the main activity hosting the widget's action is destroyed, the new instance will pick up from where the last left.
This fixes #277, #274, #261, #206, and addresses #278 and #276.
The change includes:

Enable multiple channel implementations per platform
Use an event channel for Android
Update method channel name

Is there a specific aspect here you wanted me to review? I'm not familiar with this codebase or its public API surface, so I can't provide much input on the overall design.

Is there a specific aspect here you wanted me to review? I'm not familiar with this codebase or its public API surface, so I can't provide much input on the overall design.

This addresses the issue we discussed about the native end of a plugin losing track of result objects (to report back to the dart end) when an activity on Android is recycled/destroyed before a result is returned. An event stream that subscribes at activity [re]creation time is present and ready to return results back to Flutter even in situations when the forefront activity is destroyed.

By the way, @JlUgia, we performed some tests based on this branch on our side and resolved the issue you mentioned in the description.
LGTM!


Minify Html

When minify html my template is broken. Actually there is no difference. I do not understand. I tried in other browsers but it didn't make any difference.
this is just one
Minify Html:

No Minify:

This is a css issue because of the whitespace before and after the
, therefore usually developers make

...

 around to ensure there are no whitespaces and then use css to make the paddings. The whitespace have been removed by the minify process.

I am going to close this issue because:

Its a question (Please post questions at forum.luya.io)
Missing information's
No more activity
No one picked up the task (no Pull Request received)

If you think this is still important or there are more/new informations. Please reopen the issue and let us know.
If this is a problem or a feature you like to discuss, join our forum: forum.luya.io. We try to keep our issue tracker as clean as possible in order to focus on active issues.


[PUBDEV-4431] Change flow to use ip:port for identifying node as part…

… of LogHandler
This change  depends on https://github.com/h2oai/h2o-3/pull/1128

Corresponding change in H2O is already in master. Can we merge this one ? @mmalohlava @lo5


April 24, 2024 - Contributor Spotlight for Mark Waite

This PR is for the addition of the contributor spotlight page for @MarkEWaite . The intended publication date is April 24th.
It also includes the feature flag change to false for Hervé's spotlight. I also realized the publication date for Hervé was incorrect so this updates that to be aligned with the correct date.

thank you very much for review and edits @MarkEWaite !!


(PUP-8672) Ensure cache expiration clears translation domains

Previously we never successfully cleared translation repositories because we used symbols as the keys when creating them but strings as the keys when deleting them. Normalize environment names to symbols so that we consistently add and delete translation repositories, and fix issues with thread-specific storage for text_domain working with Puppet Server where multiple threads may use the same JRuby instance.

CLA signed by all contributors.

jenkins please test this

I have in a similar form. With the change to using symbols consistently and the Puppet Server fix, I wouldn't expect Orchestrator tests to surface anything special now though. Without the other work to clear text_domain, Puppet acceptance tests would probably fail as well.

jenkins please test this

jenkins please test this

jenkins please test this

jenkins please test this

jenkins please test this

jenkins please test this

jenkins please test this

Looks like the job was reaped. Should we kick off a new PR test run?

If we might be ready to merge this, sure.

jenkins please test this with agent 5.5.x

@MikaelSmith this looks to be valid test failures, could you take a look?

jenkins please test this with agent 5.5.x

I think I've fixed it now. Last commit explains my thinking around why it's safe to have the CLI startup load translations into the default domain rather than a special domain.

Passing now.

@joshcooper ready to merge now?

I see some comments in the ticket about not using symbols as keys, did we decide that wasn't a problem?

I'd rather not dig into that kind of change at the moment. I think rejecting use of symbols for environments could still be a useful safety check, but might get a little messy.

Okay, that's fine. Josh is on PTO, now that we've finished this set of releases, I'm happy to merge this.


fix: Keys on Directive doesn't find key with - separator

Close #142

:tada: This PR is included in version 1.20.4 :tada:
The release is available on:

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


1.12 - Crash on startup

Paste
LMK if you need any more info!

I tested to see if NetherEx loads fine on its own and it does. This issue must be caused by an interaction with another mod. If you remove NetherEx does Minecraft load without any other issues?

Hi LTC - yes you are correct, this was another mod (I think Malisis Doors/Core). Sorry for the confusion!


Allow to update description field of in/output RTP of a component

https://github.com/slipstream/SlipStreamServer/blob/v2.20-community/jar-service/src/main/java/com/sixsq/slipstream/user/FormProcessor.java#L126

This has been fixed


Lack of server-render dependencies in packages.js

Hi.
You need server-render in dependencies list for server (api.use).

Sorry about that, fixed in 3.0.2


Add option to ignore specific files

I'm already using prettier-plugin-package to sort my package.json file, but its custom sort would conflict with this plugin. Would it be possible to add an option to the .prettierrc configuration to ignore certain files?

This will not conflict with prettier-plugin-package because it doesn't get applied to package.json. Prettier recognizes package.json as its own format, so it doesn't get included by JSON parsers such as this plugin.
Still a good suggestion though! We should update the README to clarify how this works with prettier-plugin-package, and I can still see an ignore configuration being useful sometimes.

The README was updated in #96 to explain that package.json files are not sorted.

I came across this, as I wanted a way to only sort my locale files.
Would it be possible to add a glob matcher?

@JoshWhite were you able to find a way around this?

Should this be closed because prettier supports an override format in their configuration, which can be used by any plugin?
{
  "semi": false,
  "overrides": [
    {
      "plugins": ["prettier-plugin-sort-json"],
      "files": "*.test.js",
      "excludeFiles": ["my.test.js"],
    },
    {
      "plugins": ["prettier-plugin-sort-json"],
      "files": ["my.test.js"],
    }
  ]
}

^ Amazing! I'll leave this issue open until adding a brief note to the README about this, but that looks like the perfect solution to me.

I had a similar issue with tsconfig.json files that I didn't want sorted. I used the below which worked well:
plugins:
  - prettier-plugin-organize-imports
singleQuote: true
trailingComma: es5
overrides:
  - options:
      plugins:
        - prettier-plugin-sort-json
      jsonRecursiveSort: true
    files: '*.json'
    excludeFiles:
      - '**/tsconfig.json'

Should this be closed because prettier supports an override format in their configuration, which can be used by any plugin?
{
  "semi": false,
  "overrides": [
    {
      "plugins": ["prettier-plugin-OTHER"],
      "files": "*.test.js",
      "excludeFiles": ["my.test.js"],
    },
    {
      "plugins": ["prettier-plugin-sort-json"],
      "files": ["my.test.js"],
    }
  ]
}

this doesn't work

Thanks for pointing that out @hesamhoseinkhani . The suggested solution does work, but the quoted configuration was invalid.
The configuration would look more like this:
{
  "semi": false,
  "overrides": [
    {
      "files": "*.test.js",
      "excludeFiles": ["my.test.js"],
      "options": {
        "plugins": ["prettier-plugin-OTHER"],
      }
    },
    {
      "files": ["my.test.js"],
      "options": {
        "plugins": ["prettier-plugin-sort-json"],
      }
    }
  ]
}

Options within overrides must go in an "options" object. This has been helpfully demonstrated by the configuration that @esetnik shared as well.

I've closed this now that this is explained in the README. Thanks again to @hyperupcall for providing the solution here.


Implement SearchBar Component

Task #11

Updated my current local branch with variables for colors. Just let me know when we're ready to resolve merge conflicts so I can create a new PR for this task.

@reynard2007 you can start resolving conflicts.

Closing. To be replaced by PR #35


use a distroless base image for osm-controller and demo apps

Distroless images strip out all tools not necessary for running an application. It just contains the bare bones you need to run an app so attackers have less tools to poke around if they do get access to container(s). We should convert osm-controller image and all demo application images to use distroless base images.
Was watching a KubeCon talk that reminded me of this and @jchauncey is also a fan.

I can take this one up

Hi @elsesiy, are you still interested in this issue?

Yes, I can take this on


feat(UsageAlarmFactory): allow creating min/max count usage alarms without conflicting alarm names

The existing API results in conflicts due to the identical alarmNameSuffixs.
This PR adds new replacement APIs to avoid changing existing alarm names and better aligning the interface's prop naming.

By submitting this pull request, I confirm that my contribution is made under the terms of the Apache-2.0 license

@echeung-amzn Do we also need to update any particular resource monitoring that is using this?

Do we also need to update any particular resource monitoring that is using this?

I'd leave that for a major version bump to avoid affecting any existing alarms' naming on a minor/patch version bump by consumers.


[IN PROGRESS DO NOT MERGE] change 'writing' to 'language'

Change 'writing' tone category name and id to 'language' tone category name and id.

[Current coverage][cc-pull] is 58.82%

Merging [#46][cc-pull] into [master][cc-base-branch] will increase coverage by +<.01%

File app.js (not in diff) was modified. more
File ...fig/error-handler.js (not in diff) was modified. more

@@           master        #46   diff @@
========================================
  Files           3          3
  Lines          34         34
  Methods         0          7     +7
  Branches        4          4
========================================
  Hits           20         20
  Misses         14         14
  Partials        0          0

Powered by Codecov. Last updated by [45cb0bb...89a0cd1][cc-compare]
[cc-base-branch]: https://codecov.io/gh/watson-developer-cloud/tone-analyzer-nodejs/branch/master?src=pr
[cc-compare]: https://codecov.io/gh/watson-developer-cloud/tone-analyzer-nodejs/compare/45cb0bbe8131e4bbad13b4f448c2b9d0180e75ab...89a0cd153177f4dbbd17083b32c7543f434fa55d
[cc-pull]: https://codecov.io/gh/watson-developer-cloud/tone-analyzer-nodejs/pull/46?src=pr


Swift updates

Summary of Changes
Updates for better Swift-iness, mostly based on changes in #368 (thanks a ton, @radianttap). Some additional changes have been incorporated:

Fix a few minor errors in the updated templates.
Update Swift tests to reflect new templates.
Keep generated code out of the "human" file while retaining the new class/extension approach for Swift.
Changed Rakefile to use Xcode-beta since these changes require Swift 4.2.

Please nobody merge this until Xcode 10 is released because as the branch name implies, these changes require Swift 4.2.

I believe that failing tests are probably due to Travis not having an Xcode 10 option right now. Using rake to test locally passes. Unless someone has a better suggestion, I'm leaving the tests failing for now and will revisit once Travis offers Xcode 10.

Closing this out for now because it's not quite ready and I don't want to have Travis keep sending messages about failing tests while I finish with it.


Implement comb sort in Rust

Done in https://github.com/opixelum/opixelib/commit/56870519c0e0af56bdb90d9dc89576be19989cec


Batch mode in command line

Hi! I'm using this great tool in a powershell script, but I always have to press "Start" in the GUI and close the GUI after finishing the job to continue the powershell script. Is it possible to bypass the GUI with an additional parameter?

Hi, the older version of the tool actually does not have a GUI and runs immediately. But  it also has a few bugs, if I remember correctly. I'll see if I can make a new version with a batch-mode.


Updated VerneMQ not working during auth_on_register

Environment

VerneMQ Version: 1.0.1 (Trusty Ubuntu)
OS: Ubuntu
Erlang/OTP version (if building from source):

Expected behavior
We are trying to upgrade vernemq from 0.15.3 to 1.0.1. We've kept everything same, uninstalled the previous version and installed the newer. We later configured the webhooks just like earlier using the plugin. And then we tried to connect to the broker. Our webhook API was working fine, returning 200 OK. But in the logs we are seeing the following error:
vmq_mqtt_fsm:check_user:545 can't authenticate client {[],<<"mqttjs_102557871497010013671">>} due to error
and the client is not able to connect.
When we rolled back to 0.15.3 version everything is working fine. Please let us know if I am missing anything in setup when moving to the newer version.
Thanks,
Karthik

See the changelog for the details on what changed since 0.15.3 and 1.0.1: https://github.com/erlio/vernemq/blob/master/changelog.md
What is probably the most relevant thing which is likely affecting you is that the webhooks plugin is now shipped as part of VerneMQ and all configuration of the webhooks must be done in the vernemq.conf file.
The above information is not enough to say anything much more concrete I'm afraid. Please have a thorough look at the changelog and make sure you have taken all the changes into account. Let us know if you still have issues.

Hi @larshesel,
I've updated the Erlang OTP version, ensured webhooks are configured via the conf file itself. Updated ubuntu version as well, still the error persists. Switched off plugins.vmq_passwd and plugins.vmq_acl as well. Not sure what I am missing in here. The API is returning the expected response.
Thanks,
Karthik

Hi @larshesel,
We were able to upgrade to 1.0.0 without any problem. Post which we are seeing this error.
Looking at the change-log we suspect, it is got to do with #332
Thanks,
Karthik

What exactly are you sending back in your webhook?

Here is the response of the web-hook:
{'result': 'ok', 'modifiers': {
'mountpoint': '',
'client_id': client_id,
'reg_view': '',
'clean_session': False,
'max_message_size': 65535,
'max_message_rate': 10000,
'max_inflight_messages': 100,
'retry_interval': 100,
'upgrade_qos': False
}}

See my comment here: https://github.com/erlio/vernemq/issues/409#issuecomment-307897195

Hi @larshesel,
I was able to successfully authenticate the user by not sending any modifiers in auth_on_register call. One another question I have is I have web-hooks configured for auth_on_register and on_publish. And when my client is trying to publish the data, vernemq is throwing an error saying no hook found for auth_on_publish. I don't auth on this, so how we do we bypass this check ?
Thanks,
Karthik

Hello, I have very similar experience like @odx-tech, but upgrading from 1.0.0 to 1.0.1.
We run VerneMQ at Docker, using official erlio/docker-vernemq image.
I've used used vmq-admin trace client client-id=xxx recomended by @larshesel with following result.
Version 1.0.0 (OK)
root@e97169fb59a0:/# vmq-admin trace client client-id=3GwEXQIgPgkXtXh7XFOdRG
No sessions found for client "3GwEXQIgPgkXtXh7XFOdRG"
New session with PID <7244.510.0> found for client "3GwEXQIgPgkXtXh7XFOdRG"
<7244.510.0> MQTT RECV: CID: "3GwEXQIgPgkXtXh7XFOdRG" CONNECT(clientid: 3GwEXQIgPgkXtXh7XFOdRG ver: 4, user: 3GwEXQIgPgkXtXh7XFOdRG, pass: nWUwFGPifv57i1hGr8LVOFoXmxjW
yU68DnHj, cs: 1, ka: 60)
<7244.510.0> Calling auth_on_register({{172,18,0,1},34272},{[],
                                                            <<"3GwEXQIgPgkXtXh7XFOdRG">>},3GwEXQIgPgkXtXh7XFOdRG,nWUwFGPifv57i1hGr8LVOFoXmxjWyU68DnHj,true)
<7244.510.0> Hook returned "ok" with modifiers:
    {client_id,<<"3GwEXQIgPgkXtXh7XFOdRG">>}
<7244.510.0> MQTT SEND: CID: "3GwEXQIgPgkXtXh7XFOdRG" CONNACK(sp: 0, rc: 0)

Version 1.0.1 (Error)
root@24e28dd3e8cc:/# vmq-admin trace client client-id=3GwEXQIgPgkXtXh7XFOdRG
No sessions found for client "3GwEXQIgPgkXtXh7XFOdRG"
New session with PID <7244.591.0> found for client "3GwEXQIgPgkXtXh7XFOdRG"
<7244.591.0> MQTT RECV: CID: "3GwEXQIgPgkXtXh7XFOdRG" CONNECT(clientid: 3GwEXQIgPgkXtXh7XFOdRG ver: 4, user: 3GwEXQIgPgkXtXh7XFOdRG, pass: nWUwFGPifv57i1hGr8LVOFoXmxjW
yU68DnHj, cs: 1, ka: 60)
<7244.591.0> Calling auth_on_register({{172,18,0,1},34150},{[],
                                                            <<"3GwEXQIgPgkXtXh7XFOdRG">>},3GwEXQIgPgkXtXh7XFOdRG,nWUwFGPifv57i1hGr8LVOFoXmxjWyU68DnHj,true)
<7244.591.0> Trace session for 3GwEXQIgPgkXtXh7XFOdRG stopped
New session with PID <7244.592.0> found for client "3GwEXQIgPgkXtXh7XFOdRG"
<7244.592.0> MQTT RECV: CID: "3GwEXQIgPgkXtXh7XFOdRG" CONNECT(clientid: 3GwEXQIgPgkXtXh7XFOdRG ver: 3, user: 3GwEXQIgPgkXtXh7XFOdRG, pass: nWUwFGPifv57i1hGr8LVOFoXmxjW
yU68DnHj, cs: 1, ka: 60)
<7244.592.0> Calling auth_on_register({{172,18,0,1},34156},{[],
                                                            <<"3GwEXQIgPgkXtXh7XFOdRG">>},3GwEXQIgPgkXtXh7XFOdRG,nWUwFGPifv57i1hGr8LVOFoXmxjWyU68DnHj,true)
<7244.592.0> Hook returned {error,error}
<7244.592.0> MQTT SEND: CID: "3GwEXQIgPgkXtXh7XFOdRG" CONNACK(sp: 0, rc: 5)
<7244.592.0> Trace session for 3GwEXQIgPgkXtXh7XFOdRG stopped

Thanks @odx-tech and @tpuza for reporting.
I guess we now have multiple reports for similar problematic behaviour. (updating, then problem with auth_on_register).
We'll have to look into the changes between 1.0.0. and 1.0.1 as it must be there somewhere. It still could be
misconfiguration rather than a bug, but at this point that's open.

@odx-tech you need a plugin that handles the authorization part. Auth_on_register only deals with authentication. If you only want to authenticate the user and allow all topics for publish/subscribe you can enable vmq_acl with the default rule again.
@ioolkos the issues aren't related OP wanted to upgrade from 0.15.3 to 1.0.1 which introduced breaking changes e.g. regarding configuration and the fact that vmq_webhooks is bundled .
@tpuza can you open a separate issue and describe your complete setup, e.g. which plugins you're using. I think your issue isn't related to the one reported by the OP.

Been able to successfully publish. Thanks @dergraf  and @larshesel for the support. Closing

I got the same issue:
8962.7166.0> Hook returned {error,<<"not_allowed">>}
<8962.7166.0> Trace session for lens_xqQfzLFSd412vRsscPgBf61O8Ja stopped
New session with PID <8962.7167.0> found for client "lens_xqQfzLFSd412vRsscPgBf61O8Ja"
<8962.7167.0> MQTT RECV: CID: "lens_xqQfzLFSd412vRsscPgBf61O8Ja" CONNECT(c: lens_xqQfzLFSd412vRsscPgBf61O8Ja, v: 3, u: undefined, p: undefined, cs: 1, ka: 120)
<8962.7167.0> Calling auth_on_register({{10,0,1,72},64686},{[],
<<"lens_xqQfzLFSd412vRsscPgBf61O8Ja">>},undefined,undefined,true)


fix: npm audit fix on high severity vulnerability

:dog: RedRover

Currently reviewing new changes in this PR...

Commits
Files that changed from the base of the PR and between de38c188dd1c7d5e54e070925b60b5afd5f34fe0 and f8ede4ce01f8fcb4ed922dfe0104bac16c737692 commits.

Files selected (1)

package-lock.json (2)


Initial string support

Based on the various ways people are starting to use Numba (see fletcher and HPAT), we clearly need to add support for strings.  This issue gathers some requirements and notes for this work.
Before starting:

Read James Bennett's short review of Unicode in Python: https://www.b-list.org/weblog/2017/sep/05/how-python-does-unicode/

General requirements:

Support for str in Python 2.7
Support for str (unicode) and bytes in Python 3.x
Not supporting unicode in Python 2.7 (which uses an entirely different representation than Python >= 3.3)
When possible, simple operations implemented in Numba are preferrable
More complex operations can be done in C if required, or even using with objectmode if not performance critical.
Can look to fletcher for ideas of what functions are needed for Pandas use cases.

Given the above, bytes / Python 2 str can be represented in nopython mode as pointer and a length, Python 3 str is a pointer, a length, and an encoding enum indicating latin1, UCS-2 or UCS-4.
What operation are initially needed?  In descending order of priority:

Creating str/unicode literals in nopython mode
__eq__()
len()
__getitem__() - get element or slice
+ - string concatenation
in - substring test
startswith()
endswith()
__hash__()
find(), rfind() - substring search
< <= > >= - string ordering

Operations not on this list yet:

replace() - not sure how important this is for Numba use cases
format() - only sensible way to do this is to call back into interpreter
all the isX methods - I suspect these are difficult to implement for unicode, but not sure what is involved.  Users will expect these to be fast, so calling back into the interpreter is probably not a good solution.

Unknowns:

How hard are the primary operations with Unicode?  Can we compare lists of code points, or does some normalization have to be done first?

Nice to hear about these plans. Just one question about Python 2 parts of your general requirements - is it really necessary? Taking into account your plans of the end of Python 2.7 support in December 2018 this effort seems excessive.

Since we need to implement bytes for Python 3 anyway, we can easily alias it to str on Python 2.  The Python 2.7 deprecation is why we aren't going to implement Python 2.7 unicode which is entirely different and not useful long term.

Dump of information from recent investigations:

Get parts of unicode struct using PyUnicode_GET_LENGTH, PyUnicode_KIND,PyUnicode_DATA.  These are C macros, so need to wrap in a function call (can do all three) in helperlib.c to call from Python.
Unicode strings are not automatically in "canonical" form and usable with the above macros.  Need to call PyUnicode_READY first to prepare them, which may do some memory allocation.
Once ready, returned data pointer can be used as a uint8, uint16 or uint32 array, depending on the value of kind.
Create new unicode object with PyUnicode_FromKindAndData, which will allocate storage as needed and return a Python object.
How should we upgrade strings without breaking existing partial support that treats them as special constant type?
How to handle memory ownership?

Similar to array: Numba can have view on Python-managed string storage.  If Numba creates a string, we have to managed it with NRT in case it is put into jitclass.
Different: As soon as we box the Numba string into a Python unicode object, Python copies the string into its memory, and the refcount on NRT version should be decremented.  (no Python unicode views on NRT managed memory)
Better: Strings being immutable does make reasoning about all of this easier.

Unicode string comparison looks fairly straightforward: https://github.com/python/cpython/blob/master/Objects/unicodeobject.c#L10786-L10899

Thanks to the JIT, we don't need quite all the type switching here.

Another thought: perhaps it would be better to treat the unicode "kind" like a dtype.  Since strings are immutable, they can't change kind after creation, and there are clear casting rules for concatenation.  UCS1 + UCS2 => UCS2, and so on.
Going this route (rather than making kind an attribute of a single unicode type) means that can't dynamically reduce the character width returned by an operation.  For example, a replace on a UCS2 string could potentially return a UCS1 string, if the resulting code points would allow it.  That can't be determined at compile time, so if we wanted to have that option, we would have to hide the unicode kind inside the data model, rather than making it part of the type.

I was thinking that the only time we call the Python C API is for boxing and unboxing.  All of the above operations should be implemented with a relatively small amount of compiled Python.  The performance might be identical either way.
To make this concrete, imagine that we have an internal _get_code_point(string, i) method that returns the code point at offset i in a string.  The equality test for a string is then:
def eq(a, b):
    if len(a) != len(b):
        return False
    for i in range(len(a)):
        if _get_code_point(a, i) != _get_code_point(b, i):
            return False
    return True

If character width is part of the type, then we have effectively three _get_code_point type signatures:

uint8(unicode(1), unicode(1)) (UCS1)
uint16(unicode(2), unicode(2)) (UCS2)
uint32(unicode(4), unicode(4)) (UCS4)
The UCS2 pseudocode looks like this (assume the data model has _data pointer):

def _get_code_point(a, i):
    return deref_as_uint16(a._data + 2 * i)

whereas if kind is a runtime tag (so let's say the data model has a _kind enum), then we have only one signature for _get_code_point:

uint32(unicode, unicode)

# this probably doesn't work in the Numba type system and has to be written with LLVM builder syntax
def _get_code_point(a, i):
    if a._kind == UCS1:
        return deref_as_uint8(a._data + i)
    elif a._kind == UCS2:
        return deref_as_uint16(a._data + 2 * i)
    elif a._kind == UCS4:
        return deref_as_uint32(a._data + 4 * i)
    else:
        pass # there's also a wchar kind, but that's one of the above

I suspect the latter will result in slower code (similar to how our NumPy functions are slower for A layout compared to C layout), but I'm also happy with whatever is more straightforward to implement and maintain.

I should note that Python's implementation of unicode equality uses a C macro to generate special case loops for each combination of character width, much the same as Numba would do naturally if we put the kind into the unicode type.

Also, a readable (more than the CPython version) and fast substring search algorithm is described here:
http://effbot.org/zone/stringlib.htm

also interesting to note that Python always puts an extra null character at the end of the string (to make it easier to pass to C functions, presumably), and the string search algorithm above assumes that it is safe to read s[n], where n is the length of the string.
If we follow the same convention for Numba-allocated strings, it also means that slices can't simply be views on other string storage.  "No-malloc" slices seem like a potentially useful optimization, so we might consider deviating from the Python convention.

I haven't noticed much of string slicing in the use cases I've looked at. However, reading single character was much more common and worth optimizing (i.e. having a character type).

ok, talking to Siu, I think we made a few more decisions:

Stick with the Python approach, which means that slicing has to copy to new storage.
The data model for strings in Numba will need to indicate whether the string storage is managed by Python (i.e., the string originally came from Python or has been boxed at some point in the past), or the storage is managed by NRT.

And yes, get_code_point() is sufficiently useful that I think we want it to be a function that other nopython mode functions outside can use to implement string algorithms.  The Python way of making indexing return a length-1 string will result in inefficient code.

Not yet.  There's still more to do in 0.42 to cover this issue.

@tswast thanks for the interest, #3989 also asks for str(int) to I'm inclined to leave it for now, there's in-flight PRs to address that specific case.
RE bytes, whilst not quite the same as bytes itself, this sort of thing works:
from numba import njit
import numpy as np

@njit
def foo():
    n = 10
    x = np.empty(n, dtype=np.uint8)
    for i in range(n):
        x[i]  = 0x41 + i
    return x

print(bytes(foo()))

I haven't noticed much of string slicing in the use cases I've looked at.

In the use case that I'm considering (parsing Avro), slices on bytes would be very useful, as it would prevent the need to make extra copies. I tried the above suggested workaround for returning bytes, but since it's making a copy of the data it about doubles the parsing time.
Slices into unicode seems less useful to me, as the formats I'm parsing are binary.

Any progress on this?

@MosheVai what's "this" in the above?

Is this done? The associated milestone is closed and it doesn't appear in the associated project board (maybe the "awaiting triage" column is removed or hidden for me).

Yes, basic string support is done. List of supported operations is here:
http://numba.pydata.org/numba-doc/latest/reference/pysupported.html#str
Please open new tickets to request features that are missing. Thanks.


hcsshim::CreateComputeSystem The object already exists

Just started to debug into an issue that we're starting to see after integrating Consul into a compose stack under LCOW (PR at https://github.com/puppetlabs/pupperware/pull/37).
Opening an issue as I investigate further in case there's something obviously wrong that we're doing given current LCOW limitations, etc.
Error Message
The error would appear to originate somewhere within https://github.com/Microsoft/hcsshim/blob/4dd3466fb47933ff5df526e7751cdf1f6315bfcf/internal/hcs/system.go#L78-L125
Creating network "pupperware_default" with the default driver
Creating pupperware_consul_1   ... error
Creating pupperware_postgres_1 ...

ERROR: for pupperware_consul_1  Cannot start service consul: hcsshim::CreateComputeSystem 63bc7e31451c982a1d61a2d58241a159bbb8a14742d9a41e5cb6b493c51ae0be: The object already exists.
(extra info: {"SystemType":"container","Name":"63bc7e31451c982a1d61a2d58241a159bbb8a14742d9a41e5cb6b493c51ae0be","Owner":"docker","LayerFolderPath":"C:\\ProgramData\\docker\\lcow\\63bc7e31451c982a1d61a2d58241a159bbb8a14742d9a41e5cb6b493c51ae0be","Layers":[{"ID":"78af33f1-41e4-5040-9a34-379c196d67c6","Path":"C:\\ProgramData\\docker\\lcow\\aac25173134312d04813f489bf421cc26516319f192cde9323dbd5712552ed79\\layer.vhd"},{"ID":"0a9de556-e086-5de0-8aa5-0dc7eda966d2","Path":"C:\\ProgramData\\docker\\lcow\\fcb92930ba1aaee670bf6e859320c8a9513c888b18075a985179e1c4a24b6ae6\\layer.vhd"},{"ID":"7d2d735a-9338-5b93-b94d-89be3b86d501","Path":"C:\\ProgramData\\docker\\lcow\\f3c6e475d30a14fdf7027f90fb926b70820044ab4862f9c8e2217a05b1adfab0\\layer.vhd"},{"ID":"f5fe9097-b284-52f0-ab16-5008d8ac6cf0","Path":"C:\\ProgramData\\docker\\lcow\\287b109960a042c925b25c465992da9585aaef01b54219bb40b6d18c42e6550c\\layer.vhd"},{"ID":"41a83db1-3517-5e45-bffc-cd490fbc9dfa","Path":"C:\\ProgramData\\docker\\lcow\\682656916f0fc1eee3c16b4d22ec1b5d5c09157894ab0e6ff0ff31d043b11fad\\layer.vhd"},{"ID":"ed240024-c2f1-5bd8-aa0c-94dc834fc25b","Path":"C:\\ProgramData\\docker\\lcow\\65707d2700015a042ce0a8eaa85ba8fe49d63a33665075ca063f1e4dfe8f25af\\layer.vhd"}],"MappedDirectories":[{"HostPath":"c:\\users\\puppet\\pupperware\\volumes\\consul","ContainerPath":"/tmp/gcs/63bc7e31451c982a1d61a2d58241a159bbb8a14742d9a41e5cb6b493c51ae0be/binds/consul/data","ReadOnly":false,"BandwidthMaximum":0,"IOPSMaximum":0,"CreateInUtilityVM":true,"LinuxMetadata":true},{"HostPath":"C:\\ProgramData\\docker\\volumes\\f4f9204837acd657171075673458a598dcbeb3dbc65bd3cd1972042755fa9a8a\\_data","ContainerPath":"/tmp/gcs/63bc7e31451c982a1d61a2d58241a159bbb8a14742d9a41e5cb6b493c51ae0be/binds/consul/data","ReadOnly":false,"BandwidthMaximum":0,"IOPSMaximum":0,"CreateInUtilityVM":true,"LinuxMetadata":true}],"HvPartition":true,"EndpointList":["cf7a299c-41de-44d3-9b84-26c16dbabfb9"],"HvRuntime":{"ImagePath":"C:\\Program Files\\Linux Containers","LinuxInitrdFile":"initrd.img","LinuxKernelFile":"kernel"},"AlCreating pupperware_postgres_1 ... done

ERROR: for consul  Cannot start service consul: hcsshim::CreateComputeSystem 63bc7e31451c982a1d61a2d58241a159bbb8a14742d9a41e5cb6b493c51ae0be: The object already exists.
(extra info: {"SystemType":"container","Name":"63bc7e31451c982a1d61a2d58241a159bbb8a14742d9a41e5cb6b493c51ae0be","Owner":"docker","LayerFolderPath":"C:\\ProgramData\\docker\\lcow\\63bc7e31451c982a1d61a2d58241a159bbb8a14742d9a41e5cb6b493c51ae0be","Layers":[{"ID":"78af33f1-41e4-5040-9a34-379c196d67c6","Path":"C:\\ProgramData\\docker\\lcow\\aac25173134312d04813f489bf421cc26516319f192cde9323dbd5712552ed79\\layer.vhd"},{"ID":"0a9de556-e086-5de0-8aa5-0dc7eda966d2","Path":"C:\\ProgramData\\docker\\lcow\\fcb92930ba1aaee670bf6e859320c8a9513c888b18075a985179e1c4a24b6ae6\\layer.vhd"},{"ID":"7d2d735a-9338-5b93-b94d-89be3b86d501","Path":"C:\\ProgramData\\docker\\lcow\\f3c6e475d30a14fdf7027f90fb926b70820044ab4862f9c8e2217a05b1adfab0\\layer.vhd"},{"ID":"f5fe9097-b284-52f0-ab16-5008d8ac6cf0","Path":"C:\\ProgramData\\docker\\lcow\\287b109960a042c925b25c465992da9585aaef01b54219bb40b6d18c42e6550c\\layer.vhd"},{"ID":"41a83db1-3517-5e45-bffc-cd490fbc9dfa","Path":"C:\\ProgramData\\docker\\lcow\\682656916f0fc1eee3c16b4d22ec1b5d5c09157894ab0e6ff0ff31d043b11fad\\layer.vhd"},{"ID":"ed240024-c2f1-5bd8-aa0c-94dc834fc25b","Path":"C:\\ProgramData\\docker\\lcow\\65707d2700015a042ce0a8eaa85ba8fe49d63a33665075ca063f1e4dfe8f25af\\layer.vhd"}],"MappedDirectories":[{"HostPath":"c:\\users\\puppet\\pupperware\\volumes\\consul","ContainerPath":"/tmp/gcs/63bc7e31451c982a1d61a2d58241a159bbb8a14742d9a41e5cb6b493c51ae0be/binds/consul/data","ReadOnly":false,"BandwidthMaximum":0,"IOPSMaximum":0,"CreateInUtilityVM":true,"LinuxMetadata":true},{"HostPath":"C:\\ProgramData\\docker\\volumes\\f4f9204837acd657171075673458a598dcbeb3dbc65bd3cd1972042755fa9a8a\\_data","ContainerPath":"/tmp/gcs/63bc7e31451c982a1d61a2d58241a159bbb8a14742d9a41e5cb6b493c51ae0be/binds/consul/data","ReadOnly":false,"BandwidthMaximum":0,"IOPSMaximum":0,"CreateInUtilityVM":true,"LinuxMetadata":true}],"HvPartition":true,"EndpointList":["cf7a299c-41de-44d3-9b84-26c16dbabfb9"],"HvRuntime":{"ImagePath":"C:\\Program Files\\Linux Containers","LinuxInitrdFile":"initrd.img","LinuxKernelFile":"kernel"},"AllowUnqualifiedDNSQuery":true,"ContainerType":"linux","TerminateOnLastHandleClosed":true})
ERROR: Encountered errors while bringing up the project.

Is there a good way to get a more detailed stack trace of failures like this? I've checked in Hyper-V-Compute and Hyper-V-Worker -> Operational event logs but only see Information messages.
docker-compose 1.24.0-rc1 invocation
> docker-compose --version
docker-compose version 1.24.0-rc1, build 0f3d4dda

> docker-compose -f .\docker-compose.yml -f .\docker-compose.windows.yml up

local .env
CONSUL_IP=<IP_ADDRESS>
PUPPERWARE_SUBNET=<IP_ADDRESS>/16

docker-compose.yml
version: '3'

services:
  consul:
    hostname: consul
    image: consul
    ports:
      - 8500:8500 # Consul HTTP
      - 53
    environment:
      CONSUL_BIND_INTERFACE: 'eth0'
      CONSUL_ALLOW_PRIVILEGED_PORTS: 'true'
      CONSUL_LOCAL_CONFIG: '{ "ports": { "dns": 53 }, "recursors": [ "<IP_ADDRESS>" ] }'
      CONSUL_IP:
    volumes:
      - ./volumes/consul:/consul/data/
    networks:
      default:
        ipv4_address: $CONSUL_IP

  puppet:
    hostname: puppet
    image: puppet/puppetserver
    ports:
      - 8140:8140
    environment:
      # DNS_ALT_NAMES must be set before starting the stack the first time,
      # and must list all the names under which the puppetserver can be
      # reached. 'puppet' must be one of them, otherwise puppetdb won't be
      # able to get a cert. Add other names as a comma-separated list
      - DNS_ALT_NAMES=puppet,puppet.service.consul,${DNS_ALT_NAMES:-}
      - CONSUL_ENABLED=true
      - CONSUL_IP
      - PUPPETDB_SERVER_URLS=https://puppetdb:8081
    depends_on:
      - consul
    dns:
      - $CONSUL_IP
    volumes:
      - ./volumes/code:/etc/puppetlabs/code/
      - ./volumes/puppet:/etc/puppetlabs/puppet/
      - ./volumes/serverdata:/opt/puppetlabs/server/data/puppetserver/

  postgres:
    environment:
      - POSTGRES_PASSWORD=puppetdb
      - POSTGRES_USER=puppetdb
      - POSTGRES_DB=puppetdb
    expose:
      - 5432
    # volumes can only be overriden by *target*, not *source*
    # so define them in .override.yml and .windows.yml since target varies
    # either /var/lib/postgresql/data/ on Linux or c:\data on Windows
    # https://docs.docker.com/compose/extends/#adding-and-overriding-configuration

  puppetdb:
    hostname: puppetdb
    image: puppet/puppetdb
    environment:
      - PUPPETDB_PASSWORD=puppetdb
      - PUPPETDB_USER=puppetdb
      - CONSUL_ENABLED=true
      - CONSUL_IP
    ports:
      - 8080
      - 8081
    depends_on:
      - postgres
      - puppet
    dns:
      - $CONSUL_IP
    volumes:
      - ./volumes/puppetdb/ssl:/etc/puppetlabs/puppet/ssl/

networks:
  default:
    ipam:
      config:
        - subnet: $PUPPERWARE_SUBNET

docker-compose.windows.yml
version: '3'

services:
  puppet:
    networks:
      default:
        aliases:
         - puppet.${AZURE_DOMAIN}

  postgres:
    image: stellirin/postgres-windows:9.6
    environment:
      - PGDATA=c:\data
    volumes:
      - ./volumes/puppetdb-postgres/data:c:\data
      - ./postgres-custom:c:\docker-entrypoint-initdb.d

If anything stands out for anyone, I would appreciate hearing about it! Thanks!

Not sure if we're also triggering https://github.com/moby/moby/issues/38932 in this repro as well.

The way I was able to work around this error was changing
    volumes:
      - ./volumes/consul:/consul/data/

to
    volumes:
      - ./volumes/consul:/consul/data/:rw

though not sure how that relates to the actual error we were seeing 🤷♀


Suggestion for even higher performance gains

Checking out your current encode/decode logic the system seems neat and could be relatively easily adjusted to drop the need for dynamically growing buffer object by allocating just the right size buffer.
I think this could be achived by adding new method to the dataTypeInterface<T> called size, which would then compute and return size of the value it represents.
Not only this would greatly speed up your encoding/decoding process, but also simplify the code by removing explicit memory management via bufferWriter.alloc which scatters dynamic allocations across the codebase.
This same idea could be also applied to the server and client queueing logic. Instead of appending the new packet's buffer to the pending buffer, keep all the pending buffers in a table, which will be your queue and then right before sending compute the total packet size, allocate one large buffer and copy each buffers content into the final buffer.
I use similar method in my Luau msgpack implementation and given that it can outperform native JSON encode/decode methods shows that now one can actually reason about memory allocation patterns in Luau and do a better job than native code that most likely neglected these concerns.

This method is faster and better performance without native code generation, however, in native code generation, buffers outperform tables and functions.
I used to use an approach like this, and it works well w/o codegen enabled. But the second you enable codegen, things change.
I'll likely be using this approach on the client, and the resizing approach on the server.

I don't see how native codegen could change the memory access and allocation patterns. I am not suggesting to use table, but to use a single buffer that is allocated once instead of reallocated multiple times.
Memory reallocation has signifficant performance implications even in compiled C/C++/Rust whichever code.

Because using purely buffers is faster than using tables alongside buffers. That's all.
Tables also need to allocate their own memory. I'll leave this open because it's actually accurate: this is the better method when considering the overhead of creating buffers, but there is no overhead for that in native codegen.


Potential data races when accessing variable stderr in function PthreadCall

Hi all,
Our bug scanner has reported a data race issue at env_posix.cc#L551
Followings are code snippets.
void PosixEnv::Schedule(void (*function)(void*), void* arg) {
  ...
  if (!started_bgthread_) {
    started_bgthread_ = true;
    PthreadCall(
        "create thread",
        pthread_create(&bgthread_, NULL,  &PosixEnv::BGThreadWrapper, this));
  }
  ...
  PthreadCall("unlock", pthread_mutex_unlock(&mu_));
}

void BGThread();
  static void* BGThreadWrapper(void* arg) {
    reinterpret_cast<PosixEnv*>(arg)->BGThread();
    return NULL;
  }

void PosixEnv::BGThread() {
  while (true) {
    ...
    PthreadCall("unlock", pthread_mutex_unlock(&mu_));
    ...
  }
}

void PthreadCall(const char* label, int result) {
    if (result != 0) {
      fprintf(stderr, "pthread %s: %s\n", label, strerror(result));
      ...
    }
  }

The call trace is as follows:
PosixEnv::Schedule->PthreadCall
and
PosixEnv::Schedule->BGThreadWrapper->PosixEnv::BGThread->PthreadCall
The race may be rarely triggered, but it would corrupt the log when occured.
SourceBrella Inc.,
Yu

Anybody who can have a look for this issue?

I don't see any race in the code.  All accesses to started_bthread_ are
made while holding mu_.
Not sure what bug scanner you are using.  I highly recommend TSAN
https://clang.llvm.org/docs/ThreadSanitizer.html for detecting race
conditions.  It is very accurate with its reports.  If you have TSAN
reports pointing at the problem, it would be good to see the stack traces
it prints.
On Fri, Oct 20, 2017 at 12:04 AM, Xiao Xiao<EMAIL_ADDRESS>wrote:

Anybody who can have a look for this issue?
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/google/leveldb/issues/499#issuecomment-338123438, or mute
the thread
https://github.com/notifications/unsubscribe-auth/AHuM0RkH4oejjIVNCFl0kVQYlS5SWuxnks5suEX1gaJpZM4O2R9O
.

I see a very benign threading issue. Note that the issue only shows up with PosixEnv as the environment, so it wouldn't be caught in software that uses other LevelDB environments. For example, Chrome uses its own environment, so our TSan builds wouldn't catch this issue.
PthreadCall wraps POSIX calls and invokes fprintf(stderr, ... if the calls error out. Note that the fprintf call is not protected by any mutex. This StackOverflow answer reasons that calls like fprintf are guaranteed to be theadsafe according to POSIX. My own skimming of the standard agrees with it. However, notice that stderr is simply a FILE *, so accessing it in concurrent threads (which happens implicitly when the function call is evaluated) is not thread-safe.
That being said, the issue is very benign, and I don't see any easy fix. If the pointer never changes, there's no race condition. POSIX programs should use freopen to change the file that stderr points to, as that method will maintain the association between FD 2 and the stderr stream. When this is done, stderr never changes, so the potential race condition never materializes.
I can't think of any approach that would be guaranteed to be threadsafe and doesn't introduce architectural changes. stderr is exposed by the standard library without an associated mutex, so it cannot be accessed safely.


Fix Report-Converter Page on readthedocs

Shifted the Readme files from the tools directory into the docs/tools directory
Fixes #3241

@csordasmarton The tests are failing due to Us shifting the Readme files to the docs folder. Should I modify the tests as tell with the proper path?
Also is there a way to run all these tests(8 tests required for merging) locally on my branch? The make test command runs all the tests in CodeChecker

@jay24rajput in this case the github actions are failed on the make package target. So there is no need to run tests locally for this to reproduce, just run the make package target.
The problem is that in the tools setup.py file we expect that a readme file can be found beside the setup.py file but now we moved it. So I think we should change the setup.py file.
For example: https://github.com/Ericsson/codechecker/blob/master/tools/plist_to_html/setup.py#L5
to this:
import os
import setuptools

readme_file_path = os.path.join(
    "..", "..", "docs", "tools", "plist_to_html.md")

with open(readme_file_path, "r", encoding="utf-8", errors="ignore") as fh:
    long_description = fh.read()

I hope that it will work.
Also there is no need to move each tool readme to a separate directory under the docs folder. So instead of using this: docs/tools/plist_to_html/README.md we can use this docs/tools/plist_to_html.md

Yes that makes sense, renaming the files with their tool name 👍🏻
I change the setup files of each tool accordingly and rename the Readme files

@csordasmarton Any idea as to why that one test case is failing?


[feature request] function declaration

dlcall -n window -r pointer gtk_application_window_new $app requires specifying the return type.
Is there anything preventing the implementation of a declare_function builtin, such that
declare_function gtk_application_window_new pointer pointer would inform ctypes.sh
about the return type (and the types of the parameters for where this changes the ABI),
and such that a later dlcall  with no type specified for a function with that name would
use this information?
additionally, this would make it possible to ship the equivalent of header files for libc,
so that calling functions from the standard library never requires specifying the type.

Hmm, I see your point, but I wonder if we can just do it in pure bash.. e.g.
function gtk_application_window_new()
{
    dlcall -r pointer gtk_application_window_new $1
}

Although I guess that means you can't pass other options to dlcall... hmm, maybe we do need a helper.


Fixed git version on Python3

works for me
it is git-0.1.0-48-g3cf9ce75 souldn't it be 0.2.0?

Happy for this to be merged as soon as the issue that @rossant mentions is resolved. I did create a 0.2.0 tag so in principle this should work...

Ah @rossant are you sure you haven't still checked out HEAD^1? Do a git checkout upstream/master...
You may need to git fetch --tags...

ok all good :) thx!


Do u have plans for connect with google account?

Hi dularion.
Thank you for providing awesome software.
I really hope to add my video uploaded to Google Drive or Google Photos to my streama.
I tried Extra URL function, but sadly google drive is not supported.
Do u have a plan for connect with Google account?
Is it means MEDIA CRAWLER?
Thanks.
P.S.
I posted duplicate postings.
Im sorry.

Please look at this issue: https://github.com/dularion/streama/issues/60


Fix system test: remove trailing shashs from topics

Proposed changes
Fix system tests by removing trailing slashs from topics. Unclear if this worked before.
Types of changes
What types of changes does your code introduce to thin-edge.io?

[x] Bugfix (non-breaking change which fixes an issue)

Paste Link to the issue

Checklist
Put an x in the boxes that apply. You can also fill these out after creating the PR. If you're unsure about any of them, don't hesitate to ask. We're here to help! This is simply a reminder of what we are going to look for before merging your code.

[x] I have read the CONTRIBUTING doc
[ ] I have signed the CLA (in all commits with git commit -s)
[ ] I ran cargo fmt as mentioned in CODING_GUIDELINES
[ ] I used cargo clippy as mentioned in CODING_GUIDELINES
[ ] I have added tests that prove my fix is effective or that my feature works
[ ] I have added necessary documentation (if appropriate)

Codecov Report

Merging #305 (3122c67) into main (90a29fb) will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##             main     #305   +/-   ##
=======================================
  Coverage   67.09%   67.09%
=======================================
  Files          66       66
  Lines        3905     3905
=======================================
  Hits         2620     2620
  Misses       1285     1285

Continue to review full report at Codecov.

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

@PradeepKiruvale You said / is required in GH issue. What is the correct? https://github.com/thin-edge/thin-edge.io/issues/173


pkg/get: fix typos in tests

This commit fixes a repeated typo in the get_tests.go file.
Signed-off-by: Lucas Servén Marín<EMAIL_ADDRESS>How Has This Been Tested?
Running the Go unit tests.
Types of changes

[ ] Bug fix (non-breaking change which fixes an issue)
[ ] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to change)
None of the above. It is an aesthetic change to the code.

Checklist:

[x] My code follows the code style of this project.
[ ] My change requires a change to the documentation.
[ ] I have updated the documentation accordingly.
[x] I've read the CONTRIBUTION guide
[x] I have signed-off my commits with git commit -s
[ ] I have added tests to cover my changes.
[x] All new and existing tests passed.

Congrats on becoming a first-time contributor to arkade :+1:


Multiple source file copies after HMR

Describe the bug
After HMR happens we see multiple copies of the same source file in the Dev Tools. Something like this:

This causes confusion as to which one to look at.
Reproduction
Any vite build, after a couple of HMRs of a source files will lead to the above.
System Info

required vite version: 1.0.0-rc1
required Operating System: Mac
required Node version: 12.16.1

There's no way around that in order to make HMR work over native ESM, since native ESM caches the modules by URL.

Since, files are unbundled and we are using proxies so stuck HTTP1.1 our reloads take ~40-50s. Thus, that is not a viable option.


Any idea how to run demo_security_barrier_camera.sh?

I need to run it to test the GPU. I tried replacing libpng12 with libpng-dev. It helped skip the error message that occured at line 87/88. However, I'm getting stuck at line 132. Don't know why. Any advice will be appreciated.

./demo_security_barrier_camera.sh -d GPU