Fix error in tutorial

I was trying to figure out how inverse bind pose works, and I was really confused until I realized there's an error here compared to the actual data in "Simple Skin".
Feel free to edit this change to be prettier, but I'd like to bring it up so it can be fixed.  Perhaps it will require reediting the image as well.

Thanks for this hint.
The creation of the tutorial, the Simple* models (originally in https://github.com/javagl/gltfTutorialModels/tree/2.0/SimpleSkin , no longer maintained), and the transition between glTF 1.0 and glTF 2.0 interfered a little, so it might be that an error slipped into the model.
Two remarks:

The SimpleSkin model should also be one of the https://github.com/KhronosGroup/glTF-Sample-Models/tree/master/2.0 , but I noticed that it is not there
Right now, I have doubts that there should be a translation about -0.5, but admittedly, I cannot be absolutely sure

I'll add the SimpleSkin model ASAP, and cross-check with what is currently shown in the tutorial.

According to the data in "SimpleSkin", look at min and max in the "accessors" index 3, I see the -0.5:
"max" : [ 1.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, -0.5, -1.0, 0.0, 1.0 ],
"min" : [ 1.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, -0.5, -1.0, 0.0, 1.0 ]
The reason I found this is I was trying to follow along with the description in "Skins", and it said the mesh was "with the lower left point at the origin (0,0,0)", and a bunch of data with lots of x=0 coordinates.
But, then the diagram is completely different.

And then, subsequently, all following steps don't make sense to me for how "inverse bind pose" works.

Again, I'll have to analyze this more carefully. One of the changes between glTF 1.0 and 2.0 was that the "Bind Shape Matrix" was omitted, and assumed to be either premultiplied with the mesh data, or postmultiplied to the inverse bind matrices. This is likely where the -0.5 comes from (I just had a look at the 1.0 version of the SimpleSkin example at https://github.com/javagl/gltfTutorialModels/tree/master/SimpleSkin/glTF-Embedded-buffers , and it has different inverse bind matrices). In any case, I'll have to figure out how this can best be conveyed in the images.

OK, I figured this one out ... basically. It was indeed the Bind Shape Matrix that caused some confusion here. The simplest and most appropriate seems to be to update the tutorial, so that the example geometry is not in the x-range (0.0, 1.0) but (-0.5, 0.5).
However, some other (related) issue is now causing some headaches: I wanted to update the SimpleSkin example accordingly. But even though the following file passes validation, none of the viewers (except for my home-brewn one) manages to display the animation:
{
  "accessors" : [ {
    "bufferView" : 0,
    "byteOffset" : 0,
    "componentType" : 5123,
    "count" : 24,
    "type" : "SCALAR",
    "max" : [ 9 ],
    "min" : [ 0 ]
  }, {
    "bufferView" : 1,
    "byteOffset" : 0,
    "componentType" : 5126,
    "count" : 10,
    "type" : "VEC3",
    "max" : [ 0.5, 2.0, 0.0 ],
    "min" : [ -0.5, 0.0, 0.0 ]
  }, {
    "bufferView" : 2,
    "byteOffset" : 0,
    "componentType" : 5123,
    "count" : 10,
    "type" : "VEC4",
    "max" : [ 0, 1, 0, 0 ],
    "min" : [ 0, 1, 0, 0 ]
  }, {
    "bufferView" : 2,
    "byteOffset" : 160,
    "componentType" : 5126,
    "count" : 10,
    "type" : "VEC4",
    "max" : [ 1.0, 1.0, 0.0, 0.0 ],
    "min" : [ 0.0, 0.0, 0.0, 0.0 ]
  }, {
    "bufferView" : 3,
    "byteOffset" : 0,
    "componentType" : 5126,
    "count" : 2,
    "type" : "MAT4",
    "max" : [ 1.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, -1.0, 0.0, 1.0 ],
    "min" : [ 1.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, -1.0, 0.0, 1.0 ]
  }, {
    "bufferView" : 4,
    "byteOffset" : 0,
    "componentType" : 5126,
    "count" : 12,
    "type" : "SCALAR",
    "max" : [ 5.5 ],
    "min" : [ 0.0 ]
  }, {
    "bufferView" : 4,
    "byteOffset" : 48,
    "componentType" : 5126,
    "count" : 12,
    "type" : "VEC4",
    "max" : [ 0.0, 0.0, 0.707, 1.0 ],
    "min" : [ 0.0, 0.0, -0.707, 0.707 ]
  } ],
  "animations" : [ {
    "channels" : [ {
      "sampler" : 0,
      "target" : {
        "node" : 2,
        "path" : "rotation"
      }
    } ],
    "samplers" : [ {
      "input" : 5,
      "interpolation" : "LINEAR",
      "output" : 6
    } ]
  } ],
  "asset" : {
    "version" : "2.0"
  },
  "buffers" : [ {
    "uri" : "data:application/gltf-buffer;base64,AAABAAMAAAADAAIAAgADAAUAAgAFAAQABAAFAAcABAAHAAYABgAHAAkABgAJAAgAAAAAvwAAAAAAAAAAAAAAPwAAAAAAAAAAAAAAvwAAAD8AAAAAAAAAPwAAAD8AAAAAAAAAvwAAgD8AAAAAAAAAPwAAgD8AAAAAAAAAvwAAwD8AAAAAAAAAPwAAwD8AAAAAAAAAvwAAAEAAAAAAAAAAPwAAAEAAAAAA",
    "byteLength" : 168
  }, {
    "uri" : "data:application/gltf-buffer;base64,AAABAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAgD8AAAAAAAAAAAAAAAAAAIA/AAAAAAAAAAAAAAAAAABAPwAAgD4AAAAAAAAAAAAAQD8AAIA+AAAAAAAAAAAAAAA/AAAAPwAAAAAAAAAAAAAAPwAAAD8AAAAAAAAAAAAAgD4AAEA/AAAAAAAAAAAAAIA+AABAPwAAAAAAAAAAAAAAAAAAgD8AAAAAAAAAAAAAAAAAAIA/AAAAAAAAAAA=",
    "byteLength" : 320
  }, {
    "uri" : "data:application/gltf-buffer;base64,AACAPwAAAAAAAAAAAAAAAAAAAAAAAIA/AAAAAAAAAAAAAAAAAAAAAAAAgD8AAAAAAAAAAAAAgL8AAAAAAACAPwAAgD8AAAAAAAAAAAAAAAAAAAAAAACAPwAAAAAAAAAAAAAAAAAAAAAAAIA/AAAAAAAAAAAAAIC/AAAAAAAAgD8=",
    "byteLength" : 128
  }, {
    "uri" : "data:application/gltf-buffer;base64,AAAAAAAAAD8AAIA/AADAPwAAAEAAACBAAABAQAAAYEAAAIBAAACQQAAAoEAAALBAAAAAAAAAAAAAAAAAAACAPwAAAAAAAAAAkxjEPkSLbD8AAAAAAAAAAPT9ND/0/TQ/AAAAAAAAAAD0/TQ/9P00PwAAAAAAAAAAkxjEPkSLbD8AAAAAAAAAAAAAAAAAAIA/AAAAAAAAAAAAAAAAAACAPwAAAAAAAAAAkxjEvkSLbD8AAAAAAAAAAPT9NL/0/TQ/AAAAAAAAAAD0/TS/9P00PwAAAAAAAAAAkxjEvkSLbD8AAAAAAAAAAAAAAAAAAIA/",
    "byteLength" : 240
  } ],
  "bufferViews" : [ {
    "buffer" : 0,
    "byteOffset" : 0,
    "byteLength" : 48,
    "target" : 34963
  }, {
    "buffer" : 0,
    "byteOffset" : 48,
    "byteLength" : 120,
    "target" : 34962
  }, {
    "buffer" : 1,
    "byteOffset" : 0,
    "byteLength" : 320,
    "byteStride" : 16
  }, {
    "buffer" : 2,
    "byteOffset" : 0,
    "byteLength" : 128
  }, {
    "buffer" : 3,
    "byteOffset" : 0,
    "byteLength" : 240
  } ],
  "meshes" : [ {
    "primitives" : [ {
      "attributes" : {
        "POSITION" : 1,
        "JOINTS_0" : 2,
        "WEIGHTS_0" : 3
      },
      "indices" : 0
    } ]
  } ],
  "nodes" : [ {
    "skin" : 0,
    "mesh" : 0
  }, {
    "children" : [ 2 ],
    "translation" : [ 0.0, 1.0, 0.0 ]
  }, {
    "rotation" : [ 0.0, 0.0, 0.0, 1.0 ]
  } ],
  "scenes" : [ {
    "nodes" : [ 0 ]
  } ],
  "skins" : [ {
    "inverseBindMatrices" : 4,
    "joints" : [ 1, 2 ]
  } ]
}

I'll have to sort this out as well...

@3dportable This issue is about the glTF tutorial, and this is certainly not the right place to discuss specific Android implementation issues.
But I see...: Where else should you ask?
So for short: The array that is passed to glUniformMatrix4fv must be a 1D array. So if your jointMatrix array should be declared as
float[] jointMatrix = new float[numJoints * 12];

(You could convert your 2D float[][] array into a 1D float[] array immediately before calling glUniformMatrix4fv, but this could cause some memory/performance overhead that you may want to avoid...)

Thanks for the help :) It helped.
It would be great to see a code example of skeletal animation for
AndroidStudio. This could significantly speed up the process of introducing
the format into the gaming industry for indie developers.
If this is somewhere, please let me know.
If there is time, please see the question here
https://stackoverflow.com/questions/60093230/how-to-correctly-multiply-the-bone-matrix-in-a-gltf-project
Thanks
чт, 6 февр. 2020 г. в 00:44, Marco Hutter<EMAIL_ADDRESS>
@3dportable https://github.com/3dportable This issue is about the glTF
tutorial, and this is certainly not the right place to discuss specific
Android implementation issues.
But I see...: Where else should you ask?
So for short: The array that is passed to glUniformMatrix4fv must be a
1D array. So if your jointMatrix array should be declared as
float[] jointMatrix = new float[numJoints * 12];
(You could convert your 2D float[][] array into a 1D float[] array
immediately before calling glUniformMatrix4fv, but this could cause some
memory/performance overhead that you may want to avoid...)
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/KhronosGroup/glTF-Tutorials/pull/25?email_source=notifications&email_token=AOMLB2GNNFHFRC5UNQ3TZUDRBLGGFA5CNFSM4GWJKRHKYY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOEK3VQDA#issuecomment-582440972,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AOMLB2GSMFZNZQQJZRVXL4TRBLGGFANCNFSM4GWJKRHA
.

@3dportable I'm not familiar with Android and AndroidStudio in particular. I created JglTF, but was not able to invest much time there recently (and some parts of it would certainly need cleanups, refactorings, tests, and comments). Recently, someone made adaptions for Android and mentioned them in https://github.com/javagl/JglTF/issues/4#issuecomment-577850998 , but I haven't yet found the time to take a closer look at this.
(A site note regarding Stack Overflow: A while ago, I would have tried to answer your question (and I've been among the top 0.5% contributors there), but I'm no longer active on the site, because ... all the things you can read on Meta StackExchange...)

Thank you, the example for me is complex but very informative. I found a
lot of interesting in it. I will study it further.
You could tell in more detail on examples what is
[globalTransformOfNode ^ -1]
from your documentation.
jointMatrix (j) =
globalTransformOfNode ^ -1 *
globalTransformOfJointNode *
inverseBindMatrix (j)
I understand that this is an inverted matrix. But I still can’t understand
what kind of variable // globalTransformOfNode is and where to get it.
This is the only factor that I have not yet participated in the
calculations, which is probably why the figure is not displayed correctly.
Thanks for the help
чт, 6 февр. 2020 г. в 22:41, Marco Hutter<EMAIL_ADDRESS>
@3dportable https://github.com/3dportable I'm not familiar with Android
and AndroidStudio in particular. I created JglTF, but was not able to
invest much time there recently (and some parts of it would certainly need
cleanups, refactorings, tests, and comments). Recently, someone made
adaptions for Android and mentioned them in javagl/JglTF#4 (comment)
https://github.com/javagl/JglTF/issues/4#issuecomment-577850998 , but I
haven't yet found the time to take a closer look at this.
(A site note regarding Stack Overflow: A while ago, I would have tried to
answer your question (and I've been among the top 0.5% contributors there),
but I'm no longer active on the site, because ... all the things you can
read on Meta StackExchange...)
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/KhronosGroup/glTF-Tutorials/pull/25?email_source=notifications&email_token=AOMLB2CWZVQHNBIBG3BQH5LRBQARNA5CNFSM4GWJKRHKYY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOEK7CWVY#issuecomment-582888279,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AOMLB2AFJWZZOKOAQB3Y7KTRBQARNANCNFSM4GWJKRHA
.

I use a blender 2.81a, and its exporter generates a key for each frame instead of 3 animation keys. He also creates all TRS tracks for me, although I only have rotation. You do not know how to configure this?
In other places, I could not find a lively dialogue on the topic of glTF. I still have a bunch of questions on this subject, but now I know where to ask, and I am grateful to you for that.
It is possible that now the youth will no longer try to make their own implementation of the glTF loader for their games, but will use ready-made game engines where this function is already built-in and debugged.
Of course, if necessary, I will delete all my posts.

I want to be able to add mp3 track to each animation GLB.
How to do this?
Please tell about it in the documentation.

@3dportable glTF is intended for graphics. It is unrelated to sound, and specifically to MP3 files. You can add information in the extras, or define your own extension, though.
However, this repository is for the glTF tutorials, and this issue/PR is not a general place to ask random questions (so I'll stop responding to these). A better place for such random, open-end questions might be the forum at https://community.khronos.org/c/gltf-general/45

 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.

This has been resolved by the update from https://github.com/KhronosGroup/glTF-Tutorials/pull/64


[Improvement][Master] Check status of taskInstance from cache

Describe the question
After the master submit a task, the master will wait for the task execution to end, and it will loop to query the task status from database.
https://github.com/apache/dolphinscheduler/blob/8a1d849701671544327a1d4e7852575af6872017/dolphinscheduler-server/src/main/java/org/apache/dolphinscheduler/server/master/runner/MasterTaskExecThread.java#L123-L164
Why doesn't it query the status from the taskInstanceCacheManager？
When the master receive the response from worker, it will also update the cache.
https://github.com/apache/dolphinscheduler/blob/8a1d849701671544327a1d4e7852575af6872017/dolphinscheduler-server/src/main/java/org/apache/dolphinscheduler/server/master/processor/TaskResponseProcessor.java#L68-L87
I think if we query the status from cache, we can reduce the pressure of the database.
The main risk is that after the worker crashed, we need to send a response to the master when doing worker tolerance.
So as a compromise, can we query the cache 9 times and then query the database once? Or we get task status from cache, and the cache query the task status from database periodically(the schedule interval can be longer).
Which version of DolphinScheduler:
-[dev]

I agree with you, usually, the cache has been able to obtain data to a large extent, so we will reduce a large number of DB queries.

@CalvinKirs Can I try to make this improvement? First time to claim issue here, getting bit of nervous, hah :)
My idea is as follows:
In MasterTaskExecThread.java just get status from taskInstanceCacheManager.
In case of worker failure and doing worker tolerance, ZKMasterClient.java # failoverWorker() method set task status to ExecutionStatus.NEED_FAULT_TOLERANCE, and then send CommandType.TASK_EXECUTE_RESPONSE command containing the newest task status to master . After master process the command , MasterTaskExecThread.java can handle task state rightly.
Maybe my thought is naive, looking forward to your correction.

@blackberrier Hi, I get you point.
In your plan, there might be one thing need to consider, when a master do worker tolerance, if it cannot connect to the master that is executing this worker, how to handle this situation.
There may two possible reason for this case:

They may be deployed in different network centers, in the current architecture we don't require the masters to be able to communicate with each other.
The Master1 is crashed too.

If you want to modify the worker tolerance, it may be complicated.
I think in this case, you can schedule a time rotation in the cache to query ExecutionStatus.NEED_FAULT_TOLERANCE  tasks from database and replace the cache.
What do you think?

@ruanwenjun
Hi, the diagram is great, and I get the point.
It seems that we have to compromise on period of getting the right task status if we want to reduce the access to database.
Then, maybe the possible way is just as you said, In MasterTaskExecThread.java get status from taskInstanceCacheManager 9 times and then query database using processService.findTaskInstanceById(taskInstance.getId()) 1 time. That is query database once every about 10 second?
Is this method ok?

@ruanwenjun
Hi, the diagram is great, and I get the point.
It seems that we have to compromise on period of getting the right task status if we want to reduce the access to database.
Then, maybe the possible way is just as you said, In MasterTaskExecThread.java get status from taskInstanceCacheManager 9 times and then query database using processService.findTaskInstanceById(taskInstance.getId()) 1 time. That is query database once every about 10 second?
Is this method ok?

I think in MasterTaskExecThread  you can get status from taskInstanceCacheManager  directly, and in taskInstanceCacheManager  schedule a timing thread to query NEED_FAULT_TOLERANCE  task from the database and update the cache, this might be better, the taskInstanceCacheManager can be used by many components.
The interval of querying NEED_FAULT_TOLERANCE task from database can be longer, for example, 10 seconds or longer?

@ruanwenjun
Hi, the diagram is great, and I get the point.
It seems that we have to compromise on period of getting the right task status if we want to reduce the access to database.
Then, maybe the possible way is just as you said, In MasterTaskExecThread.java get status from taskInstanceCacheManager 9 times and then query database using processService.findTaskInstanceById(taskInstance.getId()) 1 time. That is query database once every about 10 second?
Is this method ok?

I think in MasterTaskExecThread  you can get status from taskInstanceCacheManager  directly, and in taskInstanceCacheManager  schedule a timing thread to query NEED_FAULT_TOLERANCE  task from the database and update the cache, this might be better, the taskInstanceCacheManager can be used by many components.
The interval of querying NEED_FAULT_TOLERANCE task from database can be longer, for example, 10 seconds or longer?

ok, I'd like to accomplish this improvement in this way.

@blackberrier Looking forward to your pr.
And one additional thing you may need to be considered here is that there are no indexes of state  in the t_ds_task_instance table. If you want to filter by state it may scan the whole table, which can be very slow, and I think you can just query the task existing in cache by id 😄


scriv collect should check category names

Currently it seems that scriv doesn't care if the headers in the changelog fragments match the configured category names. So if I make a typo and write e.g. "### Secruity", scriv will just assume that it's a category of its own.
It would be useful if scriv were to error out when encountering such fragments.

Would it be helpful for such a check to be a pre-commit hook, so that developers can catch this at PR submission, rather than when they're trying to cut a release?

I think it should be part of scriv collect, but this subcommand could have a --dry-run/--check option, which would then be usable as a pre-commit hook.


Minor improvements of z order feature

Motivation and context
Resolved #5142
Resolved #2180
Related #3942

Fixed issue when changing an object causes changing of the current z layer
Added sorting by z order
If the sorting is applied, additional indication added to the sidebar

How has this been tested?

Checklist

[x] I submit my changes into the develop branch
[x] I have added a description of my changes into CHANGELOG file
[ ] I have updated the documentation accordingly
[ ] I have added tests to cover my changes
[x] I have linked related issues (read github docs)
[x] I have increased versions of npm packages if it is necessary (cvat-canvas,
cvat-core, cvat-data and cvat-ui)

License

[x] I submit my code changes under the same MIT License that covers the project.
Feel free to contact the maintainers if that's a concern.

@klakhov
Could you please take a look?

/check

@klakhov
We do not have these shortcuts anymore for a long time. Since these image settings moved from CVAT settings (F2).
Yes, I will remove them from docs.

#5154


Please release on npm! Last release is one year old.

Issue description:
tiny-slider.module.js has missing *.js extensions.
This was already fixed 10 months ago, but never released!
Tiny-slider version:   2.9.2

Please Upgrade on NPM, you do  great job. Thanks

yes please do it! :D

+1

DO IT
DO IT
DO IT
:fox_face:

Just published a new release.
Please check!


Add filtering options to GridSelect

Description
I wanted to be able to use GridSelect to chose between windows on the current workspace only.
So I added functions that accept a filter of type (Window -> X Bool) and only select between windows that return true.
Checklist

[x] I've read CONTRIBUTING.md

[ ] I tested my changes with xmonad-testing
I did test them by putting them in .xmonad/lib.

[x] I updated the CHANGES.md file

Thanks, looks useful!  I just have a couple minor questions/comments, see above.


Split up the bootiso.mono stage

Implement all the necessary stages and changes to be able to split up the org.osbuild.bootiso.mono stage. The EFI booting part builds on work form @runcom in PR #719.
This is marked as draft since PR 719 should go in first.
EFI and Legacy boot works on x86_64.

#719 is in! This is good for review.

NB: the building of this is covered via test/run/test_ostree.py::test_ostree_bootiso PASSED


Change transition, size and color

Hi,
Love your auto complete code! It's really amazing.
I was wondering what I need to configure in order to achieve the following:

Remove transition: I'd like to search box to remain constant in side and not grow/shrink based on mouse focus/click etc.
Change color: How do I change the search bar color?
Change placeholder color: Currently it's barely visible, I'd like to make it a solid visible color.

I tried to mess with the CSS in codepen but every value that I change didn't affect the search box.

Hello @ocp1000,
Thank you! I'm glad it came in handy for you.
Simply you could use a different style sheet other than the default one that comes with autoComplete.js, or you could just override any values in a separate CSS using !important
Please, let me know if that was not helpful enough for you.
Cheers! :)

Hi @TarekRaafat , thanks for the reply.
Any chance you can give me an example on how to do it? I'm a CSS n00b.

Here you go, cheers! :)
Codepen example


start_detached should be constrained to only accept senders of void

Accepting senders that send values and then silently dropping the values on the floor seems ... odd? Like it could hide bugs? My gut tells me we should constrain this.
Thoughts welcome.

Yes, that was my gut feeling also.
Although it may then necessitate the addition of another helper algorithm discard_value(s) that explicitly discards any value from set_value() and calls set_value() with no args.
e.g. auto discard_value(auto&& s) { return then(static_cast<decltype(s)>(s), [](auto&&...) noexcept {}); }
Although there is the counter example that we have std::thread able to accept non-void-returning lambda which it just silently discards the result of...

Although there is the counter example that we have std::thread able to accept non-void-returning lambda which it just silently discards the result of...

It wouldn't be the first time LEWG decided to not repeat the mistakes of std::thread.

fixed


SVG - feGaussianBlur not supported

feGaussianBlur does not appear to be supported as of [c37c316]. Parameter seems to be skipped, but I can't tell for certain.
https://developer.mozilla.org/en-US/docs/Web/SVG/Element/feGaussianBlur

Sample SVG:

SDL output:

That's correct, SDL_image supports the SVG features provided by https://github.com/memononen/nanosvg.
However, feel free to submit a PR adding functionality!


Fix the calls of explicit destructors to avoid double freeing

Only the most derived destructor has to be called.

I've run into this too.  Basically the top most overloaded Dispose(bool disposing) is all that needs to be called...  it needs to handle calling the destructor and it needs to free the object memory.
My fix was a change in CSharpTextTemplate.GenerateDisposeMethods()...
https://github.com/mono/CppSharp/blob/4e7896b8b6aae94140ed5bfc6c8ac96455f9ac2f/src/Generator/Generators/CSharp/CSharpTextTemplate.cs#L1711
            if<EMAIL_ADDRESS>&& @class.IsRefType) // REPLACED ShouldGenerateClassNativeField(@class))
            {
                var dtor = @class.Methods.FirstOrDefault(method => method.IsDestructor);
                if (dtor != null)
                {
                    if (dtor.Access != AccessSpecifier.Private && @class.HasNonTrivialDestructor)
                    {
                        NativeLibrary library;
                        if (!Options.CheckSymbols ||
                            Driver.Symbols.FindLibraryBySymbol(dtor.Mangled, out library))
                        {
                            WriteLine("Internal.{0}({1});", GetFunctionNativeIdentifier(dtor),
                                Helpers.InstanceIdentifier);
                        }
                    }
                }

                WriteLine("Marshal.FreeHGlobal({0});", Helpers.InstanceIdentifier);
            }

            // REMOVED!
            //if (hasBaseClass)
                //WriteLine("base.Dispose(disposing);");

There could be a better fix. Like maybe just testing for the existence of a destructor and making sure it is called.
Thoughts @tritao ?

Fix makes sense and looks good to me. I'll try to come up with a test case and push this in later.

Thanks @tritao !

I cannot remember since when but we no longer call base Dispose methods, if any.


Rename Base Camp to Base Learn

What changed? Why?
Change text from Base Camp to Base Learn
Notes to reviewers
Does NOT change the graphics!
How has it been tested?

@briandoyle81CB looks like this got a merge conflict

@briandoyle81CB looks like this got a merge conflict

@zencephalon fixed but I accidentally pulled some prior commits from others.  That won't matter when it gets squashed, right?

@briandoyle81CB should be fine


what is the minimum GPU requirement?

We used an RTX 4090 to run our experiments. 24 GB should be enough


Allow minus index

Allow minus index to CircularFifoQueue, get(-1) is oldest value, get(-2) is second oldest value

I think, the changes will break down compilation for legacy code

Good noting the backward compatibility issue @izebit . I'd still be fine with that, but before accepting the change - which I'd say could be helpful, at least for those used with arrays/collections in R or Python - we must check if this would not be the only method supporting it.
If we add this behaviour to the CircularFifoQueue in Commons Collections, users could infer that other types were supposed to allow similar behaviour too.
In other words, I think this is useful, but might require a JIRA ticket to keep track of this change as an epic.
Cheers
Bruno

@lamrongol - Do you mind rebasing to the master branch, and re-opening this pull request?

@chtompki Honestly, I didn't think the effect to other class and can't predict the effect. I hope experts of this repository decide.


BeagleBoard-xM "No disk drive was detected"

I've been trying to load 16.04 via netinstall method, but it always comes back with no drive detected, and has along list of drives to try, but I can't find any that work.

I've tried with 2 different sd cards as well, both have the same result.


FatFileSystem/HeapBlockDevice format returns -9

Description

Type: Bug
Priority: Critical

Bug
Target
K64F
Toolchain:
GCC_ARM, ARM
Toolchain version:
mbed-cli version:
1.1.1
mbed-os sha:
f4274b4 (HEAD, tag: mbed-os-5.7.0-rc3) Updating mbed-os to mbed-os-5.7.0-rc3
DAPLink version:
Expected behavior

Using mbed-os-example-fat-filesystem
Formatting and mounting works without errors.

Actual behavior
Formatting returns error code -9.
In the example heap block defined as -> HeapBlockDevice bd(128 * 512, 512);
if defined as -> HeapBlockDevice bd(1024 * 512, 512);
Starts working?
Steps to reproduce
run mbed-os-example-fat-filesystem example

Thanks for reporting the issue.
The FAT filesystem requires a minimum of 256 blocks. Unfortunately the spec doesn't allow the filesystem to be much smaller.
Though we do need to add a note about the minimum requirements for both of the filesystems.
Related https://github.com/ARMmbed/mbed-os-example-filesystem/issues/18

We've sinced added this note: https://github.com/ARMmbed/mbed-os-example-filesystem/pull/26/files
Feel free to reopen this issue if you think it needs more work


No output of running multi label classification for image tagging

Hi there, I am trying to run sample code of below using Jetson Orin Nano Developer Kit, but no outputs. Checked that my terminal is located in the aarch64/bin directory and I am able to run "./imagenet.py images/orange_0.jpg images/test/output_0.jpg" and see the output file as expected. Also checked that I've also got my input file ".images/object_1.jpg".

@marco-cheung hmm this is what I get from running that same command on Orin Nano with JetPack 5.1.1:
[image]  loaded 'images/object_1.jpg'  (500x386, 3 channels)
imagenet:  99.61% class #11 (dog)

It makes a valid output image of it recognizing the dog.  I did notice that your command has a trailing " (after images/test/tagging_1.jpg"), I wonder if that causes anything.   Can you post your console log from when you run it?
Also, does it work on any of the "images/object_*.jpg" test images for you?

In your sample code, there is indeed a trailing ". Not sure if it is a typo? If yes, maybe I should submit a pull request for this?

Sorry about that, you're right!   Just fixed it in commit https://github.com/dusty-nv/jetson-inference/commit/2d5310773b98d78ea56eb8d5b39ad4b25fb5bb58

I just made my first time to create a pull request for this issue on Github.
And then come back and saw you fixed it. (what a shame on me)


Title: I Want to add My project Image_Compression using K means

Initiative (Required)
Hacktoberfest 2024 🎃
Is your feature request related to a problem? Please describe.
Yes my issue solves thee problem of image compression which is widely used today and it helps person to select their own compression rate and custom cluster or color to compress selection.
Describe the solution you'd like.
My notebook implements image_compression using kmeans from scratch and finally implemented it for image compression with custom cluster selection(like which color u want it to compress more) and can work on any image.
Add any other context or screenshots about the feature request here.

Please assign me this under hacktoberfest2024 and GSSOC 2024 -EXT.

I am the mentor of this project.
@sohailshk Hello
I appreciate your issue and thank you for your contribute!!!
@Kushal997-das kindly assign this issue!!


Rewrite

This PR is a much needed cleanup. There's still more work to do, but I'd like to get this in beforehand.
Changes:

Pull back scope. This library came out of experiments I did last summer trying various ways to make dask and scikit-learn play well together. Some things were nice (and useful), others were less so. This PR pulls the scope back to just model parallelism - implementing a dask-accelerated version of GridSearchCV and RandomizedSearchCV. All other stuff is deleted.

Removes the wrapper classes. While nice in thought, they had to jump through hopes to play nicely with both scikit-learn and dask. We now construct the graphs manually, which is both cleaner and faster.

Fully implement the *SearchCV apis. With a few small parameter exceptions, the subclasses are now full drop-ins for their scikit-learn counterparts.

There are still many things I want to do (docs, more tests, performance tweaks), but since I doubt anyone is actually using this library at this point, I'm for merging this and fixing things later.

Ping @TomAugspurger since you're the only one I know of who may have used any of this :). Does this break anything for you? It will currently break passing in any dask objects to fit, etc..., but I plan to fix that in a follow-up.

Don't worry about breaking anything of mine :D I wasn't able to dedicate enough time to really build anything useful on top of dklearn.

Cool, merging this now then. Thanks!


Avoid dropping already mapped flows

Resolves #274
This pulls in the full flowlist and appends to the mapping file in order to "map" already mapped flows.
This is a bit of a patchwork solution and I'd recommend the flow mapping be re-assessed for individual data sources down the line.

@dt-woods, please note that I added 950f098 because I noticed that for some upstream inputs (namely Geothermal) were getting dropped during groupby because it was missing the Source column. Were you finding any flows were being maintained for the geothermal upstream? Feel free to revert this commit if you prefer handling this elsewhere, or if my change was not correct.

Fascinating! Yes, there was some unexplained missing geothermal data. Thanks for this catch, Ben.

Ben, I think the NaNs in the source column you identified is caused by negligence in setting that attribute in the geothermal.py module. Matt and I agree that the better fix would be to correctly assign the source field rather than patch the groupby method to keep NaNs. I may end up rejecting the ammendment tacked on to this proposed fix. I still need to test the flow mapping pass through. Thanks again for putting together the implementation.

Matt and I agree that the better fix would be to correctly assign the source field rather than patch the groupby method to keep NaNs.

Yes I agree I think that would make more sense. Feel free to override those as you see fit. or just let me know if you want me to change


Consider exporting types like BadgeConfig/BadgesConfig

If you're targeting TS 5+, you should be able to do export type * from 'typings.interface.ts'; in the index.
https://www.typescriptlang.org/docs/handbook/release-notes/typescript-5-0.html#support-for-export-type-
Otherwise, I think you'd have to enumerate them.

Looks like you sorted it for me. Great work!


[Enhancement]: Support specifying destination DB name in BabelfishDump

What happened?
With muti-db mode, bbf_dump utility from BabelfishDump currently supports specifying logical DB name with --bbf-database-name.
With a DB like this:
create database test1
use test1
create table tab1(name1 nvarchar(max))

This logical DB name is being written into the dump output as part of schema name for all dumped objects (dump file excerpts):
CREATE SCHEMA test1_dbo
CREATE TABLE test1_dbo.tab1
COPY test1_dbo.tab1 (name1) FROM stdin;

This name is also included in dumped catalogs like sys.babelfish_sysdatabases.
When dump is restored with psql or pg_restore this name cannot be changed.
It would be convenient if bbf_dump will support additional switch like --bbf-dest-database-name to allow specifying different logical DB name to be written to a dump file instead of original DB name specified by --bbf-database-name.
For example, such new switch will allow to dump mydb1 database from live environment as mydb1_customer1_date1 in dump file, so the dump can be restored with this new logical DB name in dev environment.
Version
BABEL_3_X_DEV (Default)
Extension
None
Which flavor of Linux are you using when you see the bug?
Fedora
Relevant log output
No response
Code of Conduct

[X] I agree to follow this project's Code of Conduct.

@staticlibs Thanks for pointing out this use case.
This will require following two cases to be handled to support :

Rename schemas and users being dumped with new database prefix, ie db1_schema1 -> db2_schema2
Modify catalog data being dumped to new database prefix, ie: sys.babelfish_sysdatabase, sys.babelfish_namespace_etc etc.

I have mainly two concern with this:

Renaming objects seems quite tricky to be handled from a frontend utility (bbf_dump/bbf_dumpall) and can be dangerous since a small bug could result in wrong catalog data or orphaned objects on the target server.
Renaming each objects before dumping would probably require heavily changing utility code which would take it far away from the original pg_dump/pg_dumpall utility.

I am thinking about an alternative here which is to support sp_rename for database in Babelfish which means that a user can rename a database and then dump it or vice-versa. The main advantage in this is that it is quite safer and convenient to perform catalog modifications and object renames in the backend compared to frontend.
Let me know what are your views on this.

Thanks for the details! I understand the concerns about long-term maintenance of pg_dump if such modification is added. I think that having database rename support (with sp_rename or alter database modify name), while not as flexible, will be sufficient to cover the use-case of backing up and restoring under different name. Obvious downside here is that such DB rename functionality can only be used in some future version of Babelfish, while pg_dump, in theory, can support this with existing old versions of Babelfish. Will close this issue as "idea rejected".


Review script for paper "2023ApJS..266...35Z" made with predictor "DataLinkerCondenseDetailsWithTemplate"

Created by Paper Data Linking Bot
Please review the download script and instrument details for the paper.
bibcode: 2023ApJS..266...35Z
predictor: DataLinkerCondenseDetailsWithTemplate

There are a ton of instruments mentioned in this paper, and few of them show up in the instrument details form. Likely need to find way to encourage the details form creation to be more exhaustive in cases where there are many many instruments.


fix(cnsl): Email Verified checkbox value was not updated

In #7762 @sschoeb reported that an email was always sent when the email address was changed in the console no matter if the Email Verified checkbox was set.
There was an issue with the checkbox ngModel that no matter the value of the checkbox isVerified was always false therefore the state was initialized and the email was sent.
Adding [ngModelOptions]="{standalone: true}" to the checkbox fixes the issue and the email is only sent if the Email Verified checkbox is not checked as intended.
Thanks @sschoeb for reporting the issue
Should close #7762
Definition of Ready

[X] I am happy with the code
[X] Short description of the feature/issue is added in the pr description
[X] PR is linked to the corresponding user story
[X] Acceptance criteria are met
[ ] All open todos and follow ups are defined in a new ticket and justified
[ ] Deviations from the acceptance criteria and design are agreed with the PO and documented.
[X] No debug or dead code
[X] My code has no repetitions
[ ] Critical parts are tested automatically
[ ] Where possible E2E tests are implemented
[ ] Documentation/examples are up-to-date
[ ] All non-functional requirements are met
[X] Functionality of the acceptance criteria is checked manually on the dev system.

@doncicuto thx for your effort 😎

Thank you @peintnermax for your patience and reviewing time


SyntaxWarning with Python 3.12

You can see from the following test log that there are now syntax warning with Python 3.12:
=== digparser.py
Testing: Python 3.12.1
/<<PKGBUILDDIR>>/dnslib/digparser.py:144: SyntaxWarning: invalid escape sequence '\d'
  m = re.search('version: (\d+),',edns)
/<<PKGBUILDDIR>>/dnslib/digparser.py:147: SyntaxWarning: invalid escape sequence '\s'
  m = re.search('flags:\s*(.*?);',edns)
/<<PKGBUILDDIR>>/dnslib/digparser.py:150: SyntaxWarning: invalid escape sequence '\d'
  m = re.search('udp: (\d+)',edns)
Testing: Python 3.11.7
=== ranges.py
Testing: Python 3.12.1
Testing: Python 3.11.7
=== test_decode.py
Testing: Python 3.12.1
/<<PKGBUILDDIR>>/dnslib/digparser.py:144: SyntaxWarning: invalid escape sequence '\d'
  m = re.search('version: (\d+),',edns)
/<<PKGBUILDDIR>>/dnslib/digparser.py:147: SyntaxWarning: invalid escape sequence '\s'
  m = re.search('flags:\s*(.*?);',edns)
/<<PKGBUILDDIR>>/dnslib/digparser.py:150: SyntaxWarning: invalid escape sequence '\d'
  m = re.search('udp: (\d+)',edns)
..................................................................
----------------------------------------------------------------------
Ran 66 tests in 0.134s

Looking at what's new for 3.12, in the 'Other Language Changes' section, this seems to be relevant:
A backslash-character pair that is not a valid escape sequence now generates a [SyntaxWarning](https://docs.python.org/dev/library/exceptions.html#SyntaxWarning), instead of [DeprecationWarning](https://docs.python.org/dev/library/exceptions.html#DeprecationWarning). For example, re.compile("\d+\.\d+") now emits a [SyntaxWarning](https://docs.python.org/dev/library/exceptions.html#SyntaxWarning) ("\d" is an invalid escape sequence, use raw strings for regular expression: re.compile(r"\d+\.\d+")). In a future Python version, [SyntaxError](https://docs.python.org/dev/library/exceptions.html#SyntaxError) will eventually be raised, instead of [SyntaxWarning](https://docs.python.org/dev/library/exceptions.html#SyntaxWarning). (Contributed by Victor Stinner in [gh-98401](https://github.com/python/cpython/issues/98401).)

I'll take a look at this in the work that I'm currently doing over on https://github.com/nhairs/dnslib/tree/typing

Great.  Thanks,
Scott K


Cannot run in iOS

↳
=== BUILD TARGET Runner OF PROJECT Runner WITH CONFIGURATION Debug ===
ld: warning: Could not find auto-linked library 'swiftCoreFoundation'
ld: warning: Could not find auto-linked library 'swiftSwiftOnoneSupport'
ld: warning: Could not find auto-linked library 'swiftFoundation'
ld: warning: Could not find auto-linked library 'swiftDarwin'
ld: warning: Could not find auto-linked library 'swiftUIKit'
ld: warning: Could not find auto-linked library 'swiftQuartzCore'
ld: warning: Could not find auto-linked library 'swiftCore'
ld: warning: Could not find auto-linked library 'swiftCoreGraphics'
ld: warning: Could not find auto-linked library 'swiftObjectiveC'
ld: warning: Could not find auto-linked library 'swiftCoreMedia'
ld: warning: Could not find auto-linked library 'swiftDispatch'
ld: warning: Could not find auto-linked library 'swiftMetal'
ld: warning: Could not find auto-linked library 'swiftCoreImage'
ld: warning: Could not find auto-linked library 'swiftCoreAudio'
Undefined symbols for architecture arm64:
"protocol descriptor for Swift.Hashable", referenced from:

I already add use_frameworks! still not working.
I already add config.build_settings['SWIFT_VERSION'] = '4.2' still not working
this  is my flutter doctor
[✓] Android toolchain - develop for Android devices (Android SDK 28.0.3)
    • Android SDK at /Users/ekoprasetyo/Library/Android/sdk
    • Android NDK at /Users/ekoprasetyo/Library/Android/sdk/ndk-bundle
    • Platform android-28, build-tools 28.0.3
    • Java binary at: /Applications/Android Studio.app/Contents/jre/jdk/Contents/Home/bin/java
    • Java version OpenJDK Runtime Environment (build 1.8.0_152-release-1136-b06)
    • All Android licenses accepted.

[✓] iOS toolchain - develop for iOS devices (Xcode 10.1)
    • Xcode at /Applications/Xcode.app/Contents/Developer
    • Xcode 10.1, Build version 10B61
    • ios-deploy 1.9.4
    • CocoaPods version 1.5.3

[!] Android Studio (version 3.2)
    • Android Studio at /Applications/Android Studio.app/Contents
    ✗ Flutter plugin not installed; this adds Flutter specific functionality.
    ✗ Dart plugin not installed; this adds Dart specific functionality.
    • Java version OpenJDK Runtime Environment (build 1.8.0_152-release-1136-b06)

[✓] VS Code (version 1.30.0)
    • VS Code at /Applications/Visual Studio Code.app/Contents
    • Flutter extension version 2.21.1

[✓] Connected device (1 available)
    • Eko Prasetyo Lukman Nur’s iPhone • 37e053b536e8662eb1beaf01726e3da0def34749 • ios • iOS 12.1.1

! Doctor found issues in 1 category.

By any chance did you solved this issue?


Different behavior on Linux and OSX of mkdocstrings.handlers.CollectionError

When running the same mkdocs.yml and project from the same directory and specifying the PYTHONPATH in the mkdocs build I have different behaviors when in a Linux server than in my local OSX laptop.
PYTHONPATH='../src' mkdocs build
In particular, in my OSX laptop I receive the following:
 mkdocstrings.handlers.CollectionError module 'mylibrary.mymodule' has no attribute 'mypythonfile_withclasses'
But in the linux server I can build it without a problem.
I have installed the requirements in both conda environments but the result is different. Any tip on what could be causing this issue?
ps . If I don't use mkdocstrings, I can build the mkdocs project in both the server as local.

I'll add OSX jobs in CI. Could you share the code triggering the error please?

CI is passing for macos-latest for both mkdocstrings and pytkdocs. I'll need some code to try and understand what is going on :slightly_smiling_face:

Regarding mac os, I need to set export PYTHONPATH=.:$PYTHONPATH to make mkdocstrings work. I would want to get around that :)


Could I  use one method to handle requests with diffrent path length

First Check

[X] I added a very descriptive title to this issue.
[X] I used the GitHub search to find a similar issue and didn't find it.
[X] I searched the FastAPI documentation, with the integrated search.
[X] I already searched in Google "How to X in FastAPI" and didn't find any information.
[X] I already read and followed all the tutorial in the docs and didn't find an answer.
[X] I already checked if it is not related to FastAPI but to Pydantic.
[X] I already checked if it is not related to FastAPI but to Swagger UI.
[X] I already checked if it is not related to FastAPI but to ReDoc.

Commit to Help

[X] I commit to help with one of those options 👆

Example Code
@router.allmethod("/aaa/{xxx}")
def process_method()：
    response=request(method,url,header)
    return response

Description
i want to use one method to handle requests with diffrent path length .different headers,different method
for example,i have many requests here :
/aaa/  post {"xx":"xx"}
/aaa/bbb/ get
/aaa/xxx put
/aaa/bbb/ccc  -H "xx:xx"   patch
/aaa/bbb/xxx  head
/aaa/bbb/ccc/ddd
is there a method like this can handle all of these requests and directly response the right reponse?
@router.allmethod("/aaa/{xxx}")
def process_method()：
response=request(method,url,header)
return response
i found it is very difficult to process the request's header  body  method by mysql.
Operating System
Linux
Operating System Details
No response
FastAPI Version
0.58.1
Python Version
3.8
Additional Context
No response

my english is so poor , i changed the keywords to arbitrary path  ,perhaps i found the solution

Like this?
from fastapi import FastAPI, Path

app = FastAPI()

@app.get("/aaa/{path_params:path}")
async def example(path_params: str = ""):
    return path_params.split("/")

if __name__ == "__main__":
    import uvicorn

    uvicorn.run(app, host="<IP_ADDRESS>", port=8000)

with curl:
% curl localhost:8000/aaa/bbb
["bbb"]%

% curl localhost:8000/aaa/bbb/ccc
["bbb","ccc"]%

% curl localhost:8000/aaa/bbb/ccc/ddd
["bbb","ccc","ddd"]%

Thanks for the help here @JarroVGIT ! 👏  🙇
If that solves the original problem, then you can close this issue @yueluu  ✔
Otherwise, I would understand that you want something that discards/avoids all the FastAPI features. You could use Starlette's .route(), but have in mind that you would not be really using FastAPI.


"curl: symbol lookup error" when running calicoctl diags

Using the calico-coreos-vagrant-example template, I'm getting the following error when running calicoctl diags:
core@core-02 ~ $ sudo ./calicoctl diags
Collecting diags
Using temp dir: /tmp/tmp.DgXsHLiLFl
Dumping netstat output
Dumping routes
Dumping iptables
Copying Calico logs
Dumping datastore
curl: symbol lookup error: /lib64/libcurl.so.4: undefined symbol: SSLv2_client_method
Diags saved to diags-20150413_223645.tar.gz in /tmp/tmp.DgXsHLiLFl
Uploading file. Available for 14 days from the URL printed when the upload completes
curl: symbol lookup error: /lib64/libcurl.so.4: undefined symbol: SSLv2_client_method
Done

This is with v0.3.1, running CoreOS v575.0.0.

                                                                                I've seen something like that, except with SSLv3 instead of v2, and with gevent instead of curl. The reason was that the OpenSSL on the host OS (Debian) did not provide the SSLv3 symbol, because they had removed it (cf. upstream OpenSSL) on the grounds of it being insecure. Fix was to install a newer gevent (from git) that doesn't ask for SSLv3.Could it be similar in your case?

I've just had a similar report from another partner, and it now appears that my previous comment was probably entirely irrelevant.  Instead, these errors seem to be to do with how the binary version of calicoctl is prepared (from the calicoctl.py source).  It appears that the binary version can assume that certain libraries or features will be present on the system where calicoctl is run - and then in fact they might not be.
In the new case that I just heard about, the lookup error was from 'sh' trying to lookup 'rl_signal_event_hook', and it occurred when running 'calicoctl node ...'.

Similar problems are being discussed here: https://github.com/docker/compose/issues/170.
Also note that the 'rl_signal_event_hook' report came from running on ArchLinux.

Ah, http://www.bay12forums.com/smf/index.php?topic=140966.115;wap2 says (for the same problem in an unrelated tool):
Apparently there's a known incompatibility between Python 2.7 and readline 6.3; the pre-built executable is using a bundled Python 2.7 interpreter, so if you have the latter installed, that would cause it.

It looks like Python has been updated to fix it since then, so I'll try to get that version installed for the next build

A workaround until then is to [...] grab the source code [...] and run it from source [...].

So a workaround for the 'rl_signal_event_hook' problem is to run calicoctl.py from source, instead of the pre-built executable.  I imagine that might work for the curl symbol problem too.

I've compiled calicoctl in a archlinux container and then it works without rl_signal_event_hook errors.

@teemow Does this mean you're unblocked for your upcoming demo? If so, we can look into a more strategic fix for this.

Tried to fix this using python libraries to replace curl.  Turns out to be a little more complicated than I'd hoped, so downed tools for the time being.
Details of changes so far (see branch: https://github.com/robbrockbank/calico-docker/tree/issue-60-no-curl-installed )
Namely using requests.  This had the add-on effect of requiring the following:

pyopenssl
ndg-httpsclient
pyasn1
requests[secure]
build-essentials

A pyinstaller hook to include the requests certificate files.
The master version of PyInstaller (pip install version 2.2 is missing function to allow packages that have a .pth file ... which ndg-httpsclient does).
I'm now getting the following:
  File "/code/build/calicoctl/out00-PYZ.pyz/cryptography.hazmat.bindings.openssl.binding", line 11, in <module>
  File "/usr/local/lib/python2.7/dist-packages/PyInstaller/loader/pyi_importers.py", line 416, in load_module
    module.__dict__['__file__'] = filename
ImportError: No module named _cffi_backend

How about we just remove the upload functionality? And instead print a message saying "You can upload the diagnostic bundle to a file sharing service such as transfer.sh using curl
curl --upload-file XXX https://transfer.sh/XXX"


Want to know if this opencv-js can be used in Angular10

Dear Sir,
I would like know whether this opencv-js can be used in Angular10 or only for React platform.
If it can be use in Angular Platform, I would like to know how to implement the system to enable to use OpenCV.js

@WisarutBholsithi this opencv-js does not bind anything to React. You can use it in Angular for sure.
use import cv from "@techstark/opencv-js" then you can call method on cv.

See https://github.com/TechStark/opencv-js-examples/blob/develop/opencv-js-angular-example/src/app/app.component.ts


Pod created notification is still sent for excluded namespace.

Description
I've added the jenkins namespace to the list of excluded namespaces but I still see the v1/pods created event coming in on Slack. I use jenkins* now but I had the same issue just using jenkins
I am using v1.0.0 deployed with helm.
Expected behavior
No notifications should come in for this namespace
Actual behavior
Notifications do come in for Pod creation
Steps to reproduce
Config:
sources:
    k8s-all-events:
        displayName: Kubernetes Info
        botkube/kubernetes:
            enabled: true
            config:
                annotations: {}
                event:
                    message:
                        exclude: []
                        include: []
                    reason:
                        exclude: []
                        include: []
                    types:
                        - create
                        - delete
                        - error
                filters:
                    nodeEventsChecker: true
                    objectAnnotationChecker: true
                labels: {}
                namespaces:
                    exclude:
                        - jenkins*
                    include:
                        - .*

    k8s-create-events:
        displayName: Kubernetes Resource Created Events
        botkube/kubernetes:
            enabled: true
            config:
                event:
                    types:
                        - create
                namespaces:
                    exclude:
                        - jenkins*
                    include:
                        - .*

        socketSlack:
            enabled: true
            channels:
                default:
                    name: botkube
                    notification:
                        disabled: false
                    bindings:
                        sources:
                            - k8s-err-events
                            - k8s-recommendation-events
                            - k8s-all-events
                        executors:
                            - k8s-default-tools

Hi @Jelle7 I see that you also have a k8s recommendations enabled. So I would suspect that you are not getting the normal create events, but you get recommendation events, please check that. We will fix that as a part of: https://github.com/kubeshop/botkube/issues/1041
For now, you can remove the k8s-recommendation-events from the source binding, or fix the issues that are described as a part of the recommendation message.

Thanks for your reply @mszostok
It appears that they are indeed recommendation notifications. I see it is a known issue. I will disable those for now until the fix is released.


[Feature] Helm KCL Plugin

I was very glad to find the helm project and browse all its documents. I found that it coincided with what we wanted to do.
Specifically, we have just opened our domain language project KCL, which is specifically used for configuration writing and policy verification in cloud-native and Kubernetes scenarios. However, it is obviously not enough to use only one language for Kubernetes configuration management until we find Helm. We want to develop Helm KCL plug-ins and SDKs, so we want to keep in touch with you through this issue.
We have designed kpt kcl sdk. KPT is a great Kubernetes editing tool, but there are still many needs that cannot be well met (Off-the-shelf packages are rarely deployed without any customization). So we have reason and feasibility to verify the integration of KCL and Helm tools.
The initial design of helm kcl plugin is here: https://github.com/KusionStack/KCLVM/issues/426
Looking forward to receiving your reply

What can I do for you？

What can I do for you？

If possible, I would like to ask you to help me preliminarily check whether the design of the Helm KCL Plugin is reasonable. We have designed kpt kcl sdk to complete KCL's enhancement of KRM, which we believe is similar in help.
In addition, I will continue to participate in the contributions of communities such as helm and helmfile

@joejulian could you mention this in the dev meeting? thanks very much.

@joejulian could you mention this in the dev meeting? �thanks very much.

Thank you! I am also willing to participate in the dev meeting.

Hello. I have completed the initial version of the Helm KCL plugin, and I hope you can give some suggestions. Thank you @yxxhero @joejulian
Besides, I will continue to design and improve it.


Pin on open activity

Id want for the pin to be requested when I open a specific activity not the main activity

remove inhaeritance PinActivity for MainActivity, or add ignored activity like this:
LockManager.getInstance().appLock.addIgnoredActivity(MainActivity.class)


Refactor XMLGenerator

@indocomsoft can you explain in what way it needs to be refactored?

Refactoring using macros, cos right now I have to keep on creating new functions for each tag. Instead the block could be passed to a macro that will automatically convert each function to a new tag.
This is strictly very low priority, cos its only used for testing the xml parser.

OK, will keep it around as "_postponed".

I can work on this since im gonna be touching on the xml_parser!! will refractor accordingly.


Update dataset.py

For the last word, there is no relative distance feature, so i have added [0] to it

So, with this Pull request, we solve:

https://github.com/shabie/docformer/issues/19#issue-1087598707
https://github.com/shabie/docformer/issues/21

Can you see this:  Position Embedding in LayoutLM
I think that, for the position Encoding, this would seem fine (since they are learnable), rather than fix sin and cos function
The changes would be:
`class PositionalEncoding(nn.Module):
        def __init__(self, d_model: int, dropout: float = 0.1, max_len: int = 5000):
            super().__init__()
            self.dropout = nn.Dropout(p=dropout)
            self.max_len = max_len
            self.position_embeddings = nn.Embedding(max_len, d_model)
            self.register_buffer("position_ids", torch.arange(max_len).expand((1, -1)))

    def forward(self) -> Tensor:
        x = self.position_ids[0, : self.max_len]
        x = self.position_embeddings(x)
        return self.dropout(x).unsqueeze(0)`


the picture is on the lower part of the web page

A clear and concise description of what the bug is.
Expected results
I want the picture to be in the center part of the web page.
Actual results
Screenshots
If applicable, add screenshots to help explain your problem.

How to reproduce the bug

if I press Ctrl+0,no luck...

and words overlap with each other.

Hi, @appleyuchi. have a trick, can do it.

append a "&standalone=true" parameter to explore url
zoom in / zoom out by browser can apply to sankey diagram

Thanks for your replies,
but could you developers set it to center of the page automatically?
Much Thanks for your hard work~~~

Can't reproduce, what version of Superset and Chrome is this?

Can't reproduce, what version of Superset and Chrome is this?

The Chrome is in Linux Desktop
Ubuntu Linux 20.04
The effect is in:
http://<IP_ADDRESS>:5000/superset/dashboard/2/
it's deployed in single node,so it's slow,
wait for 25 seconds please


"Indicate when a node should be re-interviewed" shows an incorrect status (never changes)

Checklist

[X]  I am not using Home Assistant. Or: a developer has told me to come here.
[X] I have checked the troubleshooting section and my problem is not described there.
[X] I have read the changelog and my problem is not mentioned there.

Deploy method
Snap
Z-Wave JS UI version
8.24.0
ZwaveJS version
11.13.0
Describe the bug
Since the latest release, with introduced new feature (Show icon when a node should be reinterviewed), that new icon doesn't go away even after doing a new interview of the node (or of all the nodes).
I get the blue icon since 8.24.0 first started up. Tried to reinterview each node, no effect.
Tried to refresh configs manually and then reinterview, no effect
Reboot, no effect
Included 2 new nodes today in my network, they also get the blue icon.

To Reproduce

Update to version 8.24.0
Start ZwaveJS-UI
Blue icons show up on every device
Re-interview each node, no effet

Expected behavior

Blue icon should go away after node has been reinterviewed
Blue icon should not show up when there is no new config available

Additional context
No response

I have the same exact issue after I updated the firmware for two devices.

Aeotec Siren 6
Inovelli LZW30

Z-Wave JS UI version : 8.24.0
ZwaveJS version : 11.13.0
Not only do the blue icons don't disappear after a re-interview, the two devices are showing as "unknown". Pairing and re-pairing the devices do not fix the issue.

Hello,
Same plus lots of my nodes are "not answering" and/or even don't respond quickly or not at all to re-interview.

Experience same on at least 1 of my Neo Coolcam nodes. V8.24.0

I have submitted a PR to fix the problem about the icon that doesn't hide after a re-interview. I don't understand why it's positioned like that in safari, I need to check what's going on there

Hello Robert,
I am still having issues with the latest fix. I now see an orange icon. I click on it and it seems to be doing something but the icon does not disappear and my two affected devices still show as "unknown".
I tested the UI fix with Safari v15.6.1 and Firefox v116.0.3.
Un-pairing and re-pairing the device does not fix the issue.

Yeah seems now there is a bug on driver side 😢 I need to update driver and bump a new version

https://github.com/zwave-js/node-zwave-js/pull/6240

@robertsLando : thanks for the quick fix, I'll give it a shot as soon as the edge snap package version is refreshed :)

@robertsLando : if it can help you : this is how it looks in my chrome browser, latest version

@jfhautenauven are you using docker master tag?

@robertsLando : nah, i'm using snap package diffused by giaver, edge version, 8.24.0
Docker was not an option (hosting on synology, too much issues). I run the whole thing inside a Debian 12 VM

OK so you need to wait I release a new version with the update of the driver. It's on master now but not released yet. Dunno if there is a channel on snap that picks updates from master
cc @jmgiaever

8.24.2 is building

It's baking at this moment. Should be out in about 30 minutes. 32 bit will take a bit longer. 😊

No problemo, got a bit of time this evening to give it a shot, i'll report here the results :)

@jmgiaever : I see 8.24.2 avail on edge channel,  that's good already :p do you know when it gets promoted to candidate ? :p

32 bit is finishing now, and is in the release step of the cycle. It's probably done in a few minutes and all builds will be promoted to candidate then. I can notify you.

Finished now and promoted.

@robertsLando : confirmed to be working here, after restart, all blue bubble for reinterview are gone :)
I cannot give you a screen shot of the display of the blue bubble anymore, but what matters most is that the blue bubbles are working as they should now :)
Thanks to you and mister @jmgiaever for making it happen so fast :)
Cheers from Belgium :)

Thanks for trying to fix the issue. I can confirm that the blue or orange icon no longer displays itself. 👍
Despite this fix, I still have the original issue after I updated the firmware for two devices. All entities show as "unknown".
Aeotec Siren 6 - Upgraded FW to version 1.9
Inovelli LZW30 - Upgraded FW to version 1.22
It is a curious coincidence and don't know what to do next.

All good now. I triggered the alarm (of my Siren 6) and the entity state changed from "unknown" to "on" and then "Off". Weird. No longer in an "unknown" state.

@snowmangh : when you do firmware update on any device, it's always a good idea to re-interview the devices and then (personal technique) I ask for the refresh of all value (Refresh all CC)


Issue with @keyframes in SVG style tag

Hi.
I'm using "vite-svg-sprite-wrapper" and having problems with keyframe animations inside SVGs. I suspect the problem is in this module.
It probably has something to do with the nested syntax of the @keyframes rule. Here's what happens:
src:
<svg width="48" height="48" viewBox="0 0 48 48" fill="none" xmlns="http://www.w3.org/2000/svg">
    <style>@keyframes icon-animation-arrow-down { 50% { translate: 0 8% } }</style>
    ...
    <path vector-effect="non-scaling-stroke" d="M32.6098 23.6797L24.125 32.6494L16.125 23.6797" stroke="black" stroke-width="2" stroke-miterlimit="10" stroke-linecap="round" stroke-linejoin="round" style="stroke: var(--icon-stroke); stroke-width: var(--icon-stroke-width); animation: 0.6s both var(--animation-name, icon-animation-arrow-down);"/>
</svg>

result:
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
    <symbol viewBox="0 0 48 48" fill="none" id="xxx" xmlns="http://www.w3.org/2000/svg">
        <style>@keyframes icon-animation-arrow-down { 50% { translate: 0 8% } } }</style>
        ...
        <path vector-effect="non-scaling-stroke" d="M32.6098 23.6797L24.125 32.6494L16.125 23.6797" stroke="black" stroke-width="2" stroke-miterlimit="10" stroke-linecap="round" stroke-linejoin="round" style="stroke: var(--icon-stroke); stroke-width: var(--icon-stroke-width); animation: 0.6s both var(--animation-name, icon-animation-arrow-down);"/>
    </symbol>
</svg>

An additional closing curly bracket is added to the keyframe block.
This gets even worse with more than one animation steps:
src:
<style>
    @keyframes icon-animation-arrow-down {
        0% { translate: 0 }
        50% { translate: 0 8% }
        100% { translate: 0 }
    }
</style>

result:
<style>@keyframes icon-animation-arrow-down {
            0% { translate: 0 }
            50% { translate: 0 8% }
            100% { transla{ translate: 0 8% }
            100% { translate: 0 }
        }
    { translate: 0 }
        }

        }</style>

Am I doing something wrong? Hope you can help.

This is an upstream svgo issue. You could try with v3.0.0-rc1 which is using the latest 3.2.0 svgo, otherwise this needs to be fixed upstream in svgo.


[Dev] Adds husky for linting ts files, and ensuring the entire thing builds

To avoid accidentally pushing builds that fail, I've added:

TSLint to run on creating a new commit
A project build on push

The first will only really catch issues inside files which have changed, so it'll be faster. This won't highlight issues in related files, so when you do a push it will run the entire project build (took me 4 seconds before this commit was pushed.)
Interesting side effect is that this forces you into using the right node version, I had to install 6.9 in order for the linters etc to pass.

I’m ok with this, just will have to figure out why lint-staged hasn’t been working for me in MP.


Typescript support

I don't know how feasible it is but thought that I should put it out here.
It would be awesome with Typescript support.

Not sure if this is related to Typescript (which we're using) but I'm getting the following error:

Hopefully in future https://github.com/babel/babylon/issues/320

Is that something that should be solved in this processor though? It would be more straightforward if we could keep this processor agnostic of any static typing the user might be using.

Did a PR to address this issue. I've taken the same approach as Prettier JS relying on typescript-eslint-parser to convert the Typescript AST to Estree AST.

What a great PR, thank you so much @gcazaciuc! 😍
Released in v0.1.1 👌

I think it is really cool to have typescript support. But I do not use typescript and get an error as follows:
npm WARN<EMAIL_ADDRESS>requires a peer of typescript@* but none was installed.
Do you know how to suppress this warning?

Yep update :), it was removed as a peerDependency

Or actually nevermind, sorry, that specific warning we probably can't do anything about, it is just a warning though. We need to include the parser as a dependency for if you use it for Typescript, though the code will never run unless you actually run it on a Typescript file and therefore you won't actually need Typescript installed. But I guess that warning is from the typescript-eslint-parser package, so not much we can do about that as it needs to come bundled with the processor.

Ok, thanks for your clarification anyway.


Swift 3 migration

Hello, I have created logic to enable buffer slider to run on Xcode 8. Could you merge this pull request?

@mariogalijot Hello thanks for the effort. I will merge it when I am in the next few days.


Update API how-to with note about AAD B2B errors

Added a note indicating that the calling application or user must reside in the AAD Tenant that the ADT instance is in, even if the user or SP has been given permissions through AAD B2B

@jlorich To simplify the process of implementing the review suggestions, I've created a copy of this PR that pulls in your commit and adds the review edits I've suggested above.
Here's the new PR link: https://github.com/MicrosoftDocs/azure-docs-pr/pull/154302
I'll plan to merge in the updates through that PR today, and close this original PR once they're merged in.
If you have additional comments on this strategy or believe my edits changed the intent of your contributions, please comment back in this PR thread and we can discuss and make additional changes as needed.
Thank you!

#please-close


chore: add color resource ✨

Fixes Issue
Closes #1027
Changes proposed

Added FarbVélo resource to Frontend -> colors category.

Screenshots

Changes have been made @rupali-codes


Getting 500 error when attempting to view block cypher block explorer links

Overview
Currently in production when attempting to select a block explorer link that would be served by blockcypher, the valiid transaction returns a 500 server error.
References and additional details
This issue seems to be a blockcypher issue and not a ShapeShift issue.  This may be resolved on block cypher's side eventually.
https://live.blockcypher.com/btc/tx/9500094827935e52fae5746b98954bdb920ec348326a3aa9443613e9425e63f8/

Same tx in blockchair:
https://blockchair.com/bitcoin/transaction/9500094827935e52fae5746b98954bdb920ec348326a3aa9443613e9425e63f8

Can we possibly switch our block explorer link out to something more reliable and better than blockcypher?
  Blockchair has lots of colors and is multichain with way more useful information. There are many other services out there that are also better than bland gray boring not informative blockcypher.
Acceptance Criteria
A reliable blockchain explorer service for txids in the app.
Need By Date
No response
Screenshots/Mockups
No response
Estimated effort
No response

Blockcypher is back but it doesn't change my loathing of our usage of it for UTXO txids.


Team members cannot run installation

A little oversight, but right now the installation script will check if commit.exs exists, and if it does, stops the execution of installation.
However, this means that let's say in a team of 3, if one person in the team installed, commit.exs will be git-tracked, now if it's pushed to repo and then the other two people pull it down, and try to run mix committee.install again, they won't run the git hooks installation part, because commit.exs exists.
Not quite sure what will be fix, maybe always run the git hooks installation? (but then this will override the backup). So ideally other team members should be able to run it.
Another idea I can think of is to create sort of like a "sentinel file". commit.exs should be that, but that's not enough because it's git-tracked, which means I need a gitignored version of sentinel file. Maybe could create a file inside .git/hooks/committee.checksum or something that acts as a sentinel, and run install if that file doesn't exist?

First of, really great initiative with this library @edisonywh. It is sad that we still don't have a mature and good solution for git hooks yet.

A little oversight, but right now the installation script will check if commit.exs exists, and if it does, stops the execution of installation.

Nice that you opened a issue, because that is something necessary for me to be able to introduce this library in my projects.
I think here we have two problems, one is about properly checking if the githook is installed with committee and another how to prevent from override the backup values.
For the first, how to properly check if the githook was installed. I think instead of checking the existance of the commit.exs file, we could use the same approach that husky uses. It adds a # husky at the top of the git hook file. And whenever someone tries to install, it reads the git hook file and check if it has this flag, if does not it proceeds with the installing, otherwise it just stops. That approach could be also useful, in the future, in case we want to upgrade the format of the git hook, we can just check the version in this "flag" and have a backward compatible update.
https://github.com/typicode/husky/blob/master/src/installer/index.ts#L57
https://github.com/typicode/husky/blob/master/src/installer/is.ts#L3
https://github.com/typicode/husky/blob/master/src/installer/getScript.ts#L34
For the second, I would propose for instead of just adding the sufix .old to the backup file, we add some data that is unique, like a uuid. So we prevent us from rewriting existing backup files.
WDYT? I would be happy to send some PRs for these changes.

👋 @thiamsantos!
Thanks for the kind words! I think in general the git hooks game just isn't very popular in general, the biggest community I've found is in JS's Husky, but in Ruby, for example, it's not as common from what I've seen. Maybe with you and the community's help, Committee can get there :D
Yeah apologies for that, I've been using it on my side project so it wasn't very noticeable until I tried to introduce it in a team project and I immediately recognized what's happening, haha. Way to shoot myself in the foot :p

Thanks for sharing the links from Husky! I didn't actually know that's how they did it. Speaking of, I don't know why I didn't refer to Husky's implementation more, these are great stuff and I think there's a lot to learn from them! I really like their debug ENV implementation too!.

For the first, how to properly check if the githook was installed.

I agree with this problem statement, but I'm not sure if I understand your last point where you mentioned:

That approach could be also useful, in the future, in case we want to upgrade the format of the git hook, we can just check the version in this "flag" and have a backward compatible update.

Can you elaborate on this/give an example?
If we end up using the # husky way, wouldn't that mean that we have to read all hooks file to check the first line of text? I'm not sure how Husky does it, whether they install all hooks upfront, or only when defined (because Committee installs everything upfront), so maybe that's why they had to check for each file - they don't know which ones have been installed.
In Committee case however, because we installed everything upfront, the state is clear for us - Committee is either installed, or not installed. It's a binary boolean. For that the ideal solution in my mind is a sentinel file inside .git/hooks directory called .committee perhaps, and because like I mentioned earlier the user has either installed or not, this .committee file will tell us whether we should proceed with installation or not. What do you think of this?

For the second, I would propose for instead of just adding the sufix .old to the backup file, we add some data that is unique, like a uuid. So we prevent us from rewriting existing backup files.

I don't really understand what you mean in your second point, so feel free to elaborate a little more. The idea for a .old is just a single backup before Committee overrides your git hooks, having a single file also makes it easier to revert/restore the backup (rename .old). I reckon this might be a little trickier with a UUID? Also I fear that this might open up a can of worm where if a user accidentally run installation multiple times (perhaps if they have it as a mix task), we generate a whole lot of unused backups in their .git/hooks
From your point I think the underlying issue is that we should not be able to run committee.install twice and have it rewrite the existing backup, for instance:

User has hooks from Husky
Runs committee.install
Husky hooks backed up to .old
User re-run committee.install
Skips installation, because config file (commit.exs) exists
User delete config file
Rerun committee.install
Previous Committee hooks backed up to .old, overwriting Husky, and now Husky backup is lost forever.

Therefore I think the problem is that, we should not be able to backup hooks generated by Committee, because. This problem is also kinda solved if we implemented the first solution with a sentinel file, that way users won't even be able to proceed with the installation of Committee if they have previously done so. What do you think?

Yeah apologies for that, I've been using it on my side project so it wasn't very noticeable until I tried to introduce it in a team project and I immediately recognized what's happening, haha. Way to shoot myself in the foot :p

No worries about that, I think you did an incredible job. I already tested most of the existing solutions with elixir, and also tried my own (using mix scripts), but neither of them had a clear and simple approach. So is a really awesome idea of using a simple elixir script file.

If we end up using the # husky way, wouldn't that mean that we have to read all hooks file to check the first line of text? I'm not sure how Husky does it, whether they install all hooks upfront, or only when defined (because Committee installs everything upfront), so maybe that's why they had to check for each file - they don't know which ones have been installed.

Yeah, that's exactly what they do. https://github.com/typicode/husky/blob/master/src/installer/index.ts#L42
They read every single git hook, if the file is generated by husky, they just skip it.
That's the flow that I imagine for commitee, mainly stealing from husky:
1 - If the commit.exs does not exist, create it.
2 - Reads all git hooks.
3 - For each git hook file.
3.1 - If it was generated by the current version of commitee, just skip the installation.
3.2 - If it was generated by a previous version of commitee, update the script with the new version.
3.4 - If it was not generated by commitee.
3.4.1 - Backup the file, adding the .old prefix.
3.4.2 - Generate the hook using committee.
With 3.1 we prevent the creation of multiple backup files and overwriting the hook already setted up.
Also we handle the case of future support for other hooks, today we only support pre_commit and post_commit.
If we add suport for another hook how we are going to install those ones? The sentinel file would already exists and the installation would be skipped.
So we would need to instruct the user to remove the sentinel file to perform another install, with that we would be leaking the internals for the users, that could be specially hard for newcomers to understand what is going on. In my opinion, the perfect scenario would be just rerunning the install script and everything be update automatically without the user knowing that.
With 3.2 we account for a possible v2 of commitee.
Let's say that in the future the format file change drastically or we rename committee.runner to committee.foo.bar.
How we are going to handle that? With a single sentinel file, if it already exists the script wouldn't be updated, and again we would require the user to explicit remove the sentinel file, but I think that the script should handle all that by itself.
I think having a way to track the current version of commit for each hook script separated is better than a single sentinel because:

We would be accounting for the future support of new hooks. A single sentinel file would prevent the user from adding the hooks supported by the updated version of committee.
We would be accounting for the possible future change on the commitee hook format. A single sentinel file would prevent the user from updating the already existing script to the new version, requiring some additional steps for migrating to the new version.

Also I fear that this might open up a can of worm where if a user accidentally run installation multiple times (perhaps if they have it as a mix task), we generate a whole lot of unused backups in their .git/hooks

I think that will not be a problem if we just create the backup file for hooks not generating by us. Adding a unique part to it is just a failsafe for not overwriting existing backup files that a user might have, generated by other things.
@edisonywh WDYT?

I think you raised great points that I didn't spot earlier, very good arguments about versioning and hooks support! Love the idea about fixing the unlimited backups with versioned Committee files too, solves the problem rather elegantly.
I am pretty convinced so let's go with that!  🎉

@edisonywh Nice :rocket:
WDYT of focus on the #2 first, so when we make this changes we have more trust that we are not breaking anything? :)


gnucash 2.6.9

Thank you for the contribution. It was merged directly as ef061791964aba352479bce643bf3663e66f8806 to keep commit history cleaner. Your contribution is still credited to you.


Randomizing option for search results

The solution seems rather difficult, and DBMS specific, therefore this feature won't be present.

A workaround is to have an option to go to a random page of the search results.


fix(navigation): handle null reference

ensure secondary ID is set

@danbucholtz can you review this PR and merge it for the next release?


Set Order Status

Hello,
i fetch my orders from Amazon, that works great.
But how I can conform the delivery with trackingcode to amazon?
I found this sample:
/* 				 * <?xml version="1.0" encoding="UTF-8"?> 				<AmazonEnvelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="amznenvelope.xsd"> 				<Header> 				<DocumentVersion>1.01</DocumentVersion> 				<MerchantIdentifier>My Store</MerchantIdentifier> 				</Header> 				<MessageType>OrderFulfillment</MessageType> 				<Message> 				<MessageID>1</MessageID> 				<OrderFulfillment> 				<MerchantOrderID>1234567</MerchantOrderID> 				<MerchantFulfillmentID>1234567</MerchantFulfillmentID> 				<FulfillmentDate>2002-05-01T15:36:33-08:00</FulfillmentDate> 				<FulfillmentData> 				<CarrierCode>UPS</CarrierCode> 				<ShippingMethod>Second Day</ShippingMethod> 				<ShipperTrackingNumber>1234567890</ShipperTrackingNumber> 				</FulfillmentData> 				<Item> 				<MerchantOrderItemID>1234567</MerchantOrderItemID> 				<MerchantFulfillmentItemID>1234567</MerchantFulfillmentItemID> 				<Quantity>2</Quantity> 				Selling on Amazon – Guide to XML 				67 				</Item> 				</OrderFulfillment> 				</Message> 				</AmazonEnvelope> 				 */

There are two ways to do tracking numbers: the Merchant Fulfillment API (the sample you found) and a shipment feed.
If you have not already purchased a tracking number, you can use the Merchant Fulfillment API to purchase a tracking number directly through Amazon. Keep in mind that Amazon will provide rates for all available services, including those that would arrive late or would not make sense for your item. (You can't ship a toaster in an envelope.) If you purchase a tracking number this way, Amazon will already know about the tracking number, so no further action is needed.
If you have already purchased a tracking number through another service, you must send an Order Fulfillment Feed ("POST_ORDER_FULFILLMENT_DATA") using the Feeds API. This library can send feeds, but it cannot build them, so you will have to look on Amazon's website for a template.
That's all there is to it. Hopefully this helps. I'll close this later today unless you still need help.

thank you,
one more question:
setFeedContent(): set the full xml ? like  <AmazonEnvelope ....
or just the Body like ...  ?

Yes, it should be the full XML contents. (Or, in the case of flat file feeds, the full CSV contents.)

But what is wrong, i get alway Errorcode 25.
$feed = '<?xml version="1.0" encoding="UTF-8"?>
					<AmazonEnvelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:noNamespaceSchemaLocation="amzn-envelope.xsd">
					<Header>
						<DocumentVersion>1.01</DocumentVersion>
						<MerchantIdentifier>XXXXXX</MerchantIdentifier>
					</Header>
					<MessageType>OrderFulfillment</MessageType>
						<Message>
							<MessageID>1</MessageID>
						 	<OrderFulfillment>
								<AmazonOrderID>amazonOrderId</AmazonOrderID>
							<FulfillmentDate>2016-09-01T12:36:33+02:00</FulfillmentDate>
								<FulfillmentData>
									<CarrierCode>UPS</CarrierCode>
									<CarrierName>UPS</CarrierName>
									<ShippingMethod>Second Day</ShippingMethod>
					<ShipperTrackingNumber>1Z201R596893249019</ShipperTrackingNumber>
								</FulfillmentData>
								<Item>
			<AmazonOrderItemCode>32517265691075</AmazonOrderItemCode>
			<Quantity>1</Quantity>
					</Item>
							 </OrderFulfillment>
						</Message>
					</AmazonEnvelope>';

$f = new AmazonFeed();

				$f->setFeedContent($feed);
				$f->setFeedType('_POST_ORDER_FULFILLMENT_DATA_');

				$f->submitFeed();

The error you are getting is related to the contents of the feed itself, which is beyond the scope of the library.


edifying a tree does not work

edifying a tree executes successfully but the sapling remains unchanged.

hexcasting-fabric-1.20.1-0.11.1-7-pre-609 and hexcasting-forge-1.20.1-0.11.1-7-pre-609
As original post states, the spell executes when given a sapling's coordinates, yet doesn't do anything to the sapling.

I spent some time poking at this one.  It fails because the edified trees are never registered as ConfiguredFeature<?,?>s.
However, simply trying to register them in the same manner as other registered objects failed.
On Forge, the registration method never got called.  On fabric, there is no BuiltInRegistries.CONFIGURED_FEATURE

Potential fix submitted as PR #594 .
I'm not happy with that solution, but it does serve to demonstrate exactly what's wrong.


Keyboard Manager - Hotkeys to disable a keyboard when multiple keyboards are attached

Description of the new feature / enhancement
As telepresence for meetings while working from home continues to be quite common, unwanted keyboard input from addtional keyboards is common when working around house pets. To minimize the potential of a cat entering data by walking or sitting on a secondary keyboard, the ability to assign hotkeys or shortcuts to disable keyboards that are not currently in use would be ideal.
Scenario when this would be used?
Rather than have to open the Device Manager and select a keyboard to disable or uninstall, power users would be able to quickly enable/disable keyboards via hotkey or keyboard shortcut. Disabling or uninstalling built in keyboards on laptops can be problematic for users if they forget to reenable the hardware with the external keyboards still attached. Some users may not be able to enter passwords for login without reconnecting to an external keyboard.
Having quick keyboard based ways to enable/disable keyboards would significantly improve the overall practicality of working with multiple keyboards with house pets nearby.
Supporting information
No response

/dup #4879


allow "of package.foo"

[@gavinking] For example:
interface Empty of package.empty

[Migrated from ceylon/ceylon-spec#1262]

Done.


Merge to 1.6.x/#547 deprecate apis

related to issue: https://github.com/networknt/light-4j/issues/547
To avoid too many changes in one PR, @stevehu suggested that we should divide changes into smaller pieces, each PR will contain one module or multiple modules depend on how many classes are affected. It's more convenient for us to review, to trace or to revert.
Also, I need some suggestions:

for ClientConfig.java, when we call "getTokenConfig()", "getSecretConfig()", should we return a map or we created a config model for each section?
in Http2Client.java, there are too many overloads of connect(), and I believe each method has its specific use case for some users, we may need to provide a better way. For now, I don't want to touch any of those.

Codecov Report

Merging #562 into 1.6.x will increase coverage by 0.13%.
The diff coverage is 58.33%.

@@             Coverage Diff              @@
##              1.6.x     #562      +/-   ##
============================================
+ Coverage     50.37%   50.51%   +0.13%
- Complexity     1819     1827       +8
============================================
  Files           254      254
  Lines         10993    10965      -28
  Branches       1567     1553      -14
============================================
+ Hits           5538     5539       +1
+ Misses         4804     4786      -18
+ Partials        651      640      -11

Impacted Files
Coverage Δ
Complexity Δ

...worknt/client/http/Light4jHttp2ClientProvider.java
3.44% <ø> (ø)
2 <0> (ø)
:arrow_down:

...client/oauth/cache/LongestExpireCacheStrategy.java
81.81% <ø> (ø)
7 <0> (ø)
:arrow_down:

.../java/com/networknt/client/DefaultAsyncResult.java
42.85% <ø> (ø)
4 <0> (ø)
:arrow_down:

...rc/main/java/com/networknt/security/JwtHelper.java
42.66% <ø> (ø)
9 <0> (ø)
:arrow_down:

.../java/com/networknt/client/oauth/TokenRequest.java
95.12% <ø> (+2.43%)
18 <0> (+1)
:arrow_up:

...rc/main/java/com/networknt/security/JwtIssuer.java
57.69% <ø> (ø)
4 <0> (ø)
:arrow_down:

...nt/client/oauth/ClientRequestComposerProvider.java
47.72% <ø> (-1.11%)
6 <0> (ø)

...knt/client/ssl/ClientX509ExtendedTrustManager.java
26.31% <ø> (ø)
6 <0> (ø)
:arrow_down:

.../main/java/com/networknt/client/AsyncResponse.java
50% <ø> (ø)
3 <0> (ø)
:arrow_down:

...om/networknt/client/oauth/RefreshTokenRequest.java
0% <0%> (ø)
0 <0> (ø)
:arrow_down:

... and 17 more

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 12e6b9c...f59d457. Read the comment docs.

@BalloonWen I am reviewing the PR and found the changes are massive. As the codebase between 1.6.x and 2.0.x are different. I am wondering if you could submit another PR for the 2.0.x branch? Thanks.

@BalloonWen I am reviewing the PR and found the changes are massive. As the codebase between 1.6.x and 2.0.x are different. I am wondering if you could submit another PR for the 2.0.x branch? Thanks.
@stevehu
I think I already created PR for 2.0.x https://github.com/networknt/light-4j/pull/561
looks right now there are some conflicts, will resolve that later.

To support some of the users to go to production with the 1.6.x branch, we are going to wait until 1.6.5 release and branch out to 1.7.0 to merge this PR. The corresponding PR for 2.0.x has been merged already. This only for the JDK8


feat(inputs): detect constraint validation attribute changes

When attributes related to HTML constraint validation change on an input, they may change or even remove the validation error on the input. Ideally, we'd reflect the change of validation error in the enclosing field.
Proposed Changes
Changes to the following attributes on an invalid form element should trigger a call to checkHtml5Validity:

required
pattern
maxlength
minlength
max
min
step

Additionally, changes to the disabled attribute on the input or any ancestor <fieldset> should trigger a call to checkHtml5Validity.
Sample
<script setup lang="ts">
import { OCheckbox, OInput } from '@oruga-ui/oruga-next';
import { ref } from 'vue';

const val = ref("");
const required = ref(true);
const disabled = ref(false);
const groupDisabled = ref(false);
</script>

<template>
  <main>
    <OField label="Value">
      <fieldset :disabled="groupDisabled">
        <OInput v-model="val" :required :disabled />
      </fieldset>
    </OField>
    <OField>
      <OCheckbox v-model="required">Required</OCheckbox>
    </OField>
    <OField>
      <OCheckbox v-model="disabled">Disabled (directly)</OCheckbox>
    </OField>
    <OField>
      <OCheckbox v-model="groupDisabled">Disabled (group)</OCheckbox>
    </OField>
  </main>
</template>

Before
before.webm
After
after.webm

Without in-browser testing of some kind, it's hard to really automate testing of this change. Are there any plans to restore Cypress (or use another in-browser test framework) that require a full browser implementation of the DOM?

@blm768 I really appreciate your clear and well written PRs and Issues. You have some very nice requests for improvements for Oruga!

@blm768 I really appreciate your clear and well written PRs and Issues. You have some very nice requests for improvements for Oruga!

Thanks! Oruga has been providing significant value for me and the rest of the team I work with, so it's only fair that I contribute back, especially when it makes Oruga more suitable for my own use cases.

Without in-browser testing of some kind, it's hard to really automate testing of this change. Are there any plans to restore Cypress (or use another in-browser test framework) that require a full browser implementation of the DOM?

At the moment there are no plans to restore Cypress until most of the components have been unit tested. I think we have enough open stuff to do with the current stack until we can look further into more testing techniques.

Thanks! Oruga has been providing significant value for me and the rest of the team I work with, so it's only fair that I contribute back, especially when it makes Oruga more suitable for my own use cases.

This is how I became a maintainer for oruga :D

At the moment there are no plans to restore Cypress until most of the components have been unit tested. I think we have enough open stuff to do with the current stack until we can look further into more testing techniques.

That's fair enough; there's certainly plenty of room for expanding the current tests.


Evaluation Metric

There exist small mistakes in the original evaluation source code of NOCS. I recommend changing to revised metrics (https://github.com/swords123/SSC-6D#note).
https://github.com/JiehongLin/Self-DPDN/blob/5305f7b34a12786fec902a6e57f83a393e24e902/utils/evaluation_utils.py#L124-L127
        # new
        bbox_1_max = np.amax(bbox_3d_1, axis=1)
        bbox_1_min = np.amin(bbox_3d_1, axis=1)
        bbox_2_max = np.amax(bbox_3d_2, axis=1)
        bbox_2_min = np.amin(bbox_3d_2, axis=1)

Thank you for the suggestion. I have noticed this issue and used the evaluation code provided by CATRE in our latest paper of [VI-Net](url).

Thanks for the code and for sharing recent work!


加载了倾斜摄影，有时候会卡死

What happened?
我加载了一个3dtileset的倾斜摄影，大概7G左右大小的，能够正常加载，但是在拖拽的时候，会出现卡死的现象，也没有报错，cpu和内存没有爆满，出现卡死的情况有时候拖拽到倾斜摄影上的时候会卡死，有时候刚显示出来就卡死，所以这是什么问题呢，是配置问题还是什么，因为没有报错信息，所以不知道该怎么去查
Reproduction steps

...
Sandcastle example
No response
Environment
Browser:
CesiumJS Version:1.114
Operating System: chrome 125.0.6422.142

CesiumJS is a big project, so we use GitHub for feature requests and bug tracking exclusively. In the future, please take any questions to the Cesium Forum where there are members of the community and developers from the team who can help.
Additionally, would you be able to include a Sandcastle example that replicates the issue? That would help us give us more context to determine the issue.
Thanks!


Embedded nil pointer structs should be retrieved as nil

Describe the feature
Gorm should round trip an embedded pointer to a struct as nil when the struct is given as nil.
Motivation
My domain model has optional embedded objects, which then may have required fields on them.
Our validator will validate the embedded object's required fields if the pointer value is non-nil but will ignore the required validations on the embedded struct if it is nil.
Gorm should detect that that the embedded struct has the zero value and not set it to the zero value if only zero values have been loaded into that value.
Without this a save of nil is not preserved on reload for the embedded struct.
Related Issues

None that I could find.

Example Failing Test
diff --git a/tests/embedded_struct_test.go b/tests/embedded_struct_test.go
index 312a5c3..e5db47a 100644
--- a/tests/embedded_struct_test.go
+++ b/tests/embedded_struct_test.go
@@ -90,9 +90,15 @@ func TestEmbeddedPointerTypeStruct(t *testing.T) {
                URL   string
        }

+       type Author struct {
+               ID    string
+               Name  string
+               Email string
+       }
+
        type HNPost struct {
                *BasePost
                Upvotes int32
+               *Author `gorm:"EmbeddedPrefix:user_"` // Embedded struct
        }

        DB.Migrator().DropTable(&HNPost{})
@@ -110,6 +116,10 @@ func TestEmbeddedPointerTypeStruct(t *testing.T) {
        if hnPost.Title != "embedded_pointer_type" {
                t.Errorf("Should find correct value for embedded pointer type")
        }
+
+       if hnPost.Author != nil {
+               t.Errorf("Expected to get back a nil Author but got: %v", hnPost.Author)
+       }
 }

 type Content struct {

This change to the existing test outputs:
--- FAIL: TestEmbeddedPointerTypeStruct (0.01s)
    embedded_struct_test.go:121: Expected to get back a nil Author but got: &{  }

This test would pass if this feature were implemented.

Cause by #5417 #5388
When we reuse Slice elem, we need to reset its value, which results in constructing a embedded model. This model may also have been instantiated in other subsets of slices.
We can only reset before Field.Set , or set embedded model with zero value after, but both make #5388 no performance gain.
I recommend adding test files and revert them.
@jinzhu

I recommend adding test files and revert them. @jinzhu

Not sure what you mean here.
As a workaround I wrote a utility that walks the object and nils out any zero values recursively depth first, but of course it would be faster for Gorm to recycle the zero values it allocated in scan.go instead of Field.Set them.

I had to implement a similar utility to work around this.  Note that I am using gorm 1.23.4 and I'm seeing different results than those from @nickpalmer .  If the Author remains as defined above in his test, then the Author is returned as nil.  But if the Author struct is changed to use a pointer within it like so:
type Author struct {
	ID    string
	Name  string
	Email *string
}

Then, the result is &{  }
When upgrading to 1.23.8, I see &{  } either way.

@jinzhu Is this issue being worked upon? Has this been acknowledged?
This is causing regression failure for us. One of our embedded struct which used to be read as nil, is now coming as zero value of the struct.
This was working for us in v1.23.4 and breaking in 1.24.6.


Gather Keys on Disk

Flag any cryptographic keys like TPM key blobs

This should also enumerate all the keys that the platform crypto knows about on Windows, TPM and non TPM.


Bcmohad 26874 v1

Validation Successful
Merging the PR to the dev branch.
CC: @cgijeffolsen @mhussaincgi