Sharing Authentication Cookies between ASP.NET 4.7.1 and .NET 5 does not work as outlined in docs

After many attempts to share authentication cookies without identity  between ASP.NET 4.7.1 and .NET 5 hosted under IIS. Documentation is not clear, and lack key details with reference to configuring data protector for authentication cookie.
.NET Framework docs says that configure CookieAuthenticationOptions by setting TicketDataFormat where data protector has to be configured seen below. Docs should note that .NET 5 should also configure in exactly same way.  See below
Note: Make sure purpose & sub purpose strings are same for .NET framework & .NET 5 set on Ticket Data Format.
//.NET Framework config
app.UseCookieAuthentication(new CookieAuthenticationOptions()
            {
                AuthenticationType = CookieAuthenticationDefaults.AuthenticationType,
                CookieName = ".AspNet.SharedCookie",
                CookieSameSite = SameSiteMode.Lax,
                SlidingExpiration = true,
                ExpireTimeSpan = TimeSpan.FromMinutes(120),
                LoginPath = PathString.FromUriComponent("login path"),
                LogoutPath = PathString.FromUriComponent("logout path"),
                TicketDataFormat = new AspNetTicketDataFormat(
                    new DataProtectorShim(
                        DataProtectionProvider.Create(new DirectoryInfo("fileshare path") ,
                                (builder) =>
                                {

                                    builder.SetApplicationName("iis-app-name");
                                })
                            .CreateProtector(
                                "Microsoft.AspNetCore.Authentication.Cookies." +
                                "CookieAuthenticationMiddleware",
                                "Cookies.Application",
                                "v2"))),
                CookieManager = new ChunkingCookieManager()
            });

//.NET 5 config
services.AddAuthentication(CookieAuthenticationDefaults.AuthenticationScheme)
                .AddCookie(options =>
                {
                    options.Cookie.Name = ".AspNet.SharedCookie";
                    options.Cookie.SameSite = SameSiteMode.Lax;
                    options.Cookie.Path = "/";
                    options.Cookie.HttpOnly = true;
                    options.Cookie.IsEssential = true;
                    options.ExpireTimeSpan = TimeSpan.FromMinutes(120);

                    options.CookieManager = new ChunkingCookieManager();
                    options.TicketDataFormat = new SecureDataFormat<AuthenticationTicket>(new TicketSerializer(),
                        DataProtectionProvider.Create(new DirectoryInfo("fileshare path"),
                                (builder) => { builder.SetApplicationName("iis-app-name"); })
                            .CreateProtector(
                                "Microsoft.AspNetCore.Authentication.Cookies." +
                                "CookieAuthenticationMiddleware",
                                "Cookies.Application",
                                "v2"));
                });

Every other variation I tried did not worked. It would be nice to update the docs with explicit instructions or link to working sample which provides both .NET framework 4.5.x app & .NET 5 app, which can be downloaded & hosted on IIS to see how its working. Randomly pointing to sample which has multiple startup's leaves so much to hunt for.

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

ID: 99307104-c0d7-3e82-f0b2-af61dcfe072a
Version Independent ID: 315c02cb-54c4-e386-da85-6e4311ca10c2
Content: Share authentication cookies among ASP.NET apps
Content Source: aspnetcore/security/cookie-sharing.md
Product: aspnet-core
Technology: aspnetcore-security
GitHub Login: @Rick-Anderson
Microsoft Alias: riande

Hello @marafiq ... This might not be merely a won't fix but ultimately a scenario removal given the challenges involved in maintaining guidance to make it work. We did have sample apps for this at one time, but we yanked them ages ago.
@HaoK ... When we discussed this a long time ago ... years ago at this point I think ... we dropped the working samples for this scenario from the topic because this wasn't a common request and it can be rather tricky to pull off. I recall that the sample apps for this scenario were a PITA to maintain. If we can't fix the Share authentication cookies between ASP.NET 4.x and ASP.NET Core apps ... if it's not known what's missing to make this scenario work any longer, then should the section be stricken and the scenario be dropped from supported scenarios?

@guardrex  Since I struggled with it for days, I guess only good sleep fixed it. I will say its important to have docs updated & working samples. But apart for that, I think retiring/dropping the docs will not be beneficial especially for folks who are trying to migrate their apps. As migration efforts this is first piece one has to figure out if you can not upgrade everything to .NET 5 or Core which is not practical.

There are resource limitations, so management has to prioritize issues. Hao told me years ago that devs weren't asking for this scenario very often. That may have changed since then. He'll let us know how he wants to handle it. We can add the bit ur recommending, but I think adding and maintaining samples would be difficult.

Right its tricky and not commonly asked for, its easier to just help people via issues rather than trying to publish specific documentation at this point. But yeah everything has match exactly or it won't work.

Thanks @HaoK.

rather than trying to publish specific documentation at this point

In that case, @Rick-Anderson, I can craft the section to link to this issue and inject the original content of the section here. It wouldn't take long to handle this issue that way. Devs would still have access to the content and to what @marafiq has provided. Shall I proceed with a draft PR to see how that would compose? Otherwise if not, either it will take me very long time to reach this issue under the current workload, or you'll have to reassign the issue. 🏃

In that case, @Rick-Anderson, I can craft the section to link to this issue and inject the original content of the section here.

Perfect, I think that's the best approach. This issues has details we can't add to a doc, such as "Right its tricky and not commonly asked for".
I propose we edit @Haok comment to something like  using SO so we don't elicit too many support requests.

Cool ... I'll take care of this by EOW and ping u for review.

Original content
Share authentication cookies between ASP.NET 4.x and ASP.NET Core apps
ASP.NET 4.x apps that use Katana Cookie Authentication Middleware can be configured to generate authentication cookies that are compatible with the ASP.NET Core Cookie Authentication Middleware. This allows upgrading a large site's individual apps in several steps while providing a smooth SSO experience across the site.
When an app uses Katana Cookie Authentication Middleware, it calls UseCookieAuthentication in the project's Startup.Auth.cs file. ASP.NET 4.x web app projects created with Visual Studio 2013 and later use the Katana Cookie Authentication Middleware by default. Although UseCookieAuthentication is obsolete and unsupported for ASP.NET Core apps, calling UseCookieAuthentication in an ASP.NET 4.x app that uses Katana Cookie Authentication Middleware is valid.
An ASP.NET 4.x app must target .NET Framework 4.5.1 or later. Otherwise, the necessary NuGet packages fail to install.
To share authentication cookies between an ASP.NET 4.x app and an ASP.NET Core app, configure the ASP.NET Core app as stated in the Share authentication cookies among ASP.NET Core apps section, then configure the ASP.NET 4.x app as follows.
Confirm that the app's packages are updated to the latest releases. Install the Microsoft.Owin.Security.Interop package into each ASP.NET 4.x app.
Locate and modify the call to UseCookieAuthentication:

Change the cookie name to match the name used by the ASP.NET Core Cookie Authentication Middleware (.AspNet.SharedCookie in the example).
In the following example, the authentication type is set to Identity.Application.
Provide an instance of a DataProtectionProvider initialized to the common data protection key storage location.
Confirm that the app name is set to the common app name used by all apps that share authentication cookies (SharedCookieApp in the example).

If not setting http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier and http://schemas.microsoft.com/accesscontrolservice/2010/07/claims/identityprovider, set xref:System.Web.Helpers.AntiForgeryConfig.UniqueClaimTypeIdentifier to a claim that distinguishes unique users.
App_Start/Startup.Auth.cs:
app.UseCookieAuthentication(new CookieAuthenticationOptions
{
    AuthenticationType = "Identity.Application",
    CookieName = ".AspNet.SharedCookie",
    LoginPath = new PathString("/Account/Login"),
    Provider = new CookieAuthenticationProvider
    {
        OnValidateIdentity =
            SecurityStampValidator
                .OnValidateIdentity<ApplicationUserManager, ApplicationUser>(
                    validateInterval: TimeSpan.FromMinutes(30),
                    regenerateIdentity: (manager, user) =>
                        user.GenerateUserIdentityAsync(manager))
    },
    TicketDataFormat = new AspNetTicketDataFormat(
        new DataProtectorShim(
            DataProtectionProvider.Create("{PATH TO COMMON KEY RING FOLDER}",
                (builder) => { builder.SetApplicationName("SharedCookieApp"); })
            .CreateProtector(
                "Microsoft.AspNetCore.Authentication.Cookies." +
                    "CookieAuthenticationMiddleware",
                "Identity.Application",
                "v2"))),
    CookieManager = new ChunkingCookieManager()
});

System.Web.Helpers.AntiForgeryConfig.UniqueClaimTypeIdentifier =
    "http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name";

When generating a user identity, the authentication type (Identity.Application) must match the type defined in AuthenticationType set with UseCookieAuthentication in App_Start/Startup.Auth.cs.
Models/IdentityModels.cs:
public class ApplicationUser : IdentityUser
{
    public async Task<ClaimsIdentity> GenerateUserIdentityAsync(
        UserManager<ApplicationUser> manager)
    {
        // The authenticationType must match the one defined in
        // CookieAuthenticationOptions.AuthenticationType
        var userIdentity =
            await manager.CreateIdentityAsync(this, "Identity.Application");

        // Add custom user claims here

        return userIdentity;
    }
}

@guardrex @marafiq
i tried & get it worked as it was described in original doc
Core:
`services.AddDataProtection()
.PersistKeysToFileSystem(new DirectoryInfo(Configuration["Identity:DataProtectionDir"]))
.SetApplicationName(Configuration["Identity:ApplicationName"]);
        services.ConfigureApplicationCookie(options =>
            {
                options.Cookie.SameSite = SameSiteMode.Strict;
                options.Cookie.Name = Configuration["Identity:CookieName"];
                options.Cookie.Path = Configuration["Identity:CookiePath"];
                options.Cookie.Domain = Configuration["Identity:CookieDomain"];
                options.Cookie.HttpOnly = true;
                options.ExpireTimeSpan = TimeSpan.FromMinutes(Int32.Parse(Configuration["Identity:CookieExpirationMinutes"]));
                options.LoginPath = "/Identity/Account/Login";
                options.LogoutPath = "/Identity/Account/Logout";
                options.AccessDeniedPath = "/Identity/Account/AccessDenied";
                options.SlidingExpiration = true;
                //options.CookieManager = new ChunkingCookieManager();
                //options.TicketDataFormat = new SecureDataFormat<AuthenticationTicket>(new TicketSerializer(),
                //    DataProtectionProvider.Create(new DirectoryInfo(Configuration["Identity:DataProtectionDir"]),
                //            (builder) => { builder.SetApplicationName(Configuration["Identity:ApplicationName"]); })
                //        .CreateProtector(
                //            "Microsoft.AspNetCore.Authentication.Cookies." +
                //            "CookieAuthenticationMiddleware",
                //            "Identity.Application",
                //            "v2"));
            });`

.net 4.6.1
`
app.UseCookieAuthentication(new CookieAuthenticationOptions
{
AuthenticationType = "Identity.Application",
CookieName = "Identity:CookieName",
CookiePath = "/",
CookieDomain = "localhost",
LoginPath = new PathString("/1"),
Provider = new CookieAuthenticationProvider
{
OnException = ex =>
{
AppLogger.LogExceptionRecursively(ex.Exception.Message, ex.Exception, MethodBase.GetCurrentMethod());
}
},
TicketDataFormat = new AspNetTicketDataFormat(
new DataProtectorShim(
DataProtectionProvider.Create(new DirectoryInfo("d:/dataprotection"),
(builder) => { builder.SetApplicationName("Identity:ApplicationName"); })
.CreateProtector(
"Microsoft.AspNetCore.Authentication.Cookies." +
"CookieAuthenticationMiddleware",
"Identity.Application",
"v2"))),
CookieManager = new ChunkingCookieManager()
});
        System.Web.Helpers.AntiForgeryConfig.UniqueClaimTypeIdentifier = "http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name";

`
importan to have same app name

Thanks for the previous contributions!
For the ones that did manage to make it work the sharing of cookies between .NET and Core because of this thread like me. Here follows the configuration that worked for me. I'm posting because it was the combination of the several comments that made my application work, and like me, maybe someone will make its application work reading my example too.
Core 5.0
Web Api project
Startup.cs
        public void ConfigureServices(IServiceCollection services)
        {
            services.AddDataProtection()
                .PersistKeysToFileSystem(new DirectoryInfo("C:\\keyDirectory"))
                .SetApplicationName("iis-app-name");

            services.AddAuthentication(CookieAuthenticationDefaults.AuthenticationScheme)
                .AddCookie(options =>
                {
                    options.Cookie.Name = ".AspNet.SharedCookie";
                    options.Cookie.SameSite = SameSiteMode.Lax;
                    options.Cookie.Path = "/";
                    options.Cookie.HttpOnly = true;
                    options.Cookie.IsEssential = true;
                    options.ExpireTimeSpan = TimeSpan.FromMinutes(120);
                });
        }
        public void Configure(IApplicationBuilder app, IWebHostEnvironment env)
        {
            app.UseHttpsRedirection();
            app.UseRouting();
            app.UseAuthentication();
            app.UseAuthorization();
            app.UseEndpoints(endpoints =>
            {
                endpoints.MapControllers();
            });
        }

Framework 4.8
        public static void Configuration(IAppBuilder app)
        {
            app.UseCookieAuthentication(new CookieAuthenticationOptions()
            {
                AuthenticationType = CookieAuthenticationDefaults.AuthenticationType,
                CookieName = ".AspNet.SharedCookie",
                CookieSameSite = SameSiteMode.Lax,
                SlidingExpiration = true,
                ExpireTimeSpan = TimeSpan.FromMinutes(120),
                TicketDataFormat = new AspNetTicketDataFormat(
                    new DataProtectorShim(
                        DataProtectionProvider.Create(new DirectoryInfo("C:\\keyDirectory"),
                        (builder) =>
                        {
                            builder.SetApplicationName("iis-app-name");
                        })
                        .CreateProtector(
                            "Microsoft.AspNetCore.Authentication.Cookies.CookieAuthenticationMiddleware",
                            "Cookies",
                            "v2"))),
                CookieManager = new ChunkingCookieManager()
            });
        }

The directory where the key is stored, could this also be a storage account?
And more to the point can MSI be used for this storage account?
I think that I could provide the container url with SAS token, but that is a last resort that I would really like to avoid if possible.

Hi everyone ... we aren't really a discussion forum-type of repo. This is a working repo for the docs, so general discussions are somewhat distracting, especially on closed issues and PRs. It's best to discuss things on a public forum, such as ...

Stack Overflow (tag: blazor)
ASP.NET Core Slack Team
Blazor Gitter


WIP: Add SwriNode

@rjb0026 first cut at adding a node with a description built in.

Obviously I need to base this off of ros2-devel...


RevEng: Package Manager Console Support

Part of #830.
Add code for Package Manager Console Support of the revEng command.

Done with #1821


Fixed logging of unhandled mocha errors

Errors in mocha tests that were not handled and logged by mocha itself (thrown inside it()) just quietly terminated the process without any way to know what happened. Plus there was no need to log test errors again with gulp because mocha does it pretty well.
The fix takes in count the flow of the default mocha task, plus mocha-file and mocha-watch

Thank you! LGTM.


[Deprecation] Listener added for a 'DOMNodeRemoved' mutation event

[Deprecation] Listener added for a 'DOMNodeRemoved' mutation event. This event type is deprecated, and will be removed from this browser VERY soon. Usage of this event listener will cause performance issues today, and represents a large risk of imminent site breakage. Consider using MutationObserver instead. See https://chromestatus.com/feature/5083947249172480 for more information.

This is:

Bug

Specifications

AOS version: 2.1.1
OS: Windows
Browser: Google Chrome

Expected Behavior

Not shows the warning at the console
Actual Behavior
It shows the warning at the console
Steps to Reproduce the Problem

162. document.addEventListener('DOMNodeRemoved', (event) => {
163. const el = event.target;
164. if (el && el.nodeType === 1 && el.hasAttribute && el.hasAttribute('data-aos')) {
165.   debounce(refreshHard, 50, true)
166.  }
176. });

Detailed Description

[Deprecation] Listener added for a 'DOMNodeRemoved' mutation event. This event type is deprecated, and will be removed from this browser VERY soon. Usage of this event listener will cause performance issues today, and represents a large risk of imminent site breakage. Consider using MutationObserver instead
Possible Solution

Consider using MutationObserver instead. See https://chromestatus.com/feature/5083947249172480 for more information.

Is this library still maintained?

ow, indeed.
I also wish the same


Broadcast command fails

Attempted to broadcast multiple transactions and got the following result
No index specified
➜  transactions multisig broadcast cosmos ceph-main
Error: Insufficient signatures for broadcast. Requires 2, got 0
Usage:
  multisig broadcast <chain name> <key name> [flags]

Flags:
  -h, --help          help for broadcast
  -i, --index int     index of the tx to broadcast
  -n, --node string   node address to broadcast too. flag overrides config

2022/04/04 17:54:08 Insufficient signatures for broadcast. Requires 2, got 0

Index 0
➜  transactions multisig broadcast cosmos ceph-main -i 0
Error: Insufficient signatures for broadcast. Requires 2, got 0
Usage:
  multisig broadcast <chain name> <key name> [flags]

Flags:
  -h, --help          help for broadcast
  -i, --index int     index of the tx to broadcast
  -n, --node string   node address to broadcast too. flag overrides config

2022/04/04 17:54:15 Insufficient signatures for broadcast. Requires 2, got 0

Index 1
➜  transactions multisig broadcast cosmos ceph-main -i 1
Error: Insufficient signatures for broadcast. Requires 2, got 0
Usage:
  multisig broadcast <chain name> <key name> [flags]

Flags:
  -h, --help          help for broadcast
  -i, --index int     index of the tx to broadcast
  -n, --node string   node address to broadcast too. flag overrides config

2022/04/04 17:54:17 Insufficient signatures for broadcast. Requires 2, got 0

Signature files are there
➜  transactions multisig list cosmos ceph-cosmos
cosmos/ceph-cosmos/
cosmos/ceph-cosmos/0/eb.json
cosmos/ceph-cosmos/0/gs.json
cosmos/ceph-cosmos/0/signdata.json
cosmos/ceph-cosmos/0/unsigned.json
cosmos/ceph-cosmos/1/eb.json
cosmos/ceph-cosmos/1/gs.json
cosmos/ceph-cosmos/1/signdata.json
cosmos/ceph-cosmos/1/unsigned.json

multisig broadcast cosmos ceph-main

vs

multisig list cosmos ceph-cosmos

Seens like you were trying to broadcast for the wrong name. Can we close?


Unable to sign in

Describe the bug
Attempting to sign in displays the following error message.
Communication with the service provider failed: sun.security.validator.ValidatorException: PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target

To Reproduce
Steps to reproduce the behavior:

Navigate to https://maproulette.org/mr3.
Click the Sign in button at the top right.
Error message appears.

Troubleshooting
Error still appears after clearing cache/cookies and on other browsers (Firefox, Chromium).

The problem still persist.

Thanks for the report, @crossaction, this should be resolved now.

Seems to be happening again.

Thank you, @typicalTYLER, it's now fixed.


Compatible with laravel 6?

Bug?  no
New Feature? no
Framework Laravel
Framework version | 6
Package version   2
PHP version 7
Compatible with laravel 6?

Yes, just grab the latest version.


Description update

This could use a better description.  I was thinking this would get the status of a distribution, i.e. did the bits make it to the DP (Green).  If that is was this is doing I do not see that information in the results.

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

ID: 93365baa-ff01-7554-9230-1acaf35764ef
Version Independent ID: ca716a63-5604-be52-af85-30c84f3545ae
Content: Get-CMDistributionStatus (ConfigurationManager) - Configuration Manager
Content Source: sccm-ps/ConfigurationManager/Get-CMDistributionStatus.md
Product: configuration-manager
Technology: configmgr-other
GitHub Login: @aczechowski
Microsoft Alias: aaroncz

Thanks @Barleyologist for the feedback. That is the purpose of the cmdlet, you just need to interpret the results. The output is the WMI class SMS_ObjectContentExtraInfo. So for example, here's a console screenshot for the client package in a test environment:

Then here's the output of that cmdlet for that same package:
SmsProviderObjectPath : SMS_ObjectContentExtraInfo.ObjectID="XYZ00003"
DateCreated           : 3/25/2021 10:11:55
Description           : This package is automatically created and distributed so that client can upgrade itself from
                        the closest distribution point.
FeatureType           : 8
LastUpdateDate        : 3/25/2021 10:24:26
NumberErrors          : 0
NumberInProgress      : 0
NumberSuccess         : 4
NumberUnknown         : 0
ObjectID              : XYZ00003
ObjectType            : 0
ObjectTypeID          : 2
PackageID             : XYZ00003
SoftwareName          : Microsoft Corporation Configuration Manager Client Package
SourceSite            : XYZ
SourceSize            : 401984
SourceVersion         : 237
Targeted              : 4

See the properties Targeted and NumberSuccess align with the screenshot.
So you could use this to look at the NumberErrors property to make sure things didn't go awry.
I'll add some of this detail to the article and generally clean it up.
Does that answer your question?


Results tracking - Paste your results here!

I don't have a great place to store different peoples results, lets add them here!
You can place them directly below, ideally within a code tag to make for easier parsing!
Otherwise, feel free to send a Pastebin, git gist etc.
Thanks,
-FCLC

Results as of 2024/01/03
M3 family
M3

M3 Pro

M3 Max (3 channel)
[2, 3, 4, 8, 9, 10, 16, 27, 32, 64, 81, 100, 128, 243, 256, 512, 729, 1000, 1024, 2048, 2187, 4096, 6561, 8192, 10000, 16384, 19683, 32768]
[6.406406406406406e-06, 0.0009810690018531303, 0.02457757296466974, 0.00036613377040552175, 0.05841814247936533, 0.15335071308081583, 0.31059715639810426, 2.2765440666204024, 3.7718561151079135, 1.1752042588960494, 5.866863170444948, 2.9560261549194187, 1.8095471067249096, 5.087776863956844, 11.97214693789007, 12.792844578413735, 47.16240600277262, 45.73406059941392, 65.07148199906084, 80.04057586790874,<PHONE_NUMBER>9739895,<PHONE_NUMBER>125134,<PHONE_NUMBER>1466566,<PHONE_NUMBER>155466,<PHONE_NUMBER>202927,<PHONE_NUMBER>250291,<PHONE_NUMBER>340861,<PHONE_NUMBER>014777]
2023,Macbook Pro 14'inch, Apple M3 Max, 36 GBs]

M3 Max (4 channel)

M3 Ultra (at time of writing, no such product exists )

M2 Family
M2
[2, 3, 4, 8, 9, 10, 16, 27, 32, 64, 81, 100, 128, 243, 256, 512, 729, 1000, 1024, 2048, 2187, 4096, 6561, 8192, 10000, 16384, 19683]
[5.815098758549104e-06, 0.0032319846779985634, 0.013017390420014237, 0.00032096540375347725, 0.07012312427856868, 0.08247422680412371, 0.01683864337101747, 1.4512811059907833, 2.9020059336669175, 2.020377649325626, 0.5769737488512171, 6.997092707979834, 8.201338633639477, 11.478932753929733, 17.945149112246924, 20.137630174008454, 39.082309254950914, 57.8646508782581, 51.50849683198146,<PHONE_NUMBER>9506397,<PHONE_NUMBER>3882805,<PHONE_NUMBER>6123535,<PHONE_NUMBER>340736,<PHONE_NUMBER>6597487,<PHONE_NUMBER>301336,<PHONE_NUMBER>5561916,<PHONE_NUMBER>071625,2022, Macbook Air M2 13.6inch, Apple M2, 24GB]

M2 Pro
14inch MBPro M2 Pro 10 core (6+4) 32GB Sonoma, 14.3

[2, 3, 4, 8, 9, 10, 16, 27, 32, 64, 81, 100, 128, 243, 256, 512, 729, 1000, 1024, 2048, 2187, 4096, 6561, 8192, 10000, 16384, 19683, 32768]
[6.907717215326498e-05, 0.0014931150804623127, 0.014628571428571428, 0.008189248412533389, 0.08792136525357294, 0.07339449541284404, 0.3260497512437811, 1.2750121457489878, 2.5998095842589652, 3.128527356593449, 4.425595523115166, 10.173819709740924, 9.399885255306941, 11.956590520576276, 19.94813100891513, 31.86823962273178, 61.34317490351311,<PHONE_NUMBER>8681254,<PHONE_NUMBER>5033754,<PHONE_NUMBER>7668324,<PHONE_NUMBER>0377013,<PHONE_NUMBER>3024144,<PHONE_NUMBER>205274,<PHONE_NUMBER>2470714,<PHONE_NUMBER>213504,<PHONE_NUMBER>965807,<PHONE_NUMBER>807264,<PHONE_NUMBER>917186]

M2 Max

M2 Ultra

M1 Family
M1
[2, 3, 4, 8, 9, 10, 16, 27, 32, 64, 81, 100, 128, 243, 256, 512, 729, 1000, 1024, 2048, 2187, 4096, 6561, 8192, 10000, 16384, 19683]
[7.726333275385834e-05, 0.0014102530620772504, 0.009782940996637114, 0.011680697191613625, 0.07097653587771395, 0.12121212121212122, 0.48907462686567166, 1.8380725591819582, 2.716518134715026, 11.407981200226294, 7.518175066312997, 15.453920273225311, 48.67645386284772, 20.057881530665735, 22.37584181735856, 31.257345321030154, 85.64893355141632, 84.1687360953248, 98.14619273508809,<PHONE_NUMBER>7708752,<PHONE_NUMBER>5704678,<PHONE_NUMBER>6988093,<PHONE_NUMBER>291836,<PHONE_NUMBER>753328,<PHONE_NUMBER>849349,<PHONE_NUMBER>0445694,<PHONE_NUMBER>1805715]

M1 Pro

M1 Max
[2, 3, 4, 8, 9, 10, 16, 27, 32, 64, 81, 100, 128, 243, 256, 512, 729, 1000, 1024, 2048, 2187, 4096, 6561, 8192, 10000, 16384, 19683]
[7.4839095943721e-05, 0.001098297638660077, 0.013016066707341876, 0.0083506625891947, 0.049846153846153846, 0.06828035915468915, 0.24545318352059925, 0.8921473087818697, 3.640888888888889, 6.779615429376851, 8.759968351822243, 8.625336927223719, 14.517331967312412, 45.766972547293484, 19.896889023823302, 65.2353852790182, 61.557606149079426,<PHONE_NUMBER>1153736,<PHONE_NUMBER>1674101,<PHONE_NUMBER>519756,<PHONE_NUMBER>0624646,<PHONE_NUMBER>3656537,<PHONE_NUMBER>275553,<PHONE_NUMBER>147069,<PHONE_NUMBER>38254,<PHONE_NUMBER>5099,<PHONE_NUMBER>501905]

M1 Ultra

Apple M1 Pro (6+2 CPU, 14 GPU), macOS 14.1.2 23B92
[2, 3, 4, 8, 9, 10, 16, 27, 32, 64, 81, 100, 128, 243, 256, 512, 729, 1000, 1024, 2048, 2187, 4096, 6561, 8192, 10000, 16384, 19683]
[6.306462547495546e-05, 0.0025562130177514794, 0.004986948221451669, 0.00742701722574796, 0.060643873221861745, 0.03855421686746988, 0.1798779148917483, 0.7892932330827067, 2.0164923076923076, 0.24402513381428903, 7.83691797235023, 8.522715166597775, 6.9212937293729375, 9.01572909031904, 11.707585583184057, 30.26415130076947, 54.06653139119058, 92.50693802035153,<PHONE_NUMBER>024777,<PHONE_NUMBER>0190681,<PHONE_NUMBER>5481439,<PHONE_NUMBER>752904,<PHONE_NUMBER>6610046,<PHONE_NUMBER>9097905,<PHONE_NUMBER>969939,<PHONE_NUMBER>5211207, 49.877772699966926]

The last two are questionable and total power consumption was constantly around 18-20W vs up to 40W when doing the 10_000 one. Nothing interesting turned up in the profiler - kernel thread was extremely busy and the swift one was stuck in the BLAS guts.

Ran out of memory? M1 Ultra 128GB
Welcome! How many GBs of memory are in your Orchard?
128
You entered 128 GB
Running the following tests: [2, 3, 4, 8, 9, 10, 16, 27, 32, 64, 81, 100, 128, 243, 256, 512, 729, 1000, 1024, 2048, 2187, 4096, 6561, 8192, 10000, 16384, 19683, 32768, 59049]
Filling the matrices with random data, this may take a while...
taking 10 seconds to avoid SOC hot spotting, normalizing clocks etc.

For {n=m=k}= 2  performance is  3.163618388531883e-05 GFLOPS
For {n=m=k}= 3  performance is  0.0005829959514170041 GFLOPS
For {n=m=k}= 4  performance is  0.0072279631825625384 GFLOPS
For {n=m=k}= 8  performance is  0.0003306380733616141 GFLOPS
For {n=m=k}= 9  performance is  0.04491820450414369 GFLOPS
For {n=m=k}= 10  performance is  0.0653061224489796 GFLOPS
For {n=m=k}= 16  performance is  0.2368793916085938 GFLOPS
For {n=m=k}= 27  performance is  0.9670097521432607 GFLOPS
For {n=m=k}= 32  performance is  1.2808255320812243 GFLOPS
For {n=m=k}= 64  performance is  1.9818705536360957 GFLOPS
For {n=m=k}= 81  performance is  2.83372480224377 GFLOPS
For {n=m=k}= 100  performance is  6.081337894336754 GFLOPS
For {n=m=k}= 128  performance is  7.811843938344173 GFLOPS
For {n=m=k}= 243  performance is  12.916034430379748 GFLOPS
For {n=m=k}= 256  performance is  13.480190553783878 GFLOPS
For {n=m=k}= 512  performance is  33.088096638008075 GFLOPS
For {n=m=k}= 729  performance is  68.4690153442719 GFLOPS
For {n=m=k}= 1000  performance is<PHONE_NUMBER>1688132 GFLOPS
For {n=m=k}= 1024  performance is<PHONE_NUMBER>8503802 GFLOPS
For {n=m=k}= 2048  performance is<PHONE_NUMBER>8939672 GFLOPS
For {n=m=k}= 2187  performance is<PHONE_NUMBER>093067 GFLOPS
For {n=m=k}= 4096  performance is<PHONE_NUMBER>404492 GFLOPS
For {n=m=k}= 6561  performance is<PHONE_NUMBER>52664 GFLOPS
For {n=m=k}= 8192  performance is<PHONE_NUMBER>744054 GFLOPS
For {n=m=k}= 10000  performance is<PHONE_NUMBER>9869176 GFLOPS
For {n=m=k}= 16384  performance is<PHONE_NUMBER>469782 GFLOPS
For {n=m=k}= 19683  performance is<PHONE_NUMBER>465223 GFLOPS
For {n=m=k}= 32768  performance is<PHONE_NUMBER>513286 GFLOPS
zsh: killed     ./a.out

Ran out of memory? M1 Ultra 128GB

That's strange.
Max value tested is edge length = 59049
(59049^2)83 would be ~80 GB.
Even allowing for a massive transpose matrix, that should add no more than +1/3{memory footprint}, still well below the 128 GBs available.
All of the memory allocations (outside of any supplementary matrix transposes done by accelerate) are done on application start. You'd only "run out" if accelerate ballooned?
I pushed a version to git a few hours ago ( https://github.com/FCLC/AdvancedCiderXtensions/commit/fd7382e1df10c930c7dd61a85209bc74918a6d1f ) that takes this into account and divides by 4 instead of 3 when figuring out max edge length.
Even then, you'd still end up with max integer of 3^N being 10 and testing for 59049 🤔
If you do a run with "only" 64, what do those results look like?

Beyond the memory bug, thanks for running it! Wowed to see ~750 GFLOPS on that machine

M1 Ultra using 64 out of 128 GB. More GFLOPS for ya.
[2, 3, 4, 8, 9, 10, 16, 27, 32, 64, 81, 100, 128, 243, 256, 512, 729, 1000, 1024, 2048, 2187, 4096, 6561, 8192, 10000, 16384, 19683, 32768]
[8.531422294739312e-05, 0.0015747113029277965, 0.01735593220338983, 0.03619397709599887, 0.12632126147981285, 0.15384615384615385, 0.07014239110890394, 2.617072197846031, 5.260555466366993, 16.534880787183045, 13.135622126649858, 13.168724279835391, 22.41948226188376, 37.22357638159277, 24.951391739391667, 40.74045806624337, 44.917992072521216, 81.4839564812115, 78.28079584490027,<PHONE_NUMBER>4309384,<PHONE_NUMBER>2761197,<PHONE_NUMBER>895514,<PHONE_NUMBER>989348,<PHONE_NUMBER>848407, 1058.0766591765296, 1101.572612714917, 1069.3424944129217,<PHONE_NUMBER>218509]

1.1 TFLOPS lets go!
That's (just!) enough to surpass Sandia labs project ASCI RED, the first ever TFLOP class super computer! To reach that performance mark, ASCI RED needed 850KW of power for the systems alone, excluding the needs of the rest of the infrastructure. It also needed over 7k sockets!
Thank you so much for providing the data!

M2 Max (Macbook Pro 14")
[2, 3, 4, 8, 9, 10, 16, 27, 32, 64, 81, 100, 128, 243, 256, 512, 729, 1000, 1024, 2048, 2187, 4096, 6561, 8192, 10000, 16384, 19683, 32768]
[6.843719390395696e-05, 0.0011944788533003008, 0.012907129172128669, 0.0006551851441887189, 0.08431644691186677, 0.08664385045271412, 0.43115789473684213, 1.514076923076923, 2.859711131474451, 9.671782762691853, 2.290491572942908, 13.204980918802573, 17.80710789204427, 18.5206931268151, 29.52653957705629, 34.36578674646738, 33.90512955555299, 59.70052663625562, 62.96282863255188,<PHONE_NUMBER>14305,<PHONE_NUMBER>473425,<PHONE_NUMBER>036045,<PHONE_NUMBER>563552,<PHONE_NUMBER>051781,<PHONE_NUMBER>2195,<PHONE_NUMBER>755538,<PHONE_NUMBER>428625,<PHONE_NUMBER>311345]

Peak of 651 GFLOPS

The new interfaces seem to provide a much bigger bump for very small N.
Without checking the instruction stream, I'd assume part of the difference is not firing up the AMX tile for small problem sets where you're better off having lower throughput, but because your latency is so much lower, it comes out in the wash.
I'd assume it's also being smarter about when it starts using a single AMX tile, when it switches from the ecore AMX tile to the pcore attached AMX tile and when it starts issuing calls to both

I got these results with M2 Max and 32GB RAM config:
[2, 3, 4, 8, 9, 10, 16, 27, 32, 64, 81, 100, 128, 243, 256, 512, 729, 1000, 1024, 2048, 2187, 4096, 6561, 8192, 10000, 16384, 19683]
[8.965644769947158e-05, 0.00116860351879504, 0.013183644041610876, 0.025924050632911394, 0.03319898900198101, 0.11678832116788321, 0.407055900621118, 1.2924683170267253, 2.818752688172043, 8.086745947279935, 9.364599118942731, 12.130401819560273, 16.60012585735375, 19.565032782448217, 22.240507772213046, 35.27848726271813, 52.515125121783846,<PHONE_NUMBER>0872005, 96.07281529313705,<PHONE_NUMBER>248694,<PHONE_NUMBER>624609,<PHONE_NUMBER>0175335,<PHONE_NUMBER>859455,<PHONE_NUMBER>590661,<PHONE_NUMBER>058319,<PHONE_NUMBER>369412,<PHONE_NUMBER>609279]
MacBook Pro 16", M2 Max 32GB

Pretty consistent with @willkill07, but a smidge faster. Hope it helps :)

m3 max, 128GB, got 784 max but maybe because I was doing other stuff?


makeStorage support for in memory database

Is there some reason makeStorage shouldn't support in memory databases?
I changed my makeStorage to use sqlite3.open_memory and my application appears to run fine without any changes. I'd like to use an in memory db when writing tests and be able to use the same interface as in the application code.

It should support memory databases without issues; I use them myself. You don't need open_memory for that, as it's just a shortcut for open(":memory:"), so you should be able to use makeStorage(":memory:") to get the same result.

Thanks it does work. I tried it before but looking now see I forgot the second :.

@johnmuhl, just to note, you can also use the URI version of it if you need to have multiple connections (within the same process) using the same in-memory DB: fm.makeStorage("file:/memdb1?vfs=memdb", sql, {OPEN_URI = true}). memdb1 would be the name of the DB to reference in this case. If this approach is not used, then each ":memory:" DB is unique per-connection.

Thanks for the pointer I’m sure it’ll come in handy.


accounts crate: Implement a deployContract function

Implement a deployContract function in accounts crate similar to the JS implementation.
Code snippet
/**
     * @param data The compiled contract code
     */
    async deployContract(data: Uint8Array): Promise<FinalExecutionOutcome> {
        return this.signAndSendTransaction({
            receiverId: this.accountId,
            actions: [deployContract(data)]
        });
    }

Looking into this

Looking into this

Thanks Kiran for this interest. This has been done already by Kshitij.


Readable COCO and datumaro format for CJK

When a dataset with categories in CJK (e.g., "고양이", "ネコ", "猫") is converted to COCO or datumaro and writed, the categories are saved in Unicode as below.
"categories": [{
    "id": 1,
    "name": "\uace0\uc591\uc774",
    "supercategory": ""
}, {
    "id": 2,
    "name": "\u30cd\u30b3",
    "supercategory": ""
}, {
    "id": 3,
    "name": "\u732b",
    "supercategory": ""
}],

There is no problem when loading this file, but I feel inconvenient when reading the json file directly.
I think this would be done by adding ensuer_ascii = False to json.dump in https://github.com/openvinotoolkit/datumaro/blob/ec4b013308534681d23ae3720dde7cdb844aed21/datumaro/plugins/coco_format/converter.py#L98-L99 and https://github.com/openvinotoolkit/datumaro/blob/ec4b013308534681d23ae3720dde7cdb844aed21/datumaro/plugins/datumaro_format/converter.py#L103-L104
Thank you.

Hi. I see no problems in using Unicode characters in JSON, because it is supported by the standard. Do you think it should be an option or a default behaviour? Also, you're welcome to create a PR and contribute.

Hi. I see no problems in using Unicode characters in JSON, because it is supported by the standard. Do you think it should be an option or a default behaviour? Also, you're welcome to create a PR and contribute.

Yes. It's just because of the inconvenience.
I think it could be a default behaviour.
I'll create a PR.
Thanks.


pkg/transport, rafthttp: CancelableTransport

A transport that is tied to a context. Lets the consumer cancel all requests
and dials with a single Cancel.
Related: #7594

lgtm, thanks!

lgtm


Installation

How do I install this on my HomeSeer3 linux box? I'm assuming I need to download and then compile it, then install? HomeSeer has me spoiled with one click installs, but I'm willing to get my hands dirty.
Thanks

Hey @jamessgit,
You're absolutely right -- at this point, you'll need to download and compile this. Once compiled, you'll need to essentially emulate what HS3 does with the install.txt script:

Find your HS3_Root directory (e.g., mine is /usr/lib/HomeSeer)
MAKE A BACKUP! I've only tested this on my installation.
Copy HSPI_TwilioMessaging.exe and HSPI_TwilioMessaging.exe.config to your HS3_ROOT
Create a TwilioMessaging directory under HS3_ROOT/bin, and copy the following files into the new directory:

Newtonsoft.Json.dll
Newtonsoft.Json.xml
Twilio.dll
Twilio.xml

At this point, the plugin should be installed. You may have to restart HomeSeer to see the plugin take effect.

Please let me know if you run into any issues, or have any other questions. I haven't tested this procedure in quite a while (it's just been working on my HS3 for quite some time), so I'm happy to help you triage this further. If this doesn't work, I may have to create an installer archive, and have you follow these steps to complete an install.

Thank you for the helpful information, I will have to dig in this weekend when I get some free time.

@jamessgit were you able to make any progress with this?

Closing due to inactivity. Feel free to open a new issue if you have problems!

How do you compile this ?
Thank you ,
Matt


Limit terrain gen height and add offset

This is a minor change ported from the C# port, essentially limits the terrain gen height to a specific number even when the terrain gen can go higher, was useful when tripling or close to quadrupling the height of chunks. I figured there is literally no performance impact so why not.
btw when you asked what the performance improvement was I answered but you did not seem to notice it so I will say it here:
It slashes chunk generation time by about 50% from 18.7 or so seconds to ~10 seconds with equivalent configuration settings (the chunk size and the load radius provided by default). Most of the stuttering is gone in-game, the breaking block/(I would assume placing block did not bother implementing yet) stutter is mostly gone though is still slightly there. Memory usage is also decreased ~50%, from 1.5GB to 715MB.

Nice


Add files via upload

@cuddIle Please provide us with:

the school official website URL
the school street address, including city and country
an URL of a page on the official website where the school offers an IT-related long-term (>1 year) course
a proof, which shows that the school recognizes the domain you are submitting as an official email domain for the students.

@cuddIle You might miss my previous comment. Please react.

school website - https://masha.schooly.co.il/
School location -
https://maps.app.goo.gl/cgthL1YJfSUWQJrU7?g_st=ic
School address - Israel, emek hefer, ein haoresh
It related program - apart from 3 years of computer Sienese lessons witch preper the students to their "bageut" exams witch are an important exams in Israel, the school offers a robotics program witch compit in the FLL (First Lego league) and also teaches other technology related subjects such as arduino, 3d printing, etc
the link to the team's facebook page appears on the menu on the official school site like shown in the image but I included the link here anyway
The link to the image -
https://user-images.githubusercontent.com/54112779/212468239-24d0e8e0-4ad1-496f-a130-3b6d19cfb7cf.jpeg)
The link to the Facebook page - https://m.facebook.com/WingsOfDawnFLL
Now I'll be honest I don't know how to prove that the email is recognised by the school,I think that the ending "hityash" belong the the education department in the Israel government, the email address was given to my brother (witch attends the school and the robotics program) while the cornea virus as started and today it's uses mainly for google classroom and submitting homework
If there is some sort of prof that I can the school for I will do so gladly, but for now I hope this is enough

@cuddIle First stage of verification passed, official domain is m.facebook.com as far as I verified. This is just an informational note. Pull request is still in the review. I appreciate your patience while waiting for the final decision. Proof of domain ownership: https://m.facebook.com/yavnek12/?locale2=de_DE

@cuddIle I am sorry, this request remains unanswered for a while. I have to close it without merging. Please reopen and comment if you have an update regarding the aforementioned issue. Thank you for your understanding!

Hey I have answered you in the comment above @philipto

@philipto
school website - https://masha.schooly.co.il/
School location -
https://maps.app.goo.gl/cgthL1YJfSUWQJrU7?g_st=ic
School address - Israel, emek hefer, ein haoresh
It related program - apart from 3 years of computer Sienese lessons witch preper the students to their "bageut" exams witch are an important exams in Israel, the school offers a robotics program witch compit in the FLL (First Lego league) and also teaches other technology related subjects such as arduino, 3d printing, etc
the link to the team's facebook page appears on the menu on the official school site like shown in the image but I included the link here anyway
The link to the image -
https://user-images.githubusercontent.com/54112779/212468239-24d0e8e0-4ad1-496f-a130-3b6d19cfb7cf.jpeg)
The link to the Facebook page - https://m.facebook.com/WingsOfDawnFLL
Now I'll be honest I don't know how to prove that the email is recognised by the school,I think that the ending "hityash" belong the the education department in the Israel government, the email address was given to my brother (witch attends the school and the robotics program) while the cornea virus as started and today it's uses mainly for google classroom and submitting homework
If there is some sort of prof that I can the school for I will do so gladly, but for now I hope this is enough

@philipto anyway I opened a new pull request


feat: add api test cases for add and remove nodes

Signed-off-by: cmyscoups<EMAIL_ADDRESS>

Codecov Report

Merging #495 (bf58273) into release-1.3 (1a152ef) will not change coverage.
The diff coverage is n/a.

@@             Coverage Diff              @@
##           release-1.3     #495   +/-   ##
============================================
  Coverage        12.20%   12.20%
============================================
  Files              110      110
  Lines            16911    16911
============================================
  Hits              2064     2064
  Misses           14600    14600
  Partials           247      247

/lgtm
/approve


0.21.1

Linter check found the following problems:
The following problems have been found:
ERROR: /tmp/abs_b6n15gxqpf/clone/recipe/meta.yaml:24: host_section_needs_exact_pinnings: Packages in host must have exact version pinnings, except python build tools.
ERROR: /tmp/abs_b6n15gxqpf/clone/recipe/meta.yaml:25: host_section_needs_exact_pinnings: Packages in host must have exact version pinnings, except python build tools.
ERROR: /tmp/abs_b6n15gxqpf/clone/recipe/meta.yaml:45: has_imports_and_run_test_py: Imports and python test file cannot coexist.
ERROR: /tmp/abs_b6n15gxqpf/clone/recipe/meta.yaml:46: has_imports_and_run_test_py: Imports and python test file cannot coexist.
ERROR: /tmp/abs_b6n15gxqpf/clone/recipe/meta.yaml:52: incorrect_license: The recipe's about/license key is not an SPDX compliant license or license exception, closest match: LGPLLR
ERROR: /tmp/abs_b6n15gxqpf/clone/recipe/meta.yaml:53: incorrect_license: The recipe's about/license key is not an SPDX compliant license or license exception, closest match: LGPLLR
ERROR: /tmp/abs_b6n15gxqpf/clone/recipe/meta.yaml:63: http_url: http://scitools.org.uk/cartopy is not https
ERROR: /tmp/abs_b6n15gxqpf/clone/recipe/meta.yaml:64: http_url: http://scitools.org.uk/cartopy is not https
Errors were found

Linter check found the following problems:
The following problems have been found:
ERROR: /tmp/abs_982aam49ia/clone/recipe/meta.yaml:24: host_section_needs_exact_pinnings: Packages in host must have exact version pinnings, except python build tools.
ERROR: /tmp/abs_982aam49ia/clone/recipe/meta.yaml:25: host_section_needs_exact_pinnings: Packages in host must have exact version pinnings, except python build tools.
ERROR: /tmp/abs_982aam49ia/clone/recipe/meta.yaml:47: has_imports_and_run_test_py: Imports and python test file cannot coexist.
ERROR: /tmp/abs_982aam49ia/clone/recipe/meta.yaml:48: has_imports_and_run_test_py: Imports and python test file cannot coexist.
ERROR: /tmp/abs_982aam49ia/clone/recipe/meta.yaml:54: incorrect_license: The recipe's about/license key is not an SPDX compliant license or license exception, closest match: LGPLLR
ERROR: /tmp/abs_982aam49ia/clone/recipe/meta.yaml:55: incorrect_license: The recipe's about/license key is not an SPDX compliant license or license exception, closest match: LGPLLR
ERROR: /tmp/abs_982aam49ia/clone/recipe/meta.yaml:65: http_url: http://scitools.org.uk/cartopy is not https
ERROR: /tmp/abs_982aam49ia/clone/recipe/meta.yaml:66: http_url: http://scitools.org.uk/cartopy is not https
Errors were found

Linter check found the following problems:
The following problems have been found:
ERROR: /tmp/abs_613pjg7xgt/clone/recipe/meta.yaml:25: host_section_needs_exact_pinnings: Packages in host must have exact version pinnings, except python build tools.
ERROR: /tmp/abs_613pjg7xgt/clone/recipe/meta.yaml:26: host_section_needs_exact_pinnings: Packages in host must have exact version pinnings, except python build tools.
ERROR: /tmp/abs_613pjg7xgt/clone/recipe/meta.yaml:48: has_imports_and_run_test_py: Imports and python test file cannot coexist.
ERROR: /tmp/abs_613pjg7xgt/clone/recipe/meta.yaml:49: has_imports_and_run_test_py: Imports and python test file cannot coexist.
ERROR: /tmp/abs_613pjg7xgt/clone/recipe/meta.yaml:55: incorrect_license: The recipe's about/license key is not an SPDX compliant license or license exception, closest match: LGPLLR
ERROR: /tmp/abs_613pjg7xgt/clone/recipe/meta.yaml:56: incorrect_license: The recipe's about/license key is not an SPDX compliant license or license exception, closest match: LGPLLR
ERROR: /tmp/abs_613pjg7xgt/clone/recipe/meta.yaml:66: http_url: http://scitools.org.uk/cartopy is not https
ERROR: /tmp/abs_613pjg7xgt/clone/recipe/meta.yaml:67: http_url: http://scitools.org.uk/cartopy is not https
Errors were found

Linter check found the following problems:
The following problems have been found:
ERROR: /tmp/abs_172bei51gl/clone/recipe/meta.yaml:25: host_section_needs_exact_pinnings: Packages in host must have exact version pinnings, except python build tools.
ERROR: /tmp/abs_172bei51gl/clone/recipe/meta.yaml:26: host_section_needs_exact_pinnings: Packages in host must have exact version pinnings, except python build tools.
ERROR: /tmp/abs_172bei51gl/clone/recipe/meta.yaml:52: incorrect_license: The recipe's about/license key is not an SPDX compliant license or license exception, closest match: LPL-1.0
ERROR: /tmp/abs_172bei51gl/clone/recipe/meta.yaml:53: incorrect_license: The recipe's about/license key is not an SPDX compliant license or license exception, closest match: LPL-1.0
Errors were found

Linter check found the following problems:
The following problems have been found:
ERROR: /tmp/abs_33jxd_s3wz/clone/recipe/meta.yaml:25: host_section_needs_exact_pinnings: Packages in host must have exact version pinnings, except python build tools.
ERROR: /tmp/abs_33jxd_s3wz/clone/recipe/meta.yaml:26: host_section_needs_exact_pinnings: Packages in host must have exact version pinnings, except python build tools.
ERROR: /tmp/abs_33jxd_s3wz/clone/recipe/meta.yaml:52: incorrect_license: The recipe's about/license key is not an SPDX compliant license or license exception, closest match: LPL-1.0
ERROR: /tmp/abs_33jxd_s3wz/clone/recipe/meta.yaml:53: incorrect_license: The recipe's about/license key is not an SPDX compliant license or license exception, closest match: LPL-1.0
Errors were found

Linter check found the following problems:
The following problems have been found:
ERROR: /tmp/abs_33_x8c20pa/clone/recipe/meta.yaml:59: incorrect_license: The recipe's about/license key is not an SPDX compliant license or license exception, closest match: LPPL-1.0
ERROR: /tmp/abs_33_x8c20pa/clone/recipe/meta.yaml:60: incorrect_license: The recipe's about/license key is not an SPDX compliant license or license exception, closest match: LPPL-1.0
Errors were found


Feature Request: Dark Theme Toggle

Dark theme toggle like the one on this page:
https://ui.mint-lang.com/

Rather than a JavaScript toggle button, I'd rather we respect prefers-color-scheme. This could be done uniformly on all nixos.org websites (we're using the CSS from nixos.org).
cc https://github.com/NixOS/nixos-homepage people: @garbas @samueldr @fricklerhandwerk

Also ping @dasJ since you did this for status and hydra.

I very much prefer taking the browser's preference into account as this allows users to globally switch all websites.
If I were to write corresponding CSS, would you merge it? I'm planning on plain CSS, overriding whatever colors the framework uses.

If I were to write corresponding CSS, would you merge it?

Of course!

I will see what I can

Since you seem to be quicker than me, my inspiration for hydra and status was the dark GitLab theme, just if you want to try and keep it consistent with the other pages

Hej,
I'm glad you'll be willing to take this on to you!
You would like to know that the marketing team is planning to redo the CSS/styling too, starting from nixos.org and trickling down to search eventually.
We are seeking to use tailwind and be updating components one by one.
since both projects are quite related maybe you would be happy to catch up with the proceedings there.
The changes to nixos.org are managed by @lucperkins.

I really like the hydra theme. any news on for this issue?

Oil
On Sat, Dec 30, 2023, 12:44 AM Felix Bühler @.***>
wrote:

I really like the hydra theme. any news on for this issue?
—
Reply to this email directly, view it on GitHub
https://github.com/NixOS/nixos-search/issues/554#issuecomment-1872392834,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/A3DL5QUFG3M4JTVGEW5GZP3YL5IVTAVCNFSM6AAAAAARRMAZL2VHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMYTQNZSGM4TEOBTGQ
.
You are receiving this because you commented.Message ID:
@.***>

For anyone wanting this, I recommend using the browser extension https://darkreader.org/ until it is done.


Fix WrongScopeError

Fixes #2417
Related: #2215, https://github.com/rails/rails/pull/37770
See https://github.com/rspec/rspec-rails/issues/2417#issuecomment-749598704 for an explanation of at least one of the possible causes

I fail to reproduce it in tests so far. Will take a look later this week unless you guys want to take over @benoittgt @JonRowe
For this example app the following fixed the failure (lib/rspec/rails/fixture_support.rb:
       module RSpec
         module Fixtures
           extend ActiveSupport::Concern

+          if ::Rails.version.to_f >= 6.1
+            # @private return the example name for TestFixtures
+            def name
+              @example
+            end
+          end
+
           class_methods do
             def fixtures(*args)
               orig_methods = private_instance_methods
@@ -50,13 +57,6 @@ module RSpec
               end
             end
           end
-
-          if ::Rails.version.to_f >= 6.1
-            # @private return the example name for TestFixtures
-            def name
-              @example
-            end
-          end
         end
       end
     end

This is a standalone reproduction that can be run in a rails app generated with rails new --minimal
require File.expand_path('../config/environment', __dir__)
ENV['RAILS_ENV'] ||= 'test'
require 'rspec/rails'

RSpec.configure do |config|
  config.use_active_record = false
end

class MyClass; end

RSpec.describe MyClass do
  it 'foo' do
    MyClass.new
  end
end

I will try to look at it if I have time around Christmas.

It seems that when people are using use_active_record = false they can have a rails app with still lot's of active_record loaded.
To reproduce the same behavior as in #2417. I had to de-comment require "active_record/railtie" in application.rb, then re-ad a database.yml then re-add sqlite in the Gemfile.
I think the patch should be validated with another specs, closer to file_fixtures. I will keep searching for another proposal for your patch @pirj, if you have any idea. Feel free. :)

Awesome find, @benoittgt !
I was stuck on adding a failing spec for that fix. Sounds like we could use yet another example_app_generator app, with AR (accidentally left) but use_active_record = false in our tests.
Did the fix above work for this reproduction snippet?

Hello @pirj

Did the fix above work for this reproduction snippet?

Yes, I can confirm it is working.
I am wondering if adding a new rails app isn't too much. 🤔  Trying to write a non regressive test similar to https://github.com/rails/rails/commit/d4367eb72601f6e5bba3206443e9d141e9753af8#diff-76f5025b3bc6be04d08bb7df8f22ee2f0c69afe58aa4ba4933e6d6b9c328dc21R35-R38 could be an idea? What do you think?

I'd like us to be able to run snippets like @benoittgt's above within our build, I think they are easier to grok than the whole app builds for one spec; we shouldn't get ride of the app builds, they are important to demonstrate working generators etc but for one off issues like this it's easier if we can do ruby some_file.rb to test something

I love the idea. I wrote something similar recently :
The spec: https://github.com/WeTransfer/format_parser/blob/master/spec/active_storage/rails_app_spec.rb
The rails app: https://github.com/WeTransfer/format_parser/blob/master/spec/integration/active_storage/rails_app.rb
Do you think about something similar? If yes I can import similar code to rspec-rails code base.

Curious about your point of view on my last comment.
For the initial PR from @pirj I think we should try to at least add a spec on fixture_support ?

Curious about your point of view on my last comment.
For the initial PR from @pirj I think we should try to at least add a spec on fixture_support ?

Awesome idea, @benoittgt ! If we reuse already installed gems and not re-download them, that should also work pretty quickly.
Not to say that otherwise our example_app_generator is getting pretty crowded.

Awesome idea, @benoittgt ! If we reuse already installed gems and not re-download them, that should also work pretty quickly.
Not to say that otherwise our example_app_generator is getting pretty crowded.

@JonRowe @benoittgt Implemented the concept of testing snippets, added them to the build.
To test locally:
(pass)
bundle exec rake snippets

(fails, without the fix for WrongScopeError)
git checkout HEAD~1
bundle exec rake snippets

@JonRowe @benoittgt Implemented the concept of testing snippets, added them to the build.
To test locally:
(pass)
bundle exec rake snippets

(fails, without the fix for WrongScopeError)
git checkout HEAD~1
bundle exec rake snippets

Snippets seem to be reusing spec/spec_helper.rb from our repo, and we don't want that.
A quick attempt to isolate it
   Dir.chdir('snippets') do
     Dir['*.rb'].each do |snippet|
       sh "echo Running #{snippet}"
       sh "ruby #{snippet}"
     end
    end

failed with:
[!] There was an error parsing `Gemfile`:
[!] There was an error parsing `Gemfile-rspec-dependencies`: No such file or directory @ rb_sysopen - /home/pirj/source/rspec-rails/snippets/maintenance-branch. Bundler cannot continue.

 #  from Gemfile-rspec-dependencies:1
 #  -------------------------------------------
 >  branch = File.read(File.expand_path("../maintenance-branch", __FILE__)).chomp

Adding an .rspec that doesn't --require spec_helper to snippets/ doesn't help, neither does adding a snippets/spec_helper.rb.
It also seems that sh ruby <snippet> from Rake suffers from the cached BUNDLE_GEMFILE issue, we have to reset it, otherwise, an attempt to load Gemfile is made. unset BUNDLE_GEMFILE doesn't help.

Snippets seem to be reusing spec/spec_helper.rb from our repo, and we don't want that.
A quick attempt to isolate it
   Dir.chdir('snippets') do
     Dir['*.rb'].each do |snippet|
       sh "echo Running #{snippet}"
       sh "ruby #{snippet}"
     end
    end

failed with:
[!] There was an error parsing `Gemfile`:
[!] There was an error parsing `Gemfile-rspec-dependencies`: No such file or directory @ rb_sysopen - /home/pirj/source/rspec-rails/snippets/maintenance-branch. Bundler cannot continue.

 #  from Gemfile-rspec-dependencies:1
 #  -------------------------------------------
 >  branch = File.read(File.expand_path("../maintenance-branch", __FILE__)).chomp

Adding an .rspec that doesn't --require spec_helper to snippets/ doesn't help, neither does adding a snippets/spec_helper.rb.
It also seems that sh ruby <snippet> from Rake suffers from the cached BUNDLE_GEMFILE issue, we have to reset it, otherwise, an attempt to load Gemfile is made. unset BUNDLE_GEMFILE doesn't help.

Great proposal. I love the idea to easily test behavior separately.
I had the similar issue with the spec_helper but in my case it was related to ammeter and loading issue. I will try to play tonight with it if you didn't find a solution yet.

Great proposal. I love the idea to easily test behavior separately.
I had the similar issue with the spec_helper but in my case it was related to ammeter and loading issue. I will try to play tonight with it if you didn't find a solution yet.

I push a small change. Locally it pass. I have some duplication on SQLite because we do not eval Gemfile. This could be moved somewhere I think, or dedicated to a file we could eval in both scenarios.
@pirj fill free to remove/squash it if you have better ideas. 😊

I push a small change. Locally it pass. I have some duplication on SQLite because we do not eval Gemfile. This could be moved somewhere I think, or dedicated to a file we could eval in both scenarios.
@pirj fill free to remove/squash it if you have better ideas. 😊

@benoittgt Thanks a lot for fixing this, it seems to work!
There was a glitch,
/Users/pirj/.rvm/rubies/ruby-2.7.1/lib/ruby/2.7.0/bundler/runtime.rb:312:in `check_for_activated_spec!': You have already activated loofah 2.8.0, but your Gemfile requires loofah 2.9.0. Prepending `bundle exec` to your command may solve this. (Gem::LoadError)

but it resolved after:
$ bundle update --conservative loofah
Using loofah 2.9.0 (was 2.8.0)

It seems that if any of the dependencies with flexible version constraints update, we have to keep the repo's Gemfile.lock up to date to keep them in sync to avoid version mismatches.
I'll play around with it, maybe something like
require 'bundle/setup'

helps.

@benoittgt Thanks a lot for fixing this, it seems to work!
There was a glitch,
/Users/pirj/.rvm/rubies/ruby-2.7.1/lib/ruby/2.7.0/bundler/runtime.rb:312:in `check_for_activated_spec!': You have already activated loofah 2.8.0, but your Gemfile requires loofah 2.9.0. Prepending `bundle exec` to your command may solve this. (Gem::LoadError)

but it resolved after:
$ bundle update --conservative loofah
Using loofah 2.9.0 (was 2.8.0)

It seems that if any of the dependencies with flexible version constraints update, we have to keep the repo's Gemfile.lock up to date to keep them in sync to avoid version mismatches.
I'll play around with it, maybe something like
require 'bundle/setup'

helps.

It seems it still loads spec/spec_helper.rb, if you remove gem 'ammeter', it breaks.
Also, the Gemfile, still.

It seems it still loads spec/spec_helper.rb, if you remove gem 'ammeter', it breaks.
Also, the Gemfile, still.

So far:
cd snippets
ruby use_active_record_false.rb

works.
Gemfile/spec_helper.rb are not loaded by that snippet.
But the rake task doesn't work.
By running snippets from the root directory, I couldn't find a way not to load .rspec file that tells RSpec runner to also load spec/spec_helper.rb that has require 'ammeter/init' in it, making snippet runs less clean and dependent on spec_helper.
The only way to skip loading .rspec is to pass --custom_options_file from the command line, but we run snippets as ruby ..., not rspec ..., so this seems to be a dead end.
One way would be to also accept custom_options_file from ENV, not just the command line, but I'm not sure if this is worth it just for this narrow use case.
There's also no way to reset RSpec.configuration.requires, as its setter uses @requires += paths. In any case, even instance_variable_set(:@requires) from the snippet won't work, since it sets requires = 'spec_helper' to the config in at_exit.

So far:
cd snippets
ruby use_active_record_false.rb

works.
Gemfile/spec_helper.rb are not loaded by that snippet.
But the rake task doesn't work.
By running snippets from the root directory, I couldn't find a way not to load .rspec file that tells RSpec runner to also load spec/spec_helper.rb that has require 'ammeter/init' in it, making snippet runs less clean and dependent on spec_helper.
The only way to skip loading .rspec is to pass --custom_options_file from the command line, but we run snippets as ruby ..., not rspec ..., so this seems to be a dead end.
One way would be to also accept custom_options_file from ENV, not just the command line, but I'm not sure if this is worth it just for this narrow use case.
There's also no way to reset RSpec.configuration.requires, as its setter uses @requires += paths. In any case, even instance_variable_set(:@requires) from the snippet won't work, since it sets requires = 'spec_helper' to the config in at_exit.

Running rake snippets does something awful, after that:
$ bundle check

The following gems are missing
 * racc (1.5.2)
 * nio4r (2.5.4)
 * websocket-driver (0.7.3)
 * sqlite3 (1.4.2)
Install missing gems with `bundle install`

and only bundle install helps.
Tried with Bundler 2.1.4 (Ruby 2.7) and 2.2.3 (Ruby 3.0) with slightly different results. The former only claims that racc went missing.
I intend to skip adding snippets as a rake task, and leave it for the brave.

Running rake snippets does something awful, after that:
$ bundle check

The following gems are missing
 * racc (1.5.2)
 * nio4r (2.5.4)
 * websocket-driver (0.7.3)
 * sqlite3 (1.4.2)
Install missing gems with `bundle install`

and only bundle install helps.
Tried with Bundler 2.1.4 (Ruby 2.7) and 2.2.3 (Ruby 3.0) with slightly different results. The former only claims that racc went missing.
I intend to skip adding snippets as a rake task, and leave it for the brave.

I tried a little bit to fix that, but I think we wil have tol stay in shell script. I am surprised how much rake context is different from a basic terminal... :/

I tried a little bit to fix that, but I think we wil have tol stay in shell script. I am surprised how much rake context is different from a basic terminal... :/

@JonRowe @benoittgt This is ready.
To test that snippets work as a concept:
$ source script/custom_build_functions.sh
$ run_snippets
Running snippets
Running ./use_active_record_false.rb
.

Finished in 0.02198 seconds (files took 0.76826 seconds to load)
1 example, 0 failures

$ git checkout HEAD~1
$ run_snippets
Running snippets
Running ./use_active_record_false.rb
F

Failures:

  1) Foo does not not break
     Failure/Error:
       raise WrongScopeError,
             "`#{name}` is not available from within an example (e.g. an " \
             "`it` block) or from constructs that run in the scope of an " \
             "example (e.g. `before`, `let`, etc). It is only available " \
             "on an example group (e.g. a `describe` or `context` block)."

       `name` is not available from within an example (e.g. an `it` block) or from constructs that run in the scope of an example (e.g. `before`, `let`, etc). It is only available on an example group (e.g. a `describe` or `context` block).

When running snippets, you can add any junk to .rspec, Gemfile, and spec/spec_helper.rb to test that they are not loaded.
I'm happy to shape snippets up further, e.g. turn example_app_generator/no_active_record/spec/verify_no_fixture_setup_spec.rb into a snippet if you have no objections on the idea (in a separate PR preferably).

@JonRowe @benoittgt This is ready.
To test that snippets work as a concept:
$ source script/custom_build_functions.sh
$ run_snippets
Running snippets
Running ./use_active_record_false.rb
.

Finished in 0.02198 seconds (files took 0.76826 seconds to load)
1 example, 0 failures

$ git checkout HEAD~1
$ run_snippets
Running snippets
Running ./use_active_record_false.rb
F

Failures:

  1) Foo does not not break
     Failure/Error:
       raise WrongScopeError,
             "`#{name}` is not available from within an example (e.g. an " \
             "`it` block) or from constructs that run in the scope of an " \
             "example (e.g. `before`, `let`, etc). It is only available " \
             "on an example group (e.g. a `describe` or `context` block)."

       `name` is not available from within an example (e.g. an `it` block) or from constructs that run in the scope of an example (e.g. `before`, `let`, etc). It is only available on an example group (e.g. a `describe` or `context` block).

When running snippets, you can add any junk to .rspec, Gemfile, and spec/spec_helper.rb to test that they are not loaded.
I'm happy to shape snippets up further, e.g. turn example_app_generator/no_active_record/spec/verify_no_fixture_setup_spec.rb into a snippet if you have no objections on the idea (in a separate PR preferably).

Moved to drafts, as I fail to require bundler from a script.

Moved to drafts, as I fail to require bundler from a script.

Green (at least before squashing).

Green (at least before squashing).


Overlapping of images

Hello!
First off, I want to thank you for this GREAT plugin. Definitely a very awesome plugin and saved me a lot of time and effort, etc (Plus it seems much easier to setup than Masonry).
Anyways, I kinda believe I know the "issue" that I'm bringing up and it is something that has to do with one of your the other issues posted here.
Basically, I have a page where users can add content (images, name for image, etc) sorta like Pinterest onto a site, where it will then be organized based on your script.
(Quick backstory: I developed it using Rails 3.2, picture upload is handled via Carrierwave gem)
As the picture could either be uploaded as a portrait or a landscape, I utilized a nifty command from Carrierwave/Minimagick to resize the picture to fit a certain height and width.
As placing these pictures with the order using wookmark is more concerned with the width, I fixed the width and can't fix the height (as the portrait will look longer than landscape, and if I were to fix a height landscape pictures would cause a gap below it).
Now when I view the page with a mix of portrait and landscape pictures, the pictures on the '2nd row' actually overlaps the top row. When I resize the browser though, the pictures are sorted nicely.
I understand this issue is probably due to there being a lack of declared height on the pictures, and hence the plugin can't 'calculate' it yet upon load (even if the pictures are cached). I would like to however ask if you know any good workaround to maybe 'reactivate' the plugin or something when all pictures are loaded? Right now I'm not sure how to work around this issue and it's of course not user-friendly to ask the user to resize his/her browser everytime he load a new page...
Thanks for any potential help!

I have to add that the issue is kinda random...
I would love to show you a live demo but unfortunately I have yet to deploy it live yet. Perhaps in the next few days I will do so, and check for the issue again and perhaps show it to you.
Very sorry for any trouble caused! But once again, thank you for this great plugin!

Hi jefflam,
I responded in the other discussion thread. Is there no way you can declare the image height in the back-end? The alternatives are all a little bit hacky.
Cheers,
Christoph


Issue11: The value for the field 'Closed Date' cannot be changed

@MrHinsh Had some 'issues' getting my branches up to date so just re-created in the end. Have updated the version number to 7.1.0 as requested in the original PR.

@darryljamesheath as I am working through the backlog of pull requests I see that there is again the requirement to update the branch. I want to get your fix in so you are next... Can you update?


not operated for a long time, the wezterm will get stuck and unresponsive

If not operated for a long time, the wezterm will get stuck and unresponsive。I don't know if it's related to your configuration

Maybe I'm wrong, but I don't think it's related to my config.
I regularly leave Wezterm running on my laptop while I go for lunch/break/meeting etc. and I don't think it's ever been unresponsive when I return to work.
Granted, I usually have an app running in the foreground like Neovim or some other long-running task like re-encoding a video with ffmpeg when I do leave Wezterm running idle, so I'm not sure if that's why I've never encountered this problem.
It might be worthwhile checking the issues tab in the wezterm repo to see if this is a known issue.

okay, thank you


Convert search card into a dragula directive

So that a course may be generated in the search card and can be dragged into the flowchart

Demo at https://cp-groupname.herokuapp.com/

Relevant commit(s): https://github.com/cpe308-309/Group-name/commit/87ef86e63706ade3749e1968e18e553d91a4fbb9

Demo our app at https://cp-groupname.herokuapp.com/


sub-domain session

hi
i'm trying to keep the session when user is entering sub-domain by using
SESSION_COOKIE_DOMAIN = '.localhost:8000'
unfortunately, when i log in using social auth i get the following error message:
AuthStateMissing: Session value state missing.
Thanks!

Is it possible you are using herokuapp.com? if so *.herokuapp.com is blocked by heroku.


Modified the description about emptyDir sizeLimit

The description about emptyDir sizeLimit in https://kubernetes.io/docs/concepts/storage/volumes/#emptydir page doesn't match the actual behavior and this PR modified the description in the document to match the actual behavior.
Fixes: https://github.com/kubernetes/website/issues/40723
/language en
/sig storage

/hold

We need to clarify the spec desired before reviewing this.

There are two things I think should be noted here about this matter.
The first is that the actual action here doesn't match the documentation, and I'm going to fix this error in this PR.
The second point is about whether the actual action here is reasonable, whether it is reasonable to set memory backed volumes to node allocatable memory, and whether it will cause some trouble, which I am going to discuss elsewhere.

/hold cancel

I agree with discussing about second point in the other issue.
Please let us know if you create the other issue.

@msau42 @saad-ali Sorry for the sudden contact, could you check this PR at your at your convenience please and thank you so much.

@tengqm  Sorry for the sudden contact and sorry if I contacted the wrong person, could you check this PR at your convenience time please and thank you so much.

/lgtm
from docs perspective, need tech review.

@SergeyKanzhelev Sorry for the sudden contact and sorry if I contacted the wrong person, could you check this PR at your convenience time please and thank you so much.

/assign @SergeyKanzhelev
Could you review this PR from the tech(sig-node) perspective?
The details are described in the issue(#40723 ) corresponding to this PR.

/sig storage

@kbhawkey
Thank you for triaging this.
If you know of any other approvers that would be appropriate for the topic of this PR, could you please assign them to this PR?

@kubernetes/sig-storage-pr-reviews : PTAL and review from a technical POV.

/assign @jingxu97

From a technical point of view, it is discussed below. I would be happy if you could join there.
https://github.com/kubernetes/kubernetes/issues/119611

/lgtm
/approve

/approve


Conflict with Keyboard Maestro window management when scoot is running

When I run Scoot it conflicts with my Keyboard Maestro macro's that handle window management for me. For example, I have a shortcut to move and size a window to 50% of the screen. It toggles between the left side and the right side. When scoot is running, this is suddenly broken.
This is the crucial part in Keyboard Maestro macro for resizing and moving the front most window.

This is the behavior with and without scoot running.
https://user-images.githubusercontent.com/6823/204748585-a7a1a79d-deb0-4d6f-b714-db94eb334c5f.mov

If you need some more info on this, please let me know. I really like Scoot and I want to use it. But my Keyboard Maestro window management macros are also very important in my day to day life.

I had a short conversation with the Keyboard Maestro people, and the suggested the following:

The actions simply use Accessibility to set the size and position of the window. The actions repeat the process twice as the system normally bounces any attempt to adjust the size or position off the screen. It is possible Scoot is exacerbating this issue.

If you quit Scoot, turn Voice Over on, and run your resize macro, do you see the same behaviour? (My guess is you will.)
The high-level gist is that Scoot turns on AXEnhancedUserInterface for all running apps (exactly like Voice Over does). A number of apps use AXEnhancedUserInterface as a signal for whether or not to enable accessibility related features (which screenreaders, and screenreader-like apps like Scoot, need to function).
See this commit for more context: 2e6bd2f4b6164052c4366da0889cea943f44b5ff
Now, as for why turning on AXEnhancedUserInterface breaks window resizing, your guess is as good as mine, but it is a  known problem amongst apps that offer window resizing functionality. The window resizing app needs to check if AXEnhancedUserInterface is enabled before resizing, and, if it is, then: turn it off, move+resize (usually twice, or it won't work, but that's an orthogonal issue), and then turn AXEnhancedUserInterface back on. See https://github.com/rxhanson/Rectangle/pull/285 for an example of how Rectangle solves this.
I'm not sure if Keyboard Maestro can modify accessibility properties (like AXEnhancedUserInterface , aka "Enhanced User Interface") out-of-the-box, but I'd raise this with their team.

Your hypothesis about running into the same issues when Voice Over is running were correct. Keyboard Maestro doesn't seem very willing to solve this.
For my situation, I've now setup Keyboard Maestro to use Rectangle in my window management macros (I use a couple of conditions before a size/move happens, so I cannot skip Keyboard Maestro completely) with the url commands.
If you don't have a more solid solution, you can close this issue @mjrusso.


it is unnecessary to make the NavigationDuplicated as an error

What problem does this feature solve?
for this. we need to add the following code anywhere.
if (n !== this.$route.name) { this.$router.push({ name: n }) }
What does the proposed API look like?
delete the NavigationDuplicatedError

Hi, thanks for your interest but Github issues are for bug reports and feature requests only. You can ask questions on the forum, the Discord server or StackOverflow.


[CHORE]  Encountered some problems implementing verificationQuery

Description
I have implemented verificationQuery, but when I run the benchmark, I find some differences between the data I read from the database and the data that benmark verifies. So I added some code snippets for debug.I'm now commenting out those lines of code because it's not required for formal code
https://github.com/Subsegment/iot-benchmark/blob/2b705cbcaef03866490f80b6bf678526050522cf/cnosdb/src/main/java/cn/edu/tsinghua/iot/benchmark/cnosdb/CnosDB.java#L48-L49
https://github.com/Subsegment/iot-benchmark/blob/2b705cbcaef03866490f80b6bf678526050522cf/cnosdb/src/main/java/cn/edu/tsinghua/iot/benchmark/cnosdb/CnosDB.java#L120-L142
I looked up the timestamp of the data that didn't pass benchmark and found these two in the written file

g_0,device=d_4 s_0=true,s_1=6i,s_2=781i,s_3=0i,s_4=0i,s_5=781.54,s_6=6.63,s_7=0.0,s_8="ZM",s_9="Kl"<PHONE_NUMBER>592000000
g_0,device=d_4 s_0=true,s_1=6i,s_2=781i,s_3=0i,s_4=0i,s_5=781.54,s_6=6.65,s_7=0.0,s_8="HE",s_9="cy"<PHONE_NUMBER>592000000

According to the data written in sequence, the later data should prevail, so the data queried from the CnosDB database is the second one, but benmark used the first one when verifying the data. Is there a problem in this case?
Control Variable Method
I tried setting DB_SWITCH to InfluxDB at the same time and running it using the test code in influxdb directory, and found that the lineprotocol data is written to the file in the same order. This means that using influxdb for verificationQuery can present the same problem, but I did not test it
Config File
generate
DB_SWITCH=CnosDB

HOST=<IP_ADDRESS>

PORT=8902

DB_NAME=test

BENCHMARK_WORK_MODE=generateDataMode
FILE_PATH=/tmp/data/test
DEVICE_NUMBER=5
SENSOR_NUMBER=10
CLIENT_NUMBER=5
BATCH_SIZE_PER_WRITE=10
OPERATION_PROPORTION=1:0:0:0:0:0:0:0:0:0:0
BIG_BATCH_SIZE=100

write
DB_SWITCH=CnosDB

HOST=<IP_ADDRESS>

PORT=8902

DB_NAME=test
BENCHMARK_WORK_MODE=verificationWriteMode

FILE_PATH=/tmp/data/test
DEVICE_NUMBER=5
SENSOR_NUMBER=10
CLIENT_NUMBER=5
BATCH_SIZE_PER_WRITE=10
OPERATION_PROPORTION=1:0:0:0:0:0:0:0:0:0:0
BIG_BATCH_SIZE=100
IS_COPY_MODE=true

query
DB_SWITCH=CnosDB

HOST=<IP_ADDRESS>

PORT=8902

DB_NAME=test

BENCHMARK_WORK_MODE=verificationQueryMode

FILE_PATH=/tmp/data/test
DEVICE_NUMBER=5
SENSOR_NUMBER=10
CLIENT_NUMBER=5
BATCH_SIZE_PER_WRITE=10
OPERATION_PROPORTION=1:0:0:0:0:0:0:0:0:0:0
BIG_BATCH_SIZE=100
IS_COPY_MODE=true

Debug
The data of CnosDB return

The data of verificationQuery record

Additional
I would like to know if there is something wrong with my code implementation or my configuration file is wrong. If my question is not very clear, I hope you can ask and add

Get it ~ I will take a look

Oh, I get your point. From my perspective, it because the overlap of timestamp. More specific benchmark generate two same timestamp which may cause overlap. We always use verification mode in sequence mode(IS_OUT_OF_ORDER=false), but in default config IS_OUT_OF_ORDER is true which may cause this problem.
So I think it's a good idea to add config check when load configuration to forbidden unsequence mode. What's your opinion? Maybe you have a better solution


Fix memory leak

Decrease ref manually to PyObject to avoid memory leak.

thanks @rickycao-qy, Just want to know if this commit will fix  https://github.com/imgcook/boa/issues/10

thanks @rickycao-qy, Just want to know if this commit will fix #10

Yes，After the unit tests are fixed

Following PR #15 , This one will be closd.


Installation documentation is missing dependency.

http://flarum.org/docs/installation/
Under "System Requirements" it says:

PHP 5.6 up to 7.1 (not 7.2) with the following extensions: mbstring, pdo_mysql, openssl, json, gd, dom, fileinfo

But it also needs the curl extension, at last for php7.0.

@Metsuryu is curl not a requirement of composer?

@luceos It was required to install flarum with composer install, I think. I had no idea, since I never used composer, so I had to search for a solution for a while. I think it's worth writing it in the docs somewhere at least.

Didn't this come up recently? It's a Composer requirement, not one of Flarum, strictly speaking. (That might change when we integrate more closely with Composer.)

Ah, I knew it. Closing this as a duplicate of #69. Akismet is the culprit.

For the record: We now unbundled the Akismet extension.


Add more disks for 1ES Image Build Process

Will require more disk space to build several images. Request more disk.

We are able to build all preset images within a 2TB disk - we won't need additional space. I believe this is because storage isn't retained on 1ES machine - you can view our latest preset release all images were built on same 1ES pool
https://github.com/Azure/kaito/actions/runs/9813999819/job/27101648104
Step "Call reusable workflow" prints out disk usage.


ATProto firehose events from the past have current timestamp

When you connect to a PDS's firehose with a cursor in the past, it sends events from the past - but the events have a timestamp, and those are normally the timestamps of when the event was originally created with that seq.
See e.g. here from Amanita:

I connected with a cursor from 6 hours ago, it shows events creating posts with a date from 6 hours ago, and the commit events have ~ more or less the same timestamp, modulo the time difference of the createRecord request (since the post createdAt is set on the client before the request and the commit time is set on the PDS once it receives it).
And here's Bridgy (just a moment later):

I connected with an older cursor, and it shows me commit events of posts from 3rd May, 2+ days ago (commits were created a bit later than the posts since the sync is not instant, but should be just maybe up to 1 hour later). But the commit timestamps are current time, 6th May.
I've dug a bit into the code and I think this is the line in question? https://github.com/snarfed/arroba/blob/main/arroba/xrpc_sync.py#L123
Also I've looked at where this data used there is coming from, and it looks like you might not have the commit timestamp saved at all (the Block structure)? I think it would be good to start saving it whenever a commit is created, basically same place where the seq is kept and written down same time when seq is incremented.
I'm honestly not sure how much this matters in terms of protocol - it might not matter at all. I don't know what the Relay takes into account. But it's not impossible that it's also looking at commit timestamps and might get confused. In any case, any third party devs working with the Bridgy PDS somehow would also be :)

Fixed! Haven't deployed yet, I will soon ish.


Cut Prometheus 0.16.0.

Pending docs issues that would be nice before release:
https://github.com/prometheus/docs/issues/232
https://github.com/prometheus/docs/issues/221

@brian-brazil @fabxc @beorn7 @jimmidyson

Ah, https://github.com/prometheus/docs/issues/221 is already done, great. So I think we're ready for cutting the release.

:+1: :ship:
On Fri, Oct 9, 2015, 7:28 PM Julius Volz<EMAIL_ADDRESS>wrote:

Ah, prometheus/docs#221 https://github.com/prometheus/docs/issues/221
is already done, great. So I think we're ready for cutting the release.
—
Reply to this email directly or view it on GitHub
https://github.com/prometheus/prometheus/pull/1156#issuecomment-146939377
.

Yay! Nice work.
On 20:43, Fri, 9 Oct 2015 Fabian Reinartz<EMAIL_ADDRESS>wrote:

:+1: :ship:
On Fri, Oct 9, 2015, 7:28 PM Julius Volz<EMAIL_ADDRESS>wrote:

Ah, prometheus/docs#221 https://github.com/prometheus/docs/issues/221
is already done, great. So I think we're ready for cutting the release.
—
Reply to this email directly or view it on GitHub
<
https://github.com/prometheus/prometheus/pull/1156#issuecomment-146939377>
.

—
Reply to this email directly or view it on GitHub
https://github.com/prometheus/prometheus/pull/1156#issuecomment-146970311
.

:+1:


fix the type of router in DvaInstance

Coverage remained the same at 70.536% when pulling a345407035768a5404ef2652d311a73ed52e6efb on alwaysonlinetxm:master into b557a2f1fda8dbeb5eb33bf1931608aac048d183 on dvajs:master.

👍


SECURITY ISSUE: Insecure Flask Version Specified in requirements.txt

GitHub complains about the version of Flask in requirements.txt claiming that it is insecure.

Currently, the version of Flask is 0.11.1

Hey @ser94mor,
Though we are late in responding, Flask is no longer there in requirement.txt.
Thank you.


Web share target support - fixed bug

Fixed the web share target's string resource save on build.gradle

Let us know when this fix is available in a stable release of Bubblewrap.


unable to run jupyter notebook

ImportError                               Traceback (most recent call last)
Cell In[7], line 8
6 get_ipython().system('pip show qick')
7 get_ipython().system('pip install --upgrade qick')
----> 8 import qickdawg
10 get_ipython().system('pip show qickdawg')
File ~\Downloads\qick-dawg-main\qick-dawg-main\qickdawg_init_.py:2
1 from qickdawg.util import *
----> 2 from qickdawg.nvpulsing import *
3 from qickdawg.fitfunctions import *
File ~\Downloads\qick-dawg-main\qick-dawg-main\qickdawg\nvpulsing_init_.py:4
2 from .nvqicksweep import NVQickSweep
3 from .nvconfiguration import NVConfiguration
----> 4 from .nvaverageprogram import NVAveragerProgram
6 from .laseron import LaserOn, laser_on
7 from .laseroff import LaserOff, laser_off
File ~\Downloads\qick-dawg-main\qick-dawg-main\qickdawg\nvpulsing\nvaverageprogram.py:9
1 """
2 NVAverageProgam
3 ==========================================================================
4 An abstract class for generating qick-dawg programs modified from
5 qick.NDAverageProgram
6 """
8 from qick import QickProgram
----> 9 from qick.qick_asm import QickRegisterManagerMixin
10 from qick.averager_program import AbsQickSweep
11 from tqdm.auto import tqdm
ImportError: cannot import name 'QickRegisterManagerMixin' from 'qick.qick_asm' (C:\Users\ivan_\anaconda3\Lib\site-packages\qick\qick_asm.py)

Did you install qick-dawg using the .toml file? What version of QICK did you install, we are working  0.2.160 right now. Let me know and I can help!


Move classification-based retries into the router's RetryFilter

Introduced a ClassifiedRetries module that installs a ResponseClassifier-based RetryFilter.
Separate backoff logic: the requeue filter now uses no backoff strategy,
while the configured backoff strategy controls the router's application-aware
retries.

I've soft of lost track of where we've diverge from finagle's default stack in terms of requeues and retries.  A refresher would be helpful.  Are you sure that it's safe to not have any backoff for requeues?  What about if an entire cluster is overloaded and is trying to recover?  Is "requeue-storm" a problem?

After input from kevino, I think requeueing without backoffs is sane default behavior.  We may want to to introduce requeue backoffs later, but I don't think it's necessary to do this immediately (and it certainly complicates configuration).  There are other mechanisms---failure accrual, failfast, budgets themselves---that help guard against requeue storms.  In the majority of cases, requeues occur when a downstream service has not received or process the request at all, unlike application-level retries.  In the case of Nacks, the finagle server has rejected the request before it has been admitted into application code.  Requeues are generally safe to retry immediately.
At this point, we'll be closer to finagle's default stack in terms of requeues; and we introduce an application-level retry filter within the path stack.  It shares a retry budget because retry budgets should be coordinated (otherwise when the requeue filter exhausts its budget, the classified retry filter would kick in continue to retry --- we can think of retry budgets as limiting client work as much as limiting server work, and so we we want to limit the max amount of extra work this client does.  This explains why retry budgets are intended to be shared across clients (even in finagle).  We care about being able do backoff application requests because these requests generally touch application code, and so we want a mechanism to give the application time to recover. This does not apply the same way for requeues.

:star: 🎱

:shipit: myself


Use margin variable

Short description of what this resolves:
Just a quick replace of a fixed width margin with the main margin variable for content
Ionic Version: 3.x

Thanks for the PR! A few things here:

I'd prefer it if the loading content had a separate variable that was set to the content's margin, since it is a different element.
There is a content variable specifically for the ios mode, so we could use this.
Can we change all of the modes to keep it consistent?

So something like this:
loading.ios.scss:
/// @prop - Margin start of the loading content next to a spinner
$loading-ios-content-margin-start:      $content-ios-margin !default;

.loading-ios .loading-spinner + .loading-content {
  @include margin-horizontal($loading-ios-content-margin-start, null);
}

loading.md.scss:
/// @prop - Margin start of the loading content next to a spinner
$loading-md-content-margin-start:      $content-md-margin !default;

.loading-md .loading-spinner + .loading-content {
  @include margin-horizontal($loading-md-content-margin-start, null);
}

loading.wp.scss:
/// @prop - Margin start of the loading content next to a spinner
$loading-wp-content-margin-start:      $content-wp-margin !default;

.loading-wp .loading-spinner + .loading-content {
  @include margin-horizontal($loading-wp-content-margin-start, null);
}

@brandyscarney thanks for the feedback and the patience. I was at work and in a hurry, so I should have taken my time instead of rushing things out.
Hope the new commit is better than the first one.

Looks great! Thanks for the PR and for making the changes. :smile:


update readme

fixed a typo and added some formatting and hyperlinks

Coverage remained the same at 69.62% when pulling 20d8f7c6fb04f5aee68bf04aa6aaebca4e4fa709 on skibz:patch-1 into fc8f4ce6c337f4358db32ae5c890be823a8c66dc on prestonp:master.


Flutter build release (assembleRelease) APK failed

Flutter crash report; please file at https://github.com/flutter/flutter/issues.
command
flutter build aot --suppress-analytics --quiet --target lib/main.dart --output-dir /home/xongolab/Kishansinh/Workspace_Flutter/renoon_github/Renoon/build/app/intermediates/flutter/release/android-arm --target-platform android-arm --release
exception
ProcessException: ProcessException: No such file or directory
Command: /home/xongolab/Kishansinh/flutter/flutter/bin/cache/artifacts/engine/android-arm-release/linux-x64/gen_snapshot --causal_async_stacks --deterministic --snapshot_kind=app-aot-elf --elf=/home/xongolab/Kishansinh/Workspace_Flutter/renoon_github/Renoon/build/app/intermediates/flutter/release/android-arm/app.so --strip --no-sim-use-hardfp --no-use-integer-division /home/xongolab/Kishansinh/Workspace_Flutter/renoon_github/Renoon/build/app/intermediates/flutter/release/android-arm/app.dill
#0      runCommandAndStreamOutput (package:flutter_tools/src/base/process.dart:142:27)
<asynchronous suspension>
#1      GenSnapshot.run (package:flutter_tools/src/base/build.dart:76:12)
#2      AOTSnapshotter.build.<anonymous closure> (package:flutter_tools/src/base/build.dart:171:27)
#3      AOTSnapshotter._timedStep (package:flutter_tools/src/base/build.dart:339:33)
<asynchronous suspension>
#4      AOTSnapshotter.build (package:flutter_tools/src/base/build.dart:170:13)
<asynchronous suspension>
#5      BuildAotCommand.runCommand (package:flutter_tools/src/commands/build_aot.dart:169:56)
<asynchronous suspension>
#6      FlutterCommand.verifyThenRunCommand (package:flutter_tools/src/runner/flutter_command.dart:487:18)
<asynchronous suspension>
#7      FlutterCommand.run.<anonymous closure> (package:flutter_tools/src/runner/flutter_command.dart:390:33)
<asynchronous suspension>
#8      AppContext.run.<anonymous closure> (package:flutter_tools/src/base/context.dart:154:29)
<asynchronous suspension>
#9      _rootRun (dart:async/zone.dart:1124:13)
#10     _CustomZone.run (dart:async/zone.dart:1021:19)
#11     _runZoned (dart:async/zone.dart:1516:10)
#12     runZoned (dart:async/zone.dart:1463:12)
#13     AppContext.run (package:flutter_tools/src/base/context.dart:153:18)
<asynchronous suspension>
#14     FlutterCommand.run (package:flutter_tools/src/runner/flutter_command.dart:381:20)
#15     CommandRunner.runCommand (package:args/command_runner.dart:197:27)
<asynchronous suspension>
#16     FlutterCommandRunner.runCommand.<anonymous closure> (package:flutter_tools/src/runner/flutter_command_runner.dart:396:21)
<asynchronous suspension>
#17     AppContext.run.<anonymous closure> (package:flutter_tools/src/base/context.dart:154:29)
<asynchronous suspension>
#18     _rootRun (dart:async/zone.dart:1124:13)
#19     _CustomZone.run (dart:async/zone.dart:1021:19)
#20     _runZoned (dart:async/zone.dart:1516:10)
#21     runZoned (dart:async/zone.dart:1463:12)
#22     AppContext.run (package:flutter_tools/src/base/context.dart:153:18)
<asynchronous suspension>
#23     FlutterCommandRunner.runCommand (package:flutter_tools/src/runner/flutter_command_runner.dart:356:19)
<asynchronous suspension>
#24     CommandRunner.run.<anonymous closure> (package:args/command_runner.dart:112:25)
#25     new Future.sync (dart:async/future.dart:224:31)
#26     CommandRunner.run (package:args/command_runner.dart:112:14)
#27     FlutterCommandRunner.run (package:flutter_tools/src/runner/flutter_command_runner.dart:242:18)
#28     run.<anonymous closure>.<anonymous closure> (package:flutter_tools/runner.dart:62:22)
<asynchronous suspension>
#29     _rootRun (dart:async/zone.dart:1124:13)
#30     _CustomZone.run (dart:async/zone.dart:1021:19)
#31     _runZoned (dart:async/zone.dart:1516:10)
#32     runZoned (dart:async/zone.dart:1500:12)
#33     run.<anonymous closure> (package:flutter_tools/runner.dart:60:18)
<asynchronous suspension>
#34     AppContext.run.<anonymous closure> (package:flutter_tools/src/base/context.dart:154:29)
<asynchronous suspension>
#35     _rootRun (dart:async/zone.dart:1124:13)
#36     _CustomZone.run (dart:async/zone.dart:1021:19)
#37     _runZoned (dart:async/zone.dart:1516:10)
#38     runZoned (dart:async/zone.dart:1463:12)
#39     AppContext.run (package:flutter_tools/src/base/context.dart:153:18)
<asynchronous suspension>
#40     runInContext (package:flutter_tools/src/context_runner.dart:58:24)
<asynchronous suspension>
#41     run (package:flutter_tools/runner.dart:51:10)
#42     main (package:flutter_tools/executable.dart:63:9)
<asynchronous suspension>
#43     main (file:///home/xongolab/Kishansinh/flutter/flutter/packages/flutter_tools/bin/flutter_tools.dart:8:3)
#44     _startIsolate.<anonymous closure> (dart:isolate-patch/isolate_patch.dart:303:32)
#45     _RawReceivePortImpl._handleMessage (dart:isolate-patch/isolate_patch.dart:172:12)

flutter doctor
[!] Flutter (Channel beta, v1.8.3, on Linux, locale en_IN)
    • Flutter version 1.8.3 at /home/xongolab/Kishansinh/flutter/flutter
    • Framework revision e4ebcdf6f4 (9 weeks ago), 2019-07-27 11:48:24 -0700
    • Engine revision 38ac5f30a7
    • Dart version 2.5.0 (build 2.5.0-dev.1.0 0ca1582afd)
    ✗ Downloaded executables cannot execute on host.
      See https://github.com/flutter/flutter/issues/6207 for more information
      On Debian/Ubuntu/Mint: sudo apt-get install lib32stdc++6
      On Fedora: dnf install libstdc++.i686
      On Arch: pacman -S lib32-gcc-libs

[!] Android toolchain - develop for Android devices (Android SDK version 28.0.3)
    • Android SDK at /home/xongolab/Android/Sdk
    • Android NDK location not configured (optional; useful for native profiling support)
    • Platform android-28, build-tools 28.0.3
    • Java binary at: /home/xongolab/software/android-studio/jre/bin/java
    • Java version OpenJDK Runtime Environment (build 1.8.0_202-release-1483-b49-5587405)
    ! Some Android licenses not accepted.  To resolve this, run: flutter doctor --android-licenses

[✓] Android Studio (version 3.5)
    • Android Studio at /home/xongolab/software/android-studio
    • Flutter plugin version 39.0.3
    • Dart plugin version 191.8423
    • Java version OpenJDK Runtime Environment (build 1.8.0_202-release-1483-b49-5587405)

[✓] Connected device (1 available)
    • Android SDK built for x86 • emulator-5554 • android-x86 • Android 6.0 (API 23) (emulator)

! Doctor found issues in 2 categories.

You haven't accepted some android licenses. Please read flutter doctor output properly and run flutter doctor --android-licenses

Thanks @igoriuz I accept the license and install other libraries that you suggest...But still gradle task failed....
flutter build apk --split-per-abi
Initializing gradle...                                              2.2s
Resolving dependencies...                                           1.7s
Running Gradle task 'assembleRelease'...
Running Gradle task 'assembleRelease'... Done                       6.1s
Gradle task assembleRelease failed with exit code 1

Write full path of keystore, flutter precache, clean grade, and APK is ready..Thanks to all of you guys.