Support for Storybook v6.0.0

Hi @South-Paw
I wonder if you have some time to take a look into the latest Storybook 6 alpha.
With their new ability to load custom MDX files, the new approach is to load a Table of Properties with a separate component, but I don't like that approach, it invades the Designer's Docs page with the stuff of Developers.
And even if I like your decorator, I think that the new version enables your module to offer a Panel to check the Properties. The panels are awesome without interfering with the format of the story shown inside the MDX file.
Thanks in advance!

Hi @matheo, thank you for your suggestion!
Unfortunately I don't work with Angular projects in my current role anymore and while I'm happy to help out by merging PRs, testing and releasing the package, I don't have a use cases in personal projects that I can use to justify investing development time into this repo free of charge.
This package was written to support a design system that @rheimus still works on (to my knowledge) - so without promising anything he might be able invest some time into your suggestions for SB v6 but of course; that's his call.
You also may like to look into doing this yourself or if that's not possible, getting a developer at your company to tackle the task. If all else fails, I am happy to make myself available for contract work if need be.
Hope you understand, cheers.

@South-Paw sounds good, I will check the source and see what's required to provide a Panel and a Tab, it's good to know that the PR will be considered :)
Thanks!

I am unlikely to have time to look into experimental features in the current climate. Though I may look into updating this package to the latest storybook & Angular at some point.
Last time I tried the repo went nuclear 😂.


Setup Development Environment

Developer Setup guides
For a windows 10 or 11 based development platform the following guides can be used to set up the Windows Subsystem for Linux (or WSL) and then set up a python development environment that uses vscode. We also use pyenv to allow for development and testing on multiple versions of python, and use pipenv to manage the development environment and its dependencies.


[feature request] Switch to electron

i'm not even remotely an expert on this stuff
so if I say some dumb shiet, you know why
Considering that a large part of VRCX is based on a browser, why not change to electron
it's probably a lot faster than the webview used by the os
Considering I often see a kinda high usage in the background (0.7~5%) with 6+ threads
and it's one of the most CPU intensive apps on idle (at least for me with a ryzen 7 3800x)
I'm not saying that a full rewrite/change to Electron is a good idea
but
I think that integrating it for the user interface wouldn't be so bad
Any thoughts?
also I love the app so much

for context

electron is very buggy and unstable discord and twitch app are examples of this

VRCX is using cefsharp as webview. cefsharp is c# binding for the chromium embedded framework. electron also using CEF. so there is not much difference.
(only my code causes performance issue. 🤣)
I'm also considering migrating to electron. but this is just a plan. cuz it's to get the benefits of cross-platform, not for performance. and it needs to port some features written in native c# to javascript or nodejs extension (c++). however, there is no guarantee that this will provide better performance.
sorry about the performance of VRCX. it looks like a simple web page, but it does a lot of complex things internally (vr overlay, logging, etc). but, there are many things to optimize or improve. I will fix it someday. 😖

oomf
if and when you decide to switch to electron tell me and ill try to help you port stuff to it and the mess that is javascript

I know this is a rather old thread, but I just wanted to say... knowing node and js performance overall I would think it would be a better thing to stay with cefSharp than switching to node and electron. cefSharp should run cross platform too and if you can get all the other libraries used to run cross platform you can compile with mono / dotNet Core and run the application on linux or even mac (though I don't think VRC runs on macs)
Maybe I can get my development environment for linux set up some time and attempt a linux version.

I don't think CefSharp can work with mono but maybe .NET Core? I'm not sure haven't really looked into it, but cross platform support would be great.
https://github.com/cefsharp/CefSharp/issues/1450
https://github.com/cefsharp/CefSharp/issues/3197

I don't think CefSharp can work with mono but maybe .NET Core? I'm not sure haven't really looked into it, but cross platform support would be great.
https://github.com/cefsharp/CefSharp/issues/1450
https://github.com/cefsharp/CefSharp/issues/3197

Change C# to electron... bad idea...
electron eat a lot of ram...
If you really really really really want to migrate in another tool, try tauri, but please, no electron.

I also hope you don't leave the C# support...

I see its in progress but it does tie up the OBS installer. Maybe other things too?

This error is unrelated, also I have no clue how or why you got this error.

I got the OBS thing too, but more specific this time

Both programs use Cef so it seems the installer can't distinguish between these 2 programs, it is a OBS installer bug.

Both programs use Cef so it seems the installer can't distinguish between these 2 programs, it is a OBS installer bug.

the installer goes by what applications process handle lock the folder, lots of apps randomly lock the obs folder, ive noticed vrcx, , everything firefox and free download manager do this, even have had it happen with the plastic scm folder getting process locked by unrelated apps. just tried to update plastic now

previously


Add support for Gio async functions.

Fixes https://github.com/hugopl/gtk4.cr/issues/59

Reminder for future me:

If merge this as is, file an issue about _async methods not allowing nil as callback.


Loot complete sets

Feature request
Purpose
Automatically loot complete sets for available to craft games badges, not just cards.
Solution
Similar to SendOnFarmingFinished except it will scan bot inventory every 24 hours and send complete sets if possible. Also a new LootableTypes type "Sets", or a new command. Lets say badge consists of 5 cards, bot scans if he has all cards (A B C D E), if its true, that means it is possible to craft a badge (zero connection to bot badge level) so it will send full set ( if he has 1A 1B 1C 1D 1E) or for example 5 sets ( 5A 5B 8C 10D 8E) and so on.
Also ability to loot by ID's or ^ to loot all sets.
Why currently available solutions are not sufficient?
It is possible but my suggestion is to make another type or command to make things more precise. More explained in Additional info
Does your suggestion fall into ASF scope?
Yes it does because main purpose of ASF is to idle cards properly.
Is your suggestion abiding to Steam guidelines?
Its nothing different than just looting all cards.
Additional info
So I would help for people like me who has 20 or more bots. What I do is I send all my cards to one main bot which is connected to STM. On STM page I scan all complete sets and then send sets to my main account for future sale crafting. I is possible just to loot all cards and then craft badges but in my opinion it is unnecessary load for steam network.

Hey there! Thank you for contacting our development team at GitHub.
We believe that your issue does not meet our contributing guidelines referenced during issue creation.

Before you open an issue please review the contributing guidelines for this repository.
(...)
ASF has rather strict scope - idling Steam cards from Steam games + basic bots management. ASF scope is very subjective and evaluated on practical/moral basis - how much this feature fits ASF, how much actual coding effort is required to make it happen, how useful/wanted this feature is by the community and likewise.

In particular, we've found out your issue to be out of the scope of ASF project, but we wouldn't have anything against a PR implementing such functionality.
Please check out suggestions for further explanation.
Have a nice day!
~Archi


added php 8.1 to ci

Can you solve conflicts?

I have solved conflicts @JellyBellyDev but we still have some problems in some steps.

@AlessandroMinoccheri I think that we resolve this when we bump ours dependencies to use psr/cache v2|v3.
I have the same problem with the bump to sf6!

Yes, I have the same thought, as soon as possible I try to update dependencies!

I'm waiting for https://github.com/BitbucketPHP/Client/issues/76 to complete https://github.com/PUGX/badge-poser/pull/691

@JellyBellyDev I think that I have to wait until we bump to Symfony6


Fix install for certain non-enuw locales

Normalize package name after using $order to check for multiple documents in module.xml
Fixes #367

@isc-rkuszews I think we need to get a release out with this ASAP as it's a blocker for Supply Chain (internal reference: SC-187)


Unable to get correct height of application.

Hi there,
I have an app created with ui5 controls inside a sap.m.Page.  The app size, for example, is 1000 pixels high.  When I try to get the height of the application, it always reports the height of the viewport.  The only control that reports the height correctly is the AbsoluteLayout control which sits inside the Page control:
https://openui5.hana.ondemand.com/#test-resources/sap/ui/commons/demokit/AbsoluteLayout.html
Is this the correct way to get the height of the application?  Is there some other way?  Is this reliable?
Thanks,

Hi,
can you be a bit more specific: how do you try to "get the height of the app"? Do you query a sap.m.App control or some HTML element? Most controls do not have a "height" property, so I guess you mean something different - maybe some DOM element height, but this would not be UI5 functionality...
And what is "the height" to you? Most typical apps right now use the entire viewport, so what is the value you expect vs the one you get?
Regards
Andreas

Hi Andreas,
Yes I was using the scrollHeight property of the DOM elements. Sometimes the apps are longer than the height of the viewport (ie, resize your browser window).  I am trying to find the entire height of the application, not the height of the viewport.

Hi,
can you provide a concrete example at jsbin?
Just from talking about it it's hard to see which DOM element you are asking and which one might be suited better.
I'll leave this open for the moment, to maybe help solving this question, but it's not a bug in UI5 functionality.

@akudev:  It's not a bug per se.  I need to know if there is a way for me to find the height of the content of a ui5 application. Does ui5 provide a way for me to do this or do I need to traverse the DOM and find this out myself?

Seems to be a quite specific consulting question. Dealing with it in direct communication.


NTR:apicomedial cortex & assembly of apicomedial cortex actomyosin

Could I have:
apicomedial cortex
DEF: The region that lies just beneath the plasma membrane in the middle of the apical edge of a cell.
Ref:PMID:23831726 & PMID:28263180
synonym: medioapical cortex
part_of GO:0045179 apical cortex
AND
assembly of apicomedial cortex actomyosin
DEF: A process which results in the assembly or arrangement of constituent parts apicomedial cortex actomyosin.
Ref: PMID:28263180
Is_a GO:0030866 cortical actin cytoskeleton organization
Is_a GO:0031032 actomyosin structure organization
Thanks

done

Thanks!


Af rpkm

Minimially functioning RPKM, which includes all of the Ensembl work needed to support gene synonyms, gene symbols, gene lengths and interpretation of those data sources.

Realized I'd forgotten unit tests for ensembl_flat_file_reader.py.  Working on those now.


Module Header Information (e.g., docstrings) should be displayed in the tool tip for files in the vscode explorer view.

I don't know if this should be Python-specific or VSCode-specific, but the feature applies to any language that supports docstring-like attributes. Rust has ///, and Java has /** that would be similar to Python's module docstrings.
In Python, the function's docstring is displayed when you hover over a function name in an editor window. When you hover over a Python module (for example, something.py) in the Explorer view, you get the full path and a count of the file's issues and git info. Why don't we get the module docstring here as well? While the git and error info are essential, the docstrings could be the most valuable, especially when looking at a library code in a new codebase. File date/time info would be helpful.

This feature request is now a candidate for our backlog. The community has 60 days to upvote the issue. If it receives 20 upvotes we will move it to our backlog. If not, we will close it. To learn more about how we handle feature requests, please see our documentation.
Happy Coding!

This feature request has not yet received the 20 community upvotes it takes to make to our backlog. 10 days to go. To learn more about how we handle feature requests, please see our documentation.
Happy Coding!

:slightly_frowning_face: In the last 60 days, this feature request has received less than 20 community upvotes and we closed it. Still a big Thank You to you for taking the time to create this issue! To learn more about how we handle feature requests, please see our documentation.
Happy Coding!


Support explicit negative values for environment variables.

It's easy to forget that setting the LLAMACC environment variables to
any value enables the corresponding setting. Add support for explicitly
setting them to negative values to also disable the corresponding setting.
This bit me a few times when I set LLAMACC_FULL_PREPROCESS=0
and could not figure out what I had done wrong :joy:

Nice, I like it. I definitely idly thought about this when first adding config flags but then shrugged it off…


Dart/Flutter support

Hi, is there a port to (or any interest in interest in porting) autogen to Flutter/Dart/Javascript?

#236 is relevant maybe for javascript.
No plan for Flutter / Dart AFAIK.

Closing this issue due to inactivity. If you have further questions, please open a new issue or join the discussion in AutoGen Discord server: https://discord.com/invite/Yb5gwGVkE5


Not a bug, but a question

I'm new to this, so forgive the simplicity of the question. Once you create the memory cache in your main.dart, how do you import the same cache in other files to use/leverage the cache?

I don't have flutter example (I plan to add one at some point) but you need to maintain a singleton in your app probably leveraging a state management solution like bloc, provider (and the countless others). I'll probably use bloc to create an example but it's just a matter of personal taste


Implement when clause for Quick Pick

I'm uncertain if the Extension API supports this, so I'm creating this to track eventual blocking issues if not.
I really like the idea of using the when clause for commands. Personally however I don't see much benefit of enabling it for the Command Palette, it would be awesome if it could be implemented for the Quick Pick though.
The use case is that I would like to make the Quick Pick completely context based. Imagine opening the Quick Pick and only see your choice of commands, and only see commands relative to the context from which it was opened, what a wonderful world.
I was researching for achieving this with the RMB Context Menu, but there are too many issues blocking this atm.
Related PR #22
Ping @elazarcoh

I think it's blocked by https://github.com/microsoft/vscode/issues/10471

Yeah, that issue is 7 years old now. And Pull Request https://github.com/microsoft/vscode/pull/118722 to fix it was closed.

Closing as there's no api.


Hyperdex daemon reports IO errors if data directory is a relative path

Using an argument such as -D ./daemons/daemon1 frequently gives me this puzzling error:
E0716 06:27:38.078249  1343 datalayer.cc:1406] IO error at the disk layer: IO error: ./daemons/daemon1/000004.log: No such file or directory

Changing the argument to this fixes it: -D $(readlink -f ./daemons/daemon1), as the relative path will be expanded.

@AaronFriel getting the same. Thanks for sharing the fix.


Context.UserIdentifier always is empty

I've tried to test Users in SignalR however this param always is empty, where do I set this one?

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

ID: c8d77892-d376-2f23-2634-f5d34d962a1e
Version Independent ID: 92ed6330-b49f-1620-6beb-8556a78ac7da
Content: Manage users and groups in SignalR
Content Source: aspnetcore/signalr/groups.md
Product: aspnet-core
Technology: aspnetcore-signalr
GitHub Login: @bradygaster
Microsoft Alias: bradyg

Context.UserIdentifier will be null unless you have Authentication in your app. You can read about Authentication and Authorization at https://docs.microsoft.com/aspnet/core/signalr/authn-and-authz?view=aspnetcore-2.2.
By default SignalR will set UserIdentifier to the users ClaimType.NameIdentifier. You can override that behavior by providing your own implementation of IUserIdProvider in startup. e.g. services.AddSingleton<IUserIdProvider, NameUserIdProvider>(); There is an example of this in the doc I linked above.

I did that, my users are authenticated, because my hub is not public

How are you doing authentication? Do authenticated users have a NameIdentifier claim?

I use authentication with openiddict core, and I put that claim in the ClaimsPrincipal when the token is being created

Could you provide a sample app that demonstrates the problem?
Or could you put the following code in your Configure method:
app.UseAuthorization();
app.Use(next =>
{
    return context =>
    {
        return next(context);
    };
});

And debug the app, putting a breakpoint on return next(context);, then viewing context.User.Identities[0].Claims and showing what claims are there?
For example:

Thank you for your help, at last it works but by default Context.UserIdentifier always is null, I had put this code:
public class NameUserIdProvider : IUserIdProvider
    {
        public virtual string GetUserId(HubConnectionContext connection)
        {
            return connection.User?.Identity?.Name;
        }
    }

After that  Context.UserIdentifier has value, so is it correct?
Always I need add to the project the following code:
services.AddSingleton<IUserIdProvider, NameUserIdProvider>();
this is my claims:

Huh, that is very odd you have the NameIdentifier claim, so the default UserIdentifier shouldn't be null.
Could you share your Configure method? I'd like to see the order of your middleware.

this is my startup methods:
 ```

public void ConfigureServices(IServiceCollection services)
{
services.Configure(options =>
{
// This lambda determines whether user consent for non-essential cookies is needed for a given request.
options.CheckConsentNeeded = context => true;
options.MinimumSameSitePolicy = SameSiteMode.None;
});
        services.AddDbContextPool<ApplicationDbContext>(options =>
            {
                options.UseNpgsql(Configuration.GetConnectionString("PsqlConnection"), o => o.UseNetTopologySuite());
                //options.UseSqlServer(Configuration.GetConnectionString("DefaultConnection"));
                options.UseOpenIddict();
            }
        );

        services.AddIdentity<ApplicationUser, ApplicationRole>()
            .AddDefaultUI(UIFramework.Bootstrap4)
            .AddEntityFrameworkStores<ApplicationDbContext>()
            .AddDefaultTokenProviders();

        services.AddDefaultAWSOptions(Configuration.GetAWSOptions());
        services.AddAWSService<IAmazonS3>();

        services.Configure<BookstoreDatabaseSettings>(
            Configuration.GetSection(nameof(BookstoreDatabaseSettings)));

        services.AddSingleton<IBookstoreDatabaseSettings>(sp =>
            sp.GetRequiredService<IOptions<BookstoreDatabaseSettings>>().Value);

        services.AddMvc()
            .AddJsonOptions(options =>
            {
                options.SerializerSettings.ContractResolver = new Newtonsoft.Json.Serialization.DefaultContractResolver();
                //options.SerializerSettings.ContractResolver = new CamelCasePropertyNamesContractResolver();
                options.SerializerSettings.ReferenceLoopHandling = ReferenceLoopHandling.Ignore;
            })
            .SetCompatibilityVersion(CompatibilityVersion.Version_2_2);

        services.AddSignalR();
        // Configure Identity to use the same JWT claims as OpenIddict instead
        // of the legacy WS-Federation claims it uses by default (ClaimTypes),
        // which saves you from doing the mapping in your authorization controller.
        services.Configure<IdentityOptions>(options =>
        {
            options.ClaimsIdentity.UserNameClaimType = OpenIdConnectConstants.Claims.Name;
            options.ClaimsIdentity.UserIdClaimType = OpenIdConnectConstants.Claims.Subject;
            options.ClaimsIdentity.RoleClaimType = OpenIdConnectConstants.Claims.Role;
        });

        // Adds services required for using options.
        services.AddOptions();
        services.AddMemoryCache();

        services.AddScoped<IRepository<ApplicationUser>, UsersManager>();
        services.AddScoped<IRepository<ApplicationRole>, RolesManager>();
        services.AddScoped<IRepository<IdentityRoleClaim<string>>, ClaimsManager>();
        services.AddScoped<IRepository<Permission>, GenericModelFactory<Permission>>();
        services.AddScoped<IRepository<Audit>, AuditManager>();
        services.AddScoped<IRepository<CommonOption>, GenericModelFactory<CommonOption>>();
        services.AddScoped<IRepository<Brand>, BrandManager>();
        services.AddScoped<IRepository<Model>, ModelManager>();
        services.AddScoped<IRepository<Vehicle>, GenericModelFactory<Vehicle>>();
        services.AddScoped<IRepository<Journey>, JourneyManager>();

        //services.AddSingleton<MongoCRUDService<Chat>();

        services.AddSingleton<IHttpContextAccessor, HttpContextAccessor>();
        services.AddSingleton<IUserIdProvider, NameUserIdProvider>();

        services.AddSwaggerGen(options =>
        {
            options.SwaggerDoc("v1", new Info
            {
                Version = "v1.0.0",
                Title = "Carpooling API 2019",
                Description = "",
                TermsOfService = "None",
                Contact = new Contact { Name = "Ser Soluciones SAS", Email =<EMAIL_ADDRESS>Url = "https://www.sersoluciones.com/" },
            });
            options.DescribeAllEnumsAsStrings();
        });

        // add OpenIddict
        services.AddOpenIddict()
            .AddCore(options =>
            {
                // AddEntityFrameworkCoreStores() is now UseEntityFrameworkCore().
                options.UseEntityFrameworkCore()
                       .UseDbContext<ApplicationDbContext>();
            })

            .AddServer(options =>
            {
                // AddMvcBinders() is now UseMvc().
                options.UseMvc();
                options.EnableAuthorizationEndpoint("/connect/authorize")
                       .EnableLogoutEndpoint("/connect/logout")
                       .EnableTokenEndpoint("/connect/token")
                       .EnableUserinfoEndpoint("/api/userinfo");

                options.AllowAuthorizationCodeFlow()
                       .AllowClientCredentialsFlow()
                       .AllowPasswordFlow()
                       .AllowRefreshTokenFlow();

                options.RegisterScopes(OpenIdConnectConstants.Scopes.Email,
                                       OpenIdConnectConstants.Scopes.Profile,
                                       OpenIddictConstants.Scopes.Roles);

                // This API was removed as client identification is now
                // required by default. You can remove or comment this line.
                //
                // options.RequireClientIdentification();

                options.EnableRequestCaching();

                // This API was removed as scope validation is now enforced
                // by default. You can safely remove or comment this line.
                //
                // options.EnableScopeValidation();

                options.SetAccessTokenLifetime(TimeSpan.FromDays(10));

                options.DisableHttpsRequirement();
            });

        services.AddAuthentication(options =>
        {
            options.DefaultScheme = OAuthValidationDefaults.AuthenticationScheme;
        })
            .AddOAuthValidation(options =>
            {
                options.Events.OnRetrieveToken = context =>
                {
                    context.Token = context.Request.Query["access_token"];

                    return Task.CompletedTask;
                };
            })
            .AddGoogle(options =>
            {
                options.ClientId = "200532511210-srh778iqpokebpj435lcs3ldf9lshboh.apps.googleusercontent.com";
                options.ClientSecret = "L-YjJ3dfq-HWO_mN-lGmn4EK";
            });

        // Add application services.
        services.AddSingleton<IEmailSender, AuthMessageSender>();
        //services.AddSingleton<ISmsSender, AuthMessageSender>();

        services.Configure<IdentityOptions>(options =>
        {
            // Password settings
            options.Password.RequireDigit = true;
            options.Password.RequiredLength = 6;
            options.Password.RequireNonAlphanumeric = false;
            options.Password.RequireUppercase = true;
            options.Password.RequireLowercase = true;
        });

        services.Configure<GzipCompressionProviderOptions>(options => options.Level = System.IO.Compression.CompressionLevel.Optimal);
        services.AddResponseCompression();

        services.AddCors();
    }

    // This method gets called by the runtime. Use this method to configure the HTTP request pipeline.
    public void Configure(IApplicationBuilder app, IHostingEnvironment env)
    {
        if (env.IsDevelopment() || env.IsStaging())
        {
            app.UseDeveloperExceptionPage();
            app.UseDatabaseErrorPage();
        }
        else
        {
            app.UseExceptionHandler("/Home/Error");
            // The default HSTS value is 30 days. You may want to change this for production scenarios, see https://aka.ms/aspnetcore-hsts.
            app.UseHsts();
        }
        app.UseResponseCompression();
        //app.UseHttpsRedirection();
        app.UseStaticFiles();
        app.UseCookiePolicy();
        app.UseCors(options =>
        {
            // this defines a CORS policy called "default"
            options
            .AllowAnyOrigin()
            .AllowAnyMethod()
            .AllowAnyHeader();
        });
        app.UseAuthentication();

        app.UseMvcWithDefaultRoute();
        #region UseSwagger
        app.UseSwagger();
        app.UseSwaggerUI(c =>
        {
            c.SwaggerEndpoint("/swagger/v1/swagger.json", "Carpooling API V1");
            c.DocExpansion(DocExpansion.None);
        });
        #endregion

        app.UseSignalR(routes =>
        {
            routes.MapHub<ChatHub>("/chatHub");
        });

        //DBContextSeedData.InitializeAsync(app.ApplicationServices, CancellationToken.None).GetAwaiter().GetResult();
        //DBContextSeedData.SeedRoles(app.ApplicationServices).GetAwaiter().GetResult();
        //DBContextSeedData.SeedPermissions(app.ApplicationServices).GetAwaiter().GetResult();
        //DBContextSeedData.CreateSuperUser(app.ApplicationServices).GetAwaiter().GetResult();

        Console.WriteLine($"Starting Carpooling API, Db in {Configuration["ConnectionStrings:PsqlConnection"]}");
    }

Thanks for sharing.
If the options.ClientId = "XYZ"; and options.ClientSecret = "ZYX"; are secrets and not meant to be shared, make sure you change your secrets because they are posted in the code snippet.
@Tratcher Can you see anything obvious as to why User?.FindFirst(ClaimTypes.NameIdentifier)?.Value would be null in SignalR based on the above Startup?
@arthas1888 provided a screenshot that also shows the NameIdentifier claim in the Claims.

@arthas1888 Could you load symbols while debugging for "Microsoft.AspNetCore.SignalR.Core" and add a function breakpoint (ctrl-k, b) with the "Function Name:" set as "Microsoft.AspNetCore.SignalR.DefaultUserIdProvider.GetUserId" then connect with a client and see why the NameIdentifier can't be found?

OK, is strange now it works, before when I deleted this line in my startup
services.AddSingleton<IUserIdProvider, NameUserIdProvider>();
the hub couldn't find the NameIdentifier but now it can, so I have another question, when I use Authentication under Cookie How does .net Core set this ClaimType.NameIdentifier?

Well whoever created the Cookie will have set some claims on it before giving it to the client and will know how to read those claims when the client sends the cookie back.
See the docs for an example of creating a cookie with some claims.

Thank you so much, your help has been very useful

You're welcome, glad to help :)
Can we close the issue?

yes, please :)


Add the tutorial for feature extraction

Add the tutorial for feature extraction in docs/en/tutorials.
Thank you for your contribution to the MindCV repo.
Before submitting this PR, please make sure:

[x] You have read the Contributing Guidelines on pull requests
[x] Your code builds clean without any errors or warnings
[x] You are using approved terminology
[ ] You have added unit tests

Motivation
(Write your motivation for proposed changes here.)
Test Plan
(How should this PR be tested? Do you require special setup to run the test or repro the fixed bug?)
Related Issues and PRs
#702
(Is this PR part of a group of changes? Link the other relevant PRs and Issues here. Use https://help.github.com/en/articles/closing-issues-using-keywords for help on GitHub syntax)

放在docs/en/how_to_guides文件夹下面
添加一个中文翻译，没有就建一个空白文档，写上即将到来
在mkdocs.yml里面第19行加上一条


add note for MacOS about notarization

I had massive headache doing this pull request. If I clone the repository (clean) i get
Cloning into 'QGIS-Website'...
remote: Enumerating objects: 177, done.
remote: Counting objects: 100% (177/177), done.
remote: Compressing objects: 100% (120/120), done.
remote: Total 75145 (delta 107), reused 107 (delta 54), pack-reused 74968
Receiving objects: 100% (75145/75145), 427.93 MiB | 15.69 MiB/s, done.
Resolving deltas: 100% (47842/47842), done.
Updating files: 100% (5527/5527), done.
warning: the following paths have collided (e.g. case-sensitive paths
on a case-insensitive filesystem) and only one from the same
colliding group is in the working tree:

  'resources/en/site/about/images/QTibia.png'
  'resources/en/site/about/images/qtibia.png'

@PeterPetrik Ok, thanks I will pull and have a look and remove if still there.
Thanks for this, and sorry for any inconvenience.

@rduivenvoorde , yes, please fix qtibia.png / QTibia.png issue. It creates a mess using git or Github Desktop on Windows systems (with case insensitive file sistem).


peer resolutions and upgrades

don't allow < 0.12 anymore because of graphql-language-service dependencies
Fix peer resolutions,
a clone of graphql/codemirror-graphql#259
resolves  #863
minor version updates to test and production dependencies
add regeneratorRuntime as a polyfill for CDN bundle only
ensure dist build is a more progressive build
add common-shakify to tree shake and reduce bundle size

welp, the stock fix for this is babel-polyfill which would bloat the bundle quite substantially

Before

After

@lostplan  can you review this?

@orta agreed, this is why i released 0.13.2 first, because this will likely become 0.14, and bump codemirror to 0.9.0

two lingering issues:

this babel config is still not injecting regeneratorRuntime for the CDN build
this last CI run failed on a fairly obscure looking lerna error

yes, that's the plan for this weekend.

But yes, agreed @Neitsch - going to close this, and split it out into:

peer resolution fixes for all but graphiql
upgrade packages
graphiql example split-out


No param to control save checkpoints every N steps ?

I can't find param to control save checkpoints every N steps, too many checkpoint files in training porcess
anothere suggestion , maybe whole model checkpoint (merged lora checkpiont model) should only output in last train step will better ?

INFO:torchtune.utils.logging:Learning rate scheduler is initialized.
1|2|Loss: 3.4330687522888184: 100%|██████████████████████████████████████████████████████████████████████████| 2/2 [00:05<00:00,  2.53s/it]
INFO:torchtune.utils.logging:Model checkpoint of size 16.06 GB saved to /tmp/meta-Llama-3-8B-original/meta_model_0.pt
INFO:torchtune.utils.logging:Adapter checkpoint of size 0.04 GB saved to /tmp/meta-Llama-3-8B-original/adapter_0.pt
INFO:torchtune.utils.logging:Recipe checkpoint of size 0.00 GB saved to /tmp/meta-Llama-3-8B-original/recipe_state.pt
2|2|Loss: 4.366740703582764: 100%|███████████████████████████████████████████████████████████████████████████| 2/2 [00:03<00:00,  1.98s/it]
merged model checkpoint file too large

Hey @apachemycat, an option to save only the trainable weights for intermediate checkpoints is a great idea! We will add support for this soon.
Regarding checkpointing every N steps, this will require more planning because we would need to save the state of the data loader (i.e. which samples have been iterated over) in order to cleanly resume training from one of these checkpoints.
Another option we could consider is making the number of checkpoints that will persist on disk configurable (independent of how frequently the latest checkpoint is saved). Is something you'd find useful?
Thanks for raising this issue!

1 making the number of checkpoints that will persist on disk configurable
2  auto compare current loss with prev trained loss ,if current loss is less than prev , then remove prev whole checkpoint ,save current whole checkpoint ,
maybe choise 2 is better ?

A potential solution is being discussed in #1107


git resource should prune remote

The git resource currently does not prune the remote and will crash on conflicts.
Steps to reproduce:

create a dummy git repo
create a branch called "crap"
deploy the repo/branch with chef:

git '/tmp/crap' do
  repository 'https://github.com/…/repo'
  revision 'crap'
  enable_checkout false
  action :sync
end

delete the remote branch "crap"
create a new remote branch "crap/feature"
deploy the repo/branch with chef:

git '/tmp/crap' do
  repository 'https://github.com/…/repo'
  revision 'crap/feature' # <---
  enable_checkout false
  action :sync
end

Error:
       [2015-09-18T13:23:16+00:00] ERROR: git[/tmp/crap] (cookbook line 1) had an error: Mixlib::ShellOut::ShellCommandFailed: Expected process to exit with [0], but received '1'
       ---- Begin output of git fetch origin && git fetch origin --tags && git reset --hard b30662fb7fcd4a6c38c9d7113ff8dccfea844625 ----
       STDOUT:
       STDERR: error: 'refs/remotes/origin/crap' exists; cannot create 'refs/remotes/origin/crap/new'
       From https://github.com/…/repo
        ! [new branch]      crap/new   -> origin/crap/new  (unable to update local ref)
       error: some local refs could not be updated; try running
        'git remote prune origin' to remove any old, conflicting branches

       Ran git fetch origin && git fetch origin --tags && git reset --hard b30662fb7fcd4a6c38c9d7113ff8dccfea844625 returned 1
       [2015-09-18T13:23:17+00:00] FATAL: Chef::Exceptions::ChildConvergeError: Chef run process exited unsuccessfully (exit code 1)

IMHO either by default or by option there should be a way to tell the resource to do a "git remote prune origin" before fetching.
Fix suggestion:
diff --git i/lib/chef/provider/git.rb w/lib/chef/provider/git.rb
index 8418f22..c60801a 100644
--- i/lib/chef/provider/git.rb
+++ w/lib/chef/provider/git.rb
@@ -181,7 +181,7 @@ class Chef
<EMAIL_ADDRESS>@new_resource.repository)
         converge_by("fetch updates for<EMAIL_ADDRESS>do
           # since we're in a local branch already, just reset to specified revision rather than merge
-          fetch_command = "git fetch<EMAIL_ADDRESS>&& git fetch<EMAIL_ADDRESS>--tags && git reset --hard #{target_revision}"
+          fetch_command = "git fetch<EMAIL_ADDRESS>--prune && git fetch<EMAIL_ADDRESS>--tags && git reset --hard #{target_revision}"
           Chef::Log.debug "Fetching updates from #{new_resource.remote} and resetting to revision #{target_revision}"
           shell_out!(fetch_command, run_options(:cwd => @new_resource.destination))
         end

could use a PR with the suggestion

+1
Is the included patch worth considering to be a solution?

I think so, but I might not have enough caffeine in me yet this morning to see the edge condition that it might cause...  Offhand, I can think of any reason not to do that all the time...

Let's enable github issues on https://github.com/chef-cookbooks/deploy_resource and discuss this functionality there. Having the resources in a cookbook and out of core chef with chef14 should allow us to add/fix a lot of stuff easier.


Blocking function timeouts and cancellation not working

Hello,
We've noticed that blocking functions like xreadgroup or BLPOP have a couple of issues.
If the ConnWriteTimeout setting is less than the timeout you want to block for in these calls, then they will only block for ConnWriteTimeout duration. We're not sure if it's safe to set this to something much higher than we'll ever need to.
Secondly, cancellation of the parent context doesn't seem to cancel these blocking calls. They appear to wait until their timeouts to finish blocking (not the ConnWriteTimeout). It doesn't appear to be any way to stop them from the caller, is that right?
Finally, they seem to throw different errors than the default redis client when timing out, which has made porting to rueidis difficult. We think redis is returning redis.Nil on timeout, and Rueidis is sending context.DeadExceeded. Which, if canceling the parent context or it's deadline exceeding surpassing was working, would be confusing with timing out on a blocking operation versus teh parent context expiring. What is expected to be returned when a) there is no messages on a stream xreadgroup is calling on and b) when it or BLPOP time out?
Thanks for the help!

Hi @zeiler,

If the ConnWriteTimeout setting is less than the timeout you want to block for in these calls, then they will only block for ConnWriteTimeout duration. We're not sure if it's safe to set this to something much higher than we'll ever need to.

This sounds like a bug, but I am unable to reproduce it with the following script:
package main

import (
	"context"
	"fmt"
	"strconv"
	"sync"
	"time"

	"github.com/redis/rueidis"
)

func main() {
	c, err := rueidis.NewClient(rueidis.ClientOption{
		InitAddress:      []string{"<IP_ADDRESS>:6379"},
		ConnWriteTimeout: 10 * time.Millisecond,
	})
	if err != nil {
		panic(err)
	}
	defer c.Close()

	var wg sync.WaitGroup
	for i := 0; i < 100; i++ {
		wg.Add(1)
		go func(v string) {
			go func() {
				time.Sleep(time.Second * 20)
				c.Do(context.Background(), c.B().Lpush().Key(v).Element(v).Build())
			}()
			arr, err := c.Do(context.Background(), c.B().Blpop().Key(v).Timeout(30).Build()).AsStrSlice()
			if len(arr) == 0 {
				panic(err)
			}
			fmt.Println(arr)
			wg.Done()
		}(strconv.Itoa(i))
	}
	wg.Wait()
}

The above code works. Could you share how you made it happen? Also, there are two more things to work with blocking commands:

If your context passed in has a deadline, the deadline will applied.
If you use the Arbitrary() command builder, you should complete the command building with .Blocking().

Secondly, cancellation of the parent context doesn't seem to cancel these blocking calls. They appear to wait until their timeouts to finish blocking (not the ConnWriteTimeout). It doesn't appear to be any way to stop them from the caller, is that right?

No, it is not correct. The underlying connection should be closed once a blocking call gets canceled.

What is expected to be returned when a) there is no messages on a stream xreadgroup is calling on and b) when it or BLPOP time out?

I am not sure what confusion you are referring to. To me, it seems very clear:

If your context timeout, you will receive a context.DeadExceeded.
If the server unblocks the blocking command, you will receive a Nil message.

Per the docs for BLPop, timeout should return a Nil reply.
“Nil reply: no element could be popped and the timeout expired”
https://redis.io/docs/latest/commands/blpop/

Hi @patricklundquist,
Thank you for the reference. Yes, you will receive a Nil message from the server on a blocking call if the server times you out. This can happen in only two ways:

You specified a non zero timeout seconds in your request, for example the last argument of BLPOP, and the timeout reached on the server side.
Your blocking call was unblocked by the server early because someone sent an UNBLOCK request to unblock you.

That’s said, a context is purely a client side thing and the server knows nothing about it. If you don’t want context.DeadExceeded, you just use context.Background instead.

I think I found the bug. And can reproduce with your code snippet by simply making a context with a deadline far into the future like 100 seconds out and using that as the context for the BLPOP. You'll see the err come back as context.DeadlineExceeded now and it'll come back after ConnWriteTimeout, not the 100 second deadline of the context.
I think the bug is on this line https://github.com/redis/rueidis/blob/main/pipe.go#L1143, which is a section like this:
func (p *pipe) syncDo(dl time.Time, dlOk bool, cmd Completed) (resp RedisResult) {
	if dlOk {
		if p.timeout > 0 {
			defaultDeadline := time.Now().Add(p.timeout)
			if dl.After(defaultDeadline) {
				dl = defaultDeadline
			}
		}
		p.conn.SetDeadline(dl)
	} else if p.timeout > 0 && !cmd.IsBlock() {
		p.conn.SetDeadline(time.Now().Add(p.timeout))
	} else {
		p.conn.SetDeadline(time.Time{})
	}

it should use an if like this:
if defaultDeadline.After(dl) {
  dl = defaultDeadline
}

It's reversed in the code currently, so long context deadlines gets shrunk to ConnWriteTimeout. If there is no deadline on the context then this branch isn't hit and why your code snippet works as it is!
I believe the second if is ok when it's not a blocking command to only wait ConnWriteTimeout as that's it's purpose perhaps?
I think the third case is what your code snippets get in which does SetDeadline to nothing so infinite.
This happens in a few places within pipe.go it looks, just searching for p.timeout shows.
While we wait for a new version with the fix to be merged in, I think we can avoid this for now by setting ConnWriteTimeout to 0, but I'm not sure what other implications that has? That would affect the non-blocking calls too like case 2.
We maybe could wrap that blocking calls to Do() for now with a select like:
select {
  case ctx.Done():
    return // some error we want on context deadline.
  default
    cient.Do()
}

Which do you think would be better in the interim?

Hi @zeiler,

I think the bug is on this line https://github.com/redis/rueidis/blob/main/pipe.go#L1143, which is a section like this:

Thanks for finding the bug! And you are right, the shortening of the deadline is meant to be applied to non-blocking commands. So I think the correct fix should be:
// syncDo
	if dlOk {
		if p.timeout > 0 && !cmd.IsBlock() {
			defaultDeadline := time.Now().Add(p.timeout)
			if dl.After(defaultDeadline) {
				dl = defaultDeadline
			}
		}
		p.conn.SetDeadline(dl)
	}

// syncDoMulti
	if dlOk {
		if p.timeout > 0 {
			for _, cmd := range multi {
				if cmd.IsBlock() {
					p.conn.SetDeadline(dl)
					goto process
				}
			}
			defaultDeadline := time.Now().Add(p.timeout)
			if dl.After(defaultDeadline) {
				dl = defaultDeadline
			}
		}
		p.conn.SetDeadline(dl)
	}

Would you like to contribute? We can release a v1.0.50-alpha.1 quickly.

I think we can avoid this for now by setting ConnWriteTimeout to 0

Remember that if you set it to zero, the default value (10 seconds) of ConnWriteTimeout will be applied.

I guess a third option could be keep ConnWriteTimeout to something reasonable like the default 10 seconds then wrap blocking calls in a select and use a background context on the blocking call.

I don't really recommend using context deadlines on blocking calls to replace server timeouts. As I said, we will close the connection if the context deadline is exceeded because its purpose is to prevent your client stuck on a network packet dropped event or a hanging server. So, you will need to create new connections after timeouts. That's inefficient in a normal condition.
Therefore, if your application timeout is carried in the context, then I recommend this:
dl, _ := ctx.Deadline()
c.Do(context.Background(), c.B().Blpop().Key(key).Timeout(time.Until(dl).Seconds()).Build())

Ah got it, but unitl the bug is fixed that would still be ConnWriteTimeout when it's a long deadline right?

Ah got it, but unitl the bug is fixed that would still be ConnWriteTimeout when it's a long deadline right?

Yes if you still pass the same ctx to the .Do().

True. Opened a PR https://github.com/redis/rueidis/pull/666

Thanks @zeiler, we have v1.0.50-alpha.1 released now.

@rueian I think there might be a second bug here. I confirmed that when canceling a context by calling it's cancel() function, the blocking calls continue until their timeout. For example:
  // Test that canceling the context will stop the blocking redis calls, this should be a context.Canceled
  key4 := "keyabc"
  st = time.Now()
  // Long deadline.
  ctx3, cancel3 := context.WithTimeout(context.Background(), 5*time.Second)
  go func() {
    time.Sleep(time.Millisecond * 400)
    cancel3()
  }()
  // Long timeout to be after cancel
  arr, err = cache2.BLPop(ctx3, 3*time.Second, key4)
  duration := time.Since(st)
  // Somewhere between 400-500 milliseconds should be the cancellation, but I see 3+ seconds
  if duration.Milliseconds() >= (time.Duration(3) * time.Second).Milliseconds() {
    panic("Surpassed the blocking timeout, not the cancellation")
  }
  if err != context.Canceled {
    panic("not a cancelled error")
  }

I'm not sure where in the code this could be though. I do see this line https://github.com/redis/rueidis/blob/main/pipe.go#L1166 which handles a deadline exceeded but I don't see any context cancellation being handled but maybe I'm missing something?

Hi @zeiler,
We only handle ctx deadlines in the syncDo and syncDoMulti because the net.Conn API only accepts deadlines.
To handle the other ctx cancellation, we need additional goroutines to monitor the ctx and that is available in the pipeline mode. However, for blocking commands, we currently need two settings to make them handled in the pipelined mode:

Set AlwaysPipelining: true.
Use c.Dedicate() to acquire a dedicated connection.
Use v1.0.50-alpha.2 which has a fix for recycling blocked connections. https://github.com/redis/rueidis/pull/667

package main

import (
	"context"
	"fmt"
	"time"

	"github.com/redis/rueidis" // try this with v1.0.50-alpha.2
)

func main() {
	c, err := rueidis.NewClient(rueidis.ClientOption{
		InitAddress:      []string{"<IP_ADDRESS>:6379"},
		AlwaysPipelining: true,
	})
	if err != nil {
		panic(err)
	}
	defer c.Close()

	cc, release := c.Dedicate()
	defer release()

	ctx, cancel := context.WithCancel(context.Background())
	time.AfterFunc(time.Second*3, cancel)
	fmt.Println(cc.Do(ctx, cc.B().Blpop().Key("key").Timeout(0).Build()).AsStrSlice())
}

The second c.Dedicate() might not be necessary for the future version if we specifically route blocking commands to the dpool. Currently, they use the spool where pipeline mode is always disabled:
https://github.com/redis/rueidis/blob/b9b810ed5f0d0fedface9e6b79efdbb09ddfff47/mux.go#L236

Aha! I just found the dpool vs spool part in mux.go.
I believe there is another bug here though: https://github.com/redis/rueidis/blob/main/pipe.go#L836 (and the same in DoMulti) that !ok should be ok I think. So in this scenario where we use contexts that have deadline, ok will be true and we want to use the background queue so that it selects over the context being done or getting a response. With using dpool and this line fixed things work as expected. What's the danger in using dpool for all blocking() and blockingMulti in mux.go?
Does AlwaysPipelining and Dedicate() slow things down in any way or have any other downsides?

I just tested AlwaysPipelining and Dedicate() and it still returns only after the timeout, not on cancellation. With AlwaysPipelining and Dedicate the error message is correct though eing context.Canceled, but it doesn't cancel immediately.
Fixing that !ok line and using dpool operates correctly stopping the function immediately upon cancel().

I think because of this line https://github.com/redis/rueidis/blob/main/mux.go#L207 it doesn't ever use pipeline for blocking commands? that's why the dpool change is working but the above is not.

It actually looks like dpool is never used anywhere unless we make this change to use it within blocking() blockingMulti(). spool is used in the streaming commands.

I just tested AlwaysPipelining and Dedicate() and it still returns only after the timeout, not on cancellation. With AlwaysPipelining and Dedicate the error message is correct though eing context.Canceled, but it doesn't cancel immediately.

I think it is caused by the bug mentioned previously https://github.com/redis/rueidis/pull/667 and fixed in the v1.0.50-alpha.2.
The !ok is intentional: if there is a deadline, we prefer to keep in the sync mode since pipeline mode is heavier. Pipeline mode starts additional goroutines and generally adds up latencies to each request.

oh nice alpha.2 fixes it with the AlwaysPipelining and dedicate it looks like!
Wouldn't AlwaysPipelining have the same issue of being heavier with more goroutines?

It actually looks like dpool is never used anywhere unless we make this change to use it within blocking() blockingMulti(). spool is used in the streaming commands.

dpool is only used by Dedicate() and Dedicated() and its connections can go pipelining while spool is a pool whose pipelining is always disabled and guaranteed to operate in sync mode.

Wouldn't AlwaysPipelining have the same issue of being heavier with more goroutines?

Yes, it is. AlwaysPipelining makes connections skip the sync mode and always pipelining.

I see, having to set AlwaysPipelining at the whole client config then affects all the calls, even non-blocking ones which don't have this issue. So now all the calls will be a lot slower it seems. Also a little confusing having to use Dedicate() for blocking calls always to get the right behaviour and not for other calls. Shouldn't it just work out of the box more?
This issue with the ok still seems to be an issue though since if a context has a deadline then it uses sync mode I don't think it can be cancelled as I didn't see anything that selects between getting a response and the context being done unless it's in background mode.

Shouldn't it just work out of the box more?

I also want it to be more out of the box but it requires some overhead.

a context has a deadline then it uses sync mode I don't think it can be cancelled as I didn't see anything that selects between getting a response and the context being done unless it's in background mode.

Or perhaps something deeper like the conn will cancel when the cancel() function of the context is called?

Yes, to summarize, pipeline mode can support both context cancellation and deadlines while the sync mode can only support deadlines because it doesn't have a background goroutine.
We could consider adding a background goroutine to the sync mode by doing things like this:
		done := make(chan error)
		go func() {
			defer recover()
			select {
			case <-done:
			case <-ctx.Done():
				done <- ctx.Err()
			}
		}()
		resp = p.syncDo(dl, ok, cmd)
		close(done)
		if err := <-done; err != nil {
			resp = newErrResult(err)
			p.Close()
		}

It allocates a channel and a goroutine for each request. It also seems heavier to me.

yeah. So just to confirm because Dedicate() uses dpool and that can pipeline then it will support both cancellation and deadlines correct?

yeah that might be nice because AlwaysPipelining is going to do those goroutines anyways it seems like.

I don't really like the approach of allocating a temporary channel and goroutine for every request in sync mode. It will put some pressure on GC eventually. What the pipelining mode does is slightly different: it reuses background goroutines and channels and only allocates temporary goroutines when contexts are canceled.

great, thanks for the help on these issues! Not sure if this Dedicate() is documented well, that might be something to add to the README.

if this Dedicate() is documented well

It is not well documented indeed, but I think we can route blocking commands to the dpool instead of the current spool so that you don't need to use Dedicate() explicitly and we document that to support manual cancelation we need AlwaysPipelining.


Feature request: Redis backend for Google DB ?

Instead of having a file based store for the google auth token, I believe it would be best to keep it as a redis backend, that way it can be distributed. This way we can launch multiple docker_auth's for redundancy.

makes sense. we have a TokenDB interface now, so it should be easy enough to implement.
i don't have experience with Redis or time to implement it though, so all i can say is - PRs welcome :)


Bug: Media Player is_volume_muted

Please make sure that the issue you're planning to report is not already registered :)

Describe the bug
For some reason, the is_volume_muted attribute of the media player entity does not update.  The numeric volume_level however updates just fine.  The separate sensor (audio_default_device_muted) does update however with some delay.  I'm not sure if this is a bug or if it is something with my config.  As a result, when I call the mute service it is always a toggle (and ignores the is_volume_muted parameter value), sometimes resulting in an undesired state.
To Reproduce
Steps to reproduce the behavior:

Go to '...'
Click on '....'
Scroll down to '....'
See error

Expected behavior
is_volume_muted attribute is updated in near real time.
Screenshots
If applicable, add screenshots to help explain your problem.
Misc info (please complete the following information):

Windows build (ideally screenshot/info of winver.exe output):
Windows' UI language:
HASS.Agent version:

Please check what's applicable (multiple answers possible):

[x] Installed via installer
[ ] Installed manually
[x] Problem occurs in HASS.Agent
[ ] Problem occurs in Satellite Service

Additional context
Add any other context about the problem here.
Logs
If possible, please provide the logs of HASS.Agent and - if applicable - the Satellite Service. You can find HASS.Agent's logs by going to the main window, then Configuration -> Logging -> open logs folder. The Satellite Service's logs are in the same window, but the Satellite Service tab -> open service logs folder.

Fixed in 2.1.0-beta2 that will be released in a matter of days.

I've just been setting my volume to 0 as a workaround, but finally tried the new beta.  This still doesn't update for me, and now it seems neither does the volume level.  It is always reported as 0, which breaks my workaround.  :(

It would have been nice if it were fixed, but I guess it's not going to be.  Nice.

I'm sorry, I've missed your comment but I don't think I deserve the cynism.
Issue was closed since I closed the 2.1.0 milestone, I'll reopen it and take a deeper look tomorrow.

I've just been setting my volume to 0 as a workaround, but finally tried the new beta. This still doesn't update for me, and now it seems neither does the volume level. It is always reported as 0, which breaks my workaround. :(

I've just tested on the 2.1.0 version and (delay between action-reaction is a bit less than one second):

muting/unmuting the sound in Windows : media player in HA is updated accordingly
muting/unmuting the HA media player causes Windows default device to get muted/unmuted
moving the volume slider to 0 on Windows causes the media player to be muted (setting any volume has opposite reaction of course)
moving the HA media player volume slider (while something is playing) to 0 causes the volume on Windows' to be set to 0 but not muted
moving the HA media player volume slider (while nothing is playing) to 0 does not have any action on Windows (that' not intuitive at all and I need to fix it in one of the patch versions)

With exception of the last one, that I think is a "new bug", is there anything not working for you?

I just retested with 2.1.0 and my results match yours.
Long explanation:  I had used the "set volume to 0" as a workaround for when muting wasn't working.  I tested the beta-2 and neither muting nor the "set to 0" workaround worked for me.  When I updated to 2.1.0 my "set to 0" workaround still wasn't working so I assumed none of it was.  As it turns out, muting is working now so I've switched my automations to using that again.  Thanks!
The only other oddness is calling the media_player.volume_mute is always a toggle regardless of what is passed for is_volume_muted.  But it's easy to work around that by just checking the state before calling it.  This may be a HA issue not a HASS.Agent issue, though.

Hrm, then this morning, I decided to try to simplify my automations, and is_volume_muted was not updating.  Based on the previous testing, I started playing a video in YouTube, and it did immediately update.  It still updates as well if the YT video is paused.  Once I closed YouTube, the sensor is not updating.  I believe I did have a video up and paused during testing yesterday.
So the whole issue may be related to whether there is active media?

Sorry for the delay.
So starting with
The only other oddness is calling the media_player.volume_mute is always a toggle regardless of what is passed for is_volume_muted.

let me have a look, maybe at least I'll be able to verify where the issue is - although my hunch is on HASS.Agent or HASS.Agent integration.
It still updates as well if the YT video is paused. Once I closed YouTube, the sensor is not updating. I believe I did have a video up and paused during testing yesterday.

So the whole issue may be related to whether there is active media?

Yup, also something I noticed although this is purely "windows quirk". I'm still thinking if/how to approach this to be honest, maybe as part of the integration rewrite we could add a functionality to mute system when someone tries to mute "media player" but no media (from window's API perspective) is playing. Not 100% sure on that yet though.

Sorry for the delay. So starting with
The only other oddness is calling the media_player.volume_mute is always a toggle regardless of what is passed for is_volume_muted.

Let me have a look, maybe at least I'll be able to verify where the issue is - although my hunch is on HASS.Agent or HASS.Agent integration.
It still updates as well if the YT video is paused. Once I closed YouTube, the sensor is not updating. I believe I did have a video up and paused during testing yesterday.

So the whole issue may be related to whether there is active media?

Yup, also something I noticed although this is purely "windows quirk". I'm still thinking if/how to approach this to be honest, maybe as part of the integration rewrite we could add a functionality to mute system when someone tries to mute "media player" but no media (from window's API perspective) is playing. Not 100% sure on that yet though.

Let me have a look, maybe at least I'll be able to verify where the issue is - although my hunch is on HASS.Agent or HASS.Agent integration.

Both HASS.Agent itself and integration are at fault, looks like when it was originally coded the idea was to always toggle.
I'll work on the fix.

Ok, I have POC ready and working (changes in both HASS.Agent and integration).
I'll probably put this as part of beta2 of HASS.Agent and next release of integration that will also try to fix https://github.com/hass-agent/HASS.Agent/issues/178


prevent users on computer to select files that are not part of the accept parameter

if the developer limits the accepted files to  only images, users on pc can select all files from the file upload pop up and then go ahead and select a pdf or any other file other that what the developer specified and upload


Crontab Rsync and Permissions

Sorry for the newb questions
google-drive-ocamlfuse set up under my user account (User account is also admin)

all working fine.

rsync run manually copy's files from google drive just fine (runs from my logon)
I put the rsync under crontab -e, and it fails.   when I look at permissions under root I see this:
d????????? ? ?        ?           ?            ? James_GD
Error I get from rsync is
sending incremental file list
rsync: link_stat "/home/jwaltrip/James_GD" failed: Permission denied (13)
sent 20 bytes  received 12 bytes  64.00 bytes/sec
total size is 0  speedup is 0.00
rsync error: some files/attrs were not transferred (see previous errors) (code 23) at main.c(1207) [sender=3.1.3]
Is there a way to make the google drive mount visible to root?

Is there a way to make the google drive mount visible to root?

Yes, you should mount with -o allow_root.

OK, I am still dumb...
I do have this working now.... /etc/crontab lets me specify user account, so it works...
But....  where does "-o allow_root." go?

But.... where does "-o allow_root." go?

It's a command line option. E.g.:
google-drive-ocamlfuse -o allow_root /path/to/gdrive

Thanks!
Sent from my Verizon, Samsung Galaxy smartphone
Get Outlook for Androidhttps://aka.ms/AAb9ysg

From: Alessandro Strada @.>
Sent: Friday, December 31, 2021 3:20:44 PM
To: astrada/google-drive-ocamlfuse @.>
Cc: James W Waltrip IV @.>; Author @.>
Subject: Re: [astrada/google-drive-ocamlfuse] Crontab Rsync and Permissions (Issue #743)
But.... where does "-o allow_root." go?
It's a command line option. E.g.:
google-drive-ocamlfuse -o allow_root /path/to/gdrive
—
Reply to this email directly, view it on GitHubhttps://github.com/astrada/google-drive-ocamlfuse/issues/743#issuecomment-1003446163, or unsubscribehttps://github.com/notifications/unsubscribe-auth/ADVZGBR43773YEKWBIBYPMTUTYGBZANCNFSM5K2TOCWA.
Triage notifications on the go with GitHub Mobile for iOShttps://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675 or Androidhttps://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign%3Dnotification-email%26utm_medium%3Demail%26utm_source%3Dgithub.
You are receiving this because you authored the thread.Message ID: @.***>

Thanks!
Sent from my Verizon, Samsung Galaxy smartphone
Get Outlook for Androidhttps://aka.ms/AAb9ysg

From: Alessandro Strada @.>
Sent: Friday, December 31, 2021 3:20:44 PM
To: astrada/google-drive-ocamlfuse @.>
Cc: James W Waltrip IV @.>; Author @.>
Subject: Re: [astrada/google-drive-ocamlfuse] Crontab Rsync and Permissions (Issue #743)
But.... where does "-o allow_root." go?
It's a command line option. E.g.:
google-drive-ocamlfuse -o allow_root /path/to/gdrive
—
Reply to this email directly, view it on GitHubhttps://github.com/astrada/google-drive-ocamlfuse/issues/743#issuecomment-1003446163, or unsubscribehttps://github.com/notifications/unsubscribe-auth/ADVZGBR43773YEKWBIBYPMTUTYGBZANCNFSM5K2TOCWA.
Triage notifications on the go with GitHub Mobile for iOShttps://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675 or Androidhttps://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign%3Dnotification-email%26utm_medium%3Demail%26utm_source%3Dgithub.
You are receiving this because you authored the thread.Message ID: @.***>


Inconsistent results when plotting orbits on different planes

🐞 Problem
When graphing a body with the orbit.from_sbdb and orbit.from_classical functions, different orbits are obtained due to the fact that each function has a different reference plane.
Example code
epoca = Time("2022-01-21 00:00:00", scale="tdb")
orbit_JPL1 = Orbit.from_sbdb("Ceres")
orbit_JPL=Orbit.from_classical(attractor= Sun, epoch=epoca, a=2.76604306u.au, ecc= 0.07850100198u.one, inc=10.587693u.deg, raan=80.26859547u.deg, argp=73.63703979u.deg, nu=291.3755993u.deg)
frame = OrbitPlotter3D(unit=u.au)
figure=frame.plot(orbit_JPL1,label="Ceres");
figure=frame.plot(orbit_JPL,label="Ceres");
figure.show()

Thanks @JohaMR for reporting! This is a nasty bug, the Orbit plotter should take care of reprojecting everything.

Correct me if I'm wrong but doesnt Orbit.from_classical create the orbit with the default EARTH_EQUATOR Plane? Whereas Orbit.from_sbdb("Ceres") created the orbit with the reference plane set to EARTH_ECLIPTIC, and the orbit elements for both orbits have the same values but with 2 different reference planes, thus creating this bug?
orbit_JPL=Orbit.from_classical(attractor= Sun, epoch=epoca, a=2.76604306u.au, ecc= 0.07850100198u.one, inc=10.587693u.deg, raan=80.26859547u.deg, argp=73.63703979u.deg, nu=291.3755993u.deg,
plane = Planes.EARTH_ECLIPTIC)

If so, shouldnt adding the right plane here solve the issue?

@thebuffer that's a workaround, yes, but not a fix of the problem. I might want to plot orbits on different planes for whatever reason, and now it's not working.


Design proposals

Creating an issue so we don't lose track of @vedam's Figma: https://www.figma.com/file/f87psJnCeqMbUPAQABmCrN/learn.svelte.dev-sidebar-proposal?node-id=0%3A1

closing as the design for this site was pretty much implemented


Add Socket constructor to list of PNSE APIs

Fixes #16991

@mairaw What would that doc look like? It's not really a breaking change if it becomes enabled in .NET 5, so I'm wondering what sort of doc it would live in in this repo.

In .NET 5, this page needs to be changed from All to just Unix and I think the behavior changes from Framework to Core in .NET 5. It would be best to confirm with @antonfirsov.


Document SETENV sudo requirement for system (stanley) user

If SETENV option is not set and user runs local runner action under a different user, environment variables which are specified as parameter or available to the system user won't be available to the action since sudo will clean the environment variables.
This pull request "fixes" that by documenting that SETENV sudoers option needs to be set system user.
Related to #1646

I've added integration test case for it (2ab3283f497ed5e656c4036b35319ce9a6690544), but I also need to make sure SETENV option is set in the sudoers file on the build server otherwise the tests will fail.
Note (@lakshmi-kannan @manasdk @m4dcoder et al): Same goes for everyone running integration tests locally) - you need setenv option in the sudoers file otherwise integration tests will fail. Fee changes for an example - also make sure to use visudo if you are editing the sudoers file manually so you don't bork it.


Record repl commands into history file

Why is it useful:
Because I can copy&paste the commands from the history file into my test after the interactive session.
The ~history file is written to the codeceptjs_dir.

Yeah, this can be useful. But history file should be saved into output directory, so it won't be accidentally added to git. Also, it would be nice if you will print a text message that the commands were saved after the save.

History file will now be saved to output directory and a message will be printed to console


find_element/s allow custom subclass of View

Instead of stubbing out a subclass of View allow find_element/s to accept a subclass of View

[x] Add view_cls argument to find_element/s_*
[x] Add tests
[x] Add documentation to README.md

Done


Trigger CardDAV sync without user interraction

Hi!
Is there a way to trigger CardDAV sync externally? cURL/wget, something like that? My users can't be bothered to sync manually :(
Regards,
Todor Todorov

It is syncing automatically. You can do it manually only if you need to force a sync.

Perfect! I did not know that.


⚠ Bofrost.at has degraded performance

In de18f4f, Bofrost.at (https://www.bofrost.at) experienced degraded performance:

HTTP code: 200
Response time: 994 ms

Resolved: Bofrost.at performance has improved in 16c08d2 after 7 minutes.


Adding Open-eDX files

We will soon be moving over from using Daniel's personal repo to supplying the CSS and JS to the portal from here. I have now moved the code over and later when Daniel is online I will see if he has time to do the switch.

Looks good. Thanks

Looks good. Thanks


Setup GitHub Workflow for Running Unit Tests

In order to ensure the stability and reliability of our codebase, it is essential to have automated unit tests running for each push and pull request. Currently, our repository lacks a GitHub Actions workflow to run unit tests, and this needs to be addressed to maintain code quality and catch issues early.
Suggested Solution:

Create a new workflow file in .github/workflows/ directory.
Filename: run-unit-tests.yml

Configure the workflow to be triggered on every push and pull_request event to the main branch.

Define job steps:
Checkout the repository.
Setup the environment/java runtime.
Install dependencies.
Run the unit tests.

Hello. Can I be assigned this issue as a part of Hacktoberfest?

@adhirajkar3103 give it a shot

@adhirajkar3103 Can I join you?


construct RichProgressBar using Console directly

What does this PR do?

see https://github.com/PyTorchLightning/pytorch-lightning/pull/10875#discussion_r768676725
Does your PR introduce any breaking changes? If yes, please list them.

Before submitting

[x] Was this discussed/approved via a GitHub issue? (not for typos and docs)
[x] Did you read the contributor guideline, Pull Request section?
[x] Did you make sure your PR does only one thing, instead of bundling different changes together?
[x] Did you make sure to update the documentation with your changes? (if necessary)
[ ] Did you write any new necessary tests? (not for typos and docs)
[ ] Did you verify new and existing tests pass locally with your changes?
[ ] Did you list all the breaking changes introduced by this pull request?
[x] Did you update the CHANGELOG? (not for typos, docs, test updates, or internal minor changes/refactorings)

PR review
Anyone in the community is welcome to review the PR.
Before you start reviewing make sure you have read Review guidelines. In short, see the following bullet-list:

[x] Is this pull request ready for review? (if not, please submit in draft mode)
[ ] Check that all items from Before submitting are resolved
[ ] Make sure the title is self-explanatory and the description concisely explains the PR
[ ] Add labels and milestones (and optionally projects) to the PR so it can be classified

Did you have fun?
Make sure you had fun coding 🙃

This PR does not address the comment you are linking to. There must be a misunderstanding. Two scenarios:

Either the Console object is pickleable and you can construct it on the main process, pass it in to the callback,
Or, the Console object is not pickleble, hence we only store the kwargs and make sure we construct it only in the worker process

Only one of the two applies, and given the existing code I suspect 2 is the case.

This PR does not address the comment you are linking to. There must be a misunderstanding. Two scenarios:
1. Either the Console object is pickleable and you can construct it on the main process, pass it in to the callback,

2. Or, the Console object is not pickleble, hence we only store the kwargs and make sure we construct it only in the worker process

Only one of the two applies, and given the existing code I suspect 2 is the case.

OK, then what should I do in this PR

I believe just removing this code:

    def __getstate__(self):
        # can't pickle the rich progress objects
        state = self.__dict__.copy()
        state["progress"] = None
        state["_console"] = None
        return state
    def __setstate__(self, state):
        self.__dict__ = state
        self._console = Console(**self._console_kwargs)

@awaelchli removed.


Add Staff SSO OAuth admin views

Description of change
This work is blocked for now. This is the first PR.
This PR adds views to perform OAuth2 authentication with Staff SSO for accessing Data Hub Django admin.
Following environment variables need to be set for OAuth2 authentication:

Variable name
Required
Description

ADMIN_OAUTH2_ENABLED
No
Enables Django Admin SSO login when is True (default True).

ADMIN_OAUTH2_TOKEN_FETCH_URL
If ADMIN_OAUTH2_ENABLED is set
OAuth fetch token URL for Django Admin SSO login.

ADMIN_OAUTH2_USER_PROFILE_URL
If ADMIN_OAUTH2_ENABLED is set
OAuth user profile URL for Django Admin SSO login.

ADMIN_OAUTH2_AUTH_URL
If ADMIN_OAUTH2_ENABLED is set
OAuth auth URL for Django Admin SSO login.

ADMIN_OAUTH2_CLIENT_ID
If ADMIN_OAUTH2_ENABLED is set
OAuth client ID for Django Admin SSO login.

ADMIN_OAUTH2_CLIENT_SECRET
If ADMIN_OAUTH2_ENABLED is set
OAuth client secret for Django Admin SSO login.

There are following views.
login - it will replace Django admin login view. It redirects user to Staff SSO.
callback - it is being called by Staff SSO with appropriate parameters to enable authentication. User details are being stored in the session.
logout - clears the Django session and redirects user to Staff SSO logout.
The next PR will have integration of these views into Django admin.
I am not sure about the location of the app. Probably it shouldn't be django.oauth.admin.
Checklist

[x] Has a new newsfragment been created? Check changelog/README.md for instructions
[ ] Do any added or updated endpoints appear in the API documentation? See docs/Maintaining the API documentation.md for more details
[ ] Have any relevant search models been updated?
[ ] Have any relevant fixtures (fixtures/test_data.yaml) been updated?
[ ] Have any relevant select-/prefetch-related field lists in the views and search apps been updated?
[ ] Has the admin site been updated (for new models, fields etc.)?
[x] Has the README been updated (if needed)?

I agree that the PR is a bit on the large side. Do we need to do the SSO user ID changes at the same time? That seems to be adding complexity and I'm not sure it needs to be mixed in with this.

Good suggestion! I have removed staff_sso_user_id bits, so the PR is slightly smaller now.


Mob drops

Skeletons drop bows too often.  Zombie pigmen shouldn't all be equipped with gold swords.  Also, it may just be my bad luck but I rarely see any mobs with tools or armor.

Do you stick around one area much? Seems regional difficulty will increase the percentage of mobs spawning with armor, up to 15%, and Hard difficulty has a 5% of spawning mobs with weapons, while Normal only has a 1% chance.
About Skeletons: Is that a thing? Currently, all mobs will drop everything they hold... should it not apply to bows that way? IIRC, bows are only string and sticks anyway when rendered, and clog your mobfarm until then...
About Zombie Pigmen, maybe a tweak could be introduced to configure the chance of them holding swords...
Oh hey, useful link

I believe Zombie Pigmen always spawn with a Sword because of the code to make them always drop it. If a Pigmen isAbleToPickUp or whatever, which is usually like a 25% chance and 100% with the mob drop tweak, they always spawn with a sword. I don't know how we'd fix that one.

I do usually stick around one spot but recently started venturing out cause of lack of food.  Maybe i bump difficulty to Hard.  I guess skellys dropping bow all the time isnt a huge deal. i just dont remember skellys dropping them as often in BtW.  Thats too bad about zombie pigmen.  In Btw, it was always kind of fun looking for that one pigman with the sword then trying to figure out how you were going to get him without dying the swarm of other pigmen around him lol.  Regardless, your mods have greatly improved 1.12 and i thank both of you for your work.

The old system, back when the items dropped when the entity was killed, determined if an item in a zombie pigman/skeleton's hand could actually drop. I don't know when in the entity construction the item list is available, though.

After reading the link Bord posted, we probably should only change Zombies

I made this only effect zombies now.


Resolve dependencies issue

I'm submitting a...

[ ] Regression (a behavior that used to work and stopped working in a new release)
[ ] Bug report
[ ] Performance issue
[ ] Feature request
[ ] Documentation issue or request
[ ] Support request
[x] Other... Please describe:

Dependencies issue
Current behavior
The root yarn.lock contains dependency versions bigger than the ones in package.json. When you run yarn install it recreates yarn.lock and downgrades versions.
The CLI's yarn.lock contains packages with, I believe, incorrect names:

get-_value
has-_value
set-_value
union-_value
unset-_value

Yarn throws an error when trying to install packages. I believe that -_ should be replaced with -. If I do so (right inside the yarn.lock, which I know isn't right), there is no error, packages are being installed and everything (I hope everything) works.
Minimal reproduction of the problem with instructions
git clone git@github.com:datorama/akita.git
cd akita
yarn install # downgrades versions
cd tools/akita-cli
yarn install # throws an error

Environment

For Tooling issues:
- Node version: v10.16.0
- Platform: macOS 10.15.4

Others:
- yarn version: 1.22.4
- akita cli: 6.1.0

@snebjorn

@NetanelBasal My suspisseion was correct.

If you checkout https://github.com/datorama/akita/commit/ef9d3f3a02be3d66bb1dfdbcb857401347fa0be0 and run yarn install you'll get the below diff. --frozen-lockfile guards against people not commiting an updated lock file. Please add it back :)
@@ -1327,13 +1327,6 @@
   dependencies:
     regenerator-runtime "^0.13.4"

-"<EMAIL_ADDRESS>-  version "7.9.2"
-  resolved<EMAIL_ADDRESS>-  integrity sha512-NE2DtOdufG7R5vnfQUTehdTfNycfUANEtCa9PssN9O/xmTzP4E08UI797ixaei6hBEVL9BI/PsdJS5x7mWoB9Q==
-  dependencies:
-    regenerator-runtime "^0.13.4"
-
 "<EMAIL_ADDRESS>"<EMAIL_ADDRESS>"<EMAIL_ADDRESS>"<EMAIL_ADDRESS>   version "7.8.6"
   resolved<EMAIL_ADDRESS>@@ -1970,7 +1963,7 @@
     webpack-merge "4.2.1"
     webpack-node-externals "1.7.2"

-"<EMAIL_ADDRESS>+"<EMAIL_ADDRESS>   version "9.2.3"
   resolved<EMAIL_ADDRESS>   integrity sha512-dwLcsLJRPGu3TxDrqBSZuS/WGmnXdsNElQKqhW7tZ68j8+ykLD6zB912b6RnYYziCwjZHkJe8DWOaESJNYA1bA==
@@ -2268,6 +2261,11 @@
     "@angular-devkit/core" "9.1.1"
     "@angular-devkit/schematics" "9.1.1"

+"<EMAIL_ADDRESS>+  version "0.3.3"
+  resolved<EMAIL_ADDRESS>+  integrity sha512-DetpxZw1fzPD5xUBrIAoplLChO2VB8DlL5Gg+I1IR9b2wPqYIca2WSUxL5g1vLeR4MsQq1NeWriXAVffV+U1Fw==
+
 "<EMAIL_ADDRESS>   version "0.14.0"
   resolved<EMAIL_ADDRESS>@@ -2390,25 +2388,27 @@
   dependencies:
     defer-to-connect "^1.0.1"

-"<EMAIL_ADDRESS>-  version "7.2.1"
-  resolved<EMAIL_ADDRESS>-  integrity sha512-xIGoHlQ2ZiEL1dJIFKNmLDypzYF+4OJTTASRctl/aoIDaS5y/pRVHRigoqvPUV11mdJoR71IIgi/6UviMgyz4g==
+"<EMAIL_ADDRESS>+  version "6.16.0"
+  resolved<EMAIL_ADDRESS>+  integrity sha512-lBD88ssxqEfz0wFL6MeUyyWZfV/2cjEZZV3YRpb2IoJRej/4f1jB0TzqIOznTpfR1r34CNesrubxwIlAQ8zgPA==
   dependencies:
-    "@babel/runtime" "^7.9.2"
-    "@types/testing-library__dom" "^7.0.0"
+    "@babel/runtime" "^7.8.4"
+    "@sheerun/mutationobserver-shim" "^0.3.2"
+    "@types/testing-library__dom" "^6.12.1"
     aria-query "^4.0.2"
-    dom-accessibility-api "^0.4.2"
+    dom-accessibility-api "^0.3.0"
     pretty-format "^25.1.0"
+    wait-for-expect "^3.0.2"

-"<EMAIL_ADDRESS>-  version "10.0.2"
-  resolved<EMAIL_ADDRESS>-  integrity sha512-YT6Mw0oJz7R6vlEkmo1FlUD+K15FeXApOB5Ffm9zooFVnrwkt00w18dUJFMOh1yRp9wTdVRonbor7o4PIpFCmA==
+"<EMAIL_ADDRESS>+  version "9.4.0"
+  resolved<EMAIL_ADDRESS>+  integrity sha512-XdhDWkI4GktUPsz0AYyeQ8M9qS/JFie06kcSnUVcpgOwFjAu9vhwR83qBl+lw9yZWkbECjL8Hd+n5hH6C0oWqg==
   dependencies:
-    "@babel/runtime" "^7.9.2"
-    "@testing-library/dom" "^7.1.0"
-    "@types/testing-library__react" "^10.0.0"
+    "@babel/runtime" "^7.7.6"
+    "@testing-library/dom" "^6.11.0"
+    "@types/testing-library__react" "^9.1.2"

 "@types/anymatch@*":
   version "1.3.1"
@@ -2707,10 +2707,10 @@
   dependencies:
     "@types/react" "*"

-"<EMAIL_ADDRESS>-  version "16.9.6"
-  resolved<EMAIL_ADDRESS>-  integrity sha512-S6ihtlPMDotrlCJE9ST1fRmYrQNNwfgL61UB4I1W7M6kPulUKx9fXAleW5zpdIjUQ4fTaaog8uERezjsGUj9HQ==
+"<EMAIL_ADDRESS>+  version "16.9.4"
+  resolved<EMAIL_ADDRESS>+  integrity sha512-fya9xteU/n90tda0s+FtN5Ym4tbgxpq/hb/Af24dvs6uYnYn+fspaxw5USlw0R8apDNwxsqumdRoCoKitckQqw==
   dependencies:
     "@types/react" "*"

@@ -2747,10 +2747,10 @@
     "@types/prop-types" "*"
     csstype "^2.2.0"

-"<EMAIL_ADDRESS>-  version "16.9.34"
-  resolved<EMAIL_ADDRESS>-  integrity sha512-8AJlYMOfPe1KGLKyHpflCg5z46n0b5DbRfqDksxBLBTUpB75ypDBAO9eCUcjNwE6LCUslwTz00yyG/X9gaVtow==
+"<EMAIL_ADDRESS>+  version "16.9.17"
+  resolved<EMAIL_ADDRESS>+  integrity sha512-UP27In4fp4sWF5JgyV6pwVPAQM83Fj76JOcg02X5BZcpSu5Wx+fP9RMqc2v0ssBoQIFvD5JdKY41gjJJKmw6Bg==
   dependencies:
     "@types/prop-types" "*"
     csstype "^2.2.0"
@@ -2815,24 +2815,17 @@
   resolved<EMAIL_ADDRESS>   integrity sha512-/gG2M/Imw7cQFp8PGvz/SwocNrmKFjFsm5Pb8HdbHkZ1K8pmuPzOX4VeVoiEecFCVf4CsN1r3/BRvx+6sNqwtQ==

-"@types/testing-library__dom@*":
+"@types/testing-library__dom@*", "<EMAIL_ADDRESS>   version "6.14.0"
   resolved<EMAIL_ADDRESS>   integrity sha512-sMl7OSv0AvMOqn1UJ6j1unPMIHRXen0Ita1ujnMX912rrOcawe4f7wu0Zt9GIQhBhJvH2BaibqFgQ3lP+Pj2hA==
   dependencies:
     pretty-format "^24.3.0"

-"<EMAIL_ADDRESS>-  version "7.0.1"
-  resolved<EMAIL_ADDRESS>-  integrity sha512-WokGRksRJb3Dla6h02/0/NNHTkjsj4S8aJZiwMj/5/UL8VZ1iCe3H8SHzfpmBeH8Vp4SPRT8iC2o9kYULFhDIw==
-  dependencies:
-    pretty-format "^25.1.0"
-
-"<EMAIL_ADDRESS>-  version "10.0.1"
-  resolved<EMAIL_ADDRESS>-  integrity sha512-RbDwmActAckbujLZeVO/daSfdL1pnjVqas25UueOkAY5r7vriavWf0Zqg7ghXMHa8ycD/kLkv8QOj31LmSYwww==
+"<EMAIL_ADDRESS>+  version "9.1.3"
+  resolved<EMAIL_ADDRESS>+  integrity sha512-iCdNPKU3IsYwRK9JieSYAiX0+aYDXOGAmrC/3/M7AqqSDKnWWVv07X+Zk1uFSL7cMTUYzv4lQRfohucEocn5/w==
   dependencies:
     "@types/react-dom" "*"
     "@types/testing-library__dom" "*"
@@ -5900,10 +5893,10<EMAIL_ADDRESS>   dependencies:
     lightercollective "^0.3.0"

<EMAIL_ADDRESS>-  version "0.4.3"
-  resolved "https://registry.yarnpkg.com/dom-accessibility-api/-/dom-accessibility-api-0.4.3.tgz#93ca9002eb222fd5a343b6e5e6b9cf5929411c4c"
-  integrity sha512-JZ8iPuEHDQzq6q0k7PKMGbrIdsgBB7TRrtVOUm4nSMCExlg5qQG4KXWTH2k90yggjM4tTumRGwTKJSldMzKyLA==
<EMAIL_ADDRESS>+  version "0.3.0"
+  resolved "https://registry.yarnpkg.com/dom-accessibility-api/-/dom-accessibility-api-0.3.0.tgz#511e5993dd673b97c87ea47dba0e3892f7e0c983"
+  integrity sha512-PzwHEmsRP3IGY4gv/Ug+rMeaTIyTJvadCb+ujYXYeIylbHJezIyNToe8KfEgHTCEYyC+/bUghYOGg8yMGlZ6vA==

 dom-serializer@0:
   version "0.2.2"
@@ -11686,15 +11679,15<EMAIL_ADDRESS>     minimist "^1.2.0"
     strip-json-comments "~2.0.1"

<EMAIL_ADDRESS>-  version "16.13.1"
-  resolved "https://registry.yarnpkg.com/react-dom/-/react-dom-16.13.1.tgz#c1bd37331a0486c078ee54c4740720993b2e0e7f"
-  integrity sha512-81PIMmVLnCNLO/fFOQxdQkvEq/+Hfpv24XNJfpyZhTRfO0QcmQIF/PgCa1zCOj2w1hrn12MFLyaJ/G0+Mxtfag==
<EMAIL_ADDRESS>+  version "16.12.0"
+  resolved "https://registry.yarnpkg.com/react-dom/-/react-dom-16.12.0.tgz#0da4b714b8d13c2038c9396b54a92baea633fe11"
+  integrity sha512-LMxFfAGrcS3kETtQaCkTKjMiifahaMySFDn71fZUNpPHZQEzmk/GiAeIT8JSOrHB23fnuCOMruL2a8NYlw+8Gw==
   dependencies:
     loose-envify "^1.1.0"
     object-assign "^4.1.1"
     prop-types "^15.6.2"
-    scheduler "^0.19.1"
+    scheduler "^0.18.0"

<EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS>   version "16.13.0"
@@ -11742,10 +11735,10<EMAIL_ADDRESS>     tiny-invariant "^1.0.2"
     tiny-warning "^1.0.0"

<EMAIL_ADDRESS>-  version "16.13.1"
-  resolved "https://registry.yarnpkg.com/react/-/react-16.13.1.tgz#2e818822f1a9743122c063d6410d85c1e3afe48e"
-  integrity sha512-YMZQQq32xHLX0bz5Mnibv1/LHb3Sqzngu7xstSM+vrkE5Kzr9xE0yMByK5kMoTK30YVJE61WfbxIFFvfeDKT1w==
<EMAIL_ADDRESS>+  version "16.12.0"
+  resolved "https://registry.yarnpkg.com/react/-/react-16.12.0.tgz#0c0a9c6a142429e3614834d5a778e18aa78a0b83"
+  integrity sha512-fglqy3k5E+81pA8s+7K0/T3DBCF0ZDOher1elBFzF7O6arXJgzyu/FW+COxFvAWXJoJN9KIZbT2LXlukwphYTA==
   dependencies:
     loose-envify "^1.1.0"
     object-assign "^4.1.1"
@@ -12549,10 +12542,10<EMAIL_ADDRESS>   dependencies:
     xmlchars "^2.1.1"

<EMAIL_ADDRESS>-  version "0.19.1"
-  resolved "https://registry.yarnpkg.com/scheduler/-/scheduler-0.19.1.tgz#4f3e2ed2c1a7d65681f4c854fa8c5a1ccb40f196"
-  integrity sha512-n/zwRWRYSUj0/3g/otKDRPMh6qv2SYMWNq85IEa8iZyAv8od9zDYpGSnpBEjNgcMNq6Scbu5KfIPxNF72R/2EA==
<EMAIL_ADDRESS>+  version "0.18.0"
+  resolved "https://registry.yarnpkg.com/scheduler/-/scheduler-0.18.0.tgz#5901ad6659bc1d8f3fdaf36eb7a67b0d6746b1c4"
+  integrity sha512-agTSHR1Nbfi6ulI0kYNK0203joW2Y5W4po4l+v03tOoiJKpTBbxpNhWDvqc/4IcOw+KLmSiQLTasZ4cab2/UWQ==
   dependencies:
     loose-envify "^1.1.0"
     object-assign "^4.1.1"
@@ -14362,6 +14355,11<EMAIL_ADDRESS>     webidl-conversions "^4.0.2"
     xml-name-validator "^3.0.0"

<EMAIL_ADDRESS>+  version "3.0.2"
+  resolved "https://registry.yarnpkg.com/wait-for-expect/-/wait-for-expect-3.0.2.tgz#d2f14b2f7b778c9b82144109c8fa89ceaadaa463"
+  integrity sha512-cfS1+DZxuav1aBYbaO/kE06EOS8yRw7qOFoD3XtjTkYvCvh3zUvNST8DXK/nPaeqIzIv3P3kL3lRJn8iwOiSag==
+
<EMAIL_ADDRESS><EMAIL_ADDRESS>   version "1.0.7"
   resolved "https://registry.yarnpkg.com/walker/-/walker-1.0.7.tgz#2f7f9b8fd10d677262b18a884e28d19618e028fb"

Done

@NetanelBasal in https://github.com/datorama/akita/commit/8e0ea8798d07d19ee2f3226dbc1fdb36c5df2a7e you'll need to also run yarn install to update the lock file, else the CI will fail the build

@NetanelBasal about the stuff in the tools/akita-cli/yarn.lock

get-_value
has-_value
set-_value
union-_value
unset-_value

No idea. I'm also getting errors. But the -_ stuff is 2 years old. So it's not a new error.
Deleting the corrupted tools/akita-cli/yarn.lock and running yarn install (inside tools/akita-cli) generates a working lock file.


Make a custom app icon for the conference app

We want a cool app icon. :smile:
& a splashscreen image would be nice.

+1
+1
Any updates!?!?!
What's the status on this issue!?!?!
My boss wants this done ASAP! Plz close this!
@bensperry

:+1:

+1

+1

conference app icon.zip

You are a gentleman and a scholar.

Reopening so I remember to add it.

Nevermind apparently Adam already did.


The render function cannot render global components

Version
3.0.0-rc.6
Reproduction link
https://codepen.io/dream2023/pen/QWNGQrM
Steps to reproduce
1.createApp
2.register component
What is expected?
Global components should be rendered
What is actually happening?
It's not rendered. It's just a tag name

@yyx990803 resolveComponent API works great can we remove the warning which creates lots of noise, we have to compare Node.ELEMENT_NODE with internal components when we rendering.
getTag() {
  return resolveComponent(this.tag) ? resolveComponent(this.tag) : this.tag // HTML Node
}

This is expected behavior in v3 Strings passed to h are always considered native elements. To use components you need to either explicitly import them or, if they are registered globally, resolve them with resolveComponent (see https://github.com/vuejs/rfcs/blob/master/active-rfcs/0008-render-function-api-change.md#context-free-vnodes).

In my human option, it should explicitly show on the changed guide docs.

This is expected behavior in v3 Strings passed to h are always considered native elements. To use components you need to either explicitly import them or, if they are registered globally, resolve them with resolveComponent (see https://github.com/vuejs/rfcs/blob/master/active-rfcs/0008-render-function-api-change.md#context-free-vnodes).
In my human opinion, it should explicitly show on the Migration Guide Docs.

This is expected behavior in v3 Strings passed to h are always considered native elements. To use components you need to either explicitly import them or, if they are registered globally, resolve them with resolveComponent (see https://github.com/vuejs/rfcs/blob/master/active-rfcs/0008-render-function-api-change.md#context-free-vnodes).

In my human opinion, it should explicitly show on the Migration Guide Docs.

@Fiv5 can you opeen a PR or an issue at vuejs/docs-next repository to track it?

@Fiv5 can you opeen a PR or an issue at vuejs/docs-next repository to track it?

Sure, my pleasure!

Is there an easy way to handle global components?
The custom component MyCustom uses a large number of global components, which cannot be resolved when I render using the h function.
Am I going to change the whole MyCustom to H function rendering? It really sucks
// MyCustom.vue

    <el-xxx/>
    <el-xxx/>

// App.vue
ElMessageBox({
        title: 'xxx',
        message: h(MyCustom, { row: xxx })),
})

Sometimes resolveComponet is not applicable, for example, there are some globally registered components (ComA, ComB, ComC,...), and then use them with dynamic components through the h function
or just like:

A toast tool in node_modules， the source code:

the content prop may be a component, the usage like:

register some global components

app.component('CompA', CompA);
app.component('CompB', CompB);
// ...

If using some global register components in ToastComponent， it got "Failed to resolve component", because h function can not parse it.
TIPS: The ToastComponent component is used by others, so I can't use resolveComponent  @yyx990803

more detail:
https://github.com/jerrywu001/vue3-toastify/issues/22


Does gjspack plan on supporting custom file handlers?

From the gjspack readme:

Support other programming languages? Ping me if there is any interest.

I'd like being able to import .cljs (ClojureScript) files and have them executed as javascript.
This can be done by pre-processing the .cljs with a ClojureScript compiler or even just https://github.com/squint-cljs/squint.
I was thinking about having a config file similar to
export default {
  importHandlers: {
    "/.*\.blp/": {
      command: "blueprint compile $match",
      generates: "$match.ui",
      importType: "builder",
    }
    "/.*\.cljs/": {
      command: "squint compile $match",
      generates: "$match.js",
      importType: "js",
    },
  }
}

Edit: Probably having a custom config file is not the best idea and we should follow the conventions set by webpack, or rollup...

The only reason I made gjspack instead of extending rollup is because I want to maintain clean stack traces by not altering sources. (By bundling in a .gresource instead of in a single .js entry file).
If you're gonna compile your source anyway and loose clean stack traces – I think using rollup directly makes more sense. gjs might support source maps at some point too https://gitlab.gnome.org/GNOME/gjs/-/issues/474
One could make a rollup plugin to support gjspack features such as importing assets and generating a .resource
Such a simple interface also doesn't work well for Blueprint because the CLI compiler is too slow for the DX I'm aiming for. I'm currently experimenting with using compile-batch or LSP.
On the other hand, I might extend gjspack to be more than just a bundler.
Long story short, I'm not totally against If someone really wants to use gjspack and is willing to implement and help maintain this.

So I'd like to experiment more with JSX in GJS. I still want to keep stack traces. The only transformer I know of which can do this is babel with the retainLines option.
Having custom file handlers would help with that.

Such a simple interface also doesn't work well for Blueprint because the CLI compiler is too slow for the DX I'm aiming for. I'm currently experimenting with using compile-batch or LSP.

This is not true anymore since https://gitlab.gnome.org/jwestman/blueprint-compiler/-/commit/06f54c8ff8d5f7c78c1d21bcbc59fdd87ce14910
So Blueprint could become a generic file handler as well.

I added support for custom transforms https://github.com/sonnyp/troll/commit/f831dcd68cbcb587469414c8f091c40cf9e1e7b0
It only supports “assets” for now. The plan next is to support source files.


example file update: squash_root except for grid and install node

Some discussion in here: https://github.com/CSC-IT-Center-for-Science/ansible-role-nfs/issues/1
Putting in review while confirming that the test cluster's test node is still working.

Manual testing done yesterday - while fetching a file from a remote SE the ARC file caching worked (it only fetched the file once from the SE when multiple jobs wanted the same input file).
grid nagios tests also work nicely towards io.


feat: Enable snapshot releases

PR Type
[ ] Bugfix
[X] Feature
[ ] Code style update (formatting, local variables)
[ ] Refactoring (no functional changes, no API changes)
[ ] Build-related changes
[ ] CI-related changes
[ ] Documentation content changes
[ ] Application / infrastructure changes
What Is the Current Behavior?
What Is the New Behavior?
Does this PR Introduce a Breaking Change?
[ ] Yes
[X] No
Other Information

SNAPSHOT feature is not working properly. Producing such a version with bump2version tooling is not properly replacing the searched string in Chart.yaml . This is due to the absence of a serialization setting. Which is left out of the game with a purpose. It would force us to produce a consecutive list of values for snapshot releases (which simply doesn't fit)


Help on: pcre2grep: Failed to set locale C.UTF-8 (obtained from LC_CTYPE)

Apologize if not suitable place to ask but can't find mingw64 site to ask help
So after installed pcre2 then try to run, failed:
pcre2grep: Failed to set locale C.UTF-8 (obtained from LC_CTYPE)
Any idea how to solve up to run normally?

Calling unset LC_CTYPE before would be a workaround, but looks like a bug.


Scroll up and down with Ctrl+J and Ctrl+K

It would be more consistent to be cmd+n / cmd+p which is how most terminals and chrome go up and down.
It would be added around here

Could it be configurable? I use Ctrl+J and Ctrl+K all the time in Vim. This would feel natural for some users like me :smiley:.