How to cancel starting up a web application that is doing some initial startup logic (like seeding a DB)?

👋 Hi!
I'm trying to figure out how I can stop starting up my web application when I'm doing some initial application-startup logic, like seeding a database or loading some data from some URI/DB/etc into memory, etc.
The database seeding is an easy example, but it could be any "dependency" that fails. And for this example, imagine that dependency is unavailable (e.g. DB is starting up because all these services start at the 'same time' with docker-compose up).
In the public void Configure(..) method (in startup.cs) this is a great place to start DB seeding.
So what I do is:

Seed data.
if error, retry.
repeat for 15 times .. which takes a total of about 30 seconds max.
else .. crash/exception if 15 attempts all failed.

The 'retry' action is using Polly.
In the middle of the Polly retries I hit CTRL-C and the application says "stopping" .. but Polly doesn't know about this and keeps retrying.
I thought the trick was to pass the applicationLifetime.ApplicationStopping CancellationToken down to the logic which calls/retries. Doing this, the token is always false (ie. nothing to cancel .. keep on trucking).
I tried asking this in the Polly repo but we're also stuck .. because we feel like this is more related to the underlying framework or more specifically, what I'm not coding correctly.
So lets look at some code and some pwitty pictures...
public void Configure(IApplicationBuilder app,
                        IHostingEnvironment env,
                        IDocumentStore documentStore,
                        IOptions<CorsSettings> corsSettings,
                        IApplicationLifetime applicationLifetime,   // <-- TAKE NOTE
                        ILogger<Startup> logger)
{
    if (env.IsDevelopment())
    {
        app.UseDeveloperExceptionPage();
    }

    app.UseProblemDetails()
        .UseCustomCors(corsSettings.Value)

        // OK -> here we go. lets 'UseRavenDb' which will seed some data.
        .UseRavenDb(env.IsDevelopment(),
                    documentStore,
                    applicationLifetime.ApplicationStopping,
                    logger)

        .UseAuthentication()
        .UseCustomSwagger("accounts", SwaggerTitle)
        .UseMvc();
}

So first up, lets seed some data to the DB (in this case RavenDB) and pass along the ApplicationStopping token from an IApplicationLifetime which was injected in.
this eventually calls this check to see if the database exists, before i throw data into it ....
DatabaseStatistics existingDatabaseStatistics = null;
try
{
    var checkRavenDbPolicy = CheckRavenDbPolicy(cancellationToken, logger);
    checkRavenDbPolicy.Execute(token =>
    {
        existingDatabaseStatistics = documentStore.Maintenance.Send(new GetStatisticsOperation());
    }, cancellationToken);
}
... <snipped the catches>

The policy is a retry 15x with a 2 second delay between retries. Simple. (oldish code in the image below.)
And this is what it looks like when I hit CTRL-C in the middle of the retry's because I didn't start the DB (on purpose) :

Ok .. application is shutting down....

Ok - so we've paused inside when an exception is thrown and the policy is handling it. Lets check out what the cancellationToken is ...

and it looks like the cancellationToken is saying 'nothing to handle. nothing cancelled. keep on cruising'.
So I'm not sure how to leverage the applicationLifetime.ApplicationStopping property, correctly. Or if that's the correct property to leverage.

Stopping seems to be the correct event to latch onto. Could you try to register a Console.Writeline callback on that cancellationtoken like shown here? http://www.binaryintellect.net/articles/535d4ca7-9726-46cf-bc64-64e94ec55f6e.aspx That may give you some clue if it actually ever fired

In the public void Configure(..) method (in startup.cs) this is a great place to start DB seeding.

I disagree. The Configure method is a place to set up the application but not to establish pre-conditions about the application. It is further executed by other tools, like dotnet ef or the WebApplicationFactory, which makes it sub-optimal for preparing stuff for actually launching the application.
My usual recommendation is to seed the database outside of the Startup at the host or web host level. By doing that, you are seeding before you actually start the application which also gives you the benefit of not serving the application early although it is not yet ready.
So by following this approach, you have a lot more control about when the application is actually started and you can use that to properly seed your database first and only start the application once that is successfully completed. And since you are now outside of complex lifetimes, you can also control cancelling a lot easier.
In general, this would look something like this:
public async Task Main(string[] args)
{
    var host = CreateWebHostBuilder(args).Build();

    using (var scope = host.Services.CreateScope())
    {
        // retrieve the seed service and attempt to seed the database
        var databaseSeeder = scope.ServiceProvider.GetRequiredService<IDatabaseSeeder>();

        if (!await databaseSeeder.TrySeedDatabase())
        {
            Console.WriteLine("Seeding was not successful");
            return;
        }
    }

    // run the application
    await host.RunAsync();
}

And since this runs now as a normal console application without anything magic, you can also simply check for the Console.CancelKeyPress to check for Ctrl+K and pass that on to a cancellation token for example that then interrupts your seed process.

@poke Really good advice but not sure I would advocate checking for key press.

@DAllanCarr I am checking for the cancel key press which is what the ConsoleLifetime in ASP.NET Core does as well when gracefully shutting down.

@poke So using your suggestion, this means we setup (but not start) the web app hosting yet because CreateWebHostBuilder(args).Build() [Link is from the Archived GH repo] does call ConfigureServices [i.e. sets up DI] and then does also call Configure [which doesn't mean much, right now].
So now that we have DI setup, we can then pull down our database 'stuff' (i.e. instances in the DI Store) and start seeding.
What your example is missing is connecting applicationLifetime.ApplicationStopping to your sample code.
Lastly, if this is what you're recommending @poke (which is an interesting suggestion) ... can the MS team make a call on what they recommend also (e.g. poke's suggestion is a great way) so this can get documented in the ASPNET.Docs please (CC @Rick-Anderson @guardrex). I feel like this is a pretty common scenario so it could be a valid thing to document officially.

@PureKrome I think they decided to punt that over to the EF doc folks in terms of covering it in our doc set.
https://docs.microsoft.com/en-us/ef/core/modeling/data-seeding
... and there's a call to improve that topic at https://github.com/aspnet/EntityFramework.Docs/issues/882.
We have tutorials that use variations of the Program>Main>CreateScope approach. (Example: https://docs.microsoft.com/aspnet/core/data/ef-rp/intro#update-main)

@guardrex I hope they don't rely on EF docs as the official way to do this as .. well ... not everyone uses EF (:wave: Dapper/RavenDb/etc).
More than just DB's can be seeded. But that's just a common, easy example of stuff that happens during app start....
And also, that data-seeding link wasn't really helpful at all. Hence why there's that issue/call to improve it. I'm guessing it's not helpful to me cause I don't use EF so I can't grok the connection between Poke's code (above) and the EF seeding-data doc.
(Note: not hating at all, so please don't construed my thoughts as an attack. Just working through this issue...)

@PureKrome Yeah, the application only starts when you call Run(). The Build() will only use the host builder to configure the host but not actually run it. Since the Startup is part of that configuration, it will be run properly but the application will still not launch. So you can use that to delay serving any requests until you are done with preparation.
I am not sure what you would expect the applicationLifetime.ApplicationStopping to do there. The point of this approach is that you are not launching the application yet, so you do not have to check for it to start/stop. You only start it once you are done with your migration.
Of course, if you need to check for application shutdown, you could still do that, although then I would suggest you to use an IHostedService instead. Those will be terminated properly when the application stops (for whatever reason).
@guardrex While the EF docs cover how to seed in general, when to do that in ASP.NET Core would still be an appropriate thing to document. But yeah, that example you linked does cover that properly.

My recommendation is for them to cover it and for us to link to it. It's hard to keep up with externally moving :cheese:. :smile:

It looks like there isn't actionable work in Hosting to do for this, so I'm putting it in the Discussions category. Let me know if I'm misreading or something does come up.

@anurse thanks Andrew - really appreciate you popping into this thread.
When I started looking at what @poke suggested and also specifically the EF Core with Razor Pages tutorial by @guardrex which suggests we do any custom logic (like data seeding) after the host builder has been built (so DI is ready) but before we start/run our host ... I was looking into how the application can handle a CTRL-C, etc. The host can handle this, but it needs to be running.
So then I thought "Ok, lets just manually wire-up handling when CTRL-C is pressed" but that's like making us wire it up 2x.

manually before we run
inside the low level Host code  which is already provided.

It feels like a waste and disconnect. I tried to see what happens when i just hit CTRL-C while debugging and while i was seeding some data and I didn't really get anything working.
So maybe the:

Console.CancelKeyPress += (sender, e) =>
AppDomain.CurrentDomain.ProcessExit += (sender, eventArgs) =>

might get wired up earlier on and not only when the app is WaitForStartAsync / ran?
It feels easier to let things like data-seeding to occur after the app has started / starting up .. but I totally understand the perspective that the app shouldn't be able to receive requests until it's properly ready, included all data-seeded (if that is offered).
Would love to hear other peoples thoughts on when in the pipeline things like data-seeding should occur and of course, handle an unexpected termination of the app during this process.

The data seeding scenario has definitely come up before (https://github.com/aspnet/Hosting/issues/1085).
I believe we came to the conclusion that for data seeding you should use an IHostedService and block the task returned by StartAsync until the seeding completes (and just ignore StopAsync). If you do that, you'll run asynchronously and get to respond to shutdown (via the CancellationToken in StartAsync).
Now, if you register that Hosted Service in Startup.ConfigureServices I believe it will end up after the server itself in the list of hosted services so you could receive requests before you finish seeding data. There are two ways around that:

If a request comes through before seeding finishes, respond with some error status code indicating the server isn't actually ready yet. If you have load-balancers or health-check systems (like Docker) in place they can be configured not to route traffic to you until these checks succeed.

(3.0 Generic Host Only) Register your "data seeding" hosted service before the server hosted service. In 3.0, when using Generic Host, the server is just another hosted service and is registered in DI during ConfigureWebHost or ConfigureWebHostDefaults. Hosted services are run in order and wait for each StartAsync to complete before calling the next one. So in 3.0 you can have async code block the server from starting by using Generic Host and calling .ConfigureServices on the HostBuilder before the call to .ConfigureWebHostDefaults:

Host.CreateDefaultBuilder(args)
    .ConfigureServices(services =>
    {
        services.AddSingleton<IHostedService, InitializationService>();
    })
    .ConfigureWebHostDefaults(webBuilder =>
    {
        webBuilder.UseStartup<Startup>();
    });

I believe option 2 will work, though I haven't fully tested it 😸 .

Oh wow - 24th May 2017 was when this discussion point was first raised by you @anurse in aspnet/Hosting#1085 ! Kewl - this isn't a new problem.
So if things "get better" in 3.0, then I'm totally kewl to wait until that. I've waited a while aready, so I can still wait a bit longer.
So using your example above, this means we should be using Generic Host.
Described (and emphasis, mine):

Generic Host is new in ASP.NET Core 2.1 and isn't suitable for web hosting scenarios. For web hosting scenarios, use the Web Host.  Generic Host will replace Web Host in a future release and act as the primary host API in both HTTP and non-HTTP scenarios.

So does this mean in 3.0 that WebHost will be gone/replaced?

Hosted services are run in order and wait for each StartAsync to complete before calling the next one

So in the example above, are you saying:

First we create our own IHostedService which just does some custom stuff (e.g. InitializationService) like seed data or preload data from a file into memory/redis/whatever, etc..
Once that finished, we now create a Web-like-Host and off we go, run that which starts accepting requests, etc.

Is that what I'm reading?

So does this mean in 3.0 that WebHost will be gone/replaced?

Yep, in fact if you look at the version of that doc for 3.0, that guidance has been updated:

Starting in ASP.NET Core 3.0, Generic Host is recommended for both HTTP and non-HTTP workloads. An HTTP server implementation, if included, runs as an implementation of IHostedService. IHostedService is an interface that can be used for other workloads as well.

Yeah, I think what you've described is correct. You do need to configure things a little differently in your Program.cs. See https://docs.microsoft.com/en-us/aspnet/core/fundamentals/index?view=aspnetcore-3.0&tabs=windows#the-host for some docs

If you can try this on the latest previews that would really help us understand if this is going to work for your scenario!

For you and the team:

I'll try this in the next few days with v3.0.0-preview5 and put it up to GH for review, etc.
(No pressure, PK ....   😅 )

Ok - appologies for the late reply .. life/family/kids/kids/kids/kids/kids/kids/kids/life/kids have been pulling at me.
So i sat down tonight and tried to give this a crack and I did come up with something ... but not 100%.
=> Experimental Repo up on GitHub.
So I created a new IHostingService like you suggested. And then in program.cs I've wired it up before the webhost kicks in, like you said.
works great.... until I try to hit CTRL-C during the hardcoded Task.Delay. The ideas were:

Initialize some code BEFORE the web host kicks in, etc.
Break out of the initialize code, if we hit CTRL-C. (eg. something is wrong and we need to quit asap).

The first step works. The CTRL-C doesn't break out of the first host's StartAsync method. It's like the cancellation token isn't getting set correctly OR i'm not using the correct cancellation token.
So - we're back to the initial question/issue: How to cancel a web app during some initial startup logic.
(My gut feeling is that the code in the sample GH repo I've provided is really crap and wrong :blush: )

The problem here is that the cancellation token that gets passed to the hosted service is the same that gets passed to Host.StartAsync() which is default by default and as such isn’t used.
I’m not sure if this is desired or not, but it seems that interrupting the start phase of hosted services is not supported by default. Or at least not hooked to the actual application lifetime.

Thanks @poke for looking into what I did, etc.  Now lets see what @anurse thinks. Cheers!! 🍾

Polite ping to @anurse (I know you're busy etc ... just don't want this issue to get lost in the noise)

life/family/kids/kids/kids/kids/kids/kids/kids/life/kids have been pulling at me.

Oh I hear that!
It does seem odd that we wouldn't cancel the token passed to IHostedService.StartAsync. Could you try injecting IApplicationLifetime and seeing what the tokens there do when you cancel here?

Ctrl+K does stop the IApplicationLifetime which triggers the shutdown behavior, so I would assume that this would be the same behavior then. What remains is that the StartAsync behavior isn’t affected by the application lifetime but will only come into effect after the startup is completed.
In practice that seems perfectly fine since the usual use case is probably not to interrupt/terminate the application during its startup, especially since the web host usually starts rather quickly. However, when looking at startup behaviors that do take a bit longer, which will likely become a more common thing in the future with the generic host and increased usage of IHostedService, cancelling the startup may become a more common use case.
So maybe we should look at whether we could make the StartAsync cancellable by the IApplicationLifetime. Maybe we could come up with a wrapper CTS that is cancelled by either the token passed to IHost.StartAsync or the IApplicationLifetime event which is then passed down to the hosted services.

Yeah, it seems reasonable to me to make a change here to have the IHostedService.StartAsync token cancelled here. Thoughts @davidfowl @Tratcher ?
Any interest in a PR @poke or @PureKrome ?

Sounds plausible. @anurse want to move this issue to Extensions?
You'd want to make a linked CTS right about here:
https://github.com/aspnet/Extensions/blob/7105fe76f50728597dcb49dd50f82ba9d3401790/src/Hosting/Hosting/src/Internal/Host.cs#L42

@anurse Sure, I can give it a try.
@Tratcher Yeah, that’s where I was looking at too. Do we have any kind of linked CTS already, or should I just create a normal CTS and hook it up with the two source events?

No, jus the normal CancellationTokenSource.CreateLinkedTokenSource.

Good that I asked – TIL CreateLinkedTokenSource 😁

@Tratcher GitHub is not letting me transfer right now :(. I'll try again later.

I won't bother transferring now that it's closed ;P. Thanks @poke!

Thank you to everyone participating in this issue and discussion. Lots of respect to you all 🍰


A way to guide the user they need to click on the card to see more details

Currently without prior knowledge, user does not know that they can click on the card to view more detail

Ruihang had patched that by adding UI animation.

Update merged.


Slides parsing fail on Windows

Describe the bug
Windows does not parse slide-specific text such as --- for new slides and metadata. This issue only occurs for markdown files given in args, not for the default display with no arguments.
To Reproduce
Steps to reproduce the behavior:

Install slides on Windows through Go
Make a presentation file and cd to the directory
Execute slides example.md
Slides will display the characters for headings and normal markdown elements, but will not correctly build graphs, add new slides.

Expected behavior
Slides will display as normal, with any metadata hidden and slide divisions when encountering a ---.
Screenshots

As you can see, slides displays as normal, but doesn't recognize new slides and other program specific elements.

Example of metadata issue

Desktop (please complete the following information):

OS: Windows 10 Home
Terminal: Powershell (Windows Terminal App)
Version: Latest

Additional context
The program only seems to have issue with custom symbol parsing, it can display markdown as expected. Any help appreciated!

Same issue on M1 mac with wezterm

I think this issue is related to DOS "\r\n" line breaks vs Unix "\n" and slides only seem happy with the latter.
Latest slides installed in Windows 10 using go
If I open a file with DOS line breaks "---" will not be interpreted correctly:
slides test_crlf.md

If I explicity save this file with Unix line endings it works fine
slides test_unix.md

Example files (I hope github does no line break conversion...)
test_crlf.md
test_unix.md

I think this issue is related to DOS "\r\n" line breaks vs Unix "\n" and slides only seem happy with the latter.
Latest slides installed in Windows 10 using go
If I open a file with DOS line breaks "---" will not be interpreted correctly:
slides test_crlf.md
If I explicity save this file with Unix line endings it works fine
slides test_unix.md

Example files (I hope github does no line break conversion...) test_crlf.md test_unix.md

Worked for me! What did you change about the files?

The only difference is that one of the files has DOS/Windows line endings (\n\r instead of just \n as is standard in unix). I downloaded the files (as I created them when I was at work) from my comment above just to verify that github didn't do any conversion:
user$ file test_crlf.md
test_crlf.md: ASCII text, with CRLF line terminators
user$ file test_unix.md
test_unix.md: ASCII text

I can reproduce this also with slides v0.9.0 on macOS Ventura (installed from brew slides--0.9.0.arm64_ventura.bottle.tar.gz):
slides test_crlf.md

slides test_unix.md

If I convert test_crlf.md using dos2unix (which converts line endings to unix format) it will display correctly with multiple slides


Escape username and password in wss

We found out that the username and password in WSS does not do any escaping. With a password with an ampersand, the entity will not be properly encoded and the XML payload will be invalid.

Coverage increased (+0.002%) to 94.851% when pulling 4f3d6e096ef86aa493bb8dd3e586f920e9d3be1f on peakon:wss_escape into 5356c941a730cb6120efea91ed1566fe6e4d616c on vpulim:master.

will there be a version bump for this soon?

@danrpts the next publish will be a month from the last one.


Fix #156 Handle invalid filters

Invalid filters are now highlighted in the filter sidebar. When the user tries to use and invalid filter a modal is displayed where the user can either modify or delete the filter
As a precondition the portal MR #1049 has to be accepted in GitLab

3 open points:

When you are pressing the delete filter button, the filter will be deleted, but the modal doesn't close.
I'm missing a cancel button (i would expect if i get asked that i can cancel the action)
-- When the user clicks on cancel the filter doesn't get applied
The bigger issue:
Follow this setup:

Create 2 users:
1.1. User 1 (admin): Give him the admin permissions
1.2. User 2 (Developer): Give him the app developer permissions
Login with the admin user and navigate to the apps view
Create a public filter which sets a platfrom type
Logout
In the code remove the platform filters (apps collection line 12 and 44)
Login with the developer and navigate to the apps view
Try to apply the filter
Now the modal comes up, but the user doesn't have the permissions to modify or delete the filter.
In my opinion the best solution would be, that if you can't modify the filter than don't show the filter if the filter is invalid.

Good points 👍 I will fix them


Sending message with notification key doesn't work

A message sent in this format as documented in the readme doesn't work:
response = gcm.send([], {
        notification_key: "appUser-Chris-key",
        data: {score: "3x1"},
        collapse_key: "updated_score"})

ah great, you tried it out :bomb: can you let me know how you set it up so I can debug this?

@kashif what do you mean how I set it up?
Check out my pull request. Let me know what you think.


Duplication bug

I wish I could remember the name, the item that you combine with a stone block to make stone dust.
5% of it's durability is used in the craft.  The item duplicates itself into 2 slightly used copies, as well as duplicates all stone in the bench at the time.  After 5% of its durability has been used, it is no longer usable in that recipe.  (It should have 19 more uses).

This has been fixed in the new version


bug: pnpm run dev not working with characterfiles

Describe the bug
I would like to use dev mode, and turbo to watch for file changes, for faster development.  I have been trying to get pnpm run dev to run with a character file, to no avail.  It runs fine with default agent (no arguments), but does not appear to accept the command line arguments of --characters.

To Reproduce
trying pnpm run dev --character characters/eliza-code-assistant.character.json yields the following output and error.
% pnpm run dev --characters characters/eliza-code-assistant.character.json
...
...
@elizaos/plugin-solana:build: DTS Build start
@elizaos/plugin-solana:build: DTS ⚡ Build success in 3729ms
@elizaos/plugin-solana:build: DTS dist/index.d.ts 15.88 KB

 Tasks:    45 successful, 45 total
Cached:    45 cached, 45 total
  Time:    340ms >>> FULL TURBO

(node:65388) ExperimentalWarning: CommonJS module /Users/allenharper/.nvm/versions/node/v23.3.0/lib/node_modules/npm/node_modules/debug/src/node.js is loading ES Module /Users/allenharper/.nvm/versions/node/v23.3.0/lib/node_modules/npm/node_modules/supports-color/index.js using require().
Support for loading ES Module in require() is an experimental feature and might change at any time
(Use `node --trace-warnings ...` to show where the warning was created)
[nodemon] 3.1.7
[nodemon] to restart at any time, enter `rs`
[nodemon] watching path(s): packages/client-direct/dist/**/*
[nodemon] watching extensions: js,mjs,cjs,json
[nodemon] starting `pnpm --filter "@elizaos/agent" start --isRoot`

><EMAIL_ADDRESS>dev /Users/allenharper/Dropbox/code/eliza/packages/core
> tsup --format esm --dts --watch "--characters" "characters/eliza-code-assistant.character.json"

><EMAIL_ADDRESS>dev /Users/allenharper/Dropbox/code/eliza/packages/client-direct
> tsup --format esm --dts --watch "--" "--characters" "characters/eliza-code-assistant.character.json"

><EMAIL_ADDRESS>dev /Users/allenharper/Dropbox/code/eliza/client
> vite "--" "--characters" "characters/eliza-code-assistant.character.json"

><EMAIL_ADDRESS>dev /Users/allenharper/Dropbox/code/eliza/packages/plugin-code-assistant
> tsup --format esm --dts --watch "--" "--characters" "characters/eliza-code-assistant.character.json"

CACError: Unknown option `--characters`
    at Command.checkUnknownOptions (/Users/allenharper/Dropbox/code/eliza/node_modules/cac/dist/index.js:404:17)
    at CAC.runMatchedCommand (/Users/allenharper/Dropbox/code/eliza/node_modules/cac/dist/index.js:602:13)
    at main (/Users/allenharper/Dropbox/code/eliza/node_modules/tsup/dist/chunk-SNM7IVOJ.js:148:13)
    at Object.<anonymous> (/Users/allenharper/Dropbox/code/eliza/node_modules/tsup/dist/cli-default.js:12:23)
    at Module._compile (node:internal/modules/cjs/loader:1546:14)
    at Object..js (node:internal/modules/cjs/loader:1698:10)
    at Module.load (node:internal/modules/cjs/loader:1303:32)
    at Function._load (node:internal/modules/cjs/loader:1117:12)
    at TracingChannel.traceSync (node:diagnostics_channel:322:14)
    at wrapModuleLoad (node:internal/modules/cjs/loader:218:24)
 ELIFECYCLE  Command failed with exit code 1.

><EMAIL_ADDRESS>start /Users/allenharper/Dropbox/code/eliza/agent
> node --loader ts-node/esm src/index.ts "--isRoot"

CLI Building entry: src/index.ts
CLI Using tsconfig: tsconfig.json
CLI tsup v8.3.5
...

then, it proceeds to load defaultAgent...

Expected behavior
I expect it to pick up the character file, launch agent, and enter turbo watch of those files... it runs correctly, if I use pnpm start --characters ...
Instead, it won't launch with character file and defaults back to defaultAgent...when in dev mode.

Screenshots

Additional context

@harperaa hello I just tested with the latest develop branch it works, could you kindly confirm?


Annotation position still being calculated in pixels in version 3.8.0

This is an further report of issue https://github.com/apexcharts/apexcharts.js/issues/627
Codepen
Version using Apexchartsjs 3.6.12: https://codepen.io/ChrisMaunder/pen/BgOYwq
Version using Apexchartsjs 3.8.0: https://codepen.io/ChrisMaunder/pen/EBeQvK
Explanation
This seems to be the same issue as #627 except this affects "area" and "line" type charts.

Thanks for reporting.
Fixed it.

I'm still seeing exactly the same behaviour in my app and in the CodePen. I've updated the CodePen to v 3.81

The bug fix will be released tomorrow in 3.8.2.
The above message was about the bug fix, not release :)

Got it! I noticed the version was increased to 3.8.1 and thought, in my wild optimism assumed that was the fix. I appreciate the fast turn around, and also appreciate immensely the work you've put into this excellent control.


declaring return variable in function's declaration to save gas

Motivation

If returning a local variable, solidity will create a local variable and copy its value to the stack variable that represents the return variable. This consumes more gas than declaring return variable in function's declaration.
Solution
Instead of creating a local variable and return it, declare return variable in function's declaration.

thanks, i am going to close for now since this targets the main branch which is v1 which will be deprecated soon, if you want to open on v2 branch pls go ahead and i will merge!


fix serviceTarget comment

Please provide a description of this PR:

@hzxuzhonghu: The following test failed, say /retest to rerun all failed tests or /retest-required to rerun all mandatory failed tests:

Test name
Commit
Details
Required
Rerun command

release-notes_istio
e9a29934a14139c470f3f18d955f58144f43e9d2
link
true
/test release-notes

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.

/retest


Ex7

Code looks fine...Dijkstra could be a bit more efficient; also it is more common to have the makefile one folder above the src file and create the binaries in a bin/ folder


Performance Regression

On PR https://github.com/flutter/flutter/pull/32350 (submitted as https://github.com/flutter/flutter/commit/aeccd6a8bc51b8c93a96e575c003655fdc1fb18e) the following benchmarks regressed:

microbenchmarks/stock_layout_iteration
tiles_scroll_perf__timeline_summary/average_frame_build_time_millis
cull_opacity_perf__timeline_summary/90th_percentile_frame_build_time_millis
cull_opacity_perf__timeline_summary/average_frame_build_time_millis
complex_layout_scroll_perf__timeline_summary/average_frame_build_time_millis
complex_layout_scroll_perf__memory/diff-median

/cc @gspencergoog


Issues with deployment in failed state. CLI + app. Output.

Connect uffizzitest docker hub account
Create preview from compose file uffizzi preview create compose.yml. The file contains a mistake: The image from compose file does not exist in the docker hub. Run command with json output (e.g. uffizzi preview create -o=json compose.yml)
Wait until deployment failed with the error Deployment failed.

Result:
There is no json output with information about preview.
# uffizzi preview create -o=json compose.yml
[✔] Creating containers...
[✖] Deploying preview...
  [✖] aaaawebhooks-test-app
Deployment failed

Expected result example for completed preview:
# uffizzi preview create -o=json c1.yml
[✔] Creating containers...
[✔] Deploying preview...
  [✔] webhooks-test-app
{"id":"deployment-5","url":"https://deployment-NUM-test.com","containers_uri":"http://web:7000/projects/2/deployments/5/containers"}

Compose example:
services:
  webhooks_test_app:
    image: uffizzitest/aaaa-webhooks-test-app:latest
    environment:
      POSTGRES_USER: postgres
      POSTGRES_PASSWORD: postgres

x-uffizzi-ingress:
  service: webhooks_test_app
  port: 80

x-uffizzi-continuous-preview:
  delete_preview_after: 1h
  delete_preview_when_image_tag_is_updated: true
  deploy_preview_when_image_tag_is_created: true

@JessikaCastellano Task was a little bit changed.
Do not show json. Change message text from Deployment failed to Preview with ID deployment-#{deployment_id} failed.
Expected result for failed preview with option -o=json:
# uffizzi preview create -o=json compose.yml
[✔] Creating containers...
[✖] Deploying preview...
  [✖] aaaawebhooks-test-app
Preview with ID deployment-#{deployment_id} failed.


Code added for sorting linked list with 0,1,2 .

Fixes #48

Remove the unnecessary files added.

Removed 👍


chore(doc): make checkmarks to emoji to fix broken randering

i do not like to have :heavy_check_mark: in green and grey
renderes: https://github.com/wrenix/iamb/blob/wrenix-patch-1/README.md

Does github render it differently?
One drawback of using these shortcodes is that it's worse when viewing as plain text.

hmm, on my c


EMR on EKS Karpenter with YuniKorn updates

What does this PR do?
🛑 Please open an issue first to discuss any significant work and flesh out details/direction - we would hate for your time to be wasted.
Consult the CONTRIBUTING guide for submitting pull-requests.

EMR on EKS Karpenter examples updated with dedicated folders to test Spark jobs
Added Apache YuniKorn as optional deployment to this Pattern. This can be disabled if customers doesn't need it.
Additional example added to show the Apache YuniKorn gang scheduling

Motivation

More

[x] Yes, I have tested the PR using my local account setup (Provide any test evidence report under Additional Notes)
[x] Yes, I have added a new example under examples to support my PR
[ ] Yes, I have created another PR to add a new Add-on for Terraform EKS Blueprints repo (if applicable)
[x] Yes, I have updated the website/docs or website/blog section for this feature
[x] Yes, I ran pre-commit run -a with this PR. Link for installing pre-commit locally

For Moderators

[ ] E2E Test successfully complete before merge?

Additional Notes

/LGTM


Cron and arkmanager

Hello,
I have an issue with some cron on Debian, i put an user specified cron, the one who is set in the arkmanager.cfg, and the commande doesn't seem to be launch.
I've seen that using root isn't working.
When I launch the script manually with the same user it's working.
arkmanager broadcast "Saving World"
arkmanager saveworld
arkmanager broadcast "Checking update"
arkmanager update --safe

chmod 775 update.sh #with steam user

When i do
./update.sh

There is no problem it's working
but in the crontab -e on the steam user
*/1 * * * * /directory/to/script/update.sh

arkmanager cmd isn't working, if i put some echo "something" >> log i have "something" in the file :/
if you can light my path, it would be great :D

You need a #!/bin/sh at the top of your script file in order to have Linux execute the script as a shell script.
#!/bin/sh

arkmanager broadcast "Saving World"
arkmanager saveworld
arkmanager broadcast "Checking update"
arkmanager update --safe

Oh yeah ! You right, thanks :D I forgot it ...
But i have the same issue ...

1.3 also supports specifying multiple commands in a single command.
So if you wanted to e.g. save the world every 10 minutes and check for an update every half hour, you could add the following lines to the steam crontab:
*/10 * * * * arkmanager broadcast "Saving World" saveworld
15,45 * * * * arkmanager update --warn

So the following cron line works:
*/1 * * * * echo something >>$HOME/test.log

yet the following does not work:
*/1 * * * * $HOME/ark-update.sh >>$HOME/ark-update.log 2>&1

it's the idea, it's like all the arkmanager command doesn't work

Is arkmanager in /usr/local/bin?  i.e. does type arkmanager print arkmanager is /usr/local/bin/arkmanager?
You may need to specify the full path to arkmanager in the update script:
#!/bin/sh

/usr/local/bin/arkmanager broadcast "Saving World"
/usr/local/bin/arkmanager saveworld
/usr/local/bin/arkmanager broadcast "Checking update"
/usr/local/bin/arkmanager update --safe

Thanks for you answer ! That was the problem !


SAMZA-1232: Log configuration value in RunLoopFactory

@xinyuiscool Please take a look when you get a chance.

@shanthoosh is this ready to merge?


Multiple input CSV files

Hey there,
among cover, introduction etc, my source document has two sections, one contains %VAR_variable_category1% fields, the other section contains %VAR_variable_category2% fields - you see where I'm going. Some of my CSV files contain headers like this: variable_category1, while others contain headers like this: variable_category2.
Now, I'd like to insert multiple CSV files (with a wildcard, eg -c some/path/*.csv) to merge their respective matching headers into the document: would that possible to implement?
Thanks for your time & effort,
S1SYPHOS

hello Martin.
I don't quite get it, my bad. Let me try to rephrase what I think I understood:
You would like to use data from mutiple CSV, each having only different columns (variables), no common column (e.g. entry ID, for instance title) needs to be matched between the files, all your CSV have exactly the same number of lines, and you would like to use variables from all these CSV files in a single Scribus (Generator) template.
If that's the case I'd recommend merging the CSV with a short script. You can customize the following to your liking, it uses the powerful pandas Python library:
import pandas as pd

a = pd.read_csv("filea.csv")
b = pd.read_csv("fileb.csv")
merged = a.merge(b, on='title')
merged.to_csv("output.csv", index=False)

You can leave the on='title' out if you indeed don't need to match the entries between your different csv files... and you can accomodate more CSV file by putting multiple "merge" in sequence.
Kindly let me know if that works for you, and please share below your adapted script once you got it right... I'd be happy to add it to our utils script if it's flexible enough for others to reuse !
B.

If I did not understand your need at all kindly excuse me and please try to re-explain. An example is most welcome.

I'm working with PHP mainly and already have a function for merging CSV files, but silly as I am, didn't think this - merging them would be a nice compromise! I'll go check that out! Also, I'd be glad to send a PR for adding a composer.json file, that way I can easily include it in PHP projects :+1:

When using your suggested script, I'm getting this error: pandas.errors.ParserError: Error tokenizing data. C error: Expected 10 fields in line 5, saw 15.
But I went with your suggestion, using python to the rescue, and came up with this script to achieve what I wanted (in terms of merging CSV files):
import pandas as pd
import glob

dfs = glob.glob('*.csv')
result = pd.concat([pd.read_csv(df, sep=';') for df in dfs], ignore_index=True)
result.to_csv('merge.csv')

Having a composer file doesn't hurt anyone and enables PHP people to use this excellent package.

I'll close this because I found a way to achieve what I wanted - thanks again!

glad you did.
if you feel like sharing some of your results, or explain how you combine this with in php the wiki's all yours to inspire others !

and thanks @S1SYPHOS  for the merge script, I added it in the "utils" directory.

I guess a new release would be in order 😎


Drop maintaining own versions of dependencies

Prevents having mismatched versions of dependencies between faucet
and agora

It's cool but we might also need submodules to be initialized inside agora due to nesting

all green

I usually avoid recursive submodules because it's generally a pain to manage. But in that instance, it is a much better solution. Thanks!


When i build  iOS The method 'isBefore' isn't defined for the class 'TimeOfDay'.

Error (Xcode): ../../.pub-cache/hosted/pub.dev/date_field-5.3.4/lib/src/widgets/adaptive_dialog.dart:47:11: Error: The method 'isBefore' isn't defined for the class 'TimeOfDay'.
Could not build the application for the simulator.
Error launching application on iPhone 16 Pro.

Hi @azerioid,
isBefore isn't defined for the class TimeOfDay, that object doesn't have that method.
Use a DateTime object instead.

Hi @azerioid,
Try redownloading the project from nylo.dev and run it, that error shouldn't exist


Remove regular status printing for non terminals

Is there any chance to activate the progress report for windows when running in background?

Nop, nothing built in. As far as I know, Windows doesn't have signals (in the Unix sense). Sorry.

I believe restic needs an actual logging facility that is not just a transient output to stdout or stderr and can be referenced without needing to just redirect these or turn on debug.
Making this structured we can include information about the files, the progress and other information if necessary that can be read/parsed later without having to invoke restic (file, influxdb, etc).

I highly appreciate this approach. This would improve restic' usability and makes it more developer friendly


Error message on  func applicationDidFinishLaunching

Hi,
swift is really nice because apple change on every new version the world :).
On
    func applicationDidFinishLaunching(_ aNotification: Notification) {
        // Insert code here to initialize your application

        statusItem.title = "WeatherBar"
        statusItem.Menu = statusMenu
    }

I got the error: Value of type 'NSStatusItem' has no member 'Menu'; did you mean 'menu'?
I don't know which result it will have if I let xCode fix this?
Can you give me a little help?
Thanks

Sorry for that. i wrote .menu versal. Its a little bit late :)


Check data size in FixedWidthBlock constructor

The data slice must be at least positionCount * fixedSize, or the code
fails during use.

Is there a test case that reproduces the issue?

I was working on another branch and had a bug that caused a failure in EnforceSingleRowOperator due to the invalid block.  I'm adding this check so someone doesn't make the same typo, but I don't think there was an actual bug in any checked in code.


Skillmonitor Widget: cast time indicator doesn't account for half cast times, position is off

HCT issue sorted, https://github.com/gwdevhub/GWToolboxpp/commit/7ce8c43b646cdf4da5b6900eb44552fef2b90588

@DubbleClick can you check the offset issue on dev? I can't replicate it

Yep, it happened on dev, but it's not consistent. I wanted to figure it out over the weekend, but didn't find the time.


Generate POJO annotated with jsr330 annotations from AsynchAPI yaml file

Reason/Context
Please try answering few of those questions

Why we need this improvement?
We should have library which will generate java lib out of async api spec, so we can dynamically read spec file get the java lib out of it.
How will this change help?
This will help the developer to perform operations on generated java lib like validation of incoming data, transfer of objects overt the network
What is the motivation?
My work needs it. :(

Description
Please try answering few of those questions

What changes have to be introduced?
May be simple method call PojoGenerator.fromSource(String specFilePath, String packageNAME) should generate those files from the given spec file under the given package name.
Will this be a breaking change?
Certainly
How could it be implemented/designed?

@jagadeeshkoka hi!
Can you describe, with examples, what you want to achieve? I checked 330 and it's all about injection, like Google Guice


Release image broken: ImportError: no module named 'tinyweb'

Make sure you are running the latest version of TinyWeb before reporting an issue.
Fresh download today
Device and/or platform:
ESP8266
Description of problem:
After flashing .bin firmware file:
import network --> ok
import tinyweb (copy-pasted name, no typo...) --> ImportError: no module named 'tinyweb'
Expected:
Successfull import
Traceback (if applicable):
>>> import network
>>> import tinyweb
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
ImportError: no module named 'tinyweb'
>>> >>> help('modules')
__main__          hashlib           socket            urandom
_boot             inisetup          ssl               ure
_onewire          io                struct            uselect
_webrepl          json              sys               usocket
apa102            lwip              time              ussl
array             machine           ubinascii         ustruct
binascii          math              ucollections      utime
btree             micropython       ucryptolib        utimeq
builtins          neopixel          uctypes           uzlib
collections       network           uerrno            webrepl
dht               ntptime           uhashlib          webrepl_setup
ds18x20           onewire           uheapq            websocket
errno             os                uio               websocket_helper
esp               port_diag         ujson             zlib
flashbdev         random            uos
framebuf          re                upip
gc                select            upip_utarfile
Plus any modules on the filesystem

Additional info:
There are no modules in the file system either,,,

Thanks for reporting, looks to be travis build bug.
ETA for fix is tomorrow

With release-1.3.2 image it works well:
>>>
>>> import network
>>> import tinyweb
>>>
>>> tinyweb.
__class__       __name__        __path__        webserver
server

Let me know if it still does not work for you.

Thank you so much!
I will report back to you
Op do 20 dec. 2018 06:55 schreef Konstantin Belyalov <
<EMAIL_ADDRESS>
With release-1.3.2 image
https://github.com/belyalov/tinyweb/releases/download/v1.3.2/firmware_esp8266-v1.3.2.bin
it works well:

import network>>> import tinyweb>>>>>> tinyweb.class name path        webserver
server

Let me know if it still does not work for you.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/belyalov/tinyweb/issues/18#issuecomment-448882741,
or mute the thread
https://github.com/notifications/unsubscribe-auth/ATFzj7Kyh9EMtbd0cPVqiDJG9qBR_i0pks5u6yZcgaJpZM4ZbBEi
.


Adjust Install-DbaMaintenanceSolution add disconnect

Reference need to have a non-pooled connection via #2738
Added a explicit Disconnect() to prevent left over connections.

Thanks baw!


add i18n support with po/pot file method from intllib

add french translation

Abandoned PR, and client-side translations would now fit better.


Broken link in the Readme reference section

The link mentioned in the references leads to 404
https://github.com/SAP/vulnerability-assessment-tool#references > reference 2
https://www.sap.com/documents/2017/08/f2895a6e-ca7c-0010-82c7-eda71af511fa.html

Thanks for spotting it.
It is already fixed here: https://github.com/SAP/vulnerability-assessment-tool/pull/218


QUIC: Changes QUICErrorUPtr to QUICConnectionUPtr to terminate the connection

link to #4400

[approve ci clang-format]


Leaflet tries to get negative value images or images that don't exist

Here is my Leaflet config:
function init() {
    var mapMinZoom = 2;
    var mapMaxZoom = 5;
    var map = L.map('map', {
        maxZoom: mapMaxZoom,
        minZoom: mapMinZoom,
        crs: L.CRS.Simple
    }).setView([0, 0], mapMaxZoom);

    var mapBounds = new L.LatLngBounds(
        map.unproject([0, 4352], mapMaxZoom),
        map.unproject([2048, 0], mapMaxZoom));

    map.fitBounds(mapBounds);
    L.tileLayer('/assets/themes/sec/img/tiles/{z}/{x}/{y}.png', {
        minZoom: mapMinZoom,
        maxZoom: mapMaxZoom,
        bounds: mapBounds,
        noWrap: true,
        continuousWorld: true
    }).addTo(map);

    var store_marker = L.marker([0, 0]).addTo(map);
}

Everything works, but I get a lot of "resource not found" in my console whenever I zoom or pan:
[Error] Failed to load resource: the server responded with a status of 404 (Not Found) (0.png, line 0)
http://localhost:3000/assets/themes/sec/img/tiles/2/-1/0.png

[Error] Failed to load resource: the server responded with a status of 404 (Not Found) (0.png, line 0)
http://localhost:3000/assets/themes/sec/img/tiles/2/1/0.png

[Error] Failed to load resource: the server responded with a status of 404 (Not Found) (1.png, line 0)
http://localhost:3000/assets/themes/sec/img/tiles/2/-1/1.png

[Error] Failed to load resource: the server responded with a status of 404 (Not Found) (1.png, line 0)
http://localhost:3000/assets/themes/sec/img/tiles/2/1/1.png

I have no negative numbered tiles. The files referenced here don't exist. Yet everything looks fine on the map. I used MapTiler to build the map. Anything I can do to fix this?

I don't know exactly what Rob meant when he said, "add 1 to all the coordinates."  Anyhow, there are definitely problems with setBounds, setMaxBounds and fitBounds in the 0.7 release.  For my map, which is 1164x700 pixels (tiled from upper-left), I get a slew of (always negative ...) URL requests coming out of the back-end, and maps that, although they do "bounce back," are neither correctly positioned (centered) on the screen, nor of the proper size, if "fitBounds()" is used at all.

Looks like bounds are simply checked incorrectly, adding 1 pixel to lower bounds, and removing 1 pixel from upper bounds fixes the issue.

@xPaw can you explain what you mean by lower/upper bounds?
Do you mean changing
var mapBounds = new L.LatLngBounds(
map.unproject([0, 4352], mapMaxZoom),
map.unproject([2048, 0], mapMaxZoom));

to
var mapBounds = new L.LatLngBounds(
map.unproject([1, 4351], mapMaxZoom),
map.unproject([2047, 1], mapMaxZoom));

@Eschon Yep, that's what I mean.

I think that the problem resides in the difference between this bit of code in 0.7.x:
		var tileBounds = L.bounds(
		        bounds.min.divideBy(tileSize)._floor(),
		        bounds.max.divideBy(tileSize)._floor());

And this bit of code in master:
		return new L.Bounds(
			bounds.min.divideBy(this._tileSize).floor(),
			bounds.max.divideBy(this._tileSize).ceil().subtract([1, 1]));

@xPaw Does your problem happen in 0.7.x, master, or both? If using 0.7.x, can you set up a breakpoint in the javascript code I've referred to and see if the values are offset by one?

It's both 0.7 and master.

Hm. I think I was wrong in my previous note. See this line here:
	return L.latLngBounds(this.options.bounds).intersects(tileBounds);

A tile will be loaded if its bounds intersect the layer bounds. This is true for overlapping edges.
Maybe it's time to break open the books on spatial operators and see if bounds.contains() will work or not.

@xPaw's workaround doesn't work for me. I guess I'll stick to my workaround by adding 1x1 transparent dummy tiles until this gets fixed.

OK, folks, #3508 needs some love (and testing of that branch) to see if it solves the problem gracefully.

@Eschon @xPaw @robkovacs @SundialServices @donaldallen guys, could you try the PR above and see if it works as expected?

Works perfectly for me. Thank you so much!

i downloaded the latest:
Leaflet 1.0.3 and i still see this 404 when i zoom out of map with noWrap because of 0 and negative numbers in the x y z.
anyone knows how to solve this?

@mikila85 If this bug is still reproducible in 1.0.3, please publish a fiddle/codepen/playground that displays this behaviour.

it is still reproducible but adding bounds: [[-90, -180], [90, 180]] solved the problem. thx <3

@IvanSanchez I'm having the same problem - still reproducible in 1.0.3: http://jsbin.com/tiducorejo/edit?html,output

@josephrocca If you specify the noWrap option, and not the bounds option for the tilelayer, then this is behaviour as expected.

Ahh thanks - sorry for the trouble!

For anybody else that comes across this issue my solution was to change the map bounds from 0 to 1
original
L.tileLayer('/map/map/{z}/{x}/{y}.jpg', {
    minZoom: 1,
    maxZoom: 6,
    noWrap: true,
    bounds: [
        [-85.675, -675],
        [85.622, 675]
],
     crs: L.CRS.Simple
}).addTo(map);

let mapSW = [0, 16384];
let mapNE = [16384, 0];

map.setMaxBounds(new L.LatLngBounds(map.unproject(mapSW, map.getMaxZoom()),map.unproject(mapNE, map.getMaxZoom())));

changed 0 to 1 and now no more 404 errors!
let mapSW = [1, 16384];
let mapNE = [16384, 1];


Why not work normal from example ?

Hello. Why not work normal from example ??
yours: https://stackblitz.com/edit/swiper-demo-17-multi-row-slides-layout?file=style.css
me: https://jsfiddle.net/je05gp2q/1/
where error?

my error


[Feature] Run in DBT Cloud

Is this your first time opening an issue?

[X] I have read the expectations for open source contributors

Describe the Feature
Lots of my colleagues uses the DBT Cloud IDE. It lowers the entry barrier for anyone not experience with IDEs, git, etc. With that in mind, I would like them to also have the possibility to write unit tests and run the tests in that environment.
Describe alternatives you've considered
Running tests in CI pipeline, but this creates a very slow feedback loop.
Who will this benefit?
Any DBT developer using DBT Cloud IDE
Are you interested in contributing this feature?
Yes
Anything else?
I have now clue if this is even remotely possible. Does that DBT cloud runtime include Pytest? Is it possible to create a DBT package which pulls in additional packages from pypi?

Hi @calleo, sorry that I missed your issue! I changed my notification settings so that this won't happen again.
I am afraid that we can not run this package in the dbt cloud. The dbt cloud blocks you from running anything other than dbt. This is on purpose, I guess they want to avoid misuse of the dbt cloud and for security reasons.


Wrong onnxruntime.dll Picked Up When Running Integration Tests

Error
ort 1.16 is not compatible with the ONNX Runtime binary found at `onnxruntime.dll`; expected GetVersionString to return '1.16.x', but got '1.10.0'

How To Replicate
For windows, fastembed does not include onnxruntime.dll in target/debug/deps (which is used by integration tests). Therefore if onnxruntime.dll exists in C:/Windows/System32/ then that version is used. Causing the issue above.
To replicate, ensure a version of onnxruntime.dll exists in C:/Windows/System32/ that is not the same version as fastembed (currently 1.16.x). Adding a fastembed model to a library, like
lazy_static! {
    pub static ref EMBEDDING_MODEL: FlagEmbedding = FlagEmbedding::try_new(InitOptions {
            model_name: EmbeddingModel::BGEBaseEN,
            show_download_message: true,
            ..Default::default()
        }).unwrap();
}

Then importing that module into an integration and attempting to use it that error will cause the error.
How To fix by hand
Add onnxruntime.dll to target/debug/deps
Expected Behavior
If fast fastembed runs correctly in a binary or library crate, it should also run correctly in their integration tests. (Note: I have not tested release mode or regular unit tests with fastembed yet.)
Possible solution
ort has a feature that could be used, but I have not tested. https://github.com/pykeio/ort/blob/4ab57859caa9490473bac3dfcd043dbb1b89d9a5/Cargo.toml#L44

You should be able to mitigate this by setting the ORT_DYLIB_PATH=/path/to/libonnxruntime.so|dlib env var.

Looks like a fair temporary work around. Also looks the the copy-dylibs feature may work https://github.com/pykeio/ort#shared-library-hell . It's probably worth exposing ort features as features of this crate. e.g.
[dependencies]
ort = { version = "1"}

[features]
default = ["ort-load-dynamic"]
ort-copy-libs = ["ort/copy-libs"]
ort-load-dynamic = ["ort/load-dynamic"]
ort-compile-static = ["ort/compile-static"]
...

I believe the above should work.

Looks like a fair temporary work around. Also looks the the copy-dylibs feature may work https://github.com/pykeio/ort#shared-library-hell . It's probably worth exposing ort features as features of this crate. e.g.
[dependencies]
ort = { version = "1"}

[features]
default = ["ort-load-dynamic"]
ort-copy-libs = ["ort/copy-libs"]
ort-load-dynamic = ["ort/load-dynamic"]
ort-compile-static = ["ort/compile-static"]
...

I believe the above should work.

from documentation:
load-dynamic: Loads the ONNX Runtime binaries at runtime via dlopen() without a link dependency on them.
The path to the binary can be controlled with the environment variable ORT_DYLIB_PATH=/path/to/libonnxruntime.so.
**This is heavily recommended**, as it mitigates the [shared library hell](https://github.com/pykeio/ort/tree/1.16#shared-library-hell).

load dynamic is heavily recommended

Sure, that's why in my example I left "load-dynamic" as the default. But so some of the other options fix the issue as well. In our case, we need a single static binary. Ort was actually just update yesterday, funny enough, to give more control to downstream over ort-sys. https://github.com/pykeio/ort/blob/main/Cargo.toml . The alpha version of 2 was also released yesterday https://github.com/pykeio/ort/releases/tag/v2.0.0-alpha.1 . When version 2 is finally released, this repo should probably expose what ort exposes. I can create a PR for that when v2 releases.

Resolved in #12.


Update docs

Create 2.2.0 docs using Maven with JavaDoc plugin.

PR for Mava javadoc plugin adjustment: https://github.com/TI-Tokyo/riak-java-client/pull/4

PR for github pages for 2.1.2 snapshot API documentation: https://github.com/TI-Tokyo/riak-java-client/pull/5

@pjaclark @Bob-The-Marauder , I think we can close this issue. This has been included in this PR: https://github.com/TI-Tokyo/riak-docs-fork/pull/53


Dump dashboard as json

Is there already an option to dump the generated dashboard as JSON ? If so it would be great to have this documented, I couldn't find it so far.

You can use Go's json.Marshal() :)
builder, err := dashboard.New(
	"Awesome dashboard",
	// ...
)
if err != nil {
	// ...
}

dashboardJSON, err := json.Marshal(builder)
if err != nil {
	// ...
}


Open link in new tab leads to 404

Bug report
Describe the bug
Opening link in new tab leads to 404. When I open the same page directly, in the same tab, correct page is displayed.
The same happens if I copy the link and paste it and try to open it. The result is 404.
To Reproduce
Steps to reproduce the behavior, please provide code snippets or a repository:

Go to https://studio.devero.io/
Right-click on one of the first four examples in Portfolio section and choose to open the link in a new tab.
See error

or:

Go to https://studio.devero.io/
Right-click on one of the first four examples in Portfolio section and copy the link.
Paste the URL to the address bar and try to open it.
See error

Expected behavior
Pages opened in a new tab, or via copying and pasting the link, should work like opening the page directly.
Screenshots

HTML:

System information

OS: Windows 10
Browser (if applies): Chrome, Vivaldi (Chromium-based), Firefox
Version of Next.js: 9.1.6

This is likely a bug with however you deployed your application. Please be sure your hosting setup is configured correctly.
Per the issue template, support requests belong on Spectrum — not our issue tracker, thanks!

It looks like you're using Apache, you can try adding this to your mod_rewrite:
RewriteCond %{REQUEST_FILENAME}.html -f
RewriteRule !.*\.html$ %{REQUEST_FILENAME}.html [L]

Thank you @Timer. Adding those two rules solved the problem.

It's not working. @Timer

This issue has been automatically locked due to no recent activity. If you are running into a similar issue, please create a new issue with the steps to reproduce. Thank you.


Improve Show instance of Effectful.Error.Static.ErrorWrapper

For example, if a third-party library spawns worker threads and if a job throws, it simply catches SomeException, logs it and retries the job later, as of today internal exceptions representing errors of the Error effect wouldn't show any info about the error, just the backtrace.
This fixes it at the cost of small API breakage.
TODO changelog

@arybczak Is there a way to avoid catching ErrorWrapper in such a scenario? There doesn't seen to be a predicate similar to isSyncException, and the type isn't exported for pattern matching. As a workaround, I'm parsing the output of show while ignoring the screaming voice at the back of my mind. :)

I'm parsing the output of show

Umm, that's bad. Why?

Yes, like I said it's a workaround. Is there a better way?

Yeah, but why do you need to do that? I need to know the use case to suggest a solution (or improve the library).

Oh right. It's a similar situation to the one you described, where an existing application catches SomeException for logging purposes, with the unfortunate side effect of intercepting Error effects. The least intrusive solution seems to be modifying the exception handler to catch "SomeException, except when it's an ErrorWrapper", similar to how catchSync works.

Hmm. I could in theory change ErrorWrapper to be marked as asynchronous exception (since it's an internal implementation detail), so it's not caught by catchAnySync, but I'm not sure if it's a good idea.

I like the idea! It's a white lie, but benefits from existing awareness about the perils of catching asynchronous exceptions.

One place where this is unfortunate is wrapping a Hedgehog effect. For things like failure, Hedgehog would normally use Left, so when we wrap that in effectful, it becomes a throw. However, Hedgehog also has evalM which uses try. But now in an effectful world if I surround a block of code that uses failure with evalM I lose the accurate stack trace at the point of failure and instead get a stack trace at the point of evalM! Even worse is it uses the show instance for the exception, which now talks about this mysterious ErrorWrapper. Plain hedgehog has none of this, and would simple report from the location of failure. It's the very general try in evalM that is the problem and I can't really see an alternative, but it is an unfortunate wart I get when I try and lift Hedgehog's Test into effectful

Ok, I created #283. I'll let it sit for a while and think if this change has a potential to blow up in our faces.


Updgrade Lottie on Android and iOS

Summary
The linked version of Lottie are pretty old, and this fixes that.
Test Plan

What's required for testing (prerequisites)?
Someone needs to run this on Android and iOS. I would if I knew how. I opened an issue for the lack of documentation around getting started. https://github.com/react-native-community/lottie-react-native/issues/650
Compatibility

OS
Implemented

iOS
✅

Android
✅

Checklist

[ ] I have tested this on a device and a simulator
[X] I added the documentation in README.md
[X] I mentioned this change in CHANGELOG.md
[ ] I updated the typed files (TS and Flow)
[ ] I added a sample use of the API in the example project (example/App.js)

@SalvatoreT thanks for this PR, I have trouble building on a simulator. Did this work for you?

@emilioicai, I need to land this PR first which fixes the Android build. https://github.com/react-native-community/lottie-react-native/pull/652

I was just reviewing https://github.com/react-native-community/lottie-react-native/pull/652 , it should be merged now :)

@SalvatoreT any luck having these changes working on a device/simulator?

I can run the changes on an Android simulator and device, but I can't run the iOS example on this branch or master.

I made a PR to upgrade and fix the development environment to unblock this. https://github.com/react-native-community/lottie-react-native/pull/653

I rebased this branch on the one from #653 and it worked! 🎉
I can rebase this branch once/if #653 lands on master.

Hey, thanks for all the effort! https://github.com/react-native-community/lottie-react-native/pull/653 has landed on master, so you can rebase when you've got the chance

Rebased and ran through Android and iOS again. ✅

Fixed!

Thanks for the good work @SalvatoreT !

Since this PR includes some documentation changes I will merge once we have a new version ready so users are not confused.

Awesome work @SalvatoreT 👏
@emilioicai any ETA on the new version? really looking forward to updating the dependencies.

Hopefully this PR should land next week on a new version

Any news about the new version release?

I see this has been approved. Any reason why this is not being merged yet @emilioicai ?


Update lottie version to 4.4.3

Hopefully my changes are not needed anymore because perfomance is already fixed by now

@absolute-heike yeah, but I have this branch with lottie upstream changes
https://github.com/MoroziOS/tmg-lottie-ios/tree/Lottie-upstream
So. after testing that everything works correctly - I'll merge this all in one


.requiredModifiers does not specify behavior of multiple values

The document indicates that .requiredModifiers can specify multiple values.  However, it does not indicate which of the following behaviors is followed:
A. It requires ALL the listed modifiers to exist to match
B. It requires AT LEAST ONE OF the listed modifiers to exist to match
The first is expected, but the second is how the .applicable_accessibilities aspect is handled.  Can you clarify the documentation here?
Thanks you!

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

ID: b402d2e0-a53a-b61a-4da8-b5ee766d9301
Version Independent ID: 612695df-5934-d967-d709-500ce02b1395
Content: .NET Naming Conventions For EditorConfig files - Visual Studio
Content Source: docs/ide/editorconfig-naming-conventions.md
Product: visual-studio-dev15
GitHub Login: @gewarren
Microsoft Alias: gewarren

Not true. https://docs.microsoft.com/en-us/dotnet/csharp/language-reference/keywords/private-protected


Fix unhandled non-field struct children

Unhandled non-field child nodes were sometimes present in children(cursor), and were already handled in printing but not in codegen, which triggered an assertion error at https://github.com/JuliaInterop/Clang.jl/blob/30aaa5de6be51c105dc80139533d0db67263b762/src/generator/print.jl#L119
where fields built from the codegened expression had an extra field for a forward struct declaration.
Here is an exemple header where the error appeared:
typedef struct _ExampleStruct {
  struct _ForwardA *a;
} ExampleStruct;

typedef struct _ForwardA {
  int a;
} ForwardA;

and codegen produced something like
struct _ExampleStruct
  _ForwardA::_ForwardA
  a::Ptr{_ForwardA}
end

Now we don't have that weird spurious _ForwardA::_ForwardA field.
It happened to me while wrapping a larger header (winuser.h) using this pattern, but I couldn't come up with a minimal reproducer. For some reason, fields(Clang.getCursorType(cursor)) for _ExampleStruct was empty in that larger header and Clang.jl fell back to using children to extract fields, while in any example I have tried for a minimal reproducer fields(Clang.getCursorType(cusor)) succeeded in returning the only field present as expected.

_emit_getproperty_ptr! may also need to be patched.

Could be related to the upstream changes discussed in #472

let's wait for more bug reports.


Automated Tests

To fix likely need:

Modify travis file to install python dependency .-- Done
Vader tests to check result of python? Perhaps add flag to force python test somehow.

Step 1 works.
Next step likely to be completely duplicate ruby vader tests and run through python code with it for testing.

Looks like test cases run against python build work fine on travis. So unlikely any changes needed, will confirm after timeout thingy.

Vader tests now running against python code with Ruby = 1.9


Update geolib

The currently selected geolib version is not available, the next version is a new major version.
Unfortunately, I am unsure on how to build and run tests, feel free to edit as fit.

There is no need to change this,

version 2.0.24 is very much still available on npmjs.org

I'm so sorry for this... :$
It was late and I got confused by this whole .26 version thing and mixed up 24/26 while alt-tabing


Library usage MaxDepth issues

katana version:
cli: version 1.02
go.mod line: github.com/projectdiscovery/katana v1.0.2
Current Behaviour:
Using katana as a library appears to always behave as if the scope depth was set to 1. In the below example, I have configured MaxDepth to be 2.
❯ go run main.go
[INF] Started standard crawling for => https://tesla.com
https://tesla.com
[INF] https://tesla.com

The source code used is available in this Gist, though it doesn't differ from the example in the README: https://gist.github.com/leonjza/82f7b89df1abe7b4a768349313a58920
Using the command line program however, the output appears as expected.
❯ katana -u https://tesla.com -d 2
[ ... snip logo ...]

[INF] Current katana version v1.0.2 (latest)
[INF] Started standard crawling for => https://tesla.com
https://www.tesla.com/
https://tesla.com
https://www.tesla.com/modules/custom/tesla_banners/js/index.js?v=1.x
https://www.tesla.com/themes/custom/tesla_frontend/assets/manifest.json
https://www.tesla.com/_flysystem/s3/css/css_nUTC6NHVOqULHggJlfgzEQ2EtlOWuU94ec0FiBsGsOg.css
https://www.tesla.com/_flysystem/s3/css/css_xW-cg_AzHoBA7lMpqERJ5452cKtnXx8j_vFdYDwrYSk.css
https://www.tesla.com/_flysystem/s3/css/css_WgCBnkNyCBuMX6gyOoWzsDjeC_de6DH55PdxvAKPnls.css

[... snip ...]

Expected Behaviour:
When using katana as a library, crawling occurs with the same (or similar) results as the command line client.
Steps To Reproduce:

Integrate katana as the example in the README.
Run your custom program and observe what appears to be the MaxDepth field being ignored.

@leonjza I've tried to run the code snippet with the dev branch, and the issue seems fixed:
$ go run .
[INF] Started standard crawling for => https://tesla.com
https://www.tesla.com/
[INF] https://www.tesla.com/
https://tesla.com
[INF] https://tesla.com
[INF] https://www.tesla.com/themes/custom/tesla_frontend/assets/favicons/favicon-32x32.png
https://www.tesla.com/modules/custom/tesla_banners/js/index.js?v=1.x

If you checkout the dev branch in your project until a new release is created, you should be able to perform crawling at the wanted nesting level:
go install github.com/projectdiscovery/katana/cmd/katana@dev


Support for Klov reporter

Hey,
I am using Klov as reporting server for my automation and currently, I am generating klov reports using a custom listener.
Code to create klov reporter
ExtentKlovReporter klov = new ExtentKlovReporter("My project");
klov.initKlovServerConnection(ReportConfig.getKlovServerURL()).initMongoDbConnection(uri);
ExtentReports extentReport = new ExtentReports();
extentReport.attachReporter(klov);

How can I generate klov report ( ExtentKlovReporter) using your adapter?

U just need to set extent.reporter.klov.start=true and path to config file with extent.reporter.klov.config.
I have not tested it as setting up klov is very frustrating and error prone. Best of luck.

Are you getting an exception in the console?

No error in the console.

I am sorry but as mentioned earlier I will not be able to help you out. Currently I do not have the time to install klov to debug this, it is too painful.
I suggest you look into the ExtentService class, in the adapter code, which has the initKlov() method which contains all the connection logic. As you already have a setup this should be easy to figure out what is wrong.


help

i try to run oor from openwrt,but it have some problem. so,i need a example for oor , such as /etc/config/oor 。thanks so much.the troublres are map cache  can add ,no output iface no contol iface .i set control iface eth0。but useless.

I added a simple configuration file as an xTR example. The section control_iface is not used for an xTR. The control and data ifaces that OOR will use when it is configured as an xTR are the ones associated with RLOCs. In the configuration file, you have an example of the two ways and RLOC can be defined: rloc-address where you specify directly the initial address that the interface has, or rloc-iface where you indicate the name of the interface. Remember that you should have previously configured the rloc interfaces and eid interfaces.
oor.conf.example.txt

thank you for your reply ,i add some config and make it run success.before this i try it success in the linux 。Your suggestion is very useful.


Some user properties are missing when "registering" user to mixpanel

Mixpanel besides events, also store users. (Can be explorer by the "people" navigation link in mixpanel UI). Although events (like the signup event) have all the properties (like email, initial_referrer, etc), some properties are missing from the user objects. The properties that are missing are $browser, $initial_referrer,  $initial_referring_domain.
Probably those properties need to be added here:
https://github.com/resin-io/resin-event-log/blob/master/src/resin-event-log.coffee#L71-L81
Also, see related discussion here:
https://github.com/resin-io/resin-ui/issues/323#issuecomment-275905948

hey @emirotin I see many changes took place in this module. Are we ready to fix the issues with the mixpanel users?

Yes this will be the next thing I'll do here
On Tue, Feb 21, 2017 at 10:39 AM, Ilias Zavitsanos<EMAIL_ADDRESS>
wrote:

hey @emirotin https://github.com/emirotin I see many changes took place
in this module. Are we ready to fix the issues with the mixpanel users?
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/resin-io-modules/resin-analytics/issues/3#issuecomment-281267457,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AAgGCPjnfYYdvIrtkZcPRk_nVYrB5Ro0ks5repS6gaJpZM4LxRj2
.

--
Eugene Mirotin
Senior Frontend Engineer
site: Resin.io https://resin.io/, twitter: @resin_io
https://twitter.com/resin_io

Let me know how I can help

So let's discuss what we actually want.
For example obviously there can be no single browser for the user. We use the identify/alias so multiple devices will be linked to the same user ID (username essentially).
So what would you like to have:

these props as of signup time (set once)
these props as of last record time (I'm not sure but maybe mixpanel would allow to track back the history of property changes)
?

If you visit mixpanel and select from the left menu People -> Explore and select a user, you will see on the right the properties of that user. We want to include there the $initial_referrer and $initial_referring_domain and $browser (since browser can change, let's set the browser of signup time). The $initial_referrer and $initial_referring_domain are properties that mixpanel gets from the user's cookie and do not change afterwards since we are interested to know the initial referrer that drove the user to resin.

OK so essentially we get them at the signup time (which corresponds to the
mixpanel's people.set_once operation). Good. Will see if it's trivial to
get them.
On Wed, Feb 22, 2017 at 12:03 PM, Ilias Zavitsanos<EMAIL_ADDRESS>
wrote:

If you visit mixpanel and select from the left menu People -> Explore and
select a user, you will see on the right the properties of that user. We
want to include there the $initial_referrer and $initial_referring_domain
and $browser (since browser can change, let's set the browser of signup
time). The $initial_referrer and $initial_referring_domain are properties
that mixpanel gets from the user's cookie and do not change afterwards
since we are interested to know the initial referrer that drove the user to
resin.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/resin-io-modules/resin-analytics/issues/3#issuecomment-281609628,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AAgGCPTC_wcOZIem8vWUyZb52eBBp3ylks5re_nQgaJpZM4LxRj2
.

--
Eugene Mirotin
Senior Frontend Engineer
site: Resin.io https://resin.io/, twitter: @resin_io
https://twitter.com/resin_io

Yes, and if you see the signup events of the users, you will see that we have that info there! It is just missing from the "user object"

The signup event is the event where these props are added by the mixpanel
library itself.
For the user object the library doesn't track them.
So there's no bug, it's just that you want them added to the user object :)
As I've said I'm currently checking if it's easy to add it there. Might be
as easy as you've suggested or might be more complicated — will check soon.
On Wed, Feb 22, 2017 at 12:14 PM, Ilias Zavitsanos<EMAIL_ADDRESS>
wrote:

Yes, and if you see the signup events of the users, you will see that we
have that info there! It is just missing from the "user object"
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/resin-io-modules/resin-analytics/issues/3#issuecomment-281612142,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AAgGCAONi8hOdu99jRt7_y2i4073zRCuks5re_xcgaJpZM4LxRj2
.

--
Eugene Mirotin
Senior Frontend Engineer
site: Resin.io https://resin.io/, twitter: @resin_io
https://twitter.com/resin_io

I see. We used to have those properties in the user object that's why I assumed that perhaps a change or bug was introduced at some point. :-)

Hm, that's interesting, now I remember you've mentioned that. It's actually
strange, it happens to be at the time the resin-event-log was first used
but it has just moved the bits from the UI to a separate module.
On Wed, Feb 22, 2017 at 12:26 PM, Ilias Zavitsanos<EMAIL_ADDRESS>
wrote:

I see. We used to have those properties in the user object that's why I
assumed that perhaps a change or bug was introduced at some point. :-)
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/resin-io-modules/resin-analytics/issues/3#issuecomment-281615013,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AAgGCJAd5nNT2bywFpbeiEf0tVdGQjMKks5re_89gaJpZM4LxRj2
.

--
Eugene Mirotin
Senior Frontend Engineer
site: Resin.io https://resin.io/, twitter: @resin_io
https://twitter.com/resin_io

So it's definitely more complicated than I expected.
Your original guess was wrong, the object you referred to is our own object, while the props that you want are collected by mixpanel.
If you check this https://github.com/mixpanel/mixpanel-js/issues/19 it looks like if we have used prople.set (I cannot confirm that, have not idea yet how to search through the old code versions of the UI repo) that would have set the props initially.

I'll see what I can do, maybe using the set with an empty object will do the ugly trick.

OK next step of the detective story :)
We've been using this thing: https://github.com/angulartics/angulartics
It did people.set: https://github.com/angulartics/angulartics/blob/52a332145dc87933d8b4da7f51caa1d46ce7d6b9/src/angulartics-mixpanel.js#L36
We used it on each page load: https://github.com/resin-io/resin-ui/blob/fa394182e4be0f4a6f74d254c91d64ff9dcaf137/src/scripts/modules/analytics/mixpanel/providers/mixpanel-provider.coffee#L80
That (as explained above) did the trick.
I've been able to replicate this behavior by indeed calling the people.set method without props - mixpanel lib adds them and happily sends.
Now there's one thing you need to confirm @izavits. This will overwrite these props (OS, Browser, and two referrer props) on each login. So you will get the most recent, not the original props.
But this used to be the same before we stopped tracking them. If you can confirm now that it's OK I will release the fix in zero time.

Having in mind this convo: https://www.flowdock.com/app/rulemotion/r-thefunnel/threads/AL1HhQfAne9VRL0lfD-mp7Mz0cb
let's release the fix.

OK I'm fine with that.
Let's also discuss this thing.
Right now the user properties (the line where they are picked from the user details) are set using set_once, i.e. not overridden.
Should we use set instead and overwrite them as soon as we have more relevant details?

I believe yes. Let's have the users with updated info when possible.


pet skins gdrag console log

Removes console.log introduced here
https://github.com/SkyCryptWebsite/SkyCrypt/commit/16749bb096cb93b4214541100db9c04afad086c1

Merge? @MartinNemi03 👀


[9.x] improve model functions findOrFail and firstOrFail

If nothing's broken it's best to leave things be.


Add winston logging

https://www.npmjs.com/package/winston

The actual logic is placed in
phish108/node-service-logger


Overdue system docs problem.

the overdue docs indicates that plugin-installation API is :
curl -v \
-u admin:password \
-H "Content-Type: application/json" \
-H 'X-Killbill-CreatedBy: stephane' \
-X POST \
--data-binary '{"systemCommandType":"true","nodeCommandType":"INSTALL_PLUGIN","nodeCommandProperties":[{"key":"pluginKey", "value":"payment-test"},{"key":"pluginArtifactId", "value": "payment-test-plugin"},{"key":"pluginGroupId", "value": "org.kill-bill.billing.plugin.ruby"}, {"key": "pluginType", "value": "ruby"} ]}' \
"http://<IP_ADDRESS>:8080/1.0/kb/nodesInfo"

However, the correct field name is isSystemCommandType rather systemCommandType.
And thank you for opensource such an awesome project.

Maybe a serialization problem?

I've already fixed this while updating the overdue document. I've moved the plugin installation command to the Plugin Development document here.

Thank you!


Add URL for reporting issues.

Right now, for every project there's only one URL that points to the project's main site.
If possible, I would like the table to include these entries:

An URL for issue reporting, if available.
If the project is an exporter, the generator name prefix, ex: "babylon.js", "Sketchfab" , etc.

These two entries could be useful to add this functionality:
When an importer validates a glTF and finds errors, it can use the "generator" entry to find the project that produced the asset, and from there, report the Issue notification URL.
In other words, what I want to do is, when I load a glTF with errors, to be able to tell the user:

The file xxxxx.gltf is malformed.
Errors found: ....
Warnings found ....
Please, report these issues to http://www.somefancygltfexporter.com/issuereporting.html

Notice that, although many projects are reported as "exporters", under the hood they're using some other third party exporter, in these cases, I would either don't set the "generator", or I would point to the actual project that exports the asset as a dependency.

+1 for this suggestion — ideally we should also include the generator string for exporters, perhaps as a glob like "FBX2GLTF *". This would enable viewers to look up the exporter for a given glTF file and match it to the bug URL. My viewer does this now, although I haven't done a great job of pushing the feature:

We could probably just merge https://github.com/KhronosGroup/glTF-Generator-Registry into this project, if we want to go down that path. There's not much incentive for exporters to add themselves to the generator registry, whereas there is actual incentives to register here, so I expect we'll get much more traction.

I like this idea. Give me a few days and I will figure out how best for us to handle this.
To be clear, what I'm looking at is adding:

A field that projects can use for providing a link for issue reporting.
A field that specifies the generator name prefix.

I'm also open to us merging the data from https://github.com/KhronosGroup/glTF-Generator-Registry as well, but it might be worthwhile to have a discussion about what fields we need. Perhaps, a topic for next weeks call?

If possible, I would like the list to handle bin public projects; for example, sketchfab might probably don't have an entry, but I would have it to be included, so bugs can be reported to their forums


[WIP] Add NR-NeRF method

NR-NeRF is another approach to dynamic NeRF that uses rigidity and additional losses.
I don't know if dedicating a whole set of configs to dynamic approaches is good, maybe it would be good to create a subcommand and have dynamic configs under that?
I can't test it rn because I'm on a machine that has 3 GB and it seems that some tensor is being stored that leads to an eventual OOM even if I only use 50 rays per batch
Edit: turns out eval was causing OOM not mem leaking from somewhere else

This has gotten stale. I'm going to close it for now.


updated router service list

updated router service list, the comparison was failing as the test's list wasn't updated with the library's list

Removed a lot of duplication in the last commit


Use a scalable database instead of NeDB

Using a scalable database instead of NeDB would make the framework scalable and resilient. This is the last missing block before the service is fully scalable and kind of "enterprise ready".

Work in progress

The development is already working in branch resilient-db. I'm now trying to migrate system tests to cucumber.


Clicking on File in Explorer no longer goes to new tab after update

Issue Type: Bug
After I updated my VSC now when I click on files in my project folder it only opens two tabs and the second one disappears if I click a third file unless I drag it into the tabs section.
I know up until an hour ago I click on a file in the explorer and it would open it up most of the time in a new tab so I could leave them all open easier.  Is there a fix?
VS Code version: Code 1.21.1 (79b44aa704ce542d8ca4a3cc44cfca566e7720f1, 2018-03-14T14:46:47.128Z)
OS version: Windows_NT x64 6.1.7601

System Info

Item
Value

CPUs
AMD A8-3500M APU with Radeon(tm) HD Graphics (4 x 1497)

Memory (System)
7.48GB (1.76GB free)

Process Argv
C:\Program Files\Microsoft VS Code\Code.exe

Screen Reader
no

VM
0%

Extensions (5)

Extension
Author (truncated)
Version

vscode-tidyhtml
anw
1.10.0

bracket-pair-colorizer
Coe
1.0.20

auto-rename-tag
for
0.0.15

mssql
ms-
1.3.0

vetur
oct
0.11.7

Reproduces only with extensions

@wcalvert88 any chance you can share a screencast of what you see?

I figured it out it only does it if there are no changes to the file.  If the file gets modified it will add a new tab when clicking a different file

@wcalvert88 demo please. it is true however that a dirty file will not change its contents if changed outside because otherwise your contents are getting lost.

So in the first picture I clicked on app.js and it pulls it up in the tab.

in the second picture I click index.js and want them up at the same time but instead it just takes over app.js in the tabs.

in the last picture I put a semicolon in app.js didn't save and clicked index.js and it opened index.js in a new tab.   What I was wanting and what I thought used to happen was I just click and it brings it up in a new tab with or without changes being done to the already open file.

Ok got it, you want to configure:  "workbench.editor.enablePreview": false to leave tabs fully opened when other tabs open.

Thank you! That's exactly what I wanted.


Question about permanency of changes

I was wondering, are the changes I made to my map settings still applied to new new chunks even after I have this mod uninstalled?

Yes.

Thanks! I was hoping that was the case, great mod btw!


Add Ruby 3.2 to the CI matrix

Description
This PR is add Ruby 3.2 to the CI matrix
Because Ruby 3.2.0 is now in general release, it makes sense to add Ruby 3.2 to the CI matrix.
https://www.ruby-lang.org/en/news/2022/12/25/ruby-3-2-0-released/
Type of change

Refactoring (improvements to code design or tooling that don't change behaviour)

Please add an entry to the relevant section of CHANGELOG.md as part of this pull request.
Checklist:
Your PR is ready for review once the following checklist is
complete. You can also add some checks if you want to.

[x] Tests have been added for any changes to behaviour of the code
[x] New and existing tests are passing locally and on CI
[x] bundle exec rubocop reports no offenses
[-] RDoc comments have been updated
[x] CHANGELOG.md has been updated

Hi @ydah,
Thanks for your making your first contribution to Cucumber, and welcome to the Cucumber committers team! You can now push directly to this repo and all other repos under the cucumber organization! 🍾
In return for this generous offer we hope you will:

✅ Continue to use branches and pull requests. When someone on the core team approves a pull request (yours or someone else's), you're welcome to merge it yourself.
💚 Commit to setting a good example by following and upholding our code of conduct in your interactions with other collaborators and users.
💬 Join the community Slack channel to meet the rest of the team and make yourself at home.
ℹ Don't feel obliged to help, just do what you can if you have the time and the energy.
🙋 Ask if you need anything. We're looking for feedback about how to make the project more welcoming, so please tell us!

On behalf of the Cucumber core team,
Aslak Hellesøy
Creator of Cucumber


"Argument 1 passed to putyourlightson\sprig\services\ComponentsService::_parseAttributes() must be of the type array, null given" (sprig 1.9.1 => 1.9.2)

Describe the bug
After upgrade from Sprig 1.9.1 to 1.9.2 I get this PHP error:
TypeError

Argument 1 passed to putyourlightson\sprig\services\ComponentsService::_parseAttributes() must be of the type array, null given, called in /vendor/putyourlightson/craft-sprig-core/src/services/ComponentsService.php on line 202

To reproduce
In ComponentsService.php where the error happens I added this debug code:
 list($name, $attributes) = $this->_parseHtmlTag($tag);

            if ($attributes == null) {
                var_dump($tag);
                die();
            }

            $this->_parseAttributes($attributes);

Which will output:
string(1192) "< index; i++ ) { const clinicListElement = clinicList.children[i]; const clinicInfo = clinicListElement.querySelector('.clinic-info'); offsetTop += (clinicListElement.offsetHeight - clinicInfo.offsetHeight); } clinicList.scroll({top: offsetTop, behavior: 'smooth'}); } else { const clinicListElement = clinicList.children[index]; const rect = clinicListElement.getBoundingClientRect(); const offestTop =(rect.top + window.pageYOffset + (clinicListElement.offsetHeight / 2)) - (window.screen.height / 2) window.scroll({top: offestTop, behavior: 'smooth'}); } }, // This exists because we need sprig to update the clinic id in php simulateClickOnSelectedClinic(index) { const clinicList = document.querySelector('#clinic_list'); if (clinicList) { clinicList.children[index].click(); } }, })) }) window.addEventListener('mapcreated', () =>"

This is JavaScript code from an alpine component which exists in the template. So I am guessing this has something to do with the html parsing changes introduced in 1.9.2. Looks like using AlpineJS in a Sprig template breaks now. Let me know if you want my actual full template.
Expected behaviour
Expected the template to render, like it does in 1.9.1
Versions

Plugin version: 1.9.2
Craft version: 3.7.16

On the develop branch I get a slightly different error message:
console.log(index);
}
// comment mentioning sprig
</script>```

The minimal template needed to reproduce: