pandas rename(columns={int: str}) is rejected

Environment data

Language Server version: 2020.9.4
OS and version: Windows 10
Python version (& distribution if applicable, e.g. Anaconda): Anaconda 3.7.5

Expected behaviour
No error on code below
Actual behaviour
import pandas as pd

df = pd.DataFrame({0: [1,2,3]})
df = df.rename(columns={0: "hey"})

df = pd.DataFrame({"ok": [1,2,3]})
df = df.rename(columns={"ok": "hey"})

In the above, the first rename is valid, but the error message:
No overloads for "df.rename(columns={ 0: "hey" })" match parameters
  Argument types: (Dict[int, str])

appears.  This is valid pandas code.  Column names can be integers
Logs
Leaving this out - it's just a stub issue

In addition, the following also fails:
df = pd.DataFrame({0: [1, 2, 3]})
df = df.rename(columns=str)

Here are my fixes (but I think there may be other use cases that I'm not listing here - these are the ones that fixed my code):
diff frame.pyi.ORIG frame.pyi
633c633,634
<         columns: Optional[Dict[_str, _str]],
---
>       index: Optional[Union[Dict[Union[_str, int], _str], Callable]] = ...,
>       columns: Optional[Union[Dict[Union[_str, int], _str], Callable]] = ...,

Note that index was also missing from the rename() argument list.

It looks like this was fixed in the last release but we forgot to list it. Closing.

@gramster  The following also fails, and it is related.  Should I open up a new issue?
With 2020.9.6, the following code is failing:
df = pd.DataFrame({0: [1, 2, 3]})
df = df.rename(index=lambda x: str(x))

df = pd.DataFrame({0: [1, 2, 3]})
df = df.rename(index=str)

Message for first one is:
No overloads for "df.rename(index=lambda x: str(x))" match parameters
  Argument types: ((x: Unknown) -> str)

Message for second one is:
No overloads for "df.rename(index=str)" match parameters
  Argument types: (Type[str])

This seems to fix it:
diff frame.pyi.ORIG frame.pyi
634c634
<         columns: Optional[Union[Callable, Dict[Union[int,_str], _str]]],
---
>         columns: Optional[Union[Callable, Dict[Union[int,_str], _str]]] = ...,

Note that this is making index and columns optional, but in reality, you should specify one or the other or both.  Not sure how to specify that in the .pyi file.  It might need 3 overloads:  one for index only, one for columns only, and one for both.

Thanks. We're already abusing the types quite a bit to do things like enforcing whether a parameter is present or not, and I don't want to get too carried away, especially as we want to eventually inline these in pandas, so I think its okay to just make both optional.

@gramster I know you closed this issue, but I want to make sure the issue shown in the comment  https://github.com/microsoft/pylance-release/issues/378#issuecomment-699141106 will still be addressed.
If you want a new issue, let me know, or just reopen this one.

Yes, the patch in that comment was applied.


[Feature Request] Links to load nodes/routes in JOSM

In various analysis pages, add links to load nodes or routes in JOSM (using the remote control feature).
Use limits for the number of objects to be loaded by JOSM, in order not to overload the OpenStreetMap API.
Thanks to @pyrog for this suggestion.

Example in facts pages:

Example in location nodes page:

Edit links have been added in various pages in release 4.0.3:

Subset facts

Subset fact detail

Location nodes (loads the nodes visible in the current page)

Location routes (loads the routes visible in the current page)

Location facts

Network facts

Subset orphan nodes (loads the nodes visible in the current page)

Subset free routes (loads the routes visible in the current page)


Add loader option to sample Next config

Static export builds were failing with the following error:

Error: Image Optimization using Next.js' default loader is not compatible with next export.

Adding the "loader": "custom" option to next.config.js silences this error and the export works as expected.
Related to: https://github.com/vercel/next.js/issues/21079

Thanks for the great addition to the readme!


added more complex working example

@ddobric,
Thanks for your contribution as a Microsoft full-time employee or intern. You do not need to sign a CLA.
Thanks,
Microsoft Pull Request Bot

@sethmanheim Hi Seth Please review these proposed changes. Thanks.

@ddobric,
Thank you for your very valuable contribution. Each of our doc on ARM templates refers to a deployable template on https://github.com/Azure/azure-quickstart-templates
If you could add your contributions here as a 301 template, we could refer to these templates in our docs. Feel free to reach out to me if you have any questions.

@ddobric Thank you for taking the time to write this up! This needs to be added to the Azure templates gallery as mentioned previously. #please-close


Method: increment

data.posts.increment('votes') // Increment by 1
data.posts.where('id', 10).increment('votes', 13) // Increment by 13

@mkucharz should I also add alias inc?

@Idered I think we can stay with just increment for now, for the better code readability :)

@23doors
Sending PATCH request to this url with {"field_name": {"_increment": 1}} works fine
https://api.syncano.rocks/v2/instances/late-hill-3922/classes/posts/objects/:object_id/

Would it be possible to handle increment for multiple objects?
https://api.syncano.rocks/v2/instances/late-hill-3922/classes/posts/objects/

@Idered you mean update multiple objects? If so - nope. 1 request updates only 1 object.

Ok, then I'll implement:

Using _increment property

data.posts.increment(100, 'views', 1)  // Post id, column, value

First fetch all objects, then update value with batch query. NOT efficient at all but still, some users might find it useful.

data.posts.where('id', 'in', [10, 100]).increment('views')

@23doors It's not very important feature but in future please think about implementing this in platform.

It’s the same as with any update in REST - they are meant to update 1 object at a time. But if you update by id - you can update without fetching (but still 1 request per object)


[Deployment] One-click deployment options in README.md or docs

Is your feature request related to a problem? Please describe.
oCIS setup has some complexity, but could be much simpler in standardised environments.
Describe the solution you'd like
Prominent self-hosting buttons to fire up instances on public cloud services could lower the entry barriers.
Examples

penpot.app provides self-hosting options for Docker and Elest.io (Hetzner, AWS Lightsail, Digital Ocean (High freq. cpu), VULTR (High freq. cpu), LINODE)
"Deploy to DigitalOcean" Button
"Deploy to Oracle Cloud" Button + (more…)
Bitnami has buttons to launch on Google Cloud Platform, AWS and Azure (Drupal, Mastodon)
Probably similar things can be done on OVHcloud and Scaleway…

/cc @hodyroff FYI

.. services could to lower the entry ..

We can do a setup documentation based on a standardised environment - but that term needs to be defined very precisely before we can go on. Just one topic out of the many has variaties that will cause headaches when using the term standardized :
local IDM vs Keycloak vs AD vs Azure vs Athelia vs authentik...

There is already a document describing Bare Metal with systemd and I would desperately like to get more of these !
There is also an issue I opened Document Identity Management in an own section that is related to that request.

If there is focus on describing definied standardized setups (note the plural !), which needs highly skilled ressources, we can achive this - that definitely supports business.

We can do a setup documentation based on a standardised environment

What the public cloud provider offers…

Should do the same as our easiest CD example:

https://owncloud.dev/ocis/deployment/continuous_deployment/#released

After default setup, you get something running:

https://owncloud-yxppv-u5085.vm.elestio.app/

With Elest.io, you get $20 free credits that you can use to play with for 7 days. Try yourself…

I quite like the idea but wonder how we'd handle IDM_ADMIN_PASSWORD without "publicly hardcoding it"?

I quite like the idea but wonder how we'd handle IDM_ADMIN_PASSWORD without "publicly hardcoding it"?

In my example, elest.io handles it. It generates a .env files with the credentials, and they can be revealed in the elest.io web UI. I encourage you all to try it yourselves.


Wayland Display Scaling Support

Software Versions

Python: 3.9.3
OS: arch
Kivy: git latest
Kivy installation method: self packaged

Describe the bug
Using the SDL_VIDEODRIVER=wayland variable, I'm able to develop for wayland. Using the latest from git does properly detect when I move a window between an unscaled and scaled display. The unscaled display looks fine. When I move to (or start the app from) a scaled display (e.g. 4k display at 2x scaling) it is displayed only at 1x scaling and as a result the text is nearly unreadable. I've played around with KIVY_METRICS_DENSITY and KIVY_DPI which both make it legible on the hires display, but then it no longer detects when I move the window between screens and will show things much bigger than necessary on my unscaled display.
Expected behavior
Kivy windows launched on or moved onto a scaled display, when using wayland, respect the display scaling.
To Reproduce
#!/usr/bin/env python

from kivy.app import App
from kivy.uix.button import Button

class TestApp(App):
    def build(self):
        return Button(text="Hello World")

TestApp().run()

Code and Logs and screenshots
λ SDL_VIDEODRIVER=wayland ./main.py
[INFO   ] [Logger      ] Record log in /home/jrubin/.kivy/logs/kivy_21-04-25_48.txt
[INFO   ] [Kivy        ] v2.1.0.dev0
[INFO   ] [Kivy        ] Installed at "/usr/lib/python3.9/site-packages/kivy/__init__.py"
[INFO   ] [Python      ] v3.9.3 (default, Apr  8 2021, 23:35:02)
[GCC 10.2.0]
[INFO   ] [Python      ] Interpreter at "/usr/bin/python"
[INFO   ] [Logger      ] Purge log fired. Processing...
[INFO   ] [Logger      ] Purge finished!
[INFO   ] [Factory     ] 189 symbols loaded
[INFO   ] [Image       ] Providers: img_tex, img_dds, img_sdl2, img_pil (img_ffpyplayer ignored)
[INFO   ] [Text        ] Provider: sdl2(['text_pango'] ignored)
[INFO   ] [Window      ] Provider: sdl2
[INFO   ] [GL          ] Using the "OpenGL" graphics system
[INFO   ] [GL          ] Backend used <sdl2>
[INFO   ] [GL          ] OpenGL version <b'4.6 (Compatibility Profile) Mesa 21.0.3'>
[INFO   ] [GL          ] OpenGL vendor <b'AMD'>
[INFO   ] [GL          ] OpenGL renderer <b'AMD Radeon RX 6900 XT (SIENNA_CICHLID, DRM 3.40.0, 5.11.16-zen1-1-zen, LLVM 11.1.0)'>
[INFO   ] [GL          ] OpenGL parsed version: 4, 6
[INFO   ] [GL          ] Shading version <b'4.60'>
[INFO   ] [GL          ] Texture max size <16384>
[INFO   ] [GL          ] Texture max units <32>
[INFO   ] [Window      ] auto add sdl2 input provider
[INFO   ] [Window      ] virtual keyboard not allowed, single mode, not docked
[INFO   ] [Base        ] Start application main loop
[INFO   ] [GL          ] NPOT texture support is available

Additional context
I don't think anything is needed.
Happy to help test and/or debug possible fixes. Also willing to sent a PR if I can get a little guidance on how/what/where things need to be updated.

I'm not sure if sdl2 tell us when there's a DPI change on wayland. Take a look at https://github.com/libsdl-org/SDL/issues/2119.
But, I'd look at https://github.com/kivy/kivy/blob/master/kivy/core/window/_window_sdl2.pyx#L603, add a print statement and see if you get an event when you move between screens and dpi changes. If we do get one, then we could add something to update the DPI like we do for Windows.

I’ll look into that. Thanks! I just want to clarify that the dpi, even on startup without moving between screens, on the scaled monitor is incorrect. Basically, I can’t ever get it to show up with anything but super tiny text on that monitor (without setting METRICS variables at least).

This is how the density is initially computed. I'd take a look to see if sdl2 is not reporting something there correctly.

Looks like this is definitely an issue in sdl2.

Everything is possible to be fixed in the git version of sdl2. I'm going to see what it will take for me to write a patch that'll be compatible with the current sdl2 release but actually work properly if the git version is installed.

@joshuarubin Does that mean, with the (now) latest SDL2, this issue is resolved and we can close it?


Update iot-hub-devguide-quotas-throttling.md

This seems like a small (but important) contribution, so no Contribution License Agreement is required at this point. We will now review your pull request.
Thanks,
Microsoft Pull Request Bot

This seems like a small (but important) contribution, so no Contribution License Agreement is required at this point. We will now review your pull request.
Thanks,
Microsoft Pull Request Bot

@kik3r : Thanks for your contribution to the Azure documentation! The author, @dominicbetts, has been notified to review your proposed change.

@kik3r - thanks for the suggestion that helps clarify the article.

#sign-off


Look at using a different data source for airport codes

https://docs.aviowiki.com/

BINGO. They have a fully downloadable zip file from https://exports.aviowiki.com/free_airports.json.zip

Can download that once every 24 hours then just update the database. https://github.com/breejs/bree will schedule it?

Use the localIdentifier field if the ICAO value isn't present

Making progress. Magnetic declination has to change again so it doesn't get blown away every time I nuke the world and update airports. Store it in a separate collection and make it a ref field.


Search Bar Position in tool bar

Search Bar is positioned at right side on toolbar. Is there any configuration that I can move it to left side and export csv to right side?

found the solution in docs 'https://github.com/AllenFang/react-bootstrap-table/blob/master/examples/js/custom/toolbar/left-search-panel.js'.


HoloLens 2 system keyboard key detection

How to detect a HoloLens2 system keyboard key such as Enter key through C# scripting in Unity-MRTK ?

https://docs.unity3d.com/ScriptReference/Input.html


Ensure privacy policy checkbox must be checked before logging in to Google

tested on iPhone

tested on iPad

Verified - Test PASS


NSwag.AspNetCore SwaggerUI: how to add JWT authorization headers?

Hello,
I'm successfully running my AspNetCore WebAPI project with JWT authorization and MS API versioning, but can't understand how to properly configure NSWag middleware to expose the "Authorization: Bearer" token, so to properly generate a c# client library using NSWag Studio.
I'm actually getting a timeout when opening my API project /swagger endpoint: it shows Swagger page, but then it stands waiting for it to show my api methods (fetching resource list). No errors appear on server, and the json can be loaded at its url. Can't even tell if this problem is related with the authorization header not being correctly generated.
My Configure method contains:
[...]
 app.UseJwtBearerAuthentication(new JwtBearerOptions
            {
                AutomaticAuthenticate = true,
                AutomaticChallenge = true,
                TokenValidationParameters = tokenValidationParameters,
                Events = new MyCustomJWTEventHandler()
            });

            // Swagger
            SwaggerUiSettings options = new SwaggerUiSettings();
            options.Description = "My API";
            options.Version = "1.0.0";
            options.Title = "My API";
            options.ValidateSpecification = true;

           // add Authorization header to Swagger UI
            options.OperationProcessors.Add(new OperationSecurityScopeProcessor("apiKey"));
            options.DocumentProcessors.Add(new SecurityDefinitionAppender("apiKey", new NSwag.SwaggerSecurityScheme()
            {
                Type = NSwag.SwaggerSecuritySchemeType.ApiKey,
                Name = "Authorization",
                In = NSwag.SwaggerSecurityApiKeyLocation.Header,
                Description = "Bearer token"
            }));

            app.UseSwaggerUi(typeof(Startup).GetTypeInfo().Assembly, options);

            app.UseMvc(routes =>
            {
                routes.MapRoute("default", "{controller}/{action}/{id?}");
            });

The produced json contains a security node for each method, but I'm not sure this is correct - and NSWag studio does not add code to handle the authorization header to the generated client library.
"security": [
          {
            "apiKey": []
          }
        ]

Can anybody help me taking the right direction?  😚
Thanks for any help,
al.

We should upgrade to the new version of swagger ui (v3?) and add more customization options.

@RSuter that would be good 😊 I still have problems in seeing the swagger UI, even if I strip that part of code - any breaking changes recently?
I also would love you could add again the option to inject the HttpClient in NSwagStudio c# client generator: with previous version I used that to pass my bearer token to constructors, but now the option is gone and I'm not able to use generated library anymore - I have to modify generated code to inject HttpClient, so that I can pass the bearer token like this:
HttpClient c = new HttpClient(); string tok = this._httpc.HttpContext.Request.Cookies["Token"]; c.DefaultRequestHeaders.Authorization = new System.Net.Http.Headers.AuthenticationHeaderValue("Bearer", tok); MyProject.ClientLibrary.UsersClient ac = new MyProject.ClientLibrary.UsersClient(c);
Am I missing some other way to pass the token?
Thank you,
Alberto.

Just enable the setting InjectHttpClient in the C# code generator

@RSuter that's my problem, I cannot find the checkbox anymore in Studio version 8.3.6208.27063

https://github.com/RSuter/NSwag/blob/master/src/NSwagStudio/Views/CodeGenerators/SwaggerToCSharpClientGeneratorView.xaml#L131

@RSuter OMG I was using an old version of Studio, sorry to bother!
About my UI page not being shown - browser hangs on "fetching" bringing CPU to 100%, yet APIs do work correctly - could it be that nested resources cause such a problem? It used to work for me, but looks like now that I added includes the UI stopped.
Thanks,
al.

Try accessing the spec url directly and observe any exceptions

@RSuter I actually cannot see any errors nor in browser console nor on the server: it just keeps "fetching", CPU usage goes up (process "Google Chrome Helper" if using Chrome) but never can see something useful.
I'm trying to investigate myself, I read something about circular references that could break UI but I'm not sure that's the problem.

Nswag comes with swagger ui 2.x, maybe the new version 3.x fixes that?

@RSuter don't know if this means something, but I now noticed that my swagger URL is generated as "v1" (url=/swagger/v1/swagger.json), while the JSON says it's Swagger version 2 spec
{
  "x-generator": "NSwag v<IP_ADDRESS> (NJsonSchema v<IP_ADDRESS>)",
  "swagger": "2.0",
  "info": {
    "title": "My API",
    "description": "My API description",
    "version": "1.0.0"
  },
[...]

I'll try to mount my json on a version 3 UI to see what happens, thanks for your patience ;)

v1 is the version of your api (and is just a part of the url and can be changed). Swagger 2.0 specifies the format of the spec...

@RSuter yep thanks. I just downloaded latest Swagger UI (3.1.7), and it tells it cannot parse my JSON - I see it makes a request for the JSON, and then gives the error:
{"schemaValidationMessages":[{"level":"error","message":"Can't read from file http://cucciolo.local:5000/swagger/v1/swagger.json"}]}

Looks like something is wrong with the generated JSON, isn't it? How could I investigate the error?

A cors problem?

I do have a Cors setup, maybe I'm wrong?
In ConfigureServices I have:

  services.AddCors(options =>
            {
                options.AddPolicy("CorsPolicy",
                    builder => builder.AllowAnyOrigin()
                    .AllowAnyMethod()
                    .WithExposedHeaders("Content-Length", "Access-Control-Allow-Origin", "TotalRecords", "Origin")
                    .AllowCredentials()
                    .AllowAnyHeader());
            });

and then in Configure:
app.UseCors("CorsPolicy");

Currently running  ASPNet Core 2.0, but it was the same with 1.1 'til a couple of days ago.
Am I missing something here? I can successfully test the APIs with a web application I'm developing too.

Press F12 and check the "Network" tab (Chrome)

Ops, looks like you're right! Here's the error:
Fetch API cannot load http://cucciolo.local:5000/swagger/v1/swagger.json. No 'Access-Control-Allow-Origin' header is present on the requested resource. Origin 'null' is therefore not allowed access. If an opaque response serves your needs, set the request's mode to 'no-cors' to fetch the resource with CORS disabled.

I thought the "AllowAnyOrigin()" was enough, but it's not....

Yeah, this is a PITA. This works for me:
https://github.com/RSuter/NSwag/blob/master/src/NSwag.Sample.NetCoreAngular/Startup.cs#L43

Ok I managed to fix the CORS problem, add to move it before AddMvc :-|
But then also this new swagger UI does not parse my spec, and the browser doesn't show other errors.
Might be something in my API that pulls it into some infinite loop, I guess.

Theres also redoc ;-)
https://github.com/Rebilly/ReDoc

I'm upgrading to Swagger UI 3.x and adding ReDoc:

Im upgrading to Swagger UI 3.x and adding ReDoc:
https://github.com/RSuter/NSwag/tree/redoc-and-new-swagger-ui

Just FYI: Swagger UI 3.x (UseSwaggerUi3()) and ReDoc (UseSwaggerReDoc()) can now be used with the latest release.

@RSuter thanks for the update: I'm constantly updating to latest release but still get the same problem - will try to look into this more deeply in the next days!

Any success adding JWT tokens from SwaggerUI?
I can make it work in Angular 5 with the nwag generated JS client, but can't figure out how to successfully tweak the SwaggerUI through UseWaggerUI3 in the .Net Core server side settings.

In order to save someone countless hours of confusion and self-doubt, app.UseSwaggerUi3() has to come before app.UseSwagger() for the custom header to work.
// this has in Startup.Configure() first
app.UseSwaggerUi3(typeof(Startup).GetTypeInfo().Assembly, swaggerSettings =>
{
    swaggerSettings.GeneratorSettings.OperationProcessors.Add(new OperationSecurityScopeProcessor("custom-auth"));

    swaggerSettings.GeneratorSettings.DocumentProcessors.Add(
        new SecurityDefinitionAppender("custom-auth", new SwaggerSecurityScheme
        {
            Type = SwaggerSecuritySchemeType.ApiKey,
            Name = "header-name",
            Description = "The language of the response",
            In = SwaggerSecurityApiKeyLocation.Header
        }));
});

// followed by this
app.UseSwagger(typeof(Startup).Assembly, swaggerSettings =>
{
    swaggerSettings.GeneratorSettings.DefaultEnumHandling = EnumHandling.String;
    swaggerSettings.PostProcess = document =>
    {
        document.Info.Version = "v1";
        document.Info.Title = "ToDo API";
        document.Info.Description = "A simple ASP.NET Core web API";
        document.Info.TermsOfService = "None";
        document.Info.Contact = new NSwag.SwaggerContact
        {
            Name = "Shayne Boyer",
            Email = string.Empty,
            Url = "https://twitter.com/spboyer"
        };
        document.Info.License = new NSwag.SwaggerLicense
        {
            Name = "Use under LICX",
            Url = "https://example.com/license"
        };
    };
});

BTW: UseSwaggerUi3 already contains UseSwagger and thus UseSwagger is not needed (or you have to call it after thenother method).

BTW: UseSwaggerUi3 already contains UseSwagger and thus UseSwagger is not needed (or you have to call it after the other method).

@RSuter I didn't know that. I'm new and was following the tutorial on Microsoft Doc. Thanks a lot.

Hi, @trapias,
Do you know by any chance how to add 'application/octet-stream'
to the Response content type dropdown in the SwaggerUI.
Thanks!

@AnaitBI no sorry, let me know if you find the way!

Hi, @trapias,
Do you know by any chance how to add 'application/octet-stream'
to the Response content type dropdown in the SwaggerUI.
Thanks!

Add a [Produces("application/octet-stream", "application/json")] attribute, you can add multiple types as shown here.

Here's how you get JWT tokens working with v12.0.14 (.NET Core 2.2):
			services.AddMvc();
			services.AddSwaggerDocument(document =>
			{
				// Add an authenticate button to Swagger for JWT tokens
				document.OperationProcessors.Add(new OperationSecurityScopeProcessor("JWT"));
				document.DocumentProcessors.Add(new SecurityDefinitionAppender("JWT", new SwaggerSecurityScheme
				{
					Type = SwaggerSecuritySchemeType.ApiKey,
					Name = "Authorization",
					In = SwaggerSecurityApiKeyLocation.Header,
					Description = "Type into the textbox: Bearer {your JWT token}. You can get a JWT token from /Authorization/Authenticate."
				}));

				// Post process the generated document
				document.PostProcess = d => d.Info.Title = "Hello world!";
			});

@yetanotherchris maybe it would make sense to update the wiki with your findings?
https://github.com/RSuter/NSwag/wiki/AspNetCore-Middleware

@RSuter I've updated https://github.com/RSuter/NSwag/wiki/AspNetCore-Middleware

Here's how you get JWT tokens working with v12.0.14 (.NET Core 2.2):
services.AddMvc();
services.AddSwaggerDocument(document =>
{
    // Add an authenticate button to Swagger for JWT tokens
    document.OperationProcessors.Add(new OperationSecurityScopeProcessor("JWT"));
    document.DocumentProcessors.Add(new SecurityDefinitionAppender("JWT", new SwaggerSecurityScheme
    {
        Type = SwaggerSecuritySchemeType.ApiKey,
        Name = "Authorization",
        In = SwaggerSecurityApiKeyLocation.Header,
        Description = "Type into the textbox: Bearer {your JWT token}. You can get a JWT token from /Authorization/Authenticate."
    }));

    // Post process the generated document
    document.PostProcess = d => d.Info.Title = "Hello world!";
});

I just upgraded the NSwag.AspNetCore nuget package to v12.2.4 and now I get the following deprecation warning when using the above code:
'SecurityDefinitionAppender.SecurityDefinitionAppender(string, SwaggerSecurityScheme)' is obsolete: 'Use the constructor with scopeNames parameter instead.'
I see that there is now this constructor:
public SecurityDefinitionAppender(string name, IEnumerable<string> scopeNames, SwaggerSecurityScheme swaggerSecurityScheme);
but can you enlighten me as to what I should use for the scopeNames; particularly since I don't know why I should care about this param?

Use Enumerable.Empty<string>()

See https://github.com/RicoSuter/NSwag/wiki/AspNetCore-Middleware#add-oauth2-authorization-openapi-3

See https://github.com/RicoSuter/NSwag/wiki/AspNetCore-Middleware#add-oauth2-authorization-openapi-3

I couldn't make the above work out of the box.
It seems like the sample has an ambiguity in naming the AddSecurity as "JWT" and the OperationSecurityScopeProcessor as "bearer".
If I changed both to i.e. "JWT token", it started to work.
This is my version:
`
services.AddSwaggerDocument(conf =>
{
conf.Title = "Some UI title";
conf.Description = "Some UI description during auth.";
            conf.OperationProcessors.Add(new OperationSecurityScopeProcessor("JWT token"));
            conf.AddSecurity("JWT token", Enumerable.Empty<string>(),
                new SwaggerSecurityScheme()
                {
                    Type = SwaggerSecuritySchemeType.ApiKey,
                    Name = nameof(Authorization),
                    In = SwaggerSecurityApiKeyLocation.Header,
                    Description = "Copy this into  the value field: \nBearer {my long token}"
                }
            );
        });

`

I tried the solution posted above on my .NET Core 2.2 App using latest NSwag.AspNetCore (v13.0.4) package:
Startup.ConfigureServices():
services.AddMvc().SetCompatibilityVersion(CompatibilityVersion.Version_2_2);
services.AddOpenApiDocument(config =>
{
	config.DocumentName = "OpenApi3";
	config.OperationProcessors.Add(new OperationSecurityScopeProcessor("Bearer"));
	config.AddSecurity("Bearer", Enumerable.Empty<string>(),
		new OpenApiSecurityScheme()
		{
			Type = OpenApiSecuritySchemeType.ApiKey,
			Name = nameof(Authorization),
			In = OpenApiSecurityApiKeyLocation.Header,
			Description = "Copy this into the value field: Bearer {token}"
		}
	);
});

Startup.Configure():
...
app.UseMvc();
app.UseOpenApi();
app.UseSwaggerUi3();
app.UseAuthentication();
...

But when I run and check the generated OpenAPI file, the "security" field is empty:

What am I doing wrong here? Any help is appreciated!
@RicoSuter

It looks very much like what I have up and running, however:
I use AddSwaggerDocument instead of AddOpenAPIDocument
I use the key "JWT Token" instead of "Bearer"
I don't set the DocumentName

The Enumerable.Empty<string>() will create an empty "Bearer": []
But AddSecurity() will add "securitySchemes"..

@renepape, @RicoSuter
I removed the DocumentName setting, it made no effect for the OpenAPI 3 document. But I added the AddSwaggerDocument to see if it works for OpenAPI 2, here's my updated code:
services.AddOpenApiDocument(config =>
{
	config.DocumentName = "OpenAPI 3";
	config.OperationProcessors.Add(new OperationSecurityScopeProcessor("JWT Token"));
	config.AddSecurity("JWT Token", Enumerable.Empty<string>(),
		new OpenApiSecurityScheme()
		{
			Type = OpenApiSecuritySchemeType.ApiKey,
			Name = nameof(Authorization),
			In = OpenApiSecurityApiKeyLocation.Header,
			Description = "Copy this into the value field: Bearer {token}"
		}
	);
});

services.AddSwaggerDocument(config =>
{
	config.DocumentName = "OpenAPI 2";
	config.OperationProcessors.Add(new OperationSecurityScopeProcessor("JWT Token"));
	config.AddSecurity("JWT Token", Enumerable.Empty<string>(),
		new OpenApiSecurityScheme()
		{
			Type = OpenApiSecuritySchemeType.ApiKey,
			Name = nameof(Authorization),
			In = OpenApiSecurityApiKeyLocation.Header,
			Description = "Copy this into the value field: Bearer {token}"
		}
	);
});

My OpenAPI 3 Document is unchanged as:

However, this is how my OpenAPI 2 document is:

Am I doing anything incorrect for the OpenAPI 3 version?
Also, any leads on how to render this Authorization on each of my endpoints on the UI so I can pass a token through the "Try it out" feature on Swagger UI?

I hit this same bug in OAuth3 descriptors... how can we get it fixed?

The fix? https://github.com/RicoSuter/NSwag/pull/2305

You can configure also it as follows:
settings.OperationProcessors.Add(new OperationSecurityScopeProcessor("auth"));
settings.DocumentProcessors.Add(new SecurityDefinitionAppender("auth", new OpenApiSecurityScheme
{
    Type = OpenApiSecuritySchemeType.Http,
    In = OpenApiSecurityApiKeyLocation.Header,
    Scheme = "bearer",
    BearerFormat = "jwt"
}));

it should show as follows

Adding the following OperationProcessor to AddOpenApiDocument solved the issue for me.
config.OperationProcessors.Add(new AspNetCoreOperationSecurityScopeProcessor("JWT Token"));
Now Authorization header is passed with the Try out request


Vulnerability reported (by Wordfence plugin)

Critical Problems:

The Plugin "PDFjs Viewer - Embed PDFs" has a security vulnerability.

Vulnerability Severity: 6.4/10.0 (Medium) Vulnerability Information
https://wordpress.org/plugins/pdfjs-viewer-shortcode/#developers

It's being worked on and a new version will be released in the next few days.

Thanks for the update and rapid response!
On Fri, 7 Jun 2024, 20:30 Thomas McMahon, @.***> wrote:

It's being worked on and a new version will be released in the next few
days.
—
Reply to this email directly, view it on GitHub
https://github.com/TwisterMc/pdfjs-viewer-shortcode/issues/31#issuecomment-2155403477,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AEUQUUFTOTCA76AHHF5EONDZGIC6LAVCNFSM6AAAAABI7ADPQSVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDCNJVGQYDGNBXG4
.
You are receiving this because you authored the thread.Message ID:
@.***>


Introduce tsc-new-check in app/domain/graphql

Convert default config yaml file into json
Standardize custom error aguments
Fix a few type problems

Convert default config yaml file into json
why? 😟


CollapsibleStackSub

Trying to implement CollapsibleStackSub for hiding searchBar and actions on the basis of scrolling Flatlist.
Instead on using this my searchBar is completely gone and there's no action I can see while scrolling too (the list renders though). For the reference I have attached screenshots of both the cases..
@benevbright  Could you please help me out on this ??

The first screenshot is without the library and the second one is with it?
Could you share your code? And may I suggest to try to run the example of this library?


[Feat] - Added CodeQL Analysis Workflow

Description:
This PR adds CodeQL Analysis workflow to the project
More Info: https://codeql.github.com/

Hello, I am a code review bot on flows.network.
It could take a few minutes for me to analyze this PR. Relax, grab a cup of coffee and check back later. Thanks!

LGTM


Why does the drawing look like trash?

Like look at dis. It looks really soft n stuff.

Tap the Settings button and play around with some of the options there. There's additional options to tweak in the code that aren't in the settings as well, but that'll show more of the possibility.


[Candidate 1v1 Stonehenge ZH v1] Are map.ini changes safe?

Issue Description
Are map.ini changes safe?
WaterSet MORNING
SkyTexture = TSsunny_s.dds
WaterTexture = TSWater.dds
UScrollPerMS = 15.00
VScrollPerMS = 15.00
SkyTexelsPerUnit = 3.2
WaterRepeatCount = 32
End

WaterTransparency
TransparentWaterMinOpacity = 0.7 ;opacity of water at maximum depth - 1.0 is opaque, 0 transparent.
TransparentWaterDepth = 4.0 ;depth below water surface at which it becomes opaque (unless clipped by TransparentWaterMinOpacity)
StandingWaterColor = R:107 G:100 B:243 ;material color used to tint the water surface.
StandingWaterTexture = TWWater01.tga ; main texture used for water (usually something blue that looks like water).
AdditiveBlending = YES; use additive blending instead of alpha blending?
RadarWaterColor = R:107 G:200 B:243 ; color of water on radar display.

SkyboxTextureN = TSSunny_N.dds
SkyboxTextureE = TSSunny_E.dds
SkyboxTextureS = TSSunny_S.dds
SkyboxTextureW = TSSunny_W.dds
SkyboxTextureT = TSSunny_T.dds
End

Expected behavior
Map.ini changes do no carry over to other maps.

It's all about water colours and transperency which slightly changed to fit to the map. All fine to me.


Teams to support ACAPY transition

@WadeBarnes

@swcurran I want to be sure these are the new teams and people the project wants

Adjustments that I think are needed:

Remove from all lists:

aholovko
auer-martin
baha-ai
dhh1128
nage
rolsonquadras
troyronda
wadeking98

Add

dbluhm to Admins list

@swcurran dbluhm is in the admins list?


What is wrong with name of Cookie on getting?

What steps will reproduce the problem?
In controller I have sent cookies like this:
Yii::$app->response->cookies->add(new yii\web\Cookie(['name' => 'user.name', 'value' => 'Jack Black']));
and
Yii::$app->response->cookies->add(new yii\web\Cookie(['name' => 'user-login', 'value' => 'jack']));
Then to get cookies in view I use code like this:
Yii::$app->request->cookies->getValue('user.name');
and
Yii::$app->request->cookies->getValue('user-login');
What is the expected result?
I waiting for 'Jack Black' and 'jack'.
What do you get instead?
I receive a NULL value and 'jack'.
Why dot symbol is not allowed in cookie on getting?
Additional info

Q
A

Yii version
2.0.12

PHP version
5.4

Operating system
Ubuntu

What do you have in $_COOKIES?

Cause this
Yii::$app->response->cookies->add(new yii\web\Cookie(['name' => 'user.name', 'value' => 'Jack Black']));
sets cookie to response. Nothing more.

And you read cookies from request.
Request cookies and response cookies are different cookie bags.

@dmirogin I think he actually means reading cookie in a view in the next request, not the same one. Am I right, @papalapa?

@dmirogin, @samdark is right about setting and getting cookies.
The browser cookies after this manipulations has both variables: user.name and user-login, but on getting  values I have this:
var_dump(Yii::$app->request->cookies->getValue('user-login')); // jack
var_dump(Yii::$app->request->cookies->getValue('user.name')); // NULL
I think problem is in «.» symbol in cookie variable name.

Yes https://harrybailey.com/2009/04/dots-arent-allowed-in-php-cookie-names/

Not sure we should handle it.

Oh, it is deeper than seems. I have never thinking about global variable names. Thank you @samdark.

Either we should convert dots to underscores behind the scenes or throw an exception for cookies with dots in their names.

I think throwing an exception will be a better way to handle it.

Yes. Agree.


Preflight daemonset with wrong tolerations

Is there an existing issue for this?

[X] I have searched the existing issues

What happened?
By default the tolerations set for the preflight checks are:
  tolerations:
    - key: node.kubernetes.io/not-ready
      effect: NoSchedule
    - key: node-role.kubernetes.io/master
      effect: NoSchedule
    - key: node.cloudprovider.kubernetes.io/uninitialized
      effect: NoSchedule
      value: "true"
    - key: CriticalAddonsOnly
      operator: "Exists"

Which are good but not enough, in particular if some nodes have a taint those won't be subject to the preflight check, the cilium daemonset have the following toleration:
  tolerations:
  - operator: Exists

Which is more reasonable.
Cilium Version
n/a
Kernel Version
n/a
Kubernetes Version
n/a
Sysdump
No response
Relevant log output
No response
Anything else?
No response
Code of Conduct

[X] I agree to follow this project's Code of Conduct

Is there any kind of node that the pre-flight should not be running on in a k8s cluster?

This issue has not seen any activity since it was marked stale. Closing.

Looks like this is an incorrect action. Commenting to keep open.


[AMBARI-23203] Add mpack-instance-manager package dependency for ambari-agent (dsen)

What changes were proposed in this pull request?
mpack-instance-manager package should be installed with ambari-agent package

Refer to this link for build results (access rights to CI server needed):
https://builds.apache.org/job/Ambari-Github-PullRequest-Builder/1109/
Test FAILed.
Test FAILured.


Bug-fix - Make target with multiple recipes

Issue link

Closes https://github.com/project-codeflare/codeflare-operator/issues/219
What changes have been made

Changed the make target to a unique one.
Verification steps

Can now run make kind-e2e and it will create a kind cluster.
Checks

[x] I've made sure the tests are passing.
Testing Strategy

[ ] Unit tests
[ ] Manual tests
[x] Testing is not required for this change

/lgtm
Thanks!

/approve


conditionnal platform assets

Use case
in pubspec.yaml I have the following assets:
  assets:
    - assets/other/foo.txt
    - assets/other/bar.jpg
    - assets/bin/mac/my_bin
    - assets/bin/windows/my_bin.exe

So on Windows, my app contains a useless MacOS binary and on MacOS my  app contains a useless Windows binary
Can we add a way to declare assets for specific platforms?
Proposal
  assets:
    - assets/other/foo.txt
    - assets/other/bar.jpg
    mac:
         - assets/bin/mac/my_bin
    windows:
         - assets/bin/windows/my_bin.exe

Closing this as duplicate of https://github.com/flutter/flutter/issues/65065 and  https://github.com/flutter/flutter/issues/8230.


Fix bug when multiple qubits are measured in sparse simulator

Doh: append(*list) works when the list is length one but not really what was wanted.

There was a py2test failure unrelated to this pull request.

Automerge: started

Automerge done.


Wallet address cannot be restored

The address generated by importing mnemonic words to 'unsat' or 'okx' does not match

#8

I have FB and CAT balances in my account, and the path is also set to m/44 '/0'/0 '/0/0. I cannot recover my wallet

I have FB and CAT balances in my account, and the path is also set to m/44 '/0'/0 '/0/0. I cannot recover my wallet

Hi @llqllq1024,
It looks like you're encountering a transcript error in your command. To get this resolved, please reach out to our support team.
When contacting them, provide the ticket ID CAT7638. You can access the support page through this link: Cat Token DApps Support Ticket Requests.
Click the live chat icon at the bottom corner to connect with a support agent.
Best regards.

Unable to access link

use custom hd path
m/86'/0'/0'/0/0


remove Kona EV from LEGACY_SAFETY_MODE_CAR Update values.py

remove the CAR.KONA_EV from the LEGACY_SAFETY_MODE_CAR
616f048bf31258b7|2022-04-23--20-38-39--3
my car is a 2021 Hyundai Kona EV guess we should look at expanding support model years too

also I need to add DisableRadar_Allow in the params/d folder, but I think that is a safety thing? as using OP long disables my FCW.

Updated the model years in d9683b63dfd40e1fde3a07df62a380c798cae5b6. In order to move cars into the normal safety mode, we'll need to verify on our end that no cars will regress. This likely works fine on your car, but may not a 2018 Kona EV for example. We're tracking this in  #24136, and in the meantime are adding longitudinal support to the legacy safety mode in https://github.com/commaai/panda/pull/904/.


[v1.7.x] backport #18500 - [Bug Fixed] Fix batch norm when grad_req is add

Description
Bacport #18500
I only change the unit-test to make it compatible with the eldder version of MXNet.
Checklist
Essentials
Please feel free to remove inapplicable items for your PR.

[x] The PR title starts with [MXNET-$JIRA_ID], where $JIRA_ID refers to the relevant JIRA issue created (except PRs with tiny changes)
[x] Changes are complete (i.e. I finished coding on this PR)
[x] All changes have test coverage:
Unit tests are added for small changes to verify correctness (e.g. adding a new operator)
Nightly tests are added for complicated/long-running ones (e.g. changing distributed kvstore)
Build tests will be added for build configuration changes (e.g. adding a new build option with NCCL)
[x] Code is well-documented:
For user-facing API changes, API doc string has been updated.
For new C++ functions in header files, their functionalities and arguments are documented.
For new examples, README.md is added to explain the what the example does, the source of the dataset, expected performance on test set and reference to the original paper if applicable
Check the API doc at https://mxnet-ci-doc.s3-accelerate.dualstack.amazonaws.com/PR-$PR_ID/$BUILD_ID/index.html
[x] To the best of my knowledge, examples are either not affected by this change, or have been fixed to be compatible with this change

Changes

[x] backport #18500
[x] change the unit-test to make it compatible with the eldder version of MXNet.

Comments

If this change is a backward incompatible change, why must this change be made.
Interesting edge cases to note here

Hi @TaoLv , @pengzhao-intel please help to review and merged. This PR fixed the functionality issue for BN gradient. The corresponding one for master was merged https://github.com/apache/incubator-mxnet/pull/18500.


ble doesn't work on recompile.

I tried the redbearlab serial example with the application available via the google play store and it works great.  I thien tried to make my own cordova app of it but cannot seem to get ble working.  After trying many things I tried to just build the viewer app locally and then see if that works.  It does not.  This is on an android nexus 6.  I am not sure what other details I could provide but some guidance would be helpful.

It looks like some of my problems were related to having incomplete build environment on my mac.  I needed to install libstd32++c and libz321 on my debian box to get it to build.   I have succeeded in building master branch now, but still do not have working ble support once loaded.

I was able to get everything building.  I have also switched to oracle jdk to be more like what you guys use to build.  i have at least one working plugin as the accelerometer code works in my compile of the viewer. ble still does not.
I tried running the ble scan code, and then going into the debugger in evothings-studio.
console.log("im doing it");
test_mog = function(device,errorCode)
{
    if (device) {
        console.log('found + ' + device);
    } else if (errorCode) {
        console.log('error + ' + errorCode);
    }
};

app.startScan(test_mog);
console.log('scanning');

all i see in the log is im doing it and then scanning.  no error messages.
is there anything else i should be trying?

this is a bug in cordova-ble in regards to android sdk version 23 change in permission model https://code.google.com/p/android-developer-preview/issues/detail?id=3055
when i rolled back target sdk version to 22 it worked fine.


Unable to load this module with WebPack

bug? I use with babel-loader 6.2.4 and  babel-preset-es2015 6.9.0
node_modules/react-multistep/src/index.js Unexpected token (98:6)
You may need an appropriate loader to handle this file type.

I see, it is due to index.js contains jsx code, but webpack does not automatically apply jsx loader for it.

@chuan137 I have also found this error. I have solved for now including this folder in my webpack.config, and changing the .babelrc of the package to one compatible with my installation. This way my webpack  parses the code like if its mine.
Any better solution would be appreciated

I can only ask that if you guys find a solution to support both browserify and webpack - I'll gladly take the PR.
Otherwise, until I get more free time - browserify only, I'm afraid...

@ciaoben Could you possibly elaborate on your workaround please? Would be great to get this working in my webpack project too!

@rikkipitt hey, it turned out to be a bad idea. Lot of problems emerged. I have ended up with my total custom solution... it is a pretty easy concept to integrate with react and it is always a less dependency 😃

@ciaoben Since I asked you I rolled my own version too! Cheers anyway!

:+1:


refactor ApplySummonForm patch

remove patches from InflictCondition and RemoveCondition;
embed logic within ApplySummonForm patch using a transpiler;

Keep in mind we need to keep this under our radar before PRD release. Reason is dev build doesn’t have any optimization and big changes that local won’t be 35 anymore…

@ChrisPJohn , after Bazou fixes were merge here. no more null object.

@PhilPJL : I checked this with other summonings and all cool. Can you check as well?
@RealBazou : are you ok with these changes?


Restyling clusterHelper.js

Problem
ClustersHelper.js is not restyled so it shows a large diff when making changes to it.
Change overview
Ran ./scripts/helpers/restyle-diff.sh on ClustersHelper.js
Testing
No tests were added for this.

My guess is that this was restyled with a different clang-format version than CI uses. It looks like our restyle.yaml uses clang-format for .js files.

My guess is that this was restyled with a different clang-format version than CI uses. It looks like our restyle.yaml uses clang-format for .js files.

I tried with clang-format 13 and still I do not see a similar delta.


Feature: Firewall rules based on domain name instead IP

I didn't found any information about how to configure firewall rules based on their domain names. Some Cloud based applicates are using dynamic IP-addresses and it's not that easy to handle the respective IPs for a belonging firewall rule.
Therefore my request is about to add this section into the official documentation or/and implement a solution for this.
I'm not an networking expert. I hope this feature isn't already available and I just don't know the right naming for such feature.

You can use host aliases for this purpose. 😊

You can use host aliases for this purpose. 😊

Really? So easy and I didn't tested it? Thank you. Will give it a try :-)


object has no attribute 'variation'

Greeting,
Thank you for this plugin.
The plugin worked but now it doesn't work anymore and I get the message: "system-Sail_Instrument'Plugin' object has no attribute 'variation'"
How to resolve the problem?
Another question. I use avnav with signalk for data acquisition. The display of the plugins does not seem to work if I do not also send the information in UDP nmea. However, with only the signalk connection, it calculates the derived data well.

hello mat214,
my first impression is that you are using an old version of avnav. could you please try the lates daily 20240405 or at least the latest release 20230705.
also the second issue with signalk is related to avnav, because the plugin itself does not read any data, instead is only using data from avnav store.
please comment, if this helps, otherwise we have to look further in detail.
regards kd

Hello mat214 and kd
I am having exactly the same issue with sailinstrument 20240408.
I am using avnav 20230705 on RPI4
The plugin worked, and suddenly it doesn't work. Restarting avnav server doesn't help immedietly, but suddenly after some minutes, the plugin works again.
Please see attached screendump.
regards Jan

hi,
i just checked again and it seems as if the variation has been introduced in avnav only after version 20240405. this could cause the problem. so i ask also you to check with the latest daily (currently 20240422. unfortunately i have not received any answer from mat214. i will ask andreas when the next release-version is planned, because there have been a lot of modifications in reading and storing of input values. it would be nice to get an answer from you, if it is working with the last version. this would give me the possibility to change the dependencies for the installation.
regards kd

Good morning,
Sorry for not responding, I was at sea and then I didn't come back to you.
The variation problem comes from the fact that my gnss returned a null value for magnetic variation. I use the magnetic variation of the signalk derived data plugins, I set signalk to use this value and it works very well.
But if you need to know that avanav does not manage nmea connections I let signalk take care of it.
I have two questions/problems left:
the refresh rate of the data calculation by the plugins is very slow for sending to my instruments. I have to keep derived data to send VMG type data to my network.
I don't understand how to install the polars of my first 25. the .pol files do not look like the polar file of the plugins.

hello mat214,
first quick answer to your questions:
you can change the refresh rate by adjusting the period in the configuration of the plugin ( i.e. to 0.1 sec).
for the polar file i will come back with an explanation soon, but is is simply a 2-dimensional matrix of speed through water with the x-axis as vector TWS and y-axis as vector TWA. you can modify it using the download page/UserFiles -> Edit
regards kd

hello jan, mat214,
unfortunately i'm not able to reproduce the issue on my development system. Could you please provide a NMEA-Logfile of the data where you observed the failure?
(Procedure: Server/Status-Page -> AVNNmeaLogger: Empty filter string and set interval to 0, empty the tracks directory, restart avnav and let it run for some time, provide the created xxxx-xx-xx.nmea file from tracks directory).
thank you and regards
kd

hello jan, mat214,
i think i found the mistake. i made a new PreRelease (20240427). It would be nice if you could test it before i ask to publish it in the repositories.
regards kd

Hi kd
Glad to hear you probably found the reason.
I would like to test 20240427, but I need some hints how to install it.
My knowledge to debian is not so good.
I normally use the update screen inn avnav, so I am not sure what to do with the "avnav-sailinstrument-plugin_20240427_all.deb" file.
My avnav installation is based on an openplotter image.
Could you give me some hints?
regards Jan

Hi jan,
the precedure is described in the installation section of the wiki.
Simply download the package (https://github.com/kdschmidt1/Sail_Instrument/releases/tag/20240427) and then run
sudo apt install /path/to/avnav-sailinstrument-plugin_xxxx.deb
from the command line in the terminal. (be aware that it might take up to 600 (wmm_period) seconds before the plugin is calculating the actual variation. This will be fixed with the upcoming release).
Regards kd
Dr.-Ing. Klaus Dieter Schmidt
Hauptstrasse 52A
D-78269 Volkertshausen
@.***
*+49 171 36 19 275
Von: AaskovKnudsen @.>
Gesendet: Sonntag, 28. April 2024 08:00
An: kdschmidt1/Sail_Instrument @.>
Cc: kdschmidt1 @.>; State change @.>
Betreff: Re: [kdschmidt1/Sail_Instrument] object has no attribute 'variation' (Issue #22)
Hi kd
Glad to hear you probably found the reason.
I would like to test 20240427, but I need some hints how to install it.
My knowledge to debian is not so good.
I normally use the update screen inn avnav, so I am not sure what to do with the "avnav-sailinstrument-plugin_20240427_all.deb" file.
My avnav installation is based on an openplotter image.
Could you give me some hints?
regards Jan
—
Reply to this email directly, view it on GitHub https://github.com/kdschmidt1/Sail_Instrument/issues/22#issuecomment-2081345898 , or unsubscribe https://github.com/notifications/unsubscribe-auth/ANNAQYRXE3L5GT6TWJPAJKLY7SF53AVCNFSM6AAAAABGJFQ5WWVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDAOBRGM2DKOBZHA .
You are receiving this because you modified the open/close state.  https://github.com/notifications/beacon/ANNAQYRCCS2AVBG4OCNNU6LY7SF53A5CNFSM6AAAAABGJFQ5WWWGG33NNVSW45C7OR4XAZNMJFZXG5LFINXW23LFNZ2KUY3PNVWWK3TUL5UWJTT4B3IWU.gif Message ID: @.*** @.***> >

Hi jan,
the precedure is described in the installation section of the wiki.
Simply download the package (https://github.com/kdschmidt1/Sail_Instrument/releases/tag/20240427) and then run
sudo apt install /path/to/avnav-sailinstrument-plugin_xxxx.deb
from the command line in the terminal. (be aware that it might take up to 600 (wmm_period) seconds before the plugin is calculating the actual variation. This will be fixed with the upcoming release).
Regards kd

Hi Jan,Nice, thank you for the reply.regards kdVon meinem/meiner Galaxy gesendet
-------- Ursprüngliche Nachricht --------Von: AaskovKnudsen @.> Datum: 29.04.24  11:28  (GMT+01:00) An: kdschmidt1/Sail_Instrument @.> Cc: kdschmidt1 @.>, State change @.> Betreff: Re: [kdschmidt1/Sail_Instrument] object has no attribute 'variation' (Issue #22)
Hi kd
I have now tested 20240427 for some hours without any problem, so I think you solved the issue.
Thank you for helping.
Regards Jan
—Reply to this email directly, view it on GitHub, or unsubscribe.You are receiving this because you modified the open/close state.Message ID: @.***>


feat(discord): allow $ as prefix

PR Checklist
Please check if your PR fulfills the following requirements:

[x] The commit message follows our guidelines
[x] Tests for the changes have been added/updated (for bugfix/feature)
[ ] Docs have been added/updated (for bugfix/feature)

PR Type
What kind of change does this PR introduce?

[x] Feature (a new feature)
[ ] Bugfix (a bug fix)
[ ] Style (changes that do not affect the meaning of the code (white-space, formatting, missing semi-colons, etc))
[ ] Refactor (a code change that neither fixes a bug nor adds a feature)
[ ] Perf (a code change that improves performance)
[ ] Test (adding missing tests or correcting existing tests)
[ ] Build (changes that affect the build system, CI configuration or external dependencies)
[ ] Chore (anything else), please describe:

What is the current behavior?

What is the new behavior?
Does this PR introduce a breaking change?

[ ] Yes
[x] No

Other information

Once the PR is landed, we should update the Discord Apps and Bots documentation to include the $ prefix.

@C0ZEN self-note: update the tests due to new suffix.

Updated the Discord Apps and Bots documentation to include the $ prefix.


[WIP]Run swift populate first time we deploy rings

swift-dispersion-populate is not being run automatically causing the swift-dispersion check to fail out of the box, /etc/sensu/plugins/check-swift-dispersion.sh

Please do not merge..still testing on different deploys, will update PR once done on different certs

I think this looks alright.

@j2sol Changes have been tested... Had to add flush handlers task to make sure rings were built... And added some comments as well

+1


Issue #44

Codecov Report

Merging #48 (9b54b03) into main (2a17535) will not change coverage.
The diff coverage is 100.00%.

@@            Coverage Diff            @@
##              main       #48   +/-   ##
=========================================
  Coverage   100.00%   100.00%
=========================================
  Files            3         3
  Lines          212       212
  Branches        53        51    -2
=========================================
  Hits           212       212

Impacted Files
Coverage Δ

src/main/Constants.ts
100.00% <ø> (ø)

src/main/index.ts
100.00% <100.00%> (ø)

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 2a17535...9b54b03. Read the comment docs.


pubsub refactor

pubsub.wit refactor
change 1

Before:

send-message-to-topic: function(msg-key: payload, msg-value: payload, topic: string) -> expected<unit, error>

After:

publish: function(message: payload, topic: string) -> expected<unit, error>

What changed?

name (send-message-to-topic → publish), and
eliminated the concept of keys (while keys are useful when strong ordering of messages is required, they are not present in most pubsub implementations I've seen out there).

change 2

Before:

subscribe-to-topic: function(topic: list<string>) -> expected<unit, error>

After:

subscribe: function(topic: string) -> expected<unit, error>

What changed?

name (subscribe-to-topic → subscribe), and
now we subscribe to a single topic rather than a batch (the user interaction is now a bit less awkward it they just want to subscribe to a single topic).

change 3

Before:

poll-for-message: function(timeout-in-secs: u64) -> expected<message, error>

After:

receive: function() -> expected<payload, error>

What changed?

name (poll-for-message → receive), and
now we no longer poll for messages for a specified amount of time, we just block on receive. Plus, as per change 1 (where we eliminated the key), we now return a payload (i.e., Vec<u8> in this case) instead of a message — the message type has been removed from types.wit too.

epilogue
Plus, I've brought back our Kafka example by downgrading my account from a standard one (which used up all our free credits) to a free one — This refactor was tested, here's the output:

what we think about receive vs registering an event handler

It's a good question. It's contrasting two directions we can go with. One direction is to implement a watch function for each capability that makes sense to be observable. Another direction is to implement the PubSub capability for that component.
For exmaple, we implemented watch for key-value filesystem. We can turn that using the second approach to an implementation of PubSub capability for the local filesystem.
I would say that since receive is a blocking call, the pubsub implementation cannot handle concurrent events. However, the watch implementation, because it generates a Store and an Instance per event handler, can handle concurrent events. This is really a constraint from wit-bindgen, and I expect when async is stablized in upstream, we can totally choose one way to go.


Added Buf files

Adding these files allows the project to be uploaded to the buf.build BSR. Apparently it won't work as a remote plugin, but it's still nice as a dependency for import "patch/go.proto"; in Buf projects.
See https://github.com/bufbuild/plugins/issues/858

Thanks! Is this a registry of Buf plugins? Should I create a username there to register this?

I created #174 which replicates this PR using an official distribution at https://buf.build/alta/protopatch.
Do you have a sense for what should be in the README to document how Buf users would use this?
  - local: protoc-gen-go-patch
    out: gen
    opt:
      - paths=source_relative
      - plugin=go

If you want to grab the changes from #174 and incorporate them here, I'd also like to see tests (local, CI) that validate Buf works.


[FEATURE]: Add service discovery via DNS SRV records

A great way to automate cluster forming seaweedfs master, volume and filer would be to pass a single address that is actually an SRV record for service discovery.
		IN	SRV

;; ANSWER SECTION:
_http.master.seaweedfs.service.consul.	5	IN	SRV	1 1 9333 ac1002ed.addr.us-east-1.consul.
_http.master.seaweedfs.service.consul.	5	IN	SRV	1 1 9333 ac100142.addr.us-east-1.consul.
_http.master.seaweedfs.service.consul.	5	IN	SRV	1 1 9333 ac100081.addr.us-east-1.consul.

		IN	SRV

;; ANSWER SECTION:
_grpc.master.seaweedfs.service.consul.	5	IN	SRV	1 1 19333 ac1002ed.addr.us-east-1.consul.
_grpc.master.seaweedfs.service.consul.	5	IN	SRV	1 1 19333 ac100142.addr.us-east-1.consul.
_grpc.master.seaweedfs.service.consul.	5	IN	SRV	1 1 19333 ac100081.addr.us-east-1.consul.

;; Query time: 0 msec
;; SERVER: <IP_ADDRESS>#53(<IP_ADDRESS>)
;; WHEN: Thu Jan 14 17:47:37 UTC 2021
;; MSG SIZE  rcvd: 499

This would make super easy to have multiple master and filers forming active-active clusters without hardcoding IPs and ports.

Thanks for the suggestion! This could help on configuring the ip address, and the rack and data center.
However, there are still many other parameters. And setting DNS records is not a trivial task. It is unlikely this will be a builtin feature.
How about adding some separate scripts for this feature? Welcome to send a PR.
In general, the setup is complicated. In K8s, this can be much simplified with Seaweed operator. https://github.com/seaweedfs/seaweedfs-operator

Thanks for the suggestion! This could help on configuring the ip address, and the rack and data center.
However, there are still many other parameters. And setting DNS records is not a trivial task. It is unlikely this will be a builtin feature.
How about adding some separate scripts for this feature? Welcome to send a PR.
In general, the setup is complicated. In K8s, this can be much simplified with Seaweed operator. https://github.com/seaweedfs/seaweedfs-operator

Hi @chrislusf hoping to reoen this.

setting DNS records is not a trivial task

I believe what is asked here is not for Seaweedfs to set or share DNS records, that can be left to service discovery providers like Consul. Instead, SeaweedFS only needs to resolve existing SRV records. This would allow:
Discovery of master.peers through SRV:

-master.peers=dnssrv+_http.master.seaweedfs.service.consul or
-master.peersSrv=dnssrv+_http.master.seaweedfs.service.consul

Discovery by downstream services through SRV

-master=dnssrv+_http.master.seaweedfs.service.consul or
-masterSrv=_http.master.seaweedfs.service.consul

This does not require SeaweedFS to run a DNS server or anything, only to resolve SRV records, which you can do with net.LookupSRV. If you think this is worth doing I can try to put together a PR.

This could also work with Kubernetes: https://kubernetes.io/docs/concepts/services-networking/dns-pod-service/#srv-records

For a headless Service, this resolves to multiple answers, one for each Pod that is backing the Service, and contains the port number and the domain name of the Pod of the form hostname.my-svc.my-namespace.svc.cluster-domain.example.

@danlsgiga @Cottand @n9 Thanks for your suggestions!
@Cottand Welcome for a PR!

I am not a go raft implementations expert, but will this work seaweedfs's goraft fork (https://github.com/seaweedfs/raft). Or would it "require" the useRaftHashicorp (https://github.com/hashicorp/raft)?
(reference https://github.com/seaweedfs/seaweedfs/pull/4097#issuecomment-1369461332)
cc @kmlebedev

For an initial PR I think I will just deal with discovering master, filer, etc, from their downstreams. For dealing with a changing raft cluster of masters I definitely need a better understanding of the existing implementation. For instance, the wiki suggests you need to restart the entire cluster to remove or add a master node


Can't Alias Device from UI

@tmack8001 I created this as a new issue because I have not determined if this is related to just #171 or #173 or a combination of both.
I have updated to the latest code and when the server rebooted my unaliases ZSeries was no longer on the home page.  The ZSeries was off so I woke it up and then I saw it on my home page.  One question here would be if it is expected that unaliased devices disappear from the home screen with this update?  Will it only happen once or will this happen every time the device goes offline?  I assume this will only happen once and has something to do with the new code being initialized.
Once I got the ZSeries back on  by home page I tried to alias it with the Devices page.  When going there no devices were seen.  Should the unaliases device be shown or is it expected that unaliases devices are not shown?  Since the unaliased device was not there I tried to Add New Device and used the Product ID of my unaliased device but when I try to save it I am told the Product ID is already configured.

The benefit of adding to config.yaml is that the knowledge of the device is persisted across server restarts. Whereas active sessions are only tracking exactly that active sessions from connected devices (sometimes remembering devices due to a non closed active session file).
No you are right in the sense that right now I aliased devices shouldn't appear in the /devoces UI. I had plans to do that and have a list at the top of pre-populate a drop-down select or something with the known product ids. What could be happening with the "already registered" is that the drain session you ran never closed and thus is still in the active session folder. I did add a "is this machine already registered" check, but I should modify that to verify the registered device already has an alias vs just detected. This actually is important now the eager session stuff is in place... So those independent PRs conflicted with each other a bit in that regard.
I'll leave this issue open to track the fix for that. Think right now it will be simply adding a session.alias != session.uid or similar to the registration conditional to be repurposed as a "is machine aliased" check instead.
Thanks for the prompt test and detailed report 👍

The benefit of adding to config.yaml is that the knowledge of the device is persisted across server restarts. Whereas active sessions are only tracking exactly that active sessions from connected devices (sometimes remembering devices due to a non closed active session file).
No you are right in the sense that right now I aliased devices shouldn't appear in the /devoces UI. I had plans to do that and have a list at the top of pre-populate a drop-down select or something with the known product ids. What could be happening with the "already registered" is that the drain session you ran never closed and thus is still in the active session folder. I did add a "is this machine already registered" check, but I should modify that to verify the registered device already has an alias vs just detected. This actually is important now the eager session stuff is in place... So those independent PRs conflicted with each other a bit in that regard.
I'll leave this issue open to track the fix for that. Think right now it will be simply adding a session.alias != session.uid or similar to the registration conditional to be repurposed as a "is machine aliased" check instead.
Thanks for the prompt test and detailed report 👍

Yes this is expected - since you never modified the config.yaml, there are no known devices on server reboot, so you won't have anything on shown on the main page until it reconnects (even with #173 - that just added a session as soon as devices first ping the server).  With #171, there's a device page where you have to either manually add a device in or select one that has been detected - the server isn't a psychic.

Yes this is expected - since you never modified the config.yaml, there are no known devices on server reboot, so you won't have anything on shown on the main page until it reconnects (even with #173 - that just added a session as soon as devices first ping the server).  With #171, there's a device page where you have to either manually add a device in or select one that has been detected - the server isn't a psychic.

Based on the information provided I understand now that an unaliased device will not show up on the home page after a server reboot until it rejoins while an aliased device will always show up on the home page through server reboots even if the device is offline.
@tmack8001 I am not sure if this may be an easier way to handle the device registration but during #173 if an unaliased device is found could you just add an entry to the config.yaml and use the Product ID as the alias name?  Then I assume you would be able to edit the alias name from the Devices page just like any other alias.  This may remove the need for the Add New Device function, thought I guess you could add a device before it was automatically added so I would just leave the function.  This would also remember all devices between server reboots because every device is actually aliased.
If automatically aliasing a joined device does not cause other issues it may interacting with these devices more intuitive as there are not 2 different type of devices, unaliased and aliased.

Based on the information provided I understand now that an unaliased device will not show up on the home page after a server reboot until it rejoins while an aliased device will always show up on the home page through server reboots even if the device is offline.
@tmack8001 I am not sure if this may be an easier way to handle the device registration but during #173 if an unaliased device is found could you just add an entry to the config.yaml and use the Product ID as the alias name?  Then I assume you would be able to edit the alias name from the Devices page just like any other alias.  This may remove the need for the Add New Device function, thought I guess you could add a device before it was automatically added so I would just leave the function.  This would also remember all devices between server reboots because every device is actually aliased.
If automatically aliasing a joined device does not cause other issues it may interacting with these devices more intuitive as there are not 2 different type of devices, unaliased and aliased.

Well no I wouldn't want to force fake aliases into config.
What I would love the index page to do is have a toggle for "show inactive devices" or even split the UI into "active" and "inactive" devices. This would be a nice way to filter out devices that aren't currently used. Say filter out brewing and stills when not actively having a session while prioritizing ferms, tilt (not supported yet) and iSpindel devices.
The code right now just forces a "session" for any connected device and automatically creates on even for "unconnected" devices when aliased (really makes for development and testing easier since I don't have all types of devices).
I personally always found it weird that devices show up when not actively doing something with the server 🤷♂, but can also understand if they don't show up it confuses some people that expect it to be like registration or something as they previously saw with Picobrew.com
The other thing that an explicit registration provides is the machine_type which can't be determined at runtime for all devices. Most yes since each series uses a device specific API, but that isn't true to tell the difference between Pico C and Pico S/Pro models which have different firmware to support the different screen sizes.

Well no I wouldn't want to force fake aliases into config.
What I would love the index page to do is have a toggle for "show inactive devices" or even split the UI into "active" and "inactive" devices. This would be a nice way to filter out devices that aren't currently used. Say filter out brewing and stills when not actively having a session while prioritizing ferms, tilt (not supported yet) and iSpindel devices.
The code right now just forces a "session" for any connected device and automatically creates on even for "unconnected" devices when aliased (really makes for development and testing easier since I don't have all types of devices).
I personally always found it weird that devices show up when not actively doing something with the server 🤷♂, but can also understand if they don't show up it confuses some people that expect it to be like registration or something as they previously saw with Picobrew.com
The other thing that an explicit registration provides is the machine_type which can't be determined at runtime for all devices. Most yes since each series uses a device specific API, but that isn't true to tell the difference between Pico C and Pico S/Pro models which have different firmware to support the different screen sizes.

As I don't have a full understanding of the architecture yet I did not know if my suggestion was good or bad.  If it does not help that is fine.  I am just trying to understand how it all works as I plan to document this because as you stated it can be confusing to some people if they do not see a device.
I agree that an inactive state would be nice.

As I don't have a full understanding of the architecture yet I did not know if my suggestion was good or bad.  If it does not help that is fine.  I am just trying to understand how it all works as I plan to document this because as you stated it can be confusing to some people if they do not see a device.
I agree that an inactive state would be nice.

yup get that @wiltdavi thus why I provided more context around why this is happening vs what you expect or want to happen. Not complaining by any means, async back and forth is the way some of the "tribal" knowledge will be transferred I don't expect anyone to invest the time in understanding every line of code and how they all work together or against each other in some cases.

yup get that @wiltdavi thus why I provided more context around why this is happening vs what you expect or want to happen. Not complaining by any means, async back and forth is the way some of the "tribal" knowledge will be transferred I don't expect anyone to invest the time in understanding every line of code and how they all work together or against each other in some cases.

@wiltdavi this should fix this issue, https://github.com/chiefwigms/picobrew_pico/pull/178
I tested with a PicoFerm that sent the state signal to create an in-memory session and then went to the /devices UX to set an alias for it and it was successful.

@wiltdavi this should fix this issue, https://github.com/chiefwigms/picobrew_pico/pull/178
I tested with a PicoFerm that sent the state signal to create an in-memory session and then went to the /devices UX to set an alias for it and it was successful.

@tmack8001 I was in the middle of reviewing #178 to see if it resolved this issue when you merged it.  With the latest code this issue is resolved but before you merged it I did not think it was going to resolve this issue and I was trying to prove it.  So I am going to post what I discovered about this issue and would appreciate it if you tell me what I am missing in my understanding.
In the comments above you stated that my Drain session may have never closed and still be in the active session folder.  Upon review it appears that this is not the case as the Drain session is in the archive folder.

I can provide the file if you need any addition information from it to confirm it was properly closed.
So if it is not in the active folder how does your change in #178 solve this issue?  I found the same error was reported on line 145:
# verify uid is already configured     if uid not in {**active_brew_sessions, **active_ferm_sessions, **active_iSpindel_sessions, **active_still_sessions}:         error = f'Product ID {uid} not already configured'
I was looking to see if this was where the error was occurring when you merged #178.
Note: As I was writing this up I noticed your comment above "allow an active device (one with a session entry) to be aliased".  Does this mean that a
uid in {**active_brew_sessions, **active_ferm_sessions, **active_iSpindel_sessions, **active_still_sessions}
is not just if there is a session in the active folder but if there is any session in either the active or archive folder?  If so this would explain why the code change resolved this issue.

@tmack8001 I was in the middle of reviewing #178 to see if it resolved this issue when you merged it.  With the latest code this issue is resolved but before you merged it I did not think it was going to resolve this issue and I was trying to prove it.  So I am going to post what I discovered about this issue and would appreciate it if you tell me what I am missing in my understanding.
In the comments above you stated that my Drain session may have never closed and still be in the active session folder.  Upon review it appears that this is not the case as the Drain session is in the archive folder.

I can provide the file if you need any addition information from it to confirm it was properly closed.
So if it is not in the active folder how does your change in #178 solve this issue?  I found the same error was reported on line 145:
# verify uid is already configured     if uid not in {**active_brew_sessions, **active_ferm_sessions, **active_iSpindel_sessions, **active_still_sessions}:         error = f'Product ID {uid} not already configured'
I was looking to see if this was where the error was occurring when you merged #178.
Note: As I was writing this up I noticed your comment above "allow an active device (one with a session entry) to be aliased".  Does this mean that a
uid in {**active_brew_sessions, **active_ferm_sessions, **active_iSpindel_sessions, **active_still_sessions}
is not just if there is a session in the active folder but if there is any session in either the active or archive folder?  If so this would explain why the code change resolved this issue.

An "active" device isn't nessecarily one that is actively doing something, but rather one that has communicated in such a way with the server as to get a "session" added to those active_*_sessions. Previously this was done only upon receiving data from an actual brew/ferm session, but with the earlier "eagerly create session" to have just a "connected device" show up (here I'm using connected not to simply mean WiFi connected as a client, but rather to mean that the device has sent one of the http requests during the bootup sequence successfully to the Pi).
So essentially yes though your session was in the archive folder it was considered "active" to the server. If say you restarted your RaspberryPi with all else equal the device would have not been considered active until you either a) add an alias for it (config.yaml) or b) initiated the boot up sequence or c) started a session (drain, clean, rinse, brew, etc)

An "active" device isn't nessecarily one that is actively doing something, but rather one that has communicated in such a way with the server as to get a "session" added to those active_*_sessions. Previously this was done only upon receiving data from an actual brew/ferm session, but with the earlier "eagerly create session" to have just a "connected device" show up (here I'm using connected not to simply mean WiFi connected as a client, but rather to mean that the device has sent one of the http requests during the bootup sequence successfully to the Pi).
So essentially yes though your session was in the archive folder it was considered "active" to the server. If say you restarted your RaspberryPi with all else equal the device would have not been considered active until you either a) add an alias for it (config.yaml) or b) initiated the boot up sequence or c) started a session (drain, clean, rinse, brew, etc)

The key change I made today for the aliasing to work correct was this:
and active_session(uid).alias != ''
By simply adding this regardless if the device was ever active with the server (aka has a session;) one can register it. T "session" is the current location where we store other machine metadata in this case the name of the machine... So it is rather a machine state object vs the actual session itself.

The key change I made today for the aliasing to work correct was this:
and active_session(uid).alias != ''
By simply adding this regardless if the device was ever active with the server (aka has a session;) one can register it. T "session" is the current location where we store other machine metadata in this case the name of the machine... So it is rather a machine state object vs the actual session itself.

@tmack8001 OK, thanks again for the additional information.  There is one clarification though, I did restart the RaspberryPi while the Z was offline and it previously would still not allow me to alias the device.  The drain session was still complete and in the archive folder but from what you stated above it should no longer be considered active, correct?
I do understand how your code change solved the issue because your addition is an AND it does not mater what the state of the system is if the alias is blank.

@tmack8001 OK, thanks again for the additional information.  There is one clarification though, I did restart the RaspberryPi while the Z was offline and it previously would still not allow me to alias the device.  The drain session was still complete and in the archive folder but from what you stated above it should no longer be considered active, correct?
I do understand how your code change solved the issue because your addition is an AND it does not mater what the state of the system is if the alias is blank.

There are 3 (or 5) ways an entry is added into active_brew_sessions, https://github.com/chiefwigms/picobrew_pico/search?q=PicobrewSession&type=

aliased via config (server startup only and now via /devices experience)
active session file
api interaction from device
3a) Zymatic
3b) ZSeries
3c) C/S/Pro

There are 3 (or 5) ways an entry is added into active_brew_sessions, https://github.com/chiefwigms/picobrew_pico/search?q=PicobrewSession&type=

aliased via config (server startup only and now via /devices experience)
active session file
api interaction from device
3a) Zymatic
3b) ZSeries
3c) C/S/Pro

@tmack8001 thanks for the information.  Closing this issue.

@tmack8001 thanks for the information.  Closing this issue.


More Cursors

This adds pointer and busy cursors. I have only tested this on linux(gtk).

The cursors that are currently available represent the set of cursors that are implemented on all of our major platforms. I'm not sure how best to expose cursors that are only available on some platforms. I do agree that this would be nice, but I would like to be principled about it.
One option might be to have separate PlatformCursor enums that describe cursors that are platform specific, and then maybe have a Cursor::Platform variant in the main Cursor enum? PlatformCursor would only be exported if the appropriate target_os/feature, but this is sort of fragile because of gtk/x11.
what we really want is some way to do like if cfg(target_backend = "gtk")`, but that doesn't exist. I'm not sure what to suggest, otherwise...

So, adding Cursor::Pointer should be Ok. Also, I think Cursor::OpenHand is not available on windows.
Cursor::Busy is a fundamental cursor IMO :shrug: . How do browsers handle it on Mac OS?

I think macOS only shows the spinner when the main thread is blocked or something?

As far as I can tell there is no pointing hand cursor on windows: (see docs here?)

As far as I can tell there is no pointing hand cursor on windows: (see docs here?)

I think IDC_HAND is the pointing hand cursor,
see https://docs.microsoft.com/en-us/windows/win32/menurc/about-cursors#the-mouse-and-the-cursor

For example, when the cursor crosses over a hyperlink, the system changes the cursor from an arrow to a hand.

Hmm okay, so there's no open hand, for dragging?

yeah, no open hand :face_with_head_bandage:

Ready for review. I have removed the busy cursor. Also, I am not sure about CI failure.

Tested on macOS and Windows 10. Works like charm.


ReadRows(...) only adapt one ReadOption

ReadRows accepts multiple ReadOption
func (t *Table) ReadRows(ctx context.Context, arg RowRange, f func(Row) bool, opts ...ReadOption)

but in the bigtable.go#L278
https://github.com/GoogleCloudPlatform/gcloud-golang/blob/df65e0af2d15158fecd80eed6333e2927bf2ed54/bigtable/bigtable.go#L278
it would only adapt last one ReadOption as filter
func (rf rowFilter) set(req *btspb.ReadRowsRequest) { req.Filter = rf.f.proto() }

I'm not sure what the issue is. You're looking at code for one particular ReadOption implementation; any future ReadOption implementations will be responsible for doing their own work.
If you're trying to pass multiple filters to one ReadRows call, the answer is that you cannot do that. The underlying RPC only permits a single filter, so you'll need to combine your multiple filters by using, for instance, bigtable.ChainFilters or bigtable.InterleaveFilters.


Implement Entt

Implement Entt Ecs into the pipeline where

Systems can access registries
Components and entities can be serialized

Engine

entt::registry g_Registry
When the world is created, pass in the template type of game.

Abstract class that will allow users to add their own entt systems updates for their game.

virtual Update(entt::registry& t_Reg, float dt) = 0
virtual Write( a file stream or something) = 0
virtual Read( file stream to read from ) = 0

World<T_GameType>(entt::registry m_Registry)

The world creates a new BaseGame of type T_GameType
Update(float, dt) - Updates all core systems (physics, etc) and then the Game update function
Read(...) - Will read in all world systems, and then call the Game read function
Write(...) - Will write all world systems, and then call the Game Write function

SandboxGame : BaseGame
In the Sandbox project, add a new inherited game class and use that.


[5.8] Add localization in exceptions handler

Hi,
This PR is support localization in API. Should we need them?

I'm not sure if it's needed? If it's an exception you create, you can localize the message when you create the exception. If it's a system generated exception message, are you really going to localize every possible exception in your system?


Document RenderFragment ChildContent property name restriction

Apparently (and bizarrely) a [Parameter] RenderFragment property must always be named ChildContent. It seems this was documented on the old Blazor site, but isn't mentioned here. The link here redirects to a missing #child-content anchor by way of explanation of this limitation.

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

ID: 5bc28995-6784-a7d2-5c0b-9811a8d19c1a
Version Independent ID: 1668c8fb-024c-c86d-d4d5-e22e3355c04b
Content: Introduction to Blazor in ASP.NET Core
Content Source: aspnetcore/blazor/index.md
Product: aspnet-core
Technology: aspnetcore-blazor
GitHub Login: @guardrex
Microsoft Alias: riande

Hello @mv10-work ... It's in the NOTE box at :point_right: https://docs.microsoft.com/aspnet/core/blazor/components#child-content


Gitlab icon

Closes Issue #1045

Check List (Check all the applicable boxes)

[x] My code follows the code style of this project.
[ ] My change requires changes to the documentation.
[x] I have updated the documentation accordingly.
[x] All new and existing tests passed.
[x] This PR does not contain plagiarized content.
[ ] The title of my pull request is a short description of the requested changes.

@kaxada Thanks a lot, the issue #1045 didnt get linked though, please add this in the description:
Fixes #1045

Because, github and gitlab are kinda similar, I think its better to add the gitlab icon immediately after GitHub's icon, unless the icons are added in README.md as the order the icons were added in the project. but this is my preferance.

There is an issue open and assigned for someone to alphabetize the readme

Because, github and gitlab are kinda similar, I think its better to add the gitlab icon immediately after GitHub's icon, unless the icons are added in README.md as the order the icons were added in the project. but this is my preferance.

There is an issue open and assigned for someone to alphabetize the readme

Ok. I'll be down to do that.

Ok. I'll be down to do that.

Then you should ask the assignee if they’re happy for you to take over.

Ok. I'll be down to do that.

Then you should ask the assignee if they’re happy for you to take over.

Done that already 😂


⚠ Fetchers has degraded performance

In 01c4b1a, Fetchers ($STATUS_URL) experienced degraded performance:

HTTP code: 200
Response time: 333 ms

Resolved: Fetchers performance has improved in 09539eb.


Resolve warnings in deployments

I'm treating this as a tracking issue.
Warnings about S3 resource deprecations in our Terraform plans:

#688
#695
#716

Deprecation notices related to actions running on node12:

https://github.com/byu-oit/github-action-start-standard-change/pull/38
https://github.com/byu-oit/github-action-end-standard-change/pull/22
https://github.com/byu-oit/github-action-tf-plan-analyzer/pull/153
https://github.com/byu-oit/github-action-tf-plan-comment/pull/27
https://github.com/byu-oit/github-action-codedeploy/pull/26 (via #715)
https://github.com/aws-actions/configure-aws-credentials/issues/521

They have a solution available: referencing @v1-node16. They say they'll keep it up to date. Will that play nicely with Dependabot when @v2 is eventually released? I'm not sure.

Deprecation notices related to set-output:

#681
https://github.com/byu-oit/github-action-tf-plan-analyzer/pull/153
https://github.com/byu-oit/github-action-tf-plan-comment/pull/27
https://github.com/byu-oit/github-action-codedeploy/pull/26 (via #715)
https://github.com/byu-oit/github-action-start-standard-change/pull/40
https://github.com/aws-actions/configure-aws-credentials/issues/521
https://github.com/hadolint/hadolint-action/issues/63 (via #729)

DivvyCloud warnings:

#104 (blocked)

We could move to the new official DivvyCloud action, but we'd probably have the same issue with a worse UI
We could move to tfsec instead of DivvyCloud as suggested here, but that comes with it's own can of worms.

#104 already has its own issue and everything else in this list has been resolved.


Failed to load the atom-typescript package settings

When updating to the latest version I'm now seeing:

Failed to load the atom-typescript package settings
EPERM: operation not permitted, open 'C:\Users\mark.pieszak.atom\packages\atom-typescript\settings\language-tsx.cson' in C:\Users\mark.pieszak.atom\packages\atom-typescript\settings\language-tsx.cson

I believe it might of failed updating, never had any issues in the past.
OS     : Win7
Atom : 1.8

I also have this error. How do I download previous version?

+1

+1

+1

+1

+1

+1
OS : mac 10.11.5
Atom : 1.8.0

+1
OS:Win7
Atom: 1.9.8

Happened on launch on OSX 10.11.5
Has been fine on Xubuntu 16.04.1 with synced ~/.atom via Dropbox

+1
OS: Mac 10.11.6
Atom: 1.9.4

+1


en- dis- able both work for nat create/update

@pjbreaux
Fixes: #109 See that issue for an explanation.   The flake8 fails in 'docs/conf.py' are not of my doing.

Ship it!


Client / Server Config Differences Cause Issues

If the client and server config register different counts for extra slots, errors occur and opening the baubles menu will wreak havoc on the inventory in a similar manner to #1.
It would be nice if on joining a server the mod assumes the extra slots value of the server so there is no issues and need to manually sync configs.
If this is supposed to be an implemented feature already, please let me know so I can provide whatever info may be required!

Unfortunately this is not possible, as inventory slots are hardcoded. I just change the value dynamically at startup, but once the value is set I have no way of modifying it when a player connects to a server

Best I can do is throw an error message when connecting, asking you to change the client config and showing what number is configured on the server

Ah, I understand! Limitations are limitations, no getting past that.
It probably would be better to warn the user, considering it can mess up inventories and probably causes other rather unpredictable side effects.
I'm assuming making the inventory slots not hardcoded would be one or both of extremely hacky and a gargantuan effort aha

Yes, it would likely break most baubles. I will try to find some time to add a warning


Include bugs

Including a file that defines a user type does not include that user type, i.e. it's not accessible.
Includes are not recursive, i.e. including a file that includes another file should bring in both of them otherwise things won't work.

Can you give me some specific test cases? The toy examples I've tried indicate that both of these are working properly.

I tried to recreate the issues, maybe I missed something.
For 1. https://github.com/princedpw/nv/blob/bdd-bugs/examples/DebugIncludes/typeError.nv

Seems to be something to do with multiple includes. If you include "rip.nv" before the topology then it works. If you include "rip.nv" after the topology it does not.

The first one isn't giving me any errors (well, there's a stack overflow, but that's well after include processing).
The issue with the second one is that our include system is super fragile. Include directives aren't part of the AST, so they're handled specially prior to parsing. Specifically, we require that all include directives are at the beginning of the file, and there's nothing between them but whitespace. This includes comments. I've made a little patch which extends the processing to handle 1-line comments, though, and it seems to work now.
Hopefully we'll revisit includes during/after our work on modules.

I meant to do something else for the first one (pushed new example), but this too seems to be related to a comment before the includes.


Flycast Emulator Random Error

Standalone Flycast emulator randomly quit working. Some issue has happened with the startup arguments.
Got an error stating,
"Unable to find explicit activity {com.flycast.emulator/com.flycast.MainActivity} Have you declared this activity in your Android Manifest.xml"
Is their somewhere where the correct arguments are listed. I noticed the player Json files were updated 2 days ago. Could that be the issue.

Update your Flycast build. The am start arguments recently changed.
Flycast master/dev builds/Google Play

Thank you

Is their any way to roll back and use the previous player arguments. The old version of Flycast performed a lot better on my machine. I'm running this on an arcade 1up and forgot to turn off the auto update platforms feature.

Create a new player:

Daijishou > Settings > Library > Add a Player

Enter these details:

Player name

dreamcast - Flycast (Legacy)

Player am start arguments

-n com.flycast.emulator/com.reicast.emulator.MainActivity
-a android.intent.action.VIEW
-d {file.path}

Player accepted filename regex

^(.*)\\.(?:7z|bin|cdi|chd|cue|elf|gdi|lst|zip)$

Kill package processes before am start

off
Save
You can associate the player to a platform if you want:

Daijishou > Settings > Library > Inspect Platform > Dreamcast > Search additional player to be added dropdown > dreamcast - Flycast (Legacy) > Add to the list > Save

Thanks again. I ended up downloading the Json from before the platforms were updated. Your tutorial actually helped with another issue I was having.


Remove (unnecessary?) + at the beginning of the udev rule

The + caused the udev rule to fail to load on Fedora. Removing it allowed it to work. I'm assuming this was just a typo.

Yes, based on www.github.com/tessel/t1-cli/blob/master/install/85-Tessel.rules I think this was a copy paste error.
Thanks for the catch!
Would you mind signing our CLA if you haven't already? www.dojofoundation.org/claForm. Once you do that we can merge.

I'm happy to sign the CLA, but the link you provided 404s.

Sorry about that, tried to type it out from memory on a phone. It's actually www.dojofoundation.org/about/claForm

Okay, I've signed the CLA. Thanks!

Thanks you!


Rails 3.1.3 error

Hi, I'm trying to test the Stylus language in a clean rails app and I get the error every time I request the css that should be generated by Stylus:
You have a nil object when you didn't expect it!
You might have expected an instance of Array.
The error occurred while evaluating nil.split
  (in /Users/tycooon/code/example/app/assets/stylesheets/application.css.styl)

My Gemfile:
source 'http://rubygems.org'

gem 'rails', '3.1.3'

# Bundle edge Rails instead:
# gem 'rails',     :git => 'git://github.com/rails/rails.git'

gem 'sqlite3'

# Gems used only for assets and not required
# in production environments by default.
group :assets do
  gem 'coffee-rails'
  gem 'uglifier'
  gem 'stylus'
end

gem 'jquery-rails'

The error trace:
execjs (1.2.13) lib/execjs/external_runtime.rb:146:in `exec_runtime'
execjs (1.2.13) lib/execjs/external_runtime.rb:27:in `block in exec'
execjs (1.2.13) lib/execjs/external_runtime.rb:40:in `compile_to_tempfile'
execjs (1.2.13) lib/execjs/external_runtime.rb:26:in `exec'
execjs (1.2.13) lib/execjs/external_runtime.rb:18:in `eval'
execjs (1.2.13) lib/execjs/external_runtime.rb:32:in `call'
stylus (0.4.0) lib/stylus.rb:106:in `compile'
stylus (0.4.0) lib/stylus/tilt.rb:25:in `evaluate'
tilt (1.3.3) lib/tilt/template.rb:76:in `render'
sprockets (2.0.3) lib/sprockets/context.rb:175:in `block in evaluate'
sprockets (2.0.3) lib/sprockets/context.rb:172:in `each'
sprockets (2.0.3) lib/sprockets/context.rb:172:in `evaluate'
sprockets (2.0.3) lib/sprockets/bundled_asset.rb:171:in `build_dependency_context_and_body'
sprockets (2.0.3) lib/sprockets/bundled_asset.rb:135:in `dependency_context'
sprockets (2.0.3) lib/sprockets/bundled_asset.rb:194:in `build_dependencies_paths_and_assets'
...

This happens even when I directly request assets/test.css from by browser (with app/assets/test.css.styl is empty or has some simple rule)

Do you have Node installed? Seems to be that ExecJS can't find it in your path.

I think i don't since there is no installation info I found except of adding stylus gem in a Gemfile.
So how do I properly install this thing?

If you're using Homebrew you can use brew install node.


Show how many days the workitem is/was in a state.

Especially for defect management it is good to know how long the workitem was in a particular state.
This could be visualized in e.g. days.
Show it maybe in the lower right corner.

I like this idea as it makes it much easier to compare between states. I'm currently working on a timeline like UI in which this idea fits very well

closed  by above commit