LibGodot with GDExtension

LibGodot is a system to allows Godot to be compiled as a library and connected into it using GDExtensions by giving a function pointer to the entry point of a GDExtension implementation before starting Godot.
LibGodot adds language support for languages that have C support but can not becompiled into a shared library.
LibGodot allows the use of different C# runtimes allowing dotnetAOT compilation, C# android support, and C# web support.
LibGodot also allows Godot to be embedded in other applications like Blender.

Related to #68153 - this provides a means of loading the Godot Engine from a standard .NET 6 android project

Is this for 4.1 or 4.0?

@Zireael07 You can see the milestone :) Nothing of the sort is going into 4.0 at this point. We're done with features.

Ah. Right. Mobile GitHub and my poor eyesight are to blame.

It does for the most part the thing it doesn't do is allow someone using the Library to manually tell Godot to update

We discussed out-of-band how that @Faolan-Rad should tell us the story of his need for this feature and how this can benefit the wider community of C#, other languages and XR.
TL;DR: pending a new proposal.

The update problem was avoided by having the libgodot user make a gdextension and have it block in the gdextension class like the "_process" method.
Benefits

Does not step the MainLoop.
Does not handle synchronization when two different functions are called externally.

Regarding C#:
No work has started yet for porting to mobile, so I can't say what will be needed. If we can't find a better solution, we would have to go with a C# project as entry-point and Godot as a shared library. However, there's actually hope that .NET 8 or 9 could allow publishing mobile projects as libraries, which would simplify things for us.

I have a basic test project that I have put together in C#
LibGodotSharp

@Faolan-Rad  what is the scons command to get the static lib?

@Faolan-Rad
do you have e.g. extension_api.json  and other missing files needed to make the demo works?

I'd really like to voice support for this PR.  It enables Godot to be embedded in many more scenarios, and I think would be awesome feature. I also have needs for this and was excited to see this PR in process.
In my case I have a custom application that could not be embedded 'into' Godot as it uses custom build systems, tools, languages, etc - with this approach I could import Godot as a dependency, and continue to use Godot C++ APIs for other functionality.  I'm an example of a user that Godot would gain if this type of embedding were possible.
Only minor tweak I would recommend is that the library user 'could' have the option to own the main loop, as delegating the main loop completely is not always ideal.  But even if this isn't possible I'd let the PR through and folks like myself could make minor source patches to have more main loop control.

@Faolan-Rad For Android, Godot is already built and used as a shared library. Would this PR enables that capability for other platforms as well?

In LibGodotSharp I have set up android support

FYI
Is Making Advanced GUI Applications with Godot the Future?
Now https://github.com/RhubarbVR/LibGodotSharp works in Desktop (Win) and Android.

First stable pre releases of LibGodotSharp witch uses this system is out now.

I had to fixed bugs with loading orders and API registering levels with GDextensions that made it where the project settings could not be changed before they are used I have fixed it on my master branch but not in this pull request because it was a problem with GDextensions.

@Faolan-Rad I grabbed your master branch and tried to build. All worked well for static lib.  Any chance you can write a doc or example on how to use the static lib from C++ ?  I did see the C# example - but I wasn't able to easily map all the logic to C++ to try to get something to work.   If you provide info I can help to write an example to show how this works as well.  It might help folks understand value of this cool feature.

I was puzzling over this.
Here's is the closest api doc. https://github.com/RhubarbVR/LibGodotSharp/blob/main/libgodotsharp/Native.cs

[ ] load dll
[ ] object_method_bind_call
[ ] object_method_bind_ptrcall
[ ] object_destroy

Seems it could be possible to just write c++ as standard Godot module code, not use GDExtension directly. Would be better performance and one could static link for fast compile as well.   But I’m new to Godot so maybe expert can comment?
Thanks for this amazing pr! Can’t wait to see it happen!

@stucotso
I used GDExtension for better interrogations in to other languages and if you tried to do a shared library you would hit the linker limits on windows because of the amount of functions

Very interested in this pr! I was wondering if it enables us to render to a custom texture or OpenGL context / similar? My use case is to be able to embed the godot game view in the UI of other apps with different UI Frameworks, like Flutter.

@Airyzz
Here is TodoList

//https://github.com/RhubarbVR/LibGodotSharp/blob/main/sharp_generator/Program.cs
[DllImport("libgodot")]
public static extern int godot_main(int argc, string[] args);

 var custom_args = new string[] { "libgodot", "--dump-extension-api", "--verbose", "--headless", "" };
if (godot_main(custom_args.Length - 1, custom_args) != 0)
 {
    throw new Exception("Godot had error");
 }

This is an amazing patch, and would allow many of us that wanted to use Godot as a library to do so, a great feature for those of us that mostly do applications, but want to sprinkle a little Godot here and there.

@migueldeicaza
We are WIP to use XAML parser to automate 3D UI using this library. Keep coming back to support this IDEA!!! we need you to push this library for 3D control in MAUI

@Faolan-Rad do you remember why in your fork https://github.com/RhubarbVR/godot-lib/actions/runs/4277032243/jobs/7445556782 is failing because of the use of the new API levels server and scene?
I took it out of my build to attempt to get tests to pass.

I have updated this to align with the latest 'main' branch. Additionally, I've incorporated a C# entry point. The bug fixes related to project settings loading have been extracted and will be presented in a separate pull request at some point.

@dsnopek  I do like your suggestion I would like to do it with the a GDExtensionBase and then there would be the normal GDExtension and EmbeddedGDExtension, and the manager itreacts with the base class I would also like to make it where it is not just binding one EmbeddedGDExtension you can have multiple. I would also like to make it assigned able from other GDExtension this would be more for having a GDExtension for lua implementation and then registering the lua code as a GDExtension
Currently, I am prioritizing something else for my game specifically, working on the _mix method for AudioStreamPlayback in C# PR so I can efficiently implement opus for my game. I do want to come back to this soon but it might be a second.

Or, some other way that all the changes for this embedded mode would live separately from the code used when running Godot normally...

Another possible idea: What if instead of GDExtension directly using OS::open_dynamic_library() and OS::get_dynamic_symbol_handle(), it used a new layer (ex GDExtensionLoader?) that could have its implementation replaced when in "LibGodot mode" (maybe via a GDExtensionLoaderEmbedded child class)? This could be used to prevent really loading dynamic libraries, and instead look up the entry point function pointers from a list. I think this would require less code changes than making a GDExtensionEmbedded child class, and it should still be easy to #ifndef away the LibGodot version of the "GDExtension loader layer" when not needed.

2 Questions:

Would LibGodot unlock iOS .NET exports as well? I see lots of discussion about Android everywhere but precious few mentioning iOS.
Conditional on 1, would you be interested in accepting help on this branch implementing the prior suggestions? The lack of iOS exports is a real painful blocker for me right now and I'm eager to push work forward on it any way possible.

I haven't directly tested it but because I believe ios requires Aot there might be problems because godot sharp uses reflection so that would complicate things  so throughs would have to be fixed but if you look at it from if you could run the jit on iOS it would work fine from what I know

@dannflor iOS c# docs
Would need to work around the limitations listed there for the iOS build but this would be the first step closer to it then it is fixing the godot sharp to make it Aot compatible

This works great with the SwiftGodot bindings.
https://github.com/migueldeicaza/SwiftGodotKit

iOS c# docs Would need to work around the limitations listed there for the iOS build
I took glance at the limitations and it seems like they shouldn't be a problem. I certainly don't use any of those features in my scripting, though I'm not sure if the C# engine code uses any of it. Are you aware of any Godot code we'd have to patch around?

This works great with the SwiftGodot bindings. https://github.com/migueldeicaza/SwiftGodotKit
Have you used it on iOS? The examples in the repo are still targeting macOS. And I'm a little confused how I would glue the xcframework of libgodot to a full godot project I have (not written in SwiftGodot, just plain ol c#) and get a running game.

@dannflor iOS c# docs Would need to work around the limitations listed there for the iOS build but this would be the first step closer to it then it is fixing the godot sharp to make it Aot compatible

Does the Mono interpreter solve some of the problems with the above link?
https://learn.microsoft.com/en-us/dotnet/maui/macios/interpreter

This PR is very important for many different use cases. We have a similar in-house implementation that we would be happy to contribute to this PR as patches, if there is interest. I wrote more about it here: https://github.com/godotengine/godot-proposals/issues/6267#issuecomment-1721686318

Okay so some one correct me if i am wrong Godot could still be an excusable that can be used as a shared library if the symbols that are needed are exported so at that rate it would be able to share a single build of Godot for each platform and they would all have the shared library ability.

So some things that could be changed is making it not add code to GDExtension and have it work at the os shared library level. Also it might be considered to maybe to just make the normal build export the 2 needed symbols the main function and the binding function

I am going to go work on the things I mentioned above

@kattkieru
Please share the exact link to the PR

@GeorgeS2019
There is no PR yet, I showed it at GodotCon after the talk of @migueldeicaza, and a small demo is here: https://x.com/JoshBromberg1/status/1721564103859114132
The current version supports embedding Godot into iOS apps and also render multiple Godot windows into surfaces (OpenGL / Vulkan) provided by the host application. It also includes input support. Other platforms will also be supported.
I discussed it with @akien-mga at GodotCon, we will start the review process after the release of Godot 4.2.

Ahh I was under the impression it was already up. I’d love to see more, especially the python bindings part. I’m very interested in embedding the Godot viewport in other applications.
Please do link here when you’ve uploaded the pull.

Can you fix the conflicts for this, so it can be merged in?
@Faolan-Rad

When can we start using this
@Faolan-Rad

Is this slated for 4.1 or 4.0?

This needs to be merged in for 4.2

Finish this already @Faolan-Rad

Can you fix the conflicts for this, so it can be merged in?

It'd need to be approved before merging it, but fixing conflicts would improve the workflow

This needs to be merged in for 4.2

It won't be, we are in feature freeze and won't merge features for 4.2

@choi303 Please do not rush people or make such demands, please be polite and constructive

@choi303 Please do not rush people or make such demands, please be polite and constructive

Okay sorry

Can you fix the conflicts for this, so it can be merged in?

It'd need to be approved before merging it, but fixing conflicts would improve the workflow

This needs to be merged in for 4.2

It won't be, we are in feature freeze and won't merge features for 4.2

Can I sponsor a developer to finish this, for 4.2 rc 2?
Who do I talk to?
We need it, to port our command line CI/CD pipeline from Unity to Godot.

Can I sponsor a developer to finish this, for 4.2 rc 2?

No, it won't be in 4.2, as I explained, we are in feature freeze and will not add any features to 4.2 before release

Ok, but what about release candidate 4.2.1.
I will make a blog post and I will make some document about doing command line CI and unit test in Godot 4.2 / 4.3 and maybe Spaces integration for testing pipeline, if someone can help with this. And will create github with code examples and can put a developer on updating the godot website documentation for usage examples.

We normally do not backport features, it would depend on the result
This is a popular idea, and will hopefully be reviewed for 4.3 and might be merged for then
But please, understand that the process of development takes time, and there's no rushing these things, right now there are conflicts that needs to be resolved, and reviews to be made, when people have the time to focus on this
So let's wait and see when this gets feedback and how it turns out, no need to continue this back and forth here, it won't speed anything up, once 4.2 is released this can get a review if the people necessary for reviewing this are able to 🙂

Where can the feature freeze schedule be found?

Here, now please let us stop with off topic discussions and leave this for when something updates 🙂

I don't see any conrete dates or even estimates in that blog post. Is there any up to date schedule?

It states the lengths of the cycles, we don't maintain an official schedule, but we maintain the cycles
Any further discussions about release management will be taken elsewhere or be considered spam, thank you and have a nice day

@haltingstate

Can I sponsor a developer to finish this, for 4.2 rc 2?
Who do I talk to?
We need it, to port our command line CI/CD pipeline from Unity to Godot.

As I wrote above last week (and showed it at GodotCon), we at Migeran have a much-improved version of this solution that allows the embedding of Godot's UI in the host process as well.
We plan to go through the upstreaming review process during the 4.3 development cycle (as discussed with the Godot maintainers). If you have specific requirements or need custom builds for 4.2 or other commercial support of this feature, you may reach out to me directly.

@haltingstate

Can I sponsor a developer to finish this, for 4.2 rc 2?
Who do I talk to?
We need it, to port our command line CI/CD pipeline from Unity to Godot.

As I wrote above last week (and showed it at GodotCon), we at Migeran have a much-improved version of this solution that allows the embedding of Godot's UI in the host process as well.
We plan to go through the upstreaming review process during the 4.3 development cycle (as discussed with the Godot maintainers). If you have specific requirements or need custom builds for 4.2 or other commercial support of this feature, you may reach out to me directly.

Thank you. That is great.
Can you link to the github repo?

This is a popular idea, and will hopefully be reviewed for 4.3 and might be merged for then

Seeing as there are now previews for 4.3, I'm guessing it hasn't?

@adamscott  if you would like to chat about this i am free anytime you can email me at<EMAIL_ADDRESS>or contact me on discord with faolanrad

We also have a new version almost ready for review.
It works like this:

adds a single public symbol to the GDExtension API:

GDExtensionObjectPtr gdextension_create_godot_instance(int p_argc, char *p_argv[], GDExtensionInitializationFunction p_init_func);

this function initializes the Godot instance, the GDExtension API and returns a GDExtension object of type GodotInstance
The GodotInstance object can be used to start, iterate, shutdown the Godot instance.
It is also possible to pass a native surface handle to the start() call so the Godot UI can be embedded into the host process.

This is currently implemented for Apple systems (MacOS and iOS), with a design that will make it feasible to support Windows and Linux as well.
* It is also possible to pass a native surface handle to a Godot Window, which allows us to move the contents of a Godot Window to a separate host surface.

Because we use the GDExtension API, language bindings will require only minimal changes. We will provide patches for SwiftGodot and godot-cpp initially.
We have a few finishing touches left to do next week before we can submit the PR.

I have been using the branch for quite some time, make godot app as a Qt widget

We plan to submit the PR by the end of next week, we just have a few finishing touches left.

Godot4-dotnet

@Faolan-Rad
What do we need to do here or to implement to achieve Auto Generate c# Bindings for e.g. c++ GDExtension e.g. GDMP

FYI: I just created our LibGodot PR: https://github.com/godotengine/godot/pull/90510
We also created a preconfigured build environment with sample apps for easy testing: https://github.com/migeran/libgodot_project

[WIP] Windows platform: libgodot.dll
The libgodot.dll comes from

library_type=shared_library

scons platform=windows target=template_debug arch=x86_64 verbose=yes msvc=yes library_type=shared_library dev_build=yes debug_symbols=yes
bin\ godot.windows.template_debug.dev.x86_64.dll
scons platform=windows arch=x86_64 verbose=yes msvc=yes dev_build=yes debug_symbols=yes
bin\ godot.windows.editor.dev.x86_64.exe --dump-extension-api
With this, provide the json and the dll to the godot-dotnet project.

bin\ extension_api.json
bin\ godot.windows.template_debug.dev.x86_64.dll

The output will be c# wrappers for the godot.windows.template_debug.dev.x86_64.dll
Users can then write c# applications to embed godot as a library in .NET applications
Very similar to: LibGodotSharp


Better surfacing of Label

It exists, it's indexed, but it's basically useless right now

Already done in HEAD


pipenv install does not work

pipenv install does not work.
I followed the steps,

pipenv shell after cloning the repository. It setups the virtualenv then
pipenv install returns the error output [1]

I fiddled around the internet and found out --skip-lock command, the whole as pipenv install --skip-lock does not work either.It returns the error output [2]
[1]
pipenv.patched.notpip._internal.exceptions.InstallationError: Command "python setup.py egg_info" failed with error code 1 in /tmp/tmpskr1rjsdbuild/dotenv/

[2]
'ERROR: Command errored out with exit status 1: python setup.py egg_info Check the logs for full command output.']
ERROR: ERROR: Package installation failed...
  ☤  ▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉ 0/1 — 00:00:04

I believe the best way to resolve this would be to use the old way of using a requirements.txt file.

For me im getting the error
TypeError: 'module' object is not callable
i am using python 3

for the 1st command im getting the error
TypeError: 'module' object is not callable
i am using python 3

You should be using python 3.7. It's mentioned in the pip file.

I have added the requirements.txt file. Since we do not have many dependencies, it should suffice for the moment

I have added the requirements.txt file. Since we do not have many dependencies, it should suffice for the moment

Thanks! the requirements.txt did the trick


Overriding put method in level 2

Hello! For KeyableMap, if we override the put method in the Module and Student classes, then is it possible to implement the KeyableMap as an abstract class instead?

seems possible, but since codecrunch implemented KeyableMap as concrete class, I just followed haha

Yup, should be possible if we don't need to define the put method directly / turn the method into an abstract method in KeyableMap (KeyableMap's put() instantiates KeyableMap I believe).

Yep I believe that it is possible to implement it as an abstract class but for KeyableMap it is actually straightforward to implement as a concrete class. Just see it as a parent class that Module and Student inherits from

that was what i had thought initially since the methods will ultimately be overridden. And I do think it is completely fine to use an abstract method, all the more since the question stated that a class can be used. (because an abstract class is less specific than a class if I'm not wrong)
but in this case, since the question states that the keyablemap is a class, we could just use it as a class and implement the put method  - so that we can directly call keyable map's put method via super in the module  / student class
for e.g. super.map().put(...)


[question] Is it possible to write to standard error from a hook command, and see it in the terminal?

I cannot find this in the documentation, but I observe that even though my command (python and shell scripts) write to the standard output, nothing is shown in the terminal running webhook (actually in a container, but should not matter I guess).
Is that expected behaviour?
Is there a way to have it shown in terminal?

Are you running webhook with the -verbose flag?

webhook works   very nice.. perfekt.  Mit freundliche Grüßen. Fh Dipl.-Ing. Kutay Zorlu Software & System Eng. DE: +49 162 825 33 66<EMAIL_ADDRESS>**************************************************************** * Was ist ein Cloud ?Netzwerk? Software ? System ?  * Erfahren Sie mehr unter… http://www.kutayzorlu.com * **************************************************************** *** Diese E-Mail ist allein für den bezeichneten Adressaten bestimmt. Sie kann rechtlich vertrauliche Informationen enthalten. Wenn Sie diese E-Mail irrtümlich erhalten haben, informieren Sie bitte unverzüglich den Absender per E-Mail und löschen Sie diese E-Mail von Ihrem Computer, ohne Kopien anzufertigen. Vielen Dank. *** *** This email is for the exclusive use of the addressee. It may contain legally privileged information. If you have received this message in error, please notify the sender by email immediately and delete the message from your computer without making any copies. Thank you. *** *** Bu e-posta, alıcıyı münhasıran kullanmak içindir. Yasal olarak imtiyazlı bilgi içerebilir. Bu mesajı yanlışlıkla aldıysanız, lütfen göndereni e-postayla hemen bilgilendirin ve mesajı kopyalar olmadan bilgisayarınızdan silin. Teşekkür ederim. *** *** Это электронное письмо предназначено исключительно для адресатов. Он может содержать юридически привилегированную информацию. Если вы получили это сообщение по ошибке, немедленно сообщите об этом отправителю по электронной почте и удалите сообщение с вашего компьютера без каких-либо копий. Благодарю вас. *** ---- On Fr, 06 Jul 2018 11:55:39 +0200 Adnan Hajdarević<EMAIL_ADDRESS>wrote ---- Are you running webhook with the -verbose flag? — You are receiving this because you are subscribed to this thread. Reply to this email directly, view it on GitHub, or mute the thread.

@adnanh My bad, the standard output is correctly shown on screen with -verbose flag. But the standard error is not.
Is it expected behaviour?

Okay, so I investigated further, and the problem of stderr not showing in the terminal is present with the package distributed through Ubuntu package manager (currently on bionic), but not when building webhook directly.
So the workaround is simple, just took me a lot of time to realize that one should not rely on the pre-packaged version of webhook.
Thank you for the very useful project!

@Adnn Sorry for the late response.
Yeah, I was about to ask which version of webhook were you using, since capturing of the stderr was added just recently.
Unfortunately, the ubuntu package is outdated (like most of them in the ubuntu ecosystem :().
Glad it works for you now!
P.S. kutayzorlu doesn't look like a spambot to me, but a non-native english speaker :-)


Feature/issue 1221 Use OpenCL in rev/mdivide_left_tri

Summary
This PR adds the use of existing OpenCL kernels in rev/mdivide_left_tri . This code has been ready for quite some time, but kept falling behind in the pipeline due to PRs that changed the API.
The input size break point for when to switch from the CPU to the GPU is the same as for the mdivide_left_tri<double>.  It could probably be lower, but since its already pretty low (N=100) I think there is no need to complicate here.
Besides adding the use of OpenCL functions this PR adds 2 constructors for matrix_cl, one for Eigen::Map and the other for arrays of double.
Tests
There are a few added tests. They compare the values and adjoints for mdivide_left_tri<Lower> and mdivide_left_tri<Upper> for all combinations of input in rev/mdivide_left_tri: (var, double), (double, var) and (var, var).
All tests follow the same scheme just the view and types differ:
// force OpenCL
opencl_context.tuning_opts().tri_inverse_size_worth_transfer = MDIVIDE_OPENCL_OVERRIDE;
Cv_cl = mdivide_left_tri<Eigen::Lower>(Av, Bv);
Cv_cl(0, 0).grad();
// force CPU
opencl_context.tuning_opts().tri_inverse_size_worth_transfer = MDIVIDE_CPU_OVERRIDE;
Cv = mdivide_left_tri<Eigen::Lower>(Av, Bv);
Cv(0, 0).grad();
EXPECT_MATRIX_NEAR(Cv, Cv_cl, 1.0E-12);
EXPECT_MATRIX_NEAR(Cv.adj(), Cv_cl.adj(), 1.0E-12);
stan::math::recover_memory();

Side Effects
/
Checklist

[x] Math issue #1221

[x] Copyright holder: Rok Češnovar

[x] the basic tests are passing

[x] the code is written in idiomatic C++ and changes are documented in the doxygen

[x] the new changes are tested

This is ready for review.

Thanks for finding those. I removed those temporary matrices.
I had to however, revert the generalization of matrix_cl from Eigen. It seems that its not actually working as it should. Not sure if its .eval() or something else acting up. The develop failing was due to this and it was not a false positive.
I can address the general constructor in a separate issue and PR, if you agree. It certainly should be done. I also need to look at why the tests on jenkins for this PR passed before, because they should not and they failed locally. After the revert its green light on python runTests.py test/unit -f opencl.

That's odd, yeah we can handle that in a seperate PR. Odd though because it worked on machine
Lemme give this a quick look and if tests pass we can merge!


Capture Multiple Assertion Support

Description
There are times when we want to capture multiple assertions at the same time. For example, checking a set of properties for equality.
Assert.AreEqual(key, echo.EmployeeClassificationKey);
Assert.AreEqual(row.EmployeeClassificationName, echo.EmployeeClassificationName);
Assert.AreEqual(row.IsEmployee, echo.IsEmployee);
Assert.AreEqual(row.IsExempt, echo.IsExempt);

It would be useful if we had the equivalent to NUnit's Assert.Multiple feature.
https://docs.nunit.org/articles/nunit/writing-tests/assertions/multiple-asserts.html
An alternate implementation is assertion scopes from Fluent Assertions.
https://fluentassertions.com/introduction#assertion-scopes

Relates to #571


Add SPEC CPU2017 automation scripts

Added scripts and documentation to automate running SPEC CPU2017 benchmarks with C3 gem5.
Fix Docker base image and compiler package versions.
Revise README files and update to AsciiDoc formatting.

I just pointed out a couple of typos. Otherwise, LGTM.


Window can't restore or minimize after Command+H on macOS

System
macOS
Summary
Window can't restore or minimize after Ctrl+H on macOS
Behavior
Open Alacritty
Command + H
Click Alacritty icon on Dock, window can't restore
Click the yellow minimize button, window can't minimize

This is a duplicate of https://github.com/jwilm/alacritty/issues/1465.


Remove deprecated net spent

Builds directly on dev to separate concerns.

I updated against dev, which obsoleted reviews.

Based on local test passage, and previous reviews I am merging.


Zip a folder

Lol, I am really happy for this package. However, I just made the mistake and unzipped the file in my home directory. It will take me a while to clean that up again.

Hi @soerendip, thank you for using ThermoRawFileParser.
Your suggestion is to put a folder inside of release zip, instead of individual files. Did I get it right?

Yes, that is correct.


Travis CI: TypeError: can't dup NilClass on Ruby <= 2.3 and rack-2.x cases

I would open new ticket for the issue, originally comes from https://github.com/rack-test/rack-test/pull/240#issuecomment-461952779 .
This error happens below line.
/home/travis/.rvm/gems/ruby-2.3.6/gems/sinatra-2.0.5/lib/sinatra/base.rb:1092:in `dup'

A fact is the rack-test CI was passed with dependencies: rack 2.0.5 and sinatra 2.0.4 5 month ago.
https://travis-ci.org/rack-test/rack-test/jobs/432436824
I assume current latest version rack 2.0.6 or sinatra 2.0.5 changed the interface.

I found the reason of the issue.
sinatra 2.0.5 has the issue. And sinatra 2.0.4 does not have the issue.
And on the upstream, the issue was fixed by below commit. So, the next release of sinatra fixes the issue.
https://github.com/sinatra/sinatra/commit/d8c18394d86626726c256ce57c3336ca649a33ae

Ref https://github.com/sinatra/sinatra/pull/1517

I suggest just using 2.0.4 for now so that we are not blocked. Once that is merged and the other fix is rolled out, we have a stable build again and then we do not need to rush the sinatra update and just do it after their update. Just my 2 cents.

@scepticulous I agree with you. Let's send the pull-request later.

Actually I would prefer pinning the version to 2.0.4 for now.
Seems as if sinatra has a release every few month and I like having a green build and this should also make it nicer for people to contribute.
This way we can fix both existing issues this week and then we are green and we just open an issue to remove the version pinning in sinatra to not forget it.
What do you think @junaruga @perlun.

@scepticulous yes I agree with you. But I think pinning the sinatra version 2.0.4 is temporary until the 2.0.6 version will be released.
Because we want to reproduce a popular workflow to install rack-test as much as possible on CI, right?


JSON_ARRAY_FUNCTIONS language feature is not working

Hi,
I'm using AnalyzeStatement to parse sql query and am using custom options.
`
public static AnalyzerOptions getAnalyzerOptions() {
LanguageOptions languageOptions = new LanguageOptions();
languageOptions.enableLanguageFeature(ZetaSQLOptions.LanguageFeature.FEATURE_JSON_VALUE_EXTRACTION_FUNCTIONS);
languageOptions.enableLanguageFeature(ZetaSQLOptions.LanguageFeature.FEATURE_JSON_ARRAY_FUNCTIONS);
languageOptions.enableLanguageFeature(ZetaSQLOptions.LanguageFeature.FEATURE_V_1_3_QUALIFY);
languageOptions.enableMaximumLanguageFeatures();
languageOptions.setSupportsAllStatementKinds();
languageOptions.setProductMode(ZetaSQLOptions.ProductMode.PRODUCT_EXTERNAL);
AnalyzerOptions options = new AnalyzerOptions();
options.setLanguageOptions(languageOptions);
options.setPruneUnusedColumns(true);
options.setAllowUndeclaredParameters(true);
return options;

}
`
But I'm still seeing the error -

Function not found: JSON_EXTRACT_STRING_ARRAY; Did you mean json_extract_array?

Am I doing something wrong?

It's working now. Closing this


Give a proper error when a member type is inaccessible.

private struct A {
    private struct B {}
}
func z(_: A.B) {}

error: 'B' is inaccessible due to 'private' protection level
func z(_: A.B) {}
            ^

This doesn't yet cover top-level types or top-level non-type values, but it's a start.
Part of rdar://problem/27663403.

Before merging this pull request to apple/swift repository:

[ ] Test pull request on Swift continuous integration.

Triggering Swift CI
The swift-ci is triggered by writing a comment on this PR addressed to the GitHub user @swift-ci. Different tests will run depending on the specific comment that you use. The currently available comments are:
Smoke Testing
    Platform     | Comment
    ------------ | -------------
    All supported platforms     | @swift-ci Please smoke test
    All supported platforms     | @swift-ci Please smoke test and merge
    OS X platform               | @swift-ci Please smoke test OS X platform
    Linux platform              | @swift-ci Please smoke test Linux platform

A smoke test on macOS does the following:

Builds the compiler incrementally.
Builds the standard library only for macOS. Simulator standard libraries and
device standard libraries are not built.
lldb is not built.
The test and validation-test targets are run only for macOS. The optimized
version of these tests are not run.

A smoke test on Linux does the following:

Builds the compiler incrementally.
Builds the standard library incrementally.
lldb is built incrementally.
The swift test and validation-test targets are run. The optimized version of these
tests are not run.
lldb is tested.

Validation Testing
    Platform     | Comment
    ------------ | -------------
    All supported platforms     | @swift-ci Please test
    All supported platforms     | @swift-ci Please test and merge
    OS X platform               | @swift-ci Please test OS X platform
    OS X platform               | @swift-ci Please benchmark
    Linux platform              | @swift-ci Please test Linux platform

Lint Testing
    Language     | Comment
    ------------ | -------------
    Python       | @swift-ci Please Python lint

Note: Only members of the Apple organization can trigger swift-ci.

@swift-ci Please test

@swift-ci test linux

Updated per Slava's feedback. This should be NFC, so just smoke testing.
@swift-ci Please smoke test


fix(shared): Add trim to mergeClasses

fixes: #2498
Adds trim to mergeClasses function. Possibly fixes hydration issues in NextJS.
Also added a test and adjusted GH actions to run this change on each package.

@ericfennis this needs prettier -w


TimeoutOverflowWarning

Bug Report
Current Behavior
TimeoutOverflowWarning enqueuing in Blitz: TimeoutOverflowWarning:<PHONE_NUMBER> does not fit into a 32-bit signed integer.
Input Code
await reminderQueue.enqueue({
    to: "Sandy Cheeks",
    message: "Howdy!",
  }, {
    repeat: {
      cron: '0 10 18 * *'
    }
  })

Expected behavior/code
No warnings
Environment

Quirrel version: v1.3.1
Node/npm version: v12.13.1

Additional context/Screenshots

Thanks for the report! Working on it ☺

@allcontributors add matthieuh for bugs

published in v1.3.2


Move to Conditions instead of Status in the BuildRun

Idea:
From previous community discussions, we would like to move out from having a Status on the Buildrun in favour of Conditions. This doc explains in detail why Conditions are a good practice in Kubernetes. Also, the Tekton TaskRun relies only on Conditions and their different fields are explained in here https://github.com/tektoncd/pipeline/blob/master/docs/taskruns.md#monitoring-execution-status

Some cross referencing

previously suggested in https://github.com/redhat-developer/build/pull/280 ... specifically https://github.com/redhat-developer/build/pull/280#discussion_r444922976 , where @qu1queee agreed to take on opening an issue in https://github.com/redhat-developer/build/pull/280#discussion_r455021542
that PR stemmed from attempting to address https://github.com/redhat-developer/build/issues/67

Updates on this:

In general this requires a two step process.
Step one is to allow the CRDs to operate on Conditions, this is addressed via https://github.com/shipwright-io/build/pull/475
Step two, is to add the logic in the BuildRun controller to update the Conditions field. This should be using a single Condition of the type Succeeded, on the same way the Tekton TaskRun does it.

Once both steps are done, we can close this issue.

we are working now in step 2, to make the BuildRun to use the Conditions, wip branch is https://github.com/qu1queee/build/tree/br_conditions_imp, fyi


xSQLServerEndpoint: Missing localization error string for 'NoAuthorizedUser'

Details of the scenario you try and problem that is occurring:
If a login does not exist the resource should throw a localized error type 'NoAuthorizedUser' (line 93). But there is no such error type in xSQLServer.strings.psd1. Resulting in a generic error.

PowerShell DSC resource MSFT_xSQLServerEndpoint  failed to execute Set-TargetResource functionality with error message: No Localization key found for ErrorType: 'NoAuthorizedUser'.

The DSC configuration that is using the resource (as detailed as possible):
xSqlServerEndpoint 'MirrorEndpoint'
{
    Ensure = 'Present'
    SQLInstanceName = $currentSqlInstance
    Port = 5022
    AuthorizedUser = 'COMPANY\sqlsvc'
    EndPointName = 'DefaultMirrorEndpoint'

    PsDscRunAsCredential = $SqlAdministratorCredential
}

Version of the Operating System, SQL Server and PowerShell the DSC Target Node is running:
Windows Server 2012 R2, SQL Server 2008 R2 SP3, PowerShell 5.0
Version of the DSC module you're using, or 'dev' if you're using current dev branch:
Dev

There is a proposal to replace this module in issue #232. If that is done, this issue becomes obsolete.


Fix bug where notify subscription won't work if there is no preprocessor

Objective
Read bluetooth notifications
The issue
Registering for ReadNotification has a optional parameter for Preprocessor
If this is passed as nil, the funcion notificationData always returns nil, which is filtered and causes the subscription to won't even fire. A simple fix to return original received data when preprocessor is nil do the trick to fix.
Testing
I couldn't find a good way to unit test that problem, since I can't directly call didUpdateValueFor, CBPeripheral .init() is not available and can't be mocked or constructed. My proposal is to change the subject to internal to be acessible in unit tests (still not available for use for the library consumers, but available for testing). Anyway, I'm open to suggestions on how to write tests for this :)

 Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.You have signed the CLA already but the status is still pending? Let us recheck it.


Cannot run example as stand alone application

The example fails if you run it from as an isolated node app.
Reproduction:
Change in the package.json of the example
"minosse": "file:../"
"minosse": "^1.7.2"
or
"minosse": "1.7.2"
npm install -> ok
npm start -> ok
npm test -> fails
Error message:
TypeError: done is not a function
at World. (/Users/mgijsbertihodenpijl/gh/minosse/example/node_modules/minosse/lib/steps/http-steps.js:35:9)
If you look at the http-steps.js line 35:
this.Before(function(done) {
This is different from the example, build with the parent  minosse ("file:../")
this.Before(function(scenario, done) {
The scenario is missing if you use the 1.7.2 version in the package.json.
What version of minosse can we use for the package.json ?
The latest release is of februari, which is too old. Maybe it is an idea to release a new version with support the example application.

Seems like this is fixed with the merge. Will give another try.

It seems like the latest commit is causing this.
I reverted the commit https://github.com/icemobilelab/minosse/commit/2956a34583e807f99b271261a9376fb48b2da987
in my "stand alone" example
So, changed the server.js (status(200).send(function -> send(200, function
and the package.json contains now
"body-parser": "^1.12.2",
"cucumber": "^0.4.8",
"express": "^4.12.2",
"minosse": "^1.1.0"
Now the example builds, starts and tests.

The new versioned is now published to npm so @mgijsbertihodenpijl  should be able to have the test running.

We are going to implement an automated task to update the example package.json version together with any git push


Historical results are totally different, divided by 3?

Did CIVL just divide all values by 3 recently?
The History page is off because of this, but everything on CIVL is also totally different compared to how it used to be.
https://wprs-forecast.org/history

I'm not aware of a change in the WPRS system. Let's see if it gets fixed on Monday.

CIVL believes it's a bug.

Thanks for letting me know!


Add world clock app

This PR adds a world clock app for displaying the current time in up to three timezones at once.

I have read the CLA Document and I hereby sign the CLA.


Always reorder auc inputs after upgrading to pytorch 1.9.x

In the AUROC metric computation, we should ideally always reorder the inputs. Currently the lack of support for stable sorting in pytorch 1.8.1 prevents us from doing so (more detailed explanation here). Stable sorting was added in pytorch 1.9.0, so once we upgrade our requirements to that version, we should be able to always reorder the inputs using the stable=True option of torch.sort().

Closing as the current workaround works and this change is blocked by the downstream tasks.


Previous/next card id on printings

It could be beneficial to have printings output the id of their neighbours. e.g.
data: {
  id: "00012"
  attributes: {
    ...
    next_printing_id: "00013",
    previous_printing_id: "00011"
  }
}

(There's probably some clearer names we could give them)

position and position_in_set help with this somewhat.
This feels like a UI concern creeping into the API, but let's keep the issue open so we can look at it a bit down the road.

We won't be handling this in the API.  Position allows this to be done by applications, but it is fundamentally a UI concern.


[Ruby2.7] warning: Using the last argument as keyword parameters is deprecated; maybe ** should be added to the call

When using refile with ruby2.7, I am seeing a warning like:
/usr/local/bundle/bundler/gems/refile-c4ac577c6fda/lib/refile/rails/attachment_helper.rb:9: warning: Using the last argument as keyword parameters is deprecated; maybe ** should be added to the call
/usr/local/bundle/bundler/gems/refile-c4ac577c6fda/lib/refile/rails/attachment_helper.rb:75: warning: The called method `attachment_field' is defined here

environment

Ruby 2.7.1
refile 0.7.0

$ ruby -v
ruby 2.7.1p83 (2020-03-31 revision a0c7c23c9c) [x86_64-linux]

$ bundle exec gem list ^refile$

*** LOCAL GEMS ***

refile (0.7.0)

Hello, I get the same warning. Is the pull request going to be merged and the version bumped ?


round function doesn't work as expected in Python

The round function takes one or two parameters in Python and one parameter in JavaScript. In Flexx, while using round with two parameter in PyWidget, the program does not fail, but in JS Widget it fails.
        rounded1 = round(number)
        # works with one parameter as expected either in Python or JavaScript

        rounded2 = round(number, decimals)
        # doesn't work on JS Widget, but works in PyWidget

        rounded3 = number.toFixed(decimals)
        # as toFixed is a JavaScript method that formats a number, it works on JS Widget,
        # but with a non-negative parameter and it gives fixed decimal digits

From what i see this line may need to be fixed.

Thanks for the nice catch. I'm sure this is not the last discrepancy to be found :)
Yes, that line is where we could create a function instead of aliasing Math.round. I don't have much free cycles the coming weeks.

Hi,
here is a short solution for stdlib.py.
greets
pyxdroid
FUNCTIONS['round'] = """function (x, dec) { // nargs: 1 2
return (x >= 0) ? (!dec ? Math.round(x) : Number(Math.round(x+'e'+dec)+'e-'+dec))
: (!dec ? Math.round(x-Number.EPSILON) : Number(Math.round(x-Number.EPSILON+'e'+dec)+'e-'+dec));
}"""


Coffee-script dependency issue?

I ran into this issue the first time I ran server.js
mcmullins@ubuntu:~/sites/todo$ node server.js

node.js:201
        throw e; // process.nextTick error, or 'error' event on first tick
              ^
Error: require.paths is removed. Use node_modules folders, or the NODE_PATH environment variable instead.
    at Function.<anonymous> (module.js:378:11)
    at Object.<anonymous> (/home/mcmullins/.node_libraries/coffee-script@1.2.0/index.js:4:21)
    at Module._compile (module.js:441:26)
    at Object..js (module.js:459:10)
    at Module.load (module.js:348:31)
    at Function._load (module.js:308:12)
    at Module.require (module.js:354:17)
    at require (module.js:370:17)
    at Object.<anonymous> (/home/mcmullins/sites/todo/server.js:1:63)
    at Module._compile (module.js:441:26)

it was fixed by running a fresh install of coffee-script.
mcmullins@ubuntu:~/sites/todo$ npm install coffee-script

Maybe an issue with how a previous version of npm installed it? Probably isn't your fault, but I thought I would let you know in case anyone else runs into this problem.
Thanks for all the help! Trying it out now, It's looking great!

Thanks for posting, yeah I've had some random issues like this before with coffee-script modules installed in different places, independent of Tower.
Not sure what the fix is but installing coffee-script like you did works, will keep any eye out.


Favicon Addition

Describe the bug
As of now there is no favicon which doest not look professional to any website as favicon is identity of websites

To Reproduce
Steps to reproduce the behavior:

Go to index file
Add favicon i link

@akshitagupta15june  Assign it to me

I want to do this one. would you please assign it to me @akshitagupta15june


[Suggestion] Make saving throws clickable like skills are

Just to be able to click on the text here for a quick saving throw just like you can for skills
https://i.imgur.com/HGhgeSX.png

it now responds to clicking, but it rolls "Undefined Save" that's a +2 for some reason. character has neither a +2 mod nor +2 proficiency
https://i.imgur.com/8uUgVVP.png

closing in favor of #37


Comment input box should be in the top of comments

Is there an existing issue for this?

[X] I have searched the existing issues

Describe the bug
when there are multiple comments in a project to add a new comment you need to navigate to the bottom of the page and post new comment by clicking the add comment test... but when there are too many comments in the comment section it is inconvinient to go to bottom to add a comment which also makes it hard for new users to navigate to the comment and add comment
Steps To Reproduce

in a project go to the comment section
add new comment and watch
the add comment box goes below the oldest comment and it keeps going down with each new comment

Expected Behavior
the Add new comment button and comment input box should appear in the top of old comments
Screenshots

Device Information [optional]
- OS: any
- Browser: any
- version: web

Additional context
No response
Are you working on this issue?
Yes

I would like to work on this issue could you please assign me!

can I work on this

can i help or get assigned on this issue. Its a simple fix

yah sure @vikaskumar2703 go ahead

@vedant-jain03 can @vikaskumar2703 be assigned the issue ?

i m having issues setting up locally using docker please assign this to other interested folks

Hey! Could you assign me this issue.

thanks vedant-jain03

I installed latest ruby version and when I ran the command (bundle install) it is showing me that   and Gemfile depends on pg ~> 1.5.3,
Ruby (no versions) is required.
So, because current Ruby version is = 3.2.2,
can you please help me to setup locally

Greeting,
As I have already finished my part of work of previous issue #4048 , can I work on this , I guess I could solve this
.

Can I solve this issue plz, I want to start my open source contributions...

I want to work on this issue. I'm a beginner contibutor in CircuitVerse but can surely solve this issue. Please assign me this issue

Hey @Arnabdaz & @vedant-jain03  , I would like to work on this issue , can u please assign it to me?

Hey @Arnabdaz. I have already completed setting up CircuitVerse locally. and I am new to contributing to CorcuitVerse I want to start by doing some good first issue. and this task is also suitable for begginer. Can you assign me the task.

Hey @vedant-jain03 , Can you assign me this task

Hi @vedant-jain03 , I can fix this issue can you please assign this to me

Hey, can we not fixes any issue without assignment

@vedant-jain03 @Arnabdaz can i work on this issue, it has been idle for quite a while, here is my solution

I also have a doubt about the rendering of reply partial

Hi!
Can I work on this issue? I want to start my open source journey and this seems to be a perfect issue to start with.
It would be really helpful if you assign this to me.
Thanks

Assign this issue to me
This is my first issue
I want to try it

Hi @Arnabdaz @tanmoysrt @vedant-jain03 , Can i work on this issue ?
Solution:

@Arnabdaz    can you please assign me this i will work on it .

Hi @Arnabdaz and @vedant-jain03
Will you kindly assign me this issue.
I understand that the issue needs the add new comment button and comment input box to appear above the old comments.
I am confident that I can resolve this issue.

hello, @vedant-jain03 , I would like to take up this issue.

hii @vedant-jain03 , please assign this issue to me.


fix: exception happen when creating multiple ascend-gpu pods concurrently

What type of PR is this?
/kind bug
What this PR does / why we need it:
fix: exception occurred while creating multiple pods with ascend gpu concurrently
Which issue(s) this PR fixes:
Fixes #
Special notes for your reviewer:
Does this PR introduce a user-facing change?:

yes, nodelock is necessary for ascend jobs, but you need to implement 'release lock' part in 'ascend-device-plugin' for it to work

yes, nodelock is necessary for ascend jobs, but you need to implement 'release lock' part in 'ascend-device-plugin' for it to work

done. the PR in 'ascend-device-plugin': https://github.com/Project-HAMi/ascend-device-plugin/pull/7

yes, nodelock is necessary for ascend jobs, but you need to implement 'release lock' part in 'ascend-device-plugin' for it to work

done. together with PR in 'ascend-device-plugin': https://github.com/Project-HAMi/ascend-device-plugin/pull/7

hi, could you resolve this conflict? i'm going to integrate this PR in HAMi v2.5

fix conflict

/lgtm


use github composite action to simplify the flow

I also took the liberty to rename the workflow build_and_release by ci, it's just more compact easier to read what github actions is failing.
Signed-off-by: Augustin Husson<EMAIL_ADDRESS>

This is PR is also changing the condition to trigger the different job. Now the actions are triggered when you push a new commit on a branch or/and when your create a new PR.
This should solve the issue @sjcobb faced when working on the release branch and nothing were triggered


Install issue from dotnet-tools NuGet feed

I was having a problem doing the normal install because direct nuget access is blocked so I tried the alternative method referencing the dotnet-tools NuGet feed. This also wasn't successful but I noticed no reference to upgrade assistant in the json
https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-tools/nuget/v3/index.json
Can someone confirm this method still works? Could this tool be included in vs2019?

@Jojoshua There are instructions here on how to install from either of the feeds - https://github.com/dotnet/upgrade-assistant#installation-steps
Could you provide details on specific steps you are doing to install?

@sunandabalu I tried dotnet tool install -g upgrade-assistant --add-source https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-tools/nuget/v3/index.json   but I get NU1801: Unable to load the service index for source https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-tools/nuget/v3/index.json

@Jojoshua Unfortunately I'm unable to repro the error you are seeing installing from the dotnet-tools feed even from a non-corp-creds linked VM that I created. :( Probably you have some proxy setting in your nuget.config that is blocking the package sources, since you mentioned nuget feed being blocked?

@sunandabalu thank you for looking into this. Yes my enterprise environment is a bit complicated. I tried pulling this into our SonataType nexus repository and pointed the installer to its json url but it didn't work most likely because Nexus repository needs authentication. Is there a way to side load this if I had the nupkg file from a NuGet source?

@Jojoshua You should be able to load it from a local folder by using that path with --add-source too

yes you can do a local dotnet tool install once you have the nupkg

Thanks the local install worked great.


Electron

Ideally i need to get this working within electron.
There's documentation about this here: http://electron.atom.io/docs/v0.37.8/tutorial/using-native-node-modules/
And a package which takes care of most of it: https://github.com/electron/electron-rebuild for most modules. We're missing a bindings.gyp file which is what electron-rebuild requires. Instead you've got a manual build process going on.
I'm guessing the easiest way here is to manually build electron binaries and include them in the pre-built repo. I'll look into adding stuff into the makefiles etc.

That first link is broken. I'll also have to figure out what Electron is. But I'm absolutely interested in increasing interoperability where needed.
Yeah, there is no bindings.gyp. Quite frankly I really dislike the way Node/NPM handles native libraries. You have to set up so much, especially with node-gyp where it requires an installation of python. Plus its very hard to set up something automated for robot-js given the dependencies. I'm hoping one day the fine folks managing Node/NPM will create something better for managing native libraries.
In the meantime, yes it's very manual but the most used prebuilt binaries are available at: http://node.getrobot.net/. I'm hoping that's enough to get Electron working, otherwise other solutions will need to be investigated.

electron is basically a node wrapper. it allows you to wrap a node app into packaged software.
I think i can probably get electron to load the correct precompiled for its node version and platform which might have us sorted.

oh yes I've seen these actually, definitely interested in supporting this.

Did anyone figure this out? I'm trying to use robot with the latest version of electron and getting
Uncaught Error: Cannot find module './darwin-x64-50'

After following the 'using npm' instructions in the [electron docs for native modules] (https://github.com/electron/electron/blob/master/docs/tutorial/using-native-node-modules.md). I'm using Mac Sierra.

Hey there, so I still haven't experimented with electron however the node compile process is very well documented here.
The way robot works is it has the JavaScript library and the pre-compiled binary for your target platform. The entire library and precompiled binary is in the /Library folder. When packaging your application, you need to make sure the binaries are available in that directly.
If you don't want to compile robot-js yourself, you can download the precompiled binaries from here. NPM does this for your platform automatically on install.

Hi, thanks for for the quick reply! The binary is there, but it is called darwin-x64-48. I'm not sure what the 48/50 refers to, but electron obviously needs 50. As far as I can see from your link there are precompiled binaries only for 16, 46, 47 and 48.

The last number refers to the Node process.versions.modules value which represents the native addon ABI version. The ABI version number changes with each major Node release, typically as a result of native Node library changes as well as changes in V8. Below is a table matching Node versions to their respective modules version.

Node Version
ABI Version

6
48

5
47

4
46

0.12
14

That being said, robot-js is currently only compatible with Node 0.12, 4, 5 and 6. iojs is not supported. Although the fact that you're trying to get version 50 means that you're using Node 7? If so then you're probably going to run into compile issues. When version 7 is out of beta, I'm going to issue an update that works with it. But in the meantime you may need to downgrade to version 6.

The ABI 50 is coming from the version of V8 used by electron. As far as I know this is a hacked version of Node 6 -- I don't know exactly why they set the ABI to 50. There is a thread about it here which I can't really follow, but maybe someone who can will be able to think of a workaround.

So I just found this nice table which lists all the official node releases with their respective V8 and modules versions. Apparently Electron is doing what io.js did and running ahead of the curve with their V8 releases. I'm not sure what Node 7 has planned but if the V8 and modules version is not kept in sync with Electron then there would be no way for robot-js to officially support both.
At the moment I'm assuming that each major node release uses the same modules version, but if that begins to change then it would take a lot more effort to maintain robot-js. With regards to your suggestion, I'm not sure if it's that simple since I haven't looked into Electron compatibility yet but even if I used nan, I don't think that would solve the problem since nan is having the same compatibility problems as robot-js.
Either way, I think you may be on your own for this one until Node 7 is released.

So I've been strugling with this problem too.
Here is what I found:

In order to get working Electron with Robot-js you need a version of Electron whose process.versions.modules value is 48. Latest releases of Electros have a value of 50.
The version of Electron that matches the requirements is the Electron 1.1.0.. Which internally uses  Node.js 6.1.0, Chromium 50.0.2661.102. You can download it from here: https://electron.atom.io/releases/
After downloading it, put a valid Electron App inside electron\resources\app (just a index.html, main.js and package.json)
Install Robot-js in that folder: npm install -s robot-js. This will download prebuilt binaries, in my case: \node_modules\robot-js\Library\win32-x64-48.node
Require robot-js inside main.js
Execute Electron.exe
And then you'll see this error

Even if you are using the same platform, architecture and process.versions.modules, Electron will fail to load Robot-js.
The way to fix this is by having a valid bindings.gyp. With this we could rebuild entirely robot and Electron so anyone can create a valid Robot-js binary for Electron.
I understand you don't like gyp, I don't like it either - I prefer cmake -. But withouth this there is no way to integrate Robot-js with Electron, and this causes a big frustration because my users have to install nodejs, npm and execute npm install etc because I cannot give them a valid executable/distributable.
If you could find a solution to this that'd be awesome, however I know you are pretty bussy with the new milestone.
Thanks in advance and keep up the great work.

Thanks for all your hard work @karliky. I won't give up on you and will do my best to get a working solution, even if I have to get some sort of bindings file in there. When I begin integrating robot 2.1 into robot-js I'll make sure it works properly with Electron.

I'm really need supporting of node-gyp for Electron

Okay, since Node ^7 is broken at the moment, I'll take a look into this issue as well while I'm fixing that.

Okay, so I briefly looked at both Electron and Node Webkit and I must say that the whole situation is a huge mess. @karliky linked a nice post about getting nw.js to work with native modules, and electron is pretty much the same.
The problem is that both of these programs run their own versions of V8, independent of what Node is running (just look at this chart). This means that native modules compiled for Node will not work with electron or nw.js, they'll need custom binaries for each release they make.
Now, I don't think it's feasible for us to provide pre-compiled binaries for all these releases, nor would we want to since the people using electron and nw.js are probably developers with development environments already set up. With that being said, it's probably best to have some sort of bindings file, as the guide recommends, and have it be used in the packaging process.
Unfortunately, since V8 is constantly evolving, robot-js might have issues compiling due to deprecated functionality, as we've seen with Node 7.0.0. So either we move to something like Nan or we try and stay on top of all the updates (which I'm trying to be better at).
Another issue is that I don't want the bindings file to interfere with normal NPM installs since not everyone will have a proper environment set up. So while electron and nw.js are fine, having pre-compiled binaries for the standard version is still something I'd like to support.
Regardless, I'll continue investigating this issue. Hopefully we can find a solution that works for everyone.

For those struggling with Electron, please take a look at this comment. Creating a .npmrc and following those instructions worked for me. But please keep in mind that the fix was only introduced in #35 and won't be available until robot-js 2.0.0 gets released.


kong: Ability to add custom annotations to jobs

Reported in https://github.com/helm/charts/issues/19563 for Istio compatibility

#102 is merged in. 1.5 release of the chart will include support for this.


Kaggel Archive Code: Uncomment missing imports

% ruff check --output-format=concise # https://docs.astral.sh/ruff/linter
Notebooks/Kaggel Archive Code/p2a_worker_gpu1.py:27:9: F821 Undefined name `shutil`
Notebooks/Kaggel Archive Code/p2a_worker_gpu1.py:50:13: F821 Undefined name `shutil`
Notebooks/Kaggel Archive Code/p2a_worker_gpu1.py:123:16: F821 Undefined name `tempfile`
Notebooks/Kaggel Archive Code/p2a_worker_gpu1.py:184:16: F821 Undefined name `epub`
Notebooks/Kaggel Archive Code/p2a_worker_gpu1.py:192:35: F821 Undefined name `ebooklib`
Notebooks/Kaggel Archive Code/p2a_worker_gpu1.py:194:24: F821 Undefined name `BeautifulSoup`
Notebooks/Kaggel Archive Code/p2a_worker_gpu1.py:230:22: F821 Undefined name `csv`
Notebooks/Kaggel Archive Code/p2a_worker_gpu2.py:27:9: F821 Undefined name `shutil`
Notebooks/Kaggel Archive Code/p2a_worker_gpu2.py:50:13: F821 Undefined name `shutil`
Notebooks/Kaggel Archive Code/p2a_worker_gpu2.py:123:16: F821 Undefined name `tempfile`

Did... that get it working in the kaggel notebook for you?
Asking cause we had some issues getting it to work before

I did not attempt to get the Notebook to work.


[TINY] Fixing small issue in SqlTranslatingExpressionVisitor

...when we would get null argument exception when trying to translate coalesce expression whose arguments were not translatable to sql (i.e. needed to be client eval-ed)

@anpete

:shipit:


Master

Docs (bug fix | content | refactor): change separately hardcoded group values to settings collection and relational widget to fix value discrepancies, update group values and collection filter mapping values, refactor post "weights" as sortable subsection ordering and update to match current docs menu

NOTE: This is my first pull-request (ever), so my apologies for any hiccups as I figure out this process. Such as... I could not figure out how to fix the Required PR Labels error even after querying for a guide. Links & references would be helpful. Happy to RTFM as long as I can find one.
For context, I'm a technical designer specializing in documentation and spec writing, and am currently upping my UX engineering skills.
I approached this PR as a “Phase 1” in an effort to overhaul the Docs. In Phase 2 I'd like to implement a better route to updating the section headings and post organization, and perhaps even update the frontend navigation (ie: it might be nice if the main section headings were links which displayed the "Overview" posts instead of static headings)
Overall I'm interested in helping to create an infrastructure more easily editable via Open Authoring, and generally make the entire Docs easier to maintain... pardon my candor, but the Docs are a bit of a mess at the moment. The individual pieces of content are pretty excellent, but the structure somewhat muddled on the frontend and hard to work with on the backend. I've noticed numerous little outdated discrepancies while trying to learning Netlify CMS, and making the Docs easier to maintain will directly translate to even better content.
Extended explanation of changes encompassed in this PR:
Section (group) names were hardcoded two separate places (site.yml & config.yml)… and had become mismatched with their options, which will result in improperly categorized posts.
Ensured inherent compatibility by adding a “settings” file collection which links to site.yml and replacing the static values in config.yml with a relational link.
Site.yml may still be updated manually, so no functionality is lost, but I hid the “Settings” collection for now because editing summary group names through the collection will not update the filter criteria hardcoded for each collection-mapped section. (ie: updating and adding sections still requires manually editing the config.yml file as far as the backend organization is concerned)
Ideally, we would use nested collections or a more robust sorting structure to handle the backend organization (vs filters & collection mapping), but any route forward will require additional coding beyond the scope of updating the mismatched group names. Also, I think there may be additional work required on nested collections before it can be fully adopted.
Thank you for reading through this (I'll work on brevity in future PR's)

Don't let the failing tests throw you off. As your changes are documentation based I reckon they have very little to do with your work. The maintainers of this repo will review your changes and provide feedback, although it can take a couple of days.

From Contributing.md
Items to address:
3. If you've added code that should be tested, add tests.
How do I know if it needs to be tested? I changed the website config.yml file with minor updates and linked a collection to the site.yml file... does that qualify?
5. Run yarn test and ensure the test suite passes.
Test Suites: 3 failed, 2 skipped, 79 passed, 82 of 84 total
Tests:       24 failed, 650 skipped, 846 passed, 1520 total
Snapshots:   90 passed, 90 total
The failed tests appear to be entirely related to the xhr-mock module not being found and because the rewind() function can only be called on the server.
7. PR's should be rebased on master when opened, and again before merging.
Checking out the linked BitBucket guide now...
Additionally:
Is there a definitive guide for PR comments? I wasn't able to find one, and don't know how to properly PR Label this...
Thanks!

Thanks @silverwebb925, we recently had some work done on the docs in https://github.com/netlify/netlify-cms/pull/3766 as a part of https://github.com/netlify/netlify-cms/issues/3764
Also related https://github.com/netlify/netlify-cms/issues/1692.
If you could add your thoughts in https://github.com/netlify/netlify-cms/issues/3764 that would be great.
I agree the docs need some work and thank you for this initiative.
I'll have some time to review this beginning of next week.

@erezrokah Thank you! #3764 is just the thread I was looking for. Will review all the links you provided and add my thoughts to #3764. Appreciate your quick response.

Closing this PR in favor of a new PR from a different branch, as requested.
Please see #4280
Thank you, @erezrokah.


doc: config search

Description

Motivation and Context

Types of changes

[ ] Bug fix (non-breaking change which fixes an issue)
[ ] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to change)
[ ] Enhancement (changes that improvement of current feature or performance)
[ ] Refactoring (changes that neither fixes a bug nor adds a feature)
[ ] Test Case (changes that add missing tests or correct existing tests)
[ ] Code style optimization (changes that do not affect the meaning of the code)
[ ] Docs (changes that only update documentation)
[ ] Chore (changes that don't modify src or test files)

Self Check before Merge

[ ] My code follows the code style of this project.
[ ] My change requires a change to the documentation.
[ ] I have updated the documentation accordingly.
[ ] I have read the CONTRIBUTING document.
[ ] I have added tests to cover my changes.
[ ] All new and existing tests passed.

Pull Request Test Coverage Report for Build 310310933

0 of 0   changed or added relevant lines in 0 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage remained the same at 0.0%

Totals

Change from base Build 310094146:
0.0%

Covered Lines:
0

Relevant Lines:
0

💛  - Coveralls


Strategy Creation - Inputs of '.' in token price show NaN values

When creating a strategy, inputs of '.' in token price (limit/ranges) show NaN values.

Either hide the text or show a more adequate message.

@tiagofilipenunes I believe this was fixed, please confirm.

It was fixed by #862


Fix: CollectM failing after first req scala 3

Codecov Report

Merging #608 (a4f242b) into main (c054753) will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##             main     #608   +/-   ##
=======================================
  Coverage   58.54%   58.54%
=======================================
  Files          59       59
  Lines        1399     1399
  Branches       52       52
=======================================
  Hits          819      819
  Misses        580      580

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update c054753...a4f242b. Read the comment docs.

🚀🚀🚀 Benchmark Results
Concurrency: 256
Requests/sec: 434329.95

🚀🚀🚀 Benchmark Results
Concurrency: 256
Requests/sec: 428583.67

🚀🚀🚀 Benchmark Results
Concurrency: 256
Requests/sec: 437259.37

🚀🚀🚀 Benchmark Results
Concurrency: 256
Requests/sec: 446853.31

🚀🚀🚀 Benchmark Results
Concurrency: 256
Requests/sec: 440157.24

🚀🚀🚀 Benchmark Results
Concurrency: 256
Requests/sec: 423729.93


Update camshaft to 0.61.2

This is to fixe a bug in the line-sequential analyses (length was incorrect).
See https://github.com/CartoDB/camshaft/pull/351

NEWS please :smile_cat:


chore(engine): Rename EngineApiError

Description
Small pr to rename the EngineApiError to EngineError.

📚 $\text{Stack Overview}$
Pulls submitted in this stack:

#134 👈
#133
main

This comment was automatically generated by st.

Codecov Report
Attention: Patch coverage is 0% with 6 lines in your changes missing coverage. Please review.

Project coverage is 23.4%. Comparing base (b8e476c) to head (072d165).

:white_check_mark: All tests successful. No failed tests found.

Files with missing lines
Patch %
Lines

crates/engine/src/client.rs
0.0%
6 Missing :warning:

Additional details and impacted files

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


Get data by month

hi, may I get monthly google trends data in gtab？ not weekly

Hey! So the granularity gtrends returns are a bit arbitrary and depend on the time-span. If you ask for a timeframe for many years, it automatically yields a monthly granularity, e.g., https://trends.google.com/trends/explore?date=all&geo=US&q=%2Fm%2F0dl567,%2Fm%2F0261x8t


drivers: led_pwm: Improper label assignment

Describe the bug
led_pwm driver uses label property assigned directly to the node that is compatible with "pwm-leds". The dts binding assumes that the label is assigned to its child node. Because of that the driver ignores the assigned label and it always uses the default one.
I think that the label should be assigned directly to the node that is compatible with "pwm-leds" (this node could be used to represent a logical LEDs with color channels as child nodes).
https://github.com/zephyrproject-rtos/zephyr/blob/188cb2cb7c44148849889670bedfb3a2e259ad3c/dts/bindings/led/pwm-leds.yaml#L4-L18
Expected behavior
Driver implementation should be consistent with the DTS binding.
Environment (please complete the following information):
Zephyr SHA: 188cb2cb7c44148849889670bedfb3a2e259ad3c

@simonguinot what do you think about this one?

Hi @mbolivar-nordic,
I think @MarekPieta  is right. It is correct to have a label attribute for the LED child nodes. It can be used to identify/name a LED and also to retrieve its child node number. But it is not correct to say it can be used to retrieve the LED PWM device (using device_get_binding()). So this comment should be removed. In addition a label property should be added to PWM LED parent node binding, with the "device_get_binding()" comment in the description.
Looking back at the led_pwm driver, I think I made a poor choice using DT_INST_PROP_OR(id, label, "LED_PWM_"#id) to set the device name. I should have used DEVICE_DT_NAME() instead though DEVICE_DT_INST_DEFINE(). If the label property is not available, this falls back the device name to  DT_NODE_FULL_NAME, which is smarter than an arbitrary string. Most of the time the pwm-leds compatible nodes don't have a label property. And it would be better for the application to be able to use DEVICE_DT_NAME() too to retrieve the device name, instead of having to guess an arbitrary string.
And to finish, note that the very same issue can be found in dts/bindings/gpio/gpio-leds.yaml.
Please let me know if you want me to fix this.

Please let me know if you want me to fix this.

That'd be great if you have time; thanks!


Add the target-artifact of pom.xml to load path with LockJar.load

We are using lock_jar in several mixed-language java-jruby-projects. In such a project we use the pom instruction in the Jarfile and lock_jar manages to add all the dependencies to the load path when we call Lockjar.load. Unfortunately the classes contained directly in the java-part of this project are not added to the load path and are thus not available from the ruby code.
Are we missing something or is this a conceptual limitation of lock_jar we have to deal with manually?

There is a bit of a gap in using a pom in a Jarfile. You can reference a pom in the Jarfile , for example - pom ext/pom.xml
This will load all the dependencies for the pom. Unfortunately it does not load jar for the actual pom, which makes it almost useful. LockJar expects to be able to resolve deps from a Maven repository. A pom project will have its package installed in the target dir normally. For it to work, there will need to be a contract of sort sort that a local pom will be packaged at an expected place.


License?

Could you please clarify what license this project uses?

Please see this.

Thanks! Somehow I missed it before (maybe because it was just added? 🤣 ) Good thing 😃

Yeah I just added it. Sorry about that. :)

No problem, and no reason to be sorry – I perfectly got the joke (and understood it as it is exactly the kind of thing I would do) 🤣


Idea: migrate from {lxml, html-text} to {html5lib, bleach}

This suggestion is derived from a specific use case where it'd be desirable to build pure-Python application containers for openculinary/crawler.
Currently a dependency on lxml is an obstacle to this, since lxml uses libxml and libxslt, and C bindings for those must be provided and compiled at build-time.
There are some practical issues to resolve:

Whitespace-related tests for W3C microdata are failing
Node-ordering-related tests for RDFA parsing are failing; this should be resolved once an upstream release of rdflib that includes https://github.com/RDFLib/rdflib/pull/1133 is available (in short, the default memory-backed RDF triple-store was not guaranteed order-preserving)

There are questions about the impact of the migration and whether it's worthwhile:

What is the performance impact of the migration, particularly for any customers using extruct for high volumes of data?
What are the comparative safety properties of bleach and bleach-extras compared to lxml's text cleaning functionality?

In short, it may not be worthwhile, but I spent a bit of time looking into the practicality of this and figured it's worth providing that even though it's work-in-progress.

Thanks for the PR @jayaddison , some notes:
There are also some dependencies which also require lxml, e.g. html-text and probably some others - although html-text can be made optional, and maybe the syntaxes you care about are not affected.

What is the performance impact of the migration, particularly for any customers using extruct for high volumes of data?

From limited tests I did, html5lib is ~10 times slower than lxml.html (or other fast parsers), and parsing is a significant portion of extruct runtime, so dropping lxml support would be too much of a performance impact for performance-sensitive users (e.g. we do run extruct on high volumes of data, and probably others do as well). On the other hand, having it optional would be fine I think - although I'm not sure how feasible it is, given that some of our dependencies also need it.

What are the comparative safety properties of bleach and bleach-extras compared to lxml's text cleaning functionality?

My understanding that the goal of cleaning was not to ensure safety, but to produce cleaner output, although I'm not 100% sure.

Thanks @lopuhin, that's good to confirm that performance could be a blocker for this.

There are also some dependencies which also require lxml, e.g. html-text and probably some others

Hopefully those other dependencies are no longer required; html-text can be dropped here (and I'll push some commits to do that shortly, just to demonstrate the possibility and finish up the path that was taken here).  In practice, we'd want to figure out some of the other conversation around optional packages first.  Speaking of which..

having it optional would be fine I think

Providing html5lib as an optional parser selection would be okay - in practice I tend to find the way that Python packaging deals with optional/substitute dependencies is less-than-ideal (and I worry that taking that route might cause other maintenance challenges in future).  Perhaps with enough careful planning it'd be possible to manage the complexity there.
I did notice that there are already some abstractions over XML nodes/elements via the xmldom module (removed in this pull request currently).  That could possibly handle most of the implementation details, but the dependency/packaging challenge would remain.

My understanding that the goal of cleaning was not to ensure safety, but to produce cleaner output, although I'm not 100% sure.

That makes sense; extracting text is likely the primary concern for most users.  That said, changes to content handling in libraries have a strange way of affecting downstream applications, and developers for those would want to be aware of and prepared for a potentially risky change like this.
I think it'd be unlikely that one sanitization library would be conclusively 'better' or 'worse' in all situations: more likely that different situations would be handled by each one.  Perhaps there are some good sources of test cases out there; I'll try to look into that soon.

Closing this pull request for now; if and when there are significant performance improvements available to html5lib, it might be possible to revisit this.

Although I'm not planning another attempt to migrate away from lxml at the moment, this seems like it might be a relevant-ish place to mention that https://github.com/willforde/python-htmlement.git/ is an open-source Python package that provides an ElementTree interface over the built-in html.parser in Python.
I haven't attempted to use it for anything other than basic JSON-LD XPath queries, so I don't have a lot of information to share about its compatibility and performance compared to other interfaces, but it does seem to me like a path worth exploring.

See also: https://github.com/openculinary/extruct/tree/htmlement-parser for a work-in-progress branch using htmlement to provide parsing support throughout the extruct library.
Migrating the dublincore, json-ld and opengraph extractors appeared relatively straightforward -- microdata parsing is proving more challenging, largely around text handling and cleanup.
I'll also admit that this hasn't been tested on any datasets larger than the provided unit tests -- nor benchmarked -- so it's very much experimental.  I'm optimistic about the parsing performance but don't yet have any data to provide.

Thanks @jayaddison , that's really interesting, would love to hear about your progress 👍

Sure - glad to share a few findings.
Migration of the microdata parser has definitely been the main challenge - the path I've followed is to build parallel HTMLementMicrodataExtractor alongside the existing .LxmlMicrodataExtractor.
A few notes so far:

Extracting item properties and values in the correct order: after some naive attempts to match the existing LxmlMicrodataExtractor behaviour (which I imagine is fairly well optimized) and test cases, it proved more straightforward to follow the algorithmic instructions in the whatwg spec directly.  Optimization should be possible later, but getting a correct (or very-near-correct) solution first seems most important.
Cleaning of HTML text remains unsolved.  Since the existing Cleaner utility expects an lxml-derived tree as input, it's not possible to provide it with ElementTree nodes.  I haven't looked in detail at the lxml cleaning code yet, but going by the constructor signature, it looks like it performs quite a number of non-trivial tasks (in other words: likely more logic than should be implemented within the extruct library).  It does occur to me that some of the script/style filtering may be near-identical to CDATA content filtering, so it's possible that there might be some shortcuts to achieve that efficiently using the Python parser -- but I don't have a clear enough understanding of the problem space yet to say for certain.
Of the test cases and data associated with extruct, the w3c/microdata.5.2.* cases are proving most challenging to handle at the moment.  I seem to remember that was the case during the html5lib approach too.  And it gives me the sense that there must be other edge cases as well.

It's hard to guess when I might next make progress on this, but I'll continue to share any updates and additional findings.

@lopuhin I've managed to follow a couple of different paths to get either the microdata.5.2.* or the MicrodataWithDescription tests to pass -- but not both at the same time.
Most property extraction seems more-or-less solved, except for text data.
And from experimentation with various approaches to text retrieval, it looks like the problem basically comes down tree transform/traversal to emit and combine the text tokens from the parse tree in an acceptable order.
In the case of malformed HTML (ambiguous tree representation), I have a feeling that the tree ordering emitted by htmlement could be a factor in the simplicity/complexity of text extraction.  Whether ambiguous elements are placed into a nested hierarchy or instead into sibling elements, for example, could be important.
Either way I have a feeling that most of the work-in-progress in the branch is going to sit unchanged for a while longer.  I'll probably next attempt a port of html_text to accept xml.etree.ElementTree objects.
(and slightly off-topic: I've also been wondering whether HTML parsing is strictly necessary to achieve W3 microdata format parsing, and whether it might be possible to write a grammar in parsimonious or similar that would accept the document as a str and identify objects within it.  a very different approach, and some things like ID references would be challenging, but it feels like it might be possible)

I think I finally got close to the root (no pun intended) of the challenge with migrating text retrieval to htmlement.
Basically, it's that the HTML5 spec indicates different ways to generate implied closing element tags depending on the parsing context within input HTML.  It's good that this is now well-specified.  That said, htmlement is currently a fast and simple library and doesn't (and perhaps shouldn't) include logic for all of those rules; instead it uses a straightforward SAX-like parsing approach.
The text content retrieval test cases in extruct cover situations where tree order -- including implied closed tag placement in the tree -- is relevant, and so it's challenging to write a correct W3 microdata extractor without also having an HTML5-compliant parser.
And I think that's where my work on this stops, for now :)

Thank you for an update @jayaddison 👍
My 2c about some potentially related work on our side - having extruct work on a tree parsed by an html5-compliant parser is something we'd also want. So far for html parsing we've been using https://html5-parser.readthedocs.io/en/latest/ which uses gumbo parser under the hood and has an ability to emit lxml.html.Element-based tree, so it's easier to migrate from lxml.html. In our use-case, we'd already have a parsed HTML tree because we need it for other things as well.


Update strings.po

Added some new translations

[ ] Bug fix (non-breaking change which fixes an issue)
[ ] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to change)
[x] Translation

Checklist:

[ ] My code follows the code style of this project.
[ ] My change requires a change to the documentation.
[ ] I have updated the documentation accordingly.
[x] I have read the CONTRIBUTING document.
[ ] I have added tests to cover my changes.
[ ] All new and existing tests passed.

может смержим?

@NIkonDSL Здесь готово всё?

Сегодня зафикшу
вт, 22 черв. 2021 о 22:19 Denis @.***> пише:

@NIkonDSL https://github.com/NIkonDSL Здесь готово всё?
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/elgatito/plugin.video.elementum/pull/767#issuecomment-866265056,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AIMWYY2HUEK7VK7IGQIHRVLTUDO5BANCNFSM45S3BSJA
.

@NIkonDSL Спасибо, принимаю.


convert code to python3

https://github.com/zhreshold/mxnet-ssd/blob/821a1c5049679f798976c8bf58b460ffaa098458/symbol/symbol_factory.py#L33

Another issue with python3 is No module named 'common'
can be solved by
export PYTHONPATH=.../mxnet-ssd/symbol


Resampling and LoG filtering fail when done at the same time.

When I try to extract features using resampling and LoG filtering, I cannot get values for the filtered images. However, when I try to use only LoG filtering, there is no problem.

@drburakkocak My apologies for the late reply. Which version of slicer are you using? can you share the slicer log detailing this error (help > report a bug)?

Stale issue.


Minor: Improve function documentation

Which issue does this PR close?
Follow on to https://github.com/apache/datafusion/pull/11959
Rationale for this change
I think the context for https://github.com/apache/datafusion/pull/11959 may not be obvious, so we should add a comment explaining that: https://github.com/apache/datafusion/pull/11959#event-13875462487
What changes are included in this PR?

Add a comment with the rationale of including get_field
Some drive by doc cleanuos

Are these changes tested?

Are there any user-facing changes?
Only doc changes, no functional changes

Thanks @jayzhan211


add bias, bias_corrected, and variance to bootstrap module

I added a warning to the bias computation with the bootstrap. Wording should be further improved for clarity.
I discovered that the bootstrap cannot detect biases of the kind (unbiased estimate + constant / N), where N is the number of observations, which the jackknife does detect and remove exactly. @dsaxton You can see it for yourself if you apply the bootstrap bias computation on the test function def bad_mean(x): return (np.sum(x) + 2) / len(x) that I used to test the jackknife. The bootstrap bias considers this function unbiased.
Somehow the meaning of the two bias computations is different. The jackknife computes the bias of the estimator on the finite sample with respect to the asymptotic limit. The bootstrap bias seems to compute something different.

On the plus side, this patch completes the symmetry between the jackknife and the bootstrap module as far as I am concerned. I am not sure whether we should add a confidence_interval computation to the jackknife module. We could probably implement the "percentile" and "student" methods, but I am not sure whether the "bca" method would work with jackknife replicas.

I discovered that the bootstrap cannot detect biases of the kind (unbiased estimate + constant / N)

I think this makes sense / is expected since this type of bias will simply cancel when we try to measure it

Ok

It would be great if we could merge this as soon as possible, so that I can show this work in the talk at PyHEP next week.

There seems to be a problem with the wilcoxon test. I don't see the relation to my changes...

There seems to be a problem with the wilcoxon test. I don't see the relation to my changes...

It may be a flakey test, I reran and it's fine now

Thanks @HDembinski

Just in time for the presentation tomorrow 👍 Thanks!


:bug: [backend/eth] conclude after progression into final

Closes #147

@ggwpez  Addressed your comments, please have another look.

Rebased, please check and merge.


Use native clipboard API for copy text on the web

What this PR does / why we need it:
Use Clipboard API instead of copy-to-clipboard to copy text.
https://developer.mozilla.org/en-US/docs/Web/API/Clipboard/writeText
Browser compatibility seems to be fine.

Which issue(s) this PR fixes:
Fixes #
Does this PR introduce a user-facing change?:

NONE

Nice 👍
/lgtm

/approve


[dart:core] Uri queryParameters to support pimitive types

It seems that queryParameters are allowed for only String | Iterable<String>.
How about adding primitive types, (bool, int, etc)? I assume other arbitrary objects can't be encoded, because the user should handle them her/himself.
Or at least change the error message to explicitly mention supported types.
Because for example
void main() {
  var b = true;
  Uri.parse('http://localhost').replace(queryParameters: {
    'b': b,
  });
}

Gives:
type 'bool' is not a subtype of type 'Iterable<dynamic>'
which I think is somewhat confusing.
The user must currently use b.toString(), which could possibly be automatically handled.
Dart SDK version: 2.17.0-266.0.dev (dev) (Fri Apr 1 14:25:07 2022 -0700) on "windows_x64"

The only possible values are strings. Allowing anything else means converting that other thing to a string.
Allowing automatic coercion from any object to String, by calling toString, risks hiding errors where you intended to pass a string, but didn't.
The only cost to users is having to write "$foo" instead of foo, and it ensures that the user is realizing that they're working with strings. That's a win.
There is no advantage in allowing only "primitive" types (Dart doesn't really have primitive types), because all you do to them is to call toString anyway, so we might as well allow any object.
As for changing the error message, that's actually possible because the static type is dynamic.

Imo it should be json encoded, I just faced this issue 1 minute ago.
So instead of

      if (value == null || value is String) {
        writeParameter(key, value);
      } else {
        Iterable values = value;
        for (String value in values) {
          writeParameter(key, value);
        }
      }

      if (value == null || value is String) {
       writeParameter(key, value);
     } else if (value is Iterable<String>){
       Iterable values = value;
       for (String value in values) {
         writeParameter(key, value);
       } else {

       // do jsonencoding here
       }
     }
     ```

     In any case the error could be more meaningful

I admit that accepting "String or Iterable<String>" is a bad API that doesn't type-check well.
Allowing some other types to also be accepted (and then immediately call .toString() on them) doesn't make that better.
Why just int, bool and double? Why not DateTime, Null and Map<String, String>? Any JSON value? Why not your next custom class who's just a perfect fit for a parameter value, with its toString and parse working just right?
Choosing some types is arbitrary. You're definitely going to miss some.
Allowing all types is dangerous.
Making the user do the to-string conversion is occasionally annoying, but does make it explicit that you are not using an integer as the value, you are serializing that integer into a string (and you are in control of the format).
Not sold on the value proposition. (But I would be very happy to create a completely new Url class that doesn't conflate String and Iterable<String>, if that's possible).

Why not DateTime, Null and Map<String, String>?

I believe null is already accepted (the doc does not mention it), but I could be wrong if I misread the source. As for DateTime, I'd say that date time does not strictly have one string representation, I don't know, I understand the rationale now. Hopefully something better can be done in the future, when there will be some sort of union types.

Why just int, bool and double? Why not DateTime, Null and Map<String, String>?

The suggestion was to handle types that are part of Dart SDK, not extendable, and we are sure about their representation.
I guess it shouldn't be all-or-none, but only the selected types, which spares the user some effort, without offering dangerous or controversial conversions.

I don't see any advantage in only allowing as specific set of known types. It's always going to be a too small list for someone, somewhere. Being a platform type, not extensible and having a known representation isn't important for the user-case, any string can be accepted, so the restriction feels arbitrary. It's like it's attributing some specific meaning to those types that they don't really have.
If anything, we should accept any type with a parse function, but that's not something we can statically (or dynamically) check anyway.
I do admit that if my argument against the change is that allowing every object is dangerous, then limiting the accepted types is addressing that. It just feels too arbitrary for comfort.
The current approach is safe and allows all types, you just have to call toString yourself, so in some way, it is the perfect tradeoff. The only thing that mars it is that we can't have static type checking. (Which is a combination of this being a change to a function which originally only accepted String and it being done in Dart 1, where you didn't get as much static type checking anyway.)
Long term goal: Rewrite Uri completely.
Short term ... I don't (personally) think making a change here is actually worth it.

As I was faced with this issue today I would like to suggest to add a warning in the documentation when a function use the queryParameters parameter indicating that calling toString() is required to avoid type inference issue .

Hi folks. dart is a great language I liked a lot.
I faced this today and is my first disappointment on the dart:core, it must be clear that the values must be strings, I had to check the stack logs of the browser to determine the error.
This is a bad API design, must fail clearly. should say something like "you arguments are invalid, must be strings", don't fail like a unexpected behavior.
queryParameters.forEach((key, value) {
      if (value == null || value is String) {
        writeParameter(key, value);
      } else {
        // HERE MUST BE A TYPE CHECK, DON'T ASSUME THAT THE VALUE IS AN ITERABLE
        Iterable values = value;
        for (String value in values) {
          writeParameter(key, value);
        }
      }
    });
    return result.toString();
  }

as I see it, it doesn't matter if the queryParameters only support strings, the problem is don't be clear about it.

Also as programmer, I believe that the implementation should support basic types, dart has built-in types
Numbers (int, double)
Strings (String)
Booleans (bool)
These four are the basic ones, and is a common expected behavior to cast these ones automatically. And then if the programmer doesn't like the default behavior change the value with a custom string cast.


GDNative lib ignores arm64 macos architecture

Godot version:

Godot 3.3.1-stable
OS/device including version:

MacOSX 10.15.7 (19H2)
Issue description:

I have this gdnlib file:
[general]

singleton=true
load_once=true
symbol_prefix="gamecenter_"
reloadable=false

[entry]

OSX.64="res://addons/gamecenter-osx/libgamecenter_universal.dylib"
OSX.arm64="res://addons/gamecenter-osx/libgamecenter_universal.dylib"

[dependencies]

OSX.64=[  ]
OSX.arm64=[  ]

When I open this file in Godot I see:

I can add arm64 manually (then arm64 lib appeared in editor):

When I exit from Godot and open this project again the arm64 library again disappears.
Steps to reproduce:
Just try to use GDNative library on MacOS with arm64 architecture.
Minimal reproduction project:

I think it's a feature which is currently not implemented yet in GDNative (see also #39943).

@naithar @bruvzg Hi! Do you know if anybody is working on this feature? I want to implement it but it may be faster to collaborate with someone.

Single OSX.64 entry with the universal library should work on both Intel and M1 macs.
And adding separate arm64 and x86-64 to the editor UI, should be as easy as changing these lines https://github.com/godotengine/godot/blob/3b3a55ca04331e85cc24ac315b60e7ad4aeb17df/modules/gdnative/gdnative_library_editor_plugin.cpp#L282-L283 32 can be removed, and 64 probably can be renamed to universal.

And adding separate arm64 and x86-64 to the editor UI, should be as easy as
32 can be removed, and 64 probably can be renamed to universal.

I have these changes as part of #46866 / #46860 PR, which also add support for GDNative framework.

@naithar @bruvzg Hi! Do you know if anybody is working on this feature? I want to implement it but it may be faster to collaborate with someone.

Using a single universal .dylib file in any configuration should probably be enough for most cases, since macOS doesn't use same architecture for different targets, unlike iOS, where both device and simulator use arm64.

Thank you!

This was fixed a long time ago.


Bug in AI medic assignment.

This appears to be a code error (I don't know sqf well so maybe it is intended to do something I don't understand).
In pedirAyuda.sqf, in a couple of places the comparison operator == is being used instead of assignment =.
i.e. _medico == _unit; instead of _medico = _unit;
This will obviously produce unintended behavior (unless for some weird reason this code is intentional!).

Thanks, I will check it ASAP


Add score card of LGMSOC in readme

kindly assign it to me

Fine.
Add it just beside the Let's Grow More logo.