DotSpatial Projection with GridShift is Extremely Slow for NAD27

Bug?
Not sure if this is a bug or expected behavior, but using a  Projected.StatePlaneNad1927.NAD1927StatePlaneWyomingEastCentralFIPS4902
yields correct results with unacceptable times using a GridShift.
Steps to reproduce

For source , create: ProjectionInfo src = ProjectionInfo.FromEpsgCode(4326);  //  WGS84
For destination1, create: KnownCoordinateSystems.Projected.StatePlaneNad1927.NAD1927StatePlaneWyomingEastCentralFIPS4902
For destination2, create:Projected.StatePlaneNad1983.NAD1983StatePlaneWyomingEastCentralFIPS4902
4:  create 1500 lat long data points, in the range of Casper Wyoming (see code below)
5: Reproject these points to dest1 and dest2.  (see code below)
6: The GridShift has to be turned on and the one I am using is: ntv1_can.dat  (see code below)

DotSpatial version: 2.0.0-rc1
Expected behaviour
When I run my C# main with a NAD83 projection vs a NAD27(requiring a grid shift), NAD27 takes about 15 seconds to Reproject.ReprojectPoints for 1500 points.  NAD83 is instantaneous.  The NAD27 does give the right answer, but the speed is unacceptable.
Expected Behaviour:  Instantaneous like the NAD83
Actual behaviour
Time to convert 1500 locations: 14.797 secs. Using NAD27 WITH Gridshifts
Time to convert 1500 locations: 0 secs. Using NAD83
Code in C# if Applicable:
using DotSpatial.Projections;
using System;
using System.Collections.Generic;
using System.Diagnostics;
using Utilities.Coordinates;

namespace CRSProjections
{
    class LatLongTest
    {

        static void Main(string[] args)
        {

            // Directly access the projected known systems for wyoming east cerntal, NAD27 & NAD83
            GridShift.InitializeExternalGrids("GridShifts", true);

            ProjectionInfo wyomingNad27 = KnownCoordinateSystems.Projected.StatePlaneNad1927.NAD1927StatePlaneWyomingEastCentralFIPS4902;
            ProjectionInfo wyomingNad83 = KnownCoordinateSystems.Projected.StatePlaneNad1983.NAD1983StatePlaneWyomingEastCentralFIPS4902;

            int srcEPSG = 4326; // WGS84 Geographic
            ProjectionInfo src = ProjectionInfo.FromEpsgCode(srcEPSG);

            int n = 1500;
            double latMin = 43.26808129519191;
            double latMax = 43.32542743693507;

            double longMin = -106.20071411132812;
            double longMax = -106.21667861938475;

            double latDiff = latMax - latMin;
            double longDiff = longMax - longMin;

            double latInc = latDiff / (double)n;
            double longInc = longDiff / (double)n;

            double[] xy = new double[n*2];
            double[] z = new double[n];  // Defaults to 'n' zeros
            int c = 0;
            for (int i = 0; i < n; i++)
            {
                double newLat = latMin + i * latInc;
                double newLong = longMin + i * longInc;
                xy[c++] = newLong;
                xy[c++] = newLat;
            }
            Stopwatch sw1 = Stopwatch.StartNew();
            Reproject.ReprojectPoints(xy, z, src, wyomingNad27, 0, z.Length);
            Console.WriteLine("Time to convert " + n + " locations: " + sw1.ElapsedMilliseconds / 1000.0 + " secs. Using NAD27 WITH Gridshifts");

            // reset points
            c = 0;
            for (int i = 0; i < n; i++)
            {
                double newLat = latMin + i * latInc;
                double newLong = longMin + i * longInc;
                xy[c++] = newLong;
                xy[c++] = newLat;
            }

            Stopwatch sw2 = Stopwatch.StartNew();
            Reproject.ReprojectPoints(xy, z, src, wyomingNad83, 0, z.Length);
            Console.WriteLine("Time to convert " + n + " locations: " + sw2.ElapsedMilliseconds / 1000.0 + " secs. Using NAD83 WITH Gridshifts");

            Console.ReadLine();

        }
    }
}

Not entirely sure about what is going on, but try to set:
GridShifts.ThrowGridShiftMissingExceptions = false
and run the code again. If you happen to see a faster conversion, then it might have something to do with an exception being thrown for each and every point, because the required grid is missing. As far as I have seen, the table you want is the conus grid-shift table.
Find the ...Nad\GridShifts folder that is being used in your application and unzip all files within the folder. Last time I checked (which was today), the GridShift.InitializeExternalGrids method does not search within zip files, only immediately available files (checked for presence by their file extensions). The ...Nad\GridShifts folder is located within the original DotSpatial.Projections folder of the main repository, but you may have relocated it to go with your application, so make sure to unzip the files in the folder you are actually using.

Thank you for responding Virtor:
I spent some time this morning testing out various scenarios around your recommendations.
Scenario 1:  GridShifts Folder is Empty:
	GridShift.InitializeExternalGrids("GridShifts", true);
	GridShift.ThrowGridShiftMissingExceptions = true;

	Result: Threw exception: Grid shift is missing. For details go to https://github.com/DotSpatial/DotSpatial/wiki/Grid-Shifts

Scenario 2:  GridShifts Folder is Still Empty:
	GridShift.InitializeExternalGrids("GridShifts", true);
	GridShift.ThrowGridShiftMissingExceptions = false;

	Result: Reports tons of spew to the debug window.  This is reported below as "Debug Report 1"

Scenario 3: GridShifts Folder has 4 Grid shift files in it: "alaska.lla, conus.lla, ntv1_can.dat, ntv2_0.GSB"
 I use these four because in the debug report from step 2, it warned that it tried to find/search for those 4

    GridShift.InitializeExternalGrids("GridShifts", true);
    GridShift.ThrowGridShiftMissingExceptions = true;

	Result: Good results but unacceptably slow.

Scenario 4: Use same GridShift files as Step #3 above.
    GridShift.InitializeExternalGrids("GridShifts", true);
    GridShift.ThrowGridShiftMissingExceptions = false;

	Result: Exactly same as 3, Good results but unacceptably slow.  No difference by turning off the exceptions.

Note that both steps 3 & 4 both reported the debug window as shown in 'Debug Report 2' shown below.
Final Note:
I tried removing the different files one-by-one in the GridShifts folder with the exceptions flag set to true.  The ONLY file it did not throw an exception for was "ntv1_can.dat".  So your recommendation for the "conus.lla" unfortunately did not work.
Any help you and your team can provide is greatly appreciated.  But for now, I cannot use GridShifts for NAD27 in Wyoming because something is wrong with performance.  Right answers, but too slow.
Thanks for your help!
Chris
<EMAIL_ADDRESS>cell:<PHONE_NUMBER>
Debug Report 1:
...
Unrecognized parameter skipped axis.
Unrecognized parameter skipped gamma.
ProjectionInfo.ParseProj4String: command 'no_uoff' not understood in '+proj=omerc +lat_0=45.30916666666666 +lonc=-86 +alpha=337.25556 +k=0.9996 +x_0=2546731.496 +y_0=-4354009.816 +no_uoff +gamma=337.25556 +datum=NAD83 +units=m +no_defs'
Unrecognized parameter skipped gamma.
ProjectionInfo.ParseProj4String: command 'no_uoff' not understood in '+proj=omerc +lat_0=45.30916666666666 +lonc=-86 +alpha=337.25556 +k=0.9996 +x_0=2546731.496 +y_0=-4354009.816 +no_uoff +gamma=337.25556 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs'
Unrecognized parameter skipped gamma.
ProjectionInfo.ParseProj4String: command 'no_uoff' not understood in '+proj=omerc +lat_0=4 +lonc=102.25 +alpha=323.0257905 +k=0.99984 +x_0=40000 +y_0=0 +no_uoff +gamma=323.1301023611111 +a=6377295.664 +b=6356094.667915204 +to_meter=20.116756 +no_defs'
Unrecognized parameter skipped gamma.
ProjectionInfo.ParseProj4String: command 'no_uoff' not understood in '+proj=omerc +lat_0=4 +lonc=102.25 +alpha=323.0257905 +k=0.99984 +x_0=804670.24 +y_0=0 +no_uoff +gamma=323.1301023611111 +a=6377295.664 +b=6356094.667915204 +units=m +no_defs'
Unrecognized parameter skipped gamma.
ProjectionInfo.ParseProj4String: command 'no_uoff' not understood in '+proj=omerc +lat_0=4 +lonc=102.25 +alpha=323.0257964666666 +k=0.99984 +x_0=804671 +y_0=0 +no_uoff +gamma=323.1301023611111 +ellps=GRS80 +units=m +no_defs'
Unrecognized parameter skipped gamma.
ProjectionInfo.ParseProj4String: command 'no_uoff' not understood in '+proj=omerc +lat_0=4 +lonc=115 +alpha=53.31580995 +k=0.99984 +x_0=0 +y_0=0 +no_uoff +gamma=53.13010236111111 +ellps=GRS80 +units=m +no_defs'
Unrecognized parameter skipped gamma.
ProjectionInfo.ParseProj4String: command 'no_uoff' not understood in '+proj=omerc +lat_0=57 +lonc=-133.6666666666667 +alpha=323.1301023611111 +k=0.9999 +x_0=5000000 +y_0=-5000000 +no_uoff +gamma=323.1301023611111 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs'
Unrecognized parameter skipped gamma.
ProjectionInfo.ParseProj4String: command 'no_uoff' not understood in '+proj=omerc +lat_0=45.30916666666666 +lonc=-86 +alpha=337.25556 +k=0.9996 +x_0=2546731.496 +y_0=-4354009.816 +no_uoff +gamma=337.25556 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs'
Unrecognized parameter skipped gamma.
ProjectionInfo.ParseProj4String: command 'wktext' not understood in '+proj=merc +a=6378137 +b=6378137 +lat_ts=0.0 +lon_0=0.0 +x_0=0.0 +y_0=0 +k=1.0 +units=m +nadgrids=@null +wktext +no_defs'
ProjectionInfo.ParseProj4String: command 'wktext' not understood in '+proj=merc +a=6378137 +b=6378137 +lat_ts=0.0 +lon_0=0.0 +x_0=0.0 +y_0=0 +k=1.0 +units=m +nadgrids=@null +wktext +no_defs'
...
...
Unrecognized parameter skipped vunits.
Unrecognized parameter skipped geoidgrids.
Unrecognized parameter skipped vunits.
Unrecognized parameter skipped geoidgrids.
Unrecognized parameter skipped vunits.
Unrecognized parameter skipped vunits.
Unrecognized parameter skipped vunits.
Unrecognized parameter skipped vunits.
...
...
Actually one for each points, so 1500 times...
...
pj_apply_gridshift(): failed to find a grid shift Table for location: (-106.21661476135253, 43.3251980523681). Names: @conus,@ntv1_can,@ntv2_0,@alaska
pj_apply_gridshift(): failed to find a grid shift Table for location: (-106.21662540435788, 43.32523628312926). Names: @conus,@ntv1_can,@ntv2_0,@alaska
pj_apply_gridshift(): failed to find a grid shift Table for location: (-106.21663604736325, 43.32527451389042). Names: @conus,@ntv1_can,@ntv2_0,@alaska
pj_apply_gridshift(): failed to find a grid shift Table for location: (-106.21664669036862, 43.32531274465158). Names: @conus,@ntv1_can,@ntv2_0,@alaska
pj_apply_gridshift(): failed to find a grid shift Table for location: (-106.21665733337402, 43.32535097541274). Names: @conus,@ntv1_can,@ntv2_0,@alaska
pj_apply_gridshift(): failed to find a grid shift Table for location: (-106.21666797637938, 43.32538920617391). Names: @conus,@ntv1_can,@ntv2_0,@alaska
...
...
Debug Report 2
nrecognized parameter skipped axis.
Unrecognized parameter skipped axis.
Unrecognized parameter skipped axis.
Unrecognized parameter skipped axis.
Unrecognized parameter skipped axis.
Unrecognized parameter skipped axis.
Unrecognized parameter skipped axis.
Unrecognized parameter skipped axis.
Unrecognized parameter skipped axis.
Unrecognized parameter skipped gamma.
ProjectionInfo.ParseProj4String: command 'no_uoff' not understood in '+proj=omerc +lat_0=45.30916666666666 +lonc=-86 +alpha=337.25556 +k=0.9996 +x_0=2546731.496 +y_0=-4354009.816 +no_uoff +gamma=337.25556 +datum=NAD83 +units=m +no_defs'
Unrecognized parameter skipped gamma.
ProjectionInfo.ParseProj4String: command 'no_uoff' not understood in '+proj=omerc +lat_0=45.30916666666666 +lonc=-86 +alpha=337.25556 +k=0.9996 +x_0=2546731.496 +y_0=-4354009.816 +no_uoff +gamma=337.25556 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs'
Unrecognized parameter skipped gamma.
ProjectionInfo.ParseProj4String: command 'no_uoff' not understood in '+proj=omerc +lat_0=4 +lonc=102.25 +alpha=323.0257905 +k=0.99984 +x_0=40000 +y_0=0 +no_uoff +gamma=323.1301023611111 +a=6377295.664 +b=6356094.667915204 +to_meter=20.116756 +no_defs'
Unrecognized parameter skipped gamma.
ProjectionInfo.ParseProj4String: command 'no_uoff' not understood in '+proj=omerc +lat_0=4 +lonc=102.25 +alpha=323.0257905 +k=0.99984 +x_0=804670.24 +y_0=0 +no_uoff +gamma=323.1301023611111 +a=6377295.664 +b=6356094.667915204 +units=m +no_defs'
Unrecognized parameter skipped gamma.
ProjectionInfo.ParseProj4String: command 'no_uoff' not understood in '+proj=omerc +lat_0=4 +lonc=102.25 +alpha=323.0257964666666 +k=0.99984 +x_0=804671 +y_0=0 +no_uoff +gamma=323.1301023611111 +ellps=GRS80 +units=m +no_defs'
Unrecognized parameter skipped gamma.
ProjectionInfo.ParseProj4String: command 'no_uoff' not understood in '+proj=omerc +lat_0=4 +lonc=115 +alpha=53.31580995 +k=0.99984 +x_0=0 +y_0=0 +no_uoff +gamma=53.13010236111111 +ellps=GRS80 +units=m +no_defs'
Unrecognized parameter skipped gamma.
Unrecognized parameter skipped axis.
Unrecognized parameter skipped axis.
Unrecognized parameter skipped axis.
ProjectionInfo.ParseProj4String: command 'no_uoff' not understood in '+proj=omerc +lat_0=4 +lonc=102.25 +alpha=323.0257905 +k=0.99984 +x_0=804671.2997750348 +y_0=0 +no_uoff +gamma=323.1301023611111 +a=6377304.063 +b=6356103.038993155 +towgs84=-11,851,5,0,0,0,0 +to_meter=20.11678249437587 +no_defs'
Unrecognized parameter skipped gamma.
ProjectionInfo.ParseProj4String: command 'no_uoff' not understood in '+proj=omerc +lat_0=57 +lonc=-133.6666666666667 +alpha=323.1301023611111 +k=0.9999 +x_0=5000000.001016002 +y_0=-5000000.001016002 +no_uoff +gamma=323.1301023611111 +datum=NAD27 +units=us-ft +no_defs'
Unrecognized parameter skipped gamma.
ProjectionInfo.ParseProj4String: command 'no_uoff' not understood in '+proj=omerc +lat_0=57 +lonc=-133.6666666666667 +alpha=323.1301023611111 +k=0.9999 +x_0=5000000 +y_0=-5000000 +no_uoff +gamma=323.1301023611111 +datum=NAD83 +units=m +no_defs'
Unrecognized parameter skipped gamma.
Unrecognized parameter skipped axis.
Unrecognized parameter skipped axis.

I will try to think a bit more to see if I can come up with something. The thing is, I have tried your code and, given that I have unzipped the files in the GridShifts folder and everything is properly set up, the conversion is almost immediate for me, both with and without GridShifts.
I will keep looking into this.

It seems that if you only use conus.lla (remove all other files from the GridShifts folder), it will run almost immediately. However, I was able to reproduce the behavior you describe with ntv1_can.dat! It does take a lot longer, a bit over ~15 sec for a test attempt.
I will take a look to try to find the cause for this now.

It appears that the NadGrids for this Datum are searched in alphabetical order and, for the NAD23 they are conus, ntv1_can, ntv2_0 and alaska. Thus, if conus is found, it is used instead because it is "lexicographically" before all other.
The good thing is that I have found the problem. It turns out that this was what I was "afraid" it would be. The grid shifts file is being constantly re-read for data retrieval, while this should properly not needed after the first read. The bad thing is that, if you would like to fix the code, you will have to either edit and recompile the source code, or somehow "hack" your way around it (only if absolutely necessary).
I will post the exact source of the problem in a little while.

@VectorZita Can you create a pull request with a fix?

The DotSpatial.Projections.Nad.NadTable class contains a virtual void FillData() method, which is empty and needs to be overridden in derived classes. Most derived classes do this properly, but two don't (almost):
Class GbsNadTable overrides the method but **forgets to set Filled = true; after assigning the Cvs variable. In my version, the assignment is in line 156. Immediately after that, Filled = true; is needed.
Class DatNadTable has the same problem. In line 105. Filled = true; is needed here as well.
Because Filled = true; is missing, the method DotSpatial.Projections.GridShift.Convert(...) (in line 131 in the latest version) checks if (!table.Filled) table.FillData(); and, because table.Filled never becomes true, it is reloaded from the file continuously, when DatNadTable or GbsNadTable classes are used (i.e. when *.gbs or *.dat grid-shift files are employed).
@jany-tenaj Unfortunately, I have no experience with making pull requests as yet. Would this be possible for someone else to do? If not, I can give it a shot.

@cwgrc2 @VectorZita Ok check out the change.

@jany-tenaj it seems to be fine. I have tested the code outlined above by @cwgrc2 after fixing in a local repository on my machine and it no longer takes 15+ seconds to run, it is executed almost instantly (< ~0.05 secs) for the NAD27 conversion.
@cwgrc2 has to test and check if the results are OK, but they should be, since the only problem was the constant re-reading of the file, the calculations remain otherwise unaffected.

Thanks all!!
Vector I could reproduce your step:

It seems that if you only use conus.lla (remove all other files from the GridShifts folder),
it will run almost immediately.

But... I had to set:
        GridShift.ThrowGridShiftMissingExceptions = false;

else it threw an exception.  I tested those results and they look good and it is fast.
To get the fix, I have a noob question.  I cloned the entire DotSDpatial-master  (per @jany-tenaj  - #1333) and I have loaded as a seperate Solution in Visual Studio 2019.  How do I get that imported into my project as a Nuget package?  I show at the bottom (see picture) how I did it originally, but I still see 2.0.0.-rc1 and I presume this is old and does not incorporate the new changes?
Thanks!!
Chris

As far as I understand, I think that a Nuget package will have to be re-created first, I don't know how this works for DotSpatial, or who can do it, specifically.
However, this shouldn't be necessary for you. You only need to build the project and use the compiled dll files instead, as references in your project. If you open the entire solution, try to build the DotSpatial.Projections project (you probably would want to set it to release mode, depending on your requirements). After successfully building it, you can get the dll file from the \bin\Release folder of the solution (unless you change the output path, of course) and add it as a reference to your own project (maybe a new Application?)

Thanks all!!
Vector I could reproduce your step:

It seems that if you only use conus.lla (remove all other files from the GridShifts folder),
it will run almost immediately.

But... I had to set:
        GridShift.ThrowGridShiftMissingExceptions = false;

else it threw an exception. I tested those results and they look good and it is fast.
To get the fix, I have a noob question. I cloned the entire DotSDpatial-master (per @jany-tenaj - #1333) and I have loaded as a seperate Solution in Visual Studio 2019. How do I get that imported into my project as a Nuget package? I show at the bottom (see picture) how I did it originally, but I still see 2.0.0.-rc1 and I presume this is old and does not incorporate the new changes?
Thanks!!
Chris

Did you test also using the ntv1_can.dat? This is the specific case that was triggering the problem overall. The conus.lla file did not pose a problem, only *.dat and *.gbs files.

@cwgrc2 Check out this wiki entry.
We build a new nuget package with every comit. But this doesn't uploaded to nuget.

Got the new release dll included.  Works great!  Thank you so much for all of your help.  Good job.
Chris

No problem!
There is another bug I have detected in the DotSpatial.Projections library, which is rather subtle but has bitten me at some point in the past. Now that the Projections library has come up, I recalled it and I think it may be important to share it.
I will post a new issue relatively soon.

@VectorZita I'm guessing there are quite a lot of bugs in DotSpatial.Projections based on the fact that there were a lot of issues raised and it is an old port of proj.4.

@jany-tenaj Yes, I have traced the error to the porting process, back to the original proj4 c++ source code (which is correct). I will try to document all this in a new issue as soon as possible.

@jany-tenaj
I want to follow your steps in the wiki you pointed me to.  I think I follow everything you do but am getting errors.  I am trying to point to the continuous build nuget in your wiki.  See picture below.
I get the error when I try and install this Dotspatial continuous feed nuget.  Any ideas?  Our build is failing on Azure DevOps pipelines.
Thanks
Chris
[dotspatial] The V2 feed at 'https://github.com/DotSpatial/DotSpatial/Search()?$filter=IsLatestVersion&searchTerm='Dotspatial'&targetFramework=''&includePrerelease=false&$skip=0&$top=26&semVerLevel=2.0.0' returned an unexpected status code '404 Not Found'.
[dotspatial] The V2 feed at 'https://github.com/DotSpatial/DotSpatial/Search()?$filter=IsAbsoluteLatestVersion&searchTerm='Dotspatial'&targetFramework=''&includePrerelease=true&$skip=0&$top=26&semVerLevel=2.0.0' returned an unexpected status code '404 Not Found'.
[dotspatial] The V2 feed at 'https://github.com/DotSpatial/DotSpatial/tree/master/Source/.nuget/Search()?$filter=IsLatestVersion&searchTerm='Dotspatial'&targetFramework=''&includePrerelease=false&$skip=0&$top=26&semVerLevel=2.0.0' returned an unexpected status code '404 Not Found'.
[dotspatial] The V2 feed at 'https://github.com/DotSpatial/DotSpatial/tree/master/Source/.nuget/Search()?$filter=IsAbsoluteLatestVersion&searchTerm='Dotspatial'&targetFramework=''&includePrerelease=true&$skip=0&$top=26&semVerLevel=2.0.0' returned an unexpected status code '404 Not Found'.
[Dotspatial.Projections] The V2 feed at 'https://github.com/DotSpatial/DotSpatial/Search()?$filter=IsAbsoluteLatestVersion&searchTerm='Dotspatial'&targetFramework=''&includePrerelease=true&$skip=0&$top=26&semVerLevel=2.0.0' returned an unexpected status code '404 Not Found'.


Failed to get PR title

See https://github.com/dotnet/roslyn/issues/7193, it says "**" instead of the actual PR title.

Repro unknown.


feat(new styling to card): new 'info' style for Card

https://jira.zopa/browse/ZUI-11

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

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


[bug] Error failed to bundle project: Architecture Error: unsupported target: aarch64

Describe the bug
Trying to build for Windows ARM64 using the instructions provided here. But end up getting an error message saying aarch64 is an unsupported target.
Reproduction

In the project directory run the command npm run tauri build -- -t aarch64-pc-windows-msvc

Expected behavior
ARM64 should have been built successfully.

The latest stable wix release (2019) doesn't support arm and i'm not sure if we should even look into the development builds :/

I wanted to build one of my apps for an ARM64 Surface and did a little digging.
It looks like the wix4 toolset is where the active development is happening. There was a second preview release last month, but it's been over a year since the first preview release, so I don't know when a full release is expected.
Meanwhile, they added ARM64 support in a development version of wix3 (https://github.com/wixtoolset/issues/issues/5558) but never made it an official release for wix3. The binaries from https://wixtoolset.org/docs/v3/releases/v3-14-0-6526/ should include support, and then the bundler would probably need to map aarch64 to arm64 in /tooling/bundler/src/bundle/windows/msi/wix.rs.
The downside is we'd need to be OK with taking a dependency on the development build until wix4 is ready and we have a chance to migrate to that.

We probably will just use NSIS and either deprecate WiX or completely remove it in v2.

BTW, while it does fail to build the install package, I found the executable in /src-tauri/target/aarch64-pc-windows-msvc/release and it worked fine when I copied it manually to the ARM64 device.

Is there a way to disable the WiX build, even if it results in a less-than-ideal UX for ARM64 users? If not, what's the next best way to get tauri-action to succeed when building ARM64 apps for Windows?

Can someone with a native windows arm system test if this installer works? I don't care about the app inside, just the installer.
tauri-app_0.0.0_arm64-setup.exe.zip

Tested it on a Windows ARM64 VM on my M1 Pro MBP, works fine.

Cool, thank you!

@FabianLars if the installer is always going to be x86, that means you could make a universal installer that installs an x86/x64 version or an ARM64 version based on the host's architecture type (similar to how the universal target works for Apple). I'd love to see that as an option in lieu of separate x64 and ARM64 installers.

Yeah i like that idea and saw that in electron-builder too i think.

@FabianLars the results of the test you did above were done on tauri master? Or was it a branch? I'm looking to compile an app to Windows ARM too.
Having an universal installer would be awesome, but I wouldn't mind separate installers for now.

It was a local change, but a really small one. i'll push it today.

https://github.com/tauri-apps/tauri/pull/6070
You can try it out with cargo install tauri-cli --git https://github.com/tauri-apps/tauri --branch nsis-arm64 && cargo tauri build/cargo tauri build --target aarch64-pc-windows-msvc (note that you need to install additional stuff if you're on x86)
Testing the resulting installer on arm64 systems is appreciated :v:

Im not sure if this is related, but I have got an existing Tauri project for windows, I wanted to try to run it locally and tried running it on a Windows 11 ARM VM on my M1 Pro MBP. After installing all dependencies the npm run tauri dev and npm run tauri build commands fail with this error

Any idea how I can get past these?

tldr of the discord discussion about the error message above: there are no pre-built binaries for windows on arm because the ring crate can't be compiled for that platform yet (they do support it on git, but it's not released yet)

ARM64 seems to be working via nsis now.

I have successfully built my app for ARM64 on Windows using
/tauri build --config src-tauri/tauri.release.conf.json --target aarch64-pc-windows-msvc --bundles nsis
But I have not updater file along the build with warn message:
Finished release [optimized] target(s) in 0.41s
Warn The updater is enabled but the bundle target list does not contain updater, so the updater artifacts won't be generated.
@FabianLars do you know if there a way to add updater files to ARM64 on Windows nsis bundle ?

@kurdin instead of --bundles nsis do --bundles nsis,updater


To consider: code certification

Given the current fears about AI, it might be useful to consider the possibility of the IDE certifying code e.g. by generating a hash of a each code file, together with the time created, user Id, and inserting this hash as a comment on the first line of the file.
The hash could also certify that :

no code was not pasted in (if this capability was disallowed)
code compiled and was run
Could similarly generate console output with certification and/or that tests were run

merged with #10


Animated Main Page for Portfolios

Describe the project you want to add with tech stack
A Landing Page or Main Page with a Cool animated Background using HTML, CSS, and Javascript (canvas API).
People can add this their portfolios.
Expected behavior
The particles in the Background collide with each other and swaps color when hit.  the website is Scrollable.
I can also add a Nav Bar.
I would really like to contribute to this Repo. Please assign this project to me.
**Screenshot **

please assign me this issue under GSSoC'23.


clear the webpack warning

Hi,
I use moment-jdateformatparse with webpack but have some warning like #11 , and I use vovateleport's answer can clear the warning. So I pull the request to you, please review.
Thank.

some test fail, close first, sorry.

It's ok now. Please review to code. Thank you. @MadMG

Would be really helpful if this gets merged.

@MadMG @herom Is it ok to merge this?

I'm sorry - I completely lost focus of this PR... for me this looks good to merge 👍
what about you @MadMG ?

@herom Thanks a lot for merging! Would it be possible to get this released in the near future?

ah, yes - sorry! I thought that @MadMG would release it, but I'll take a look at it and have it released soon (hopefully today) 👍

No worries – thanks a lot for your help!

@herom Sorry to bother you again, but is it possible that the package isn't released to npm yet? The moment-jdateformatparser page there says that version 1.0.2 is the latest release and I'm also not able to install the new 1.1.0 version in a project. Maybe running npm publish in the repository is necessary?
Thanks for your help!

@amannn ya, that's because I wasn't within the list of "collaborators" in npm and I couldn't publish it. I talked to @MadMG the other day and I'm now officially a "collaborator" 😸 so I'm able to release it once I'm at home as we're using a private npm-registry here at work.
sorry for the delay, but at the end of the day it should be released and published 💯

@herom Ahh, I see 🙂. Thank you so much!

You're welcome 👍
Oh, danke - beste Gruesse aus der Steiermark retour 😉

@amannn new version released 🥇


ModuleNotFoundError: No module named 'action'

Rasa version:
**Python version 3.6
Operating system (windows, 10 ...):
(env) C:\Users\damipe\Desktop\College_bot>python -m rasa_core_sdk.endpoint --action action
INFO:main:Starting action endpoint server...
ERROR:rasa_core_sdk.executor:Failed to register package 'action'.
Traceback (most recent call last):
File "C:\Users\damipe\Desktop\env\lib\site-packages\rasa_core_sdk\executor.py", line 144, in register_package
self._import_submodules(package)
File "C:\Users\damipe\Desktop\env\lib\site-packages\rasa_core_sdk\executor.py", line 131, in import_submodules
package = importlib.import_module(package)
File "C:\Users\damipe\Desktop\env\lib\importlib_init.py", line 126, in import_module
return _bootstrap._gcd_import(name[level:], package, level)
File "", line 994, in _gcd_import
File "", line 971, in _find_and_load
File "", line 953, in _find_and_load_unlocked
ModuleNotFoundError: No module named 'action'
INFO:main:Action endpoint is up and running. on ('<IP_ADDRESS>', 5055)
Am confused please can anyone help me quick please

anyone found the solution


One wire DS18B20 with 64bit image Hassio for RPI 3 B+ is not working

Home Assistant release with the issue:

Home Assistant release with the issue:

Operating environment (HassOS/Generic):

Supervisor logs:

Description of problem:

Hello, i have the 64bit hassio image installed on my RPI 3 B+ and can’t get the one wire bus working. With NOOBS it is working corrector. I added the line “dtoverlay=w1_gpio” to the /mnt/boot/config.txt
The folder /sys/bus/w1 is not present/created. I am using Ha verspin 0.83.2;


Plots don't show without matplotlib.pyplot.show()

General

pyfar version: 0.5.0
Python version: 3.10.8
Operating System: Windows
Did you install pyfar via pip: Yes

Description
I was following the examples from the docs, e.g.
import pyfar as pf
import sounddevice as sd
# Load, illustrate and play speech signal
speech = pf.signals.files.speech()
pf.plot.spectrogram(speech)
sd.play(speech.time.T, speech.sampling_rate)

.
What happened: The program exited successfully.
What went wrong: No plot - no plot window came up at all.
What I expected to happen: Plot window comes up, just like with the minimal matplotlib example (which works)
What I Did
An example I already gave you, instead here I write what fixed the plot not showing
import pyfar as pf
import sounddevice as sd
import matplotlib.pyplot   # <- fix here
# Load, illustrate and play speech signal
speech = pf.signals.files.speech()
pf.plot.spectrogram(speech)
sd.play(speech.time.T, speech.sampling_rate)
matplotlib.pyplot.show()    # <- fix here

Labels
bug, enhancement
(not sure how to label the issue here)
Second label: plot
Project
Do not assign your issue to a project. This is done automatically.

Thanks for reporting - I also have the issue and checked our code. We are indeed missing the plt.show() in our plot functions. It worked before for some reason. We'll look into it.

I've also encountered this issue, seems to be related to changes in recent matplotlib versions.
As you pointed out, explicitly calling show() currently is the best wortkaround.

ok - I'll do a pull for that.

I don't think this is an issue caused by pyfar.
@dired Could you please give more information on your environment and the matplotlib backend you're using.
Automatically showing figures is handled by the matplotlib backend and not by pyfar.
Interactive backends automatically show plots for each code cell. Please see here and here for information on backend selection or manually setting interactive mode.

Hey, thanks for the comments.
I don't know how it is intended on either sides, what I derive for myself from the "minimal matplotplib example" (what I meant earlier) is that the .show() is needed. I would assume then that it will be needed if matplotlib is used as a dependency in another package (like pyfar). The example being:
import matplotlib.pyplot as plt
import numpy as np

x = np.linspace(0, 2 * np.pi, 200)
y = np.sin(x)

fig, ax = plt.subplots()
ax.plot(x, y)
plt.show()

[Source]
After looking through your codebase for a longer time, I found out that e.g. spectrogram from pyfar\plot\two_d.py and all the other plot-functions return ax-objects. "Who" magically receives it and displays it on the screen remains a mystery to me, it does not seem to be written in code anywhere explicitly.
My guess was that by installing and using a backend, it would implicitly be received somewhere by the backend and show, but the plot does not come up automagically either, after installing PyQt5 and using it with matplotlib.use('Qt5Agg').
Your suggestion @mberz applies in interactive mode, where if activated with .ion(), a plot comes up when activating a specific cell / pressing enter in the python interactive mode - but it doesn't help with non-interactive execution.
My "degenerate" / new-to-matplotlib conclusion would be that if a library uses matplotlib, using .show() is needed and "it's not there" in the codebase. Of course I expect to be proven wrong here.
One cause that I can think of, for it to have worked before and since this appears to be a completely new behavior, is that matplotlib introduced this need for .show(). In fact, when looking at older matplotlib documentation (version 3.4.3), there actually does not seem to be the necessity for .show().
@mberz since you wanted more information on my environment, I also tried the code on another pc running ubuntu. In both cases they run very recent versions of python and pip modules.
  Are you using VSCode, JupyterLab, or something different?

I use VSCode, but I execute my scripts as I'm used to, in so-to-say external terminals or in the built-in terminal (which of course is just like an external terminal) via python3 script.py.

@dired Thanks for your update.
The behavior you are reporting is matplotlib's default behavior (since v1.0.0), which we do not intend to modify, as it would lead to inconsistencies with matplotlib. If you're not using interactive mode, you'll need to tell matplotib to show the plots manually using plt.show().
If you're using VSCode's interactive code execution, there's currently potentially also other issues involved, since VSCode does not support the most recent version of ipywidgets (>=8), see https://github.com/microsoft/vscode-jupyter/issues/11336

If you're not using interactive mode, you'll need to tell matplotib to show the plots manually using plt.show().

Good, this should be "made known" for everyone I guess - I think this information might be of lack in some places of documentation/introduction.
I can live with that and regard this issue as solved then.
Regarding interactive code execution: I have had no problem with jupyter notebooks, I believe I have also seen another kind of interactive mode used by @f-brinkmann in vscode (or that was nothing else than jupyter). I should or have to try it out sometime.

@dired I'm making use of cells that are defined by # %% and can be executed with str + return. That's a VSCode specific feature, which opens an interactive Python kernel to which the commands are being send.

plt.show is required for non-interactive backends. Thus closing this...


Refactor Geolocator Android

Updates for Android part to modernise and improve compatibility.

Removed code related to pre 1.12 Flutter Android embedding as it is not supported by recent Flutter versions and min Flutter of geolocator plugin is higher anyway, so no need to save compatibility.
Removed unused file
Removed Jetifier as it is not needed in projects that use AndroidX dependencies and because it affects build speed: https://adambennett.dev/2020/08/disabling-jetifier/
Switched to ContextCompat function for broadcast receiver declaration as there were missing flags:

Pre-launch Checklist

[x] I made sure the project builds.
[x] I read the Contributor Guide and followed the process outlined there for submitting PRs.
[x] I updated pubspec.yaml with an appropriate new version according to the pub versioning philosophy, or this PR is does not need version changes.
[x] I updated CHANGELOG.md to add a description of the change.
[x] I updated/added relevant documentation (doc comments with ///).
[x] I rebased onto main.
[x] I added new tests to check the change I am making, or this PR does not need tests.
[x] I made sure all existing and new tests are passing.
[x] I ran dart format . and committed any changes.
[x] I ran flutter analyze and fixed any errors.

@mvanbeusekom Would like to remind about this PR as I have addressed your feedback, but see that you already released 4.3.2 of the plugin.


Translate moderation details with japanese text

Add translate moderation details. This pr po-translated-text contain japanese only.
Run with:
yarn intl:build
yarn intl:compile

moderation related messages marked translatable are included in 3p-moderators branch, so wait until the brach is merged into main.

updated from src/view/com/modals/report/ReasonOptions.tsx to src/lib/moderation/useReportOptions.ts

The bluesky-social:3p-moderators branch has been merged into bluesky-social:main, and the number of translation targets has increased considerably.
A trial translation of the 3p-moderators branch has been placed at my repository for your reference.
There are also people working on PR #3196 , so please collaborate with them.

Close and re-up po PR, big diff fix so hard.


vaapi: vaDeriveImage should be used for image creation

It is desirable to use vaDeriveImage in order to access decoded frames using the CPU, but I have seen the following strange behavior when enabling it:

On Intel, all VAAPI decoding tests are passing,
H.264 tests also pass on AMD,
VP9 tests are failing on AMD, sometimes with a SIGSEGV as we try to access the mapped surface.

This may be a bug in Mesa, but we would need to investigate this further. Note that once we start importing buffers this problem will be mitigated since we can map the external buffers ourselves, still it is nice to have this fixed as the self-allocated path is slower than it should be.

Actually I have done extensive research on this...
There are a couple of issues:

vaDeriveImage exposes tiled GPU memory directly, but we need to swizzle that into the expected (untiled) format. This is done by the driver in the vaGetImage path only, see: https://github.com/intel/media-driver/blob/master/media_driver/linux/common/ddi/media_libva.cpp#L5161
reading from a derived image is much slower, see https://gitlab.freedesktop.org/gstreamer/gstreamer/-/blob/main/subprojects/gst-plugins-bad/gst-libs/gst/va/gstvaallocator.c#L1327

In fact, if you run a GStreamer pipeline with the VA tracer enabled, you will see that vaGetImage is the default there, probably for the same reasons

@Gnurou wait, did you say you got the tests to pass on Intel? That should not be the case, as we'd be reading from tiled memory and there is no code in cros-codecs to detile, as I said.
I'm a bit confused now, to be honest.
Did you make sure the surfaces were really derived?


'.' is not recognized as an internal or external command,

Running in windows 10, both outside and inside of linux subsystem I get the following error:
$ lerna run build
info cli using local version of lerna
lerna notice cli v3.20.2
lerna info versioning independent
lerna info Executing command in 5 packages: "npm run build"
lerna ERR! npm run build exited 1 in '@covid-modeling/api'
lerna ERR! npm run build stdout:

><EMAIL_ADDRESS>build D:\auste\azure-covid-modelling\auste-model-runner\packages\api
> npm run generate-schema && npm run compile

><EMAIL_ADDRESS>generate-schema D:\auste\azure-covid-modelling\auste-model-runner\packages\api
> PATH=$PATH:../../node_modules/.bin && ./script/generate-schema

lerna ERR! npm run build stderr:
'.' is not recognized as an internal or external command,
operable program or batch file.
npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR<EMAIL_ADDRESS>generate-schema: `PATH=$PATH:../../node_modules/.bin && ./script/generate-schema`npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the<EMAIL_ADDRESS>generate-schema script.
npm ERR! This is probably not a problem with npm. There is likely additional logging output above.

npm ERR!      C:\Users\auste\AppData\Roaming\npm-cache\_logs\2020-06-01T13_02_26_090Z-debug.log
npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR<EMAIL_ADDRESS>build: `npm run generate-schema && npm run compile`
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the<EMAIL_ADDRESS>build script.
npm ERR! This is probably not a problem with npm. There is likely additional logging output above.

npm ERR!      C:\Users\auste\AppData\Roaming\npm-cache\_logs\2020-06-01T13_02_26_110Z-debug.log

lerna ERR! npm run build exited 1 in '@covid-modeling/api'

On linux, installation proceeds just fine. This was done with a fork, but I get the same error with this repo.

Thanks for reporting this issue. Let me take a look.

The biggest reason why we are not able to support cross-platform development is the path mangling we need to do to run our scripts. Since we are using lerna to run our scripts in some situations and we need to use npm in others, a requirement is that all of our scripts must be runnable using either lerna or npm.
I raised this issue to see if there's a better way: https://github.com/lerna/lerna/issues/2608 Currently, there are no feasible suggestions. And this way of setting the PATH does not work in windows.
For now, I am closing this issue since it would be a major task to update our dev process to handle windows. I'll update our docs to mention that.


React Client - add axios alternative to apollo when using Rest

When the project is not using gql, it makes more sense to include axios instead of apollo.
Since we're not differentiating with using gql/rest on React client creation, it would be nice to have the placeholders for both approaches.

Also I've been taking a look at this fetch wrapper https://github.com/elbywan/wretch. It is 5x smaller than axios.
I played around with it in here and it looked pretty good:
https://github.com/lakardion/test-wretch


Error in the readme?

It seems method: 'POST' should be type: 'POST' in the options.

this is a doc for the master which is not released yet.
Please check out the readme for the latest version, here: https://github.com/Exelord/ember-custom-actions/tree/v1.6.0


Gabriella/change dg diagrams

Codecov Report

Merging #278 (f2d0109) into master (c1b609b) will not change coverage.
The diff coverage is n/a.

@@            Coverage Diff            @@
##             master     #278   +/-   ##
=========================================
  Coverage     50.17%   50.17%
  Complexity      713      713
=========================================
  Files           122      122
  Lines          3229     3229
  Branches        480      480
=========================================
  Hits           1620     1620
  Misses         1413     1413
  Partials        196      196

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 c1b609b...f2d0109. Read the comment docs.


[Android] Remove debug info in release build to reduce package size

fix: #282

:warning: Please install the  to ensure uploads and comments are reliably processed by Codecov.
Codecov Report
All modified and coverable lines are covered by tests :white_check_mark:

Project coverage is 92.03%. Comparing base (192a2d1) to head (fe75579).
Report is 4 commits behind head on main.

:exclamation: Your organization needs to install the Codecov GitHub app to enable full functionality.
Additional details and impacted files
@@           Coverage Diff           @@
##             main     #283   +/-   ##
=======================================
  Coverage   92.03%   92.03%
=======================================
  Files          49       49
  Lines        9129     9129
=======================================
  Hits         8402     8402
  Misses        727      727

Flag
Coverage Δ

unittests
92.03% <ø> (ø)

Flags with carried forward coverage won't be shown. Click here to find out more.

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.


Modification for Cowell Algorithm migration to Numbakit-ode

Made modifications as mentioned in #1053

Just a test right now. More commits coming up:wink:

Thanks! As I clarified in the chat, let's keep this branch only for the refactor. We'll do the switch in another pull request.

These tests work fine ... you can check & confirm the same :smile:

Also, when you finish, please squash the commits into one.
One last question: how are you running the tests? Can you paste the command here?

I am running the test with the following command:
pytest test_propagation.py  #running from inside /src/poliastro/tests/

In that case, please run
$ tox -e reformat  # Rewrites the code to follow our style guides
$ tox -e py38  # assuming you're on Python 3.8

This will run all the tests. It will take a while and you will discover more failures.

In that case, please run
$ tox -e reformat  # Rewrites the code to follow our style guides
$ tox -e py38  # assuming you're on Python 3.8

This will run all the tests. It will take a while and you will discover more failures.

the py38 here is the environment ?

yep!

...the tox environment. Not the Python virtual environment.

Merged manually in 640aebbd324467af5ffffd4a6aa7c89b36e2756a. Thanks @DhruvSondhi!

Merged manually in 640aebbd324467af5ffffd4a6aa7c89b36e2756a. Thanks @DhruvSondhi!


admin: user creation doesn't work

If you use different way to create user.
With the /signup/ url, or the admin interface, or the cli. It seems they all ignore each others.
For example if I create 4 users with admin it will allocate 1-4 for ids then if I use the CLI I will have to crash it four times to make it create a user with the id 5.
Way to create, ID
Admin UI, 1
Admin UI, 2
Admin UI, 3
CLI, 1 -> crash
CLI, 2 -> crash
CLI, 3 -> crash
CLI, 4

This seems to be a problem with the admin interface - honestly I think user creation via admin haven't been tested at all. For once, the admin shouldn't ask to fill in the id, also it shouldn't allow editing/changing some of the timestamps.

Probably the creation form should only have:

Email
Active

We could enable "confirmed at", which controls if an account's email address was confirmed or not so that an admin can confirm an email address for a given user, but not sure it's a good idea.


Error C2679: binary '>>': no operator found which takes a right-hand operand of type 'T' (or there is no acceptable conversion)

Getting this error (Error C2679: binary '>>': no operator found which takes a right-hand operand of type 'T' (or there is no acceptable conversion)) on line 648 of cxxopts.h.
 Or is this an actual issue?

Include #include <iostream> above your include

That would do it, I'm a bit slow today lol :(


Update README to use latest sarif action

GitHub deprecated and have since removed v1 of the sarif action
Minor update to specify version 2. The action version for tfsec-sarif-action update is part of #40

 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.


Allow to add links to Youtube or Soundcloud media as attachment (fixes #...

...1340)

Only on treks or also on POIs ?

Only on treks or also on POIs ?

All objects with attachments.

OK thanks


Use OSA's stable/newton version of tempest

This commit updates scripts/deploy.sh to use OSA's stable/newton
version of tempest.  We cannot have the repo server build the later
version as requirements of this version do not fall in line with
stable/mitaka's global requirements.
Bumping tempest specifically should fix the frequent
test_reboot_server_hard failures that we are seeing, but hopefully
fixes other issues also.
The upstream tempest review which addresses the issue:
[1] https://review.openstack.org/#/c/340723/
Connects https://github.com/rcbops/u-suk-dev/issues/278

Your content preview is now ready. :bow:

HULK PREVIEW

:mag_right: Preview

HULK PREVIEW

HULK PREVIEW

:mag_right: Preview

recheck - Failed upgrade on TASK: [lxc_container_create | Wait for ssh to be available]

recheck_all - Failed upgrade on TASK: [lxc_container_create | Wait for ssh to be available]

recheck_all - Failed ceph on TASK: [filebeat | Install Filebeat Apt Packages] and upgrade on TASK: [Verify Check & Alarm Status]

The upgrade test failed on the following two tempest tests:
17:48:27 {0} tempest.api.compute.servers.test_create_server.ServersTestManualDisk.test_host_name_is_same_as_server_name [304.499408s] ... FAILED
17:53:28 {0} tempest.api.compute.servers.test_create_server.ServersTestManualDisk.test_verify_created_server_vcpus [300.407041s] ... FAILED

Both instances seem to be the result of not getting an IP from the DHCP server (see http://jenkins.propter.net/job/JJB-RPC-AIO_master-upgrade/419/consoleFull).

recheck_all

All checks successful

recheck_all

recheck_all - Failed upgrade and ceph jobs on maas-related tasks

All checks successful

recheck_all

recheck_all - upgrade failed on horizon_extensions

All checks successful

recheck_all

All checks successful

recheck_all

All checks successful

recheck_all

All checks successful

recheck_all

recheck_all - failed upgrade on horizon extensions

recheck_all All checks successful

recheck-all All checks successful

recheck_all - All checks successful

recheck_swift - failed on msg: Destination directory /etc/rackspace-monitoring-agent.conf.d does not exist

recheck_upgrade - failed on msg: Destination directory /etc/rackspace-monitoring-agent.conf.d does not exist

recheck_swift - Failed on rpc_maas (rpc_maas | Assign agent ID to entity)

recheck_swift - Apt failure

recheck_swift - Failed on [rpc_maas | Create agent token]

recheck_all

All checks passed

recheck_all

recheck_upgrade - Failed on TASK: [rpc_maas | Zero entities with label {{ inventory_hostname }}{{ maas_fqdn_extension }} exist]

recheck_upgrade - Failed on horizon_extensions

recheck_upgrade - Failed with Destination directory /etc/rackspace-monitoring-agent.conf.d does not exist

HULK PREVIEW

@git-harry @hughsaunders @alextricity25 Most of the failures we're hitting are before tempest, but we've had a good number of successes.  What do you all feel about merging this and then reverting if it doesn't decrease tempest failures on master?  Thoughts?

recheck_upgrade - Failed with rpc_maas | Zero entities with label ...

@mattt: I'm okay with that

👍  Lets try nu-tempest

:+1:


Calendar mode not showing split multi-day events as expected

Is there an existing issue for this?

[X] I have searched the existing issues

Current Behavior
calendar mode doesn't show the split multi day events correctly
Expected behaviour
show icons for split multi- day events
Steps To Reproduce
No response
Card Version
7.0.0
Home Assistant Version
N/A
Configuration
- type: "custom:atomic-calendar-revive"
    name: "My Work Calendar"
    #defaultMode: Calendar
    maxDaysToShow: 21
    showLoader: false
    showMultiDay: true
    showMultiDayEventParts: true
    entities:
      - entity: calendar.my_cal_gmail_com
        type: icon
        icon: mdi:weather-sunny
        color: green
        allowlist: days
      - entity: calendar.my_cal_gmail_com
        type: icon
        icon: mdi:weather-night
        color: red
        allowlist: nights
      - entity: calendar.my_cal_gmail_com
        type: icon
        icon: mdi:star
        color: orange
        allowlist: DD

Relevant log output
No response
Code of Conduct

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

Tested and it appears to work as expected for the first multiday calendar, however if there are multiple then the icons dont appear.
This is something to  do with the icon array that is created.

It's exactly the same for me too. This appeared first after the update to V7+!
Here is a comparison: https://imgur.com/a/CT09uBI


[Logs]: Added Logs-Agent section to Agent status

What does this PR do?
Added a logic to compute the logs-agent status which gathers running time information about logs collectors.
Motivation
Report logs-agent status running datadog-agent status
Additional Notes
No test has been written to test whether TrackError or TrackSuccess is called at the right place
Output examples:
Running
==========
Logs-agent
==========

  logs
  ----
    Type: docker
    Status: Pending

    Type: file
    Status: Error: A file source must have a path

  logs_integration
  ----------------
    Type: docker
    Status: Pending

    Type: file
    Status: Error: A file source must have a path

Disabled
==========
Logs-agent
==========

  logs-agent is not running

Hey guys, noticed the "pending" status on my agent status for the Logs Agent but I don't know what this status actually mean?


uniCOIL reproduction documentation for MS MARCO V2

We should add documentation for reproducing our uniCOIL MS MARCO V2 baselines for TREC 2021 DL.

Regressions built as part of #1679 - still need to write some documentation.


rootless socks5 tunnel, openvpn 2.6

I created an openvpn fork - https://github.com/bendlas/openvpn-tuna - which has patches from this repository, rebased on openvpn's release/2.6 branch, and on top of code from openvpn-tunpipe.
With this I can have openvpn run a userland proxy, like ocproxy or tunsocks, without any elevated privileges at all.
Besides the patches, I took from this repo the server.go, as well as the basis for the connection script.
@samm-git thank you very much for your fantastic work. If you would like anything from openvpn-tuna, I'd be happy to prepare PRs and start treating this as upstream.

rebased patches (release-2.6 as of writing)
user proxy support
nix flake

Wow, idea to create rootless openvpn is amazing, i was also thinking to do it few times but never found a tie to start that. I will play with it for sure. I am not actively using AWS VPN atm, but thank you for letting me know that it works with your project


DeSo V3 Messages

can this proposal support encrypted group chat not only P2P chat?

@deso2021 yes, great point! I'm currently working on updating the messaging protocol further to support the group chat functionality.


Keep track of the originating pen per output entry

So that the active themes can come from the right instance when its output gets appended to another pen.

Coverage decreased (-0.05%) to 88.369% when pulling a9f35700cb3491a9945058fc1341b025105d9454 on feature/propagateCloneThemes into dc0aac4d572f7650498bda4d910d80eadf6845e7 on master.

This looks like it'll take nice care of the context mismatch that would occur without this - the effect is to apply the themes that were present at the time the style was defined, which means the nested assertion case we hit with, for example, U-dom (captured here: https://github.com/unexpectedjs/unexpected-dom/commit/cef37e10f454b613422e722f05333187fa35dc60) continues to work when we restore theme installation in magicpen-prism. Pretty sweet 👌

This probably requires more testing, but would be good to hear what you think, @sunesimonsen?

A little bit more context so you don't have to redo all the research: Turns out that expect.exportStyle and expect.exportType already work pretty sanely, delegating to the child expect's output generation when rendering:

https://github.com/unexpectedjs/unexpected/blob/99c58fc004bc78312f047e36c8195bd50d6ce48f/lib/createTopLevelExpect.js#L1619-L1620
https://github.com/unexpectedjs/unexpected/blob/99c58fc004bc78312f047e36c8195bd50d6ce48f/lib/createTopLevelExpect.js#L1446-L1450

The problem is that resolution of themes happen at magicpen serialization time, which means that the themes that are available in the child pen don't come into play when the serialization happens in the context of the parent expect. It does that in the case that Alex isolated where the exported type happens to render the inspection of the subject: https://github.com/unexpectedjs/unexpected-dom/commit/cef37e10f454b613422e722f05333187fa35dc60
If we fix that so that the original themes are available for resolution when the parent expect's pen gets serialized, it all works as it did originally, before expect.child was introduced. So it's not really necessary to introduce the concept of exportTheme, as the feature/theme isolation is already accomplished by expect.exportStyle.
In my opinion it also makes sense to work like this in the context of magicpen alone.

I need to refresh my memory a bit, before I can comment in a meaningful way.

I agree with the direction of the PR and the semantics, I just wonder if it wouldn't be better to same the themes with the entry instead of the pen.

I just wonder if it wouldn't be better to same the themes with the entry instead of the pen.

Yeah, that also does the trick. It did occur to me before, but figured that it wouldn't work in the (admittedly weird) case where the output is generated before the theme is installed. But if we just store a reference to the this._themes hash, that will work the same.
Fixed in a57478e.

@sunesimonsen, my pleasure, thanks for looking!
@alexjeffburke, go ahead 🤗


chore(release): release 1.4.0

:robot: I have created a release beep boop
1.4.0 (2024-03-23)
Features

make work (1a93a48)
wait_for_compose.sh: added timeout of 3 mins for wait on deploy (fc0afbf)

Bug Fixes

release-please.yml: trying to debug relalese please (8afff24)
test_compose.yaml: made tests work with postgre (ca66560)
wait.sh: fixed wait.sh (3121bc7)

This PR was generated with Release Please. See documentation.

:robot: Release is at https://github.com/DevOps-2024-group-p/maxitwit/releases/tag/v1.4.0 :sunflower:


cmd/compile: unnecessary bounds checking using result of intrinsic function

What version of Go are you using (go version)?

$ go version
go version go1.20 darwin/arm64

Does this issue reproduce with the latest release?
Yes
What operating system and processor architecture are you using (go env)?
go env Output
$ go env
GO111MODULE=""
GOARCH="arm64"
GOBIN="/Users/eric/gopath/bin"
GOCACHE="/Users/eric/Library/Caches/go-build"
GOENV="/Users/eric/Library/Application Support/go/env"
GOEXE=""
GOEXPERIMENT=""
GOFLAGS=""
GOHOSTARCH="arm64"
GOHOSTOS="darwin"
GOINSECURE=""
GOMODCACHE="/Users/eric/gopath/pkg/mod"
GONOPROXY=""
GONOSUMDB=""
GOOS="darwin"
GOPATH="/Users/eric/gopath"
GOPRIVATE=""
GOPROXY="https://proxy.golang.org,direct"
GOROOT="/usr/local/go"
GOSUMDB="sum.golang.org"
GOTMPDIR=""
GOTOOLDIR="/usr/local/go/pkg/tool/darwin_arm64"
GOVCS=""
GOVERSION="go1.20"
GCCGO="gccgo"
AR="ar"
CC="clang"
CXX="clang++"
CGO_ENABLED="1"
GOMOD="/tmp/prove/go.mod"
GOWORK=""
CGO_CFLAGS="-O2 -g"
CGO_CPPFLAGS=""
CGO_CXXFLAGS="-O2 -g"
CGO_FFLAGS="-O2 -g"
CGO_LDFLAGS="-O2 -g"
PKG_CONFIG="pkg-config"
GOGCCFLAGS="-fPIC -arch arm64 -pthread -fno-caret-diagnostics -Qunused-arguments -fmessage-length=0 -fdebug-prefix-map=/var/folders/2f/2_yz21b92h94_pvr2m00gzh80000gn/T/go-build1716388533=/tmp/go-build -gno-record-gcc-switches -fno-common"

What did you do?

https://go.dev/play/p/OZrfW7G5A6i
What did you expect to see?
No bounds checking for the array lookup in B.
What did you see instead?
Bounds checking because the index variable is signed.

While the result of LeadingZeros64 is signed, the compiler should know that the possible range is [0, 64] and deduce that n (and therefore i) will always be positive. (Even better would be using the result of LeadingZeros64 directly since the the n == 0 case reduces the range to [0, 63].)

Seems duplicated of https://github.com/golang/go/issues/40084.

@cuonglm yes, I think you're right. Actually, it looks like there are a handful of duplicates.

Duplicate of #40084.


extra_trees parameter not found

I tried to test lightgbm with extra_trees but I get the following warning
[LightGBM] [Warning] Unknown parameter: extra_tree

The params are set as
            param = {
                    'objective': 'binary',
                    'metric': 'binary_logloss',
                    'verbosity': -1,
                    'boosting_type': 'gbdt,
                    'num_leaves': 31,
                    'extra_trees':  trial.suggest_categorical('extra_trees', [True, False]),
                    'num_iterations': 100,
                    'learning_rate': 0.1
                }
gbm = lgb.train(param, dtrain)

@maxmatical Hi!
extra_trees parameter has been merged in master recently and is not included in any official release yet. You can download nightly build or install from sources: https://lightgbm.readthedocs.io/en/latest/Installation-Guide.html.


HTTPS

Hello @geerlingguy
I would like to raise this as a question really which I think would benefit those thinking about making PRs and contributing to make this role more https friendly.
You've mentioned you use this role with an nginx role to provide an https front door. Would you mind explaining the rationale for that? What is the advantage to using Nginx?
Given that Jenkins does in fact support https natively, is it reasonable that this role also supports https and its various configuration options?
I'm happy to contribute towards a PR with configuration options for https but it seems like perhaps you've deliberately chosen not to support it - so just want to clarify your current stance and what a good PR might look like in your mind.
Equally, I'm interested in looking for a playbook where you are using this role, the certbot role and the nginx role to build an https Jenkins instance - if there's such an example somewhere?
Thanks.

😭

Here's an example using Nginx as an https proxy: https://github.com/geerlingguy/ansible-for-devops/tree/master/https-nginx-proxy
And here's one using let's encrypt: https://github.com/geerlingguy/ansible-for-devops/tree/master/https-letsencrypt
I have my own Jenkins servers set up using certbot + nginx in front of Jenkins, but unfortunately can't share those Jenkins project repos :(
If the changes to this role to make Jenkins natively support HTTPS are relatively simple, I might be willing to merge them. However, I have found java-based applications and HTTPS to not usually be that simple, which is why it's easier for me to just use http and proxy them via nginx or ingress or whatever other method is more standard.
Note that the Jenkins HTTPS documentation even recommends using a proxy, at the top of that page, rather than use native HTTPS...

I wonder why the Jenkins documentation recommends a proxy. I'll adopt your certbot+nginx+jenkins approach. Thanks Jeff ⭐

@EdwardPrentice it recommends using a proxy, OR using iptables to port forward 443 to 8443 in the same breath. I am using the iptables approach, and after having automated the copying and conversion of the ssl certs/keys, I am now at the point of needing to change the following in the jenkins config file (/etc/default/jenkins as I am on Debian):
#disable HTTP
JENKINS_PORT="-1"

#configure HTTPS
JENKINS_HTTPS_PORT="8443"
JENKINS_HTTPS_KEYSTORE="/etc/jenkins/jenkins_keystore.jks"
JENKINS_HTTPS_KEYSTORE_PASSWORD="blahblahblah"
JENKINS_HTTPS_LISTEN_ADDRESS="<IP_ADDRESS>"

and aside from the JENKINS_PORT (which can be set through role variable jenkins_http_port), there is no support in this role for setting the other JENKINS_HTTPS_* config variables.
@geerlingguy is there anyway with your role to add arbitrary lines to the jenkins service config file, or should I just use lineinfile? Would you be amenable to adding support for setting these variables through your role? I have a fork and could submit a PR for this if I thought it might be accepted.


<> event doesnt work

Thanks for creating this library, it helped me. But  when i use <<Loaded>> event in example below, then the metadata is not printed. But your example with loop and <<Ended>> event - working good. I dont know why.
import tkinter as tk
from tkVideoPlayer import TkinterVideo
root = tk.Tk()
tkvideo = TkinterVideo(scaled=False, master=root)

#>>> both variants doesnt work
def showInf():
    print(tkvideo.metadata())
tkvideo.bind("<<Loaded>>", showInf) # prints the meta information
tkvideo.bind("<<Loaded>>", lambda e: print(tkvideo.video_info()), add='+') # prints duration frame rate and frame size
#<<<

tkvideo.load(r"video.mp4")
tkvideo.pack(expand=True, fill="both")
tkvideo.set_size((1200, 600)) # sets the frame size
tkvideo.play() # play the video

#>>> this variant works, when i click
def showMeta():
    print(tkvideo.metadata())
    print(tkvideo.video_info())
b = tk.Button(text="click me", command=showMeta)
b.pack()
#<<<

root.mainloop()

Libs versions:

tkVideoPlayer
2.0.0

av
9.2.0

Pillow
9.1.1

Python 3.9.1 x64, Win10

Hello, @reregaga can you tell me what video file are you using? It cannot provide meta-information for some files like m4v. If you are indeed using mp4 then can you try running the file from the terminal and let me know. Thank you

I add videofile and record of process, thanks for your patience!
https://user-images.githubusercontent.com/76629445/170338077-abb61659-245e-4181-9ee2-c98bc9fdf9bf.mp4
https://user-images.githubusercontent.com/76629445/170338157-dd6d90d2-70aa-4fd6-b5d2-3afb6fca8dc4.mp4

Hello @reregaga thanks for the video file I was able to test what you said and it indeed didn't work as expected. The solution I found was to add tkvideo.update() after the tkvideo.bind("<<Loaded>>", lambda e: print(tkvideo.video_info()), add='+')  line.
Also, note that your function showInf should accept an argument eg: def showInf(event):
Refer https://stackoverflow.com/questions/27581864/tkinters-event-generate-command-ignored for more info.
If you have any further questions or if the solution didn't work let me know. Thank you.

Thanks, with tkvideo.update() i received output:
tkvideo.bind("<<Loaded>>", lambda e: print(tkvideo.metadata()))
tkvideo.bind("<<Loaded>>", lambda e: print(tkvideo.video_info()), add='+')
tkvideo.update()

#>>> {'major_brand': 'mp42', 'minor_version': '0', 'compatible_brands': 'isomiso2avc1mp41mp42'}
#>>> {'duration': 0, 'framerate': 30, 'framesize': (0, 0)}

After some tests i used other events and for me final solution (get info ASAP) looks like:
counter = True
def run_once(event):
    global counter
    if counter:
        print(tkvideo.video_info())
        counter = False

tkvideo.bind("<<Loaded>>", lambda e: print(tkvideo.metadata()))
tkvideo.bind("<<FrameGenerated>>", run_once, add='+')
tkvideo.update()

#>>> {'major_brand': 'mp42', 'minor_version': '0', 'compatible_brands': 'isomiso2avc1mp41mp42'}
#>>> {'duration': 23.666666666666668, 'framerate': 30, 'framesize': (640, 800)}

Maybe i used <<Loaded>> event incorrectly at first, now i found other events are intended better for special output:

Events\Output
major_brand
minor_version
compatible_brands
framerate
duration
framesize

<<Loaded>>
✅
✅
✅
✅

<<Duration>>
✅
✅
✅
✅
✅

<<FrameGenerated>>
✅
✅
✅
✅
✅
✅

@reregaga Thank you for posting this issue I have now updated the library to trigger the Loaded event only after reading all the information. Install pip install tkvideoplayer==2.1 and you will only require the Loaded event to get all the information. Let me know if you have any further questions. Thank you.

I installed version 2.1 and now it works:
tkvideo.bind("<<Loaded>>", lambda e: print(tkvideo.metadata()), add='+')
tkvideo.bind("<<Loaded>>", lambda e: print(tkvideo.video_info()), add='+')
#>>> {'major_brand': 'mp42', 'minor_version': '0', 'compatible_brands': 'isomiso2avc1mp41mp42'}
#>>> {'duration': 23.666666666666668, 'framerate': 30, 'framesize': (640, 800)}

Thanks a lot for the quick fix!


Incompatible with node > 0.12

This package is great, but cannot be installed on node versions after 0.12. Do you have any plans to update this to be compatible with newer versions?
The javascript code is still valid on later versions, but since the build fails the module isn't added and therefore cannot be used.

+1

I'm working on updating the code to create a new pull request in an effort to make this module compatible with higher versions of Node. If the need arises, I will create a new npm package for this. I will also create an issue on gcloud to provide better support.

Ok, this is going to take longer than expected. I actually have to rewrite the entire thing...it would appear nan now uses a newer syntax for C++, which is causing a lot of errors

Ok, so I managed to fix the issues...but it is still failing 1 test, and it no longer works on versions of node <4. YOLO...anyhow, I cannot figure out why this test is failing...I have tried and tried and tried, but it's not doing what I want it to.

https://github.com/eagerestwolf/node-memcpy

Any chance of having it merged to the main memcpy repository?

What is the latest version of node with which this is compatible? It fails to build on 6.10.2 (latest LTS release) and 7.8.0 (latest unstable release). I'm using a very stock 16.04 version of Ubuntu.

0.12 so waay back.

Note that since node 4.0.0, Buffers are Uint8Arrays backed by an ArrayBuffer anyway. This change effectively renders this module useless (at least for my initial use case), hence it hasn't been updated anymore.

Oh well, never mind. I am as careful as possible to write no-copy buffer code when I can but sometimes it's unavoidable that data needs copying so there's still a use case I believe. Wish I had time to investigate further.


Reduce macos full testing.

It has been failing for a long time.
failures are not particularly noticeable as they run only after
merge.
this consume a huge number of build time and delay PRs testing (mac
is often the limiting factor.

If we want to re-enable I would suggest a daily cron that auto-open an
issue.

this works for me... but is macos in that matrix going to work?


Debugger Crash: Assertion failed: object-InternalFieldCount() > 0

While debugging and inspecting variables for their contents the debugging session is terminated and this message appears in the console window.

Assertion failed: object-InternalFieldCount() > 0, file d:\jenkins\workspace\node-js-msi-julien\d8c2bb\src\util-inl.h, line 117

REPRO:

Set a break point or two
Press F5 or click the "start browser" button or select "Start Debugging" from the "Debug" menu
Execute the path of code that will result in the break point occurrence
Inspect an object.

NOTES:
I have noticed, not fully tested, that this occurs when inspecting objects with a large graph. However, I have had on a few occasions experienced this with simple objects as well. Most of the time I have been inspecting the response object that is returned from the requesting client object of the 'node-rest-client' NPM package.

This looks like Node.js/io.js issue.
Which version do you use?

v0.12.7

Did you use crypto module?
I see similar error here: https://github.com/joyent/node/issues/9028

+1

I'm trying to debug my application but, always crash with this error
dejs-msi-julien\d8c2e2bb\src\util-inl.h, line 117```

This is crash coming from Node itself, not something we can fix in NTVS. Per the issue @kant2002 linked to, looks like they are investigating how to fix this on the Node side.

I got this error in visual studio code, sorry!
https://code.visualstudio.com/issues/detail/19281


Why can't OTEL define a standard attribute for the span links relationship?

In the https://opentelemetry.io/docs/specs/semconv/faas/aws-lambda/#sqs the SQS Event (receive) and SQS message (process) spans have span links added.  The span links do not describe the relationship between the span and the remote context.  How will the back-end system know what the correlation means?
What does OTEL expect the receive (SQS Event) span links to represent?  What does OTEL expect the process (SQS Message) span link to represent?
If the graph follows both span links in the receive and process spans, how should it do this?  Follow only the process (SQS Message) span link unless there isn't a process span for a specific SQS message, then follow the span link in the receive (SQS Event).
Would the receive (SQS Event) span links indicate a receipt of the message and is yet to be processed?  Would the process (SQS Message) span link indicate processing the message?
Is this being done because there are different ways back-end systems are supporting message graphs?
What if a backend does not support span links?  The span link data is useless.  I have used a mechanism called a projection span to resolve this problem.  The projection span is created as a child span on the SQS Message's context.  The projection span is given span links to the process (SQS Message) span, however, the backend ignores this data.    The two spans can be correlated by using an attribute containing a projection span ID.  It is possible to search for either span and jump among the traces.  The logical flow is client->projection span->process.  The process span has the receive span as its real parent span.  The projection span is not necessary if the backend supports span links.  The projection span helps the backend build a service map.  Without it, the backend fails to associate the two processes.

There have been some recent changes to the messaging semantic conventions, and it seems the AWS semantic conventions aren't yet in line with those changes.
Instead of requiring two spans for "receive" and "process", there is only supposed to be either one "receive" (for pull-based operations) or "deliver" (for push-based operations) span. There are some examples here.

The span links do not describe the relationship between the span and the remote context. How will the back-end system know what the correlation means?

Usually you would look at the span kinds. If you have a link from a producer to a consumer span, then this link models a producer/consumer relationship.

Would the receive (SQS Event) span links indicate a receipt of the message and is yet to be processed? Would the process (SQS Message) span link indicate processing the message?

We tried to overcome this by clearly defining "receive" and "deliver" spans - both model the operation by which a message is passed to application code (from a messaging SDK), by pull or push-based means.

What if a backend does not support span links? The span link data is useless.

True, but then this backend also isn't OTel compliant.

Thank you for pointing out the changes!  At first glance, this might eliminate the need to provide a custom instrumentation wrapper when processing the batch in the client.
Is there a standard way to describe the span link's relationship?  Describe if the linked span is a parent or a child or the direction of flow between the spans.
Why doesn't OTEL define attributes that describe the direction for span links?   Does OTEL imply the direction based on the details of the span?
What if we wanted to use span links for other kinds of spans?  How would a backend know which direction the flow should follow?
I was describing the relationship using a custom attribute but that doesn't work if a backend has other ways it determines the direction.

Thank you for pointing out the changes! At first glance, this might eliminate the need to provide a custom instrumentation wrapper when processing the batch in the client.

Yes, that was a goal for these changes.

Is there a standard way to describe the span link's relationship? Describe if the linked span is a parent or a child or the direction of flow between the spans.

No, there isn't (yet). Currently, for messaging scenarios, you infer the flow from the span kinds: a link between a consumer and a producer span has a direction from the producer to the consumer.

Why doesn't OTEL define attributes that describe the direction for span links?

There have been discussions, but nobody starting to work on relate semantic conventions yet:
open-telemetry/opentelemetry-specification#2945

@rackerWard was your initial question answered or you still need more clarification on this? Given there's already discussing the link's relationship attributes, I'm leaning towards closing this issue. Let me know :)


Get the server run in development mode but make it thinks is building

Apologies for the tricky title, but I guess it explains everything? I have also started a thread in the middleman forum, but it doesn't seem to be quite active these days.
Expected behavior and actual behavior
I need to run middelman with the attached server but let it pretending it's building the site. This is because I need to test what the URLs and some other bits will look like by the time the site is built, but without waiting for the whole set of pages being processed.
I found something similar to what I'm asking, if not exactly that, mentioned in this issue.
Regrettably, by adding a puts app.production? in within the configure: development block returns false thus suggesting this is no longer supported.
Steps to reproduce the problem (from a clean middleman installation)

In config.rb within the configure: development add the following puts

  puts app.development?
  puts app.build?
  puts app.production?

Run a bundle exec middleman server -e production (which seems still supported)

check the output, which in my case is not what expected

[1] $ bundle exec middleman server -e production
true
false
false

Additional information

Ruby version: 2.5.0p0
Middleman version: 4.2
OS version: Mojave

Can you try the above env variable approach? I would expect 2 initialization still, but of the correct mode.
Basically, the CLI boots up before the server, which is why there are 2 initializations. The CLI boot is so that some of the other commands know config values from config.rb, but probably shouldn't be necessary for server and build.

Sorry, I thought I did answer already.
By using the variable approach I can see only one initialization.
I will add back some debug line and print out the results later.

I may be wrong, again because I have not investigated into the source code, but could this double initialisation due to the blog module?

If you see the screenshot above, the true just before The middleman is loading is set in a configure :<something> do block, but it is read after the blog module is initialised.
Quite annoying as the sole purpose of this thread was to change that settings  based on the type of environment I'm on.

No, the double initialization is because the cli boots once to detect valid flags. Then the server boots after.


VSR: Refactor+fix DVC/SV header generation

Refactor
Refactor DVC/SV header generation for greater clarity (at the cost of increased verbosity). Specifically, the critical logic for each different case (retired primary/follower, durable SV/DVC, etc) are made as clear as possible. The split cases also enable stricter assertions of chain states.
This new implementation also includes additional headers during the "suffix_done" phase by skipping over "same-view gaps". (That is, given 1,_,3, if op=1 and op=3 have the same view, then if op=3 is included in the DVC then op=1 is guaranteed to be part of the same hash-chain, so it is safe to include as well).
Fix
Cases with a durable SV now properly use that durable SV's head op in place of the DVC anchor.
Pre-merge checklist
Performance:

I am very sure this PR could not affect performance.

Changes:

Rebased on main.
Added documentation.
Cherry-picked a few start-view commits from another branch I'm working on.


apps sc: added backup retention in config

What this PR does / why we need it:
This PR exposes Harbor's backup retention period through Config.
Which issue this PR fixes : fixes #698
Public facing documentation PR (if applicable)

Special notes for reviewer:
Checklist:

[x] Added relevant notes to WIP-CHANGELOG.md
[x] Proper commit message prefix on all commits
[ ] Updated the public facing documentation
Is this changeset backwards compatible for existing clusters? Applying:

[x] is completely transparent, will not impact the workload in any way.
[ ] requires running a migration script.
[ ] will create noticeable cluster degradation.
E.g. logs or metrics are not being collected or Kubernetes API server
will not be responding while upgrading.
[ ] requires draining and/or replacing nodes.
[ ] will change any APIs.
E.g. removes or changes any CK8S config options or Kubernetes APIs.
[ ] will break the cluster.
I.e. full cluster migration is required.

Chart checklist (pick exactly one):

[x] I upgraded no Chart.
[ ] I upgraded a Chart and determined that no migration steps are needed.
[ ] I upgraded a Chart and added migration steps.

Pipeline config (if applicable)
If you change some config options (e.g. add/rename variable or change the default value) you may need to update the config used by the pipeline in pipeline/config.

I also moved the retention days under backup, the same indent as enabled: true.


Images are not properly optimized

See https://pagespeed.web.dev/report?url=https%3A%2F%2Fstrapi-blog-frontend-next.vercel.app%2F
This doesn't seem to be a problem with Vercel and/or Cloudinary, but with your implementation. However, it "could" also be a problem with next/image.
Maybe, this is something you want to take a look at?

Thanks for the tip @SoftCreatR.
In fact it's something that I really want to take a deep look. I will keep your issue opened to motivate me to find out one solution.

This is more a bug, than an enhancement 😏 However, if you can figure this out, I have one or two additional optimizations.

Hello @SoftCreatR, I think that we can go further with the optimization. What are these ideas you were thinking of for the project? 🤔😄
I had done some fixes in #15. Let's move this conversation to that issue.

@SoftCreatR Let's keep the talk there. I also answered there and reopened the issue.


Tests: Clear pooled connections after CREATE DATABASE

Fixes #750

Hypothesis disproven

New theory worked once. Going to run a few more times...

🎉 Three times in a row!


Generate SDKs from Converted TypeSpec Specifications for Internal Validation

Description:
Generate SDKs from brownfield converted TypeSpec specifications for internal validation purposes only. These SDKs will be used to ensure that the conversion process does not introduce any breaking changes and that the generated SDKs behave correctly. The SDKs should not be published to customers. Instead, existing SDK tests should be used to validate the correctness of the conversion.
Tasks:

Set up the necessary infrastructure to generate SDKs from the TypeSpec specifications in the "typespec-conversion" branches.
Configure the SDK generation process to ensure that the generated SDKs are used for internal validation only and are not published to customers.
Run existing SDK tests on the generated SDKs to validate the correctness of the conversion.
Document the process and provide guidance to service teams on how to use the generated SDKs for validation.

@raych1 will running Spec gen SDK will be enough for this? If so, we need to make sure that once the Typespec-conversion branch is created, that automation is enabled on it

That is the first part, and the other part is to include the CI test in the SDK PR.


Make content of landing page visible to crawlers

Tabs, FAQ and the diagram content did not have mounted DOM elements.
The only sacrifice is the animation in FAQ, but honestly, I prefer it without it, as you click and wait a second to read what's in there.

should we do that in other places as well?

These components were specific to hive's landing page. I don't know if other pages have issues with content visibility, I know Hive had.


Feature request: Swiping left and right on the home screen for viewing days.

hey there how is it going, can i ask you for a better explanation of the feature? i didn't quite get it.
also im so sorry for the delay on the reply. good and big news are on the way.


[question] Redis Sentinel support

Is there a way to use Redis sentinel?
I use redis sentinel.
I'd like to connect Redis Sentinel with Aedes and use it.

Never used it so no clue, did you tried?

All good so :)


Save config to file

Your Idea
I think it would be pretty useful if you could export your tweaks to a file (XML, JSON, or anything really), which you can easily load and apply next time you open SophiApp (e.g.: use the same config on multiple PCs, make presets).
SophiApp Version
<IP_ADDRESS>
Windows Version
Windows 11
Comments
No response

Hi. Sorry for the late reply. I was in flames at work. :) The described feature was already discussed by me and my colleague. It will be implemented, but only in SophiApp 2.0 and only in a paid version. Somewhere in Autumn, 2022. We have a list what to change in the next big release. Now we're fully focused on near <IP_ADDRESS> stable release. Let's not make premature plans, how things will be. Better to live up until this Autumn first. :)

Could you add the Spanish language please or can you explain if there is a way to add it

Could you add the Spanish language please or can you explain if there is a way to add it

Note the right place, btw here you can find all instructions https://github.com/Sophia-Community/SophiApp#translating

Sure.
https://t.me/SophiaNews/2566

https://github.com/Sophia-Community/SophiApp/commits/dev-winappsdk/


Power Platform Build Tools: Backup Environment Build Task not working for GCC

Service Connection point to a URL in GCC.
Environment not being found
; Error=; Message=The environment '' could not be found in the tenant 'xxx-xxx-xxx-xxx-xxx'.; Internal=System.Net.HttpWebResponse}
User has admin rights to all environments and can create a backup from https://gcc.admin.powerplatform.microsoft.us/

@sendsunilmail
Sorry you're experiencing this issue. Please contact support: https://powerapps.microsoft.com/support/

@sendsunilmail were you able to get this resolved? i am running into same issue now.


fix(docs): Renamed files for JavaScript/Dart dynamic form cookbook

Fixes issue with white page being displayed when switch to JavaScript/Dart on the dynamic form cookbook page. Also fixes the menu item to match.
cc: @wardbell @naomiblack

Is not the first time that this happens and won't be the last one. Perhaps we should look for a different solution altogether.

I'm confused. I thought the topic was "Dynamic Forms" (plural). "Dynamic Form" (singular) sounds weird. What was the problem?

Yes, the topic is "Dynamic Forms" (plural). If you switch to viewing the JavaScript version of "Dynamic Forms" the cookbook menu item displays "Dynamic Form" (singular)

um ... OK.  I think I understand. Let's move on.


[thrift] build failure

Operating system
Windows/macOS/Linux
Compiler
No response
Steps to reproduce the behavior
./vcpkg install thrift

Failure logs
Installing 1/1<EMAIL_ADDRESS>Building<EMAIL_ADDRESS>-- Downloading https://github.com/apache/thrift/archive/0.20.0.tar.gz -> apache-thrift-0.20.0.tar.gz...
[DEBUG] To include the environment variables in debug output, pass --debug-env
[DEBUG] Disabling metrics because vcpkg.disable-metrics exists
[DEBUG] Trying to load bundleconfig from /home/user/vcpkg/vcpkg-bundle.json
[DEBUG] Failed to open: /home/user/vcpkg/vcpkg-bundle.json
[DEBUG] Bundle config: readonly=false, usegitregistry=false, embeddedsha=nullopt, deployment=Git, vsversion=nullopt
[DEBUG] Feature flag 'binarycaching' unset
[DEBUG] Feature flag 'compilertracking' unset
[DEBUG] Feature flag 'registries' unset
[DEBUG] Feature flag 'versions' unset
[DEBUG] Feature flag 'dependencygraph' unset
[DEBUG] 1000: execute_process(curl --fail -L https://github.com/apache/thrift/archive/0.20.0.tar.gz --create-dirs --output /home/user/vcpkg/downloads/apache-thrift-0.20.0.tar.gz.1360638.part)
[DEBUG] 1000: cmd_execute_and_stream_data() returned 0 after  1038717 us
[DEBUG] Trying to hash /home/user/vcpkg/downloads/apache-thrift-0.20.0.tar.gz.1360638.part
[DEBUG] /home/user/vcpkg/downloads/apache-thrift-0.20.0.tar.gz.1360638.part has hash 86a609f5725506abc2109902b338cbaad85abf980f9d28c63e6e50a5c265dc10699372c4e91f5ee85d8d09fbcbb0dc17c19745b86d215b96bbf7d0a9270f0932
error: Failed to download from mirror set
error: File does not have the expected hash:
url: https://github.com/apache/thrift/archive/0.20.0.tar.gz
File: /home/user/vcpkg/downloads/apache-thrift-0.20.0.tar.gz.1360638.part
Expected hash: 5e4ee9870b30fe5ba484d39781c435716f7f3903793dc8aae96594ca813b1a5a73363b84719038ca8fa3ab8ef0a419a28410d936ff7b3bbadf36fc085a6883ae
Actual hash: 86a609f5725506abc2109902b338cbaad85abf980f9d28c63e6e50a5c265dc10699372c4e91f5ee85d8d09fbcbb0dc17c19745b86d215b96bbf7d0a9270f0932
[DEBUG] /mnt/vss/_work/1/s/src/vcpkg/base/downloads.cpp(1048):
[DEBUG] Time in subprocesses: 1038717us
[DEBUG] Time in parsing JSON: 3us
[DEBUG] Time in JSON reader: 0us
[DEBUG] Time in filesystem: 19us
[DEBUG] Time in loading ports: 0us
[DEBUG] Exiting after 1 s (1048244us)

Additional context
It looks like commit https://github.com/apache/thrift/commit/a1898053bba390b2069179b914c7339caab9b7ef was introduced on the 0.20.0 branch which invalidates the expected SHA-512 hash.
A quick fix would be to just update the hash, but I'm not sure if that's desired behavior or if the actual tagged v0.20.0 version should be used here.

up

/home/diver/.cache/vcpkg/registries/git-trees/6855be1ce96497811d4eb0a9879baf6cf1b3610c: info: installing overlay port from here
-- Downloading https://github.com/apache/thrift/archive/0.20.0.tar.gz -> apache-thrift-0.20.0.tar.gz...
[DEBUG] To include the environment variables in debug output, pass --debug-env
[DEBUG] Trying to load bundleconfig from /home/diver/vcpkg/vcpkg-bundle.json
[DEBUG] Failed to open: /home/diver/vcpkg/vcpkg-bundle.json
[DEBUG] Bundle config: readonly=false, usegitregistry=false, embeddedsha=nullopt, deployment=Git, vsversion=nullopt
[DEBUG] Metrics enabled.
[DEBUG] Feature flag 'binarycaching' unset
[DEBUG] Feature flag 'compilertracking' unset
[DEBUG] Feature flag 'registries' unset
[DEBUG] Feature flag 'versions' unset
[DEBUG] Feature flag 'dependencygraph' unset
[DEBUG] 1000: execute_process(curl --fail -L https://github.com/apache/thrift/archive/0.20.0.tar.gz --create-dirs --output /home/diver/vcpkg/downloads/apache-thrift-0.20.0.tar.gz.942600.part)
[DEBUG] 1000: cmd_execute_and_stream_data() returned 0 after  1001987 us
[DEBUG] Trying to hash /home/diver/vcpkg/downloads/apache-thrift-0.20.0.tar.gz.942600.part
[DEBUG] /home/diver/vcpkg/downloads/apache-thrift-0.20.0.tar.gz.942600.part has hash 86a609f5725506abc2109902b338cbaad85abf980f9d28c63e6e50a5c265dc10699372c4e91f5ee85d8d09fbcbb0dc17c19745b86d215b96bbf7d0a9270f0932
error: Missing apache-thrift-0.20.0.tar.gz and downloads are blocked by x-block-origin.
error: File does not have the expected hash:
url: https://github.com/apache/thrift/archive/0.20.0.tar.gz
File: /home/diver/vcpkg/downloads/apache-thrift-0.20.0.tar.gz.942600.part
Expected hash: 5e4ee9870b30fe5ba484d39781c435716f7f3903793dc8aae96594ca813b1a5a73363b84719038ca8fa3ab8ef0a419a28410d936ff7b3bbadf36fc085a6883ae
Actual hash: 86a609f5725506abc2109902b338cbaad85abf980f9d28c63e6e50a5c265dc10699372c4e91f5ee85d8d09fbcbb0dc17c19745b86d215b96bbf7d0a9270f0932
[DEBUG] /source/src/vcpkg/base/downloads.cpp(1030):
[DEBUG] Time in subprocesses: 1001987us
[DEBUG] Time in parsing JSON: 9us
[DEBUG] Time in JSON reader: 0us
[DEBUG] Time in filesystem: 416us
[DEBUG] Time in loading ports: 0us
[DEBUG] Exiting after 1 s (1045439us)

Fixing hash in ports/thrift/portfile.cmake doesn't have any influence

I didn't repro your issue.
PS G:\vcpkg> ./vcpkg install thrift
Computing installation plan...
The following packages will be built and installed:
<EMAIL_ADDRESS>Detecting compiler hash for triplet x64-windows...
Compiler found: C:/Program Files/Microsoft Visual Studio/2022/Enterprise/VC/Tools/MSVC/14.40.33807/bin/Hostx64/x64/cl.exe
Restored 0 package(s) from C:\Users\monica\AppData\Local\vcpkg\archives in 174 us. Use --debug to see more details.
Installing 1/1<EMAIL_ADDRESS>Building<EMAIL_ADDRESS>-- Note: thrift only supports static library linkage. Building static library.
-- Using cached apache-thrift-v0.20.0.tar.gz.
-- Extracting source G:/vcpkg/downloads/apache-thrift-v0.20.0.tar.gz
-- Applying patch correct-paths.patch
-- Applying patch pc-suffix.patch
-- Using source at G:/vcpkg/buildtrees/thrift/src/v0.20.0-8f0d9a10a3.clean
-- Found external ninja('1.11.0').
-- Configuring x64-windows
-- Building x64-windows-dbg
-- Building x64-windows-rel
-- Fixing pkgconfig file: G:/vcpkg/packages/thrift_x64-windows/lib/pkgconfig/thrift-nb.pc
-- Fixing pkgconfig file: G:/vcpkg/packages/thrift_x64-windows/lib/pkgconfig/thrift-z.pc
-- Fixing pkgconfig file: G:/vcpkg/packages/thrift_x64-windows/lib/pkgconfig/thrift.pc
-- Using cached msys2-mingw-w64-x86_64-pkgconf-1~2.2.0-1-any.pkg.tar.zst.
-- Using cached msys2-msys2-runtime-3.5.3-3-x86_64.pkg.tar.zst.
-- Using msys root at G:/vcpkg/downloads/tools/msys2/1e74ca60daa10104
-- Fixing pkgconfig file: G:/vcpkg/packages/thrift_x64-windows/debug/lib/pkgconfig/thrift-nb.pc
-- Fixing pkgconfig file: G:/vcpkg/packages/thrift_x64-windows/debug/lib/pkgconfig/thrift-z.pc
-- Fixing pkgconfig file: G:/vcpkg/packages/thrift_x64-windows/debug/lib/pkgconfig/thrift.pc
-- Installing: G:/vcpkg/packages/thrift_x64-windows/share/thrift/copyright
-- Performing post-build validation
Stored binaries in 1 destinations in 4 s.
Elapsed time to handle thrift:x64-windows: 2.1 min
thrift:x64-windows package ABI: 7e6e589a7564623077a0ebf72e509cfe6b2970053c1942534cce34ae71218af0
Total install time: 2.1 min
thrift provides CMake targets:

  # this is heuristically generated, and may not be correct
  find_package(Thrift CONFIG REQUIRED)
  target_link_libraries(main PRIVATE thrift::thrift thriftz::thriftz thriftnb::thriftnb)

thrift provides pkg-config modules:

  # Thrift Nonblocking API
  thrift-nb

  # Thrift Zlib API
  thrift-z

  # Thrift C++ API
  thrift

Please run the following commands and try again:
git pull https://github.com/microsoft/vcpkg.git master
./vcpkg remove thrift --recurse
./vcpkg install thrift --binarysource=clear

I'm still seeing this issue.  Running in manifest mode, blew away vcpkg (and ~/.cache/vcpkg) and repulled it.  Using a builtin-baseline that is older due to older dependencies, no version override for thrift.  Still seeing mismatched hash, not sure how to resolve.


Add styles property to package.json

Enables support for npm-sass and more.

Coverage remained the same at 88.221% when pulling 3069ec1184375a6ecf90a76fa003a5c2a209dc5e on alexandernanberg:master into 12ecf6943aaf8b760a698affe653dd399c9c2dc9 on chmln:master.

Coverage remained the same at 88.221% when pulling 6a0c72a778788e3f80d6bc29678be28a116fc623 on alexandernanberg:master into 12ecf6943aaf8b760a698affe653dd399c9c2dc9 on chmln:master.

:+1:


Fix brief screen flash on page load

There seems to be a regression of bug #95, where screen briefly flashes with unstyled content when loading a page. I'm using Edge 97.0.1072.41 on macOS 12.0.1.
This fix hides the content earlier and programmatically sets the style and background colour on the root HTML element and unhides it once the custom stylesheet has fully loaded.

Thanks!

Hi @PxlBuzzard will you be creating a new release for this soon?


Support for "Add Changelist"

I can only move files to another already existing changelist. It would be great to be able to create a new changelist.

You can create new change list by typing the description in the SCM input box (or commit message box in Git) and hit Ctrl+Enter
A better workflow (I.e. drag & drop) is coming up in a future version of VS Code


Use workspace

Use the workspace menu instead of the menu fxml.
Went through the main menu again with git changelog to see which modules we recently added. Hopefully should be all of them.

Looks good to me.
Will open a PR on this branch with minor adjustments fixes and renames


Prepend the simulation time on all log messages

I, as the system,
Given the requirement to record a log
When I assemble a log message
Then I prepend the simulation time on the log message

Done