WIP: Quickstart Guide for the docs

[ ] Closes #268 #269
[ ] Add an explanation of the grid object output (See #307)
[ ] Explain that metrics represent e.g. the distance around a certain grid position (https://github.com/xgcm/xgcm/issues/306#issuecomment-776221011)
[ ] User visible changes (including notable bug fixes) are documented in whats-new.rst

Nice quickstart guide! Nothing much more than small details to comment on :).
I am not sure of the common practices for comments on PR, I will expect that commenting here is a good option (the other solution I thought about is changing the guide and do a PR on the PR, but it seems like an infinite loop...). Tell me if I should do differently :).

Item 2.a, there is a typo compared to the image: you speak about SST but made a box around the SSH
Item 3, maybe add a short sentence on the usage of the boundary argument, e.g.
The boundary condition is used for operations at the boundary points, when an extra point needs to be added. Different options are possible ('fill' this extra values with a certain number, 'extend' to the nearest value or 'interpolate' linearly using the 2 nearest points). Attention, this boundary condition is used to create an extra point before running the operation, it is not used to fill the dataset afterward for points that could not be computed.
Maybe this description would suit more on another part of the doc, but this was also something I struggled with at the beginning.

Apart this quickstart guide, would it be useful if the 1st example was partially model-agnostic? Or maybe easier to do, the simple MITgcm example could describe more the grid and the scale factors / metrics so the grid creation is understandable by more people. This would be a logical continuity of the quickstart guide, where the notions are applied.

Dear @rcaneill , thanks for reviewing!
To your question: It actually works really nicely (especially for text based files) to make a PR to a PR. You just have to edit the file in question on github (no cloning needed), and it will give you the option of creating a new PR. This will show up as a suggestion in the discussion section. If you like please try it for the typo.
I came across the issue with the boundary as well yesterday. We never really mention it. Only in a convoluted way in the setup code examples. We need to add a more detailed section on 'boundary' and 'fill' in 'Simple Grids' asap!(cc @rabernat , @dcherian ).
I was thinking of making a completely `synthetic example at the end (e.g. make up some data, create a grid, metrics and then apply some operator). It seems that this would be in your interest too, so let me add that.

To your question: It actually works really nicely (especially for text based files) to make a PR to a PR. You just have to edit the file in question on github (no cloning needed), and it will give you the option of creating a new PR. This will show up as a suggestion in the discussion section. If you like please try it for the typo.

Amazing! I try it now!

Thanks a ton for the comments @rcaneill and @rabernat. Ill try to make the example at the end next week and then we can merge this.

Hi @jbusecke. Just pinging on this. Are you ready for another review. Would be great to get this merged.

Have put aside today for the OMZ paper completely. Ill try to finish this tomorrow or Friday!

@jbusecke Responding here to your comment/request on #291.
The quick start guide seems like a very good start! It definitely makes understanding how xgcm works on a high level much much easier. I would suggest that, after those 4 steps are done and you put it all together with pseudo code, you actually do all those steps for a simple model and explain the options and choices. Some things are very straightforward to understand, but I think for others some work is needed to make it clear.
At least for me, here's how it goes:

The grid/node nomenclature is pretty easy to understand (left, center, outer, etc.; the cartoon you guys use is really all that's needed), as is toggling the periodic topology options. So I think no need to expand too much on that.
The boundary conditions are a bit harder to understand. I know they should roughly map to Neumann/Dirichlet boundary conditions, but it's not super clear exactly how to translate from my model's BC to what xgcm needs to (almost?) exactly reproduce it.

Also, this may be a separate issue, but I find it weird that I can set a BC for a periodic axis. It makes me a little confused on how those work.

The metrics for me are definitely the hardest to understand. (In fact I still haven't understood exactly what they are measuring.) So in this part I'm afraid some work has to be done to figure out how to design a cartoon and an example that explain exaclty what they are and how to create them for any model output. Otherwise the user might put something that works but is incorrect and will get wrong answers from then on.

Hope this helps! And keep up the good work

@jbusecke Responding here to your comment/request on #291.
The quick start guide seems like a very good start! It definitely makes understanding how xgcm works on a high level much much easier. I would suggest that, after those 4 steps are done and you put it all together with pseudo code, you actually do all those steps for a simple model and explain the options and choices. Some things are very straightforward to understand, but I think for others some work is needed to make it clear.
At least for me, here's how it goes:

The grid/node nomenclature is pretty easy to understand (left, center, outer, etc.; the cartoon you guys use is really all that's needed), as is toggling the periodic topology options. So I think no need to expand too much on that.
The boundary conditions are a bit harder to understand. I know they should roughly map to Neumann/Dirichlet boundary conditions, but it's not super clear exactly how to translate from my model's BC to what xgcm needs to (almost?) exactly reproduce it.

Also, this may be a separate issue, but I find it weird that I can set a BC for a periodic axis. It makes me a little confused on how those work.

The metrics for me are definitely the hardest to understand. (In fact I still haven't understood exactly what they are measuring.) So in this part I'm afraid some work has to be done to figure out how to design a cartoon and an example that explain exaclty what they are and how to create them for any model output. Otherwise the user might put something that works but is incorrect and will get wrong answers from then on.

Hope this helps! And keep up the good work

Thank you for taking the time to go through this @tomchor. This is extremely helpful feedback.
Some quick notes:

The boundary conditions are a bit harder to understand.

💯 agree. In fact we barely describe the boundary conditions at all in the docs (see also #273). I am not sure how much detail should go into the quickstart guide vs a separate section. I personally think a lot of these details should go into a more detailed section.

Also, this may be a separate issue, but I find it weird that I can set a BC for a periodic axis. It makes me a little confused on how those work.

Yeah, this is very confusing, and should definitely be remedied in the future. This will require some rather big changes and a longer deprecation cycle thought (see #195). How about for now I add a cautionary note?

The metrics for me are definitely the hardest to understand. (In fact I still haven't understood exactly what they are measuring.) So in this part I'm afraid some work has to be done to figure out how to design a cartoon and an example that explain exaclty what they are and how to create them for any model output. Otherwise the user might put something that works but is incorrect and will get wrong answers from then on.

Ok I hear that and will try to spend some time to make this more clear. In short, metrics are quantities that relate the logical rectangular grid (or nd-array) to actual physical space, like distances between cell points, cell volume, and area, etc. How are these kinds of parameters given in the LES world? Perhaps I can draw some inspiration from there to formulate something more general.
Again many thanks for using xgcm and providing this great feedback!

Thank you for taking the time to go through this @tomchor. This is extremely helpful feedback.
Some quick notes:

The boundary conditions are a bit harder to understand.

💯 agree. In fact we barely describe the boundary conditions at all in the docs (see also #273). I am not sure how much detail should go into the quickstart guide vs a separate section. I personally think a lot of these details should go into a more detailed section.

Also, this may be a separate issue, but I find it weird that I can set a BC for a periodic axis. It makes me a little confused on how those work.

Yeah, this is very confusing, and should definitely be remedied in the future. This will require some rather big changes and a longer deprecation cycle thought (see #195). How about for now I add a cautionary note?

The metrics for me are definitely the hardest to understand. (In fact I still haven't understood exactly what they are measuring.) So in this part I'm afraid some work has to be done to figure out how to design a cartoon and an example that explain exaclty what they are and how to create them for any model output. Otherwise the user might put something that works but is incorrect and will get wrong answers from then on.

Ok I hear that and will try to spend some time to make this more clear. In short, metrics are quantities that relate the logical rectangular grid (or nd-array) to actual physical space, like distances between cell points, cell volume, and area, etc. How are these kinds of parameters given in the LES world? Perhaps I can draw some inspiration from there to formulate something more general.
Again many thanks for using xgcm and providing this great feedback!

Yeah, this is very confusing, and should definitely be remedied in the future. This will require some rather big changes and a longer deprecation cycle thought (see #195). How about for now I add a cautionary note?

Yeah, a cautionary note would definitely help. Also, adding a boundary="periodic" is also something I was gonna suggest. Seems like the easy way out.

Ok I hear that and will try to spend some time to make this more clear. In short, metrics are quantities that relate the logical rectangular grid (or nd-array) to actual physical space, like distances between cell points, cell volume, and area, etc.

I think what metrics represent, is pretty well-explained. I think what is confusing is how exactly to represent that. Because there are many different sets of metrics that you can come up with that fully represent the geometry of a grid.

How are these kinds of parameters given in the LES world?

For finite volume codes like Oceananigans the usual approach is to use a rectilinear C-grid. So it's even simpler than GCMs, that have to account for curvature, etc. Other types of code (the usual ones mix spectral in the horizontal and finite differences in the vertical) have a slightly different grid where the only variable on cell faces is the vertical velocity. Fully spectral codes (like Dedalus) use only cell centers I think. Again, LES grids should be actually easier in general.

Yeah, this is very confusing, and should definitely be remedied in the future. This will require some rather big changes and a longer deprecation cycle thought (see #195). How about for now I add a cautionary note?

Yeah, a cautionary note would definitely help. Also, adding a boundary="periodic" is also something I was gonna suggest. Seems like the easy way out.

Ok I hear that and will try to spend some time to make this more clear. In short, metrics are quantities that relate the logical rectangular grid (or nd-array) to actual physical space, like distances between cell points, cell volume, and area, etc.

I think what metrics represent, is pretty well-explained. I think what is confusing is how exactly to represent that. Because there are many different sets of metrics that you can come up with that fully represent the geometry of a grid.

How are these kinds of parameters given in the LES world?

For finite volume codes like Oceananigans the usual approach is to use a rectilinear C-grid. So it's even simpler than GCMs, that have to account for curvature, etc. Other types of code (the usual ones mix spectral in the horizontal and finite differences in the vertical) have a slightly different grid where the only variable on cell faces is the vertical velocity. Fully spectral codes (like Dedalus) use only cell centers I think. Again, LES grids should be actually easier in general.

Hello @jbusecke, this is a very nice part of the doc, but that seems stopped for a while... I would be happy to help to finish it, if help is needed for anything!
If so, please let me know with a list of tasks to write :)

Hey @rcaneill, thanks for the ping on this. I could indeed need some help on this. I am working with @TomNicholas on a larger internal refactor, which will fundamentally change some of the terminology regarding padding and boundary. In short we will rename the current 'boundary' to 'padding' (this is only concerned with the array boundaries which do not mean anything in terms of physical boundaries in the domain! This was always a bit confusing). Once we have merged the new internals (https://github.com/xgcm/xgcm/tree/grid_ufunc_refactor_project), we can actually deal with internal boundary conditions (#324).
I think this distinction and explanation should be included in the quick start guide, but that might not mean that this should not get finished/merged before that.
I think the checklist at the top is still quite up to date. The most important thing to include (as @tomchor mentioned) is how to include metrics I think.
It would be amazing if you could take a shot at adding the missing items. Happy to review and also happy to fill in the boundary discussion (perhaps for now with a warning/note until properly implemented?).

Yeah lets go via the github route. I propose:

You fork the repo (probably already done?)

Define my fork as remote e.g. git remote add jbusecke ...

Then fetch this branch, checkout from the current state under a new name

Push and create a PR from your changes to this branch (I suggest doing this with some minimal changes, so we can see if this works haha).

Actually let me try to resolve the issue in this branch first!

Ok I think that did the trick. Feel free to fetch this state. And thanks a lot for helping here @rcaneill!

I opened a PR on your fork, so I guess that if you merge, it will appear here.
I can run the tests locally, and tell you whenever it is ready to merge here I guess

Perfect!

Hello,
I ping here in case someone has time to review my work on Julius fork:  jbusecke/xgcm#2


secured web socket project does not contain the spring boot application class

https://github.com/eugenp/tutorials/tree/master/spring-security-modules/spring-security-web-sockets
secured web socket project does not contain the spring boot application class

Hi @dontweaks ,
Yes, this is not a Boot module. So you need to either build and deploy the WAR file or use the cargo-maven2-plugin to run the code.


Make AnimationTree / AnimationPlayer processes adopt to GDVIRTUAL

Separated from #69802.
Exposes the virtual function GDVIRTUAL_CALL(_post_process_key_value) for AnimationPlayer and AnimationTree. This should make it possible to create a realtime retarget module as an add-on rather than a custom module. Like physics, rendering, it makes more sense to allow animations to be extended with GDExtention.

Thanks!


New idea branch

Problem with colors and the general feel of the site.
Need a good color palette.
Need to put something in the background of my whole site that will make it more vivid.


Binding the values to the form

Hello
I am able to create a form using the form builder. I have save the form in the db.
Now I am able to open up the saved form and enter the response in those fields. I am also able save the response also in the db.
Now I want to bind the form with the saved values.
I have create a API to get the form definition json as well as response JSON.
Please Let me know how to bind the values to the form
Check the attached file for the details of the form definition json as well as response json
SampleJSON.txt

@vikaswizorbit I am able to create the form using the form builder and got the json out for that form
[{"component":"textInput","editable":true,"index":0,"label":"Label","description":"description","placeholder":"Enter Label For Metered Data","options":[],"required":false,"validation":"/.*/"},{"component":"textInput","editable":true,"index":1,"label":"Value","description":"description","placeholder":"Enter Value","options":[],"required":false,"validation":"/.*/"},{"component":"select","editable":true,"index":2,"label":"Select","description":"description","placeholder":"placeholder","options":["KB","MB","GB"],"required":false,"validation":"/.*/“}]

can you please share the code for displaying the form again with this data

https://github.com/kelp404/angular-form-builder/issues/91


Refactor 'gcloud.streaming.http_wrapper' exception handling

Catch only explicitly retryable exceptions, and handle retry count /  interval explicitly in make_api_request.
Delete the handle_heep_exceptions helper, and the retry_func argument which used it as a default.
Rename _rebuild_http_connections -> _reset_http_connections for clarity.

Closes #1223.

Happy to see this! I had to peek into this mess a bit for #1248. If they collide for merging, let's stick with this one first.

Wow this was so much less work than I expected. w00t

LGTM

@dhermes I will merge with pylint failing on Travis, since we are still working out #1248.

OK. The new commit since I reviewed is due to the ExceptionType as exc keeping exc limited to the except block's scope in Py3k?

@tseaver Please answer my above question, but I went ahead and merged so I can re-do #1248 so we can get it merged.

The new commit since I reviewed is due to the ExceptionType as exc keeping exc limited to the except block's scope in Py3k?

Yes:  it provoked an UnboundLocalError.

OK Good deal. Thanks.


Make building out-of-place the default

The default for building with Python 2 is in-place. While this is easiest, in particular for building single codes, the default should probably be an out-of-place build.

I think you want same behaviour for python2 and 3, and since python 3 does not support in-place build due to 2to3, this is reasonable, but this will probably invite discussion! (which is good)

On the other hand, if a Py2/3 compatible code base could happen relatively soon (at least for relevant files), this issue may become largely moot.

Even with a 2/3 compatible code base, out-of-place builds make management of the repo easier (no long gitignore list, just ignore build/; easy restarting from scratch by deleting the build directory; easy multiple builds with different configurations), so I would still vote for it.

So would I.
virtualenv makes it easy to install in a separate directory if this is desired anyway.

closing this; out of place is the default if using setup.py, other issues are fixed with combinations of pip install [-e] etc


Add AFL 3.0 as a hidden license

AFL 3.0 is OFL 3.0 without the copyleft requirements. Adding to resolve ambiguity between AFL and OFL when using choosealicense as a base of comparison.
/cc @vmg, @bkeepers

:+1::+1::+1:


Add rabbitmq deployment with HA.

This works is based on http://github.com/openstack-fuel-ccp-rabbitmq and it mostly adjust this solution
to a helm deployment.
This is works in progress, but we need to figure out if we really need:

HA etcd deployment. In this case etcd is used just for a coordination purposes. Fuel-ccp is having non-HA etcd and relaying just on deployment controller. Stackanetes is using etcd in HA but this is mostly due to kpm sharding feature so it was easy to build etcd cluster without statefullset.

Having stuff in StateFullSet means that we can upgrade that component (K8S does not support upgrades on StateFullSet).

This change is

Related to #100

@DTadrzak @ss7pro do you know where we are with this?  Mirantis invested significant resources into etcd based clustering and this implementation is bulletproof.

@alanmeadows Have a look at this PR now, it's ready. I'll open few more issues as we should move anti-affinity to common package and init-container inclusion should be modified as in K8S 1.6 it's no longer defined using annotations (init containers are moved out of beta).

lgtm

Tested on 2 of our production environments.

I just rebased this PR and adjusted changes to be aligned with recently introduced helm-toolkit.

Merged recent fuel-ccp-rabbitmq bugfix: https://github.com/openstack/fuel-ccp-rabbitmq/commit/c524d3d310e2f3f0c7fbe1b8030a4c0b72eac398.


Updating jackson dependencies to 2.15.2

Appears to be a straightforward bump up of the version
Release notes:
https://github.com/FasterXML/jackson/wiki/Jackson-Release-2.14
https://github.com/FasterXML/jackson/wiki/Jackson-Release-2.15

As part of this update, can you change to using a bom instead of a list of dependencies?


Seven Theme - Flights

For this issue specifically, I want to see if we can slightly redesign the card, especially since we will need to work on a solution that can work on both desktop and mobile, which the current card does not.
Also, users have complained in the past regarding the ambiguity of the bid button. We should make this a discrete button, like many other themes on the market do.

@ArthurHetem @arthurpar06 all my changes have been pushed up. I look forward to your review.

In flights.show, I think the basic flight information (on the top left) should be in a card. Also what do you think of having Departure and Arrival METARs in two tabs on the right side? This way you don't have to scroll / a very long page.

The add bid button isn't working in flights.index (I guess that's because of the bid aircraft selection modal/select)

In flights.index, I think the search form should be in a card as well

Yeah, agree with @arthurpar06


Issue With DeviceFoundEventArgs.Device.GetAllAsync()

Consider the following test program (also available as a branch off of my Fork here - https://github.com/aolszowka/DotNet-BlueZ/tree/ako-DevicePropertiesBug):
Program.cs
using vestervang.DotNetBlueZ;
// using HashtagChris.DotNetBlueZ;
using System.Diagnostics;

namespace DevicePropertiesGetAllAsync
{
    class Program
    {
        static async Task Main(string[] args)
        {
            using (var adapter = (await BlueZManager.GetAdaptersAsync()).FirstOrDefault())
            {
                try
                {
                    if (adapter != null)
                    {
                        adapter.DeviceFound += adapter_DeviceFoundAsync;

                        var props = new Dictionary<string, object>();
                        props.Add("Transport", "le");
                        props.Add("DuplicateData", false);
                        await adapter.SetDiscoveryFilterAsync(props);
                        await adapter.StartDiscoveryAsync();
                        Console.WriteLine("Waiting for events. Use Control-C to quit.");
                        await Task.Delay(-1);
                    }
                    else
                    {
                        Console.Error.WriteLine("Failed to get the Adapter; Exiting");
                        Environment.ExitCode = -1;
                    }
                }
                catch (Exception ex)
                {
                    Console.Error.WriteLine(ex);
                }
                finally
                {
                    Console.WriteLine("Stopping Discovery");
                    if (adapter != null)
                    {
                        await adapter.StopDiscoveryAsync();
                    }
                }
            }
        }

        private static async Task adapter_DeviceFoundAsync(Adapter sender, DeviceFoundEventArgs eventArgs)
        {
            Console.WriteLine("A device was found!");
            var deviceProperties = await eventArgs.Device.GetAllAsync();
            Console.WriteLine($"{deviceProperties.Name} ({deviceProperties.Address}) was the device.");
        }
    }
}

DevicePropertiesGetAllAsync.csproj
<Project Sdk="Microsoft.NET.Sdk">

  <PropertyGroup>
    <OutputType>Exe</OutputType>
    <TargetFramework>net6.0</TargetFramework>
    <ImplicitUsings>enable</ImplicitUsings>
    <Nullable>enable</Nullable>
  </PropertyGroup>

  <ItemGroup>
    <ProjectReference Include="..\..\src\DotNetBlueZ.csproj"/>
    <!-- <PackageReference Include="HashtagChris.DotNetBlueZ" Version="1.3.1" /> -->
  </ItemGroup>
</Project>

When running on a Raspberry Pi 4B off of the latest version of this code from GitHub I get the following output:
Waiting for events. Use Control-C to quit.
A device was found!
A device was found!
 () was the device.
A device was found!
 () was the device.
A device was found!
 () was the device.
 () was the device.
A device was found!
 () was the device.
A device was found!
 () was the device.
A device was found!
 () was the device.

When I comment out the use of this library and attempt to use the original fork I get the information I expect (I have redacted the Addresses and parts of the names, but all of the data is legitimate):
Waiting for events. Use Control-C to quit.
A device was found!
A device was found!
Encharg/xxxx (04:0D:84:xx:xx:xx) was the device.
Encharg/xxxx (04:0D:84:xx:xx:xx) was the device.
A device was found!
Enpower/xxxx (54:0F:57:xx:xx:xx) was the device.
A device was found!
Encharg/xxxx (04:0D:84:xx:xx:xx) was the device.
A device was found!
TP357 (xxxx) (BC:C7:DA:xx:xx:xx) was the device.

I suspect this has something to do with the additional logic that as added for caching, but I do not understand enough about the changes to know where to start debugging this. Can anyone else reproduce this issue or confirm if this is just related to the Pi?

It's not just on the Raspberry Pi 4B, I have recreated the issue on my own machine. I'll have a look at it

The issue only seems to affect the Device.GetAllAsync() method. I tried to remove the device caching and got the same results. If I'm using the extensions methods the data is retrieved correctly. Are the extensions methods working correctly for you?

Thank you for taking the time to look at this issue.

Are the extensions methods working correctly for you?

If I understand your question correctly I believe the following toy program should provide a reasonable test of this ability, on my Pi this still fails. In this case the var devices = await adapter.GetDevicesAsync(); never appears to return any devices, despite seeing several devices fly by on sudo btmon.
Here's the sample program:
Program.cs
using vestervang.DotNetBlueZ;

namespace AdapterExtensionsGetAllDevicesAsync
{
    class Program
    {
        static async Task Main(string[] args)
        {
            using (var adapter = (await BlueZManager.GetAdaptersAsync()).FirstOrDefault())
            {
                try
                {
                    if (adapter != null)
                    {
                        var props = new Dictionary<string, object>();
                        props.Add("Transport", "le");
                        props.Add("DuplicateData", false);
                        await adapter.SetDiscoveryFilterAsync(props);
                        await adapter.StartDiscoveryAsync();
                        Console.WriteLine("Waiting for devices. Use Control-C to quit.");
                        while (true)
                        {
                            var devices = await adapter.GetDevicesAsync();
                            foreach (var device in devices)
                            {
                                var deviceProperties = await device.GetAllAsync();
                                Console.WriteLine($"{deviceProperties.Name} ({deviceProperties.Address}) was the device.");
                            }
                        }
                    }
                    else
                    {
                        Console.Error.WriteLine("Failed to get the Adapter; Exiting");
                        Environment.ExitCode = -1;
                    }
                }
                catch (Exception ex)
                {
                    Console.Error.WriteLine(ex);
                }
                finally
                {
                    Console.WriteLine("Stopping Discovery");
                    if (adapter != null)
                    {
                        await adapter.StopDiscoveryAsync();
                    }
                }
            }
        }

    }
}

AdapterExtensionsGetAllDevicesAsync.csproj
<Project Sdk="Microsoft.NET.Sdk">

  <PropertyGroup>
    <OutputType>Exe</OutputType>
    <TargetFramework>net6.0</TargetFramework>
    <ImplicitUsings>enable</ImplicitUsings>
    <Nullable>enable</Nullable>
  </PropertyGroup>

  <ItemGroup>
    <ProjectReference Include="..\..\src\DotNetBlueZ.csproj"/>
  </ItemGroup>
</Project>

Again these are available here: https://github.com/aolszowka/DotNet-BlueZ/tree/ako-DevicePropertiesBug/manualTests/AdapterExtensionsGetAllDevicesAsync I would be happy to create a PR to merge in these changes into the manual tests once we've figured out the root cause to have more examples/test programs.
Were you thinking of something else?

@vestervang bingo; this works for me. However in order to build locally I needed to change the LangVersion tag to latest as opposed to 11. This is because I do not have the .NET 7 SDK (there is not an Ubuntu provided package that I am aware of). Would you be willing to settle for that as opposed to a specific version? This is officially supported/documented as per https://learn.microsoft.com/en-us/dotnet/csharp/language-reference/configure-language-version. You do not appear to be using any of the new C# 11 Language features (as this builds).
Regardless I can still consume the NuGet package as you're targeting netstandard2.0 (thank you!)
Would you like me to open a PR to include the manual tests I mentioned above? I'd be happy to contribute them to this project!

dotnet 7 should be in the ubuntu 22.10 feed, 22.04 only has dotnet 6. Anyway, sure create a PR with the tests.

Yup for sure; I'm on the LTS (22.04 Jammy Jellyfish).
I've opened up a Pull Request with the test programs :)

Awesome, I'll close this issue.


Documentation: Broken link for Ruby install docs

https://github.com/snowplow/snowplow/wiki/Ruby-and-RVM-setup
found on page
https://github.com/snowplow/snowplow/wiki/1-Installing-EmrEtlRunner

Thanks @rbkn !

Removed the references to a non-existing (deleted) page.

I have pushed your latest, you will need to grab a new copy of the master wiki


[BugFix] Fix count distinct multi columns with avg distinct plan

What type of PR is this：

[x] bug
[ ] feature
[ ] enhancement
[ ] refactor
[ ] others

Which issues of this PR fixes ：

Fixes #7369
Problem Summary(Required) ：

this plan should be forbidden

[FE PR Coverage check]
:heart_eyes: pass : 2 / 2 (100.00%)
file detail

path
covered line
new line
coverage

:large_blue_circle:
com/starrocks/sql/optimizer/rule/transformation/RewriteMultiDistinctRule.java
2
2
100.00%

[FE PR Coverage check]
:heart_eyes: pass : 2 / 2 (100.00%)
file detail

path
covered line
new line
coverage

:large_blue_circle:
com/starrocks/sql/optimizer/rule/transformation/RewriteMultiDistinctRule.java
2
2
100.00%


feat: Korean language, hangul support

Added Korean language support.
As trimming between the number is more natural in Korea, added trim option in LocaleConfig

Thank you for the contribution @ActaV-N. Released with v4.0.1


Fix reading CDATA values from SLD

This fixes parsing of <![CDATA[xxx]]> values.
It removes the configured cdataPropName from the parser.
Closes #947
@louwers i used your linked SLD for this test. If you don't want it to be in the repo just let me know and i will break it down to a simpler example and use this instead.

It is from the Dutch gov’t and is in the public domain as far as I am aware.

A short note next to the dataset with an URL and a statement that it is pd doesn't hurt though and might make future reviews easier.

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

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


print multilines help string with switches status in glfw fusion viewer

Lots of keys to remember.  Provide a printed help text over glfw viewer to improve interaction efficiency.

 Thank you for your submission, we really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.You have signed the CLA already but the status is still pending? Let us recheck it.

lint revised

char* -> std::string in raster_text.h/cc


institution_id registration of UCI

institution_id = UCI
institution = Department of Earth System Science, University of California Irvine, Irvine, CA 92697, USA

@ypeings thanks for this, will UCI be contributing simulations to CMIP6?

Yes Paul we are running simulations for PAMIP with a model that has not yet been registered as a CMIP6 model, SC-WACCM4.

@ypeings no problem, I'll await the SC-WACCM4 registration and batch process these together

@ypeings we should also update your input4MIPs registration so it's consistent with this one, see input4MIPs_institution_id.json

Done

@ypeings it will need a change to the file in https://github.com/PCMDI/input4MIPs-cmor-tables/input4MIPs_institution_id.json, I'll add an issue to that repo

@ypeings that registration is in place, take a peek at CMIP6_institution_id.html and let me know if any tweaks are required


[dnssd] Add Resolver::StartBrowse/StopBrowse/ResolveNode/NoneNameResolutionNoLongerNeeded

Problem
There is not backend independent API for browsing continuously for commissionables or operational nodes.
Darwin already has such mechanism but it seems like it is needed for other platforms or at least other mdns backend (minimal). This PR add methods to the Resolver class such that different backends can implement the same feature, and update the darwin code (in chip-tool and in Matter.framework) to use this API.
If someone wants to use such API for minimal for example, the MinMdnsResolver::StartBrowse*, MinMdnsResolver::StopBrowse, MinMdnsResolver::ResolveNode and MinMdnsResolver::NodeNameResolutionNoLongerNeeded are the methods to implement, which likely requires some change in the minimal source code.
This PR is still a WIP since it has been built on top of #27940 which has not landed yet and I also need to double check the Darwin implementation of Resolver::ResolveNode and Resolver::NodeNameResolutionNoLongerNeeded especially since there is currently no callback when resolving commissionable fails.

PR has several merge conflicts and is over 1 year old. Closing as stale.


proposal: define a type for (type, error)

Proposal Details
It would be nice to have a specific type for the pair (type, error), so as to be treated as a normal parameter.
It would allow, for instance, to simplify error chaining, as follows:
package main

import (
	"errors"
	"fmt"
)

func f(foo int) (int, error) {
	if foo > 100 {
		return -1, errors.New("error")
	}
	return 5, nil
}

// I created this type that would be the nice one to have to represent an error OR a value
type TypeOrError[T any] struct {
	Error error
	Value T
}

func mapError[T any, D any](t TypeOrError[T], gFunc func(T) (*D, error)) (*D, error) {
	if t.Error != nil {
		return nil, t.Error
	}

	stringResult, err := gFunc(t.Value)
	if err != nil {
		return nil, err
	}

	return stringResult, nil
}

func g(foo int) (*string, error) {
	if foo > 10 {
		return nil, errors.New("error")
	}
	s := fmt.Sprintf("%d", foo)
	return &s, nil
}

func main() {
	mystring, err := mapError[int, string](f(3), g)
	// Here `err` may come both for f and g
	if err != nil {
		fmt.Println("Error:", err)
	} else {
		fmt.Println(mystring)
	}
}

That would allow to convert "result or error" into a functor and would greatly simplify the error management.

Duplicate of #51931

@seankhliao in the end it has not to be necessarily an object. It would be just enough to allow functions to pass a result and an error. All in all, it would be nice if I could do mapError[int, string](f(3), g), for instance by accepting something like mapError[T any, D any](T t, err errror, gFunc func(T) (*D, error)) (*D, error)

also declined #40387


0.12.0 fails to compile: wholesym trait bounds not satisfied

Didn't have time to look into what's going on here yet, but I thought you'd like to know. From cargo install samply:
   Compiling samply v0.12.0
error[E0277]: the trait bound `object::File<'_, R>: wholesym::samply_symbols::object::Object<'_>` is not satisfied
    --> /home/cdown/.cargo/registry/src/index.crates.io-6f17d22bba15001f/samply-0.12.0/src/linux_shared/converter.rs:1130:44
     |
1130 |         let debug_id = debug_id_for_object(file)?;
     |                        ------------------- ^^^^ the trait `wholesym::samply_symbols::object::Object<'_>` is not implemented for `object::File<'_, R>`
     |                        |
     |                        required by a bound introduced by this call
     |
     = help: the following other types implement trait `wholesym::samply_symbols::object::Object<'data>`:
               wholesym::samply_symbols::object::File<'data, R>
               wholesym::samply_symbols::object::coff::CoffFile<'data, R, Coff>
               wholesym::samply_symbols::object::read::elf::ElfFile<'data, Elf, R>
               wholesym::samply_symbols::object::read::macho::MachOFile<'data, Mach, R>
               wholesym::samply_symbols::object::read::pe::PeFile<'data, Pe, R>
note: required by a bound in `debug_id_for_object`
    --> /home/cdown/.cargo/registry/src/index.crates.io-6f17d22bba15001f/samply-symbols-0.22.1/src/debugid_util.rs:69:46
     |
69   | pub fn debug_id_for_object<'data>(obj: &impl Object<'data>) -> Option<DebugId> {
     |                                              ^^^^^^^^^^^^^ required by this bound in `debug_id_for_object`

error[E0277]: the trait bound `object::File<'_, R>: wholesym::samply_symbols::object::Object<'_>` is not satisfied
    --> /home/cdown/.cargo/registry/src/index.crates.io-6f17d22bba15001f/samply-0.12.0/src/linux_shared/converter.rs:1169:63
     |
1169 |         let base_svma = samply_symbols::relative_address_base(file);
     |                         ------------------------------------- ^^^^ the trait `wholesym::samply_symbols::object::Object<'_>` is not implemented for `object::File<'_, R>`
     |                         |
     |                         required by a bound introduced by this call
     |
     = help: the following other types implement trait `wholesym::samply_symbols::object::Object<'data>`:
               wholesym::samply_symbols::object::File<'data, R>
               wholesym::samply_symbols::object::coff::CoffFile<'data, R, Coff>
               wholesym::samply_symbols::object::read::elf::ElfFile<'data, Elf, R>
               wholesym::samply_symbols::object::read::macho::MachOFile<'data, Mach, R>
               wholesym::samply_symbols::object::read::pe::PeFile<'data, Pe, R>
note: required by a bound in `wholesym::samply_symbols::relative_address_base`
    --> /home/cdown/.cargo/registry/src/index.crates.io-6f17d22bba15001f/samply-symbols-0.22.1/src/shared.rs:646:56
     |
646  | pub fn relative_address_base<'data>(object_file: &impl object::Object<'data>) -> u64 {
     |                                                        ^^^^^^^^^^^^^^^^^^^^^ required by this bound in `relative_address_base`

error[E0277]: the trait bound `O: wholesym::samply_symbols::object::Object<'_>` is not satisfied
    --> /home/cdown/.cargo/registry/src/index.crates.io-6f17d22bba15001f/samply-0.12.0/src/linux_shared/converter.rs:1301:71
     |
1301 |                 let base_svma = samply_symbols::relative_address_base(file);
     |                                 ------------------------------------- ^^^^ the trait `wholesym::samply_symbols::object::Object<'_>` is not implemented for `O`
     |                                 |
     |                                 required by a bound introduced by this call
     |
note: required by a bound in `wholesym::samply_symbols::relative_address_base`
    --> /home/cdown/.cargo/registry/src/index.crates.io-6f17d22bba15001f/samply-symbols-0.22.1/src/shared.rs:646:56
     |
646  | pub fn relative_address_base<'data>(object_file: &impl object::Object<'data>) -> u64 {
     |                                                        ^^^^^^^^^^^^^^^^^^^^^ required by this bound in `relative_address_base`
help: consider further restricting this bound
     |
1282 |     pub fn compute_base_avma<'data, O: Object<'data> + wholesym::samply_symbols::object::Object<'_>>(
     |                                                      ++++++++++++++++++++++++++++++++++++++++++++++

For more information about this error, try `rustc --explain E0277`.
error: could not compile `samply` (bin "samply") due to 3 previous errors

--locked works, so it seems like then somewhere some versioning or version ranges are not restrictive enough.

Ugh, thanks for reporting! I may need to yank the recent dot release of samply-symbols.

I'm working on this now.

Here's the dependency chains as written down in each released crate's Cargo.toml:
samply 0.12.0 -> wholesym 0.5.0 -> samply-symbols 0.22.0 -> object 0.35
samply 0.12.0 -> wholesym 0.5.0 -> object 0.35
samply-symbols has a public API which expects a type from object.
I recently released samply-symbols 0.22.1 which depends on object 0.36. This was a mistake.
Now wholesym can no longer pass its object types to samply-symbol's public API.
I'm planning to release samply-symbols 0.22.2 with the same code as samply-symbols 0.22.0. Then I will yank samply-symbols 0.22.1.

Done. cargo install samply works for me locally again.

cargo semver-checks missed this breaking change, I think that's https://github.com/obi1kenobi/cargo-semver-checks/issues/638 .


Fix documentation and parsing bugs

Codecov Report

Merging #199 (0799dac) into master (55060cf) will decrease coverage by 0.06%.
The diff coverage is 42.85%.

@@             Coverage Diff              @@
##             master     #199      +/-   ##
============================================
- Coverage     63.23%   63.16%   -0.07%
- Complexity      631      632       +1
============================================
  Files           105      105
  Lines          2388     2392       +4
  Branches        307      308       +1
============================================
+ Hits           1510     1511       +1
- Misses          753      754       +1
- Partials        125      127       +2

Impacted Files
Coverage Δ

src/main/java/tracko/commons/util/AppUtil.java
80.00% <0.00%> (-8.89%)
:arrow_down:

.../tracko/logic/commands/order/EditOrderCommand.java
86.66% <ø> (ø)

...cko/logic/parser/order/EditOrderCommandParser.java
0.00% <0.00%> (ø)

src/main/java/tracko/model/item/Price.java
83.33% <ø> (ø)

src/main/java/tracko/logic/parser/ParserUtil.java
96.66% <83.33%> (+1.66%)
:arrow_up:

src/main/java/tracko/commons/util/StringUtil.java
75.86% <100.00%> (ø)

:mega: We’re building smart automated test selection to slash your CI/CD build times. Learn more


Support Matomo 'ProtectSiteID' plugin

When I input the hashed site ID, and not a number format like it expects, it tells me "please input in the right format" or similar message. I don't want to do this, nor can I, as that's not the format Matomo expects. It means that I would break every other website using the hashed version. I've disabled this plugin for now.

We always welcome pull requests :+1:


add Helix editor theme to README

Hi, I've just ported the theme to Helix! I will maintain this, but I'm unsure if it's final yet. I've tried to keep colors similar to the VSCode version provided by One Hunter.

Is there a benefit to having it in a separate repo rather than placing it in a folder in this repo? Does Helix have a package manager that requires a separate repo?

The main reason was that I hoped to receive some feedback from Helix Flexoki users. I created it in an hour and wasn't comfortable immediately creating a PR in that repo. I ended up getting some feedback, so I will do that now.


Small cosmetic changes

@PeterJausovec  had some comments in #10 and I fixed them with this PR

@clguimanMSFT,
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


When will the docking branch be released / Can i still use it / What is it missing

I never commented on github or opened issues or pull requests so the location of this question might be inappropriate, I'm sorry in advance.
I saw there is this docking branch which is separated from 2.0.0 which I have installed. I am making a very very simple "game (engine?)" and I made the properties panel. In all true "game engines" the tab windows are "stuck" there and you can only rearrange them, and I know this is possible with docking, but I noticed it's not currently available in the pyimgui version I have installed and here on github it says I should not use it so I have a few questions:

When will the docking branch be completed (rough estimate)?
Is it really that unsafe to use it? I need very simple functionality of fixing the windows to a dock
What features are missing?
and since I usually only install packages with PIP, if I were to install the docking branch, after I download the code what would the "terminal command" to install it be? (probably related to setup.py I think)

Thanks.

Thanks for reaching out, you are in the right place, do not worry ;)
Yes, you are right, the "stuck" functionality you are describing (as I understand it) corresponds to the docking feature which is only part of the docking branch. It has not been integrated into the main branch since the very same feature from original c++ library is also separated in a docking branch. I may consider adding it to our main branch in the future since it is an often requested feature.
In this branch, you may refer to example doc/examples/integrations_glfw3_docking.py for the usage of this docking functionality.

When will the docking branch be completed (rough estimate)?

I can't say, these days I do not have a lot of free time to work on pyimgui and I must rely on the rare contributions of community. The docking branch in particular is the fruit of hard work from some community members and I myself didn't touch it at all. It is not planned to move forward for now, but it seems that it may be enough for your needs.

Is it really that unsafe to use it? I need very simple functionality of fixing the windows to a dock

No, I don't think that it is as "unsafe" to use as I have written in readme. The truth is that I didn't spend the necessary time to ensure every functionality has been properly mapped and to list all remaining features to implement. If this moves forward some days, it may change a bit and you may have to refactor some of your code if you use it (or ensure that you keep the same version for your project). I don't think that it is dangerous to use as mapping functionalities is pretty simple, it is just about implementing python functions that calls c++ functions. All the hard work has already been leveraged by DearImGui community. The minimal functionalities of the docking branch are mapped and they were working fine the last time I tested them.

What features are missing?

I don't know, I would have to go through it which I have not been able to do yet. But, as far as I know, you should have everything you need for the "very simple functionality of fixing the windows to a dock" part.

and since I usually only install packages with PIP, if I were to install the docking branch, after I download the code what would the "terminal command" to install it be? (probably related to setup.py I think)

You would have to clone the repository and checkout the docking branch.
git clone git@github.com:pyimgui/pyimgui.git pyimgui
cd pyimgui
git checkout docking

For building the lib, you should find everything you need in the https://github.com/pyimgui/pyimgui/blob/docking/HACKING.md file.
Don't hesitate to ask if you encounter any difficulty.

Thank you so much for the reply, I'll try what you suggested :)

So, I already had problems, RIP
first, my git commands have permission issues.
"""
git clone git@github.com:pyimgui/pyimgui.git pyimgui
Cloning into 'pyimgui'...
<EMAIL_ADDRESS>Permission denied (publickey).
fatal: Could not read from remote repository.
Please make sure you have the correct access rights
and the repository exists.
"""
Tried downloading the docking branch zip, of course I could not checkout, tried running the make command anyways and.. it's not a command on my windows system. How do I install it? I can maybe search this online but without the git command working it would probably be useless.
Thanks for your time

So, I already had problems, RIP first, my git commands have permission issues. """ git clone git@github.com:pyimgui/pyimgui.git pyimgui Cloning into 'pyimgui'<EMAIL_ADDRESS>Permission denied (publickey). fatal: Could not read from remote repository.
Please make sure you have the correct access rights and the repository exists. """ Tried downloading the docking branch zip, of course I could not checkout, tried running the make command anyways and.. it's not a command on my windows system. How do I install it? I can maybe search this online but without the git command working it would probably be useless. Thanks for your time

Try cloning over https instead of over git.
As for 'fixing' a window to one place, you can simulate that behavior by setting hardcoded size and location (set_next_window_position and set_next_window_size, or setting an initial position and adding the window flags imgui.WINDOW_NO_RESIZE and imgui.WINDOW_NO_MOVE from imgui.WINDOW_NO_RESIZE).

Thanks. I'll try both methods

Everything went fine. this error is not related to the installation
Traceback (most recent call last):
  File "b:\Py\Apps\GatorEngine\main.py", line 13, in <module>
    main()
  File "b:\Py\Apps\GatorEngine\main.py", line 9, in main
    editor.run()
  File "B:\Py\Apps\GatorEngine\geditor\src\geditor\editor.py", line 273, in run
    self.imguiLayer.frameEnd()
  File "B:\Py\Apps\GatorEngine\geditor\src\geditor\imguilayer.py", line 64, in frameEnd
    imgui.render()
  File ".\imgui/imgui.base.pyx", line 1671, in imgui.core.render
imgui.core.ImGuiError: ImGui assertion error ((key_mod_flags == 0 || g.IO.KeyMods == key_mod_flags) && "Mismatching io.KeyCtrl/io.KeyShift/io.KeyAlt/io.KeySuper vs io.KeyMods") at imgui-cpp/imgui.cpp:7798

i THINK i set up docking correctly. Here is what i have done, taken from a java tutorial:
def docking(self):
        windowFlags = imgui.WINDOW_MENU_BAR | imgui.WINDOW_NO_DOCKING

        mainViewport = imgui.get_main_viewport()
        imgui.set_next_window_position(mainViewport.work_pos[0], mainViewport.work_pos[1])
        imgui.set_next_window_size(mainViewport.work_size[0], mainViewport.work_size[1])
        imgui.set_next_window_viewport(mainViewport.id)
        imgui.set_next_window_position(0, 0)
        imgui.set_next_window_size(Singletons.app.window._width, Singletons.app.window._height)
        imgui.push_style_var(imgui.STYLE_WINDOW_ROUNDING, 0)
        imgui.push_style_var(imgui.STYLE_WINDOW_BORDERSIZE, 0)
        windowFlags = windowFlags | imgui.WINDOW_NO_TITLE_BAR | imgui.WINDOW_NO_COLLAPSE | \
                imgui.WINDOW_NO_RESIZE | imgui.WINDOW_NO_MOVE | \
                imgui.WINDOW_NO_BRING_TO_FRONT_ON_FOCUS | imgui.WINDOW_NO_NAV_FOCUS

        imgui.begin("Gator Editor Dockspace", True, windowFlags)
        imgui.pop_style_var(2)

        imgui.dockspace(imgui.get_id("GatorEditorDockspace"))

i call end in another function, but it's the same if i call it immediately.


QUESTION: It seems that the SmallMap has a lack of basic traits.

For example, Debug, Clone, Eq... I mean, when the key/values implements the traits above.

Yes it is. This project is still in very eraly stage. There are many methods not implemented. Would you like to implement some?


[REQ] Enable or Disable feature for fast flags

Acknowledgement of preliminary instructions

[X] I have read and acknowledged the preliminary instructions.

What idea do you have?
please add an enable or disable feature for fast flags as for some fast flags you may need at one time and not at the other. it can become handy

you can add _PlaceFilter

how does that work?

flagname_PlaceFilter: value;placeid

Duplicate of #1098 (to an extent)


Expose SHADER_STRING in bindings

Thanks for the great crate! Maybe a niche issue, but I'm using this to handle all the naga_oil preprocessing, generate some structs that have the correct layout, but otherwise I need to fit this in with an existin WGPU codebase (https://github.com/tracel-ai/burn). For that I need access to the final generated SHADER_STRING, which atm ends up as private.
Just have locally modified this for now, happy to create a PR if that sounds good!

Hmm, sure. That is something I didn't think of, but perfectly valid use case. I assume this is when using WgslShaderSourceType::UseEmbed
I am happy to accept a PR for that @ArthurBrussee
You'll probably also need to update the integration tests that uses UseEmbed flag as well.

Hey! Sorry for the late reply, that's really great to hear!
I've sent a PR here now but I ran into some issues while trying to run the tests, I think it'll require some care to get those running on Windows. Thanks again for having a look!

Thank you. Released https://crates.io/crates/wgsl_bindgen/0.10.1


Improve Android native module doc

Show the complete example of the Package code, as the auto generated snippet will return null in createJSModules and createViewManagers, which will then result in error described in http://stackoverflow.com/questions/35823908

cc @foghina

Thanks!
@facebook-github-bot shipit


Printing extra parts for macros

[ ] Use commas for multiple extra parts
[ ] Use singular ("the extra part is") for just one

This now corresponds to https://github.com/Clojure-Intro-Course/babel/issues/37 in the migration repository.


SSL certificate expired

SSL certificate at infamous.io has expired.

Thanks for pointing it out Babak! I'll get to that by this weekend.

I also recently converted from Babel to Buble to make the library code leaner and faster, and will start on the documentation pages for the site next. Finally there will be docs! :D

Alright, fixed! :}


Unable to call init() on GAPI

Hi, I can't seem to initialize GAPI and I'm not sure why. I get this error message:

TypeError: Cannot read property 'authorize' of undefined
at Function.GAPI.init (gapi.js:404)
at new  (main.min.js:303)
at invoke (angular.js:3720)
at Object.instantiate (angular.js:3731)
at angular.js:6848
at q (angular-ui-router.min.js:7)
at A (angular-ui-router.min.js:7)
at Scope.$broadcast (angular.js:12329)
at t.transition.N.then.t.transition.t.transition (angular-ui-router.min.js:7)
at wrappedCallback (angular.js:11033)

Here's the code from my controller:
routerApp.controller('home-controller', function($scope, GAPI, Calendar) {     //debugger;     GAPI.init();      var cal = Calendar.getCalendars('0gbh2vlcl091o66vo0p2di51p2mr4k0e@import.calendar.google.com');
I'm not sure if this is a bug or if I'm missing  something obvious 😳.
Thanks!
Alistair

Same here.

I don't know exactly why this is happening, but the client id is not recognised by the library so you have to add the client id on google client library load
This works for me:
<script src="https://apis.google.com/js/client.js?onload=onClientLoad"></script>
and then in the function:
function onClientLoad(){             gapi.client.load('calendar', 'v3', function(){               gapi.client.setApiKey('YOUR_CLIENT_ID_HERE             });           }
Hope this helps.


Run migrations asynchronously

When running one or more migrations, run them asynchronously so the UI won't lock up. Also, only update the parts that actually need updating, so the projects and migration folders won't fold in.

Added with the first iteration of async usage

The migrations are already running asynchronously, moved progress dialog to issue #39


Feature/image cropper

Previous PR ( https://github.com/divio/django-filer/pull/656 ) was closed because of github issues.
Image cropper connected, focal point removed.
Will need BE help here. Can't merge into develop, because it will fully break the detailed page.

looks good

what's the plan with this?

any progress here?

@Flight @vxsx please ping me when you continue with this. I already have some concept about how to do custom cropping. And I'd like to learn what your approach is about how crop and focal point work together.

Changes Unknown when pulling 2259481a533b4d7e2d58704766203c038f59f644 on feature/image-cropper into ** on develop**.


Add support for generating documentation from typescript files

add in typescript documentation support with dgeni
remove JSDoc @param and @return in Typescript files

Is djeni ready for this, or are we blocked?

AFAIK, djeni can now consume TS files but it does NOT get types from them, so we still need the closure @param, @returns stuff.


remove root element class names after unmounting SmartBanner component

I've noticed that the class names on the HTML tag are not getting removed from the DOM once the SmartBanner gets unmounted. This can lead to undesired effects if other styles depend on those class names. In my case I wanted to push another banner (cookie policy) below the SmartBanner, so I've used the smartbanner-show class as a sibling class in the css code. As I only display the SmartBanner under certain conditions and not on all pages, there is the possibility for it to get unmounted from the DOM. If that happens without the user interacting with it, the class names need to get removed from DOM manually.
I've used element.classList.remove with one parameter and repeated it for all the possible class names to not break it in IE11. A unit test has been added, too. For whatever reason I also had to update the snapshot file.

We're really interested in this. @patw0929 is there any chance we could get this merged?

You're right, that styles should be removed. Thank you!
Already merged and will be publish new version after a few other PRs merged.

fantastic, thanks @patw0929 !


maybe fix version problem

yes, see in #developers

I did something wrong lmao

did I? I dont understand Github

At least this simple pr works in my fork to not break version info ¯_(ツ)_/¯

Gotta rebase upon latest, I’ll just try to make this commit on my phone


Update prepare and transactions methods to use context

I have added PrepareContext and BeginTx methods. I have also replaced context.TODO with context.Background
Following methods are required because of interface, but they are not used:

Begin
Prepare
In stmt struct Exec and Query

I have confirmed this by keeping panic() calls and running the test suite.
Also, I updated the example snippet to use ctx in every call and included a sample of prepared statements

It's better if we merge #24 first, then we can run the tests in this PR to make sure everything is alright

Thanks @avinassh. Looks mostly good but I think the PR needs some cleanup. Please remove commits that introduce changes that are removed later. Also please remove your credentials :)

Thanks @avinassh. Looks much better. Just one last question.


Grid size should be responsive to the shown content

Is your feature request related to a problem? Please describe.
All grids in the application appear to be of the same width and height independent of the content shown within them.
This wastes a lot of space for grids with limited data(e.g. the Select Affiliation grid) and masks entries in grids with a lot of data(e.g. the Select Customer grid), leading to cumbersome scrolling for the user.
Describe the solution you'd like
The grid height should be adapted to the content of the grid.
One possibilty would be to replace the command setFullSize for the layouts to setFullWidth.
Describe alternatives you've considered
Another possiblity could be to make the grids hideable in some sort of accordion component, so the user can extend the grids he wants to use

 Fix issue #229 (Grid size should be responsive to the content shown)

 Fix issue #229 (Grid size should be responsive to the content shown)


Upgrade to Aff 4.0

Fixes #74
Upgrades to Aff 4.0! Worth looking at how this works when upgrading at least one or two examples though.

Updated the example inside, seems to build fine.

Good job! Thanks for the contribution :+1:


Report implicit any error for 'yield' result with no contextual type

Adds an "implicit any" error when the result of a yield expression is used and that expression is untyped. For example:
function* g1() {
  const value = yield 1; // report implicit any error
}
function* g2() {
  yield 1; // result is unused, no error
}
function* g3() {
  const value: string = yield 1; // result is contextually typed by type annotation of `value`, no error.
}
function* g3(): Generator<number, void, string> {
  const value = yield 1; // result is contextually typed by return-type annotation of `g3`, no error.
}

Fixes #35105

@typescript-bot perf test
@typescript-bot run dt
@typescript-bot test this
@typescript-bot user test this

@typescript-bot run dt
@typescript-bot test this
@typescript-bot user test this

community code suite is failing, but does not seem to be related to this change
extended test suite is failing, but does not seem to be related to this change
dt test suite is failing, most changes are unrelated but there are new errors showing up for types/wordpress__data-controls/wordpress__data-controls-tests.ts:
https://github.com/DefinitelyTyped/DefinitelyTyped/blob/ae50eb9ce3e850f25fe2903f46d9161827d8dfef/types/wordpress__data-controls/wordpress__data-controls-tests.ts#L24-L28function* generator() {
    // $ExpectType any
    const apiFetchValue = yield apiFetch({ path: '/wp/v2/posts' });
    // $ExpectType any
    const dispatchValue = yield dispatch('core/edit-post', 'togglePublishSidebar');
    // $ExpectType any
    const selectValue = yield select('core/edit-post', 'isEditorPanelEnabled', 'foo');
}

I'm not sure what this is supposed to be testing, exactly. I will file a PR for DT to remove this test since it doesn't seem to be useful.


Cenus_Communal: Error message not correct on Establishment 2nd Question

Expected behaviour
Must display an error message 'Please provide an answer to continue’
Actual behaviour
Displays incorrect error message 'This field is mandatory'
Steps to reproduce the behaviour
Launch census_communal survey
Navigate to navigate to 2nd question in Establishment section
Click [Save and Continue] without entering any value
Technical information
Browser
Operating System
Screenshot

Defect passed retest


Fixed BOTKUBE_VERSION

ISSUE TYPE

Bug fix Pull Request

SUMMARY

The software notifies on the channel if you are using the updated version of BotKube or not. To do this, use the BOTKUBE_VERSION variable which is set up with the .Chart.Version value which does not necessarily correspond to the version of the software running on the cluster. The actual version of the software that runs is the one that comes from .Values.image.tag.

We need to revisit version logic to use build-time variables. But this can be done as a separate task.

@PrasadG193 all build failed? Why?

@PrasadG193 what can we do to push forward?

@pierluigilenoci looks like one of the dep breaking builds. Let me fix that.


docs.rs fail - to much ram ? - crate astrology

Crate name:
astrology
Build failure link:
https://docs.rs/crate/astrology/0.1.59/builds
Additional details:
To much ram ? This application is 80% svg generate with "svg" crate (src/astrology_draw_svg/svg_draw.*) and one file is big with 2500 lines code (src/astrology_draw_svg/svg_draw.rs)
Thanks in advance

The relevant error message is
[INFO] [stderr]   process didn't exit successfully: `/opt/rustwide/target/debug/build/astrology-425616fa29f4df12/build-script-build` (exit code: 101)
[INFO] [stderr] --- stderr
[INFO] [stderr] thread 'main' panicked at 'called `Result::unwrap()` on an `Err` value: Os { code: 30, kind: Other, message: "Read-only file system" }', /opt/rustwide/cargo-home/registry/src/github.com-1ecc6299db9ec823/cbindgen-0.12.2/src/bindgen/bindings.rs:99

It looks like you told bindgen to write to the src directory, which is not allowed for security reasons. Instead you can write to OUT_DIR, which is set by cargo at build time.


List type and key if possible

Wondering if you might also be able to list the encoding / encryption method and the key when outputting the decoded string.  Such that if it used XOR with a static key, it would state that and what the key was to decode the string.

FLOSS identifies the decoding mechanisms using heuristics and performs emulation of the identified functions. Hence, it never has to be concerned with any details of the decoding itself and does not provide more information.
However, if you use the -g command-line options FLOSS will show you the decoding function offset. If you use the -x command-line option, the output will also include where a function has been called from. This will hopefully help in identifying the decoding algorithm and key.


Improve staleness handling

Currently prometheus considers a timeseries stale when it's got no data points more recent than 5m (configurable).
This causes dead instances' data to hang around for longer than it should, makes less often scrape intervals difficult, makes advanced self-referential use cases more difficult and   prevents the timestamp propagating from the push gateway.
I propose that we consider a timeseries stale if it wasn't present in the most recent scrape of the target we get it from.

I was just thinking there from the rate discussion, and have a sketch of a solution.
The two basic cases we want to solve are:

If a pushgateway exports a sample with a timestamp, it should be considered fresh for as long as it exported.
If a target scrape fails or a target is removed, we no longer want to consider it's time series fresh. This is the sum(some_gauge) case.

In addition we want something that'll produce the same results now as back in time, and across Prometheus restarts.
My idea is to add two new values that a sample can have: "fresh" and "stale". These would be persisted like normal samples, but not directly exposed to users.
When we get a scrape with timestamps set on sample we don't have, we'd add a sample for the exported value, and a 2nd one with the "fresh" value and the scrape time. If we get a sample we already have, then we add a new sample with the "fresh" value and scrape time. When querying for a given time with an instant selector, if we get a "fresh" then we walk back until we get the actual sample. For a range selector we'd ignore that sample.
When a scrape fails, a evaluation no longer produces certain timeseries or a target is removed we'd add in a "stale" on all affected time-series. For an instant selector if the first sample we hit is stale, we stop and return nothing. For a range selector we'd ignore the stale samples, and return the other samples as usual (irate needs special handling here as it's more instant in semantics - could we change it to an instant selector?, and we'll need to be careful with SD blips).
There's various corner cases and details to be worked out, but this seems practical and has the right semantics.

When a scrape fails, a evaluation no longer produces certain timeseries or a target is removed we'd add in a "stale" on all affected time-series.

I believe the actual challenge in staleness handling is to identify which time-series are "affected" in the above sense. To do that, we needed to track which target exported which time-series in their respective last scrape. All the updates and lookups required are not trivial to get right and fast, especially in a highly concurrent, high throughput scenario.

My idea is to add two new values that a sample can have: "fresh" and "stale". These would be persisted like normal samples, but not directly exposed to users.

As an implementation idea, it appears that there are 2^52 - 1 ways to represent NaN in float64, so with some trickery we could encode this information plus an actual NaN using that fact. This would avoid the need to add metadata of some form to the chunk. This cloud also presumably be propagated to long term storage.
There is of course the question of if float64 implementations are "NaN-clean", or if we'd have to handle that ourselves in some cases.

@brian-brazil is any traction on this issue? Asking as i'm in process of evaluating/ moving from influxDb but this issue is a bit of a blocker
Thanks and great job!

There's a hint that we'll do some of the plumbing for this for other reasons, but as this is a major breaking change it'll be at least 2.0 before this happens.

Sorry for an uninformed question: have you considered storing the scrape interval in type Sample, just like the timestamp? That allows you do easily determine if a given Sample is stale and you don't have to track which target used to provide which metric.

I don't think that would help, as it doesn't tell you about scrapes that didn't happen or targets appearing/disappearing.

just a thought, is it possible to invert problem and let target being scraped to optionally report difference since last scrape?

That brings with it all sorts of problems (http://www.robustperception.io/how-does-a-prometheus-counter-work/), and I don't see a way it helps with the issue at hand.

@brian-brazil I meant not a difference in values, but difference in metrics set, so that central server doesn't need to track which metrics are gone

That has similar issues to the difference in values, as the client needs to track scrapes.

@brian-brazil
Where is the "staleness configuration" for a timeseries? You mention that it's 5m by default and configurable. I have a system that, currently, can only be scrapped every 4 hours and I want my graphs to have valid data-points for up to that time without gaps.

@szxnyc The flag is `--query.staleness-delta``.

https://docs.google.com/document/u/1/d/1ordTPfUSaGvaBolUGeLChATwgc1xUhUxfUhudYoOeMw/edit is a proposal for how to handle this.

The base form of this is in place for scrapes in the dev-2.0 branch if ye'd like to try it out.

@brian-brazil Can you build a new alpha release in order to test it?

@AndreaGiardini sync'd with @brian-brazil again and we concluded the amount of fixes and new experimental features justifies another alpha.
Release is already in progress.

looking forward to the new release

Remaining core staleness work is now all out for review.

This is all implemented in 2.0 with the pgw changes just awaiting a release. Still need docs, but that'll happen with the rest of 2.0 docs.

@brian-brazil I used prometheus/cloudwatch_exporter with below config to collect data for SQS metric. This data takes more than 10mins to refresh (localhost:9106/metrics). Please suggest how can i avoid this.

The above was because of the cloudwatch gets updated with latest data every 5mins. Also i changed the delay_seconds to 10seconds in cloudwatch_exporter. Now the data gets refreshed in max 5mins.


Consider renaming DataLakePathClient::GetFileClient to AsFileClient

There isn't such API.

There isn't such API.

@katmsft FYI, this is a suggestion from Ted during arch board review. You cannot just disregard it like this.

@katmsft FYI, this is a suggestion from Ted during arch board review. You cannot just disregard it like this.

There isn't an API called DataLakePathClient::GetFileClient, so why the renaming?
Are you suggesting adding AsFileClient?

There isn't an API called DataLakePathClient::GetFileClient, so why the renaming?
Are you suggesting adding AsFileClient?

okay

okay


[bazelified tests] Make bazelified C basictests build only

make C-core basictests use --build_only when running as bazelified tests. This is because the volume of C core tests is expected to grow very significantly after https://github.com/grpc/grpc/pull/34419 and  currently the non-bazelified counterpart of the tests (the presubmit grpc_basictests_c_cpp_build_only job) is also "build only".
make the linux presubmit job grpc_basictests_c_cpp_build_only a noop, since the bazelified tests already give the same coverage on presubmit.

Basic Tests C/C++ Linux [Build Only] now takes 3mins: https://source.cloud.google.com/results/invocations/98bca4b5-8e29-48b6-9411-a0985412bad5/targets


Non compatible with armor trims

When using third person with the mod, armor trims are not visible.
Apon deleting the mod, the trims are visible.
I'm experiencing this on 1.20.1 although I haven't testing if it's patched on other versions.

I can't reproduce it on 2.0.8-beta.4-mc1.20.1
Maybe due to conflict with other mod?
However I did some modification b5cb63f7f541543006051980d397496506f354a4, which may solve this.

I reproduced this when iris installed. I'll see how to fix this...

By now the solution is to disable player fade out in config.
Because this feature seems to conflict with Iris.
Player fade out is now disabled by default.


document minimum Go version

I believe this tool cannot be used/compiled with Go 1.4 due to the use of the go/types and go/constant packages, it might be nice to document that.

Quoting the 3rd line of text in the README:

Staticcheck requires Go 1.6 or later

yikes. not sure how I missed that. sorry.


Fill play and pause button circles

Fill play and pause button circles
Center play, previous and next buttons
Some linting fixes

Closing this as the feature has been implemented separately


[WIP/release/1.24] repo: Release v1.24.11

Commit Message:
Additional Description:
Risk Level:
Testing:
Docs Changes:
Release Notes:
Platform Specific Features:
[Optional Runtime guard:]
[Optional Fixes #Issue]
[Optional Fixes commit #PR or SHA]
[Optional Deprecated:]
[Optional API Considerations:]

/retest


HDXDSYS-1092 global 3W data

Updated to latest data and added LBY, MWI, ZWE.

Pull Request Test Coverage Report for Build<PHONE_NUMBER>0
Details

0 of 0   changed or added relevant lines in 0 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage remained the same at 92.458%

Totals

Change from base Build<PHONE_NUMBER>2:
0.0%

Covered Lines:
1753

Relevant Lines:
1896

💛  - Coveralls


Node: Segmentation fault

What version of gRPC and what language are you using?
1.6.0 for Node.js
What operating system (Linux, Windows, …) and version?
Debian Sid
What runtime / compiler are you using (e.g. python version or version of gcc)
gcc (Debian 7.2.0-4) 7.2.0
What did you do?
I am connecting to etcd using grpc.load() of etcd's proto file. While testing client behaviour when the etcd server is not accessible my app segfaults after several connection errors ("Failed to connect before the deadline" from grpc.waitForClientReady()).
Backtrace:
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".
Core was generated by `node app.js'.
Program terminated with signal SIGSEGV, Segmentation fault.
#0  0x00007fef86ca5cd8 in main_arena () from /lib/x86_64-linux-gnu/libc.so.6
[Current thread is 1 (Thread 0x7fef87d69b80 (LWP 11173))]
(gdb) bt full
#0  0x00007fef86ca5cd8 in main_arena () from /lib/x86_64-linux-gnu/libc.so.6
No symbol table info available.
#1  0x00007fef765553b0 in grpc_timer_cancel (exec_ctx=<optimized out>, timer=0x7fef86ca5d08 <main_arena+520>) at ../src/core/lib/iomgr/timer_uv.c:84
No locals.
#2  0x00007fef76583d55 in uv_tc_on_connect (req=<optimized out>, status=-125) at ../src/core/lib/iomgr/tcp_client_uv.c:85
        connect = 0x7fef86ca5ca8 <main_arena+424>
        exec_ctx = {closure_list = {head = 0x0, tail = 0x0}, active_combiner = 0x0, last_combiner = 0x0, flags = 1, check_ready_to_finish_arg = 0x0, check_ready_to_finish = 0x0}
        error = 0x0
        done = <optimized out>
        closure = 0x2ccee40
#3  0x000000000132b914 in ?? ()
No symbol table info available.
#4  0x0000000001321350 in uv_run ()
No symbol table info available.
#5  0x00000000010a9c50 in node::Start(int, char**) ()
No symbol table info available.
#6  0x00007fef8692e2e1 in __libc_start_main (main=0x7b7f70 <main>, argc=2, argv=0x7ffe59d658a8, init=<optimized out>, fini=<optimized out>, rtld_fini=<optimized out>, stack_end=0x7ffe59d65898)
    at ../csu/libc-start.c:291
        result = <optimized out>
        unwind_buf = {cancel_jmp_buf = {{jmp_buf = {0, -3805309164132912269, 8099412,<PHONE_NUMBER>40352, 0, 0,<PHONE_NUMBER>751032691,<PHONE_NUMBER>662721907}, mask_was_saved = 0}}, priv = {pad = {0x0, 0x0, 0x2,
              0x7b7f70 <main>}, data = {prev = 0x0, cleanup = 0x0, canceltype = 2}}}
        not_first_call = <optimized out>
#7  0x00000000007b967d in _start ()
No symbol table info available.

What did you expect to see?
Something other than a segfault.
What did you see instead?
A segfault.

Can you share a script that reproduces this? Also, what version of Node are you using?

Node is v6.11.3 - I'll have a go at making a small repro script tomorrow.

Can you suggest some -dev libs I can install to get a better backtrace?

A better backtrace:
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".
Core was generated by `node app.js'.
Program terminated with signal SIGSEGV, Segmentation fault.
#0  grpc_closure_sched (exec_ctx=0x7fff961b9190, c=0x23ebc80, error=0x4) at ../src/core/lib/iomgr/closure.c:177
177     ../src/core/lib/iomgr/closure.c: No such file or directory.
[Current thread is 1 (Thread 0x7fa526584740 (LWP 4090))]
(gdb) bt full
#0  grpc_closure_sched (exec_ctx=0x7fff961b9190, c=0x23ebc80, error=0x4) at ../src/core/lib/iomgr/closure.c:177
No locals.
#1  0x00007fa51dcaa3b0 in grpc_timer_cancel (exec_ctx=<optimized out>, timer=0x23ec430) at ../src/core/lib/iomgr/timer_uv.c:84
No locals.
#2  0x00007fa51dcd8d55 in uv_tc_on_connect (req=<optimized out>, status=-125) at ../src/core/lib/iomgr/tcp_client_uv.c:85
        connect = 0x23ec3d0
        exec_ctx = {closure_list = {head = 0x0, tail = 0x0}, active_combiner = 0x0, last_combiner = 0x0, flags = 1, check_ready_to_finish_arg = 0x0, check_ready_to_finish = 0x0}
        error = 0x0
        done = <optimized out>
        closure = 0x0
#3  0x00007fa525f6435c in uv__stream_destroy (stream=stream@entry=0x2438880) at src/unix/stream.c:445
        __PRETTY_FUNCTION__ = "uv__stream_destroy"
#4  0x00007fa525f5aa36 in uv__finish_close (handle=0x2438880) at src/unix/core.c:256
No locals.
#5  uv__run_closing_handles (loop=0x7fa526173900 <default_loop_struct>) at src/unix/core.c:286
        p = 0x2438880
        q = 0x238b410
#6  uv_run (loop=0x7fa526173900 <default_loop_struct>, mode=mode@entry=UV_RUN_ONCE) at src/unix/core.c:356
        timeout = <optimized out>
        r = 1
#7  0x0000000000d720c0 in node::StartNodeInstance (arg=<synthetic pointer>) at ../src/node.cc:4707
        seal = {isolate_ = 0x234b470, prev_limit_ = 0x238b370, prev_sealed_level_ = 0}
        more = <optimized out>
        locker = {has_lock_ = true, top_level_ = true, isolate_ = 0x234b470}
        context = {val_ = 0x2389380}
        env = <optimized out>
        handle_scope = {isolate_ = 0x234b470, prev_next_ = 0x0, prev_limit_ = 0x0}
        exit_code = <optimized out>
        params = {entry_hook = 0x0, code_event_handler = 0x0, constraints = {max_semi_space_size_ = 0, max_old_space_size_ = 0, max_executable_size_ = 0, stack_limit_ = 0x0, code_range_size_ = 0},
          snapshot_blob = 0x0, counter_lookup_callback = 0x0, create_histogram_callback = 0x0, add_histogram_sample_callback = 0x0, array_buffer_allocator = 0x234b450}
        array_buffer_allocator = 0x234b450
        isolate = 0x234b470
        instance_data = <synthetic pointer>
        args = {0xf3b029 "../src/node.cc", 0xf3b066 "4659", 0xf3b06b "(node_isolate) == (nullptr)", 0xf3cc80 <node::StartNodeInstance(void*)::__PRETTY_FUNCTION__> "void node::StartNodeInstance(void*)"}
        args = {0xf3b029 "../src/node.cc", 0xf3b04a "4745", 0xf3b04f "(isolate) != (nullptr)", 0xf3cc80 <node::StartNodeInstance(void*)::__PRETTY_FUNCTION__> "void node::StartNodeInstance(void*)"}
#8  node::Start (argc=<optimized out>, argv=<optimized out>) at ../src/node.cc:4793
        instance_data = {node_instance_type_ = node::MAIN, exit_code_ = 1, event_loop_ = <optimized out>, argc_ = <optimized out>, argv_ = <optimized out>, exec_argc_ = <optimized out>,
          exec_argv_ = <optimized out>, use_debug_agent_flag_ = <optimized out>}
        exec_argc = 0
        exec_argv = 0x2349c70
        exit_code = 1
#9  0x00007fa5221912e1 in __libc_start_main (main=0x6d9460 <main(int, char**)>, argc=2, argv=0x7fff961b95a8, init=<optimized out>, fini=<optimized out>, rtld_fini=<optimized out>, stack_end=0x7fff961b9598)
    at ../csu/libc-start.c:291
        result = <optimized out>
        unwind_buf = {cancel_jmp_buf = {{jmp_buf = {0, -3599453058325645345, 7187328,<PHONE_NUMBER>78208, 0, 0,<PHONE_NUMBER>807431135,<PHONE_NUMBER>141310943}, mask_was_saved = 0}}, priv = {pad = {0x0, 0x0,
              0x7fff961b95c0, 0x7fa5265b3170}, data = {prev = 0x0, cleanup = 0x0, canceltype = -1776577088}}}
        not_first_call = <optimized out>
#10 0x00000000006dabaa in _start ()
No symbol table info available.

This one works for me most of the time (but not always).
Source of foo.js
var grpc = require('grpc');
var proto = grpc.load('foo.proto');

var attempt = 0;

(function loop () {
    var client = new proto.foo.FooService('gir.me.uk:8888', grpc.credentials.createInsecure());

    grpc.waitForClientReady(client, new Date(Date.now() + 5000), function (err) {
        if (err) {
            attempt += 1;

            if (attempt < 2) {
                setTimeout(loop, 15000);
            }

            console.error('Connection timeout', err);
        }
    });
}());

Source of foo.proto:
syntax = "proto3";

package foo;

service FooService {
}

Run until it crashes:
while [ true ]; do node foo.js || break; done

So, "gir.me.uk:8888" is simply an arbitrary dns name + port that is expected to never exist; is that right?

It's a port on my website that I know will drop connections, as upposed to reset them which will trigger a different error in the client.

@borisovg hey, would you be able to give my PR a spin and provide feedback whether it fixes your crash?
Probably a good idea to cross-check while we are waiting for @murgatroid99 to provide feedback.

@vosst Looks like it does indeed fix it. :)


SUPESC-274 allow module usage without Silex (with Router plugin)

Developer(s): @boykodev

Ticket: https://spryker.atlassian.net/browse/SUPESC-274

Academy PR: ACADEMY_URL_HERE

Release Group: https://release.spryker.com/release-groups/view/3338

PR Overview: https://release.spryker.com/release/pull-request-eco/Heidelpay/57

merge: merge

Release Table

Module
Release Type
Constraint Updates

Heidelpay
minor

Module Heidelpay
Change log
Improvements

Introduced HeidelpayRouteProviderPlugin to add Router support.
Added spryker/router to dependencies.

Deprecations

Deprecated HeidelpayControllerProvider to avoid Silex usage.

Please move any touched eco module to Github Actions
See an example at https://github.com/spryker/event-behavior/blob/master/.github/workflows/ci.yml

Couldn't make travis tests pass. Errors of that type are not reproducible on local (all tests are green). But in travis I get this:
`Test  Business/HeidelpayFacadeAuthorizeOnRegistrationPaymentTest.php:testProcessSuccessAuthorizeOnRegistrationPayment
[Spryker\Zed\Oms\Business\Exception\StatemachineException] Could not find "6059fbdbd1a2e-process.xml". Please check your process definition location`
https://travis-ci.org/github/spryker-eco/heidelpay/jobs/764231905

Couldn't make travis tests pass.
I've faced this issue and fixed it here: https://github.com/spryker-eco/heidelpay/pull/56
Please check this and this commits (do not look at codecetion.yml). If you want some explanations just ping me directly.


Mob portfolio finish

In this project I have added 2 sections:

[ ] Work section

[ ] About section

@amon-cofie
I have fixed the background color.
However, about the images I have pulled repository to another machine and I could see those images in both machines.
Thanks for the kind review.


Add CHANGELOG Workflow

Closes: #XXX
What is the purpose of the change
Adds workflow where the CI would fail upon not having CHANGELOG entry in the PR.
The check can be skipped when labeled manually no changelog.
Brief Changelog
Add CHANGELOG Workflow
Testing and Verifying
Tested via this PR
Documentation and Release Note

Does this pull request introduce a new feature or user-facing behavior changes? (yes / no)
Is a relevant changelog entry added to the Unreleased section in CHANGELOG.md? (yes / no)
How is the feature or change documented? (not applicable   /   specification (x/<module>/spec/)  /  Osmosis docs repo   /   not documented)

What do you think of simply adding a comment to the PR with a tag to the PR's creator when it is, for example, opened for review? I think this workflow will block features like auto-merge on many PR's that do not need a changelog entry (CI won't pass)
CC: @mattverse @p0mvn


require metadata.name field in functionConfigs

fixes https://github.com/GoogleContainerTools/kpt/issues/2105

Please update the PR to cover #1959

@Shell32-Natsu please take a look when you can, thanks!


update config.yml; add more community remix official resource links

What is the change?

update config.yml file to help direct current & potential remix users to the helpful pages

Motivation

adds helpful tips for user's during the process of creating a bug/issue report
bring awareness to other Remix resources to grow the awesome remix community 🤝 📀👥

CC @chaance  🙏

@kentcdodds Leaving it up to you to merge this one!


Documentation: Minimum Node.js version

Hello @agile8118 Joseph, I would like to contribute to this project but I would like to know what the minimum version of Node.js supported by this framework is?
I've looked into the documentation and the package.json file and I cannot find it. I also paid attention to the video attached but I did not hear you mention it. I think it is important for people who may want to use/contribute to the library.
Can it be included in the documentation (if possible, with a contribution guideline)
Thanks.

Hi,
Thanks for your interest in the project! I will soon add a contribution guide to specify how we can take this forward together. As for the minimum version, yes we should add something to the package file. We'll figure that out later when the project progresses a bit because it is still in development, and we intend to use as many modern features of Node.js and JavaScript as possible. Thanks again!

You're welcome.


SSL_ERROR_BAD_CERT_DOMAIN when attempting to access openbuildservice.org

I recognize that creating this issue breaches the "only create issues/features for Open Build Service server" rule, however given that https://openbuildservice.org/support/ is also inaccessible, it's not clear where else to report this.

Thanks @hennevogel.
It's now accessible again so closed.


Changeme

Hey @thuongtruong1009,
Thanks for your interest in badge earning! Here is a few things to notice:

We're trying to keep the main branch static, so it's now locked for changes;
The active develop branch is open for experimentation and badge earning;
If you are interested in earning Pair Extraordinaire badge, here are some steps to try https://github.com/ParanoidUser/yolo/discussions/26

I'm here to answer any questions you may have.