PersistKeysToRedis not working in .NET Core 2.0 Preview 2

Hello! We're using Redis to store keys, but getting an error on startup:

[Microsoft.AspNetCore.DataProtection.Repositories.EphemeralXmlRepository] - Using an in-memory repository. Keys will not be persisted to storage.
[Microsoft.AspNetCore.DataProtection.KeyManagement.XmlKeyManager] - Neither user profile nor HKLM registry available. Using an ephemeral key repository. Protected data will be unavailable when application exits.

Here is the code we use:
            string connect;
            try
            {
                var dnsTask = Dns.GetHostAddressesAsync(settings.RedisAddress);
                var addresses = dnsTask.Result;
                connect = string.Join(",", addresses.Select(x => x.MapToIPv4().ToString() + ":" + settings.RedisPort));
            }
            catch (Exception)
            {
                logger.LogError("Could not reslove host adress for Redis");
                throw new Exception("Could not reslove host adress for Redis");
            }

            var redis = ConnectionMultiplexer.Connect(connect);
            services.AddSingleton(options => redis.GetDatabase());

            services.AddDataProtection().PersistKeysToRedis(redis, "DataProtection-Keys");

Can you provide more details? Can you share your Startup class or Program.cs file? Are you using the Microsoft.AspNetCore.All metapackage?

Hello, i'm from the same team as @varnav .
This is Program.cs:
`using System.IO;
using MboServer.Helpers;
using Microsoft.AspNetCore.Hosting;
namespace MboServer
{
public class Program
{
public static void Main(string[] args)
{
var helper = new SettingsHelper();
var settings = helper.Load();
        var host = new WebHostBuilder()
            .UseKestrel()
            .UseUrls(settings.DefaultAddress)
            .UseContentRoot(Directory.GetCurrentDirectory())
            .UseStartup<Startup>()
            .Build();

        host.Run();
    }
}

}
`
And Startup.cs :
`using System;
using System.Linq;
using System.Net;
using MboServer.Common;
using MboServer.DBLayer.ConnectionFactories;
using MboServer.DBLayer.Contexts;
using MboServer.DBLayer.Interfaces;
using MboServer.Extensions;
using MboServer.Helpers;
using Microsoft.AspNetCore.Authentication.Cookies;
using Microsoft.AspNetCore.Builder;
using Microsoft.AspNetCore.DataProtection;
using Microsoft.AspNetCore.Hosting;
using Microsoft.AspNetCore.Http;
using Microsoft.Extensions.DependencyInjection;
using Microsoft.Extensions.Logging;
using Microsoft.Net.Http.Headers;
using StackExchange.Redis;
using Swashbuckle.AspNetCore.Swagger;
using System.IO;
using MboServer.MessageSender;
using MboServer.Tools;
using Microsoft.AspNetCore.HttpOverrides;
namespace MboServer
{
public class Startup
{
private readonly Settings settings;
private readonly IHostingEnvironment enviroment;
    public Startup(IHostingEnvironment env)
    {
        var helper = new SettingsHelper();
        settings = helper.Load();
        enviroment = env;
    }

    /// <summary>
    /// This method gets called by the runtime. Use this method to add services to the container.
    /// </summary>
    /// <param name="services"></param>
    public void ConfigureServices(IServiceCollection services)
    {
        // Add framework services.
        services.AddMvc(
            config => {
                config.Filters.Add(typeof(CustomExceptionFilter));
            })
            .AddXmlDataContractSerializerFormatters()
            .AddMvcOptions(opts => {
                opts.FormatterMappings.SetMediaTypeMappingForFormat("xml", new MediaTypeHeaderValue("application/xml"));
            });

        var connectionFactory = new SqlConnectionFactory(settings.ConnectionString);
        services.AddSingleton<IConnectionFactory>(provider => connectionFactory);

        services.AddSingleton(provider => new StaticMethods());

        var loggerFactory = new LoggerFactory();
        loggerFactory.AddLog4Net();
        services.AddSingleton<ILoggerFactory>(loggerFactory);

        initRepositories(services);

        var logger = loggerFactory.CreateLogger("Engine");
        logger.LogInformation($"Connecting to Redis : {settings.RedisAddress}:{settings.RedisPort}");

        string connect;
        try
        {
            var dnsTask = Dns.GetHostAddressesAsync(settings.RedisAddress);
            var addresses = dnsTask.Result;
            connect = string.Join(",", addresses.Select(x => x.MapToIPv4().ToString() + ":" + settings.RedisPort));
        }
        catch (Exception)
        {
            logger.LogError("Could not reslove host adress for Redis");
            throw new Exception("Could not reslove host adress for Redis");
        }

        var redis = ConnectionMultiplexer.Connect(connect);
        services.AddSingleton(options => redis.GetDatabase());

        // Set key store to Redis
        services.AddDataProtection().PersistKeysToRedis(redis, "DataProtection-Keys");

        services.AddCookieAuthentication(o =>
        {
            o.LoginPath = new PathString("/api/User/Login");
            o.SlidingExpiration = true;
            o.ExpireTimeSpan = settings.SessionExpireTime;
            o.Events = new CookieAuthenticationEvents
            {
                OnRedirectToLogin = CookieAuthenticationMethods.RedirectToLogin,
                OnValidatePrincipal = CookieAuthenticationMethods.ValidateAsync
            };
            o.CookieSecure = enviroment.IsDevelopment() ? CookieSecurePolicy.SameAsRequest : CookieSecurePolicy.Always;
        });

        services.AddAuthentication(o =>
        {
            o.DefaultChallengeScheme = CookieAuthenticationDefaults.AuthenticationScheme;
            o.DefaultSignInScheme = CookieAuthenticationDefaults.AuthenticationScheme;
            o.DefaultAuthenticateScheme = CookieAuthenticationDefaults.AuthenticationScheme;
        });

        // Register the Swagger generator, defining one or more Swagger documents
        services.AddSwaggerGen(c =>
        {
            c.SwaggerDoc("v1", new Info { Title = "Mbo API", Version = "v1" });

            //Set the comments path for the swagger json and ui.
            var basePath = Path.GetDirectoryName(System.Reflection.Assembly.GetEntryAssembly().Location);
            var xmlPath = Path.Combine(basePath, "MboServer.xml");
            c.IncludeXmlComments(xmlPath);
        });
    }

    private void initRepositories(IServiceCollection services)
    {

    }

    // This method gets called by the runtime. Use this method to configure the HTTP request pipeline.
    public void Configure(IApplicationBuilder app, IHostingEnvironment env, ILoggerFactory loggerFactory, IDatabase distributedCache)
    {
        app.UseStaticFiles(new StaticFileOptions
        {
            OnPrepareResponse = ctx =>
            {
                ctx.Context.Response.Headers.Append("Cache-Control", "public,max-age=600,no-cache");
            }
        });

        CookieAuthenticationMethods.Cache = distributedCache;
        app.UseAuthentication();

        app.UseForwardedHeaders(new ForwardedHeadersOptions
        {
            ForwardedHeaders = ForwardedHeaders.XForwardedFor |ForwardedHeaders.XForwardedProto
        });

        var logger = loggerFactory.CreateLogger("Engine");
        logger.LogInformation("Server is started successfully");

        app.UseMvc();

        // Enable middleware to serve generated Swagger as a JSON endpoint.
        app.UseSwagger();

        // Enable middleware to serve swagger-ui (HTML, JS, CSS etc.), specifying the Swagger JSON endpoint.
        app.UseSwaggerUI(c =>
        {
            c.RoutePrefix = "metadata";
            c.SwaggerEndpoint("/swagger/v1/swagger.json", "Mbo API V1");
        });
    }
}

}
`

No we don't using Microsoft.AspNetCore.All
Redis is included via NuGet manager as 'StackExchange.Redis.StrongName' library

Are you using Microsoft.AspNetCore.DataProtection.Redis 0.1.2?

Yes as described in official Mocrosoft recomendation https://docs.microsoft.com/en-us/aspnet/core/security/data-protection/implementation/key-storage-providers
The reason is that i need to store net core protection keys in Redis (method PersistKeysToRedis).
I would be glad to hear another solution.

P.S. It was working fine on net core 1.1

Microsoft.AspNetCore.DataProtection.Redis 0.1.2 was designed to work with ASP.NET Core 1.x. Since then, we have refactored the way that PersistKeysToRedis ties into the main data protection services. However, we didn't publish the updated version to NuGet.org. This was an oversight, and we hope will be fixed soon. In the meantime, you can work around this in one of the following ways:

(Recommended) Manually add the redis repository to KeyManagementOptions. Example:
public void ConfigureServices(IServiceCollection services)
{
    var redis = ConnectionMultiplexer.Connect("localhost:6379");
    services.AddDataProtection().PersistKeysToRedis(redis);
    services.Configure<KeyManagementOptions>(o =>
    {
        o.XmlRepository = new RedisXmlRepository(() => redis.GetDatabase(), "DataProtection-Keys");
    });
}

Use an updated package from the nightly feeds. This build is closest to what is on the rel/2.0.0-preview2 branch of this repo: Microsoft.AspNetCore.DataProtection.Redis 0.3.0-preview2-25794 on MyGet.org

FYI - the source of the bug. Compare these:
RedisDataProtectionBuilderExtensions from the rel/1.1.2 branch
RedisDataProtectionBuilderExtensions from the rel/2.0.0-preview2 branch.

Using you suggestion
public void ConfigureServices(IServiceCollection services)
{
    var redis = ConnectionMultiplexer.Connect("localhost:6379");
    services.AddDataProtection();
    services.Configure<KeyManagementOptions>(o =>
    {
        o.XmlRepository = new RedisXmlRepository(() => redis.GetDatabase(), "DataProtection-Keys");
    });
}

the key was saved successfully but there is new error in log:
[Microsoft.AspNetCore.DataProtection.KeyManagement.KeyRingProvider] - An error occurred while reading the key ring

I've updated our build infrastructure so the 0.3.0 version of Microsoft.AspNetCore.DataProtection.Redis will be published when 2.0.0 RTM ships. Until then, use the workaround mentioned above or a nightly version from our pre-release feeds.
Closing as there are no more action items on our end. Users should update to 0.3.0 when the package is available on NuGet.org.


ci: Add docs rtd check on kedro-datasets

Description
Temporary solution for: https://github.com/kedro-org/kedro-plugins/issues/261
Development notes
This approach adds a build that runs:
python -m sphinx -WETan -j auto -D language=en -b linkcheck -d _build/doctrees docs/source _build/linkcheck
This is the check in the read the docs builds that flags syntax issues etc in the docs. It's also the check that has failed and blocked Kedro releases previously, because there were syntax errors in the datasets doc strings that are not caught by the regular linters.
Questions for reviewers

Is this check sufficient or would it be better to run the full read the docs build here as well or even producing full docs? The original issue proposes adding docs to this repo, whereas this solution only runs the check to discover syntax issues. UPDATE: I'd suggest getting this in temporarily but still implement the subproject RTD stuff properly and then just removing this build step when that's in place.
I copied over the docs config from the core kedro repo and then removed files/lines in conf.py that weren't necessary. I wasn't sure about any files in source/_templates. Are those needed @astrojuanlu / @stichbury ?
Any other parts that can potentially be removed, especially from conf.py if we're happy with just running the check instead of producing full docs?

Checklist

[ ] Opened this PR as a 'Draft Pull Request' if it is work-in-progress
[ ] Updated the documentation to reflect the code changes
[ ] Added a description of this change in the relevant RELEASE.md file
[ ] Added tests to cover my changes

Hi @merelcht I am sorry I wasn't more clued in to what you were working on with this as we could have discussed in advance what the overall plan is...which is indeed to move the docs into a RTD subproject per https://github.com/kedro-org/kedro/issues/2600 (which means moving the docs into this repo, creating a new subproject on RTD etc.).
I think what you've done is fine but probably it doesn't go far enough to meet that subproject goal, although I'm still not totally clear because I can't see the RTD subproject (if you've created it, please could you add me as admin https://readthedocs.org/profiles/stichbury/ ?

Hi @merelcht I am sorry I wasn't more clued in to what you were working on with this as we could have discussed in advance what the overall plan is...which is indeed to move the docs into a RTD subproject per kedro-org/kedro#2600 (which means moving the docs into this repo, creating a new subproject on RTD etc.).
I think what you've done is fine but probably it doesn't go far enough to meet that subproject goal, although I'm still not totally clear because I can't see the RTD subproject (if you've created it, please could you add me as admin https://readthedocs.org/profiles/stichbury/ ?

My approach now doesn't move the docs into a RTD subproject. Instead I went for a quick fix approach to make sure that for the coming releases we don't get blocked again by syntax problems in kedro-datasets. This solution only runs python -m sphinx -WETan -j auto -D language=en -b linkcheck -d _build/doctrees docs/source _build/linkcheck on the kedro-datasets "docs", which are basically just the docstrings.
I'd suggest getting this in temporarily but then when the RTD subproject has been setup properly remove this build step again. I assumed that the RTD setup will take more time and I wanted to fix this blocker quickly 😄

Setting up RTD might actually take less 😄 in any case, the initial work of doing sphinx-quickstart seems to be already done, so whether the sphinx-build command runs on GHA or RTD doesn't matter. But eventually we'll want an RTD project so that we can combine the docs of both projects.
I'd take care of this myself but I don't have permissions. Will try to review the current approach locally in the meantime.

I'd take care of this myself but I don't have permissions. Will try to review the current approach locally in the meantime.

What do you need permission for?  I think that might be a setting you have for auth tokens: https://github.com/settings/tokens/new

Is that on the repo though? I think that might be a setting you have for auth tokens: https://github.com/settings/tokens/new

I see what you mean, but the way RTD works is by authorizing my account to use certain repositories, so tokens won't work in this case I believe.
In other words, only people with admin access to a repository can set up the RTD project.

For the record, the kedro-datasets project now exists on Read the Docs! With your permission @merelcht I'll push a .readthedocs.yml file to this branch. I'm not sure if we'll see the RTD check appear here (maybe we'll need to merge first)

Aaaaand it worked! https://kedro-plugins--299.org.readthedocs.build/en/299/kedro_datasets.html

Both your links return 404 for me @astrojuanlu 🤔 But I can see the checks passed!

I requested a rename and it happened overnight, now it's https://readthedocs.org/projects/kedro-datasets/builds/21613210/

What's the two different RTD build? One is giving me 404 error.

Project URL changed from kedro-plugins to kedro-datasets


Hyprland crash after systemctl suspend on nvidia

Hyprland does crash after doing systemctl suspend.
I have a nvidia gpu and I'm using the hyprland-nvidia-git package.
This is the last part of the hyprland log:
[LOG] Callback 555df68f32b0 -> 555df68f32a8, layerSurface removed.
[LOG] Callback 555df68f3178 -> 555df68f3170, layerSurface removed.
[LOG] Callback 555df68f31e0 -> 555df68f31d8, layerSurface removed.
[LOG] Callback 555df68f3248 -> 555df68f3240, layerSurface removed.
[LOG] Callback 555df68f3318 -> 555df68f3310, layerSurface removed.
[LOG] LayerSurface 555df9c7b8a0 arranged: x: 0 y: 0 w: 1920 h: 50 with margins: t: 0 l: 0 r: 0 b: 0
[LOG] LayerSurface 555df6c35470 arranged: x: 0 y: 0 w: 1920 h: 1080 with margins: t: 0 l: 0 r: 0 b: 0
[LOG] Monitor DP-1 layers arranged: reserved: 0.000000 50.000000 0.000000 0.000000
[LOG] Searching for matching rules for org.telegram.desktop (title: Telegram (1865119))
[LOG] Window rule monitor HDMI-A-1 ->  class: ^(org.telegram.desktop)$ matched 555df6ba3dd0 [Telegram (1865119)]
[LOG] Window rule workspace 25 ->  class: ^(org.telegram.desktop)$ matched 555df6ba3dd0 [Telegram (1865119)]
[LOG] Window rule opacity 0.8 0.8 ->  class: ^(org.telegram.desktop)$ matched 555df6ba3dd0 [Telegram (1865119)]
[LOG] Window 555df6ba3dd0 set title to Telegram (1865119)
[LOG] Callback 555df69f63a8 -> 555df69f63a0, Keyboard removed.
[LOG] Callback 555df69f6270 -> 555df69f6268, Keyboard removed.
[LOG] Callback 555df69f62d8 -> 555df69f62d0, Keyboard removed.
[LOG] Callback 555df69f6340 -> 555df69f6338, Keyboard removed.
[LOG] Destroyed keyboard 555df69f6240
[LOG] Callback 555df69facf8 -> 555df69facf0, Mouse removed.
[LOG] Callback 555df6834b18 -> 555df6834b10, Keyboard removed.
[LOG] Callback 555df68349e0 -> 555df68349d8, Keyboard removed.
[LOG] Callback 555df6834a48 -> 555df6834a40, Keyboard removed.
[LOG] Callback 555df6834ab0 -> 555df6834aa8, Keyboard removed.
[LOG] Destroyed keyboard 555df68349b0
[LOG] Callback 555df6ada538 -> 555df6ada530, Keyboard removed.
[LOG] Callback 555df6ada400 -> 555df6ada3f8, Keyboard removed.
[LOG] Callback 555df6ada468 -> 555df6ada460, Keyboard removed.
[LOG] Callback 555df6ada4d0 -> 555df6ada4c8, Keyboard removed.
[LOG] Destroyed keyboard 555df6ada3d0
[LOG] Callback 555df5cbc3c8 -> 555df5cbc3c0, Keyboard removed.
[LOG] Callback 555df5cbc290 -> 555df5cbc288, Keyboard removed.
[LOG] Callback 555df5cbc2f8 -> 555df5cbc2f0, Keyboard removed.
[LOG] Callback 555df5cbc360 -> 555df5cbc358, Keyboard removed.
[LOG] Destroyed keyboard 555df5cbc260
[LOG] Callback 555df68da368 -> 555df68da360, Mouse removed.
[LOG] Callback 555df69bc138 -> 555df69bc130, Keyboard removed.
[LOG] Callback 555df69bc000 -> 555df69bbff8, Keyboard removed.
[LOG] Callback 555df69bc068 -> 555df69bc060, Keyboard removed.
[LOG] Callback 555df69bc0d0 -> 555df69bc0c8, Keyboard removed.
[LOG] Destroyed keyboard 555df69bbfd0
[LOG] Callback 555df694f028 -> 555df694f020, Mouse removed.
[LOG] Callback 555df6aa15f8 -> 555df6aa15f0, Keyboard removed.
[LOG] Callback 555df6aa14c0 -> 555df6aa14b8, Keyboard removed.
[LOG] Callback 555df6aa1528 -> 555df6aa1520, Keyboard removed.
[LOG] Callback 555df6aa1590 -> 555df6aa1588, Keyboard removed.
[LOG] Destroyed keyboard 555df6aa1490
[LOG] Callback 555df6a2f918 -> 555df6a2f910, Keyboard removed.
[LOG] Callback 555df6a2f7e0 -> 555df6a2f7d8, Keyboard removed.
[LOG] Callback 555df6a2f848 -> 555df6a2f840, Keyboard removed.
[LOG] Callback 555df6a2f8b0 -> 555df6a2f8a8, Keyboard removed.
[LOG] Destroyed keyboard 555df6a2f7b0
[LOG] Callback 555df681fd38 -> 555df681fd30, Keyboard removed.
[LOG] Callback 555df681fc00 -> 555df681fbf8, Keyboard removed.
[LOG] Callback 555df681fc68 -> 555df681fc60, Keyboard removed.
[LOG] Callback 555df681fcd0 -> 555df681fcc8, Keyboard removed.
[LOG] Destroyed keyboard 555df681fbd0
[LOG] Callback 555df6a688e8 -> 555df6a688e0, Keyboard removed.
[LOG] Callback 555df6a687b0 -> 555df6a687a8, Keyboard removed.
[LOG] Callback 555df6a68818 -> 555df6a68810, Keyboard removed.
[LOG] Callback 555df6a68880 -> 555df6a68878, Keyboard removed.
[LOG] Destroyed keyboard 555df6a68780
[LOG] Callback 555df69831c8 -> 555df69831c0, Keyboard removed.
[LOG] Callback 555df6983090 -> 555df6983088, Keyboard removed.
[LOG] Callback 555df69830f8 -> 555df69830f0, Keyboard removed.
[LOG] Callback 555df6983160 -> 555df6983158, Keyboard removed.
[LOG] Destroyed keyboard 555df6983060
[LOG] Callback 555df6734738 -> 555df6734730, Keyboard removed.
[LOG] Callback 555df6734600 -> 555df67345f8, Keyboard removed.
[LOG] Callback 555df6734668 -> 555df6734660, Keyboard removed.
[LOG] Callback 555df67346d0 -> 555df67346c8, Keyboard removed.
[LOG] Destroyed keyboard 555df67345d0
[LOG] Session got activated!
[LOG] Session got activated!
[LOG] Applying monitor rule for HDMI-A-1
[LOG] Not applying a new rule to HDMI-A-1 because it's already applied!
[LOG] LayerSurface 555df9c77c30 arranged: x: 1920 y: 170 w: 1920 h: 50 with margins: t: 0 l: 0 r: 0 b: 0
[LOG] LayerSurface 555df6c35490 arranged: x: 1920 y: 170 w: 1920 h: 1080 with margins: t: 0 l: 0 r: 0 b: 0
[LOG] Monitor HDMI-A-1 layers arranged: reserved: 0.000000 50.000000 0.000000 0.000000
[LOG] Applying monitor rule for DP-1
[LOG] Not applying a new rule to DP-1 because it's already applied!
[LOG] LayerSurface 555df9c7b8a0 arranged: x: 0 y: 0 w: 1920 h: 50 with margins: t: 0 l: 0 r: 0 b: 0
[LOG] LayerSurface 555df6c35470 arranged: x: 0 y: 0 w: 1920 h: 1080 with margins: t: 0 l: 0 r: 0 b: 0
[LOG] Monitor DP-1 layers arranged: reserved: 0.000000 50.000000 0.000000 0.000000
[LOG] Cleanup: destroyed a layersurface
[CRITICAL] Hyprland has crashed :( Consult the crash report at /home/mattia/.hyprland/hyprlandCrashReport1671.txt for more information.

This is the crash report:
hyprlandCrashReport1671.txt
This is my config:
hyprland.txt

dupe of #1728


Improve Detection on Landing Pages created with Uscreen

The technology has been added previously, but the detection doesn't work well on Landing Pages.

Thanks, I changed to a more efficient dom method.


PostgresKit 2.0

[x] NIO components separated into NIOPostgres package
[x] Using SQLKit 3.0
[x] Using DatabaseKit 2.0
[x] use Identifier for Insert.columns
[x] add Insert.returning
[x] make PostgresData.description more readable. Move current description to debug.

debug: ["id": 0x0000000000000003 (BIGINT), "name": 0x4d657373696572203832 (TEXT)]
normal: [id: 3, name: "Messier 82"]

Hey @tanner0101, you just merged a pull request, have a coin!
You now have 1026 coins.


Fix logic in Random::generator()

Ah! I went with ?: because I thought ?? was later than 7.1. I should've checked. 🤦


pageserver: fix eviction across generations

Problem
Bug was introduced by me in 83ae2bd82c
When eviction constructs a RemoteLayer to replace the layer it just evicted, it is building a LayerFileMetadata using its current generation, rather than the generation of the layer.
Summary of changes

Remove layer_metadata from RemoteLayer: this information is only needed by RemoteTimelineClient, and there is already an authortiative copy of remote metadata in UploadQueue.  Avoiding duplication of this metadata will make the code less vulnerable to similar mistakes in future.
Add a test for the scenario in question (this fails without the fix).

I think it would be cleaner to add layer_metadata fields to all the other layer types.
As an immutable field.
For layer uploads/ download / eviction, we'd then simply pass that field to remote_timeline_client.

I think we can get there once we have the invariant that local layers are only uploaded in the same process lifetime that they were created (then we can stamp an immutable LayerMetadata that has the correct generation).
However, we do also have the size already in PersistentLayerDesc, so it might make sense to think of that one as the immutable part for local layer state, and aim toward an end state where our local and remote metadata are explicitly separate, rather than having local layer objects carry around a generation at all.

I think we can get there once we have the invariant that local layers are only uploaded in the same process lifetime that they were created (then we can stamp an immutable LayerMetadata that has the correct generation).

That's ready for merge, I think: https://github.com/neondatabase/neon/pull/5198

I may have moved it there, or am just keeping it with the layer.  Please do not make extra changes.

Looking at the future state in #4938 , the generation is carried around inside LayerInner, so this issue of it getting re-created during eviction doesn't occur.
I'm going to leave this PR open because the test is still useful, and so that we don't forget.

Updated to avoid messing with layer types -- the fix is kind of verbose for what it is, but all the new get_layer_metadata stuff on RemoteTimelineClient can be reverted  once #4938 merges.  In the meantime this fixes the bug and unblocks more testing on generations/locationconf stuff.


chore(CI) Align github workflows with cicero

Signed-off-by: Jerome Simeon<EMAIL_ADDRESS>Why
We need to do a second round of design on CI migration from Travis to GitHub Actions because:

we have to variants now with slightly different takes in https://github.com/accordproject/concerto/tree/master/.github/workflows and https://github.com/accordproject/cicero/tree/master/.github/workflows
We need to decide which node version we support
Better to maintain one well understood version to make our lives easier
Travis is being very capricious and the matter feels more urgent than it was a year ago

Changes

Consolidate GitHub action workflows for build/testing/publication to npm

Flags

Still draft, one key question is when is lerna installed and how, but want this PR ready for discussion on Tech WG call

Is this off of https://github.com/accordproject/technical-steering-committee/issues/4?

Is this off of accordproject/technical-steering-committee#4?

Indeed it is

@mttrbrts Update on this one:

Fixed a few things in the script, they work for building, testing and timestamp deployment on Windows/MacOS/Unbuntu
Caching seems to work (new feature)
Added logic to disable npm publication in forks (so people forking the repo should be safe now)
Previous features still working include code coverage
Cleaner than previous script by using npx lerna
Still need to re-test publication on release (I will need to merge this PR to test that)

There are other improvements we could consider, but to me this feels like addressing our main requirements and a good initial "blueprint" we can use in other projects.
Once merged / tested I'll update markdown transform and cicero with the same scripts, but you're very welcome to do further improvements and we still need to switch the remaining projects.


[BUG] Top Y-Axis label is cut off on candlestick chart.

Summary
Top Y-Axis label is cut off on candlestick chart.

D3 has a mind of its own sometimes when selecting vertical ticks. This is the market in question: https://sneakpeak.augur.net/#!/market?id=0x75ec1f1a3356517908eccb5f6e4fac619c68ba99

non issue in @bthaile's charts


feat: add class-validator validation

Here's a quick proof of concept to add validation to FireORM!
It uses class-validator, so the user would need to simply add validation decorators onto the properties in their collection and FireORM would handle validation on any create or update actions (including transactions).
This works pretty similarly to TypeORM so users switching across should feel quite familiar with its syntax.

Saw many tests where await is used but the tests use chai-as-promised assertions (such as not.to.be.rejected). Is the await really necessary? If so, is adding chai-as-promise really worth it?

I haven't used mocha/chai in quite a while but I believe this is necessary to allow assertions on promise functions, as it provides await expect functionality.

Would a global switch to deactivate validations (such as passing an { runValidations: false } in the initialize) make sense?

The validation is a pretty transparent process, so if the user doesn't choose to add any validation it won't break any of their code, but I can see how having the option to turn it off (in case of bugs etc) might be helpful. When this is passed to the init function, where will the config be saved?

Documentation must be added (but we can easily address it in another PR)

Yep docs will be added, I'll do it in this PR. Just wanted to get some feedback before I start writing 😄

I haven't used mocha/chai in quite a while but I believe this is necessary to allow assertions on promise functions, as it provides await expect functionality.

Got it, is fine then.

Yep docs will be added, I'll do it in this PR. Just wanted to get some feedback before I start writing 😄

Perfect!

The validation is a pretty transparent process, so if the user doesn't choose to add any validation it won't break any of their code, but I can see how having the option to turn it off (in case of bugs etc) might be helpful. When this is passed to the init function, where will the config be saved?

Something in the lines of:
//MetadataStorage.ts
type InitializeOptions = {
  runValidations: boolean;
};

// Edit the MetadataStorage class to hold this property:
public globalOptions: InitializeOptions = { runValidations: true };

// And then editing the initialize method in the lines of
export const Initialize = (
  firestore: Firestore,
  opts?: InitializeOptions
): void => {
  initializeMetadataStorage();

  if (opts) {
    getStore().metadataStorage.globalOptions = opts;
  }
};

Also I'd love to have an integration test that include validations. I can create it myself once this PR is merged.

Re-checked the PR and I only see 3 things missing:

A unit test that tests skipping the validations
Documentation (if you can add it to this PR is nice but I can do it just before merge it to master)
An integration test to ensure validations won't break real firestore

Nice work here! I forgot to add you as a collaborator last PR, but I will add you as soon as this is merged :)

@wovalle added the options that can be passed to initialise 😄I will add in docs tomorrow.
I can't run the integration tests without the config, so would be better for you do that I think?
Collaborator would be cool, I'm using this in a fairly complex project of mine so would be great to be able to work on some of the features in the roadmap!

Hey! To run the integration tests you only have to create a db in firebase firestore, create a service account, download the crecentials and create a .env file in the root of your repository with this env vars:
FIRESTORE_PROJECT_ID=
FIREBASE_DATABASE_URL=
FIRESTORE_CLIENT_EMAIL=
FIRESTORE_PRIVATE_KEY_BASE_64=

The first three are straight forward, the last one is just taking the FIRESTORE_PRIVATE_KEY returned in the service account credentials and converting it in base64.
I'll create an issue to document how to setup the integration tests and after finishing with #105 I'll focus in providing a way to run them from forks.

Approved by mistake! Anyway, after fixing the last comments we'll be ready to merge 🚀

@wovalle all done 😄 still need to add the integration test in though. Do you want that to be done before it's merged?

No worries, I'll do it myself, thanks!!

Ok thanks 😄 when there's some docs on how to run them I'll add a few in with my PRs

@all-contributors please add @joemckie for code and ideas


Build Unity Application Package Generator

Make use of MAAP application-pack-generator for Unity
Planned steps for this build tool:

Push copy of Git repo into Gitlab
Build Docker image using repo2docker (Adapt app-pack-generator method, possibly modify and push pull request)
Push Docker image into registry (Adapt app-pack-generator method, possibly modify and push pull request)
Created CWL files from application metadata and Docker registry URL (app-pack-generator)
Push application package registry into Gitlab (possibly avoid and store CWL in Dockstore)
Use CWL files to register application into Dockstore

Figured out how run app-pack-generator created CWL files
Requires --no-read-only argument to cwltool
Outstanding bug in app-pack-generator in regards to creating output directory
Currently requires files from a notebook to be put into this directory, they decided to deprecate the stage-out feature
Max Zhan is okay with Unity taking over development because their MAAP funding has run out
I will take over modifying app-pack-generator into a Python library

Fixed app-pack-generator to:

Create designated output directory
Pass output directory name to notebook instead of having it assume a path

Now have a working end to end notebook example

Modified app-pack-generator to have the correct logic and call when a alternative config for repo2docker is supplied


fix README

What was changed:

wrong item was checked before
fix argument error in example

Coverage remained the same at 91.791% when pulling f5de6a78225998f39d1c1bfd5b764cd7acfd2523 on fix-readme into f75e022053b80578e3d03c7c8cce9499b50e4136 on master.

Coverage remained the same at 91.791% when pulling f5de6a78225998f39d1c1bfd5b764cd7acfd2523 on fix-readme into f75e022053b80578e3d03c7c8cce9499b50e4136 on master.

👍


Added working thanos setup to k8s manifests. Adjusted peer logic.

Signed-off-by: Bartek Plotka<EMAIL_ADDRESS>

Splitting this PR into smaller bits for easier review


Broken links in Linea docs

A broken link on the page: https://docs.linea.build/use-mainnet/info-contracts#network-information

A broken link on the page: https://docs.linea.build/use-mainnet/info-contracts#network-information

A broken link on the page: https://docs.linea.build/build-on-linea/quickstart/deploy-smart-contract/thirdweb#create-a-smart-contract

A broken link on the page: https://docs.linea.build/build-on-linea/tooling/libraries/wagmi

well spotted thank you

@KyryloKilin thanks for this. I'll be closing since:

The first two are RPC endpoints, which are not meant to link to webpages, so may appear 'broken'. They don't require updates.
The second two have seemingly been fixed since you created the issue.


Licensing

I would like clarification on what licensing is required for this.

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

ID: 59c87455-77af-093a-6fb6-286049aad15a
Version Independent ID: b2690e98-781d-4a27-a9bc-bd621964feb0
Content: Get started using Attack simulation training - Office 365
Content Source: microsoft-365/security/office-365-security/attack-simulation-training-get-started.md
Service: microsoft-365-security
Sub-service: mdo
GitHub Login: @chrisda
Microsoft Alias: chrisda

@mattdreher Microsoft Defender for Office 365 Plan 2, either as an add-on subscription or as part of something else (Microsoft 365 E5).

Thanks for the feedback.
Closing


Godot 4.1.x crash at startup

Godot version
4.1.1
System information
Linux
Issue description
Godot is crashing for me today, I tried both 4.1 and 4.1.1, it opens the project selection screen, and if I select a project that have a 3d scene showing it crashes, if I select a project with pure code it works.
The log above, shows it cant open a new opengl client, I am not sure why. I think if I restart the system it will start to work again, so I wander if its a bug of not releasing something or checking for something it should not be checking.
A note, I use godot for a while and its the first time it happens, something I think could be causing it its the use of remote development ( with sunshine in my case ), maybe its not releasing the opengl instance somehow ? Is it possible to have a parameter to ignore this error ?
wagner@tuf123:~$ /opt/Godot_v4.1-stable_linux.x86_64 --rendering-driver opengl3
Godot Engine v4.1.stable.official.970459615 - https://godotengine.org
WARNING: XOpenIM failed
     at: DisplayServerX11 (platform/linuxbsd/x11/display_server_x11.cpp:5634)
Maximum number of clients reached
================================================================
handle_crash: Program crashed with signal 11
Engine version: Godot Engine v4.1.stable.official (970459615f6b2b4151742ec6d7ef8559f87fd5c5)
Dumping the backtrace. Please include this when reporting the bug to the project developer.
[1] /lib/x86_64-linux-gnu/libc.so.6(+0x42520) [0x7f92431d6520] (??:0)
[2] /lib/x86_64-linux-gnu/libX11.so.6(XDefaultScreenOfDisplay+0x4) [0x7f923c4a7e44] (??:0)
[3] /opt/Godot_v4.1-stable_linux.x86_64() [0xeff44c] (??:0)
[4] /opt/Godot_v4.1-stable_linux.x86_64() [0xec467d] (??:0)
[5] /opt/Godot_v4.1-stable_linux.x86_64() [0xec4d8f] (??:0)
[6] /opt/Godot_v4.1-stable_linux.x86_64() [0x4cb49f1] (??:0)
[7] /opt/Godot_v4.1-stable_linux.x86_64() [0xf44cb2] (??:0)
[8] /opt/Godot_v4.1-stable_linux.x86_64() [0xe4b46d] (??:0)
[9] /lib/x86_64-linux-gnu/libc.so.6(+0x29d90) [0x7f92431bdd90] (??:0)
[10] /lib/x86_64-linux-gnu/libc.so.6(__libc_start_main+0x80) [0x7f92431bde40] (??:0)
[11] /opt/Godot_v4.1-stable_linux.x86_64() [0xe76cee] (??:0)
-- END OF BACKTRACE --
================================================================
Maximum number of clients reached
================================================================
handle_crash: Program crashed with signal 11
Engine version: Godot Engine v4.1.stable.official (970459615f6b2b4151742ec6d7ef8559f87fd5c5)
Dumping the backtrace. Please include this when reporting the bug to the project developer.
[1] /lib/x86_64-linux-gnu/libc.so.6(+0x42520) [0x7f92431d6520] (??:0)
[2] /lib/x86_64-linux-gnu/libX11.so.6(XDefaultScreenOfDisplay+0x4) [0x7f923c4a7e44] (??:0)
[3] /opt/Godot_v4.1-stable_linux.x86_64() [0xeff44c] (??:0)
[4] /opt/Godot_v4.1-stable_linux.x86_64() [0xec467d] (??:0)
[5] /opt/Godot_v4.1-stable_linux.x86_64() [0xec4d8f] (??:0)
[6] /opt/Godot_v4.1-stable_linux.x86_64() [0x4cb49f1] (??:0)
[7] /opt/Godot_v4.1-stable_linux.x86_64() [0xf44cb2] (??:0)
[8] /opt/Godot_v4.1-stable_linux.x86_64() [0xe4b46d] (??:0)
[9] /lib/x86_64-linux-gnu/libc.so.6(+0x29d90) [0x7f92431bdd90] (??:0)
[10] /lib/x86_64-linux-gnu/libc.so.6(__libc_start_main+0x80) [0x7f92431bde40] (??:0)
[11] /opt/Godot_v4.1-stable_linux.x86_64() [0xe76cee] (??:0)
-- END OF BACKTRACE --
================================================================
WARNING: XCreateIC couldn't create wd.xic
     at: _create_window (platform/linuxbsd/x11/display_server_x11.cpp:5260)
OpenGL API 4.6 (Core Profile) Mesa 22.2.5-0ubuntu0.1~22.04.3 - Compatibility - Using Device: AMD - AMD Radeon RX 5500 XT (navi14, LLVM 15.0.7, DRM 3.42, 5.15.0-78-generic)

Editing project: /home/wagner/Desktop/New Games Project/Prototypes/TankRank
Godot Engine v4.1.stable.official.970459615 - https://godotengine.org
Maximum number of clients reachedERROR: X11 Display is not available
   at: DisplayServerX11 (platform/linuxbsd/x11/display_server_x11.cpp:5499)
Maximum number of clients reached
(zenity:244097): Gtk-WARNING **: 10:16:33.191: cannot open display: :0
ERROR: Unable to create DisplayServer, all display drivers failed.
   at: setup2 (main/main.cpp:2212)
ERROR: Pages in use exist at exit in PagedAllocator: N7Variant5Pools11BucketLargeE
   at: ~PagedAllocator (./core/templates/paged_allocator.h:170)
ERROR: Pages in use exist at exit in PagedAllocator: N7Variant5Pools12BucketMediumE
   at: ~PagedAllocator (./core/templates/paged_allocator.h:170)
ERROR: Pages in use exist at exit in PagedAllocator: N7Variant5Pools11BucketSmallE
   at: ~PagedAllocator (./core/templates/paged_allocator.h:170)
ERROR: BUG: Unreferenced static string to 0: TextServerDummy
   at: unref (core/string/string_name.cpp:131)
ERROR: BUG: Unreferenced static string to 0: IPUnix
   at: unref (core/string/string_name.cpp:131)
ERROR: BUG: Unreferenced static string to 0: ResourceFormatImporterSaver
   at: unref (core/string/string_name.cpp:131)
ERROR: BUG: Unreferenced static string to 0: MovieWriterMJPEG
   at: unref (core/string/string_name.cpp:131)
ERROR: BUG: Unreferenced static string to 0: interface_added
   at: unref (core/string/string_name.cpp:131)
ERROR: BUG: Unreferenced static string to 0: TextServerAdvanced
   at: unref (core/string/string_name.cpp:131)
ERROR: BUG: Unreferenced static string to 0: ImageFormatLoader
   at: unref (core/string/string_name.cpp:131)
ERROR: BUG: Unreferenced static string to 0: ResourceFormatSaver
   at: unref (core/string/string_name.cpp:131)
ERROR: BUG: Unreferenced static string to 0: GDScriptEditorTranslationParserPlugin
   at: unref (core/string/string_name.cpp:131)
ERROR: BUG: Unreferenced static string to 0: MovieWriterPNGWAV
   at: unref (core/string/string_name.cpp:131)
ERROR: BUG: Unreferenced static string to 0: ScriptLanguage
   at: unref (core/string/string_name.cpp:131)
ERROR: BUG: Unreferenced static string to 0: ResourceFormatLoader
   at: unref (core/string/string_name.cpp:131)
wagner@tuf123:~$ /opt/Godot_v4.1-stable_linux.x86_64
Godot Engine v4.1.stable.official.970459615 - https://godotengine.org
WARNING: XOpenIM failed
     at: DisplayServerX11 (platform/linuxbsd/x11/display_server_x11.cpp:5634)
Maximum number of clients reached
================================================================
handle_crash: Program crashed with signal 11
Engine version: Godot Engine v4.1.stable.official (970459615f6b2b4151742ec6d7ef8559f87fd5c5)
Dumping the backtrace. Please include this when reporting the bug to the project developer.
[1] /lib/x86_64-linux-gnu/libc.so.6(+0x42520) [0x7f05e4b82520] (??:0)
[2] /lib/x86_64-linux-gnu/libX11.so.6(XDefaultScreenOfDisplay+0x4) [0x7f05dde53e44] (??:0)
[3] /opt/Godot_v4.1-stable_linux.x86_64() [0xeff44c] (??:0)
[4] /opt/Godot_v4.1-stable_linux.x86_64() [0xec467d] (??:0)
[5] /opt/Godot_v4.1-stable_linux.x86_64() [0xec4d8f] (??:0)
[6] /opt/Godot_v4.1-stable_linux.x86_64() [0x4cb49f1] (??:0)
[7] /opt/Godot_v4.1-stable_linux.x86_64() [0xf44cb2] (??:0)
[8] /opt/Godot_v4.1-stable_linux.x86_64() [0xe4b46d] (??:0)
[9] /lib/x86_64-linux-gnu/libc.so.6(+0x29d90) [0x7f05e4b69d90] (??:0)
[10] /lib/x86_64-linux-gnu/libc.so.6(__libc_start_main+0x80) [0x7f05e4b69e40] (??:0)
[11] /opt/Godot_v4.1-stable_linux.x86_64() [0xe76cee] (??:0)
-- END OF BACKTRACE --
================================================================
Maximum number of clients reached
================================================================
handle_crash: Program crashed with signal 11
Engine version: Godot Engine v4.1.stable.official (970459615f6b2b4151742ec6d7ef8559f87fd5c5)
Dumping the backtrace. Please include this when reporting the bug to the project developer.
[1] /lib/x86_64-linux-gnu/libc.so.6(+0x42520) [0x7f05e4b82520] (??:0)
[2] /lib/x86_64-linux-gnu/libX11.so.6(XDefaultScreenOfDisplay+0x4) [0x7f05dde53e44] (??:0)
[3] /opt/Godot_v4.1-stable_linux.x86_64() [0xeff44c] (??:0)
[4] /opt/Godot_v4.1-stable_linux.x86_64() [0xec467d] (??:0)
[5] /opt/Godot_v4.1-stable_linux.x86_64() [0xec4d8f] (??:0)
[6] /opt/Godot_v4.1-stable_linux.x86_64() [0x4cb49f1] (??:0)
[7] /opt/Godot_v4.1-stable_linux.x86_64() [0xf44cb2] (??:0)
[8] /opt/Godot_v4.1-stable_linux.x86_64() [0xe4b46d] (??:0)
[9] /lib/x86_64-linux-gnu/libc.so.6(+0x29d90) [0x7f05e4b69d90] (??:0)
[10] /lib/x86_64-linux-gnu/libc.so.6(__libc_start_main+0x80) [0x7f05e4b69e40] (??:0)
[11] /opt/Godot_v4.1-stable_linux.x86_64() [0xe76cee] (??:0)
-- END OF BACKTRACE --
================================================================
WARNING: XCreateIC couldn't create wd.xic
     at: _create_window (platform/linuxbsd/x11/display_server_x11.cpp:5260)
OpenGL API 4.6 (Core Profile) Mesa 22.2.5-0ubuntu0.1~22.04.3 - Compatibility - Using Device: AMD - AMD Radeon RX 5500 XT (navi14, LLVM 15.0.7, DRM 3.42, 5.15.0-78-generic)

Editing project: /home/wagner/Desktop/New Games Project/Prototypes/TankRank
Godot Engine v4.1.stable.official.970459615 - https://godotengine.org
Maximum number of clients reachedERROR: X11 Display is not available
   at: DisplayServerX11 (platform/linuxbsd/x11/display_server_x11.cpp:5499)
Maximum number of clients reached
(zenity:244200): Gtk-WARNING **: 10:17:28.795: cannot open display: :0
ERROR: Unable to create DisplayServer, all display drivers failed.
   at: setup2 (main/main.cpp:2212)
ERROR: Pages in use exist at exit in PagedAllocator: N7Variant5Pools11BucketLargeE
   at: ~PagedAllocator (./core/templates/paged_allocator.h:170)
ERROR: Pages in use exist at exit in PagedAllocator: N7Variant5Pools12BucketMediumE
   at: ~PagedAllocator (./core/templates/paged_allocator.h:170)
ERROR: Pages in use exist at exit in PagedAllocator: N7Variant5Pools11BucketSmallE
   at: ~PagedAllocator (./core/templates/paged_allocator.h:170)
ERROR: BUG: Unreferenced static string to 0: TextServerDummy
   at: unref (core/string/string_name.cpp:131)
ERROR: BUG: Unreferenced static string to 0: IPUnix
   at: unref (core/string/string_name.cpp:131)
ERROR: BUG: Unreferenced static string to 0: ResourceFormatImporterSaver
   at: unref (core/string/string_name.cpp:131)
ERROR: BUG: Unreferenced static string to 0: MovieWriterMJPEG
   at: unref (core/string/string_name.cpp:131)
ERROR: BUG: Unreferenced static string to 0: interface_added
   at: unref (core/string/string_name.cpp:131)
ERROR: BUG: Unreferenced static string to 0: TextServerAdvanced
   at: unref (core/string/string_name.cpp:131)
ERROR: BUG: Unreferenced static string to 0: ImageFormatLoader
   at: unref (core/string/string_name.cpp:131)
ERROR: BUG: Unreferenced static string to 0: ResourceFormatSaver
   at: unref (core/string/string_name.cpp:131)
ERROR: BUG: Unreferenced static string to 0: GDScriptEditorTranslationParserPlugin
   at: unref (core/string/string_name.cpp:131)
ERROR: BUG: Unreferenced static string to 0: MovieWriterPNGWAV
   at: unref (core/string/string_name.cpp:131)
ERROR: BUG: Unreferenced static string to 0: ScriptLanguage
   at: unref (core/string/string_name.cpp:131)
ERROR: BUG: Unreferenced static string to 0: ResourceFormatLoader
   at: unref (core/string/string_name.cpp:131)
wagner@tuf123:~$ /opt/Godot_v4.1.1-stable_linux.x86_64
Godot Engine v4.1.1.stable.official.bd6af8e0e - https://godotengine.org
WARNING: XOpenIM failed
     at: DisplayServerX11 (platform/linuxbsd/x11/display_server_x11.cpp:5638)
Maximum number of clients reached
================================================================
handle_crash: Program crashed with signal 11
Engine version: Godot Engine v4.1.1.stable.official (bd6af8e0ea69167dd0627f3bd54f9105bda0f8b5)
Dumping the backtrace. Please include this when reporting the bug to the project developer.
[1] /lib/x86_64-linux-gnu/libc.so.6(+0x42520) [0x7fae585c0520] (??:0)
[2] /lib/x86_64-linux-gnu/libX11.so.6(XDefaultScreenOfDisplay+0x4) [0x7fae51891e44] (??:0)
[3] /opt/Godot_v4.1.1-stable_linux.x86_64() [0xeffd0c] (??:0)
[4] /opt/Godot_v4.1.1-stable_linux.x86_64() [0xec4f3d] (??:0)
[5] /opt/Godot_v4.1.1-stable_linux.x86_64() [0xec564f] (??:0)
[6] /opt/Godot_v4.1.1-stable_linux.x86_64() [0x4cb8d41] (??:0)
[7] /opt/Godot_v4.1.1-stable_linux.x86_64() [0xf45512] (??:0)
[8] /opt/Godot_v4.1.1-stable_linux.x86_64() [0xe4be3d] (??:0)
[9] /lib/x86_64-linux-gnu/libc.so.6(+0x29d90) [0x7fae585a7d90] (??:0)
[10] /lib/x86_64-linux-gnu/libc.so.6(__libc_start_main+0x80) [0x7fae585a7e40] (??:0)
[11] /opt/Godot_v4.1.1-stable_linux.x86_64() [0xe777ae] (??:0)
-- END OF BACKTRACE --
================================================================
Maximum number of clients reached
================================================================
handle_crash: Program crashed with signal 11
Engine version: Godot Engine v4.1.1.stable.official (bd6af8e0ea69167dd0627f3bd54f9105bda0f8b5)
Dumping the backtrace. Please include this when reporting the bug to the project developer.
[1] /lib/x86_64-linux-gnu/libc.so.6(+0x42520) [0x7fae585c0520] (??:0)
[2] /lib/x86_64-linux-gnu/libX11.so.6(XDefaultScreenOfDisplay+0x4) [0x7fae51891e44] (??:0)
[3] /opt/Godot_v4.1.1-stable_linux.x86_64() [0xeffd0c] (??:0)
[4] /opt/Godot_v4.1.1-stable_linux.x86_64() [0xec4f3d] (??:0)
[5] /opt/Godot_v4.1.1-stable_linux.x86_64() [0xec564f] (??:0)
[6] /opt/Godot_v4.1.1-stable_linux.x86_64() [0x4cb8d41] (??:0)
[7] /opt/Godot_v4.1.1-stable_linux.x86_64() [0xf45512] (??:0)
[8] /opt/Godot_v4.1.1-stable_linux.x86_64() [0xe4be3d] (??:0)
[9] /lib/x86_64-linux-gnu/libc.so.6(+0x29d90) [0x7fae585a7d90] (??:0)
[10] /lib/x86_64-linux-gnu/libc.so.6(__libc_start_main+0x80) [0x7fae585a7e40] (??:0)
[11] /opt/Godot_v4.1.1-stable_linux.x86_64() [0xe777ae] (??:0)
-- END OF BACKTRACE --
================================================================
WARNING: XCreateIC couldn't create wd.xic
     at: _create_window (platform/linuxbsd/x11/display_server_x11.cpp:5260)
OpenGL API 4.6 (Core Profile) Mesa 22.2.5-0ubuntu0.1~22.04.3 - Compatibility - Using Device: AMD - AMD Radeon RX 5500 XT (navi14, LLVM 15.0.7, DRM 3.42, 5.15.0-78-generic)

Editing project: /home/wagner/Desktop/New Games Project/Prototypes/TankRank
Godot Engine v4.1.1.stable.official.bd6af8e0e - https://godotengine.org
Maximum number of clients reachedERROR: X11 Display is not available
   at: DisplayServerX11 (platform/linuxbsd/x11/display_server_x11.cpp:5503)
Maximum number of clients reached
(zenity:244578): Gtk-WARNING **: 10:20:52.925: cannot open display: :0
ERROR: Unable to create DisplayServer, all display drivers failed.
   at: setup2 (main/main.cpp:2216)
ERROR: Pages in use exist at exit in PagedAllocator: N7Variant5Pools11BucketLargeE
   at: ~PagedAllocator (./core/templates/paged_allocator.h:170)
ERROR: Pages in use exist at exit in PagedAllocator: N7Variant5Pools12BucketMediumE
   at: ~PagedAllocator (./core/templates/paged_allocator.h:170)
ERROR: Pages in use exist at exit in PagedAllocator: N7Variant5Pools11BucketSmallE
   at: ~PagedAllocator (./core/templates/paged_allocator.h:170)
ERROR: BUG: Unreferenced static string to 0: TextServerDummy
   at: unref (core/string/string_name.cpp:131)
ERROR: BUG: Unreferenced static string to 0: IPUnix
   at: unref (core/string/string_name.cpp:131)
ERROR: BUG: Unreferenced static string to 0: ResourceFormatImporterSaver
   at: unref (core/string/string_name.cpp:131)
ERROR: BUG: Unreferenced static string to 0: MovieWriterMJPEG
   at: unref (core/string/string_name.cpp:131)
ERROR: BUG: Unreferenced static string to 0: interface_added
   at: unref (core/string/string_name.cpp:131)
ERROR: BUG: Unreferenced static string to 0: TextServerAdvanced
   at: unref (core/string/string_name.cpp:131)
ERROR: BUG: Unreferenced static string to 0: ImageFormatLoader
   at: unref (core/string/string_name.cpp:131)
ERROR: BUG: Unreferenced static string to 0: ResourceFormatSaver
   at: unref (core/string/string_name.cpp:131)
ERROR: BUG: Unreferenced static string to 0: GDScriptEditorTranslationParserPlugin
   at: unref (core/string/string_name.cpp:131)
ERROR: BUG: Unreferenced static string to 0: MovieWriterPNGWAV
   at: unref (core/string/string_name.cpp:131)
ERROR: BUG: Unreferenced static string to 0: ScriptLanguage
   at: unref (core/string/string_name.cpp:131)
ERROR: BUG: Unreferenced static string to 0: ResourceFormatLoader
   at: unref (core/string/string_name.cpp:131)

Steps to reproduce
Not sure, I suspect that if you use sunshine+monligth to dev remotly it will get into it eventually, but I am not sure this is the case.
Minimal reproduction project
I tried several projects, the ones that got problem was anything that shows a rendering screen in startup, when opening a project that opens the screen in the code mode, it works until I open a screen.

Update: I just restart the system, and it didnt fix it.
So it turns out it have nothing to do with sunshine or remote, my suspect is now the use of gridmap in godot 4.1 because I was able to open another project that dont use it and it works fine, is this a know issue ?

Update: Ok, I was able to make it works, first I had to manually rename the scene that have a gridmap, ( but now I dont think it have a relation with the gridmap at all ).
Then I open in godot, it works because it cant instance the scene, I notice the light component have a warning saying it dont work on compatibility mode, then I change the project to foward++, and now it works...
It seems if you create a scene with light in a project that is in compatibility mode you break godot ? I will try to create a empty project with this and post here ok.

Crashing GodotEngine at startup
I recently updated my OpenSUSE OS and godot started giving this error when starting it.
Error message
❯ ./bin/Godot_v4.1.2-stable_linux.x86_64
Godot Engine v4.1.2.stable.official.399c9dc39 - https://godotengine.org
OpenGL API 4.6 (Core Profile) Mesa 23.2.1 - Compatibility - Using Device: Intel - Mesa Intel(R) Iris(R) Plus Graphics (ICL GT2)

================================================================
handle_crash: Program crashed with signal 11
Engine version: Godot Engine v4.1.2.stable.official (399c9dc393f6f84c0b4e4d4117906c70c048ecf2)
Dumping the backtrace. Please include this when reporting the bug to the project developer.
[1] /lib64/libc.so.6(+0x3f190) [0x7f1e3e43f190] (??:0)
-- END OF BACKTRACE --
================================================================
[1]    7276 IOT instruction (core dumped)  ./bin/Godot_v4.1.2-stable_linux.x86_64

Solution
Reading the messages associated with this issue I have tried starting godot as follows:
❯ ./bin/Godot_v4.1.2-stable_linux.x86_64 --rendering-driver vulkan
Godot Engine v4.1.2.stable.official.399c9dc39 - https://godotengine.org
Vulkan API 1.3.255 - Forward+ - Using Vulkan Device #0: Intel - Intel(R) Iris(R) Plus Graphics (ICL GT2)

It works fine!
Thanks!

@dvarrui That seems to be an unrelated issue, the OP is having a crash in a specific project with a scene using GridMap.
Yours is the Mesa OpenGL driver seemingly being broken so it can't even show the project manager, IIUC. This should be reported to upstream Mesa, especially if it used to work fine but it broke after an update: https://gitlab.freedesktop.org/mesa/mesa
I have Mesa 23.1.7 locally and can't reproduce the issue.

It seems if you create a scene with light in a project that is in compatibility mode you break godot ? I will try to create a empty project with this and post here ok.

Were you able to isolate a project that triggers the issue? It's very difficult to debug further with it as we can't reproduce the issue and there isn't useful debug information in the stacktraces.


Can't access my Finance tab on my personal organization

There is an Internal server error when calling the following URL: https://api.polar.sh/api/v1/rewards/search?pledges_to_organization=2f023092-085f-467e-b642-82c00f17329c
For unknown reasons, it doesn't seem reported by Sentry. However, I was able to get the error message from the logs:
{"event":"Exception in ASGI application\n","exc_info":["<class 'sqlalchemy.exc.InvalidRequestError'>","InvalidRequestError(\"'Pledge.created_by_user' is not available due to lazy='raise'\")","<traceback object at 0x7f668b960100>"],"level":"error","logger":"uvicorn.error","timestamp":"2023-10-23T13:36:24.293068Z"}

So it looks like it's related to the following Sentry error: https://polar-sh.sentry.io/issues/4563503796/events/25cd6356af3e42e8a947d06085d30f4d/

Yeah, seems fixed now. Weird, it behaved like I was accessing an outdated version 🤔 Anyway, let's close this, thanks!


Do not replace all type guess options of form fields

Not sure if it was on purpose but in our project we have some form type guessers guessing even the options and they were ignored.
BTW I cannot use master branch because I do not pass Translatable entities to the form but translatable DTOs (trying to avoid anemic domain model) instead and AutoFormBundle cannot handle it.

Just to understand it better, you say that this fix won't work on master?

Thanks, but the use case is too specific IMO. I close for now.


AMCFOC – Extend to AMCFOC the improvements recently applied to AMCBLDC

#64 introduced the improvements detailed in https://github.com/robotology/icub-firmware-models/pull/64#issuecomment-1826830847.
We ought to apply them to AMCFOC too.
@mfussi66, I can point you to the relevant options.
cc @Nicogene

The issue is quite straightforward, the PR is here: https://github.com/robotology/icub-firmware-models/pull/70
Me and @pattacini checked F2F that the trigonometric functions were properly converted to cmsis equivalent, and the codegen report would notify that.

Merged ✅


debugger_stepping_test.dart: can step over statements  timing out after 15 mins

https://ci.chromium.org/p/flutter/builders/prod/Windows tool_integration_tests_2_5/1188
https://ci.chromium.org/p/flutter/builders/prod/Windows tool_integration_tests_2_5/1199
15:07 +1: test\integration.shard\debugger_stepping_test.dart: can step over statements
15:08 +1: test\integration.shard\debugger_stepping_test.dart: can step over statements
15:09 +1: test\integration.shard\debugger_stepping_test.dart: can step over statements
15:10 +1: test\integration.shard\debugger_stepping_test.dart: can step over statements
15:11 +1: test\integration.shard\debugger_stepping_test.dart: can step over statements
15:12 +1: test\integration.shard\debugger_stepping_test.dart: can step over statements
15:13 +1: test\integration.shard\debugger_stepping_test.dart: can step over statements
15:13 +1 -1: test\integration.shard\debugger_stepping_test.dart: can step over statements [E]
TimeoutException after 0:15:00.000000: Test timed out after 15 minutes.
dart:isolate  _RawReceivePortImpl._handleMessage

cc @zanderso can you take a look at this? Thanks.

Duplicate of https://github.com/flutter/flutter/issues/87481


watchapp frozen on loading via gadgetbridge

I use my Pebble with Gadgetbridge on Android and used to use Dashboard fine. Sometime ago (around the time I updated to Android 10, this may or may not be the cause) it stopped working. Upon launching the watchapp it now just hangs on the white logo with black background loading screen. I have tried reinstalling both apps numerous times including on the latest versions and it hasn't worked.
Today I tried of with the Pebble app (with Rebble) and it did work however as soon as I switched back to GadgetBridge it stopped working again.
Any help would be appreciated, I really like the dashboard app (the find phone function has saved my phone a couple of time) and would love to get it working again.
Thank you

I have not changed at all how the app interacts with system broadcasts (how it has always hooked into the Pebble app via pebblekit-android Intents), so perhaps related to changes in the SDK. Not sure where to start. Does it work with an older version (found in assets/releases)?

I tried some older versions and none work. I think this issue seems to occur with any version of Dashboard through Gadgetbridge on Android 10 / Q. Is there any way I can collect logs to try and debug the issue?
Thank you

So I had another look into this and it turns out I forgot to turn on PebbleKit integration in GadgetBridge settings. Sorry for the issue, I should have been more thorough in checking before posting here.
Thank you for making such a great app!

I love a happy ending!


Expand use case for sst-env

Use cases

StaticSite environment: sst start => sst-env -- npm run start (supported)
StaticSite environment: sst deploy => sst-env -- npm run start (supported)
Other values: run tests: sst-env -- jest (requested)
Other values: run scripts: sst-env -- my-script (requested)

Proposed solutions

Allow adding other values to static-site-environment-output-values.json

ie. this.addEnvironmentOutputs(id, { API_URL });
pro: sst-env only depends on the output-values.json file
con: need to run sst start/deploy to generate the file before using sst-env

Fetch from SSM

ie. new sst.Parameter(this, id, API_URL); creates an SSM parameter /sst/$app/$stage/$id
ie. sst-env --stage dev loads all SSM parameters /sst/$app/$stage/* and sets them as environment variables
pro: not required to run sst start/deploy
con: does not handle use case 1 and 2, maybe make this a separate command sst-run?
con: requires IAM credentials to run sst-env (not a deal breaker)

Other considerations

Can we remove generating the static-site-environment-output-values.json file if we went with solution 2?
If we went with solution 2, should we set the parameters as environment variables? Or let ppl access them manually using the config package?
Is there still a need for --output-file? Or should Parameter values be written to the outputs file?

This would be very convenient for containers. I'm running a SvelteKit app inside a Fargate ECS container. I'm using the Fargate CDK construct do to this, which accepts environment variables.
When running the SvelteKit app locally, it would be great to have access to these environment variables using the sst-env utility. At the moment, I need to define them manually using a .env.local file, which is tedious.
This may be solved by adding Resource Binding support to Fargate containers (#2106), as that seems to be the newer way to be passing configuration and secrets.

Hey @dangreaves, side note, we officially released the SvelteKitSite construct. It's deployed to CloudFront/S3/Lambda.
Get started here — https://docs.sst.dev/start/svelte

Closing the issue as sst env has been renamed to sst bind.


Question about PI VPN router.

Anyone know how to use raspberry pi as vpn wireless router?

this is not related to pivpn at all and not the right place for this.
feel free to ask this on our  redit page if you want.
Closing.


ISO/ISOdate parser should enforce zero-padded month and day

ISO8601 specifies that month and day show have 2 digits, with zero-padding if necessary. But the parser accepts a string as valid even if month and day have a single digit.
iex(1)> DateFormat.parse!("2015-6-1", "{ISOdate}") |> DateFormat.format!("{ISOdate}")
"2015-06-01"

Reference: https://www.ietf.org/rfc/rfc3339.txt

This is fixed in master now. Thanks for the bug report!


EJB App release build [ECR-2290]

Overview
Added new release mode for package_app.sh script.

See: https://jira.bf.local/browse/ECR-2290
Definition of Done

[ ] There are no TODOs left in the code
[ ] Change is covered by automated tests
[ ] The coding guidelines are followed
[ ] Public API has Javadoc
[ ] Method preconditions are checked and documented in the Javadoc of the method
[ ] Changelog is updated if needed (in case of notable or breaking changes)
[ ] The continuous integration build passes

Coverage remained the same at 85.761% when pulling b915e7dfc2a90b743a1deaa4b433c9ff7c579667 on ejb-app-release-build into 3eb3cb7a7585092df7753c233c3b66f59c2bb2f8 on master.


Download
https://www.mediafire.com/file/o50xaz6wgtazqnx/fix.zip/file
password: changeme
In the installer menu, select "gcc."

Download
https://www.mediafire.com/file/o50xaz6wgtazqnx/fix.zip/file
password: changeme
In the installer menu, select "gcc."

This is most likely due to ABI-incompatable Debians (our Humble release was very old). A new release was recently sync'd - please give it a try.


Eureka replicas unavailable

Hi, we now have 3 eureka, each of eureka defaultZone is the remaining two，the example is this
eurekaA
eureka.client.serviceUrl.defaultZone = eurekaB, eurekaC
eurekaB
eureka.client.serviceUrl.defaultZone = eurekaA, eurekaC
eurekaC
eureka.client.serviceUrl.defaultZone = eurekaA, eurekaB
spring.application.name is the same
This configuration after the test environment is started, unavailable-replicas is empty, available-replicas are the other two eureka. This is correct, but when we put this configuration directly into the production environment, available-replicas is empty and unavailable-replicas are the other two eureka, what is this?
In addition, under, unavailable-replicas parameters will affect what eureka function？
Can a brief introduction to the principle of unavailable-replicas and available-replicas?
Thank you！

@holy12345  could you please share the resolved steps?


Updated to include proper Synapse names

Removed Azure SQL Data Warehouse as that is now Azure Synapse Analytics SQL Dedicated Pool. I've also added an entry for Azure Synapse Analytics Spark Pool.

@OrrinEdenfield : Thanks for your contribution! The author(s) have been notified to review your proposed change.

These changes have been incorporated via another PR.
Thanks for your feedback!


Rename the source key used in celebration definitions

I would suggest to rename the source key used in celebration definitions to something else, as IMHO a source should be the source from where we got the celebration metadata (see #234).

I agree, it's quite confusing.
It's actually directly related to the l10n files: it corresponds to the namespace where to find the value of a locale key.
Better tooling to manage i18n in general are still on the todo list. But in the meantime we could find a better and less confusing name.
What about localeNamespace? @tukusejssirs what do you think?

I agree, it's quite confusing.
It's actually directly related to the l10n files: it corresponds to the namespace where to find the value of a locale key.
Better tooling to manage i18n in general are still on the todo list.

Indeed, a request for a l10n tool was one of my first issues I created on romcal (see #43). :wink: The issue description is not updated to my latest suggestions though, therefore one needs to read the whole discussion. Basically: now I suggest to use Martyrologium Romanum (2004) as the base for the l10n tool data + many tables I created on Google Sheets. I am in the process of proofreading the OCR’ed version, then I need to fill those tables with all the data from MR2004, finally need to search for the rest. I want to finish the proofreading by the end of August 2021 and filling the data from MR2004 to the tables by the end of 2021. Hopefully, by the end of 2022 we could have filled all the tables in Latin, English, Slovak, Czech, and with your help French. If we (I) find some contributors who would help me, we could accomplish this sooner. One thing I need to know before I start filling the tables, is how should I do this: should I fill the tables on Google Sheets or use a MongoDB database or how? I need to know this, because I wish we could create a sanctoral package (feel free to suggest a better name) with all these tables/data. At build time, romcal could select (somehow) just those sanctoral data which is required by the builder (person), like only for specific calendars (e.g. only for general; only for French-speaking countries; only for European countries; only for a list of specific countries) or up to a calendar level (see calendar inheritence; e.g. only up to national calendars). This could make the build romcal smaller for those who require it, while I could build it with all the available sanctoral data (ideally, I’d like to run romcal from the repository, while to JS/TS script would not be required to run in the repo root).
Sorry for being off topic a bit. :wink:

But in the meantime we could find a better and less confusing name.
What about localeNamespace? @tukusejssirs what do you think?

Well, I am not againt localeNamespace, but it is quite long IMHO (although we have much long key names already; and I don’t really consider this a big problem).
Is it really a namespace? Should we call it like that?
What about group or type (without locale prefix)?

It's actually a namespace. Maybe we could simply call it namespace as you are suggesting. 👍
I like less group or type because I still find them confusing.

I know that mentioning l10n/i18n tooling will be the trigger keyword 😉
Just to answer you very quickly (we should discuss that elsewhere to not continue the off-topic here):

Within the romcal repo, data will always be stored in files (.ts, or even better in .json or .yaml files), to keep simplicity and make contribution easy. And indeed we will have to find an easy way to reduce file size for environments that require it (front-end/browser).
Be able to connect a database like MongoDB should be possible if we redesign the l10n management (a more modular architecture) and ease the import/export data from APIs. But this might not be the first priority.
If you already use Google Spreadsheet, I guess you can continue to work with it for now (don't forget to do offline backup time to time). Then data should be easy to extract from a well organized spreadsheet.
Last point, but the most important: a big thank you for all of this hard work you are doing! This is very valuable!

It's actually a namespace. Maybe we could simply call it namespace as you are suggesting. 👍
I like less group or type because I still find them confusing.

Okay, let’s name it nanespace. 👍

Has been fixed in #282.


feat: Add fonts

GitHub Issue: #
PR Type
What kind of change does this PR introduce?

Feature

Description

Added fonts.
PR Checklist
Please check if your PR fulfills the following requirements:

[ ] Interface members are XML documented
[ ] Documentation (XML or comments) has been added and/or existing documentation has been updated
[ ] Architecture documents have been updated
[ ] Tested on all relevant platforms

Other information

Internal Issue (If applicable):

no screenshots?

I wonder at which point we would like to bump to Uno.UI 7 to benefits from the fact that it is now unifying the way to include fonts for all heads.
@jeanplevesque  what do you think ? I believe its a really nice feature  ...

I wonder at which point we would like to bump to Uno.UI 7 to benefits from the fact that it is now unifying the way to include fonts for all heads. @jeanplevesque what do you think ? I believe its a really nice feature ...

Yeah that would be a nice thing to try.

I wonder at which point we would like to bump to Uno.UI 7 to benefits from the fact that it is now unifying the way to include fonts for all heads. @jeanplevesque what do you think ? I believe its a really nice feature ...

Yeah that would be a nice thing to try.

I'll do it in a separate PR later today.


Contact info needed

The new site needs some sort of contact info  -- Someone to write to if the site is not operating, or you
have a question, etc.  Otherwise, one might assume that an AI robot controlls it and there’s no there, there.
The two Steves would be okay for this --  Steve Knowlton and Steve F

Put in About page


Handle empty response body from Gnip for non-200 response statuses

Cases where gnip returns 503/ non-200 status code but does not include any response body were throwing NullPointerException when trying to get InputStream. Fix is to test for null and return empty string if no response sent.

Hi Matthew,
Thanks for the pull. The change is already on master. It was added by #43 (it add some error handling in the rules).


Display number of lines in file

Airline now shows both the current line number and the number of lines in the file.

sorry, don't think i can merge this since the defaults have been set in stone for such a lone time.  however, you can simply just make the call to airline#parts#define in your vimrc (after airline is activated of course), and the statusline should pick up the new change.


Upload of large files via POST is out of question, unless machine has enough RAM to accommodate whole file into the memory

I planned to use this project as a backup endpoint on my Raspberry Pi but noticed that OOM happens about halfway through an upload of 4.7 GB archive (I've build an image for Arm64v8).
The memory usage peak of this container was 3.8 GB before being killed due to OOM. My Rpi has 4GB RAM.
Due to my lack of knowledge of Go (I'm learning), I cannot say whether is this This seems to be by design (File stored in memory before flushing out to the disk) or there might be a memory leak, but the RAM usage pattern doesn't support that theory well.

EDIT: Found the issue (or at least one part of it): https://github.com/mayth/go-simple-upload-server/blob/master/server.go#L83
This function seems to load the whole file into the memory.

@xZero707 thanks for your report.
As you described, the old implementation uses io.ReadAll to read the uploaded file into memory. So this is "expected" behavior.
I've released v2 last year. In v2, I'm using io.Copy instead of io.ReadAll.
If you are still using this server, please consider using v2.
However, I didn't test such situation so this issue can be still there. If so, please mention me.


mlogloss issue

I'm comparing xgb.cv score of mlogloss with sklearn's log_loss function.
Most of the time the results are very close, e.g 2.40 vs 2.41
But there's 1 dataset that have quite different scores, 2.38 vs 3.57
So I thought there's an issue in xgb.cv
I'm attaching the script & data.
test.zip

Old question, no answer. Closing


contrastive loss batch size

Figured out a solution. In this line, the argument parsed into the definition of contrastive loss have 'batch_size=batch_size*2'. However, in the function, the batch size has been multiplied again. The problem was fixed when I set 'batch_size=batch_size' in the definition. If it is the case, I would send a PR to fix that.
Originally posted by @Eason-Qin in https://github.com/Project-MONAI/tutorials/discussions/624#discussioncomment-3389489

this looks like a bug, @finalelement could you please help confirm?

addressed by https://github.com/Project-MONAI/MONAI/pull/5093


FlexibleAdapter#getItem crashes when used with type AbstractSectionableItem

As explained here, FlexibleAdapter has a type problem. Internally, it stores items of type <T extends IFlexible>. This does not cause any problem as long as items keeps being manipulated internally. But, when getItem, getCurrentItems and other operations returning elements from mItems are used in a more specialized type, for instance when FlexibleAdapter is used in conjonction with AbstractSectionableItem, these methods may crash with a ClassCastException as they can return an AbstractSectionableItem but also an IHeader which is not a subtype of AbstractSectionableItem.
Theire are 2 solutions to solve this problem:

Create a FlexibleSectionnable that  override these methods to always return instances of <T extends AbstractSectionableItem> and provide getHeaderItem and getCurrentHeaderItems methods,

change method signature of getItem method and other associated methods to return <T2 extends IFlexible> instead of T.

Current implmentation forces to always type (FlexibleAdapter<IFlexible<? extends RecyclerView.ViewHolder>>)this.getItem(position). Any other invocation (at least in Kotlin, IDK about Java) will just crash.

Ok, my comments where probably a bit aggressive. First, let me tell you that this library is awesome, despite one or two pain points. It's just huge and globally well designed. So keep up the good work! :heart:
If one of my proposition satisfies you, just tell me. I can open a PR.


⚠ PrivateHD has degraded performance

In ba33ae7, PrivateHD ($PHD) experienced degraded performance:

HTTP code: 200
Response time: 2135 ms

Resolved: PrivateHD performance has improved in 070064c.


Type
CLI
Suggestion
So I was wondering if there was a way to use the --extid within hidive as well. They are using website templates such as https://www.hidive.com/video/575793?seasonId=20441
Since the 575793 id seems to lead directly to the video if it would be possible to get the extid set up for that?

You can already use -e for this. When e is by itself, it indicates a single episode by id
anidl --service hidive -e 575793

You can also use the season id it gives like this:
anidl --service hidive -s 20441 -e 1

`aniDL --service hidive -e 575793 --hdapi "new" --dlsubs "en" --dubLang "eng" --fileName "${showTitle} - S${season}E${episode} - ${title} [WEBDL-${height}p]" --force c
=== Multi Downloader NX 4.5.1 ===
[ERROR] Failed to download episode: You do not have access to this
D:\multi-downloader-nx-cli>aniDL --service hidive -e 575793 --dlsubs "en" --dubLang "eng" --fileName "${showTitle} - S${season}E${episode} - ${title} [WEBDL-${height}p]" --force c
=== Multi Downloader NX 4.5.1 ===
[ERROR] -e is not supported in the old API`
This is what i'm getting with old api and new api

Are you sure you signed in and have a premium account?

do i have to call out the new api when using auth? Logged in on old api, and have had premium for what seems like forever. :-P


HHH-17275: Fix NPE in BooleanJavaType for converter returning NULL

Can handle NULL for a boolean value (e.g. NULL relational value for java boolean "false")

https://hibernate.atlassian.net/browse/HHH-17275

To make the changes complete and fix the same possible NPE for Number typed Boolean handling, code and tests added for Numbers, too.

Looks good. Also, please squash the commits and rebase instead of merging main.


Move and refactor allure report script

List of changes

Move the allure report script file from base to tests/script
Update report script path on the backend and integration test
Update deprecated set-output to GITHUB_OUTPUT env

Checklist

related issue
[x] My changes generate no new warnings
[x] My code follows the style guidelines of this project
[x] I have commented my code, particularly in hard-to-understand areas
[ ] I have made corresponding changes to the changelog
[ ] I have added tests that prove my fix is effective or that my feature works

@MSzalowski @Ryun1 Im not sure whether you noticed this one guys :)

@mesudip Are 4 reviewers mandatory?


Unhandled Type error

This error is randomly throwing and collapsing the apps

Hey, do you need help with this?

hello @MattPoblete let me hop on this issue


Add username and password to redis config

Just adding it so that I don't have to create a custom class in order to add these environment variables. Think it was discussed in the Discord to add this as well a while back.

@ajar98 yup! The redis.asyncio package here defaults password and username to None, if not present. Have been using it both ways, locally without the password and username, and with it, when deploying on railway (which requires the username and password), and no issues for me!


[Feature]: Disable editor programmatically

I'm submitting a

[ x ] Documentation issue or request

Description
In the docs it says the editor instance has both disable() and enable() methods but it's not true

Version Information
ngx-editor: 9.0.0
angular: 11.2.2

I have updated the docs now.


[e2e][byob] Support regressions in e2e tests

v1.8.0 should be used in https://github.com/slsa-framework/example-package/blob/main/.github/workflows/scripts/e2e.delegator.default.verify.sh#L39

We should do this for container-based, maven, gradle as well


Add functionality to click listings on Home page so users can view/add comments

Issue - Comment does not successfully create after submitting form.


[add] KerasParser, SsplitKerasAnnotator, BunsetsuKerasAnnotator and L…

…ookupTable.

Adding following classes

jigg.ml.keras

KerasParser: Main class for constucting network from keras model file.
KerasModel: For reading model file.

jigg.util

LookupTable: For reading lookup-table file.

jigg.pipeline

SsplitKerasAnnotator: For sentence splitting.
BunsetsuKerasAnnotator: For bunsetsu chunking.

Thanks a lot for your comment.
There is no reason for uses of List. Ok, I'm going to replace and refactor these.


Replay, Repeat

Please tick all applicable boxes.

[x] I am using Python 3.5 or higher (run python --version on the command line)
[x] I have followed the official guides to install the bot for my system
[x] I have updated my dependencies to the latest version using the appropriate update script

Which version are you using?

[x] The latest master version (1.9.7)
[ ] The latest review version

What type of issue are you creating?

[ ] Bug
[x] Feature request
[ ] Question

Feature request
Simple !replay command that adds the currently playing song to the bottom of the queue.
Saves a little bit of time instead of re-!play'ing the same song over and over.
And a !repeat command that continuously plays the same song over and over until someone else adds something to the queue, then goes back to autoplaylist.txt.
Saves a little bit of time instead of !replay'ing over and over.

Similarly, there is an issue for looping a song open as well. I'll mention is for convenience #128

I mean't as it is similar to your request. Looping a song plays it over and over again (like adding it back to the queue). What you are asking is slightly different however

Simply referencing this 'issue' in the previous was good enough, but if you feel that this is different enough to keep then feel free.

Repeat #1677

Closing because this has been implemented and is waiting on a merge.

It didn't merge.


(PDB-5107) Reduce terminus memory usage

Verified the memory usage improvement using the package puppetdb-termini-6.16.2-0.1SNAPSHOT.2021.05.12T2226.el7.noarch.rpm that was built during Jenkins PR testing.
@Zak-Kent this should be good to go


isoCountryCode() not working. The method is returning --

It has been deprecated on ios sdk 16+ with no replacement.


How to solve high DPI error?

I set my laptop's DPI level to 200% so that I could see the items and captions. But in game program, whether in option page or in network page, the items are so small that I can't even click on it.

What game is it? DPI settings are ignored (they're causing too many issues), but you can resize the window with cnc-ddraw instead.

What game is it? DPI settings are ignored (they're causing too many issues), but you can resize the window with cnc-ddraw instead.

It's Red Alert 2.

What game is it? DPI settings are ignored (they're causing too many issues), but you can resize the window with cnc-ddraw instead.

It may not be your problem but be the game's. I just wonder if you can fix the problem.

do not set game resolution to you display resolution
game resolution set to 1024x768
ddraw ini file set resolution to 2560x1920
game image will scale by ddraw
this settings works great on 4k screen 200% DPI

I just fixed some high dpi issues in fullscreen mode #93 , you're trying to run it in a window i guess?
Seems like on newer versions of windows 10 you can upscale the window like this:

@FunkyFr3sh This won't work.
Everything is ok except selection maps before an encounter battle, and, in Network page.

@kokutoukiritsugu Resolution is 1280×720.

@FunkyFr3sh A System scaling override for game(md).exe does fix display issue, however it brings unbearable error. When you are in a game, you'll find your mouse's behaviour is terribly wrong. There is an invisible moving border for your mouse, and where you click is not where the cursor is. Besides, when you press ESC, you will lose the cursor and will have to press Alt+F4.

It isn't fixed for me if i set highdpi override by system.
https://github.com/CnCNet/cnc-ddraw/issues/93#issuecomment-1257164038

Any update on this problem?

Any update on this problem?

No update yet. There are quite a few open issues related to high DPI settings left.
Your problem is interesting though, I wonder if it's related to the 200% scaling or something else. Do you also have the same bug with less than 200% scaling set?

Any update on this problem?

No update yet. There are quite a few open issues related to high DPI settings left.
Your problem is interesting though, I wonder if it's related to the 200% scaling or something else. Do you also have the same bug with less than 200% scaling set? @StenApp

No, it looks good if i go to 100% scaling

Any update on this problem?

No update yet. There are quite a few open issues related to high DPI settings left.
Your problem is interesting though, I wonder if it's related to the 200% scaling or something else. Do you also have the same bug with less than 200% scaling set? @StenApp

No, it looks good if i go to 100% scaling

What about 150%?

125, 150, and 175 % don‘t work

125, 150, and 175 % don‘t work

Ok, thanks for testing! 200% is not supported on my setup so I can't test it, but everything below 200% is working fine for me. Not sure why this would happen to you but not to me.

I bet it‘s a driver issue by Intel since the AMD driver works with 200%

I tested this on multiple systems (win 10/11) and I can't reproduce the issues with the mouse not being sync anywhere, microsoft improved the high dpi settings and they may have fixed these bugs. System scaling override is working perfeclty now for me https://user-images.githubusercontent.com/8355237/119214637-aa667900-bac8-11eb-8303-cbbf3bf30918.png


Configure Azure Pipelines

This pipeline configuration builds the application and produces a build for the Release configuration.

Ok


Implementing send email facility

Hello everyone and @volkanceylan
Am trying to implement the send email option on my Main SAVE ButtonClick so I write code in Repository.cs file
`
namespace TechproBooks.Books.Repositories
{
using Mono.Collections.Generic;
using Serenity;
using Serenity.Data;
using Serenity.Services;
using System;
using System.Collections.ObjectModel;
using System.Configuration;
using System.Data;
using System.Net.Mail;
using System.Text;
using TechproBooks.Administration.Entities;
using MyRow = Entities.TblSalesInvoiceRow;
public class TblSalesInvoiceRepository
{
    private static MyRow.RowFields fld { get { return MyRow.Fields; } }

    public SaveResponse Create(IUnitOfWork uow, SaveRequest<MyRow> request)
    {
        var abc = new MySaveHandler().Process(uow, request, SaveRequestType.Create);
        var emailSubject = Texts.Forms.Membership.SendMail.MailSubject.ToString();
        var emailBody = Texts.Forms.Membership.SendMail.MailBody.ToString();

        Common.EmailHelper.Send(emailSubject, emailBody, Authorization.UserDefinition.Email);

        return abc;
    }

    public SaveResponse Update(IUnitOfWork uow, SaveRequest<MyRow> request)
    {
        return new MySaveHandler().Process(uow, request, SaveRequestType.Update);
    }

    public DeleteResponse Delete(IUnitOfWork uow, DeleteRequest request)
    {
        return new MyDeleteHandler().Process(uow, request);
    }

    public RetrieveResponse<MyRow> Retrieve(IDbConnection connection, RetrieveRequest request)
    {
        return new MyRetrieveHandler().Process(connection, request);
    }

    public ListResponse<MyRow> List(IDbConnection connection, ListRequest request)
    {
        return new MyListHandler().Process(connection, request);
    }

    private class MySaveHandler : SaveRequestHandler<MyRow> { }
    private class MyDeleteHandler : DeleteRequestHandler<MyRow> { }
    private class MyRetrieveHandler : RetrieveRequestHandler<MyRow> { }
    private class MyListHandler : ListRequestHandler<MyRow> { }
}

}`
and also added below code in web.config file
<smtp<EMAIL_ADDRESS>deliveryMethod="SpecifiedPickupDirectory">         <network host="mail.google.com"<EMAIL_ADDRESS>password="abc" />       </smtp>
Am not getting any error on save button click but It didn't send any mail
Maybe am missing something really important Or should I need to try another method which is easier?
Please help me throughout this.

Can you remove delivery method and try again?
<smtp<EMAIL_ADDRESS>>
<network host="mail.google.com"<EMAIL_ADDRESS>password="abc" />
</smtp>

@edwardch  Hey I tried that but it shows the alert message
as "failure sending mail"

Hmm it's hard to say, maybe put it all inside a try..catch and see what the exact error is?
I've had difficulty sending smtp emails through gmail in the past (in other projects). I think you might need to change the port and SSL settings so you might need to look it up.
I'm currently using SendGrid to send my emails in Serenity using smtp and it works really well... They have a free tier that allows 100 emails per day, so maybe give that a try?
Once you have an account, you can just set your mail settings like this:
<system.net>
	<mailSettings>
		<smtp<EMAIL_ADDRESS>			<network host="smtp.sendgrid.net" password="yourSendGridPassword" userName="yourSendGridUsername" port="587"/>
		</smtp>
	</mailSettings>
</system.net>

PS. I'm not affiliated with SendGrid in any way, just a happy customer.

@edwardch thanks but if you don't mind, will you share your send mail code?
Am still getting error

So I just use the code in Modules/Common/EmailHelper.cs file...
Did you add a try..catch and debug to get the error?

hey, @edwardch thanks for your quick response!
Actually, I made a little change in my web.config and now it is working fine
One more question for you is do you use attachment in your mailing option?
I want to attach serenity through generated PDF with the mail
Thanks in advance

Cool, glad its working!
When you build your message you need an attachment path, then you can also set your attachment to have a custom name like so:
var attachment = new Attachment(attachmentPath);
attachment.Name = attachmentName;
message.Attachments.Add(attachment);

@edwardch  am unable to find the attachmentpath will you please elaborate a bit?

attachmentPath and attachmentName are both strings that you'll need to specify. They're dependent on where your file is, and what you want to name your attachment.
You could create a custom Send() method with the attachmentPath and attachmentName as optional string parameters. If it's blank then don't add the attachment, otherwise attach them using the code above...

@edwardch thank you for your time and help! you cleared almost all difficulty

hello @edwardch  am having an issue while sending the attachment
As we know in serenity we have a  generate reportToPDF option and I want to email that pdf
I think we didn't save that pdf in our solution so I'm unable to set the path for the attachment
Please help!

If your report is not in your serenity app directory you could always convert it to a Stream and then to add the attachment:
Stream contentStream = SomeMethodToGetYourPdfAsStream();
var contentType = "application/pdf";
var attachment = new Attachment(contentStream, attachmentName, contentType);

Or something along those lines...

@edwardch Thank you! looks like perfect


VCEP customization

https://broadinstitute.atlassian.net/browse/CSP-20

Replaced https://github.com/ClinGen/clincoded/issues/2031

Replaced by https://github.com/ClinGen/gene-and-variant-curation-tools/issues/77


/leave without params should leave 'current channel'

Currently it requires /leave #<channelname> which mostly works but /leave would be nice too!

/leave works here (when using irssi)

Still issues? otherwise I close this.

Yup, verified! Works fine.


Documentation for T2Ramsey

Summary
Complete the Sphinx documentation for T2Ramsey.
Details and comments

@merav-aharoni Please note that the are conflicts

Ready for review.