IClaimsTransformation TransformAsync  not working in asp.net core 3.0

IClaimsTransformation TransformAsync not getting hit in netcoreapp3.0
To Reproduce
Steps to reproduce the behavior:

Using this version of ASP.NET Core '.3.0.0'
Run this code '.'

 public class ClaimsExtender : IClaimsTransformation
    {

        public ClaimsExtender()
        {

        }

        public async Task<ClaimsPrincipal> TransformAsync(ClaimsPrincipal principal)
        {
             var x = "xxx";
        }
    }

When I Post a Request to my API, this TransformAsync method should always be hit.
This use to work in asp.net core 2.2

@EmpeRoar Can you show more code? How are you wiring it up? How did you wire up auth? Show your startup class please.

@davidfowl  in my startup.cs

 services.AddAuthentication(options =>
            {
                options.DefaultAuthenticateScheme = JwtBearerDefaults.AuthenticationScheme;
                options.DefaultChallengeScheme = JwtBearerDefaults.AuthenticationScheme;
            }).AddJwtBearer(options =>
            {
                options.Authority = "xxx";
                options.Audience = "xxx";
            });
 services.AddAuthorization(options =>
            {
                options.AddPolicy("CanMove", policy => policy.Requirements.Add(new HasClaimRequirement("something")));
            });

 services.AddScoped<IClaimsTransformation, ClaimsExtender>();
 services.AddScoped<IAuthorizationHandler, HasClaimHandler>();

my claimsextender:

public class ClaimsExtender : IClaimsTransformation
    {

        public ClaimsExtender()
        {

        }

        public async Task<ClaimsPrincipal> TransformAsync(ClaimsPrincipal principal)
        {
           // I want to hit here!
            return principal;
        }
    }

my HasClaimHandler

public class HasClaimHandler : AuthorizationHandler<HasClaimRequirement>
    {
        public HasClaimHandler(AppIdentityDbContext applicationDbContext)
        {

        }

        protected override async Task HandleRequirementAsync(AuthorizationHandlerContext context, HasClaimRequirement requirement)
        {
            // this is good , applicaiton hits here.
        }
    }

in startup configure.
  app.UseAuthentication();
 app.UseAuthorization();

This setup use to work in asp.net 2.2, but not working in asp.net 3.0

Can you show the entire startup class instead of the snippets. I need to see the order relative to everything else in the class.

`
public class Startup
{
public Startup(IConfiguration configuration)
{
Configuration = configuration;
}
    public IConfiguration Configuration { get; }

    // This method gets called by the runtime. Use this method to add services to the container.
    public void ConfigureServices(IServiceCollection services)
    {
        var connection = Configuration.GetConnectionString("DefaultConnection");
        services.AddDbContext<AppIdentityDbContext>(
           options => options.UseSqlServer(
                           connection,
                           providerOptions => providerOptions.EnableRetryOnFailure()
                      ));

        services.AddTransient<IAppIdentityDbContext, AppIdentityDbContext>();
        services.AddTransient<IUserClaimStore<ApplicationUser>, ApplicationUserClaimStore>();

        services.AddIdentity<ApplicationUser, IdentityRole>(o =>
        {
            o.Password.RequireDigit = false;
            o.Password.RequireLowercase = false;
            o.Password.RequireUppercase = false;
            o.Password.RequireNonAlphanumeric = false;
            o.Password.RequiredLength = 6;
        })
        .AddEntityFrameworkStores<AppIdentityDbContext>()
        .AddUserManager<ApplicationUserManager>()
        .AddDefaultTokenProviders();

        services.AddAuthentication(options =>
        {
            options.DefaultAuthenticateScheme = JwtBearerDefaults.AuthenticationScheme;
            options.DefaultChallengeScheme = JwtBearerDefaults.AuthenticationScheme;
        }).AddJwtBearer(options =>
        {
            options.Authority = "xxx";
            options.Audience = "xxx";
        });

        services.AddAuthorization(options =>
        {
            options.AddPolicy("CanMove", policy => policy.Requirements.Add(new HasClaimRequirement("claw")));
        });

        services.AddScoped<IClaimsTransformation, ClaimsExtender>();
        services.AddScoped<IAuthorizationHandler, HasClaimHandler>();

        services.AddTransient(typeof(IPipelineBehavior<,>), typeof(RequestPreProcessorBehavior<,>));
        services.AddScoped<IMediator, Mediator>();
        services.AddMediatR(typeof(MoveLeftCommandHandler).GetTypeInfo().Assembly);

        services.AddSwaggerGen(c =>
        {
            c.SwaggerDoc("v1", new OpenApiInfo()
            {
                Contact = new OpenApiContact()
                {
                    Name = "xxx",
                    Url = new System.Uri("xxx"),
                    Email = "xxx"
                },
                Title = "xxx",
                Description = "",
                Version = "v1"
            });
        });

        services.AddCors(options =>
        {
            options.AddPolicy("AllowAllOrigins",
                builder =>
                {
                    builder.AllowAnyOrigin()
                           .AllowAnyHeader()
                           .AllowAnyMethod();
                });
        });

        services.AddSignalR();
        services.AddHttpContextAccessor();
        services.AddControllers();

    }

    // This method gets called by the runtime. Use this method to configure the HTTP request pipeline.
    public void Configure(IApplicationBuilder app, IWebHostEnvironment env)
    {
        if (env.IsDevelopment())
        {
            app.UseDeveloperExceptionPage();
        }

        app.UseHttpsRedirection();

        app.UseRouting();

        app.UseAuthentication();
        app.UseAuthorization();

        app.UseCors("AllowAllOrigins");
        app.UseSwagger();
        app.UseSwaggerUI(c =>
        {
            c.SwaggerEndpoint("/swagger/v1/swagger.json", "Values Api V1");
        });

        app.UseEndpoints(endpoints =>
        {
            endpoints.MapControllers();
            endpoints.MapHub<ClawMachineHub>("/xxx");
        });
    }
}

`

public class ClaimsExtender : IClaimsTransformation
{
    public ClaimsExtender()
    {

    }

    public async Task<ClaimsPrincipal> TransformAsync(ClaimsPrincipal principal)
    {
        // I want to hit here. :exclamation:
        return principal;
    }
}`

`

@davidfowl any news re this?

I was having the same problem, services.AddAuthentication(IISServerDefaults.AuthenticationScheme); worked for me.
.net core 3.0 defaults to InProcess hosting model, ctrl-f "When hosting in-process, AuthenticateAsync" at this link: https://docs.microsoft.com/en-us/aspnet/core/host-and-deploy/aspnet-core-module?view=aspnetcore-2.2

@EmpeRoar AddIdentity and AddAuthentication add IClaimsTransformation to IServiceCollection. You have to place services.AddScoped<IClaimsTransformation, ClaimsExtender>(); before services.AddIdentity<ApplicationUser, IdentityRole>.

Thanks for the replies guys, i’ll check it out once im back to my keyboards.

@mkArtakMSFT  it still didn't hit TransformAsync
`
public class ClaimsExtender : IClaimsTransformation
{
    public ClaimsExtender()
    {

    }

    public async Task<ClaimsPrincipal> TransformAsync(ClaimsPrincipal principal)
    {
        // breakpoint here.
        return principal;
    }
}

`

@jrvermeer  have you resolved your issue?

cc @HaoK can you take a look?

specifically, im using Auth0 as Authentication Provider. I'm not sure if it will matter?

Note: claims transformation only runs if authentication was successful, see: https://github.com/aspnet/AspNetCore/blob/master/src/Http/Authentication.Core/src/AuthenticationService.cs#L77
One thing you can try is directly calling authenticate async to see what you are getting back, inject IAuthenticationService and call AuthenticateAsync in the debugger to see what you are getting back

ahhh, I think that answers it. If the user is not authenticated then it wont pass in clamins transformation.

Im only using [Authorize] attriblue with Policy.

I am having the same issue and my user is authenticated.  I am using Windows authorization and have the typical identity database structure.  Users have claims and I have an IClaimsTransformation the adds the appropriate claims from the database to the ClaimsPrincipal.
In 2.2, as soon as the user signs in, the IClaimsTransformation is hit and the claims are added.  In 3.0, the IClaimsTransformation is never hit.
I have messed with the order that the services are added, but this has had no impact.
The current order of my services is:
`            services.AddControllersWithViews();
        services.AddDbContext<DataDbContext>(options =>
            options.UseSqlServer(Configuration.GetConnectionString("DataConnection")));

        services.AddDbContext<IDDbContext>(options =>
            options.UseSqlServer(Configuration.GetConnectionString("IDConnection")));

        services.AddAuthentication(IISDefaults.AuthenticationScheme);

        string ApplicationName = Configuration.GetSection("ApplicationInformation")["AppDotName"];

        services.AddAuthorization(options =>
            {
                options.AddPolicy("IT", policy => policy.RequireClaim(ApplicationName, "IT"));
                options.AddPolicy("AppUser", policy => policy.RequireClaim(ApplicationName, "Application User - Entry Level"));
            });

        services.Configure<IISOptions>(Options =>
            Options.AutomaticAuthentication = true);

        services.AddTransient<IClaimsTransformation, ClaimsTransformer>();

        services.AddIdentity<ApplicationUser, IdentityRole>()
            .AddEntityFrameworkStores<IDDbContext>();`

I have tried these is several combinations but the IClaimsTransformation is never hit.
Any suggestions?

I am having the same issue and my user is authenticated. I am using Windows authorization and have the typical identity database structure. Users have claims and I have an IClaimsTransformation the adds the appropriate claims from the database to the ClaimsPrincipal.
In 2.2, as soon as the user signs in, the IClaimsTransformation is hit and the claims are added. In 3.0, the IClaimsTransformation is never hit.
I have messed with the order that the services are added, but this has had no impact.
The current order of my services is:
` services.AddControllersWithViews();
        services.AddDbContext<DataDbContext>(options =>
            options.UseSqlServer(Configuration.GetConnectionString("DataConnection")));

        services.AddDbContext<IDDbContext>(options =>
            options.UseSqlServer(Configuration.GetConnectionString("IDConnection")));

        services.AddAuthentication(IISDefaults.AuthenticationScheme);

        string ApplicationName = Configuration.GetSection("ApplicationInformation")["AppDotName"];

        services.AddAuthorization(options =>
            {
                options.AddPolicy("IT", policy => policy.RequireClaim(ApplicationName, "IT"));
                options.AddPolicy("AppUser", policy => policy.RequireClaim(ApplicationName, "Application User - Entry Level"));
            });

        services.Configure<IISOptions>(Options =>
            Options.AutomaticAuthentication = true);

        services.AddTransient<IClaimsTransformation, ClaimsTransformer>();

        services.AddIdentity<ApplicationUser, IdentityRole>()
            .AddEntityFrameworkStores<IDDbContext>();`

I have tried these is several combinations but the IClaimsTransformation is never hit.
Any suggestions?

I was facing the same problem. I just move  app.UseAuthentication(); before app.UseRouting(); and then TransformAsync was called without problem.

This still does not work.  Order has had no positive effect.  Although the IClaimsTransformation is instantiated, TransformAsync is never called.  It seems like the default Authorization Service does not know to call TransformAsync.  You can also follow #18040, although there hasn't been much help there.


t2 init missing .npmrc

I have recently updated to 0.1.7 of t2-cli and encountered the issue when I try to run a program I get the following error:
 WARN This project is missing an ".npmrc" file!
WARN To prepare your project for deployment, use the command:
WARN
WARN t2 init
WARN
WARN Once complete, retry:
WARN
WARN t2 run server.js
I try to rerun t2 init and I get:
...
INFO Created ".npmrc".
...
Running the program again using t2 run server.js causes the same error.
What might be going on here? Thanks

Can you provide details about the environment you're working in? OS, node version, npm version, etc. Would you mind trying the Smoke Tests described here: https://github.com/tessel/t2-cli/pull/1267
Thanks!

Duplicate of #1276

@ptauk this is fixed in v0.1.8 of t2-cli

@boneskull it is still happening for with with v0.1.8 on Windows 10.

Did the reply get deleted? Can this be closed?

@rwaldron the reply was mine, I posted before doing more tests and found the error to be on my side, so I deleted the useless reply (it was only here for some minutes). Sorry for the confusion

Ok, no problem :D

Sorry, can this be closed?

Sorry for the delay, this can be closed it was fixed by upgrading to v0.1.8 of t2-cli.

@ptauk thank you for the follow up ❤


Create messages to-tony-weng-from-jerry-zha.txt

it will make the repository more dynamic

Thanks for helping to increase the dynamism of this repo, Jerry!


feat: Add TextInput screen pattern

Text field input screen
Generic screen for text input.
Checklist
Before raising your pull request:

[x] Ran the app locally ensuring it builds
[x] Ran the tests locally ensuring they pass on Build
[x] Pull request has a clear title with ticket ID and a short description about the feature or update
i.e. DCMAW-222: Added ReadID SDK to iOS app
[x] Created a draft pull request if it is not yet ready for review

Before your pull request can be reviewed:

[x] Met all of the acceptance criteria specified in the user story on Jira

[x] Reviewed your own code to ensure you are following the style guidelines

[x] Ran the app and tested the feature on a range of device sizes
Please include iPod Touch, iPhone SE and iPhone 11 as a minimum.

[x] Written Unit and Integration tests if needed

[x] Met all accessibility requirements?

[x] Checked dynamic type sizes are applied
[x] Checked VoiceOver can navigate your new code
[x] Checked a user can navigate only using a keyboard around your new code

Before merging your pull request:

[ ] Ensure that the code coverage and SonarCloud checks have passed
[ ] Actioned and resolved all comments, reaching out to reviewers for clarifications if necessary.
[ ] Ran the app to ensure that no regressions have been caused by changes during code review.
[ ] Targeted the correct branch; develop, release or main

Screen recording
https://github.com/alphagov/di-mobile-ios-common/assets/104073334/73bfe993-e470-4292-b6e6-abe598671f68


Add connect passthrough

When ConnectPassthrough is enabled, Martian will roundtrip CONNECT requests.
Fixes saucelabs/forwarder#196

Interesting when we look at http.Response.Write() implementation. https://cs.opensource.google/go/go/+/refs/tags/go1.19.5:src/net/http/transfer.go;l=365 wonder if that solves our problem.

Great finding @Choraden, I'm impressed.

The wrapper can be removed, wow.


porting: Use real function pointer types for ISR functions

It appears the only reason uint32_t was used, was because of the CMSIS NVIC_SetVector function which takes an address as an uint32_t. Clean this up for the porting layer.
To be honest, casting to uint32_t seems very non-portable to me so using function pointers directly should be better for the future.
Note: I haven't actually tested the FreeRTOS and RIOT changes, but I've used almost identical code in my own port (WIP) so it should be okay.

@haukepetersen thanks, for checking this!
@aykevl sorry I forgot about this PR, could you please fix above comments and I'll merge this.

Right. I totally forgot about that oddity in the C language. Fixed it, also in other places.


Npm start broken on Windows

There have been a few issues with the npm start command on Windows. I was able to get npm run build; npm run electron to work just fine, but npm start still needs to be fixed.

I believe this is fixed https://github.com/cadejscroggins/catz/commit/26afc663b501bd3c7408f41a5a96b98938142814

error Error running install script for optional dependency

Can you post the log?

concurrently --kill-others "webpack --config webpack.config.dev.js --watch" "electron ."

[1] fs.js:640
[1]   return binding.open(pathModule._makeLong(path), stringToFlags(flags), mode);
[1]                  ^
[1]
[1] Error: ENOENT: no such file or directory, open 'C:\Program Files\nodejs\catz\node_modules\electron\path.txt'
[1]     at Error (native)
[1]     at Object.fs.openSync (fs.js:640:18)
[1]     at Object.fs.readFileSync (fs.js:508:33)
[1]     at Object. (C:\Program Files\nodejs\catz\node_modules\electron\index.js:4:42)
[1]     at Module._compile (module.js:570:32)
[1]     at Object.Module._extensions..js (module.js:579:10)
[1]     at Module.load (module.js:487:32)
[1]     at tryModuleLoad (module.js:446:12)
[1]     at Function.Module._load (module.js:438:3)
[1]     at Module.require (module.js:497:17)
[1] electron . exited with code 1
--> Sending SIGTERM to other processes..
[0] webpack --config webpack.config.dev.js --watch exited with code 1
npm ERR! Windows_NT 10.0.10586
npm ERR! argv "C:\Program Files\nodejs\node.exe" "C:\Program Files\nodejs\node_modules\npm\bin\npm-cli.js" "start"
npm ERR! node v6.9.1
npm ERR! npm  v3.10.8
npm ERR! code ELIFECYCLE
npm ERR! catz@ start: concurrently --kill-others "webpack --config webpack.config.dev.js --watch" "electron ."
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the catz@ start script 'concurrently --kill-others "webpack --config webpack.config.dev.js --watch" "electron ."'.
npm ERR! Make sure you have the latest version of node.js and npm installed.
npm ERR! If you do, this is most likely a problem with the catz package,
npm ERR! not with npm itself.
npm ERR! Tell the author that this fails on your system:
npm ERR!     concurrently --kill-others "webpack --config webpack.config.dev.js --watch" "electron ."
npm ERR! You can get information on how to open an issue for this project with:
npm ERR!     npm bugs catz
npm ERR! Or if that isn't available, you can get their info via:
npm ERR!     npm owner ls catz
npm ERR! There is likely additional logging output above.
npm ERR! Please include the following file with any support request:
npm ERR!     C:\Program Files\nodejs\catz\npm-debug.log


Rename theme file

We're having some trouble packaging the extension in its current state.
I renamed the theme file to kebab-case to see if that resolves the issue.

Nevermind, we were able to address this on the packaging side.


Fix warnings in doc comments

Fixes clang warnings raised by -Wdocumentation. (See b/118395188)
Can I add this flag to the cflags somewhere?

Thank you for your pull request. Before we can look at your contribution, we need to ensure all contributors are covered by a Contributor License Agreement.
After the following items are addressed, please respond with a new comment here, and the automated system will re-verify.

User @morganchen12 isn't covered by a CLA. They will need to complete the form at https://identity.linuxfoundation.org/projects/cncf

Regards,
CLA GitHub bot

I'll investigate whether (and for which platforms) we can add that flag. In the meanwhile, can you sign the CLA?

@thelinuxfoundation CLA signed, please re-verify

****************************************************************

libgrpc.so

     VM SIZE        FILE SIZE
 ++++++++++++++  ++++++++++++++

  [ = ]       0        0  [ = ]

****************************************************************

libgrpc++.so

     VM SIZE        FILE SIZE
 ++++++++++++++  ++++++++++++++

  [ = ]       0        0  [ = ]

[trickle] No significant performance differences

Objective-C binary sizes
*****************STATIC******************
  New size                      Old size
 2,014,173      Total (=)      2,014,173

 No significant differences in binary sizes

***************FRAMEWORKS****************
  New size                      Old size
11,113,472      Total (<)     11,113,474

 No significant differences in binary sizes

Corrupt JSON data (indicates timeout or crash):
    bm_call_create.BM_IsolatedFilter_ClientChannelFilter_NoOp_.counters.new: 10
    bm_call_create.BM_IsolatedFilter_ClientChannelFilter_NoOp_.counters.old: 10

[microbenchmarks] No significant performance differences

****************************************************************

libgrpc.so

     VM SIZE        FILE SIZE
 ++++++++++++++  ++++++++++++++

  [ = ]       0        0  [ = ]

****************************************************************

libgrpc++.so

     VM SIZE        FILE SIZE
 ++++++++++++++  ++++++++++++++

  [ = ]       0        0  [ = ]

Objective-C binary sizes
*****************STATIC******************
  New size                      Old size
 2,014,173      Total (=)      2,014,173

 No significant differences in binary sizes

***************FRAMEWORKS****************
  New size                      Old size
11,113,466      Total (<)     11,113,479

 No significant differences in binary sizes

Corrupt JSON data (indicates timeout or crash):
    bm_call_create.BM_IsolatedFilter_ClientChannelFilter_NoOp_.counters.new: 10
    bm_call_create.BM_IsolatedFilter_ClientChannelFilter_NoOp_.counters.old: 10

[microbenchmarks] No significant performance differences

@thelinuxfoundation individual CLA signed, please re-check


Bug on Recover Process (Native back botton)

Describe the bug
A clear and concise description of what the bug is.
To Reproduce
Steps to reproduce the behavior:

Get to Seeds Login Screen
Click on recover
Search for account with active guardian feature( FaruandLuca )
send link to one of your guardians
go back with phone native button
go back to step 1 , 2 , 3 and 4

Current behavior
2 different links are created causing a bug when trying to recover account.
Expected behavior
Not sure whats the expected behavior but the recover mode should not crash.
Possible solutions:

Show the same link if the process is not cancel.
Cancel recover process if they go back.
Not allowing user to go back (Could lead to other issues and not user friendly)

Desktop (please complete the following information):

Android, iOS or Both
App Version [e.g. 22]

Additional context
The second time the user used the back native button if they click recover it takes them directly to the guardian already started process instead of the guardian account search. (This is also a possible solution if it happens the first time the user goes back.)

@RaulUrtecho @gguijarro-c-chwy What is the expected behavior that we want to test here? I tried running the latest master in a simulator and it seems that the native back button now doesn't go back. Is this the intention? 🤓
On another note, I see the following:

Once on the Guardian List screen, tap Link to activate... > share icon.
Tap 'Copy'.
Observe the Copied toast message.
Immediately after, observe the SEEDS Wallet pasted from your clipboard toast message (not expected?)

This was resolved with https://github.com/JoinSEEDS/seeds_light_wallet/pull/1196.
Now whe user starts a Recover and go back from RecoverFoundAccountScreen the user is returned to LoginScreen, if the user taps again the recover then the user will be taken to continue the recovery.


support clang-cl optionally

Specifically, OpenBLAS requires clang to build the assembly. It would be nice if vcpkg would optionally allow OpenBLAS to be built with clang-cl.

Clang has better support for modern cpp,  and more powerful optmization.
Clang matures enough to compile productive code on windows and it even has binary compatibility with msvc.
vcpkg use cmake to generate ninja file. supporting clang-cl optionally and experimentally may be fine.

Has anyone gotten this to work? I prefer using cl considering the major improvements that have been made with it. However I think I found a bug with cl when building in Docker that doesn't appear to be a problem with clang so it would be nice to check.

you could try #4609 but you need to install the llvm toolset in visual studio

https://github.com/Neumann-A/my-vcpkg-triplets
has triplets for clang-cl (llvm) although not all ports are supporting clang-cl currently. For MSBuild ports you need to have the llvm extension installed.

We recommend to create a custome triplet instead.
Related to https://github.com/microsoft/vcpkg/issues/12292.


[Feature]: Label / Tag Categories source (Addon/plugin)

Describe the feature
It would be nice to know which categories are created by which plugin, vs the main addon. This would let me know which to uncheck from the Configure Category list when there seems to be a conflict.
Describe the implementation
When I open the Configure Categories list it would be nice to have the source of the list (plugin, main addon, etc) show in the mouseover tooltip.
It would also be nice to see somehow in the main options, but I've been using the Config off the bags more lately.

I agree that tracking back categories to plugins would be a good thing, but this is trickier than it appears at first as no one 'owns' a category.
There is a 'note' field that is defined, but not presented to the user yet, but I think something more akin to a table of plugins that have touched a category would work better.

I'd like to 2nd this! I have the same issue. I've uninstalled most plugins and started making my own categories to try and work around it, but one of the few I've kept is Teleporters which has resulted in issues like the attached image. Occasionally it'll pop back into the HS category made by BB even if I've turned it off.
The warband item from legion ToS is also now junk when it wasn't previously and I have no idea if that's a plugin or default category issue.


[Done] Translation of meetups.md ..

All REACT NATIVE meetups have been deleted because we are in REACTJS site .
All REACT NATIVE meetups must be in his site.

Meetup(s) is better translated to "مُلْتَقى (مُلْتَقَيات)". It's not a working session (جلسة عمل).
Actually, React meetups are ones of the most fun tech-meetups with just a few talks/workshops and food and fun :smiley:

Meetup(s) is better translated to "مُلْتَقى (مُلْتَقَيات)". It's not a working session (جلسة عمل).
Actually, React meetups are ones of the most fun tech-meetups with just a few talks/workshops and food and fun 😃 .
Also, we must be "fidèle" to the official documentation and keep it as it is, and to keep RN (ReactNative) meetups links because it's a React-Team decision to keep it there, if you think that it should be there, you can file an issue in the #reactjs/reactjs.org repo and ask them to move it to RN website and make a simple link to it in that page.

@Fcmam5
Thanks bro ,
No problem I was just talking to Ryan at Slack about this ....


Update to template .fsproj references unpublished Giraffe.Razor version

Hi,
the .fsproj for the latest template includes:
<PackageReference Include="Giraffe.Razor" Version="0.1.0-beta-002" />
however, the latest version on Nuget for Giraffe.Razor is ...beta-001
I'm guessing the template update was meant to be:
<PackageReference Include="Giraffe" Version="0.1.0-beta-002" />
but wanted to check.

You're right, thanks for reporting!


CSS :focus, do we really need it ?

I may be missing the point of :focus (accessibility ?) but I think using this attribute is not needed in this project.
I take the button list like a menu, if I click on it I leave the page and if I return on my littlelink page the button is focused, I would expect the button come back to its initial state.

It does remove redundant functionality. the :focus and :hover pseudo-classes perform duplicate functions. Hovering over an icon darkens the background colors and clicking it, using the :focus class forces the button to stay darkened.
I think for the normal use case for this app, it doesn't really matter (Open page in embedded mobile browser > Click link > Close embedded browser), but it does make things a bit messy with caching the focused result upon returning to the page. Definitely nitpicking with this issue but it seems like it could improve the UX of at least one user, IMO it's worth the change.


Tidy the project, and prepare for another release.

Mechanize hasn't gotten much love lately. I'm opening this issue to track some things I'd like to do, and to solicit input from the current maintainers (it's been a while since I've been involved).
Higher priority:

[x] move to Github Actions for CI. Travis doesn't seem to be building anymore, and I'm unsure of the long-term status (#561)
[x] get master green (#558, #557, #562)
[x] generate a CVE for #547 and merge #548 to address it (similar to https://github.com/sparklemotion/nokogiri/issues/1915)

see https://github.com/sparklemotion/mechanize/security/advisories/GHSA-qrqm-fpv6-6r8g

[x] cut security release v2.7.7

Lower priority:

[ ] drop support for EOLed Rubies (< 2.5), update required_ruby_version
[ ] add Rubocop's security checks to CI (which will only run after dropping support for 1.9)
[ ] update gem dependency versions
[ ] review current PRs for low-hanging fruit to merge
[ ] freshen up the README
[ ] cut release v2.8.0

Would there be objections if I spent some of my hacking time getting through this list?

OK, no comments, then I intend to proceed!

OK, no comments, then I intend to proceed!

Does it make sense to ensure the gem is compatible with Ruby3?

Does it make sense to ensure the gem is compatible with Ruby3?

@ddoherty03 Without knowing what you're seeing, I can't be sure I'm answering your question. But I can say that the master branch now has webrick added as a dependency and so should work on Ruby 3 with the next release. Is that helpful? If not, can you ask a more specific question?

@ddoherty03 Without knowing what you're seeing, I can't be sure I'm answering your question. But I can say that the master branch now has webrick added as a dependency and so should work on Ruby 3 with the next release. Is that helpful? If not, can you ask a more specific question?

Release v2.7.7 has been shipped.

For the remaining items, I've created issues and a milestone:

drop support for EOLed Rubies (< 2.5) · Issue #563 · sparklemotion/mechanize
add Rubocop's security checks to CI · Issue #564 · sparklemotion/mechanize
update gem dependency versions · Issue #565 · sparklemotion/mechanize
freshen up the README · Issue #566 · sparklemotion/mechanize
v2.8.0 Milestone

And I'll be flagging PRs with the milestone if I think we can easily get them in.

@ddoherty03 v2.7.7 just shipped which should support Ruby 3. If you're still experiencing problems, can you open a new issue to discuss it? Thank you!

Yes, all good now on the Ruby3 front, for me anyway.  Thanks @flavorjones.


Add support for s390x

What happened?

What were you attempting to do?
Build images on System Z with Paketo Buildpacks.

What did you expect to happen?
The developer should not know or care what ISA is being targeted when they push their code. The buildpack would run as expected.

I would hope that with the help of the IBM OSS team, this should be the same work as aarch64: https://github.com/paketo-buildpacks/stacks/issues/51

What was the actual behavior? Please provide log output, if possible.
Not supported at this time.

Build Configuration

What platform (pack, kpack, tekton buildpacks plugin, etc.) are you
using? Please include a version.
We are using Epinio, which runs the buildpack as a k8s Job but have a few customers who are looking at also using Tekton.

What buildpacks are you using? Please include versions.
We've seen java and python being the most requested.

What builder are you using? If custom, can you provide the output from pack inspect-builder <builder>?
paketobuildpacks/builder:full

Can you provide a sample app or relevant configuration (buildpack.yml,
nginx.conf, etc.)?

Checklist

[ ] I have included log output.
[ ] The log output includes an error message.
[ ] I have included steps for reproduction.

Upstream ticket for tooling: https://github.com/buildpacks/lifecycle/issues/811

@agracey thanks for filing an issue. We'll track this with our efforts towards supporting multiple architectures in our stacks/buildpacks


Add disable are descendants loaded property

What changes are proposed in this pull request?
This adds a property to the list status call to disable the are descendants loaded check.
Why are the changes needed?
Currently before a recursive listing happens, the entire enclosed set of files are traversed to see if they all have the descendants loaded flag set in order to check if a metadata sync is needed. This can be costly especially if doing batch or partial listings. By setting this property the check can be avoided. This is, for example, recommended to set to true on the calls following the first call of a batch listing.
Note that this is recommended as more of a temporary fix for internal libraries, until a new logic design for the metadata sync is completed.
Does this PR introduce any user facing changes?
New property in the list status options proto.

alluxio-bot, merge this please


chore: Remove example code that was not needed

Some API surface examples are helpful, but the whole mandelbrot drawing part is
just cluttering our Cargo.lock.

bors r+


Update vendor.md

Add some vendor ids

What do you mean by external?

What do you mean by ODM in this case? Rebrand from GemTek?

These ONUs are made by GemTek, but branded as Alcatel/Nokia.
As I checked, it seems that Nokia is not involved in firmware development.
The HW/SW version doesn't look like the regular Nokia style(3FEXXXXXXXXX).

From https://hack-gpon.org/assets/img/ont-nokia-naming.jpg the namimg style are respected?


Add iam:AttachRolePolicy to aws_iam_policy.account

Summary
This permission is required to manage account assignments in the SSO instance account

Current dependencies on/for this PR:

main

PR #4   👈

This comment was auto-generated by Graphite.


testing that safelisting was correctly implemented

It would be useful if this page would include some guidance on how to test that the URLs have been safelisted correctly, or perhaps for a PowerShell cmdlet to be made available which runs a test and produces a little report.
If the URLs were all explicit DNS names I could write a test script myself which I would run on my production on-prem server prior to deploying my production app. The script would attempt to make an HTTP call to each of the safelisted domains and it would inspect the responses., But since the listed domains all use * wildcards and I don't know which subdomains/endpoints exist under each domain it's becoming quite hard for me to verify that the safelisting was implemented correctly in production, in a safe way that does not require me to deploy the production app.
[Enter feedback here]

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

ID: d8336877-da93-ecd6-829a-0cc068caaf29
Version Independent ID: 1e70f094-f220-92c6-7e5b-cfaf071101d5
Content: Safelist the Azure portal URLs on your firewall or proxy server
Content Source: articles/azure-portal/azure-portal-safelist-urls.md
Service: azure-portal
GitHub Login: @mgblythe
Microsoft Alias: mblythe

#assign @santhoshsomayajula

Thanks for the feedback @jvossers, assigning @santhoshsomayajula to address your question.

Hi @jvossers - we don't have any scripts available for testing at this time. I have forwarded information to the product team, and I'll update this item if anything becomes available. Thanks for submitting the issue! #please-close


Add support for battery info API

This PR adds the functionality to retrieve information about the battery. The following functions have been added:

get_battery_ids(): Gets a list of battery IDs
get_battery_status(): Gets basic information about the battery
get_battery_basic_stats(): Gets basic information about the battery as a BatteryStatus object, similar to get_power_status(). Is a wrapper for get_battery_status()
get_battery_day_stats(): Gets the historical stats of the battery's SoC and charge/discharge power for the current day
get_battery_module_stats(): Gets detailed information for a given battery module

❤


[Follow-up] codeunit 90 "Purch.-Post" - Procedure DecrementPrepmtAmtInvLCY made global

Hello,
In https://github.com/microsoft/ALAppExtensions/issues/23261 it was requested for procedure DecrementPrepmtAmtInvLCY to be made global. It is still not implemented. Can you please have a look? Thank you.

Hi,
This was done and it will be available from BC23. For all requests for external we are doing changes only for next major release, in order not to break anything.


Integrate MLIR-EmitC at iml130/mlir-emitc@8a46b64b

Soon we're going to pull the remaining not-upstreamed stuff into IREE and not have to bump the submodule, right?

Well we still plan to upstream all stuff! However, this means that as we'll have to close the emitters API prior to upstreaming it. Whith this the upstreamed emitter can be used in IREE. For the time we'll need to enhance and refactor the EmitC dialect as well as the emitter, the plan is to pull in https://github.com/iml130/mlir-emitc/blob/main/lib/Target/Cpp/TranslateToCpp.cpp. Anyway, the final goal is to fully rely on the MLIR core repo and to get rid of the locally used emitter.
TL;DR: Yes, we won't have to bump the submodule any more in near future (probably next week?).


Can't comile on Alpine Linux Version 3.6.0 (Released May 24, 2017)

Trying to compile the compiler for more then 5+ hours.

From git sources using the bin/crystal binary
machine has 4 Cores and 4Gb RAM.

I got a few pointers

It seems that RAM is not even going above 50Mb while compiling (good ? bad ?)
The compiler wont use more then one core while working:

@ysbaddaden Maybe you can shed some light on that ?

Can you show --stats output and the compiler version of the compiler used to compile the co compiler.

@RX14 Seems it's an issue with the installation ? Can't get any compiler to emit any output
@ysbaddaden , do you have a package I can use in Alpine ?

Yes, I have a repository at:
http://public.portalier.com/alpine
How did you get a compiler for alpine in the first place?

Hm... I just thought I can use the Generic Linux 64bit tar.gz package

@ysbaddaden Seems like I can't solve deps with latest Alpine and your repo as you ask libevent 2.0 while the offical repo has 2.1.8

The Linux tarball is meant for glibc and libs must be compiled against glibc too. That's probably the issue.
Argh. I thought compiling on an older release (3.4) would avoid such issues. I guess I should build packages for a few versions (or at least the latest) instead...

@ysbaddaden Latest sounds great :) as anyone can just apk upgrade to latest any time

Not really, you must specify the version in /etc/apk/repositories then run apk upgrade, otherwise you're stuck on v3.4 for example. Also, versions are supported for ~2 years. I'm not motivated to build 3 or 4 Alpine packages.
BTW I just upgraded my VM to v3.6 and my crystal package installed and is running correctly...

I'm pretty new to Alpine , just let me know on what version I should build and I'll jump to that :)

@ysbaddaden one note - when I tried the wget command from http://public.portalier.com/alpine/ I got an error:
wget "http://public.portalier.com//alpine/julien%40portalier.com-56dab02e.rsa.pub" \
>   -O<EMAIL_ADDRESS>--2017-09-08 23:30:29--  http://public.portalier.com//alpine/julien%40portalier.com-56dab02e.rsa.pub
Resolving public.portalier.com... <IP_ADDRESS>
Connecting to public.portalier.com|<IP_ADDRESS>|:80... connected.
HTTP request sent, awaiting response... 404 Not Found
2017-09-08 23:30:29 ERROR 404: Not Found.

Looks like there's a typo there: http://public.portalier.com//alpine/julien - the double / - please take a look if you have a second :) many thanks for your work on this!

Not an issue for me anymore


Import for node

Hello,
How woul you import this for a node app?
Thanks

Hi, thanks for your comment!
This hasn't been a use case so far. Feel free to contribute by adding the necessary code and/or documentation :)


approval_prompt conflicts with prompt

We cannot use something useful like the prompt option, like this:
$authUrl = $provider->getAuthorizationUrl(['prompt' => 'select_account consent']);
Because "AbstractProvider" always adds approval_prompt = 'auto' in "getAuthorizationParameters" method and both options are incompatible and generates na invalid request with "Conflict params: approval_prompt and prompt". Is it safe to comment this line in future versions or there is a better workaround?
        $options += [             'response_type'   => 'code',             //'approval_prompt' => 'auto'         ];

Please report this issue to the main oauth2-client repository, as it cannot be solved here. Thanks!

@xkobal good solution, I will add it.


feat(tools): Add Tools Template

Add Tools Template

Small issue with Libraries folder:
astro.config.mjs error in work "Libraries"
	{
	label: "Libaries",
	collapsed: true,
	items: [
		{ label: "Overview", link: "/tools/libaries" },
	]
	},

Also, there isn't a folder names libraries under tools


Add Manual Vertical Positioning of Player Bar and Macro Hotbar

This is to overcome limitations surrounding the Player Bar and Macro Hotbar being hidden behind the taskbar of the Taskbar module by theripper93.
Allow setting for:

Manual (Horizontal)
Manual (Vertical)
Manual (Both)

Screenshot of current issue:

This appears to be the same issue as #52 .
An alternative (and maybe simpler) option would be to provide a 'default position' option for each element's position option that refrains from overwriting it's position via CSS (and thereby overwriting any changes other modules might be making).

I'll second support for this request. If possible, I'd also appreciate a toggle to disable to macro bar slide when hovered.


Bugfix: set username to random string if missing in RestWrite

Can you add a test which checks this and makes 2 anon users?

I added a test but have a couple of questions on this:

User signup tests seem to be in RestCreate.spec but call rest js so not following the same name convention - is this the convention?
Merely creating two anonymous users would not fail the test in the original code, also need to check username uniqueness - so should this be tested somewhere else?

Most of the existing tests are ported from older code, and while their location might have made sense at the time, they aren't necessarily using great conventions right now, so please don't feel obliged to stick to the existing convention.
There was a bug where creating a second anonymous user would fail due the unique username check and them both having a username of '' but this diff should fix that. The test is to make sure that it is fixed.


use mph instead of default kph

@dgearhart @kdiluca Could one of you please confirm that this is formatted properly?
Closes #356

@meghanhade yes looks good :shipit:


fix wrong R2's in plot_cv due to not subsetting training data

fixes #254

Codecov Report
All modified and coverable lines are covered by tests :white_check_mark:

Project coverage is 92.45%. Comparing base (e6f1931) to head (4dd28c4).
Report is 1 commits behind head on main.

Additional details and impacted files
@@           Coverage Diff           @@
##             main     #264   +/-   ##
=======================================
  Coverage   92.45%   92.45%
=======================================
  Files          62       62
  Lines        3617     3618    +1
=======================================
+ Hits         3344     3345    +1
  Misses        273      273

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


Compact Web: Missing --web.route-prefix and --web.external-prefix wrong

Thanos, Prometheus and Golang version used:
Using official docker release for 0.12.2
Object Storage Provider:
NA
What happened:
--web.external-prefix= is supposed to be for the external path as referred to in links but is supposed to serve the content still from /
--web.route-prefix= is supposed to actually serve it on a subpath, unfortunately compact currently lacks this flag.
From the documentation of query:
 --web.route-prefix=""      Prefix for API and UI endpoints. This allows thanos UI to be served on a sub-path. This option is analogous to --web.route-prefix of Promethus.
 --web.external-prefix=""   Static prefix for all HTML links and redirect URLs in the UI query web interface. Actual endpoints are still served on / or the web.route-prefix. This allows thanos UI to be served behind a reverse proxy that strips a URL sub-path.

From the documentation of compact (same as query just missing route-prefix):
--web.external-prefix=""  Static prefix for all HTML links and redirect URLs in the bucket web UI interface. Actual endpoints are still served on / or the web.route-prefix. This allows thanos bucket web UI to be served behind a reverse proxy that strips a URL sub-path.

If connecting to localhost it should be http://localhost:10902/loaded but on the reverse proxy it would be http://external/prefix/loaded which would get rewritten as http://internal/loaded
What you expected to happen:
Compact should follow the behavior as defined in the documentation and the other components of thanos.
How to reproduce it (as minimally and precisely as possible):

thanos compact --http-address="<IP_ADDRESS>:10902" --web.external-prefix=/bucket
go to http://localhost:10902/global -- won't work
go to http://localhost:10902/bucket/global -- does work but shouldn't because it's the wrong option.

Anything else we need to know:
This was incorrectly fixed in https://github.com/thanos-io/thanos/issues/2338
The code as it was, was correct, what the submitter really wanted was the --web.route-prefix which is missing from thanos compact. He should not expect to see anything outside of / if using --web.external-prefix.

We plan on fixing this soon. cc @prmsrswt

Still valid, and help wanted!

Same here...
Set --web.external-prefix=tools/thanos-bucketweb
go to http://domain/tools/thanos-bucket -- won't work
go to http://domain/tools/thanos-bucket/metrics-- does work
Looking into HTTP response, seems like the /static is pointing to tools/static instead of tools/thanos-bucketweb/static...i also tried set --web.external-prefix=tools , /tools and a lot of other combinations, but nothing works

Still ongoing. set the
--web.route-prefix=/xxxx
--web.external-prefix=/xxxx

and it's still not working, it ignores the flags, using the latest ver available, 0.24.0

Still ongoing

If no one else is working on it, maybe I could take a stab at this sometime?
Thanks!

Not sure where did this issue went sideways, @onprem , do you guys still need to help this fixed?


Color Gradients for Storybook

Related Issue: #130
Related PR: #136
Summary:
While Storybook is generally used for displaying full Components, I've used it in personal projects as a style guide for newcomers. With this in mind, I think having an easy overview of all available colors in Guppy's palette is a great tool for new contributors and experienced users alike.
I took a page from @j-f1's book and deployed this to Netlify for easy demoing - link here.
Screenshots/GIFs:

Alright, I added a second story with the entire Material Design palette. I also tweaked the utils logic to use the existing color package, and added a short disclaimer at the top of each story explaining its purpose.
I also added in a small tweak in manager-head.html to remove the second scrollbar displayed on the right side of the preview panel (I use Chrome Canary so I'm not sure if this is a common problem, if it's not just let me know and I'll drop that from the PR.)
The Netflify preview has also been updated - visit it here.

Here's a preview of the new story:

Closing this, as it's been replaced by #152


how to add new links or items in sidebar

how to add new links or items in side bar i didnt find any component to add more items

i have found it


expecting image::dynimage::DynamicImage but getting DynamicImage instead

Here is my main:
use spectrust::*;
use image::*;
fn main() {
let img = image::dynimage::open("images.png").expect("Unable to locate file.");
match locate_image(&img, None, None, None) {
    Some((x, y, img_width, img_height, _confidence)) => {
        println!("x: {}, y: {}, width: {}, height: {}",x, y, img_width, img_height)
    },
    None => println!("Image not found")
}

}
and my Cargo.toml:
[package]
name = "SpectRust-fun"
version = "0.1.0"
edition = "2021"
[dependencies]
image = "0.25.5"
spectrust = "0.2.0"
When trying to run the program I am getting the following error:
error[E0308]: mismatched types
--> src/main.rs:7:24
|
7   |     match locate_image(&img, None, None, None) {
|           ------------ ^^^^ expected image::dynimage::DynamicImage, found DynamicImage
|           |
|           arguments to this function are incorrect
|
= note: DynamicImage and image::dynimage::DynamicImage have similar names, but are actually distinct types

From a quick look. It looks like you are using the wrong image version. Its image = "0.24.6".
Since I don't have as much time as usual to work on this project. I'd suggest looking at https://github.com/DavorMar/rustautogui
He's done a great job with his image functions.

Thank you! That worked. I am new to rust and I didn't realize how much of a difference the version would make.


[Package CMO] Diagnose missing library-evolution flag.

This PR ensures library-evolution is enabled for Package CMO; without it, it previously fell back to regular CMO, which caused mismatching serialization attributes if importing another module that had Package CMO enbaled, causing an assert fail for loadable types.
Resolves rdar://135308288&135276295

@swift-ci smoke test

@swift-ci smoke test


Add commit sha to create tag webhook payload

Gitea version (or commit ref): - (latest gogs tested 0.9.99)
Database:

[ ] PostgreSQL
[ ] MySQL
[x] SQLite

Description
Drone 0.5 can not support tag hooks from Gitea when no commit sha is present in the webhook payload.
Drone needs the commit sha to request the .drone.yml config file through the Gitea API.
Drone issue link: https://github.com/drone/drone/issues/1870
Desired webhook payload:
{
+ "sha": "940bd336248efae0f9ee5bc7b2d5c985887b16ac",
  "ref": "v1.0.0",
  "ref_type": "tag",
  "repository": {
    "id": 1,
    "owner": {
      "id": 1,
      "username": "gordon",
      "full_name": "Gordon the Gopher",
      "email"<EMAIL_ADDRESS>      "avatar_url": "https://secure.gravatar.com/avatar/8c58a0be77ee441bb8f8595b7f1b4e87"
    },
    "name": "hello-world",
    "full_name": "gordon/hello-world",
    "description": "",
    "private": true,
    "fork": false,
    "html_url": "http://gogs.golang.org/gordon/hello-world",
    "ssh_url": "git@gogs.golang.org:gordon/hello-world.git",
    "clone_url": "http://gogs.golang.org/gordon/hello-world.git",
    "default_branch": "master",
    "created_at": "2015-10-22T19:32:44Z",
    "updated_at": "2016-11-24T13:37:16Z"
  },
  "sender": {
    "id": 1,
    "username": "gordon",
    "full_name": "Gordon the Gopher",
    "email"<EMAIL_ADDRESS>    "avatar_url": "https://secure.gravatar.com/avatar/8c58a0be77ee441bb8f8595b7f1b4e87"
  }
}

Go @bkcsoft go ! :)

tag still not work, drone give back 404, when a tag delivery
gitea log is here
[Macaron] 2016-12-19 15:40:21: Started GET /RPM_Builder/Youzu_RPMs.git/info/refs?service=git-receive-pack for <IP_ADDRESS>
2016/12/19 15:40:21 [D] Session ID: d451bd5caaf084a5
2016/12/19 15:40:21 [D] CSRF Token: Rn44b8gK2qKTcnOt_LHn682aILc6MTQ4MjEzMzIyMTA0MjgwMDM5NA==
[Macaron] 2016-12-19 15:40:21: Completed /RPM_Builder/Youzu_RPMs.git/info/refs?service=git-receive-pack 401 Unauthorized in 6.07528ms
[Macaron] 2016-12-19 15:40:21: Started GET /RPM_Builder/Youzu_RPMs.git/info/refs?service=git-receive-pack for <IP_ADDRESS>
2016/12/19 15:40:21 [T] Dialing LDAP with security protocol (0) without verifying: false
2016/12/19 15:40:21 [T] LDAP will use BindDN.
2016/12/19 15:40:21 [D] Session ID: d5fab17a1e55f0a7
2016/12/19 15:40:21 [D] CSRF Token: MVtFVap6gQvcF6xJDiXLvEtMuP46MTQ4MjEzMzIyMTA2MTA4Njk4MQ==
2016/12/19 15:40:21 [T] Dialing LDAP with security protocol (0) without verifying: false
2016/12/19 15:40:21 [T] LDAP will use BindDN.
[Macaron] 2016-12-19 15:40:21: Completed /RPM_Builder/Youzu_RPMs.git/info/refs?service=git-receive-pack 200 OK in 325.485292ms
[Macaron] 2016-12-19 15:40:21: Started POST /RPM_Builder/Youzu_RPMs.git/git-receive-pack for <IP_ADDRESS>
2016/12/19 15:40:21 [T] Dialing LDAP with security protocol (0) without verifying: false
2016/12/19 15:40:21 [T] LDAP will use BindDN.
2016/12/19 15:40:21 [D] Session ID: 50b0501f5c4c1cdd
2016/12/19 15:40:21 [D] CSRF Token: 1r8VSvXjCTke_2zYojS1MeFvG7c6MTQ4MjEzMzIyMTQwMjY2MTk4MQ==
2016/12/19 15:40:21 [T] Dialing LDAP with security protocol (0) without verifying: false
2016/12/19 15:40:21 [T] LDAP will use BindDN.
[git-module] /data/gitlab/ceph/gogs/rpm_builder/youzu_rpms.git: git show-ref --verify refs/tags/refs/tags/v0.0.5
2016/12/19 15:40:21 [...tea/models/update.go:131 PushUpdate()] [E] GetTagCommitID[refs/tags/v0.0.5]: object does not exist [id: refs/tags/refs/tags/v0.0.5, rel_path: ]
2016/12/19 15:40:21 [T] DeliverHooks [repo_id: 5]
2016/12/19 15:40:21 [T] AddTestPullRequestTask [head_repo_id: 5, head_branch: refs/tags/v0.0.5]: finding pull requests
[Macaron] 2016-12-19 15:40:21: Completed /RPM_Builder/Youzu_RPMs.git/git-receive-pack 200 OK in 537.17117ms
2016/12/19 15:40:21 [T] AddTestPullRequestTask [base_repo_id: 5, base_branch: refs/tags/v0.0.5]: finding pull requests
2016/12/19 15:40:23 [T] Hook delivery failed: 09afbc5f-d6d3-4e31-8102-0ca74053ab28
[Macaron] 2016-12-19 15:42:37: Started GET /RPM_Builder/Youzu_RPMs/settings/hooks/10 for <IP_ADDRESS>
2016/12/19 15:42:37 [D] Session ID: fdc28ecacbf97bca
2016/12/19 15:42:37 [D] CSRF Token: y23MahUmnNk-3x8SfbW1oF5MT_I6MTQ4MjEyOTU3NDM3MDAyNDI2MA==

Your webhook failed to deliver, so the drone log could be interesting.

drone log just 404, i found the 404 is from gitea api,  api/v1/repos/owner/repos/raw/file always 404.
#426


Address deprecation warnings when compiling MonHub apps

There are several deprecation warnings that are output in Travis CI when compiling the MonHub apps. Elixir apps can be compiled with --warnings-as-errors  which would cause Travis CI to fail on warnings. This should be added and all warnings should be fixed so that we no longer pass CI with warnings in order to prevent any potential issues that may arise from them.

Addressed by #1994


Resolve typescript paths when compiling libraries

If we setup the typescript paths option for libraries the libraries get compiled without resolving the paths.  For example if we declared a path like this:
      "@app/*": ["projects/my-lib/src/lib/*"]

And build.  The compiled fesm2015 will look like this:
import { Test } from '@app/test';

I have been using typescript transform paths for this in the past, but I was hoping Angular Library support would have it baked in.
https://www.npmjs.com/package/typescript-transform-paths

Duplicate of https://github.com/angular/angular-cli/issues/16367


[query] dedup query param should let specify dedup labels not just true/false

We are basically move the source of truth for replica labels to the client.
Benefits:

We allow to specify replica label on UI per each query
No more fixed replica label on startup
Allowance for many replica labels across cluster (This is actually downside ;p)

Cons:

if you have the rulers out of sync regarding the replica label -> it's bad

From our production experience, there's little benefit in allowing users to choose the replica label.
This is an abstraction that is relevant from the infrastructure perspective, metrics consumers don't care if there's deduplication happening behind the scenes as long as their data is there.
In our setup, the replica label is replica, and we always append a random hash to the end of it, making it unique, avoiding overlapping blocks in s3.
This would add a difficult to explain concept in the client UI and could lead to wrong data from more inexperienced users that don't even know the difference between prometheus and thanos.

@bwplotka is it still a plan?


Prebuilt workload suport

What type of PR is this?
/kind feature

What this PR does / why we need it:
Add the possibility for a job to take the ownership of an existing workload instead of creating it's own.
The target workload is specified in the kueue.x-k8s.io/prebuilt-workload-name  label of the job.
If the workload is not present , the job will stay suspended.
If the workload exists but is not equivalent with the job, it will be marked as Finished with failure and the job will remain suspended.
Which issue(s) this PR fixes:

Relates to #693
Special notes for your reviewer:
For batch/job, the pod-template gets a set of lables derived from  the job name and object UID, these labels should not be modified by  RunWithPodSetsInfo  or RestorePodSetsInfo.  This is covered in the current PR.
Other job types might have different special behavior to take into account, that is why we  limit the usage of the feature to batch/job for now. We should extend the list of  supported job types as needed during the job type integration with multikueue.
Does this PR introduce a user-facing change?

Add prebuilt workload support for batch/job.

/assign @mwielgus

/lgtm
/assign @tenzen-y @alculquicondor

/hold
To address the comment about the e2e tests

/unhold
@mimowo

/lgtm

ACK

What if I want to delete a Workload before a Job had a chance to use it?
Would the Workload be finalized? Or is that something that will be solved with #1454 ?

This should be manage by the mechanism that creates the wl.
(overall having the wl finalizer set only for the duration ta ability to restore the podset info wold have made this easier)

/lgtm


Add animations examples

NOTE: this pull request is in draft state, so you can provide any feedback before I add any more documentation.
So far, I've added two additional sections to examples.rst:

Animations: the examples/neopxl8_simpletest.py file code and
Adafruit LED Animation Functions: a list of Adafruit LED Animation Functions

For the LED Animations Functions section, I've included the first two of twelve so you can see what I'm thinking of doing for each function. My thought is to include the following for each animation function:

name of the function,
include a brief description,
provide a code snippet showing how to import and call the function
list the parameters (both required and default parameters).

Please let me know if you have any questions or concerns with the path I'm taking.

Sorry, I forgot to initialize pre-commit. I will do that and fix the trailing whitespace error.

Hi!  Thanks for the submission.  Is this ready for review?

If you like what I've done so far, my plan was to include similar code samples and explanations for the remaining LED animation functions.

Sure!  Just say whenever its ready - I just wanted to make sure it wasn't accidentally marked as draft and therefore accidentally ignored.

My recommendation would be to add your code, comments, and documentation as working Python files in the examples/ folder so that people can readily add them to their device.  Having working examples files they can immediately use and begin tweaking will help them better understand the functionalities.

Sounds good. I can do that. Also, I'll be testing it on a Feather Scorpio
and that way, I can attest to the code. If I have the time, I might also
record short videos/gifs of the code in action on my neopixel strands and
include them in the rst files.
On Sun, Jul 30, 2023 at 7:25 PM Alec Delaney @.***>
wrote:

My recommendation would be to add your code, comments, and documentation
as working Python files in the examples/ folder so that people can
readily add them to their device. Having working examples files they can
immediately use and begin tweaking will help them better understand the
functionalities.
—
Reply to this email directly, view it on GitHub
https://github.com/adafruit/Adafruit_CircuitPython_NeoPxl8/pull/9#issuecomment-1657401932,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AA5GKUSAMIVUP4KJUTEZXGTXS4JQTANCNFSM6AAAAAA2SDCEJQ
.
You are receiving this because you authored the thread.Message ID:
@.***>


Clipboard option

Hi,
I'm using on Android, how to disable clipboard?
Thanks in advance.

Press Ctrl-e then type > set clipboard internal.

Thank you!


Revert "Revert "Add implementations for getPreferredExtensions""

This reverts commit 25172d0c0a8415c284cdae0933b11a70f9813d58, and includes a bugfix in a caller of getPreferredExtensions().
Capnp PR: https://github.com/capnproto/capnproto/pull/1943

Need to fix the capnp dep, but will do that once the capnp PR is merged.

Normally it's best to separate the bugfix into a separate commit after the un-revert. Though in this case it's pretty easy to see.

Normally it's best to separate the bugfix into a separate commit after the un-revert. Though in this case it's pretty easy to see.

I agree, but was recently convinced it's better to not introduce breaking commits at all. In a situation like this, I guess the best of both worlds would be have separate commits during development and then squash into one before merging?

https://github.com/cloudflare/workerd/compare/5d650309f454b52ab2a79f02a982660b828a241f..cef4d968e89cbcc5aea46d7f0ab70097fcb2bfe4 updates the Cap'n Proto dep.
https://github.com/cloudflare/workerd/compare/cef4d968e89cbcc5aea46d7f0ab70097fcb2bfe4..ca2bb50963da82a489fe81747ca6995c3444efab is a rebase

I agree, but was recently convinced it's better to not introduce breaking commits at all. In a situation like this, I guess the best of both worlds would be have separate commits during development and then squash into one before merging?

I normally make that argument too, but I think having clear reviewability outweighs the desire to have commits that aren't broken. And anyway, if you are reverting a previous rollback, that implies that equivalently broken commits existed in the past.


Layer freezes while extracting?

Definitely a noob at npm, when I run 'npm install', it freezes at:
[            ......] / extract:aws-sdk: sill extract<EMAIL_ADDRESS>extracted to /home/foo/serverless_apps/chromda/node_modules/.staging/...
  Thanks in advance if there are any ideas about this.
Ubuntu 19.10, npm version 6.13.4, node.js version 12.14.0
sls --version
Framework Core: 1.58.0
Plugin: 3.2.5
SDK: 2.2.1
Components Core: 1.1.2
Components CLI: 1.4.0

Installed after many attempts.


Got a crash.

Seems to be related to hordes? I have it set so zombies can attack and convert animals into their zombified counterparts and those counterparts convert other convertable mobs into their zombified forms, but it seems that the handler for your mod and mobs zombifying each other causes a crash. My best guess is a zombified pig tried to zombify another pig and both the handler for zombification for your mod and hordes activated at the same time and broke the game.
crash-2024-07-27_15.33.56-server.txt

Can confirm. Tested it myself.

As stated in the crash report: Have you reported this to the Connector issue tracker?

As stated in the crash report: Have you reported this to the Connector issue tracker?

I do not believe this is a connector issue. I will test without connector and see if this crash still happens.

As stated in the crash report: Have you reported this to the Connector issue tracker?

Can confirm. Connector has nothing to do with it.
crash-2024-07-27_18.52.36-server.txt

As stated in the crash report: Have you reported this to the Connector issue tracker?

Can confirm. Connector has nothing to do with it. crash-2024-07-27_18.52.36-server.txt

Double confirmed. Got it to crash twice even without forgified fabric.
crash-2024-07-27_19.02.28-server.txt

Also, another bug issue I've noticed. Cats that get zombified happen to change their variant for some reason.


Add Support for OpenSearch as Embedding Store

This PR contains the implementation of an integration with OpenSearch. As one of the growing vector databases in the open source world, adding support for it to this project makes total sense. This implementation includes:

A complete implementation of the EmbeddingStore interface.
Unit tests for the major use cases a store must implement correctly.
Usage of TestContainers to automate the execution of backends.

I'm looking forward to your review and any suggestions you may have.

@riferrei thanks a lot for your contribution! We're a bit busy right now, will be able to look at it in a few days.


handling server side graphql errors without suspense

with getDataFromTree you could wrap the call in a try-catch block to prevent graphql errors from crashing app, since you could still render the html markup
but since getDataFromMarkup combines fetching data and rendering html, how should server side graphql errros be handled if you're not yet using suspense?

@alidcastano you should be able to wrap getDataFromMarkup  in a try-catch block. This snippet should work:
try {
  await getMarkupFromTree({ tree, renderFunction: renderToString });
} catch (error) {
  // ...
}

yea but since the getMarkupFromTree also renders the markup, if it fails then you can't render the app. ideally graphql errors wouldn't cause it to fail, that's how I've usually seen it handled i.e. in Nextjs

Yes, good catch. It seems our implementation of getMarkupFromTree is incompatible with the one in react-apollo: https://github.com/apollographql/react-apollo/blob/6a02550db2b14881582ede2c4e1a3e1ef51f0b7a/test/client/getDataFromTree.test.tsx#L1572. We should change this behavior.

@trojanowski yea it'd be great if react-apollo-hooks implementation could be compatible so that we can handle errors in the app itself (rather than having to deal with the error / restart the response in the server middleware)

so would it be OK to remove this snippet here? https://github.com/trojanowski/react-apollo-hooks/blob/master/src/getMarkupFromTree.tsx#L32-L34
and let end user decide how they want to handle errors


Fixed builds that don't require code coverage

the "no" string was passed to xcodebuild as an argument which made it fail all the time

thanks!


Display term names for "consider" list for obsolete GO terms

Hi,
When a term is OBSOLETE, it would be very helpful to also display the term name for the GO terms to consider in the Comment section of the term page.  See, for example, the list of three GO terms for 'chaperone activity' at:  http://amigo.geneontology.org/amigo/term/GO:0003754
Users could then see straight away what other terms might be most relevant to their search.
Thanks,
--Kimberly

I think this should be straightforward. No parsing of comments required. Everything is there in the ontology and should be loaded into golr.
I note that currently obsoletes resolved to a 404 which is not good
http://amigo.geneontology.org/amigo/term/GO:0003754

Are we loading consider?
No matter what is loaded into golr, as things stand now, it would require the perl code to take multiple passes at the backend to try and find the right document (in this case we're not searching, we're just pulling the identifier, which I think is a much better idea).
The best way to do this might be with an "acceptable identifier" field that could be used; primary choice would be the one that also had the same id, next a unique one that didn't, finally a user choice if there are somehow multiple ones.
No matter what, non-trivial code changes that would need more testing, so likely 2.3 and not 2.2.

To answer my own question, yes, we are loading consider.
property: [getAnnotationPropertyValues, consider]
The perl backend still would have to be changed a bit, and I think it would be better done with a new single field.

Not following you about multiple passes. Should be easy, can discuss today. But yes 2.3 is fine.

This has been discussed offline with @cmungall. While the labels are a desired feature, the extra mechanism needed (label-id maps for consider) is lower priority at this point and will be considered for 2.3.

I have to admit to punting on this in the paint/touchup code. It uses
replaced by, or failing that those that were merges and are found as
synonyms, but I ran out of steam in adding 'consider' to the report I give
the curators.
-S
On Tue, Jan 27, 2015 at 1:27 PM, kltm<EMAIL_ADDRESS>wrote:

This has been discussed offline with @cmungall
https://github.com/cmungall. While the labels are a desired feature,
the extra mechanism needed (label-id maps for consider) is lower priority
at this point and will be considered for 2.3.
—
Reply to this email directly or view it on GitHub
https://github.com/kltm/amigo/issues/156#issuecomment-71731457.

@selewis is your comment for this (amigo) issue, or should it me in the touchup tracker?

I was thinking touchup, but it would be good if we had a coherent approach to this that we agree on.

@selewis there is only one way that it can be done in AmiGO/GOlr: we will be able to add this once we have the additional search/lookup and maps created in the loader.


Unable to update schema views using npx command

[READ] Step 1: Are you in the right place?
Yes, I am
[REQUIRED] Step 2: Describe your configuration

Extension name: firestore-bigquery-export
Extension version: 0.1.30
Configuration values (redact info where appropriate):

Cloud Functions location :europe-west1
2.BigQuery Dataset location : europe-west1
3.Project Id : vega-stage-ff934
4.Collection path : sessions
5.Dataset ID: vega_ai
6.Table ID:sessions

[REQUIRED] Step 3: Describe the problem
Steps to reproduce:
I am unable to update the schema views for any of my extensions. I am trying to remove a field that i had added earlier using the below command.(Reference Link: https://github.com/firebase/extensions/blob/master/firestore-bigquery-export/guides/GENERATE_SCHEMA_VIEWS.md)
I am using the following command
npx @firebaseextensions/fs-bq-schema-views --non-interactive --project=vega-stage-ff934 --dataset=vega_ai --table-name-prefix=sessions --schema-files=./sessions.json
Expected result
It should update the schema successfully
Actual result
I get the following error
{"code":"app/duplicate-app","message":"The default Firebase app already exists. This means you called initializeApp() more than once without providing an app name as the second argument. In most cases you only need to call initializeApp() once. But if you do want to initialize multiple apps, pass a second argument to initializeApp() to give each app a unique name."}
The default Firebase app already exists. This means you called initializeApp() more than once without providing an app name as the second argument. In most cases you only need to call initializeApp() once. But if you do want to initialize multiple apps, pass a second argument to initializeApp() to give each app a unique name.
This used to work before. I think the last time i tried was before 2 weeks.

I'm having a similar error when importing all the data from a collection. I haven't used this extension in a while and decided to give it a try an hour ago
The error I'm getting is
Error importing Collection to BigQuery: Error: The default Firebase app already exists. This means you called initializeApp() more than once without providing an app name as the second argument. In most cases you only need to call initializeApp() once. But if you do want to initialize multiple apps, pass a second argument to initializeApp() to give each app a unique name.
And here's a print with the settings

Runnin older version solves the issue for the time being:
npx<EMAIL_ADDRESS>--non-interactive ...

should be fixed now, ping if this still occurs on the latest published version of the script :)

I pulled the next branch a couple hours ago (I noticed the fix was merged in to the branch) and run the import script directly. Looks like it worked, thanks!


Choose between "lock" and "AsyncLock"

I'm sorry for asking some personal questions here, because my stackoverflow account can not to ask more questions.
Consider the following codes, which option is better?  What worries me is that the lock statement will block thread in option 1, will this reduce the parallelism of the CalledFromMultiThreads method?
option 1
class A {
    private readonly B _b = new B();

    public async Task CalledFromMultiThreads() {
        ...
        var x = _b.Get();
        ...
    }
}

class B {
    private readonly object _lock = new object();
    private readonly Dictionary<K, V> _d1 = ...;
    private readonly Dictionary<K, V> _d2 = ...;

    public XXX Get() {
        lock (_lock) {
            ... // some complex logic about _d1 and _d2
            return xxx;
        }
    }
}

option 2
class A {
    private readonly B _b = new B();
    private readonly AsyncLock _lock = new AsyncLock();

    public async Task CalledFromMultiThreads() {
        ...
        using (await _lock.LockAsync()) {
            var x = _b.Get();
            ...
        }
        ...
    }
}

class B {
    private readonly Dictionary<K, V> _d1 = ...;
    private readonly Dictionary<K, V> _d2 = ...;

    public XXX Get() {
        ... // some complex logic about _d1 and _d2
        return xxx;
    }
}

option 3
class A {
    private readonly B _b = new B();

    public async Task CalledFromMultiThreads() {
        ...
        var x = await _b.GetAsync();
        ...
    }
}

class B {
    private readonly AsyncLock _lock = new AsyncLock();
    private readonly Dictionary<K, V> _d1 = ...;
    private readonly Dictionary<K, V> _d2 = ...;

    public async Task<XXX> GetAsync() {
        using (await _lock.LockAsync()) {
            ... // some complex logic about _d1 and _d2
            return xxx;
        }
    }
}

I usually use plain lock if the statements inside the lock are synchronous and if the calling code is fine with blocking synchronously.
If the calling code wants to block asynchronously (i.e., do other things while the lock is pending) or if the statements inside the lock are asynchronous, then use AsyncLock or SemaphoreSlim.

Will blocking synchronously in async method degrade performance?

Possibly, possibly not. That depends on how contentious the lock is and how busy the thread pool is.

Got it, thanks your guide. 🌹


bug(rich-text) down-arrow in code block exits the code block even when more lines in the code block below cursor

Describe the bug
Pressing the down arrow key in a code blocks with multiple lines moves out of the code block, instead of down to the next line in the code block.
To Reproduce

RT mode
Add text with multiple lines, make into code block
Cursor on the top line
Down arrow on keyboard
Observe: cursor skips remaining lines in the code block, exits code block

Expected behavior
If additional lines below cursor in the code block, down arrow should move to next line. Down arrow should only exit code block when cursor is on the last line in the code block.
Screenshots

In demo, user pressed: down up up
Desktop (please complete the following information):

OS: [e.g. iOS]
Browser [e.g. chrome, safari]
Version [e.g. 22]

Smartphone (please complete the following information):

Device: [e.g. iPhone6]
OS: [e.g. iOS8.1]
Browser [e.g. stock browser, safari]
Version [e.g. 22]

Additional context
Add any other context about the problem here.

Potentially related to #199 ?


failing test for ongoing bjorn issue

For a long time, I've encountered a weird issue involving the buddy bjorn and the maximizer that I've had a hard time describing and duplicating. No longer!
I've also had issues when assigning a bonus value to the buddy bjorn rather than using +equip, although I had a much harder time writing a failing test for that.

I will fix whatever is failing about this in the morning.

I didn't mean to close this, and must have hit the wrong button when going to bed. Whoops!

Well it's back opened again so no harm, no foul.

This only happens if no familiar is assigned to the bjorn when you do -buddy-bjorn, right? Due to the code starting line 387 in MaximizerSpeculation.java.
The easiest fix for exactly this case is to change that line to if (useBjornFamiliar != FamiliarData.NO_FAMILIAR || item.requiredFlag) {.

This only happens if no familiar is assigned to the bjorn when you do -buddy-bjorn, right? Due to the code starting line 387 in MaximizerSpeculation.java.
The easiest fix for exactly this case is to change that line to if (useBjornFamiliar != FamiliarData.NO_FAMILIAR || item.requiredFlag) {.

I've also encountered this in situations where I assign a large bonus to the bjorn, rather than making it a requirement. That being said, this does seem to stop this test from failing without making any others fail as well. Thanks!

I feel like this is a feature request and not a bug.  As I understand it, the desire is to force an empty bjorn to be equipped.  This is not easily done because an empty bjorn is almost never going to be chosen in comparison to a full one.  Similarly an empty bjorn is unlikely to be a preferred back item.  My very quick and superficial look at the code suggests that the distinction between forcing or equipping a bjorn in the back slot and equipping a familiar in the bjorn slot, if a bjorn is equipped is not made.  Perhaps it should be.

Fixed this myself. I see that there was a commit fixing this for the crown, but not adding the test, which I just did.

Hey y'all, thanks for taking over on this; I became very busy at work this week and had to step away. Great work!


Different loading style crash the game

any idea why lua.script_file(path1); will crash my game while sol::load_result script = lua.load_file(path); + script(); will not? I am using sol::state_view lua(L);
path.lua contains only variables while path1.lua contains variables and functions + register function
edit: even if I create a brand new state with sol::state nlua;, using script_file will still crash the game

Please use the safety versions of script_file such as safe_script_file to obtain error information that you can print out and inspect to help solve your errors.

		fLog("1"); 		sol::protected_function_result scriptresult1 = nlua.safe_script_file(path1); 		fLog("loading into result"); 		fLog("string: %s, int: %d", scriptresult1, scriptresult1.valid());
my log prints out "1", but it never got to "print loading into result"


Allow setting low speed timeouts via Configurable

Expose libcurl's low speed timeout functionality by adding
a low_speed_timeout() method to Configurable.

This has been included in the 1.3.0 release!


Excessive Logging from CronJob

Summary
I am  not sure if this should be categorized as a bug or feature request as I think its just undesirable behavior. I am also not sure if this is an issue with just microk8s or an upstream component.
daemon.kubelite generates excessive logs in certain cases for CronJobs. I have a cronjob that has concurrencyPolicy: Forbid set. I had a machine run out of space due to repeatedly generating the following message in syslog:
Apr  8 03:59:59 lambda-quad microk8s.daemon-kubelite[839288]: I0408 03:59:59.994995  839288 event.go:294] "Event occurred" object="default/cron-sitemap" fieldPath="" kind="CronJob" apiVersion="batch/v1" type="Normal" reason="JobAlreadyActive" message="Not starting job because prior execution is running and concurrency policy is Forbid"
This message gets generated thousands of times per second (my estimate).
What Should Happen Instead?
I don't think its my place to be to prescriptive on how this problem might be solved. I couldn't find a way to control the log level of kubelite (in contrast to containerd). I would like to not have a machine will up with this log message.
Reproduction Steps

Create a CronJob that runs for a long time with concurrencyPolicy: Forbid
Have the second attempt to run the job start while the previous one is still running.

Introspection Report
inspection-report-20230408_065938.tar.gz
Can you suggest a fix?
No.
Are you interested in contributing with a fix?
Potentially. I looked around to see if I could track down exactly where this happens and I was not successful.

Hi @sseveran the fact that this log message is printed along with its frequency should be raised with the upstream kubernetes project.
What we can offer is some info on how to alter the log verbosity. kubelite starts all k8s services. The log level can be set via the -v <log level ranging from 0 to 9> flag in the files kube-apiserver, kubelet, kube-proxy,  kube-scheduler, kube-controller-manager under /var/snap/microk8s/current/args/. A microk8s.stop and microk8s.start is needed after setting the log level.

Reported upstream here (we observed the same thing) https://github.com/kubernetes/kubernetes/issues/118789

Hi @sseveran , do you happen to have the full cronjob yaml (spec + status - sensitive stuff) that was causing the issue (from your inspection report looks like that would be default/cron-sitemap)?
I'm having difficulties reproducing this with a simple cronjob and suspect there might be something more here that's causing the issue (maybe something in the cronjob status? hard to know).


mpvScripts.manga-reader: init at unstable-2024-03-17

mpv script to read manga files

https://github.com/Dudemanguy/mpv-manga-reader

mpv-manga-reader is a script aimed at making mpv a usable manga reader.
Description of changes

Things done

Built on platform(s)

[x] x86_64-linux
[ ] aarch64-linux
[ ] x86_64-darwin
[ ] aarch64-darwin

For non-Linux: Is sandboxing enabled in nix.conf? (See Nix manual)

[ ] sandbox = relaxed
[ ] sandbox = true

[ ] Tested, as applicable:

NixOS test(s) (look inside nixos/tests)
and/or package tests
or, for functions and "core" functionality, tests in lib/tests or pkgs/test
made sure NixOS tests are linked to the relevant packages

[ ] Tested compilation of all packages that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD". Note: all changes have to be committed, also see nixpkgs-review usage
[x] Tested basic functionality of all binary files (usually in ./result/bin/)
24.05 Release Notes (or backporting 23.05 and 23.11 Release notes)

[ ] (Package updates) Added a release notes entry if the change is major or breaking
[ ] (Module updates) Added a release notes entry if the change is significant
[ ] (Module addition) Added a release notes entry if adding a new NixOS module

[x] Fits CONTRIBUTING.md.

Add a :+1: reaction to pull requests you find important.

Hi @nbraud
Thanks alot for taking a look, and providing me with source and documentation to refer, and the commands that helped me walkthrough the changes without a hassle.
The merge conflict tag slipped my sight, I did not get notifed and I may have ignored it thinking its auto label by bot. I will be careful, and will update my setup according to the new changes & practises.
The feedback was very helpul, the source are helpful to learn and get more understanding on nix.
Thank you!


Discord API being deocommissioned

Discord API v6 & 7 will be decommissioned April 30th, matterbridge uses v6 so it will cease to work with discord, at all :)
https://github.com/discord/discord-api-docs/discussions/4510

Ha, ok sorry man I thought it was v6 because I looked at this one: https://github.com/42wim/discordgo/blob/master/endpoints.go#L15


[dif/autogen] remove need for DIF unit test header

Simplify DIF autogen structure by removing need for unit test header.
This addresses a review comment in #8286.
Signed-off-by: Timothy Trippel<EMAIL_ADDRESS>

SW build and lint clean. Merging.


Download Gists and Files

This change allows to download one or more Gists or Files locally. For more context see #266

@lostintangent can you please take a look at this PR when you have a minute? If we can merge this and #305 then we should publish a new version

Closing this since you're maintaining you're own clone of this extension


How to send nested key/value options to plugins

I'm on codepen trying to customize the features of my preset-env plugin use. I can send stage fine, but I'm not sure how to send the features object key and value.
@use postcss-preset-env {
  stage: 0,
  features: {
    "logical-properties-and-values": false
  }
}

I have the feature disabled in a local postcss setup, so i know the key/value is good. But on Codepen, it seems to be thrown away, or I can't figure out how to get the syntax right.
Help?

Also facing basically the exact same issue, trying to turn of a feature of preset-env in Codepen with no luck.


font-size mixing not working inisde for loop

I am using bootstrap and I have enabled the rfs.
With a simple loop I add some classes that handle the font size:
@for $i from 10 through 30 {
    .fs-#{$i} {
        @include font-size("#{$i/10}rem");
    }
}

Please for your advice.

"#{$i/10}rem" is parsed as a string, you can change this to:
@for $i from 10 through 30 {
    .fs-#{$i} {
        @include font-size($i * .1rem);
    }
}

https://codepen.io/MartijnCuppens/pen/MWwwbow


Fix adapters compatibility for older Puppet 3.x

Several of the configuration parameters listed in the Adapter3X class
were not compatible with older versions of Puppet 3.x.  For puppet
modules trying to maintain compatibility with older installations, this
caused rspec to fail.  This change splits the Adapter3X class into
multiple classes for different versions, each building on the previous
to add the configuration parameters introduced in each version.

Coverage decreased (-41.2%) to 50.308% when pulling c3096fd192aa1fe25ea117ac576ffcd5a5589f6e on jearls:fix_adapter_compatibility_for_older_puppet_3x into ba0d00ea9181eb55e50f674819ffb1e4578a9cf1 on rodjek:master.

Coverage decreased (-41.1%) to 50.375% when pulling 98d556f534045a9a3aa6aae388b6a5b5aef8c23f on jearls:fix_adapter_compatibility_for_older_puppet_3x into ba0d00ea9181eb55e50f674819ffb1e4578a9cf1 on rodjek:master.

Coverage decreased (-0.08%) to 91.396% when pulling aa227b25834f263c20050d9a47038781aa0157e2 on jearls:fix_adapter_compatibility_for_older_puppet_3x into ba0d00ea9181eb55e50f674819ffb1e4578a9cf1 on rodjek:master.

Coverage decreased (-0.08%) to 91.396% when pulling d4deec31f4f6a6591451e9a06785d828f34e9d00 on jearls:fix_adapter_compatibility_for_older_puppet_3x into ba0d00ea9181eb55e50f674819ffb1e4578a9cf1 on rodjek:master.

Thanks for the PR!
Just as a heads up, I'm going to be deprecating Puppet < 4.x support soon as it's EOL (and dropping it entirely in the 3.0.0 release)

2.6.5 has been pushed to rubygems


Should enumerations be Enumerable?

This was triggered a while ago by a discussion on the Boost.Devel mailing list. We could provide a macro allowing an enumeration to be defined, while at the same time giving it a model of the Enumerable concept. I'll consider adding this if enough people want it.

Louis, I should take the opposition on that, not necessarily on the removal of the concept, but the removal of succ and pred, for simple reason: When working with values and generic algorithms, you would want to get the next and previous possible value of a data type, like in a simple for loop where you do a for (int i = 0; i < 10; ++i) {}. Removing them seems like removing value-based algorithm capability and restricting the library to index-based algorithms.
As such, I would in fact propose the opposite direction of this commit, taking the point of your commit message into account: Re-introduce an inc and dec method, provide a general overload to operator++ and operator--, and add a max_val and min_val to the datatype to define bounds. That way you would have implicitely defined an interval, stride etc.
One might argue, that operator++ simply is plus(v, one(v)), but one is not necessarily the same value. Suppose a user wants to implement generic strides, like over even numbers as an extension to range, then inc and dec would equal 2, still with unit 1 to fulfil the laws of the ring.
That would then give you the opportunity to for (myT i = zero(myT()); i < max_val(myT()); ++i), for some type that has been somehow modified during compile-time to fit your actual run-time needs - a purpose I would assume to be quite common, as in iterate over all possible values and check whether they are included in a run-time sequence. Whether that defines a concept of an Enumerable or simply extends Iterable or something like Value_Iterable, I don't know. Perhaps Incrementable would suit best.
Besides, I would in fact vote for inc and dec to remove ambiguity. I read pred always as shorthand for predicate, like it is frequently used as template parameter, and am I bit irritated.

First, I agree with you that getting rid of Enumerable is taking the easy road instead of fixing the issue at the root by adding bounds. However, the thing is that I'd like Hana's concepts to be a little less spread out, because it's a large library in terms of concepts right now. In the same vein, I've been thinking about removing the abstract algebra based numerical hierarchy in favor of the "dumb" IntegralConstant concept. Sure, it's not as clean and general, but it's simpler and it's sufficient for most metaprogramming tasks. I've been thinking that maybe these would belong to another library focusing on the numerical hierarchy itself.
Basically, I'm torn between going for abstraction and generality or reducing the scope of the library.
Also, if I decide to keep Enumerable, I do agree that inc and dec would make more sense than pred and succ, and I'll rename them.

Dear Louis, I think your objective changed a little towards stripping Hana down to a version which would soon reach a stable state for a version 1.0. In that, simplifying the algebraic/mathematical parts appears reasonable to focus first on the other issues – like the references in tuples.
However, I find the basic idea to implement elementary algebraic and functional programming aspects quite compelling. And that is also a unique selling point of Hana. On the other hand, I’m fully agreeing with the point of the present concepts being rather bloated. It also took me quite a while to understand the rather crazily intertwined concepts. Either way, if there is any basic math operator overload, then all should be supported, including ++ and --, since these are part of the fundamental C++ vocabulary. If these are missing, one gets easily confused.
Beside that, and coming back to the matter of concepts in general: I see basically three ways, where the first should be an absolute minimal solution:

Move features you want to remove to a different branch, something like retired or hibernating_code - to remind yourself and others on the matter and those possibilities. Just deleting is bad since that knowledge is then lost.

Simplify the concepts into something like Algebraic which implements possibly all basic operator overloads (+,-,*,/, +=, -=, *=, /=, ++, --). Then, the concept would simply assume that they exist, and it would be the users responsibility to fully implement all or some of those. An algorithm would then have to check with when<…> whether the required methods are implemented. Most algorithms should only require one or two features of a data type. Similarly, Orderable, Comparable could be combined, etc.

Alternatively, you could really strip everything down and provide one Scalar or Element concept, one Container and a Functional concept, to use those solely to check a some sort of top level category. Probably an Indices concept should then follow, to provide range, stride, …
An algorithm could then simply complain about "this is not gonna work with a Scalar, just with a Container", or "I expect some Indices there". These concepts could then really define minimal implementations, plus some possible refinements. If the user provides those refinements, he would get specialized versions of algorithms, which could go into the library at some later point in time. The Algebraic or Math concept could in this scenario be a tutorial on how to use and extend Hana.

For myself, I was considering to use Hana for several possible aspects in a future code:

Re-arrange algebraic/calculus operations at compile-time to get efficient run-time code, on the basis that most of the computations evaluate to zero and could be filtered out a-priori.
Abstraction of underlying data structures from other but similar libraries (popular example: python data objects, but also other proprietary stuff).
Improvement of array/vector storage layout AoS, SoA, AoSoA, and on top of that choosing the most efficient algorithm for the hardware, from a selection of specific implementations.

Yes, there are already several solutions for each of these. Most libraries are extremely bloated, require several years of experience, and some don’t even make use of C++11. Thus, for me, both the mathematic as well as the tuple-related stuff is equally relevant. But I could more easily add mathematics than heterogeneous containers. And in case you wonder, the interesting aspect of Hana is that it provides some sort of interface between most of the above aspects.
So, please keep in mind: Users will use a library for a huge variety of applications and purposes, not only those intended or expected by the library developer… best example: C++ templates ;-)


Select helper fixes

Hey @nikgraf ,
This PR has changes in helper methods. If I pass a non-iterable object to any helper method expecting an array, it should treat it like array of single object. Its different from underscore which typically in such cases iterate over each field of object.
The reason for doing this change is select's typical case:
<select>
  <option>abc</option>
</select>

When select has single option react does not makes and array but single object which was breaking when we passed it to helper.filter. I did change in all methods as I wanted behavior to be consistent.
Changes look good now, can be merged.

@jpuri I'm bit worried about updating all the helpers. There are a lot of things that can go wrong in various browsers and underscore is very battle tested. The further we move away from underscore the harder it will be to apply bug-fixes they do.
Would it have been possible to just do this?
if (this.props.children instanceof Array) {
  this.sanitizedChildren = this.props.children;
} else {
  this.sanitizedChildren = [this.props.children];
}

If we then always use this.sanitizedChildren we should be pretty much save?

Hey Nik,
My implementation of helpers is not underscore, underscore takes care of a hell lot of edge cases and ECMA versions. I want to keep implementation minimal and tailored specifically to our need.
It definitely can be handled the way you are mentioning. But if we change helpers it will be change in one centralized place (it will not be ideal to need to do this for all props of type array :( ). I want to have clear expectation set from helper methods and all helper methods should behave in that way.
By moving away from underscore we definitely are losing advantage of battle tested code. But reverse engineering a helpers for us from underscore is crazy plus we might still be left with doing some of the handling in components code.

My brain is kind of loaded with thoughts about what would be the best way out for this. I do not want to have some black box code in my app which I just trust.
The reason <select> was not breaking previously was that when we passed single object to it underscore was doing filtering on each field of the object and returning empty object. This was not what we needed but we never knew - some edge case might not have worked well, but we never noticed.
So there are trade-offs, loosing the advantage of some battle tested code (which is no small in  itself) vs loosing the advantage of having a helper perfectly suited to what I need (this will need that we have exact knowledge of underscore method when we use it and we tailor our input to the expectations of the method).
Lets discuss this and the other PR more in call today.

Hey Nik,
I have updated the PR, but still there is one issue - if there is no placeholder(which is not highly probable) and no option then select gets broken on the page as <div> for placeholder or option is missing.

Hey@jpuri - I finally found some time to review and work on this PR in detail.
I looked at it not only from the perspective of providing one single option, but also combining a single placeholder with an array of options (see https://github.com/nikgraf/belle/issues/161). Rather than cover all possible edge cases in the helpers I propose we move towards sanitising the props.children before using them.
This can simply be done by using flatten. I tested my assumptions by updating this PR, but we can always go back.
Let me know what you think.

Hey @nikgraf ,
Changes in select look great :+1: (I will spend some time testing those today).
I agree with you about helpers we should use more of native methods. There are many in ES5 which can greatly help us (I will create a issue for this).
I want helpers to have consistent and well defined behavior (more tailored to what belle code needs), so that when we use it we know what exactly we are doing - that also makes me happy about getting rid of underscore.
I still want to keep mapObject method because otherwise map method handling both array and object becomes inconsistent from what other methods do. Let me add a commit for that.

@jpuri sounds good
:+1: on mapObject

Hey Nik,
In case select has no children. its hight become 0. Which looks bad, this can be fixed by giving a min-height.
What would you suggest for this.
I am yet to do that mapObject changes - planning to do it tomorrow.

@jpuri no children also bugged me when working on this. I figured a Select without Options or a Placeholder doesn't make sense to me and it should be mandatory.
Thoughts?

Yes, its very unlikely to have such scenario (I think of scenario where options are dynamically and there is no option in some scenario).
Lets leave it as is :)


Random button for playlist

It'd be appreciated if there was a way to randomize the order on the playlist. That would allow for a different order of my playlist every improv rehearsal.
As it is right now, it is the same order every time, and I would prefer if there was a way to just randomize it.

Good suggestion! Added to the to-do list for v1.0 release coming soon :)

Added "shuffle playlist" feature in v1.0.0